[data-theme=dark]{--bg: #0a0e1a;--bg-elevated: #131826;--bg-card: #1a2030;--bg-input: #0f1320;--border: #252b3d;--border-strong: #3a4257;--text: #e8ecf5;--text-soft: #9ba5bd;--text-faint: #5a637a;--accent: #7aa2ff;--accent-soft: rgba(122, 162, 255, .12);--accent-glow: rgba(122, 162, 255, .35);--warn: #ff8a5c;--warn-soft: rgba(255, 138, 92, .12);--success: #5ee3a1;--success-soft: rgba(94, 227, 161, .12);--cat1: #7aa2ff;--cat2: #f0c674;--cat3: #5ee3a1;--cat4: #ff8a8a;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--hexagram-line: #e8ecf5;--hexagram-changing: #ff8a5c}[data-theme=light]{--bg: #f7f8fb;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-input: #f0f2f7;--border: #e4e7ee;--border-strong: #c8cdd9;--text: #1a1f2e;--text-soft: #5a637a;--text-faint: #9ba5bd;--accent: #3563e9;--accent-soft: rgba(53, 99, 233, .08);--accent-glow: rgba(53, 99, 233, .25);--warn: #e85a2a;--warn-soft: rgba(232, 90, 42, .08);--success: #16a070;--success-soft: rgba(22, 160, 112, .08);--cat1: #3563e9;--cat2: #c89a2a;--cat3: #16a070;--cat4: #d04a4a;--shadow: 0 2px 12px rgba(0, 0, 0, .06);--hexagram-line: #1a1f2e;--hexagram-changing: #e85a2a}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;font-size:15px;min-height:100vh;transition:background .3s ease,color .3s ease}body{padding-bottom:76px}@media (min-width: 900px){body{padding-bottom:0}}.topbar{position:sticky;top:0;z-index:50;background:var(--bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.topbar-brand{display:flex;align-items:center;gap:10px}.topbar-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--warn));display:flex;align-items:center;justify-content:center;font-family:"Noto Serif SC",serif;color:#fff;font-weight:700;font-size:15px}.topbar-title{font-size:16px;font-weight:600;letter-spacing:1px}.topbar-subtitle{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:1.5px;margin-top:1px;text-transform:uppercase}.theme-toggle{width:36px;height:36px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px}.theme-toggle:active{transform:scale(.92)}.container{max-width:1200px;margin:0 auto;padding:16px}@media (min-width: 900px){.container{max-width:1320px;padding:24px 24px 24px 120px}}.panel{display:none}.panel.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cast-layout{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 900px){.cast-layout.has-result{grid-template-columns:380px 1fr;align-items:start}.cast-layout.has-result .cast-input-column{position:sticky;top:80px}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px}.card-title{font-size:11px;color:var(--text-faint);letter-spacing:2px;text-transform:uppercase;font-family:JetBrains Mono,monospace;margin-bottom:12px;display:flex;align-items:center;gap:8px}.card-title:before{content:"";width:6px;height:6px;border-radius:1px;background:var(--accent)}.input-field{width:100%;padding:14px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:12px;font-family:inherit;font-size:15px;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-field::placeholder{color:var(--text-faint)}textarea.input-field{resize:vertical;min-height:70px;line-height:1.7}#question{min-height:52px;max-height:180px;overflow:hidden;resize:none}.num-input-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.num-cell{background:var(--bg-input);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}.num-cell:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.num-cell-label{font-size:10px;color:var(--text-faint);letter-spacing:2px;font-family:JetBrains Mono,monospace;margin-bottom:6px}.num-cell-meaning{font-size:11px;color:var(--text-soft);margin-bottom:8px}.num-cell-input{width:100%;background:transparent;border:none;text-align:center;font-family:JetBrains Mono,monospace;font-size:22px;color:var(--text);font-weight:500;-moz-appearance:textfield}.num-cell-input::-webkit-outer-spin-button,.num-cell-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num-cell-input:focus{outline:none}.btn{padding:13px 20px;border:none;border-radius:12px;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:1px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-warn{background:var(--warn);color:#fff;border:1px solid var(--warn)}.btn-warn:disabled{opacity:.72}.btn-danger{background:transparent;color:var(--cat4);border:1px solid var(--cat4);opacity:.85}.btn-danger:hover{opacity:1}.btn-ghost{background:transparent;color:var(--accent);padding:8px 12px;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:8px}.user-chip{max-width:260px;min-height:36px;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-soft);font-size:12px;display:none;align-items:center;gap:8px}.user-chip.show{display:inline-flex}.user-chip-name{color:var(--text);max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{border:none;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;padding:0}.account-btn{border:none;background:transparent;color:var(--text-soft);cursor:pointer;font:inherit;font-size:12px;padding:0}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);display:none;align-items:center;justify-content:center;padding:20px}.auth-overlay.show{display:flex}.auth-card{width:100%;max-width:420px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow)}.auth-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--warn));display:flex;align-items:center;justify-content:center;font-family:"Noto Serif SC",serif;color:#fff;font-weight:700;font-size:22px;margin-bottom:16px}.auth-title{font-size:22px;font-weight:700;margin-bottom:6px;letter-spacing:2px}.auth-subtitle{color:var(--text-soft);font-size:13px;margin-bottom:20px}.auth-error{color:var(--warn);background:var(--warn-soft);border:1px solid rgba(255,138,92,.25);border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:12px;display:none}.auth-error.show{display:block}.auth-notice{display:none;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(51,201,152,.25);border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:12px}.auth-notice.show{display:block}.auth-notice.error{color:var(--warn);background:var(--warn-soft);border-color:#ff8a5c40}.auth-switch{display:block;width:100%;margin-top:14px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;cursor:pointer}.admin-workspace{min-width:0}.admin-section-nav-wrap{position:sticky;top:65px;z-index:20;padding:0 0 12px;background:var(--bg)}.admin-section-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;background:var(--bg-card);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.admin-section-tab{min-width:0;border:0;border-radius:11px;padding:11px 14px;background:transparent;color:var(--text-soft);font:inherit;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .18s ease,color .18s ease,transform .18s ease}.admin-section-tab:hover{background:var(--bg-input);color:var(--text)}.admin-section-tab:active{transform:scale(.98)}.admin-section-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-section-tab.active{background:var(--accent);color:#fff}.admin-section-count{min-width:22px;padding:1px 6px;border-radius:999px;background:var(--bg-input);color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.7}.admin-section-tab.active .admin-section-count{background:#ffffff2e;color:#fff}.admin-section-page{display:none;min-width:0}.admin-section-page.active{display:block;animation:fadeIn .2s ease}.admin-section-page[hidden]{display:none!important}.admin-section-page>.card,.admin-grid>.card,.admin-settings-grid>.card{margin-bottom:0}.admin-grid{display:grid;grid-template-columns:1fr;gap:16px}.admin-question-log-card{margin-bottom:0}.admin-question-log-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-question-log-heading .card-title{margin-bottom:0}.admin-question-log-heading .permission-note{margin-top:4px}.admin-question-log-refresh{flex:0 0 auto;padding:9px 14px}.admin-question-log-toolbar{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(140px,.55fr) minmax(220px,1.5fr);gap:10px;margin-bottom:10px}.admin-question-log-toolbar .input-field{min-width:0;padding:10px 12px;font-size:13px}.admin-question-log-summary{min-height:20px;margin-bottom:8px;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:11px}.admin-question-log-list{display:grid;align-content:start;gap:10px;height:clamp(280px,calc(100vh - 370px),620px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.admin-question-log-item{display:grid;align-content:start;min-width:0;gap:8px;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:12px}.admin-question-log-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-question-log-owner{display:flex;align-items:center;gap:8px;min-width:0}.admin-question-log-owner strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.admin-question-log-kind{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px}.admin-question-log-kind.cast{background:var(--warn-soft);color:var(--warn)}.admin-question-log-time{flex:0 0 auto;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:10px}.admin-question-log-question{color:var(--text);font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.admin-question-log-question.empty{color:var(--text-faint);font-style:italic}.admin-question-log-cast{display:flex;flex-wrap:wrap;gap:6px}.admin-activity-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;color:var(--text-soft);font-size:12px;overflow-wrap:anywhere}.admin-activity-status{flex:0 0 auto;white-space:nowrap;font-size:12px;color:var(--text-soft)}.admin-activity-status.failed,.admin-activity-status.interrupted,.admin-activity-status.truncated,.admin-activity-error{color:#c55b32}.admin-activity-error{margin-top:8px;font-size:13px}.admin-activity-details{margin-top:14px}.admin-activity-details summary{cursor:pointer;font-size:14px}.admin-activity-detail-body{padding-top:12px}.admin-activity-detail-body h4{margin:12px 0 8px}.admin-activity-detail-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.8;margin:8px 0 16px;padding:12px;border:1px solid var(--border);border-radius:10px}#admin-activity-load-more{margin-top:14px}.admin-record-link{cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,background .15s}.admin-record-link:hover,.admin-record-link:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:2px solid var(--accent-soft)}.admin-record-arrow{margin-left:auto;color:var(--accent)}.dialog.admin-record-dialog{max-width:820px;max-height:calc(100dvh - 40px);display:flex;flex-direction:column;min-height:0;overflow:hidden}.admin-record-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-record-dialog-header .dialog-title{line-height:1.6}.admin-record-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 4px 4px}.admin-record-question{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:16px;color:var(--text-soft)}.admin-record-ai-select{margin:8px 0;flex-shrink:0}.admin-record-ai-content{margin-top:18px}.admin-record-dialog .verse-block{margin-top:16px}@media (max-width: 560px){#admin-record-detail-dialog{padding:12px}.dialog.admin-record-dialog{padding:16px;max-height:calc(100dvh - 24px)}.admin-question-log-cast>.admin-question-log-fact{min-width:0;width:100%}.admin-record-link strong{white-space:normal;overflow-wrap:anywhere}}.admin-question-log-fact{display:flex;align-items:baseline;gap:8px;min-width:min(100%,240px);padding:6px 9px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card)}.admin-question-log-fact span{flex:0 0 auto;color:var(--text-faint);font-size:10px;letter-spacing:1px}.admin-question-log-fact strong{min-width:0;color:var(--text-soft);font-size:12px;font-weight:500;word-break:break-word}.admin-settings-grid{display:grid;grid-template-columns:1fr;gap:16px}.admin-backup-card{max-width:720px}@media (min-width: 900px){.admin-grid{grid-template-columns:360px minmax(0,1fr);align-items:start}.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-column{display:grid;gap:16px}.admin-column .card{margin-bottom:0}.admin-backup-actions{display:grid;grid-template-columns:1fr;gap:10px}.admin-backup-actions .btn{width:100%}.admin-user-list{display:grid;grid-template-columns:1fr;gap:10px;max-height:clamp(380px,calc(100vh - 245px),720px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.admin-user-item{background:var(--bg-input);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.admin-user-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-user-controls .btn{padding:8px 10px;border-radius:10px;font-size:12px;white-space:nowrap}.admin-password-row{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:4px}.admin-password-row .input-field{padding:10px 12px;border-radius:10px;font-size:13px}.admin-password-row .btn{padding:10px 12px;border-radius:10px;font-size:12px;white-space:nowrap}.admin-user-name{color:var(--text);font-weight:600;word-break:break-word}.admin-user-meta{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);margin-top:2px}@media (max-width: 560px){.admin-section-nav-wrap{top:64px}.admin-section-nav{display:flex;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.admin-section-nav::-webkit-scrollbar{display:none}.admin-section-tab{flex:0 0 auto;min-width:112px;scroll-snap-align:start}.admin-question-log-heading,.admin-question-log-item-head{align-items:flex-start}.admin-question-log-toolbar{grid-template-columns:1fr}.admin-question-log-item-head{flex-direction:column;gap:4px}.admin-question-log-owner{max-width:100%}.admin-question-log-time{padding-top:3px;text-align:right}.admin-question-log-list{height:clamp(220px,calc(100vh - 500px),460px)}.admin-user-list{max-height:clamp(360px,calc(100vh - 220px),620px)}.admin-user-item{grid-template-columns:1fr}.admin-user-controls{justify-content:flex-start}.admin-password-row{grid-template-columns:1fr}}.toggle-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-soft);cursor:pointer}.toggle-row input{width:16px;height:16px}.remember-row{margin:2px 0 16px;justify-content:space-between}.remember-row span{line-height:1.5}.owner-badge{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px}.permission-note{color:var(--text-faint);font-size:12px;line-height:1.6;margin-top:8px}.admin-advice-prompt-preview{background:var(--bg-input);border:1px solid var(--border);border-radius:12px;color:var(--text-soft);font-size:13px;line-height:1.7;max-height:132px;overflow:hidden;padding:12px 14px;white-space:pre-wrap;word-break:break-word;margin-bottom:12px;cursor:pointer}[hidden]{display:none!important}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:150;display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto;animation:fadeIn .2s ease}.dialog-backdrop.show{display:flex}.dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:380px;width:100%;box-shadow:var(--shadow)}.dialog-title{font-size:17px;font-weight:600;color:var(--text);margin-bottom:8px}.dialog-message{font-size:14px;color:var(--text-soft);line-height:1.7;margin-bottom:20px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}.dialog-actions .btn{padding:10px 18px}#update-dialog{z-index:400}.update-dialog-panel{max-width:420px;text-align:center}.update-dialog-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:28px;line-height:1}.update-dialog-panel .dialog-message{margin-bottom:10px}.update-dialog-note{margin-bottom:20px;color:var(--text-faint);font-size:12px;line-height:1.6}.record-calculation-dialog-panel{max-width:560px}.record-calculation-summary{color:var(--text);font-weight:700;text-align:center;margin-bottom:14px}.record-calculation-steps{background:var(--bg-input);border:1px solid var(--border);border-radius:12px;padding:8px 14px;margin-bottom:18px}.record-calculation-steps .calc-step{grid-template-columns:48px minmax(0,1fr) auto}@media (max-width: 520px){.record-calculation-dialog-panel{padding:20px}.record-calculation-steps .calc-step{grid-template-columns:1fr;gap:4px;align-items:start}.record-calculation-steps .calc-step-result{white-space:normal}}.manual-import-dialog{max-width:840px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;padding:28px 32px}.advice-prompt-dialog{max-width:860px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;padding:28px 32px}textarea.input-field.admin-advice-prompt{min-height:520px;height:min(62vh,640px);max-height:none;overflow:auto;padding:18px 20px;font-size:15px;line-height:1.8}.advice-prompt-dialog .dialog-actions{flex-shrink:0}@media (max-width: 560px){.advice-prompt-dialog{padding:20px;max-height:92vh}textarea.input-field.admin-advice-prompt{min-height:420px;height:58vh;padding:16px}}textarea.input-field.manual-import-textarea{min-height:460px;height:min(58vh,580px);max-height:none;overflow:auto;padding:18px 20px;font-size:16px;line-height:1.8}.manual-import-dialog .dialog-actions{flex-shrink:0}.manual-import-note{font-size:12px;color:var(--text-faint);line-height:1.7;margin-top:8px}.manual-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,440px);margin:18px auto 20px}.manual-entry-actions .btn{width:100%;min-width:0}@media (max-width: 520px){.manual-entry-actions{gap:10px}.manual-import-dialog{padding:20px;max-height:88vh;overflow-y:auto}textarea.input-field.manual-import-textarea{min-height:360px;height:58vh;padding:16px;font-size:15px}}.advice-dialog{max-width:760px;height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;padding:24px}.advice-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:12px;flex-shrink:0}.advice-header .dialog-title{margin-bottom:2px}.advice-disclaimer{color:var(--text-faint);font-size:13px;line-height:1.6;margin-top:4px}.manual-explain-titleline{color:var(--warn);font-size:16px;font-weight:700;line-height:1.45;margin-top:0;overflow-wrap:anywhere;white-space:normal}.manual-explain-dialog .advice-header>div{min-width:0}.manual-explain-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.manual-explain-refresh-btn{min-height:34px;padding:7px 12px;border-radius:10px;color:var(--warn);background:var(--warn-soft);border-color:#ff8a5c47;white-space:nowrap}.advice-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-soft);cursor:pointer;font-size:20px;line-height:1}.advice-question-preview{border:1px solid var(--border);background:var(--bg-input);border-radius:12px;padding:10px 12px;color:var(--text-soft);font-size:13px;line-height:1.7;margin-bottom:12px}.advice-scroll{flex:1;overflow:auto;min-height:0;padding:8px 2px 14px}.advice-messages{display:flex;flex-direction:column;gap:12px}.advice-message{display:flex}.advice-message.user{justify-content:flex-end}.advice-bubble{max-width:min(86%,560px);border:1px solid var(--border);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.advice-message.user .advice-bubble{background:var(--accent);border-color:var(--accent);color:#fff}.advice-message.assistant .advice-bubble{background:var(--bg-input);color:var(--text)}.manual-explain-dialog .advice-message.assistant .advice-bubble{background:transparent;border:0;border-radius:0;max-width:100%;padding:0 2px;white-space:normal;width:100%}.manual-explain-dialog .advice-bubble p{margin:0 0 10px}.manual-explain-dialog .advice-bubble p:last-child{margin-bottom:0}.manual-explain-dialog .advice-bubble ul,.manual-explain-dialog .advice-bubble ol{margin:0 0 10px 20px;padding:0}.manual-explain-dialog .advice-bubble h1,.manual-explain-dialog .advice-bubble h2,.manual-explain-dialog .advice-bubble h3,.manual-explain-dialog .advice-bubble h4{font-size:15px;line-height:1.5;margin:12px 0 8px}.manual-explain-dialog .advice-bubble h1:first-child,.manual-explain-dialog .advice-bubble h2:first-child,.manual-explain-dialog .advice-bubble h3:first-child,.manual-explain-dialog .advice-bubble h4:first-child{margin-top:0}.advice-bubble.loading{color:var(--text-faint)}.advice-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;border-top:1px solid var(--border);padding-top:14px;flex-shrink:0}.advice-form textarea{min-height:54px;max-height:132px;resize:none;overflow:hidden}.advice-form .btn{min-height:54px;min-width:76px;padding:12px 18px;white-space:nowrap}.advice-form .send-icon-btn{align-items:center;display:inline-flex;font-size:30px;font-weight:600;height:54px;justify-content:center;letter-spacing:0;line-height:1;min-width:54px;padding:0;width:54px}.advice-form .send-icon-btn:disabled{cursor:progress;opacity:.72}.ai-interpret-inline-host{margin:0}.ai-interpret-panel{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;margin:0;align-items:flex-start;justify-content:center;padding:20px;background:#0009;overflow:hidden}.ai-interpret-panel.show{display:flex;animation:none}.ai-interpret-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;height:min(760px,calc(100vh - 40px));height:min(760px,calc(100dvh - 40px));max-height:min(760px,calc(100vh - 40px));max-height:min(760px,calc(100dvh - 40px));max-width:760px;padding:20px;width:100%}.ai-interpret-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-shrink:0}.ai-interpret-reference{color:var(--warn);font-size:16px;font-weight:600;line-height:1.6}.ai-interpret-meta{border:1px solid var(--border);background:var(--bg-input);border-radius:12px;color:var(--text-soft);font-size:13px;line-height:1.7;margin:10px 0 12px;padding:10px 12px;text-align:center;white-space:pre-wrap}.ai-interpret-scroll{flex:1;min-height:0;overflow:auto;padding:8px 2px 14px}.ai-interpret-content{background:var(--bg-input);border:1px solid var(--border);border-radius:14px;color:var(--text);font-size:14px;line-height:1.8;min-height:160px;padding:14px 16px;word-break:break-word}.ai-interpret-content.loading{color:var(--text)}.ai-interpret-content.loading.is-empty{color:var(--text-faint)}.ai-interpret-content h1,.ai-interpret-content h2,.ai-interpret-content h3,.ai-interpret-content h4{color:var(--text);line-height:1.45;margin:18px 0 10px;font-weight:700}.ai-interpret-content h1:first-child,.ai-interpret-content h2:first-child,.ai-interpret-content h3:first-child,.ai-interpret-content h4:first-child{margin-top:0}.ai-interpret-content h1{font-size:20px}.ai-interpret-content h2{font-size:18px}.ai-interpret-content h3{font-size:16px}.ai-interpret-content h4{font-size:15px}.ai-interpret-content p{margin:0 0 12px}.ai-interpret-content strong{color:var(--text);font-weight:700}.ai-interpret-content ul,.ai-interpret-content ol{margin:0 0 12px 20px;padding:0}.ai-interpret-content li{margin:4px 0;padding-left:2px}.ai-interpret-content blockquote{border-left:3px solid var(--accent);color:var(--text-soft);margin:0 0 12px;padding:8px 12px;background:var(--bg-card);border-radius:0 8px 8px 0}.ai-interpret-content code{background:var(--bg-card);border:1px solid var(--border);border-radius:5px;font-family:JetBrains Mono,monospace;font-size:.92em;padding:1px 5px}.ai-interpret-content pre{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin:0 0 12px;overflow:auto;padding:12px}.ai-interpret-content pre code{background:transparent;border:0;padding:0}.ai-interpret-content hr{border:0;border-top:1px solid var(--border);margin:16px 0}.ai-interpret-actions{border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px;flex-shrink:0}@media (max-width: 560px){.ai-interpret-panel{align-items:flex-start;padding:10px}.ai-interpret-card{padding:16px;border-radius:12px;height:calc(100vh - 20px);height:calc(100dvh - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}.ai-interpret-actions .btn{width:100%;padding-left:10px;padding-right:10px}}.admin-advice-prompt{min-height:240px;resize:vertical}@media (max-width: 560px){.dialog-backdrop{padding:8px}.advice-dialog{border-radius:18px;height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);max-width:none;padding:16px 14px calc(14px + env(safe-area-inset-bottom));width:calc(100vw - 16px)}.advice-header{gap:10px;margin-bottom:10px}.manual-explain-titleline{font-size:15px}.advice-form{grid-template-columns:minmax(0,1fr) auto;gap:8px}.advice-form .btn{width:auto;min-width:54px;padding-left:12px;padding-right:12px}.advice-form .send-icon-btn{height:52px;min-height:52px;min-width:52px;padding:0;width:52px}.advice-bubble{max-width:94%}.manual-explain-dialog .advice-scroll{padding:6px 0 14px}.manual-explain-dialog .advice-message.assistant{display:block}.manual-explain-dialog .advice-message.assistant .advice-bubble{font-size:15px;line-height:1.9;max-width:100%}.manual-explain-dialog .advice-message.user .advice-bubble{max-width:88%}}.export-option{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:all .15s;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.export-option:hover{border-color:var(--accent);transform:translate(2px)}.export-option-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;letter-spacing:.5px}.export-option-info{min-width:0}.export-option-title{font-size:14px;color:var(--text);font-weight:500;margin-bottom:2px}.export-option-desc{font-size:12px;color:var(--text-soft);line-height:1.5}.export-option-arrow{color:var(--text-faint);font-size:18px}.btn-block{width:100%}.btn-row{display:flex;gap:10px}.hexagram-display{display:flex;flex-direction:column;gap:6px;align-items:center;padding:4px}.hex-line{width:80px;height:9px;background:var(--hexagram-line);border-radius:1px;position:relative}.hex-line.yin{background:transparent}.hex-line.yin:before,.hex-line.yin:after{content:"";position:absolute;top:0;width:32px;height:9px;background:var(--hexagram-line);border-radius:1px}.hex-line.yin:before{left:0}.hex-line.yin:after{right:0}.hex-line.changing{background:var(--hexagram-changing)}.hex-line.changing.yin{background:transparent}.hex-line.changing.yin:before,.hex-line.changing.yin:after{background:var(--hexagram-changing)}.hex-line .changing-marker{position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--hexagram-changing);font-size:9px;line-height:1}.hex-small{gap:3px;padding:2px}.hex-small .hex-line{width:42px;height:5px}.hex-small .hex-line.yin:before,.hex-small .hex-line.yin:after{width:16px;height:5px}.result-section{display:none;animation:fadeIn .4s ease}.result-section.show{display:block}.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 16px}@media (min-width: 640px){.result-actions{grid-template-columns:repeat(2,minmax(220px,320px));justify-content:start}}.result-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px 20px;margin-bottom:16px;text-align:center;position:relative;overflow:hidden}.result-hero:before{content:"";position:absolute;top:-50%;right:-30%;width:200px;height:200px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none}.gua-number-tag{display:inline-block;font-family:"Noto Serif SC",JetBrains Mono,monospace;font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:5px 12px;border-radius:20px;letter-spacing:.5px;margin-bottom:16px;position:relative;z-index:1}.gua-name-display{font-family:"Noto Serif SC",serif;font-size:36px;font-weight:700;letter-spacing:8px;margin-left:8px;margin-bottom:6px;position:relative;z-index:1}.gua-transformation{font-size:13px;color:var(--text-soft);margin-top:12px;margin-bottom:20px;position:relative;z-index:1}.gua-transformation .ben{color:var(--text)}.hexagram-pair{display:flex;justify-content:center;gap:60px;align-items:center;margin-top:20px;position:relative;z-index:1}.hex-with-label{display:flex;flex-direction:column;align-items:center;gap:8px}.hex-label{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:2px;text-transform:uppercase}.calc-process{background:var(--bg-input);border-radius:12px;padding:9px 12px;margin:14px auto 0;max-width:540px;font-size:12px;text-align:left;position:relative;z-index:1}.calc-process-title{font-size:10px;color:var(--text-faint);font-family:JetBrains Mono,monospace;letter-spacing:2px;margin-bottom:3px;text-transform:uppercase}.calc-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:4px 0;border-bottom:1px dashed var(--border);align-items:center;line-height:1.35}.calc-step:last-child{border-bottom:none}.calc-step-label{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:.8px;min-width:0;text-transform:uppercase}.calc-step-formula{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-soft)}.calc-step-formula .num-input{color:var(--text);font-weight:600}.calc-step-formula .result-num{color:var(--accent);font-weight:700}.calc-step-formula .result-num.warn{color:var(--warn)}.calc-step-result{font-family:"Noto Serif SC",serif;font-size:13px;font-weight:600;color:var(--text);line-height:1.35;white-space:nowrap}.calc-step-result.warn{color:var(--warn)}.verse-block{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:12px}.verse-block.is-changing{border-color:var(--warn);background:linear-gradient(180deg,var(--warn-soft),var(--bg-card) 40%)}.verse-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.verse-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.verse-tag{display:inline-flex;align-items:center;flex-wrap:wrap;min-width:0;gap:6px;font-family:"Noto Serif SC",serif;font-size:15px;font-weight:600;color:var(--accent);letter-spacing:1px}.verse-block.is-changing .verse-tag{color:var(--warn)}.verse-tag-mini{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);background:var(--bg-input);padding:2px 8px;border-radius:4px;letter-spacing:1px;font-weight:400}.changing-badge{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--warn);background:var(--warn-soft);padding:3px 10px;border-radius:6px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.verse-original{font-family:"Noto Serif SC",serif;font-size:16px;line-height:1.95;color:var(--text);padding:14px 16px;background:var(--bg-input);border-radius:10px;margin-bottom:14px;letter-spacing:.5px}.verse-original .xiang{display:block;margin-top:6px;color:var(--text-soft);font-size:14px;line-height:1.85}.verse-original .xiang:before{content:"象曰:";color:var(--text-faint);margin-right:4px;font-weight:600}.manual-reading-heading{margin:18px 0 10px}.manual-reading-text{display:grid;gap:4px;font-family:"Noto Serif SC",serif;font-size:15px;line-height:1.95;color:var(--text);letter-spacing:.3px}.manual-reading-line{white-space:pre-wrap}.manual-reading-line.is-note{color:var(--text-soft);font-size:14.5px}.manual-reading-line.is-category{color:var(--text-soft);font-size:14px}.interpret-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}@media (max-width: 480px){.interpret-grid{grid-template-columns:1fr;gap:6px}}.interpret-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 0}.interpret-cat{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;letter-spacing:1px;min-width:52px;justify-content:center;margin-top:1px;height:24px}.interpret-cat.cat-1{color:var(--cat1);background:#7aa2ff1f}.interpret-cat.cat-2{color:var(--cat2);background:#f0c6741f}.interpret-cat.cat-3{color:var(--cat3);background:#5ee3a11f}.interpret-cat.cat-4{color:var(--cat4);background:#ff8a8a1f}[data-theme=light] .interpret-cat.cat-1{background:#3563e91a}[data-theme=light] .interpret-cat.cat-2{background:#c89a2a1f}[data-theme=light] .interpret-cat.cat-3{background:#16a0701a}[data-theme=light] .interpret-cat.cat-4{background:#d04a4a1a}.interpret-content{font-size:13.5px;color:var(--text-soft);line-height:1.6;padding-top:2px}.interpret-content.empty{color:var(--text-faint);font-style:italic}.empty-notice{padding:14px;background:var(--bg-input);border:1px dashed var(--border-strong);border-radius:10px;text-align:center;color:var(--text-faint);font-size:13px}.empty-notice a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.history-ref-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer}.history-ref-item:active{transform:scale(.98)}.history-ref-date{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:1px;margin-bottom:4px}.history-ref-q{font-size:14px;color:var(--text);margin-bottom:6px;line-height:1.5}.history-ref-outcome{font-size:12px;color:var(--text-soft);line-height:1.6;padding-top:6px;border-top:1px dashed var(--border)}.history-ref-outcome .label{color:var(--success);font-weight:500;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;margin-right:6px}.record-toolbar{display:flex;gap:8px;margin-bottom:12px}.record-owner-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.record-filter-chip{border:1px solid var(--border);background:var(--bg-card);color:var(--text-soft);border-radius:999px;padding:8px 12px;font-size:12px;cursor:pointer;line-height:1}.record-filter-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.record-list{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 900px){.record-list{grid-template-columns:1fr 1fr}}.record-item{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start}.record-item:active{transform:scale(.99);border-color:var(--border-strong)}.record-mini-hex{display:flex;flex-direction:column;gap:2px;padding-top:2px}.record-mini-hex .mini-line{width:24px;height:3px;background:var(--text);border-radius:1px}.record-mini-hex .mini-line.yin{background:transparent;display:flex;justify-content:space-between}.record-mini-hex .mini-line.yin:before,.record-mini-hex .mini-line.yin:after{content:"";width:9px;height:3px;background:var(--text);border-radius:1px}.record-mini-hex .mini-line.changing{background:var(--warn)}.record-mini-hex .mini-line.changing.yin{background:transparent}.record-mini-hex .mini-line.changing.yin:before,.record-mini-hex .mini-line.changing.yin:after{background:var(--warn)}.record-main{min-width:0}.record-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.record-date{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-faint);letter-spacing:1px}.record-gua{font-size:12px;color:var(--accent);font-weight:500}.record-q{font-size:14px;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-status{padding:3px 8px;border-radius:6px;font-size:10px;font-family:JetBrains Mono,monospace;letter-spacing:1px;align-self:start}.record-status.pending{color:var(--text-faint);background:var(--bg-input)}.record-status.verified{color:var(--success);background:var(--success-soft)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:none;animation:fadeIn .2s ease}.sheet-backdrop.show{display:block}.sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-elevated);border-radius:20px 20px 0 0;z-index:101;max-height:92vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom)}.sheet.show{transform:translateY(0)}@media (min-width: 900px){.sheet{top:5vh;bottom:5vh;left:50%;right:auto;width:720px;transform:translate(-50%,100vh);border-radius:16px;max-height:90vh}.sheet.show{transform:translate(-50%)}}.sheet-handle{width:36px;height:4px;background:var(--border-strong);border-radius:2px;margin:10px auto}@media (min-width: 900px){.sheet-handle{display:none}}.sheet-header{padding:4px 20px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--bg-elevated);z-index:2}@media (min-width: 900px){.sheet-header{padding:16px 20px}}.sheet-title{font-size:16px;font-weight:600;letter-spacing:1px}.sheet-close{width:32px;height:32px;border-radius:8px;background:var(--bg-input);color:var(--text-soft);border:none;font-size:18px;cursor:pointer}.sheet-body{padding:20px}#sheet-record{top:0;bottom:0;max-height:100dvh;border-radius:0;opacity:0;pointer-events:none;transform:none;transition:none}#sheet-record.show{opacity:1;pointer-events:auto;transform:none}#sheet-record .sheet-handle{display:none}#sheet-record .sheet-header{padding:max(14px,env(safe-area-inset-top)) 20px 16px}#sheet-record .sheet-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))}@media (min-width: 900px){#sheet-record{top:0;bottom:0;left:0;right:0;width:auto;max-height:100dvh;border-radius:0;transform:none}#sheet-record.show{transform:none}#sheet-record .sheet-body{max-width:760px;margin:0 auto}}.detail-hero{text-align:left;padding:8px 0 18px;border-bottom:1px solid var(--border);margin-bottom:20px}.detail-hero-top{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:12px;align-items:stretch}.detail-gua-name{font-family:"Noto Serif SC",serif;font-size:26px;font-weight:700;letter-spacing:4px;margin:0;line-height:1.2}.detail-gua-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid var(--border);background:var(--bg-input);color:inherit;font:inherit;cursor:pointer;border-radius:10px;padding:12px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"tag tag" "hex name" "hex trans";column-gap:14px;row-gap:6px;align-items:center;text-align:left}.detail-gua-card:hover{background:var(--bg-card);border-color:var(--border)}.detail-gua-card:active{transform:scale(.99)}.detail-gua-card .gua-number-tag{grid-area:tag;justify-self:start;margin-bottom:2px!important}.detail-gua-card .detail-gua-name{grid-area:name}.detail-gua-card .hexagram-display{grid-area:hex;gap:4px;margin:0;padding:2px}.detail-gua-card .hex-line{width:56px;height:6px}.detail-gua-card .hex-line.yin:before,.detail-gua-card .hex-line.yin:after{width:22px;height:6px}.detail-gua-card .hex-line .changing-marker{right:-13px;font-size:7px}.detail-gua-transform{grid-area:trans;margin:0;font-size:12px;line-height:1.5}.detail-cast-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}.detail-cast-chip{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 10px;text-align:center;min-width:0}.detail-cast-chip.wide{grid-column:1 / -1}.detail-cast-chip span{display:block;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:1.5px;margin-bottom:5px}.detail-cast-chip strong{display:block;color:var(--text);font-size:12px;line-height:1.5;font-weight:500;word-break:break-word}.detail-cast-chip .warn{color:var(--warn)}@media (max-width: 640px){.detail-hero-top{grid-template-columns:1fr}}@media (max-width: 480px){.detail-gua-card{grid-template-columns:1fr;grid-template-areas:"tag" "name" "hex" "trans";justify-items:center;text-align:center}.detail-gua-card .gua-number-tag{justify-self:center}.detail-cast-meta{grid-template-columns:1fr}.detail-cast-chip.wide{grid-column:auto}}.detail-original-question{font-size:14px;color:var(--text-soft);line-height:1.7;padding:12px 14px;background:var(--bg-input);border-radius:10px;margin-top:12px;text-align:center}.detail-original-question .label{font-size:10px;color:var(--text-faint);letter-spacing:2px;font-family:JetBrains Mono,monospace;margin-bottom:4px;display:block}.immutable-note{font-size:11px;color:var(--text-faint);font-style:italic;text-align:center;margin-top:8px;font-family:JetBrains Mono,monospace}.immutable-note:before{content:"🔒 ";font-style:normal}.detail-section{margin-bottom:16px}.detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.detail-section-title{font-size:13px;color:var(--accent);font-weight:600;letter-spacing:2px;font-family:JetBrains Mono,monospace;text-transform:uppercase}.edit-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-soft);padding:4px 10px;border-radius:6px;font-size:11px;font-family:JetBrains Mono,monospace;cursor:pointer;letter-spacing:1px}.detail-content{font-size:14px;line-height:1.8;color:var(--text-soft);padding:12px 14px;background:var(--bg-input);border-radius:10px}.detail-content.empty{color:var(--text-faint);font-style:italic;text-align:center;padding:18px}textarea.input-field.record-detail-textarea{min-height:52px;max-height:none;resize:none;overflow:hidden}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);display:flex;z-index:40;padding-bottom:env(safe-area-inset-bottom)}.tabbar-item{flex:1;padding:10px 4px 8px;text-align:center;background:transparent;border:none;color:var(--text-faint);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:inherit}.tabbar-item.active{color:var(--accent)}.tabbar-icon{font-size:18px;line-height:1}.tabbar-label{font-size:10px;letter-spacing:1px}@media (min-width: 900px){.tabbar{top:74px;bottom:0;left:0;right:auto;width:96px;flex-direction:column;justify-content:flex-start;gap:8px;padding:16px 10px;border-top:none;border-right:1px solid var(--border)}.tabbar-item{flex:0 0 auto;border-radius:12px;padding:12px 6px}.tabbar-item.active{background:var(--accent-soft);color:var(--accent)}}.library-search{margin-bottom:12px}.library-stats{font-size:11px;color:var(--text-faint);margin-bottom:12px;padding:0 4px;font-family:JetBrains Mono,monospace;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.library-stats .progress-bar{flex:1;height:4px;background:var(--bg-input);border-radius:2px;min-width:100px;overflow:hidden;margin:0 12px}.library-stats .progress-fill{height:100%;background:var(--success);border-radius:2px}.library-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (min-width: 900px){.library-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.library-item-num strong{font-size:inherit}}.library-item{background:var(--bg-card);border:1px solid var(--accent);border-radius:14px;padding:14px 8px;cursor:pointer;text-align:center;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:140px;position:relative}.library-item:hover{transform:translateY(-2px);border-color:var(--accent)}.library-item:active{transform:scale(.97)}.library-item.has-content,.library-item.has-content:hover{border-color:var(--accent)}.library-status-dot{position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.library-item-num{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0;border-radius:0;background:transparent;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400;letter-spacing:1.2px;line-height:1.2}.library-item-num strong{font-size:inherit;font-weight:inherit;color:var(--text-faint)}.library-item-num span{font-size:inherit;font-weight:inherit;color:var(--text-faint);opacity:.9}.library-item-name{font-family:"Noto Serif SC",serif;font-size:17px;font-weight:700;letter-spacing:1px;color:var(--text);margin-left:2px}.library-item-hex{margin:3px 0 0}.library-item-status{display:none;font-size:10px;color:var(--text-faint);font-family:JetBrains Mono,monospace;align-items:center;gap:4px}.library-item.has-content .library-item-status{color:var(--success)}.library-item-edit-btn{display:none;margin-top:4px;font-size:11px;color:var(--accent);background:var(--accent-soft);padding:4px 12px;border-radius:6px;font-family:JetBrains Mono,monospace;letter-spacing:1px}.manual-page[hidden]{display:none}.manual-page{display:grid;gap:16px}.manual-page-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 14px;border-bottom:1px solid var(--border)}.manual-page-title{min-width:0;font-size:18px;font-weight:700;letter-spacing:1px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-page-back{flex:0 0 auto;padding:9px 13px;border-radius:10px;white-space:nowrap}.manual-page-body{width:100%;max-width:820px;margin:0 auto}.manual-entry-hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;gap:14px;margin-bottom:18px;text-align:center}.manual-entry-hero-copy{min-width:0;text-align:center}.manual-entry-hero .gua-number-tag{margin-left:auto;margin-right:auto}.manual-entry-hero .detail-gua-name{margin:8px 0 0}.manual-entry-trigrams{font-size:12px;color:var(--text-faint);font-family:JetBrains Mono,monospace;margin-top:4px}.manual-entry-hex{display:flex;justify-content:center;width:100%}.manual-entry-hero .permission-note{grid-column:1 / -1;width:100%}.manual-record-context{background:var(--bg-input);border:1px solid var(--border);border-radius:12px;padding:14px;margin:0 0 14px}.manual-record-context-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.manual-record-context-label{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:1.5px;margin-bottom:4px}.manual-record-context-title{color:var(--text);font-weight:700;line-height:1.5;word-break:break-word}.manual-record-back{flex:0 0 auto;padding:8px 12px;border-radius:10px;font-size:12px;white-space:nowrap}.manual-record-context-main{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.manual-record-context-hex .hexagram-display{gap:4px;margin:0;padding:2px 4px}.manual-record-context-hex .hex-line{width:58px;height:6px}.manual-record-context-hex .hex-line.yin:before,.manual-record-context-hex .hex-line.yin:after{width:23px;height:6px}.manual-record-context-hex .hex-line .changing-marker{right:-13px;font-size:7px}.manual-record-context-grid{display:grid;grid-template-columns:1fr;gap:8px;min-width:0}.manual-record-context-grid div{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-width:0}.manual-record-context-grid span,.manual-record-question span{display:block;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:1.5px;margin-bottom:4px}.manual-record-context-grid strong{color:var(--text);font-size:12px;line-height:1.5;font-weight:600;word-break:break-word}.manual-record-question{margin-top:12px;color:var(--text-soft);font-size:14px;line-height:1.7;word-break:break-word}@media (max-width: 520px){.manual-record-context-head,.manual-record-context-main{grid-template-columns:1fr;display:grid}.manual-record-back{width:100%}.manual-record-context-hex{justify-self:center}}.record-reference-view{display:grid;gap:14px}.record-reference-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-reference-actions.single{grid-template-columns:1fr}.record-reference-actions .btn{min-width:0;padding:10px 8px;font-size:13px;white-space:nowrap}.record-reference-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:center;justify-items:center;padding:24px 16px 22px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;text-align:center}.record-reference-hex-pair{display:flex;align-items:center;justify-content:center;gap:clamp(24px,8vw,70px);width:100%}.record-reference-hex-panel{min-width:92px;display:flex;flex-direction:column;align-items:center;gap:10px}.record-reference-hex{justify-self:center}.record-reference-hex .hexagram-display{gap:6px;margin:0;padding:0 8px}.record-reference-hex .hex-line{width:88px;height:8px}.record-reference-hex .hex-line.yin:before,.record-reference-hex .hex-line.yin:after{width:34px;height:8px}.record-reference-hex .hex-line .changing-marker{right:-17px;font-size:9px}.record-reference-main{min-width:0;text-align:center}.record-reference-main .gua-number-tag{margin-left:auto;margin-right:auto;margin-bottom:14px!important}.record-reference-main .detail-gua-name{font-size:36px;letter-spacing:6px;margin-left:6px;margin-bottom:10px}.record-reference-main .detail-gua-transform{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin:0;font-size:15px;line-height:1.8}.record-reference-main .detail-gua-transform .arrow{margin:0 14px}.record-reference-yao-inline{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:12px;margin-left:8px}.record-reference-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-reference-facts-compact{grid-template-columns:minmax(0,420px);justify-content:center}.record-reference-fact{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:9px 12px;min-width:0;text-align:center;color:inherit;font:inherit;display:flex;flex-direction:column;justify-content:center}button.record-reference-fact{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}button.record-reference-fact.is-action{transition:border-color .2s ease,background .2s ease,transform .2s ease}button.record-reference-fact.is-action:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.record-reference-fact.wide{grid-column:1 / -1}.record-reference-fact>span,.record-reference-question>span{display:block;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:1.4px;margin-bottom:5px}.record-reference-facts strong{display:block;color:var(--text);font-size:13px;line-height:1.55;word-break:break-word}.record-reference-facts strong.warn{color:var(--warn)}.record-reference-number-list{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:1px;justify-content:center;align-items:center;width:100%}.record-number-row{display:inline-flex;gap:3px;align-items:baseline;justify-content:center;line-height:1.3;padding:0;border-radius:0;background:transparent;border:0;white-space:nowrap}.record-number-index{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400}.record-number-label{color:var(--text-soft);font-size:11px;font-weight:400;white-space:nowrap}.record-number-value{color:var(--text-soft);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:400;min-width:0;word-break:normal}.record-number-empty{color:var(--text-faint);font-size:13px;line-height:1.5}.record-reference-question{color:var(--text-soft);line-height:1.75;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;word-break:break-word;text-align:center}.record-reference-ai-action{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-reference-ai-action.single{grid-template-columns:1fr}.record-reference-ai-action .btn{min-height:48px}.record-reference-reading{display:grid;gap:12px}.record-reference-block{margin-bottom:0}.record-reference-block .manual-explain-btn{min-height:30px;padding:6px 12px;border-radius:8px;font-size:12px}.record-detail-notes{border-top:1px solid var(--border);margin-top:18px;padding-top:18px;scroll-margin-top:76px}.record-notes-page{display:grid;gap:14px}.record-notes-context{padding:14px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;text-align:center}.record-notes-context span{display:block;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:1.4px;margin-bottom:8px}.record-notes-context strong{display:block;color:var(--text);font-size:17px;line-height:1.45}.record-notes-context p{margin:10px 0 0;color:var(--text-soft);line-height:1.7;word-break:break-word}.record-detail-notes-page{margin-top:0}.record-detail-notes-title{color:var(--text);font-size:15px;font-weight:700;letter-spacing:1px;margin-bottom:2px}.record-detail-notes>.immutable-note{margin-bottom:14px}@media (max-width: 620px){.record-reference-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 12px 18px;justify-items:center;text-align:center}.record-reference-hex-pair{gap:clamp(18px,6vw,34px)}.record-reference-hex-panel{min-width:78px;gap:9px}.record-reference-hex{justify-self:center}.record-reference-hex .hexagram-display{gap:5px;padding:0 6px}.record-reference-hex .hex-line{width:78px;height:7px}.record-reference-hex .hex-line.yin:before,.record-reference-hex .hex-line.yin:after{width:30px;height:7px}.record-reference-hex .hex-line .changing-marker{right:-14px;font-size:8px}.record-reference-main .gua-number-tag{margin-bottom:12px!important;padding:4px 8px}.record-reference-main .detail-gua-name{font-size:34px;letter-spacing:5px;margin-bottom:8px}.record-reference-main .detail-gua-transform{font-size:14px}.record-reference-main .detail-gua-transform .arrow{margin:0 12px}.record-reference-yao-inline{font-size:11px;margin-left:6px}.record-reference-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.record-reference-facts-compact{grid-template-columns:minmax(0,100%)}.record-reference-fact.wide{grid-column:1 / -1}.record-reference-fact{padding:10px}.record-reference-facts strong{font-size:12px}}@media (max-width: 360px){.record-reference-hero{padding:12px}.record-reference-hex-pair{gap:14px}.record-reference-hex .hex-line{width:70px}.record-reference-hex .hex-line.yin:before,.record-reference-hex .hex-line.yin:after{width:27px}.record-reference-main .detail-gua-name{font-size:30px;letter-spacing:4px}.record-number-row{padding:0;gap:2px}.record-number-label,.record-number-value{font-size:11px}}.verse-form{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}.verse-form-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.verse-form-title{font-family:"Noto Serif SC",serif;font-size:16px;font-weight:600;color:var(--accent);letter-spacing:2px;min-width:0;overflow-wrap:anywhere}.manual-explain-btn{border-radius:10px;flex-shrink:0;min-height:34px;padding:8px 14px}.manual-explain-btn:not(:disabled){color:var(--warn);background:var(--warn-soft);border-color:#e85a2a47}[data-theme=dark] .manual-explain-btn:not(:disabled){border-color:#ff8a5c52}.manual-explain-btn:disabled{opacity:.55}.form-field{margin-bottom:12px}.form-field:last-child{margin-bottom:0}.form-field-label{font-size:11px;color:var(--text-faint);letter-spacing:2px;font-family:JetBrains Mono,monospace;margin-bottom:6px;display:block;text-transform:uppercase}.form-field-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin-bottom:8px}.form-cat-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:7px 10px;border-radius:8px;letter-spacing:1px;min-width:64px;justify-content:center;height:36px;margin-top:2px}.form-cat-tag.cat-1{color:var(--cat1);background:#7aa2ff1f}.form-cat-tag.cat-2{color:var(--cat2);background:#f0c6741f}.form-cat-tag.cat-3{color:var(--cat3);background:#5ee3a11f}.form-cat-tag.cat-4{color:var(--cat4);background:#ff8a8a1f}[data-theme=light] .form-cat-tag.cat-1{background:#3563e91a}[data-theme=light] .form-cat-tag.cat-2{background:#c89a2a1f}[data-theme=light] .form-cat-tag.cat-3{background:#16a0701a}[data-theme=light] .form-cat-tag.cat-4{background:#d04a4a1a}.form-cat-input{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px;color:var(--text);width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-cat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.manual-section-textarea{min-height:178px;font-family:"Noto Serif SC",serif;font-size:15px;line-height:1.85;max-height:none;overflow:hidden;resize:none}.rating-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rating-cell{padding:10px;text-align:center;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;font-size:13px;cursor:pointer}.rating-cell.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);padding:12px 20px;border-radius:12px;font-size:13px;z-index:200;box-shadow:var(--shadow);opacity:0;transition:opacity .2s;pointer-events:none}.toast.show{opacity:1}.method-list{list-style:none;counter-reset:step}.method-list li{counter-increment:step;padding:10px 12px 10px 38px;position:relative;font-size:13px;color:var(--text-soft);line-height:1.7;margin-bottom:6px;background:var(--bg-input);border-radius:8px}.method-list li:before{content:counter(step);position:absolute;left:12px;top:10px;width:18px;height:18px;background:var(--accent);color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;font-family:JetBrains Mono,monospace;font-weight:600}.bagua-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.bagua-cell{background:var(--bg-input);padding:10px 6px;border-radius:8px;text-align:center;font-size:12px}.bagua-cell .num{color:var(--accent);font-family:JetBrains Mono,monospace;font-weight:600}.bagua-cell .name{font-family:"Noto Serif SC",serif;font-weight:600;margin:2px 0}.bagua-cell .sym{font-size:18px;color:var(--text-soft)}@media (max-width: 380px){.container{padding:12px}.gua-name-display{font-size:28px;letter-spacing:6px}.hexagram-pair{gap:30px}.hex-line{width:64px}.hex-line.yin:before,.hex-line.yin:after{width:26px}.num-cell-input{font-size:18px}.library-item-num{font-size:12px}.form-cat-tag{min-width:56px;font-size:11px;padding:7px 6px}}
