:root{--bg: #f5f3ef;--bg2: #ebe8e2;--surface: rgba(252, 250, 245, .88);--surface-h: rgba(255, 253, 248, .95);--border: rgba(0, 0, 0, .12);--border-l: rgba(0, 0, 0, .06);--text: #1a1a1a;--text2: #3d3d3d;--text3: #555555;--brand: #c2410c;--brand-l: rgba(194, 65, 12, .08);--brand-d: #9a3412;--accent: #c2410c;--accent-l: rgba(194, 65, 12, .06);--accent-d: #9a3412;--purple: #7c3aed;--purple-l: rgba(124, 58, 237, .08);--success: #059669;--success-l: rgba(5, 150, 105, .08);--warning: #d97706;--warning-l: rgba(217, 119, 6, .08);--danger: #dc2626;--danger-l: rgba(220, 38, 38, .08);--info: #2563eb;--info-l: rgba(37, 99, 235, .08);--frost: #0891b2;--frost-l: rgba(8, 145, 178, .08);--sand: #a16207;--sand-l: rgba(161, 98, 7, .08);--graybrown: #7a7a7a;--frost-warm: rgba(252, 250, 245, .92);--frost-cool: rgba(248, 245, 240, .95);--r: 3px;--rm: 5px;--rl: 8px;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .1);--shadow-m: 0 4px 6px rgba(0, 0, 0, .04), 0 10px 24px rgba(0, 0, 0, .12);--shadow-l: 0 8px 16px rgba(0, 0, 0, .06), 0 24px 48px rgba(0, 0, 0, .15);--glow: 0 0 0 1px rgba(194, 65, 12, .15), 0 0 12px rgba(194, 65, 12, .06);--tf: .15s ease;--tn: .2s ease;--ts: .3s ease }:root[data-theme=dark]{--bg: #0c0c0f;--bg2: #141418;--surface: rgba(22, 22, 28, .92);--surface-h: rgba(32, 32, 40, .95);--border: rgba(255, 255, 255, .1);--border-l: rgba(255, 255, 255, .05);--text: #e8e8ec;--text2: #a8a8b4;--text3: #9e9eb0;--brand: #f97316;--brand-l: rgba(249, 115, 22, .1);--brand-d: #ea580c;--accent: #f97316;--accent-l: rgba(249, 115, 22, .08);--accent-d: #ea580c;--purple: #a78bfa;--purple-l: rgba(167, 139, 250, .1);--success: #34d399;--success-l: rgba(52, 211, 153, .1);--warning: #fbbf24;--warning-l: rgba(251, 191, 36, .1);--danger: #f87171;--danger-l: rgba(248, 113, 113, .1);--info: #60a5fa;--info-l: rgba(96, 165, 250, .1);--frost: #22d3ee;--frost-l: rgba(34, 211, 238, .1);--sand: #fbbf24;--sand-l: rgba(251, 191, 36, .1);--graybrown: #909098;--frost-warm: rgba(18, 18, 24, .92);--frost-cool: rgba(12, 12, 18, .95);--shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 2px 6px rgba(0, 0, 0, .3);--shadow-m: 0 4px 8px rgba(0, 0, 0, .25), 0 12px 32px rgba(0, 0, 0, .4);--shadow-l: 0 8px 16px rgba(0, 0, 0, .3), 0 28px 56px rgba(0, 0, 0, .5);--glow: 0 0 0 1px rgba(249, 115, 22, .2), 0 0 16px rgba(249, 115, 22, .08) }:root[data-theme=light] .titlebar{background:#fcfaf5e0;backdrop-filter:blur(32px) saturate(1.2);border-bottom-color:#00000014;box-shadow:0 1px #0000000a,0 1px 8px #00000008}:root[data-theme=light] .sidebar{background:#faf8f3d9;backdrop-filter:blur(32px) saturate(1.1);border-right-color:#0000000f}:root[data-theme=light] .statusbar{background:#fcfaf5e0;backdrop-filter:blur(32px) saturate(1.2);border-top-color:#0000000f}:root[data-theme=light] .mol-list{background:#fcfaf5d9;backdrop-filter:blur(20px)}:root[data-theme=light] .mol-center{background:radial-gradient(ellipse at 40% 40%,#faf8f3,#f5f3ed,#edeae2)}:root[data-theme=light] .mol-info{background:#fcfaf5d9;backdrop-filter:blur(20px)}:root[data-theme=light] .mol-btn{background:#fcfaf5e6;backdrop-filter:blur(16px)}:root[data-theme=light] .mol-view-tabs{background:#fcfaf5eb;backdrop-filter:blur(20px)}:root[data-theme=light] .mol-3d-row{background:#fcfaf5eb;backdrop-filter:blur(20px)}:root[data-theme=light] .ec-panel{background:#fcfaf5eb;backdrop-filter:blur(24px)}:root[data-theme=light] .fg-card{background:#fcfaf5d9;backdrop-filter:blur(20px)}:root[data-theme=light] .kf-branch-head{background:#fcfaf5d9;backdrop-filter:blur(20px)}:root[data-theme=light] .kf-branch-body{background:#faf8f3cc;backdrop-filter:blur(16px)}:root[data-theme=light] .modal{background:#fcfaf5f5;backdrop-filter:blur(30px)}:root[data-theme=light] .modal-overlay{background:#00000040;backdrop-filter:blur(8px)}:root[data-theme=light] .loading-overlay{background:#fcfaf5e6;backdrop-filter:blur(24px)}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000002e}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000059}:root[data-theme=light] .sb-item:hover{background:#0000000d}:root[data-theme=light] .mol-item:hover{background:#0000000d}:root[data-theme=light] .mol-cat-head:hover{background:#0000000d}:root[data-theme=light] .note-entry:hover{background:#0000000d}:root[data-theme=light] .kf-leaf:hover{background:#0000000a}:root[data-theme=light] .tb:hover{background:#00000014}:root[data-theme=light] .mol-view-tab:hover{background:#0000000d}:root[data-theme=light] .fg-card:after{background:linear-gradient(105deg,transparent 40%,rgba(0,0,0,.015) 45%,rgba(0,0,0,.03) 50%,rgba(0,0,0,.015) 55%,transparent 60%);background-size:200% 100%}:root[data-theme=dark] .titlebar{background:#0c0c12eb;backdrop-filter:blur(32px) saturate(1.3);border-bottom-color:#ffffff0f;box-shadow:0 1px #ffffff05,0 1px 12px #0003}:root[data-theme=dark] .sidebar{background:#0c0c12e0;backdrop-filter:blur(32px) saturate(1.2)}:root[data-theme=dark] .statusbar{background:#0c0c12eb;backdrop-filter:blur(32px) saturate(1.3);border-top-color:#ffffff0d}:root[data-theme=dark] .mol-list{background:#0e0e14eb;backdrop-filter:blur(24px)}:root[data-theme=dark] .mol-center{background:radial-gradient(ellipse at 30% 30%,#1a1a22,#141418 40%,#0c0c12,#08080e);box-shadow:inset 0 0 80px #00000080}:root[data-theme=dark] .mol-info{background:#0e0e14eb;backdrop-filter:blur(24px)}:root[data-theme=dark] .mol-btn{background:#1a1a1aeb;backdrop-filter:blur(16px)}:root[data-theme=dark] .mol-view-tabs{background:#161616f2;backdrop-filter:blur(20px)}:root[data-theme=dark] .mol-3d-row{background:#161616f2;backdrop-filter:blur(20px)}:root[data-theme=dark] .ec-panel{background:#161616f2;backdrop-filter:blur(24px)}:root[data-theme=dark] .fg-card{background:#161616e6;backdrop-filter:blur(20px)}:root[data-theme=dark] .kf-branch-head{background:#161616e6;backdrop-filter:blur(20px)}:root[data-theme=dark] .kf-branch-body{background:#121212d9;backdrop-filter:blur(16px)}:root[data-theme=dark] .modal{background:#1a1a1af5;backdrop-filter:blur(30px)}:root[data-theme=dark] .modal-overlay{background:#00000080;backdrop-filter:blur(8px)}:root[data-theme=dark] .loading-overlay{background:#101010eb;backdrop-filter:blur(24px)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff2e}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff59}:root[data-theme=dark] .sb-item:hover{background:#ffffff0f}:root[data-theme=dark] .mol-item:hover{background:#ffffff0f}:root[data-theme=dark] .mol-cat-head:hover{background:#ffffff0f}:root[data-theme=dark] .note-entry:hover{background:#ffffff0f}:root[data-theme=dark] .kf-leaf:hover{background:#ffffff0a}:root[data-theme=dark] .tb:hover{background:#ffffff1a}:root[data-theme=dark] .mol-view-tab:hover{background:#ffffff0f}:root[data-theme=dark] .fg-card:after{background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.015) 45%,rgba(255,255,255,.03) 50%,rgba(255,255,255,.015) 55%,transparent 60%);background-size:200% 100%}.a11y-toggle{cursor:pointer;user-select:none;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#6366f10f;border:1px solid rgba(99,102,241,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1);color:var(--text3)}.a11y-toggle:hover{background:#6366f124;border-color:#6366f147;color:var(--brand);transform:scale(1.12);box-shadow:0 0 12px #6366f12e}.a11y-toggle:active{transform:scale(.92);box-shadow:0 0 6px #6366f11f}.a11y-toggle:focus-visible{outline:2px solid rgba(99,102,241,.5);outline-offset:2px}.a11y-toggle svg{width:16px;height:16px;transition:filter .25s}.a11y-toggle:hover svg{filter:drop-shadow(0 0 3px rgba(99,102,241,.35))}.a11y-panel{position:fixed;z-index:200;width:280px;background:var(--surface);backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);border:1px solid var(--border);border-radius:var(--rl);box-shadow:var(--shadow-m);padding:0;overflow:hidden;animation:a11y-panel-in .2s ease}@keyframes a11y-panel-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.a11y-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-l)}.a11y-panel-title{font-size:13px;font-weight:600;color:var(--text)}.a11y-panel-close{background:none;border:none;color:var(--text3);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:var(--r);transition:transform var(--tf),opacity var(--tf)}.a11y-panel-close:hover{background:var(--brand-l);color:var(--brand)}.a11y-panel-body{padding:12px 16px 16px}.a11y-option{margin-bottom:14px}.a11y-opt-label{display:block;font-size:11px;color:var(--text2);margin-bottom:6px;font-weight:500}.a11y-opt-key{font-size:9px;color:var(--text3);font-weight:400;margin-left:4px;font-family:monospace}.a11y-opt-btn{padding:5px 14px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg2);color:var(--text2);font-size:11px;cursor:pointer;transition:transform var(--tf),opacity var(--tf);font-family:inherit}.a11y-opt-btn:hover{border-color:var(--accent);color:var(--accent)}.a11y-opt-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.a11y-opt-group{display:flex;gap:6px}.a11y-sep{height:1px;background:var(--border-l);margin:16px 0}.a11y-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:10px}.a11y-shortcuts{display:flex;flex-direction:column;gap:5px}.a11y-sc-row{font-size:10px;color:var(--text2);display:flex;align-items:center;gap:8px}.a11y-sc-row kbd{display:inline-block;padding:2px 6px;font-size:9px;font-family:system-ui,-apple-system,Segoe UI,sans-serif,monospace;background:var(--bg2);border:1px solid var(--border);border-radius:3px;color:var(--text);min-width:40px;text-align:center}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;height:100vh;-webkit-user-select:none;user-select:none;letter-spacing:-.01em;display:grid;grid-template-rows:40px 1fr 26px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#f973161f;border-radius:3px;transition:opacity var(--tf)}::-webkit-scrollbar-thumb:hover{background:#f9731659}.titlebar{height:40px;background:#fcfaf5e0;backdrop-filter:blur(32px);display:flex;align-items:center;padding:0 6px 0 16px;border-bottom:1px solid var(--border);position:relative;z-index:900;box-shadow:0 1px #0000000a}.titlebar-icon{width:18px;height:18px;margin-right:10px;flex-shrink:0}.titlebar-icon svg{width:100%;height:100%}.titlebar-text{font-size:12px;font-weight:500;color:var(--text2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}.titlebar-text-en{display:block;font-size:9px;color:var(--text3);font-weight:400;margin-top:2px;letter-spacing:.01em}.titlebar-controls{display:flex}.tb{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text3);cursor:pointer;font-size:11px;transition:transform var(--tf),opacity var(--tf);border-radius:var(--r)}.tb:hover{background:#ffffff0d;color:var(--text)}.tb.close:hover{background:var(--danger);color:#fff}.daynight-toggle{cursor:pointer;user-select:none;flex-shrink:0;width:32px;height:32px;perspective:60px;border-radius:50%;background:#f59e0b14;border:1px solid rgba(245,158,11,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1)}.daynight-toggle:hover{transform:scale(1.12);background:#f59e0b26;border-color:#f59e0b4d;box-shadow:0 0 12px #f59e0b33}.daynight-toggle:active{transform:scale(.92);box-shadow:0 0 6px #f59e0b26}.daynight-toggle:focus-visible{outline:2px solid rgba(245,158,11,.5);outline-offset:2px}[data-theme=dark] .daynight-toggle{background:#94a3b80f;border-color:#94a3b81a}[data-theme=dark] .daynight-toggle:hover{background:#94a3b81f;border-color:#94a3b840;box-shadow:0 0 12px #94a3b826}[data-theme=dark] .daynight-toggle:active{box-shadow:0 0 6px #94a3b81a}.daynight-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .daynight-flip{transform:rotateY(180deg)}.daynight-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.daynight-front{color:#f59e0b;transition:opacity var(--tf)}.daynight-back{transform:rotateY(180deg);color:#94a3b8;transition:opacity var(--tf)}.daynight-toggle:hover .daynight-front{color:#fbbf24;filter:drop-shadow(0 0 3px rgba(251,191,36,.4))}.daynight-toggle:hover .daynight-back{color:#e2e8f0;filter:drop-shadow(0 0 3px rgba(226,232,240,.3))}.main{display:grid;grid-template-columns:auto 1fr;overflow:hidden}.sidebar{width:200px;background:#faf8f3d9;backdrop-filter:blur(32px);border-right:1px solid rgba(249,115,22,.04);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;z-index:2;transition:width .35s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1)}.sidebar.nav-hidden{width:0!important;opacity:0;transform:translate(-10px);overflow:hidden;border-right-width:0}.nav-trigger{position:fixed;left:0;top:0;width:16px;height:100%;z-index:90;cursor:e-resize}.nav-trigger:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,115,22,.08),transparent);opacity:0;transition:opacity .2s}.nav-trigger:hover:after{opacity:1}.sb-section{padding:12px 6px 4px}.sb-title{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text3);padding:0 10px;margin-bottom:4px}.sb-title-en{display:block;font-size:8px;font-weight:400;text-transform:none;letter-spacing:.02em;color:var(--text3);margin-top:2px}.sb-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--rm);cursor:pointer;font-size:12px;font-weight:400;color:var(--text2);transition:transform var(--tf),opacity var(--tf);position:relative}.sb-item-text{flex:1}.sb-item-en{display:block;font-size:9px;color:var(--text3);margin-top:1px}.sb-item:hover{background:var(--brand-l);color:var(--text);transform:perspective(400px) translateZ(1px) rotateY(-.5deg)}.sb-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sb-item.active{background:linear-gradient(135deg,var(--brand-l),rgba(249,115,22,.06));color:var(--brand);font-weight:600}.sb-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:linear-gradient(180deg,var(--brand),var(--accent));border-radius:0 3px 3px 0;box-shadow:0 0 10px #f9731666;animation:breathe 2.5s ease-in-out infinite}.sb-icon{width:15px;height:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sb-icon svg{width:13px;height:13px}.sb-badge{margin-left:auto;font-size:9px;font-weight:600;background:linear-gradient(135deg,var(--brand),var(--accent-d));color:#fff;padding:1px 7px;border-radius:10px;line-height:1.4;box-shadow:0 1px 4px #f9731633}.content{overflow:hidden;background:var(--bg);position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.module{width:100%;flex:1;min-width:0;min-height:0;display:none;flex-direction:column;opacity:0;transform:perspective(1200px) translateZ(-20px) rotateX(1.5deg);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);position:relative}.module.active{display:flex;opacity:1;transform:none}.statusbar{height:26px;background:#fcfaf5e0;backdrop-filter:blur(32px);border-top:1px solid var(--border-l);display:flex;align-items:center;padding:0 14px;font-size:10px;color:var(--text3);gap:14px}.st-dot{width:5px;height:5px;border-radius:50%;background:var(--success);flex-shrink:0;box-shadow:0 0 6px #34d39980}.st-item{display:flex;align-items:center;gap:4px}.st-en{display:block;font-size:8px;color:var(--text3);margin-top:1px}.st-module-val{color:var(--text)}.modal-overlay{position:fixed;inset:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--tn);backdrop-filter:blur(10px)}.modal-overlay.show{opacity:1;pointer-events:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);box-shadow:0 20px 60px #0009,0 0 32px #f9731608;width:380px;max-width:90vw;overflow:hidden;transform:perspective(1000px) translateY(10px) translateZ(-12px) rotateX(2deg) scale(.97);transition:transform .3s cubic-bezier(.22,1,.36,1)}.modal-overlay.show .modal{transform:perspective(1000px) translateY(0) translateZ(0) rotateX(0) scale(1)}.modal-head{padding:14px 18px;border-bottom:1px solid var(--border-l);display:flex;justify-content:space-between;align-items:center}.modal-head h3{font-size:14px;font-weight:600}.modal-close{width:24px;height:24px;border:none;background:transparent;color:var(--text3);cursor:pointer;font-size:13px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;transition:transform var(--tf),opacity var(--tf)}.modal-close:hover{background:#ffffff0d}.modal-body{padding:18px}.modal-foot{padding:12px 18px;border-top:1px solid var(--border-l);display:flex;justify-content:flex-end;gap:6px}.btn{padding:6px 14px;border-radius:var(--rm);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:transform var(--tf),opacity var(--tf)}.btn:hover{background:var(--surface-h)}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--accent-d));color:#fff;border-color:transparent;box-shadow:0 2px 8px #f9731640}.btn-primary:hover{box-shadow:0 4px 12px #f9731659;transform:perspective(400px) translateY(-1px) translateZ(2px)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}@keyframes fadeIn{0%{opacity:0;transform:perspective(600px) translateY(6px) translateZ(-6px)}to{opacity:1;transform:perspective(600px) translateY(0) translateZ(0)}}.fade-in{animation:fadeIn var(--tn) cubic-bezier(.22,1,.36,1) both}@keyframes moduleIn{0%{opacity:0;transform:perspective(1200px) translateZ(-24px) rotateX(2deg)}to{opacity:1;transform:none}}@keyframes moduleOut{0%{opacity:1;transform:none}to{opacity:0;transform:perspective(1200px) translateZ(-16px) rotateX(-1.5deg)}}.module{transition:opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}.module.entering{animation:moduleIn .4s cubic-bezier(.22,1,.36,1) both}.module.leaving{animation:moduleOut .2s cubic-bezier(.22,1,.36,1) both}.low-perf-mode *{animation-duration:0s!important;transition-duration:.1s!important}.low-perf-mode .module{transform:none!important}.low-perf-mode canvas{image-rendering:pixelated!important}.low-perf-mode [data-complex=true]{display:none!important}@keyframes breathe{0%,to{box-shadow:0 0 6px #f9731640}50%{box-shadow:0 0 12px #f9731673}}@keyframes sbItemIn{0%{opacity:0;transform:perspective(600px) translate(-6px) rotateY(-2deg)}to{opacity:1;transform:perspective(600px) translate(0) rotateY(0)}}.sb-item{transition:transform var(--tf),opacity var(--tf)}.sb-item.switching{animation:sbItemIn .25s cubic-bezier(.22,1,.36,1) both}@keyframes viewFadeIn{0%{opacity:0;transform:perspective(800px) translateZ(-12px) scale(.98)}to{opacity:1;transform:perspective(800px) translateZ(0) scale(1)}}@keyframes viewFadeOut{0%{opacity:1;transform:perspective(800px) translateZ(0) scale(1)}to{opacity:0;transform:perspective(800px) translateZ(-8px) scale(.99)}}.mol-canvas-wrap-2d,.mol-3d-wrap{transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1)}.view-entering{animation:viewFadeIn .3s cubic-bezier(.22,1,.36,1) both}.view-leaving{animation:viewFadeOut .15s ease both}@keyframes molSelect{0%{background:var(--brand-l);transform:perspective(600px) translateZ(4px)}to{transform:perspective(600px) translateZ(0)}}.mol-item.selecting{animation:molSelect .25s cubic-bezier(.22,1,.36,1) both}@keyframes infoSlideIn{0%{opacity:0;transform:perspective(800px) translateY(10px) rotateX(-1.5deg)}to{opacity:1;transform:perspective(800px) translateY(0) rotateX(0)}}.mol-info{transition:opacity .25s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1)}.mol-info.updating{animation:infoSlideIn .3s cubic-bezier(.22,1,.36,1) both}@keyframes loadPulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes loadSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes inkDrop1{0%{transform:scale(0);opacity:0}15%{transform:scale(1);opacity:.6}50%{transform:scale(1.8);opacity:.15}85%{transform:scale(2.2);opacity:0}to{transform:scale(0);opacity:0}}@keyframes inkDrop2{0%{transform:scale(0);opacity:0}20%{transform:scale(0);opacity:0}35%{transform:scale(1);opacity:.5}65%{transform:scale(1.6);opacity:.1}80%{transform:scale(2);opacity:0}to{transform:scale(0);opacity:0}}@keyframes inkDrop3{0%{transform:scale(0);opacity:0}40%{transform:scale(0);opacity:0}55%{transform:scale(1);opacity:.4}80%{transform:scale(1.4);opacity:.08}95%{transform:scale(1.8);opacity:0}to{transform:scale(0);opacity:0}}@keyframes inkBreathe{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:.7;transform:scale(1.08)}}@keyframes inkCoreSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loadFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes loadDots{0%,20%{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}60%{opacity:1;transform:translateY(0)}80%,to{opacity:0;transform:translateY(0)}}@keyframes glBreathe{0%,to{opacity:.5;transform:perspective(400px) scale(.75) translateZ(-2px)}50%{opacity:1;transform:perspective(400px) scale(1.2) translateZ(2px)}}@keyframes glRingPulse{0%,to{opacity:.12;transform:perspective(600px) scale(.5) translateZ(-4px)}50%{opacity:.65;transform:perspective(600px) scale(1.35) translateZ(2px)}}@keyframes glRingLPulse{0%,to{opacity:.06;transform:perspective(800px) scale(.6) translateZ(-6px)}50%{opacity:.4;transform:perspective(800px) scale(1.2) translateZ(1px)}}@keyframes glArcSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.global-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0a10;z-index:9999;transition:opacity .8s cubic-bezier(.22,1,.36,1);overflow:hidden}.gl-fallback{display:flex;align-items:center;justify-content:center;position:relative;width:88px;height:88px}.gl-dot{width:12px;height:12px;border-radius:50%;background:#f97316;animation:glBreathe 1.6s ease-in-out infinite;box-shadow:0 0 8px #f9731666}.gl-ring{position:absolute;width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(249,115,22,.6);animation:glRingPulse 2s ease-in-out infinite .2s}.gl-ring-l{position:absolute;width:88px;height:88px;border-radius:50%;border:1px solid rgba(249,115,22,.3);animation:glRingLPulse 2.8s ease-in-out infinite .5s}.gl-arc{position:absolute;width:44px;height:44px;border-radius:50%;border:1.5px solid transparent;border-top-color:#f97316;opacity:.35;animation:glArcSpin 1.2s linear infinite}:root[data-theme=light] .global-loading{background:#f5f3ef}:root[data-theme=light] .gl-dot{background:#c2410c;box-shadow:0 0 8px #c2410c66}:root[data-theme=light] .gl-ring{border-color:#c2410c99}:root[data-theme=light] .gl-ring-l{border-color:#c2410c4d}:root[data-theme=light] .gl-arc{border-top-color:#c2410c}.loading-overlay{position:absolute;inset:0;z-index:50;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.22,1,.36,1)}.loading-overlay.active{opacity:1;pointer-events:auto}.loading-3d-wrap{position:absolute;inset:0;width:100%;height:100%}.loading-3d-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.loading-3d-core{position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#fc0;box-shadow:0 0 16px 4px #fc09,0 0 40px 8px #f973164d;animation:glCoreBreath 1.5s ease-in-out infinite;pointer-events:none}@keyframes glCoreBreath{0%,to{opacity:.6;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.loading-3d-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--frost-warm);backdrop-filter:blur(16px)}.loading-3d-spinner{width:48px;height:48px;border:3px solid rgba(249,115,22,.12);border-top-color:#f97316;border-radius:50%;animation:glSpin .75s linear infinite}@keyframes glSpin{to{transform:rotate(360deg)}}.loading-text{position:absolute;bottom:15%;left:50%;transform:translate(-50%);font-size:13px;color:var(--text2);letter-spacing:.05em;text-align:center;opacity:.7;pointer-events:none}.loading-full{position:fixed!important;inset:0!important;z-index:9998!important}.nav-overlay{display:none;position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);z-index:149;pointer-events:none}.nav-overlay.show{display:block;pointer-events:auto}.sub-nav-overlay{display:none;position:fixed;inset:0;background:#00000059;backdrop-filter:blur(4px);z-index:159;pointer-events:none}.sub-nav-overlay.show{display:block;pointer-events:auto}.sub-nav-panel{transition:transform .3s cubic-bezier(.22,1,.36,1)}.drawer-toggle{display:none;position:fixed;z-index:155;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--rm);background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text2);font-size:13px;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .15s ease,opacity .15s ease}.drawer-toggle:hover{border-color:var(--accent);color:var(--accent)}.drawer-toggle:active{transform:scale(.92)}.drawer-toggle-left{left:6px;top:46px}.drawer-toggle-right{right:6px;top:46px}.titlebar-theme-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.theme-picker{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r);cursor:pointer;transition:transform var(--tf),opacity var(--tf);border:1px solid var(--border);background:var(--surface);font-size:11px;color:var(--text2);user-select:none;backdrop-filter:blur(12px)}.theme-picker:hover{background:var(--surface-h);color:var(--text);border-color:var(--accent)}.theme-picker-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);transition:background .3s ease;box-shadow:0 0 6px #f9731666}.theme-picker-sc{font-weight:600;color:var(--text)}.theme-picker-sep{opacity:.3}.theme-picker-jq{color:var(--text3)}.theme-panel{position:fixed;z-index:1000;background:var(--surface);backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--rl);box-shadow:var(--shadow-l);padding:16px;width:340px;max-height:70vh;overflow-y:auto;animation:tpFadeIn .2s ease}@keyframes tpFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tp-title{font-size:13px;font-weight:700;color:var(--text)}.tp-auto-btn{padding:4px 12px;border-radius:var(--r);font-size:10px;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text2);transition:transform var(--tf),opacity var(--tf)}.tp-auto-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tp-auto-btn:hover{background:var(--accent-l)}.tp-section{margin-bottom:14px}.tp-section-title{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.tp-section-en{font-weight:400;opacity:.6;margin-left:4px}.tp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.tp-grid-jq{grid-template-columns:repeat(4,1fr)}.tp-item{padding:6px 4px;border-radius:var(--r);cursor:pointer;text-align:center;transition:transform var(--tf),opacity var(--tf);border:1px solid transparent;background:var(--bg)}.tp-item:hover{background:var(--surface-h);border-color:var(--border)}.tp-item.active{background:var(--accent-l);border-color:var(--accent)}.tp-item-name{display:block;font-size:11px;font-weight:600;color:var(--text);line-height:1.3}.tp-item-en{display:block;font-size:8px;color:var(--text3);line-height:1.2}.tp-item-desc{display:block;font-size:8px;color:var(--text3);opacity:.6;margin-top:1px}.tp-item-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:3px;vertical-align:middle}input[type=range]{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,var(--border),var(--border-l));border-radius:3px;outline:none;cursor:pointer;transition:transform var(--tf),opacity var(--tf)}input[type=range]:hover{background:linear-gradient(90deg,var(--brand-l),var(--border))}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--accent-d));cursor:pointer;box-shadow:0 1px 6px #f973164d,0 0 0 2px var(--brand-l);margin-top:-5px;transition:transform var(--tf),opacity var(--tf)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 10px #f9731666,0 0 0 3px var(--brand-l)}input[type=range]::-moz-range-track{height:4px;background:linear-gradient(90deg,var(--border),var(--border-l));border-radius:3px}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--accent-d));cursor:pointer;border:none;box-shadow:0 1px 6px #f9731640}input[type=range]::-moz-range-thumb:hover{transform:scale(1.15)}.home-layout{position:absolute;inset:0;overflow:hidden}.home-scene{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}.home-overlay{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px 16px;pointer-events:none;transition:opacity .4s ease}.home-center{text-align:center;pointer-events:none;flex-shrink:0}.home-time{font-size:48px;font-weight:200;color:#fff;letter-spacing:4px;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 2px 24px rgba(0,0,0,.35)}.home-date{font-size:11px;color:#ffffff80;margin-top:6px;letter-spacing:1.5px;text-shadow:0 1px 6px rgba(0,0,0,.2)}.home-divider{width:40px;height:1px;background:#ffffff26;margin:10px auto 8px}.home-shichen{font-size:13px;color:#ffffffb8;margin-top:2px;font-weight:500;letter-spacing:1px;text-shadow:0 1px 6px rgba(0,0,0,.2)}.home-jieqi{font-size:10px;color:#ffffff6b;margin-top:3px;letter-spacing:2.5px}.home-cat-grid{pointer-events:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:420px;width:100%}.home-cat{background:#ffffff10;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:20px 10px 14px;text-align:center;cursor:pointer;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .35s cubic-bezier(.22,1,.36,1),opacity .3s ease,filter .3s ease;display:flex;flex-direction:column;align-items:center;gap:6px;will-change:transform,opacity;position:relative}.home-cat:hover{background:#ffffff1e;border-color:var(--ca, var(--accent));box-shadow:0 8px 28px #00000030,0 0 20px color-mix(in srgb,var(--ca, var(--accent)) 15%,transparent)}.home-cat:active{transform:scale(.96)!important}.home-cat.cat-faded{opacity:.15;filter:blur(2px);pointer-events:none}.home-cat.cat-source{pointer-events:auto;box-shadow:0 0 24px color-mix(in srgb,var(--ca, var(--accent)) 25%,transparent);transform:scale(1.35)!important;z-index:2;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,background .25s ease,border-color .25s ease,opacity .3s ease,filter .3s ease}.cat-icon{width:40px;height:40px;border-radius:6px;background:#ffffff14;display:flex;align-items:center;justify-content:center;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.home-cat:hover .cat-icon{background:color-mix(in srgb,var(--ca, var(--accent)) 20%,transparent);transform:scale(1.1);box-shadow:0 0 14px color-mix(in srgb,var(--ca, var(--accent)) 22%,transparent)}.cat-icon .hc-svg{width:22px;height:22px;color:#fff;opacity:.7;transition:opacity .25s ease}.home-cat:hover .cat-icon .hc-svg{opacity:1}.cat-label{font-size:13px;font-weight:600;color:#fff;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.25)}.cat-en{font-size:8px;color:#ffffff40;letter-spacing:.3px;text-transform:uppercase}.cat-count{position:absolute;top:6px;right:8px;font-size:8px;font-weight:600;color:#ffffff50;background:#ffffff10;border-radius:6px;padding:1px 5px;line-height:1.3}.home-expand-overlay{position:absolute;inset:0;z-index:10;pointer-events:none;opacity:0;transition:opacity .25s ease;display:flex;align-items:center;justify-content:center;perspective:800px}.home-expand-overlay.expand-open{opacity:1}.home-expand-overlay:before{content:"";position:absolute;inset:0;background:#00000026;opacity:0;transition:opacity .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease;pointer-events:none}.home-expand-overlay.expand-open:before{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:1}.home-expand-overlay.expand-pinned{pointer-events:auto}.home-expand-overlay.expand-pinned:before{background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:1;pointer-events:auto}.home-expand-panel{position:relative;max-width:420px;width:90%;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;pointer-events:auto;transform-style:preserve-3d;transform:translateZ(40px)}.home-expand-panel::-webkit-scrollbar{width:3px}.home-expand-panel::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.expand-section{display:none}.expand-section.sec-active{display:block}.expand-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #ffffff18;transform:translateZ(20px)}.expand-icon{width:36px;height:36px;border-radius:6px;background:#ffffff14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expand-icon .hc-svg{width:20px;height:20px;color:#fff;opacity:.8}.expand-title{font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.3)}.expand-en{display:block;font-size:9px;font-weight:400;color:#ffffff50;letter-spacing:.04em;text-transform:uppercase;margin-top:2px}.expand-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.expand-card{background:#ffffff12;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:14px 6px 10px;text-align:center;cursor:pointer;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,opacity .25s ease,transform .25s ease,filter .25s ease;display:flex;flex-direction:column;align-items:center;gap:5px;width:90px;will-change:transform,opacity;opacity:0}.expand-card.card-in{opacity:1;transform:translateZ(20px);box-shadow:0 12px 40px #00000040,0 4px 16px #00000020}.expand-card.card-in:hover{background:#fff2;border-color:var(--ca, var(--accent));box-shadow:0 6px 20px #00000028,0 0 14px color-mix(in srgb,var(--ca, var(--accent)) 12%,transparent)}.expand-card:active{transition-duration:.1s;transform:scale(.94)!important}.expand-card.card-out{opacity:0!important;pointer-events:none;filter:blur(4px);transform:scale(.8)!important}.ec-icon{width:30px;height:30px;border-radius:4px;background:#ffffff12;display:flex;align-items:center;justify-content:center;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.expand-card:hover .ec-icon{background:color-mix(in srgb,var(--ca, var(--accent)) 18%,transparent);transform:scale(1.08);box-shadow:0 0 10px color-mix(in srgb,var(--ca, var(--accent)) 18%,transparent)}.ec-icon .hc-svg{width:17px;height:17px;color:#fff;opacity:.65;transition:opacity .25s ease}.expand-card:hover .ec-icon .hc-svg{opacity:1}.ec-name{font-size:10px;font-weight:600;color:#fff;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.25)}.ec-en{font-size:7px;color:#ffffff3d;line-height:1;letter-spacing:.3px;text-transform:uppercase}.home-cfg-row,.home-cfg,.cfg-i,.cfg-l,.cfg-v{display:none}:root[data-theme=dark] .home-cat{background:#ffffff08;border-color:#ffffff0a}:root[data-theme=dark] .home-cat:hover{background:#ffffff16;box-shadow:0 8px 28px #0000004d,0 0 20px #f9731614}:root[data-theme=dark] .cat-icon{background:#ffffff0a}:root[data-theme=dark] .home-cat:hover .cat-icon{background:#f973161a;box-shadow:0 0 14px #f9731640}:root[data-theme=dark] .expand-card{background:#ffffff0a;border-color:#ffffff08}:root[data-theme=dark] .expand-card:hover{background:#ffffff16;box-shadow:0 6px 20px #0000004d,0 0 14px #f9731614}:root[data-theme=dark] .ec-icon{background:#ffffff0a}:root[data-theme=dark] .expand-card:hover .ec-icon{background:#f973161a;box-shadow:0 0 10px #f9731640}:root[data-theme=dark] .cat-count{background:#ffffff08}:root[data-theme=dark] .expand-head{border-bottom-color:#ffffff10}@media (max-width:768px){.home-time{font-size:36px;letter-spacing:2px}.home-overlay{gap:14px;padding:16px 12px}.home-cat-grid{max-width:340px;gap:8px}.home-cat{padding:14px 8px 10px}.cat-icon{width:32px;height:32px}.cat-icon .hc-svg{width:18px;height:18px}.cat-label{font-size:11px}.cat-en{font-size:7px}.expand-grid{gap:8px}.expand-card{width:80px;padding:10px 4px 8px}}@media (max-width:480px){.home-time{font-size:28px;letter-spacing:1px}.home-overlay{gap:10px;padding:12px 8px}.home-cat-grid{grid-template-columns:repeat(2,1fr);max-width:260px;gap:6px}.home-cat{padding:10px 6px 8px;border-radius:4px}.cat-icon{width:28px;height:28px;border-radius:4px}.cat-icon .hc-svg{width:16px;height:16px}.cat-label{font-size:10px}.cat-en{display:none}.cat-count{font-size:7px;top:4px;right:6px}.expand-grid{gap:6px}.expand-card{width:72px;padding:8px 3px 6px}.ec-icon{width:24px;height:24px}.ec-icon .hc-svg{width:14px;height:14px}.ec-name{font-size:8.5px}.ec-en{display:none}.expand-title{font-size:13px}}@media (max-width:1024px){.sidebar{width:180px}.mol-list,.note-list{width:170px}.mol-info{width:230px}.rx-sidebar{width:180px}.fg-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:768px){.drawer-toggle{display:flex}.main{display:block}.sidebar{position:fixed;left:0;top:40px;bottom:26px;width:260px;z-index:150;transform:translate(-100%);opacity:1;border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;will-change:transform}.sidebar.nav-hidden{transform:translate(-100%);opacity:0}.sidebar.nav-visible{transform:translate(0);opacity:1}.content{position:fixed;inset:40px 0 26px}.sub-nav-panel{position:fixed;left:0;top:40px;bottom:26px;width:240px;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);will-change:transform}.sub-nav-panel.sub-nav-visible{transform:translate(0)}.sub-nav-panel.sub-nav-preparing{visibility:visible;opacity:1}.mol-list{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.mol-list.sub-nav-visible{transform:translate(0)}.mol-layout{width:100%;height:100%}.mol-center{width:100%;height:100%;flex:1}.mol-info{position:fixed;right:0;top:40px;bottom:26px;width:280px;max-width:80vw;z-index:160;transform:translate(100%);border-left:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.mol-info.sub-nav-visible{transform:translate(0)}.orbital-list{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.orbital-list.sub-nav-visible{transform:translate(0)}.orbital-layout,.orbital-main{width:100%;height:100%}.orbital-info-panel{position:fixed;right:0;top:40px;bottom:26px;width:280px;max-width:80vw;z-index:160;transform:translate(100%);border-left:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.orbital-info-panel.sub-nav-visible{transform:translate(0)}.spectrum-list{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.spectrum-list.sub-nav-visible{transform:translate(0)}.spectrum-layout,.spectrum-main{width:100%;height:100%}.thermo-sidebar{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.thermo-sidebar.sub-nav-visible{transform:translate(0)}.thermo-layout,.thermo-main{width:100%;height:100%}.symmetry-sidebar{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.symmetry-sidebar.sub-nav-visible{transform:translate(0)}.symmetry-layout,.symmetry-main{width:100%;height:100%}.experiment-sidebar{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.experiment-sidebar.sub-nav-visible{transform:translate(0)}.experiment-layout,.experiment-main{width:100%;height:100%}.cb-list{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.cb-list.sub-nav-visible{transform:translate(0)}.cb-layout,.cb-main{width:100%;height:100%}.rx-sidebar{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.rx-sidebar.sub-nav-visible{transform:translate(0)}.rx-dash,.rx-main{width:100%;height:100%}.note-list{position:fixed;left:0;top:40px;bottom:26px;width:260px;max-width:75vw;z-index:160;transform:translate(-100%);border-right:1px solid var(--border);box-shadow:var(--shadow-l);overflow-y:auto;overflow-x:hidden;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.note-list.sub-nav-visible{transform:translate(0)}.note-layout{width:100%;height:100%}.fg-research-layout{padding:16px}.fg-grid{grid-template-columns:1fr}.titlebar-text-en,.st-en{display:none}.mol-bottom-bar{bottom:8px;left:8px}.mol-ctrls{bottom:8px;right:8px}.fg-detail-panel{padding:40px 12px 12px}.fg-detail-content{padding:20px}.cb-pi-layout{flex-direction:column}.cb-pi-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:8px}.cb-pi-list{display:flex;flex-wrap:wrap;gap:4px}.cb-pi-item{padding:6px 10px}.cb-pi-3d-wrap{height:260px}.rx-grid{grid-template-columns:1fr}.rx-hero-eq{font-size:22px}.rx-cond-row{grid-template-columns:1fr}.home-time{font-size:32px}}@media (max-width:480px){.sidebar,.mol-list,.orbital-list,.spectrum-list,.thermo-sidebar,.symmetry-sidebar,.experiment-sidebar,.cb-list,.rx-sidebar,.note-list{width:220px}.mol-info,.orbital-info-panel{width:240px}.titlebar-text{font-size:11px}.titlebar-theme-controls{gap:4px}.theme-picker{padding:3px 6px;font-size:10px}.theme-picker-sc,.theme-picker-sep,.theme-picker-jq{display:none}.statusbar{font-size:9px;gap:8px;padding:0 8px}.fg-research-layout{padding:10px}.thermo-main,.symmetry-main{padding:12px}.orbital-diagram-wrap,.spectrum-content{padding:10px}.record-editor{padding:12px}.fg-grid{grid-template-columns:1fr;gap:8px}.fg-research-card{padding:12px}.symmetry-info-grid,.symmetry-examples{grid-template-columns:1fr}.thermo-gibbs-params{flex-direction:column;gap:8px}.thermo-hess-ex-tabs{flex-direction:column}.thermo-hess-ex-tab{min-width:auto}.thermo-dgt-inputs{flex-direction:column}.thermo-dgt-input-row{min-width:auto}.thermo-dgt-presets{gap:4px}.thermo-dgt-cases-grid{grid-template-columns:1fr}.cb-3d-canvas{height:280px}.cb-pi-3d-wrap{height:220px}.rx-hero-eq{font-size:18px}.rx-hero-thermo{grid-template-columns:1fr 1fr}.rx-q-grid{grid-template-columns:1fr}.rx-stat-grid{grid-template-columns:1fr 1fr}.home-time{font-size:28px}.mol-view-tab{padding:5px 8px;font-size:9px}}@media (prefers-reduced-motion:reduce){.module{transition-duration:.01ms!important}*{animation-duration:.01ms!important;animation-iteration-count:1!important}}#pwaInstallBanner{position:fixed;bottom:0;left:0;right:0;z-index:9999;transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);pointer-events:none}#pwaInstallBanner.pwa-banner-show{transform:translateY(0);pointer-events:auto}.pwa-banner-inner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15);border-top:1px solid var(--border);box-shadow:0 -4px 24px #0000001a}.pwa-banner-icon{width:48px;height:48px;flex-shrink:0;border-radius:10px;background:var(--bg2);object-fit:contain}.pwa-banner-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pwa-banner-text strong{font-size:13px;font-weight:700;color:var(--text)}.pwa-banner-sub{font-size:10px;color:var(--text3);font-family:system-ui,-apple-system,Segoe UI,sans-serif,monospace;letter-spacing:.2px}.pwa-banner-install{padding:6px 16px;border:none;border-radius:4px;background:#1a1a1a;color:#fff;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .15s,opacity .15s;flex-shrink:0}.pwa-banner-install:hover{filter:brightness(1.15);transform:translateY(-1px)}.pwa-banner-install:active{transform:translateY(0)}.pwa-banner-dismiss{padding:4px 8px;border:none;border-radius:4px;background:none;color:var(--text3);font-size:16px;cursor:pointer;font-family:inherit;transition:transform .15s,opacity .15s;line-height:1;flex-shrink:0}.pwa-banner-dismiss:hover{color:var(--text);background:var(--accent-l)}:root:not([data-theme=dark]) #pwaInstallBanner .pwa-banner-inner{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
