.chart-summary { border:1px solid #695179; background:linear-gradient(150deg,#2a2038,#191622); }
.chart-summary summary { cursor:pointer; padding:12px 0; font-weight:700; color:#ead7ff; }
.pillar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0 20px; }
.pillar { display:flex; flex-direction:column; align-items:center; gap:8px; border:1px solid #52415e; border-radius:12px; padding:12px 2px; background:#201b2c; }
.pillar strong { font-size:1.6rem; color:#f4e6cf; }.pillar span,.pillar small { font-size:.8rem; }.pillar small { min-height:1.3em; color:#cbb3e9; }.day-pillar { border-color:#c4a0ed; }
.element-row { display:grid; grid-template-columns:80px minmax(0,1fr) 35px; gap:10px; align-items:center; margin:10px 0; font-size:.85rem; }
.pillar .god { font-style:normal; font-size:.72rem; margin-top:-6px; opacity:.85; }
.god-row { grid-template-columns:112px minmax(0,1fr) 35px; }.god-row span:first-child small { display:block; font-size:.68rem; opacity:.8; white-space:nowrap; }
.god-names { margin:-6px 0 8px 122px; font-size:.75rem; opacity:.8; }
.element-row meter { width:100%; height:14px; accent-color:#c0a2eb; }
.chat .bubble.reading-section { display:block; padding:14px; border:1px solid #514060; border-radius:16px; background:#211b2c; }
.chat .bubble.reading-section[hidden] { display:none; }.chat .bubble.reading-section::before { display:none; }
.reading-section h3 { color:#e4ccff; font-size:1rem; margin:0 0 12px; }.chat .bubble.reading-section p { padding:0; border-radius:0; background:transparent; }
.report-route { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }.report-route li { color:#d9c7e9; background:#30243d; border-radius:20px; padding:7px 12px; font-size:.8rem; }
.review-grid { display:grid; gap:12px; }.review-card { border:1px solid #57405a; padding:16px; border-radius:16px; background:#221c2b; }.review-card h3 { font-size:1rem; margin:8px 0; }.review-card small { color:#c8b3d6; }
.review-select { display:grid; gap:10px; }.review-select select { max-width:100%; width:100%; padding:12px; background:#231d30; color:#f3e7ff; border:1px solid #665078; border-radius:10px; }
.conversion-card { text-align:center; border:1px solid #9f759f; background:linear-gradient(140deg,#38263d,#211b2a); }.conversion-card .cta { display:block; margin-top:16px; }.conversion-card ul { text-align:left; line-height:1.9; }
.reading-toc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0; }
.reading-toc button { min-height:44px; padding:10px; text-align:left; font-size:.85rem; line-height:1.5; color:#ecdeff; background:#30243f; border:1px solid #69517c; border-radius:12px; word-break:keep-all; overflow-wrap:anywhere; cursor:pointer; }
.reading-toc button:hover { background:#493258; }.reading-toc button:focus-visible { outline:2px solid #dfb7ff; outline-offset:3px; }
.reading-section h3 { scroll-margin-top:100px; }.reading-section h3:focus { outline:2px solid #ac83ca; outline-offset:6px; }
.reading-opening { color:#f1d1f2; font-weight:800; text-decoration:underline; text-decoration-color:#785085; text-underline-offset:5px; }
.mine-item .reading-section { padding:12px 0; border-bottom:1px solid #3d304b; }.mine-item .reading-section:last-child { border-bottom:0; }
.backup-file { display:grid; gap:8px; margin-top:20px; }.backup-file input { max-width:100%; width:100%; font-size:.85rem; }
.backup-preview { padding:14px; border:1px solid #866695; border-radius:12px; }.backup-preview li { overflow-wrap:anywhere; margin:8px 0; }
.backup-export,.backup-file input::file-selector-button { min-height:44px; padding:10px 16px; border:1px solid #88689f; border-radius:12px; background:#392943; color:#f4e5ff; font:inherit; cursor:pointer; }
.backup-export { width:100%; background:#c5a0f1; color:#24132e; font-weight:700; }.backup-file input::file-selector-button { margin-right:8px; }
.suggested-asks button { min-height:44px; }.suggested-asks button[aria-pressed="true"] { background:#674580; color:#fff; border-color:#c7a3e9; }
.question-undo { min-height:44px; border:1px solid #9a78b0; border-radius:10px; background:#302139; color:#ead7f5; padding:8px 12px; cursor:pointer; }
.ask-row { align-items:flex-end; }
.answer-expand { position:sticky; top:80px; z-index:4; }.chat .bubble p[tabindex="-1"] { scroll-margin-top:100px; }
.answer-expand { display:block; min-height:44px; width:100%; margin:16px 0; padding:12px; border:1px solid #b991da; border-radius:12px; background:#392747; color:#f3dfff; font:inherit; font-weight:700; cursor:pointer; }.answer-expand[hidden] { display:none; }.answer-expand:focus-visible { outline:2px solid #e5c3ff; outline-offset:3px; }
.ask-usage { margin:24px 0 12px; padding:16px; border:1px solid #655074; border-radius:14px; background:#211a2d; }.ask-remaining { color:#e7c9ff; }.ask-progress:empty { display:none; }
.ask-row textarea { flex:1 1 auto; width:100%; min-width:0; min-height:100px; max-height:320px; resize:vertical; box-sizing:border-box; background:var(--bg); color:var(--ink); border:1px solid #80628e; border-radius:12px; padding:12px; font:inherit; font-size:16px; line-height:1.65; }
.ask-row textarea:focus-visible { outline:2px solid #e1bbff; outline-offset:2px; }
.ask-row textarea:disabled { opacity:.6; }.ask-row .ask-go { min-height:48px; flex-shrink:0; }
.question-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; margin-top:8px; color:#bcaecc; font-size:.8rem; }
#question-count { white-space:nowrap; }#question-count.at-limit { color:#ffd0e8; font-weight:700; }
.backup-export:focus-visible,.backup-file input:focus-visible { outline:2px solid #e1bbff; outline-offset:3px; }
