:root{--paper-cream: #f7f3ea;--paper-ruled: #f5f0e4;--paper-shadow: rgba(80, 60, 20, .13);--ink-navy: #1c2340;--ink-default: #1c2340;--sidebar-bg: rgba(247, 243, 234, .72);--sidebar-border: rgba(180, 160, 110, .25);--app-bg: #ede8dc;--toolbar-bg: rgba(247, 243, 234, .88);--text-primary: #1c2340;--text-secondary: #5f563e;--text-muted: #6f6752;--accent: #a34f1e;--accent-strong: #9c4a17;--accent-light: #f0e0d4;--btn-bg: rgba(255, 255, 255, .6);--btn-border: rgba(180, 160, 110, .35);--btn-hover: rgba(192, 98, 42, .1);--input-bg: rgba(255, 255, 255, .55);--input-border: rgba(180, 160, 110, .3);--scrollbar: rgba(180, 160, 110, .3);--font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Devanagari", "Hind", sans-serif;--font-editorial: "Crimson Pro", "Noto Serif Devanagari", Georgia, serif;--font-canvas: "Caveat", cursive;--transition: all .22s cubic-bezier(.4, 0, .2, 1);--radius: 10px;--radius-lg: 16px;--bg: #ede8dc;--bg-alt: rgba(255, 255, 255, .5);--bg-hover: rgba(192, 98, 42, .08);--border-color: rgba(180, 160, 110, .3);--bg-primary: #f6f3eb;--bg-secondary: #eee9dc;--bg-card: #fdfbf5;--card-bg: #fdfbf5;--bg-surface: #ffffff;--surface-bg: rgba(255, 255, 255, .7);--font-mono: "Fira Code", Menlo, Consolas, Monaco, monospace;--sidebar-w: 300px}html.dark{--paper-cream: #1e1e2e;--paper-ruled: #1a1a2a;--paper-shadow: rgba(0, 0, 0, .4);--ink-navy: #e8e0d0;--ink-default: #e8e0d0;--sidebar-bg: rgba(20, 20, 35, .82);--sidebar-border: rgba(80, 80, 120, .3);--app-bg: #12121e;--toolbar-bg: rgba(20, 20, 35, .92);--text-primary: #e8e4d8;--text-secondary: #9890a8;--text-muted: #948da9;--accent: #e08050;--accent-strong: #ee9567;--accent-light: rgba(224, 128, 80, .12);--btn-bg: rgba(40, 40, 60, .6);--btn-border: rgba(80, 80, 120, .35);--btn-hover: rgba(224, 128, 80, .12);--input-bg: rgba(30, 30, 50, .6);--input-border: rgba(80, 80, 120, .35);--scrollbar: rgba(80, 80, 120, .3);--bg: #12121e;--bg-alt: rgba(40, 40, 60, .5);--bg-hover: rgba(224, 128, 80, .08);--border-color: rgba(80, 80, 120, .35);--bg-primary: #12121e;--bg-secondary: #1a1a2a;--bg-card: #181826;--card-bg: #181826;--bg-surface: #1e1e2e;--surface-bg: rgba(30, 30, 50, .7)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-ui);font-size:16px;color:var(--text-primary);background:var(--app-bg);transition:background .3s,color .3s;scroll-behavior:smooth}body{min-height:100vh;min-height:100dvh;overflow-x:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:4px}#toolbar{position:fixed;top:10px;left:14px;right:14px;height:52px;background:var(--toolbar-bg);-webkit-backdrop-filter:blur(28px) saturate(1.8);backdrop-filter:blur(28px) saturate(1.8);border:1px solid var(--sidebar-border);border-radius:9999px;box-shadow:0 8px 30px #00000014,0 2px 6px #00000008,inset 0 1px 1px #ffffff73;display:flex;align-items:center;padding:0 16px 0 14px;gap:10px;overflow:visible;scrollbar-width:none;-webkit-overflow-scrolling:touch;z-index:100;transition:all .25s cubic-bezier(.16,1,.3,1)}html.dark #toolbar{box-shadow:0 10px 32px #00000061,0 0 0 1px #ffffff14,inset 0 1px 1px #ffffff1f}#toolbar::-webkit-scrollbar{display:none}.logo-heading{margin:0;padding:0;font-size:inherit;font-weight:inherit;line-height:1;display:inline-flex;align-items:center}.logo{display:flex;align-items:center;gap:9px;font-family:var(--font-editorial, "Crimson Pro", Georgia, serif);font-size:21px;font-weight:600;color:var(--accent);letter-spacing:-.02em;margin-right:4px;flex-shrink:0;text-decoration:none;-webkit-user-select:none;user-select:none}.logo span{color:var(--text-primary);font-weight:400}.logo-img-wrapper{position:relative;width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--accent-light);box-shadow:0 2px 6px #0000001a;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,border-color .35s ease;flex-shrink:0}.logo-img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform .35s ease}.logo:hover .logo-img-wrapper{transform:scale(1.1) rotate(-4deg);border-color:var(--accent);box-shadow:0 4px 14px var(--accent-light)}.logo:hover .logo-img{transform:scale(1.24)}.toolbar-center-dock{display:flex;align-items:center;gap:6px;background:#ffffff80;border:1px solid rgba(180,160,110,.28);border-radius:9999px;padding:3px 6px;box-shadow:0 1px 4px #00000008,inset 0 1px .5px #fff9}html.dark .toolbar-center-dock{background:#ffffff0a;border-color:#ffffff14;box-shadow:0 1px 4px #0003,inset 0 1px .5px #ffffff14}.toolbar-cluster{display:flex;align-items:center;gap:3px}.toolbar-dock-divider{width:1px;height:18px;background:var(--sidebar-border);margin:0 3px;opacity:.6}#toolbar .btn.sm{font-size:12px;padding:5px 10px;border-radius:9999px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-weight:500;transition:all .18s cubic-bezier(.16,1,.3,1)}#toolbar .btn.sm:hover{background:#ffffffd9;color:var(--accent);border-color:#b4a06e4d;transform:translateY(-1px);box-shadow:0 2px 6px #0000000d}html.dark #toolbar .btn.sm:hover{background:#ffffff1a;color:#fff;border-color:#ffffff1f;box-shadow:0 2px 8px #0000004d}#toolbar .btn.sm:active{transform:translateY(0) scale(.97)}#toolbar .btn-icon{flex-shrink:0;stroke:currentColor;opacity:.82;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}#toolbar .btn.sm:hover .btn-icon{opacity:1;transform:scale(1.12)}.feature-progress-btn{gap:5px!important}.badge-score-pill{font-size:10px;font-weight:700;padding:1px 5px;border-radius:9999px;background:var(--accent-light);color:var(--accent);font-variant-numeric:tabular-nums}.studios-dropdown-wrapper{position:relative;display:inline-flex;align-items:center}.studios-dropdown-btn{display:inline-flex;align-items:center;gap:5px;background:#6366f114!important;color:var(--accent, #6366f1)!important;border:1px solid rgba(99,102,241,.22)!important;font-weight:600!important;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.studios-dropdown-btn:hover{background:#6366f126!important;border-color:var(--accent, #6366f1)!important;box-shadow:0 2px 10px #6366f133!important}.studios-dropdown-btn.active{background:var(--accent, #6366f1)!important;color:#fff!important;border-color:var(--accent, #6366f1)!important;box-shadow:0 4px 14px #6366f14d!important}.studios-dropdown-btn .dropdown-chevron{transition:transform .25s cubic-bezier(.34,1.56,.64,1);opacity:.8}.studios-dropdown-btn.active .dropdown-chevron{transform:rotate(180deg);opacity:1}.studios-dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;left:auto;transform:none;width:580px;max-width:92vw;background:#fffffff2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(180,160,110,.35);border-radius:16px;box-shadow:0 24px 50px -10px #00000038,0 0 0 1px #fff9;padding:16px;z-index:500;display:flex;flex-direction:column;gap:12px;animation:dropdownFadeSlideDown .2s cubic-bezier(.16,1,.3,1)}.studios-dropdown-menu.hidden{display:none!important}@keyframes dropdownFadeSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.studios-menu-header{display:flex;flex-direction:column;gap:3px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}.studios-menu-title-wrap{display:flex;align-items:center;justify-content:space-between}.studios-menu-title{font-size:13.5px;font-weight:700;color:var(--text-primary, #0f172a);letter-spacing:-.01em}.studios-menu-count{font-size:10.5px;font-weight:700;color:var(--accent, #6366f1);background:#6366f11a;padding:2px 7px;border-radius:9999px;text-transform:uppercase}.studios-menu-subtitle{font-size:11px;color:var(--text-muted, #64748b)}.studios-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:480px;overflow-y:auto}.studio-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.05);background:var(--bg-card, #ffffff);cursor:pointer;text-align:left;transition:all .18s cubic-bezier(.16,1,.3,1);width:100%}.studio-menu-item:hover{border-color:var(--accent, #6366f1);background:#6366f10a;transform:translateY(-1px);box-shadow:0 4px 12px #6366f11f}.studio-item-icon-box{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#6366f11a;color:var(--accent, #6366f1);flex-shrink:0;transition:transform .2s ease}.studio-menu-item:hover .studio-item-icon-box{transform:scale(1.1)}.studio-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.studio-item-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.studio-item-title{font-size:12.5px;font-weight:700;color:var(--text-primary, #0f172a)}.studio-item-badge{font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:4px;background:#0000000a;color:var(--text-muted, #64748b);letter-spacing:.03em}.studio-item-desc{font-size:10.5px;color:var(--text-muted, #64748b);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.dark .studios-dropdown-btn{background:#6366f126!important;color:#a5b4fc!important;border-color:#6366f14d!important}html.dark .studios-dropdown-btn.active{background:var(--accent, #6366f1)!important;color:#fff!important}html.dark .studios-dropdown-menu{background:#181826f5;border-color:#ffffff1a;box-shadow:0 24px 50px -10px #000000b3,0 0 0 1px #ffffff14}html.dark .studios-menu-header{border-bottom-color:#ffffff14}html.dark .studio-menu-item{background:#ffffff08;border-color:#ffffff0f}html.dark .studio-menu-item:hover{background:#6366f126;border-color:#6366f166}html.dark .studio-item-badge{background:#ffffff0f;color:var(--text-muted)}.toolbar-spacer{flex:1 1 auto;min-width:8px}.toolbar-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-telemetry-group{display:flex;align-items:center;gap:7px;flex-shrink:0}.toolbar-page-indicator{font-size:11.5px;font-weight:600;color:var(--text-muted);padding:4px 11px;border-radius:9999px;background:#0000000a;letter-spacing:.02em;font-feature-settings:"tnum"}html.dark .toolbar-page-indicator{background:#ffffff0f}.lang-pill{font-family:inherit;font-weight:600;font-size:11.5px;width:34px;height:34px;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;padding:0!important}.dark-toggle{width:34px;height:34px;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;padding:0!important;transition:all .2s cubic-bezier(.16,1,.3,1)}.dark-toggle:hover{transform:rotate(15deg) scale(1.08)}@media(max-width:1560px){#toolbar .toolbar-cluster-studios .btn:not(.studios-dropdown-btn):not(.feature-progress-btn) .btn-label{display:none}#toolbar .toolbar-cluster-studios .btn:not(.studios-dropdown-btn):not(.feature-progress-btn){padding:5px 8px}}@media(max-width:1200px){#toolbar .toolbar-cluster-primary .btn .btn-label{display:none}}@media(max-width:1024px){#toolbar{top:6px;left:8px;right:8px;height:48px;padding:0 10px;gap:8px}#app{padding-top:68px}#canvas-area:before{top:68px}.toolbar-group{flex-shrink:0}}@media(max-width:768px){#toolbar{left:6px;right:6px;padding:0 6px;gap:6px;overflow:hidden}#toolbar .toolbar-center-dock{flex:1 1 auto;min-width:0;max-width:fit-content;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}#toolbar .toolbar-center-dock::-webkit-scrollbar{display:none}#toolbar .toolbar-cluster{flex-shrink:0}#toolbar .toolbar-cluster-primary .btn .btn-label,#toolbar .toolbar-spacer{display:none}#toolbar .toolbar-telemetry-group{margin-left:auto;flex-shrink:0;gap:5px}.toolbar-page-indicator{display:none}}@media(max-width:640px){.logo-text,#toolbar #btn-about,#toolbar .btn .btn-label{display:none}#toolbar .btn.sm{min-height:32px;height:32px;padding:4px 6px}#toolbar .lang-pill,#toolbar .dark-toggle{width:32px;height:32px;min-width:32px}}.btn{font-family:var(--font-ui);font-size:14px;font-weight:400;color:var(--text-primary);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--radius);padding:7px 14px;cursor:pointer;transition:var(--transition);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-icon,.tab-icon{display:inline-block;vertical-align:middle;flex-shrink:0;stroke:currentColor;opacity:.88;transition:transform .18s cubic-bezier(.34,1.56,.64,1),opacity .18s ease}.btn:hover .btn-icon,.btn:hover .tab-icon,.cs-tab-btn:hover .tab-icon,.circ-tab-btn:hover .tab-icon,.dsa-tab-btn:hover .tab-icon,.music-tab-btn:hover .tab-icon,.graph-tab-btn:hover .tab-icon,.sync-tab-btn:hover .tab-icon,.style-input-tab:hover .tab-icon,.customizer-tab:hover .tab-icon{opacity:1;transform:scale(1.1)}.cs-tab-btn,.circ-tab-btn,.dsa-tab-btn,.music-tab-btn,.graph-tab-btn,.sync-tab-btn,.style-input-tab,.customizer-tab{display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{opacity:.88;color:#fff;transform:translateY(-1px)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{opacity:.88;color:#fff}.btn-render{background:linear-gradient(135deg,#c05822,#9e4314)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important;font-weight:600!important;box-shadow:0 4px 14px #c0622a59,inset 0 1px #fff3!important;letter-spacing:.02em;padding:8px 18px!important;border-radius:8px!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.btn-render:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #c0622a7a,inset 0 1px #ffffff4d!important;filter:brightness(1.05)}.btn-render:active{transform:translateY(0) scale(.98)!important}.btn.secondary{background:transparent;border:1px solid var(--btn-border)}.btn.secondary:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}.btn.sm{font-size:12px;padding:5px 10px}.btn.link-btn{background:var(--accent-light);border:1px solid rgba(180,160,110,.3);border-radius:12px;color:var(--accent-strong);text-decoration:none;padding:1px 7px;margin-left:8px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.02em;transition:all .18s ease}.btn.link-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}.btn.icon-btn{padding:7px 10px;min-width:36px;justify-content:center}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}#app{display:grid;grid-template-columns:300px 1fr;height:100vh;padding-top:76px;transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1)}#sidebar{background:var(--sidebar-bg);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);border-right:1px solid var(--sidebar-border);box-shadow:inset -1px 0 #ffffff40,4px 0 24px #00000008;overflow-y:auto;overflow-x:hidden;padding:16px 0 40px;transition:width .28s cubic-bezier(.4,0,.2,1),padding .22s ease,border-color .22s ease,background .3s,transform .3s cubic-bezier(.4,0,.2,1)}html.dark #sidebar{box-shadow:inset -1px 0 #ffffff0d,8px 0 32px #00000040}.sb-section{border-bottom:1px solid var(--sidebar-border);overflow:hidden}.sb-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 18px;cursor:pointer;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:none;border:none;-webkit-user-select:none;user-select:none;transition:var(--transition)}.sb-section-header:hover{background:var(--btn-hover);color:var(--accent)}.sb-header-title{display:inline-flex;align-items:center;gap:9px}.sb-header-icon{flex-shrink:0;stroke:var(--accent);opacity:.85;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease}.sb-section-header:hover .sb-header-icon{transform:scale(1.12);opacity:1}.sb-arrow{font-size:9px;transition:transform .22s ease;color:var(--text-muted)}.sb-section.collapsed .sb-arrow{transform:rotate(-90deg)}.sb-body{padding:6px 18px 18px;max-height:1200px;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),padding .22s ease}.sb-section.collapsed .sb-body{max-height:0;padding-top:0;padding-bottom:0}.sb-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:7px;margin-top:13px}.sb-label:first-child{margin-top:4px}.sb-label .val{color:var(--accent-strong);background:var(--accent-light);font-weight:600;font-size:11px;font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:6px;border:1px solid rgba(180,160,110,.25);min-width:28px;text-align:center;display:inline-block;letter-spacing:.02em;transition:all .2s ease}html.dark .sb-label .val{border-color:#e080504d}input[type=range]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#b4a06e4d;border-radius:4px;outline:none;cursor:pointer;transition:background .2s ease}html.dark input[type=range]{background:#ffffff26}input[type=range]:hover{background:#b4a06e73}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2.5px solid var(--accent);cursor:pointer;box-shadow:0 2px 6px #0000002e,0 0 0 2px var(--accent-light);transition:transform .15s ease,box-shadow .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 3px 8px #00000040,0 0 0 4px var(--accent-light)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2.5px solid var(--accent);cursor:pointer;box-shadow:0 2px 6px #0000002e,0 0 0 2px var(--accent-light);transition:transform .15s ease,box-shadow .15s ease}input[type=range]::-moz-range-thumb:hover{transform:scale(1.18);box-shadow:0 3px 8px #00000040,0 0 0 4px var(--accent-light)}input[type=text],input[type=password],textarea{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:8px 10px;outline:none;transition:var(--transition);resize:none}#text-input{min-height:125px;line-height:1.6;font-size:13.5px;padding:11px 13px;border-radius:10px;box-shadow:inset 0 1px 3px #0000000a}input[type=text]:focus,input[type=password]:focus,textarea:focus{border-color:var(--accent);background:var(--input-bg);box-shadow:0 0 0 3px var(--accent-light)}.btn-handfonted-studio-cta{width:100%;margin-top:10px;margin-bottom:8px;padding:9px 14px;border-radius:9px;background:linear-gradient(135deg,#a34f1e1f,#a34f1e0a);border:1px solid rgba(163,79,30,.35);color:var(--accent-strong);font-weight:600;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;letter-spacing:.01em;box-shadow:0 2px 6px #a34f1e14;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-handfonted-studio-cta:hover{background:linear-gradient(135deg,#a34f1e33,#a34f1e14);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #a34f1e2e}.btn-handfonted-studio-cta:active{transform:translateY(0) scale(.98)}html.dark .btn-handfonted-studio-cta{background:linear-gradient(135deg,#e0805033,#e080500f);border-color:#e0805066;color:#ffb88c}input[type=file]{width:100%;font-size:11.5px;color:var(--text-muted);cursor:pointer;margin-top:4px}input[type=file]::file-selector-button{font-family:var(--font-ui);font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--text-primary);cursor:pointer;transition:all .18s ease;margin-right:8px}input[type=file]::file-selector-button:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border:1px solid var(--btn-border);border-radius:6px;padding:2px;cursor:pointer;background:var(--input-bg)}select{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius);color:var(--text-primary);font-size:13px;padding:8px 10px;outline:none;cursor:pointer;transition:var(--transition);font-family:var(--font-ui)}select:focus{border-color:var(--accent)}.color-row{display:flex;align-items:center;gap:10px}.color-row{display:flex;align-items:center;gap:12px}.color-row input[type=color]{flex-shrink:0}.color-row span{font-size:12px;color:var(--text-secondary)}.ink-specimen-row{background:var(--btn-bg);border:1px solid var(--btn-border);padding:8px 12px;border-radius:12px;box-shadow:inset 0 1px #fff6,0 1px 3px #0000000a}html.dark .ink-specimen-row{box-shadow:inset 0 1px #ffffff0f,0 2px 6px #00000040}.custom-ink-well{position:relative;width:30px;height:30px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--surface-bg),0 0 0 3.5px var(--btn-border),0 2px 6px #0000001f;flex-shrink:0}.custom-ink-well input[type=color]{position:absolute;top:-9px;left:-9px;width:48px;height:48px;border:none;cursor:pointer;background:transparent}.ink-color-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.ink-color-title{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--text-muted)}.ink-color-hex{font-size:12.5px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ink-presets-row{display:flex;gap:8px;margin-top:10px;justify-content:space-between;align-items:center}.ink-well-btn{width:28px;height:28px;min-width:28px;min-height:28px;aspect-ratio:1 / 1;border-radius:50%;padding:0!important;flex-shrink:0;background:var(--input-bg);border:1.5px solid var(--btn-border);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,border-color .22s ease;box-shadow:0 1px 3px #00000014}.ink-well-btn:hover{transform:translateY(-2px) scale(1.1);border-color:var(--accent);box-shadow:0 4px 10px #00000026}.ink-drop-core{width:18px;height:18px;min-width:18px;min-height:18px;aspect-ratio:1 / 1;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(circle at 35% 30%,#ffffff73,#fff0 65%);box-shadow:inset 0 1px 2px #00000059,0 1px 2px #00000026;transition:transform .2s ease}.ink-nib-icon{display:block;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.ink-presets-row button[data-ink].active-ink,.ink-well-btn.active-ink{transform:scale(1.16);border-color:var(--accent);outline:none;box-shadow:0 0 0 2px var(--surface-bg),0 0 0 4.5px var(--accent),0 4px 12px #0003;background:var(--surface-bg)}html.dark .ink-presets-row button[data-ink].active-ink,html.dark .ink-well-btn.active-ink{box-shadow:0 0 0 2px var(--bg-card),0 0 0 4.5px var(--accent),0 4px 14px #00000073}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-primary);-webkit-user-select:none;user-select:none;transition:var(--transition)}.checkbox-label:hover{color:var(--accent)}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--input-border);border-radius:4px;background:var(--input-bg);transition:var(--transition);flex-shrink:0}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--accent);border-color:var(--accent)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.checkbox-text{flex:1}.btn-gallery-featured{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:12px;padding:9px 12px;border-radius:10px;background:linear-gradient(135deg,#a34f1e24,#a34f1e0a);border:1px solid rgba(163,79,30,.35);color:var(--accent-strong);transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #0000000a}.btn-gallery-featured:hover{background:linear-gradient(135deg,#a34f1e38,#a34f1e14);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #a34f1e29}html.dark .btn-gallery-featured{background:linear-gradient(135deg,#e080502e,#e080500d);border-color:#e0805066;color:#ffb88c}.paper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.paper-btn{font-family:var(--font-ui);font-size:10px;letter-spacing:-.02em;font-weight:500;padding:7px 5px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s cubic-bezier(.16,1,.3,1);text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:5px;box-shadow:inset 0 1px #fff6,0 1px 2px #00000008;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.dark .paper-btn{box-shadow:inset 0 1px #ffffff0d,0 1px 2px #00000026}.paper-btn:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent-strong);transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.paper-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-strong);font-weight:600;box-shadow:0 0 0 1.5px var(--accent),0 2px 6px #a34f1e26;transform:translateY(-1px)}.paper-swatch{width:12px;height:12px;min-width:12px;min-height:12px;aspect-ratio:1 / 1;border-radius:3px;border:1px solid rgba(0,0,0,.14);flex-shrink:0;box-shadow:0 1px 2px #00000014}html.dark .paper-swatch{border-color:#fff3}.swatch-ruled{background:repeating-linear-gradient(to bottom,#fdfbf7,#fdfbf7 2px,#94a3b8 2px,#94a3b8 3px)}.swatch-clean{background:#fffdf9}.swatch-plain{background:#fff}.swatch-grid{background-color:#f8f9fa;background-image:linear-gradient(to right,#cbd5e1 1px,transparent 1px),linear-gradient(to bottom,#cbd5e1 1px,transparent 1px);background-size:3.5px 3.5px}.swatch-legal{background:#fef08a;border-left:2.5px solid #dc2626!important}.swatch-vintage{background:linear-gradient(135deg,#f4ecd8,#dfcea8)}.swatch-dark{background:#181824;border-color:#3f3f5a}.swatch-dot-grid{background-color:#fafafc;background-image:radial-gradient(#64748b .7px,transparent .7px);background-size:3.5px 3.5px}.swatch-engineering{background:#ecfdf5;background-image:linear-gradient(to right,#93c5fd 1px,transparent 1px),linear-gradient(to bottom,#93c5fd 1px,transparent 1px);background-size:3.5px 3.5px}.swatch-music{background:#fff;background-image:repeating-linear-gradient(to bottom,transparent,transparent 1.5px,#334155 1.5px,#334155 2.5px)}.swatch-dated{background:#fbf9f5;border-top:2.5px solid #a8481c!important}.swatch-isometric{background:#f8fafc;background-image:radial-gradient(#475569 .7px,transparent .7px);background-size:4px 4px}.swatch-hexagonal{background:#f1f5f9}.swatch-calligraphy{background:repeating-linear-gradient(55deg,transparent,transparent 3px,#cbd5e1 3px,#cbd5e1 4px),#fefefe}.swatch-bujo{background-color:#faf5ee;background-image:radial-gradient(#78716c .75px,transparent .75px);background-size:3.5px 3.5px}.swatch-storyboard{background:#f8fafc;border:1.5px solid #334155}.swatch-dark-neon{background:#09090b;border-color:#06b6d4;box-shadow:0 0 3px #06b6d4b3}.btn-designer-toggle{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11.5px;font-weight:500;border-radius:9px;background:var(--input-bg);border:1px dashed var(--btn-border);color:var(--text-secondary);transition:all .2s ease}.btn-designer-toggle:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}.theme-pack-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.theme-pill{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:11px;font-weight:500;border-radius:7px;background:var(--btn-bg);border:1px solid var(--btn-border);transition:all .18s ease;justify-content:flex-start}.theme-pill:hover{background:var(--btn-hover);border-color:var(--accent);transform:translateY(-1px)}.theme-pill.active{border-color:var(--accent);background:var(--btn-hover);box-shadow:0 0 0 1.5px var(--accent)}.theme-dots{display:inline-flex;position:relative;width:14px;height:10px;flex-shrink:0}.theme-dots .td-paper{width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.15);position:absolute;left:0;top:0;z-index:1}.theme-dots .td-ink{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.3);position:absolute;right:0;top:0;z-index:2;box-shadow:0 1px 2px #0003}.ai-btn-group{display:flex;flex-direction:column;gap:8px;margin-top:6px}.btn-record-hero{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:10px 14px;border-radius:11px;background:linear-gradient(135deg,#a8481c,#823410);color:#fff!important;font-weight:600;font-size:13px;letter-spacing:-.01em;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 14px #a8481c47,inset 0 1px #ffffff4d;transition:all .22s cubic-bezier(.16,1,.3,1);cursor:pointer}.btn-record-hero:hover{background:linear-gradient(135deg,#ba5322,#913a13);transform:translateY(-1.5px);box-shadow:0 6px 18px #a8481c61}.btn-record-hero:active{transform:translateY(0) scale(.98)}.ai-tools-bento{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ai-tool-card{display:flex;align-items:center;gap:7px;padding:8px 10px;font-size:11.5px;font-weight:500;border-radius:9px;background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-primary);text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff59,0 1px 2px #00000008}html.dark .ai-tool-card{box-shadow:inset 0 1px #ffffff0d,0 1px 2px #0003}.ai-tool-card:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.ai-tool-card:active{transform:translateY(0) scale(.98)}.ai-tool-card-wide{grid-column:span 2;justify-content:center}.btn-icon-svg{flex-shrink:0;stroke:currentColor;opacity:.88;transition:transform .2s ease}.ai-tool-card:hover .btn-icon-svg,.export-btn:hover .btn-icon-svg{transform:scale(1.12);opacity:1}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.export-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 6px;font-size:11.5px;font-weight:500;border-radius:8px;background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-secondary);transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff59,0 1px 2px #00000008}.export-btn:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.export-btn.primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 2px 6px #a34f1e40}.export-btn.primary:hover{color:#fff;box-shadow:0 4px 10px #a34f1e59}.export-toast{position:fixed;bottom:80px;left:calc(var(--sidebar-w, 300px) / 2 + 50%);transform:translate(-50%);padding:10px 20px;border-radius:40px;font-family:var(--font-ui);font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid transparent;z-index:9999;pointer-events:none;transition:opacity .35s ease,left .28s cubic-bezier(.4,0,.2,1);white-space:nowrap}.export-toast--info{background:var(--toolbar-bg);border-color:var(--sidebar-border);color:var(--text-secondary)}.export-toast--success{background:#28b4642e;border-color:#28b46459;color:#1a8a50}.export-toast--warn{background:#c8961429;border-color:#c8961459;color:#8a6010}.export-toast--error{background:#dc3c3c29;border-color:#dc3c3c59;color:#b02020}html.dark .export-toast--success{color:#4ecf88}html.dark .export-toast--warn{color:#d4aa44}html.dark .export-toast--error{color:#f07070}@media(max-width:768px){.export-toast{left:50%;transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}#canvas-area{background:var(--app-bg);overflow-y:auto;overflow-x:auto;display:flex;flex-direction:column;align-items:center;padding:32px 24px 80px;gap:24px;position:relative;transition:background .3s}@media(min-width:769px){#canvas-area{overflow-x:hidden}}#canvas-area:before{content:"";position:fixed;top:76px;left:var(--sidebar-w, 300px);right:0;bottom:0;background-image:radial-gradient(circle,var(--sidebar-border) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;opacity:.5;z-index:0;transition:left .28s cubic-bezier(.4,0,.2,1)}#canvas-area:after{content:"";position:fixed;top:76px;left:var(--sidebar-w, 300px);right:0;bottom:0;background:radial-gradient(ellipse at 50% 25%,rgba(255,255,255,.45) 0%,transparent 70%);pointer-events:none;opacity:.7;z-index:0;transition:left .28s cubic-bezier(.4,0,.2,1)}html.dark #canvas-area:after{background:radial-gradient(ellipse at 50% 20%,rgba(99,102,241,.05) 0%,transparent 65%)}#page-container{display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;z-index:1}#page-container.infinite-board{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:48px;width:max-content;min-width:100%;padding:64px;will-change:transform}#canvas-area.infinite-mode{overflow:hidden;cursor:default}#canvas-area.infinite-mode.space-held{cursor:grab}#canvas-area.infinite-mode.is-panning{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.page-wrapper{position:relative;display:flex;flex-direction:column;align-items:center}.page-label{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:6px;letter-spacing:.06em}.canvas-container{position:relative;display:inline-block;box-shadow:0 1px 3px #0000000a,0 4px 10px #503c140f,0 12px 28px #503c141f,0 24px 48px -12px #503c1414;border-radius:3px;border:1px solid rgba(180,160,110,.2);max-width:100%;transition:box-shadow .3s ease}html.dark .canvas-container{box-shadow:0 1px 3px #0000004d,0 8px 24px #00000073,0 24px 48px #0000008c;border-color:#ffffff14}.canvas-page{display:block;max-width:100%}.page-editor{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;border:none;outline:none;background:transparent;color:transparent;caret-color:#1c2340;text-align:left;white-space:pre-wrap;word-wrap:break-word;overflow:hidden;box-sizing:border-box;cursor:text;-webkit-user-select:text;user-select:text;border-radius:2px;transition:box-shadow .2s ease}.margin-text-overlay{position:absolute;top:0;left:0;width:80px;height:100%;padding:20px 8px;z-index:3;border:none;outline:none;background:transparent;color:var(--ink-default);font-family:var(--font-canvas);font-size:14px;text-align:left;white-space:pre-wrap;word-wrap:break-word;overflow:hidden;box-sizing:border-box;cursor:text;-webkit-user-select:text;user-select:text;caret-color:var(--ink-default);line-height:1.4;opacity:.85}.margin-text-overlay:focus{outline:none;opacity:1}html.dark .margin-text-overlay{color:var(--ink-default);caret-color:var(--ink-default)}.page-editor:focus{box-shadow:inset 0 0 0 2px #c0622a59}html.dark .page-editor{caret-color:#e8e0d0}html.dark .page-editor:focus{box-shadow:inset 0 0 0 2px #e0805066}#pen-cursor{position:fixed;width:22px;height:22px;pointer-events:none;z-index:9999;transform:translate(-4px,-20px);display:none}#page-nav{position:fixed;bottom:22px;left:calc(var(--sidebar-w, 300px) / 2 + 50%);transform:translate(-50%);display:flex;align-items:center;gap:8px;background:var(--toolbar-bg);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border:1px solid var(--sidebar-border);border-radius:40px;padding:5px 12px;z-index:50;box-shadow:0 4px 20px #00000017,0 1px 3px #0000000a,inset 0 1px 1px #ffffff73;transition:left .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),box-shadow .2s ease}html.dark #page-nav{box-shadow:0 6px 24px #0006,inset 0 1px 1px #ffffff1a}#page-nav:hover{box-shadow:0 8px 30px #00000024}#page-nav .btn.icon-btn{width:28px;height:28px;min-width:28px;padding:0;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;transition:transform .14s ease,background .14s ease}#page-nav .btn.icon-btn:active{transform:scale(.92)}body.study-mode #page-nav{left:50%;transform:translate(-50%)}#page-indicator{font-size:12.5px;font-weight:600;color:var(--text-secondary);min-width:76px;text-align:center;letter-spacing:.02em;font-variant-numeric:tabular-nums}.nav-divider{width:1px;height:18px;background:var(--sidebar-border);margin:0 3px;opacity:.75}.zoom-pill{background:var(--btn-bg);border:1px solid var(--sidebar-border);border-radius:14px;padding:3px 8px;font-size:11.5px;font-weight:600;font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text-secondary);cursor:pointer;min-width:46px;text-align:center;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .14s ease}.zoom-pill:hover{background:var(--accent-light, rgba(99, 102, 241, .12));color:var(--accent);border-color:var(--accent)}.zoom-pill:active{transform:scale(.94)}#page-nav #btn-view-mode-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.dark-toggle{background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:40px;padding:5px 12px;cursor:pointer;font-size:16px;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;justify-content:center;gap:5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dark-toggle:hover{border-color:var(--accent);transform:rotate(18deg) scale(1.08);box-shadow:0 4px 12px #0000001a}.dark-toggle:active{transform:rotate(0) scale(.96)}#hamburger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;padding:0;border-radius:50%;flex-shrink:0;border:1px solid var(--btn-border);background:var(--btn-bg);transition:all .2s cubic-bezier(.16,1,.3,1)}#hamburger:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}body.sidebar-collapsed #app{grid-template-columns:0 1fr}body.sidebar-collapsed #sidebar{overflow:hidden;width:0;padding:0;border-right-width:0}body.sidebar-collapsed{--sidebar-w: 0px}@media(max-width:768px){#app{grid-template-columns:1fr;padding-top:64px}#sidebar{position:fixed;top:64px;left:0;bottom:0;width:300px;z-index:90;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}#sidebar.open{transform:translate(0)}body.sidebar-collapsed #app{grid-template-columns:1fr}body.sidebar-collapsed #sidebar{width:300px;padding:16px 0 40px;border-right-width:1px;overflow-y:auto}#canvas-area{padding:16px 8px 80px}#canvas-area:before{left:0}#page-nav{left:50%;transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-wrapper{animation:fadeIn .35s ease forwards}#ai-status{font-size:12px;color:var(--accent);text-align:center;padding:4px 0;min-height:20px;font-style:italic}#text-input{width:100%;min-height:110px;font-family:Caveat,cursive;font-size:17px;line-height:1.5;resize:vertical}.sb-divider{height:1px;background:var(--sidebar-border);margin:8px 0}.alignment-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;margin-bottom:12px}.align-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:8px;cursor:pointer;transition:var(--transition);font-family:var(--font-ui);font-size:10px;color:var(--text-secondary)}.align-btn:hover{background:var(--btn-hover);border-color:var(--accent)}.align-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.align-preview{width:100%;height:32px;position:relative;display:flex;flex-direction:column;justify-content:space-around;padding:2px 0}.align-line{width:100%;height:1px;background:var(--sidebar-border)}.align-text{position:absolute;left:50%;transform:translate(-50%);font-size:14px;font-weight:600;color:var(--text-primary);line-height:1}.align-text.align-top{top:2px}.align-text.align-middle{top:50%;transform:translate(-50%,-50%)}.align-text.align-bottom{bottom:2px}.drop-zone{border:1.5px dashed rgba(180,160,110,.4);border-radius:var(--radius);padding:16px 14px;text-align:center;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);background:#ffffff59;display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:12px}html.dark .drop-zone{background:#ffffff08;border-color:#ffffff1f}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:0 4px 12px #a34f1e14}.drop-icon{font-size:20px;color:var(--accent);margin-bottom:2px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.drop-zone:hover .drop-icon{transform:translateY(-2px) scale(1.1)}.drop-text{font-size:12px;color:var(--text-secondary)}.browse-link{color:var(--accent);text-decoration:underline;font-weight:600}.drop-formats{font-size:10px;color:var(--text-muted)}.upload-status{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--accent);font-style:italic}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.modal-overlay,.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;transition:opacity .25s ease,visibility .25s ease;visibility:visible;opacity:1}.modal-overlay.hidden,.modal-backdrop.hidden{opacity:0;visibility:hidden;pointer-events:none;display:flex}body.modal-open{overflow:hidden}.modal-card{background:var(--bg-card, #fdfbf5);border:1px solid var(--border-color);box-shadow:0 24px 48px -12px #0000002e,0 4px 12px #0000000d,inset 0 1px 1px #fff9;border-radius:16px;width:750px;max-width:90vw;max-height:90vh;padding:24px;display:flex;flex-direction:column;color:var(--text-primary);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow-y:auto;overflow-x:hidden}.modal-card::-webkit-scrollbar{width:8px}.modal-card::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.modal-card::-webkit-scrollbar-thumb{background:#c0622a4d;border-radius:4px}.modal-card::-webkit-scrollbar-thumb:hover{background:#c0622a80}.modal-overlay.hidden .modal-card,.modal-backdrop.hidden .modal-card{transform:scale(.95)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-family:var(--font-editorial, "Crimson Pro", Georgia, serif);font-size:21px;font-weight:700;color:var(--accent);letter-spacing:-.015em;text-wrap:balance}.modal-close{background:var(--bg-hover, rgba(0, 0, 0, .04));border:1px solid var(--border-color);width:32px;height:32px;border-radius:8px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .16s ease}.modal-close:hover{background:var(--btn-hover);color:var(--accent);transform:translateY(-1px)}.modal-close:active{transform:scale(.92)}.modal-tabs{display:flex;gap:8px;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:16px}.tab-btn{background:none;border:none;padding:8px 16px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .2s}.tab-btn:hover{color:var(--accent)}.tab-btn.active{color:var(--accent-strong);border-bottom-color:var(--accent);font-weight:600}.sheet-tabs{display:flex;gap:4px;margin-bottom:8px}.sheet-tab{flex:1;font-family:var(--font-ui);font-size:11px;padding:6px 4px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:var(--transition);text-align:center}.sheet-tab:hover,.sheet-tab.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-strong)}.font-progress-bar{margin-bottom:16px;padding:12px;background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:8px}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.progress-label strong{color:var(--accent);font-weight:600}.progress-track{width:100%;height:8px;background:#00000014;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#e08050);border-radius:4px;transition:width .3s ease}.brush-control{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px;background:#00000005;border-radius:6px;width:100%;flex-wrap:wrap}.brush-label{font-size:12px;color:var(--text-secondary);min-width:100px;white-space:nowrap}#brush-size-val{color:var(--accent);font-weight:600}#brush-size-slider{flex:1}.stylus-pressure-badge{font-size:10px;padding:2px 7px;border-radius:4px;background:#4361ee14;color:#3b5bdb;font-weight:600;border:1px solid rgba(67,97,238,.18);letter-spacing:.02em}.char-preview{margin-top:14px;padding:12px 14px;background:#00000005;border:1px solid rgba(0,0,0,.08);border-radius:8px;display:flex;flex-direction:column;gap:8px;width:100%}.specimen-header{display:flex;justify-content:space-between;align-items:center;width:100%;flex-wrap:wrap;gap:6px}.specimen-quick-presets{display:flex;gap:4px}.specimen-preset-btn{font-family:var(--font-ui);font-size:10.5px;padding:2px 7px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.specimen-preset-btn:hover,.specimen-preset-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-strong)}.specimen-input-row{width:100%}.specimen-input-row input{width:100%;padding:6px 10px;font-size:12px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#fff;color:var(--text-primary);outline:none;font-family:var(--font-ui)}.specimen-input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.specimen-canvas-wrap{width:100%;background:#fdfbf7;border:1px solid rgba(0,0,0,.09);border-radius:6px;overflow-x:auto;overflow-y:hidden;padding:2px}.specimen-single-glyph{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary)}.glyph-mini-label{font-size:11px;font-weight:600}.preview-label{font-size:11px;color:var(--text-secondary);font-weight:600}#char-preview-canvas{border:1px solid rgba(0,0,0,.1);border-radius:4px;background:#faf8f3;width:36px;height:36px}.project-actions{margin-top:16px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08);display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.sketch-actions{display:flex;gap:10px;margin-top:14px;width:100%;justify-content:center}.sketch-actions .btn{flex:1;max-width:200px}.tab-panel.hidden{display:none!important}.modal-desc{font-size:12px;color:var(--text-secondary);margin-bottom:14px;line-height:1.4}.sketch-container{display:flex;gap:20px;min-height:400px;max-height:500px}.sketch-sidebar{width:240px;display:flex;flex-direction:column;background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:10px;flex-shrink:0}.char-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;overflow-y:auto;flex:1;padding-right:4px;max-height:350px}.char-grid::-webkit-scrollbar{width:4px}.char-grid::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.char-btn{background:#ffffffb3;border:1px solid rgba(0,0,0,.08);border-radius:4px;height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.char-btn:hover{border-color:var(--accent);color:var(--accent)}.char-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.char-btn.drafted{border-color:#e6643266;background:#e6643214}.sketch-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0}.sketch-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}.canvas-wrapper{position:relative;width:258px;height:258px;background:#faf8f3;border:1px solid rgba(139,90,43,.22);border-radius:8px;box-shadow:inset 0 1px 4px #0000000d,0 2px 8px #0000000a;overflow:hidden;cursor:crosshair}.drafting-guides-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;transition:opacity .2s ease}.drafting-guides-svg.hidden{opacity:0;visibility:hidden}.guide-line{stroke-width:1;stroke-dasharray:4,3}.guide-line.guide-ascender{stroke:#4361ee40}.guide-line.guide-mean{stroke:#4361ee59}.guide-line.guide-base{stroke:#dc3c1e80;stroke-dasharray:none;stroke-width:1.5}.guide-line.guide-descender{stroke:#4361ee40}.guide-line.guide-center{stroke:#0000001f;stroke-dasharray:2,4}.guide-line.guide-slant{stroke:#8b5a2b2e;stroke-dasharray:2,4}#sketch-canvas{position:absolute;top:0;left:0;z-index:2;background:transparent}#canvas-guide-letter{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:130px;color:#0000000a;font-family:Crimson Pro,Georgia,serif;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1}.template-upload-zone{border:2px dashed rgba(139,90,43,.25);border-radius:12px;padding:30px;text-align:center;cursor:pointer;background:#00000003;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--text-secondary);transition:all .2s}.template-upload-zone:hover{background:#8b5a2b08;border-color:var(--accent)}.aligner-layout{display:flex;gap:20px;align-items:flex-start;margin-top:16px}.aligner-canvas-wrapper{background:#00000008;border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden;width:360px;height:360px;flex-shrink:0}#aligner-canvas{display:block}.aligner-controls{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.control-group{display:flex;flex-direction:column;gap:4px}.control-group label{font-size:11px;font-weight:600;color:var(--text-secondary);display:flex;justify-content:space-between}.control-group input[type=range]{width:100%}.btn-glyph-gallery-toggle{margin-bottom:8px;font-size:11px;width:100%;justify-content:center}.nib-control-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:10px;gap:8px;flex-wrap:wrap}.nib-btn-group{display:inline-flex;background:#0000000a;border-radius:6px;padding:2px;gap:2px;border:1px solid rgba(0,0,0,.06)}.nib-btn{border:none;background:transparent;font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.nib-btn:hover{color:var(--text-primary)}.nib-btn.active{background:var(--bg-card, #ffffff);color:var(--accent);box-shadow:0 1px 3px #0000001a}.ink-swatch-picker{display:flex;gap:6px;align-items:center}.ink-swatch-btn{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.8);cursor:pointer;box-shadow:0 0 0 1px #00000026;transition:transform .15s}.ink-swatch-btn:hover{transform:scale(1.15)}.ink-swatch-btn.active{box-shadow:0 0 0 2px var(--accent);transform:scale(1.15)}.font-metrics-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:8px 10px;margin-top:10px}.font-metrics-panel .metric-group label{font-size:10px;font-weight:600;color:var(--text-secondary);display:flex;justify-content:space-between}.font-metrics-panel .metric-group input[type=range]{width:100%}.specimen-multiline-wrap{margin-top:10px;background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:8px;width:100%}.specimen-multiline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.multiline-title{font-size:11px;font-weight:600;color:var(--text-secondary)}#char-specimen-multiline-canvas{width:100%;height:auto;border-radius:4px;background:#fcfbf7;border:1px solid rgba(0,0,0,.06);display:block}.glyph-gallery-drawer{position:absolute;top:48px;right:16px;bottom:64px;left:16px;background:var(--bg-card, #ffffff);border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:0 20px 48px #00000038;z-index:10;display:flex;flex-direction:column;padding:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.glyph-gallery-drawer.hidden{display:none}.glyph-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}.glyph-gallery-header h4{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.gallery-sheet-filters{display:flex;gap:6px}.gallery-filter-btn{padding:4px 10px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid rgba(0,0,0,.12);background:transparent;cursor:pointer;color:var(--text-secondary);transition:all .15s}.gallery-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.glyph-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;overflow-y:auto;flex:1;padding-right:4px}.glyph-card{border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:6px;display:flex;flex-direction:column;align-items:center;background:#00000005;cursor:pointer;transition:all .15s;position:relative}.glyph-card:hover{border-color:var(--accent);background:#e664320d}.glyph-card.drafted{border-color:#2e7d3266;background:#2e7d320a}.glyph-card.missing{opacity:.75}.glyph-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.glyph-card-header{display:flex;justify-content:space-between;width:100%;font-size:11px;font-weight:700}.glyph-card-status{font-size:10px;color:var(--text-muted)}.glyph-card.drafted .glyph-card-status{color:#2e7d32;font-weight:900}.glyph-card-thumb{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:4px 0;background:#faf8f3;border-radius:4px;border:1px solid rgba(0,0,0,.04)}.glyph-card-thumb img{max-width:100%;max-height:100%;object-fit:contain}.glyph-thumb-placeholder{font-size:20px;color:#00000026;font-family:serif}.glyph-card-actions{display:flex;gap:4px;width:100%;justify-content:center}.btn-glyph-action{font-size:9px;padding:2px 6px;border-radius:3px;border:1px solid rgba(0,0,0,.1);background:#fff;cursor:pointer;color:var(--text-primary)}.btn-glyph-action.delete{color:#c62828;border-color:#c6282833}.btn-glyph-action.delete:hover{background:#ffebee}.btn-glyph-action.edit:hover{border-color:var(--accent);color:var(--accent)}html.dark .nib-btn-group{background:#ffffff0f;border-color:#ffffff1a}html.dark .nib-btn.active{background:#ffffff2e;color:#fff}html.dark .font-metrics-panel,html.dark .specimen-multiline-wrap{background:#ffffff08;border-color:#ffffff14}html.dark #char-specimen-multiline-canvas{background:#141420;border-color:#ffffff14}html.dark .glyph-gallery-drawer{background:#181826f5;border-color:#ffffff1a}html.dark .glyph-card{background:#ffffff08;border-color:#ffffff14}html.dark .glyph-card-thumb{background:#12121c;border-color:#ffffff0f}html.dark .glyph-thumb-placeholder{color:#fff3}html.dark .btn-glyph-action{background:#202030;border-color:#ffffff1f;color:#fff}html.dark .modal-overlay,html.dark .modal-backdrop{background:#000000a6}html.dark .modal-card{background:var(--bg-card, #181826);border-color:#ffffff14;box-shadow:0 28px 56px -12px #000000a6,0 4px 16px #0006,inset 0 1px 1px #ffffff14;color:var(--text-primary)}html.dark .modal-tabs{border-bottom-color:#ffffff14}html.dark .modal-footer,html.dark .modal-footer-styled{border-top-color:#ffffff14!important}html.dark .char-btn{background:#ffffff0a;border-color:#ffffff14;color:var(--text-secondary)}html.dark .char-btn:hover{color:var(--accent)}html.dark .char-btn.drafted{background:#e6643226}html.dark #canvas-guide-letter{color:#ffffff0a}html.dark .canvas-wrapper{background:#1a1a2a;border-color:#ffffff1a}html.dark .sketch-sidebar{background:#ffffff05;border-color:#ffffff0f}html.dark #custom-font-name{background:#ffffff0d!important;color:var(--text-primary);border-color:#ffffff26!important}html.dark .font-progress-bar,html.dark .char-preview,html.dark .brush-control{background:#ffffff08;border-color:#ffffff12}html.dark .progress-track{background:#ffffff1a}html.dark .tab-btn{color:var(--text-secondary)}html.dark .tab-btn.active{color:var(--accent-strong);border-bottom-color:var(--accent)}@media(min-width:1920px){.modal-card{width:950px;padding:32px}.sketch-container{min-height:450px;max-height:550px}.canvas-wrapper,#sketch-canvas{width:320px;height:320px}.sketch-sidebar{width:260px}.char-grid{grid-template-columns:repeat(7,1fr)}}@media(min-width:1024px)and (max-width:1919px){.modal-card{width:750px}}@media(max-width:1023px)and (min-width:768px){.modal-card{width:95vw;max-height:85vh;padding:20px;overflow-y:auto}.sketch-container{height:auto;flex-direction:column;gap:16px}.sketch-sidebar{width:100%;max-height:200px}.char-grid{grid-template-columns:repeat(10,1fr);max-height:140px}.canvas-wrapper,#sketch-canvas{width:280px;height:280px}.aligner-layout{flex-direction:column}.aligner-canvas-wrapper{width:100%;max-width:400px}}@media(max-width:767px)and (min-width:481px){.modal-card{width:95vw;max-height:90vh;padding:16px;overflow-y:auto}.modal-header h3{font-size:18px}.sketch-container{height:auto;flex-direction:column;gap:12px}.sketch-sidebar{width:100%;max-height:180px;padding:8px}.char-grid{grid-template-columns:repeat(8,1fr);gap:4px;max-height:120px}.canvas-wrapper,#sketch-canvas{width:240px;height:240px}.sketch-actions,.project-actions{flex-direction:column;width:100%}.template-actions{flex-direction:column!important}.aligner-layout{flex-direction:column}.modal-footer-styled{flex-direction:column;gap:12px}#custom-font-name{width:100%!important}}@media(max-width:480px){.modal-card{width:100vw;max-width:100vw;max-height:100vh;height:100vh;padding:12px;border-radius:0;overflow-y:auto}.modal-header h3{font-size:16px}.tab-btn{padding:8px;font-size:11px;flex:1}.sketch-container{height:auto;flex-direction:column;gap:10px}.sketch-sidebar{width:100%;max-height:150px;padding:6px}.char-grid{grid-template-columns:repeat(8,1fr);gap:3px;max-height:100px}.char-btn{height:28px;font-size:9px}.sketch-header{flex-direction:column;gap:6px;align-items:stretch}.canvas-wrapper{width:100%;max-width:280px;height:auto;aspect-ratio:1}#sketch-canvas{width:100%;height:100%}.sketch-actions,.project-actions{flex-direction:column;width:100%;gap:6px}.sketch-actions .btn,.project-actions .btn,#btn-build-font{width:100%}.template-actions{flex-direction:column!important;gap:8px!important}.aligner-layout{flex-direction:column}.modal-footer-styled{flex-direction:column;gap:10px}.font-name-input-group{width:100%;flex-direction:column}#custom-font-name{width:100%!important}}@media(hover:none)and (pointer:coarse){.char-btn{min-height:36px;min-width:36px}.btn{min-height:44px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px}}#page-indicator-toolbar{font-size:12px;color:var(--text-muted)}.action-buttons-row{margin-top:8px;display:flex;gap:6px}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;top:100%;left:0;background-color:var(--app-bg);background-image:linear-gradient(var(--sidebar-bg),var(--sidebar-bg));min-width:160px;box-shadow:0 8px 16px #0003;border:1px solid var(--sidebar-border);border-radius:8px;z-index:1000;margin-top:0}.action-buttons-row .dropdown-content{left:auto;right:0}.dropdown-content a{color:var(--text-primary);padding:10px 14px;text-decoration:none;display:block;font-size:13px;transition:background .2s}.dropdown-content a:hover{background-color:var(--accent-light);color:var(--accent)}.dropdown:hover .dropdown-content,.dropdown.open .dropdown-content{display:block}.sb-section:has(.dropdown:hover),.sb-section:has(.dropdown.open),.sb-section.dropdown-open,.sb-section:has(.dropdown:hover) .sb-body,.sb-section:has(.dropdown.open) .sb-body,.sb-section.dropdown-open .sb-body{overflow:visible}.btn-render,.btn-start{flex:1}.file-upload-wrapper{margin-top:12px}#file-upload,#template-image-input{display:none}#upload-status{display:none;flex-direction:column;align-items:stretch;gap:8px}.status-text-row{display:flex;align-items:center}#progress-container{display:none;width:100%;height:4px;background:#0000001a;border-radius:2px;overflow:hidden}#progress-bar{width:0%;height:100%;background:var(--accent);transition:width .2s ease}.font-caveat{font-family:Caveat}.font-indie-flower{font-family:Indie Flower}.font-shadows-into-light{font-family:Shadows Into Light}.font-patrick-hand{font-family:Patrick Hand}.font-kalam{font-family:Kalam}.font-amita{font-family:Amita}.font-noto-sans-devanagari{font-family:Noto Sans Devanagari}.font-noto-serif-devanagari{font-family:"Noto Serif Devanagari"}.font-hind{font-family:Hind}.font-tiro-devanagari{font-family:Tiro Devanagari Hindi}.font-baloo-2{font-family:"Baloo 2"}.font-martel{font-family:Martel}.font-roboto{font-family:Roboto,sans-serif}.font-arial{font-family:Arial,sans-serif}#font-upload{font-size:11px;color:var(--text-secondary);width:100%}#btn-handfonted-studio,#btn-reset-defaults{width:100%;font-size:11px}#btn-handfonted-studio{margin-top:10px}#btn-reset-defaults{margin-top:14px}.ink-presets-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.pen-grid{margin-top:10px;border:1px solid var(--input-border);border-radius:10px;padding:8px 10px;background:var(--input-bg);display:grid;gap:8px}.pen-grid-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pen-grid-row label{font-size:12px;color:var(--text-secondary)}.pen-grid-row input[type=color]{width:38px;height:26px;border:1px solid var(--input-border);border-radius:6px;background:transparent;padding:0}.pen-grid[aria-disabled=true]{opacity:.55}.sb-label-mt{margin-top:12px}.sb-label-sm{margin-top:8px}.animation-buttons-row{margin-top:10px;display:flex;gap:6px}.sketch-actions,.template-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}.sketch-actions{margin-top:12px}.template-actions{margin-bottom:12px}#btn-save-char{flex:1}.template-upload-icon{font-size:24px;color:var(--accent);margin-bottom:8px}#template-aligner-container{margin-top:16px}.modal-footer-styled{margin-top:20px;border-top:1px solid rgba(0,0,0,.1);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.font-name-input-group{display:flex;align-items:center;gap:8px}.font-name-label{font-size:12px;color:var(--text-secondary)}#custom-font-name{width:140px;padding:4px 8px;border-radius:4px;border:1px solid rgba(0,0,0,.15);background:#ffffffb3}#font-build-progress{margin-top:12px;padding:10px;border-radius:6px;background:#e664321a;text-align:center}.spinner-inline{display:inline-block;margin-right:8px;width:16px;height:16px;border-width:2px;border-top-color:var(--accent)}#font-build-status-text{font-size:12px;color:var(--accent)}@media print{#toolbar,#sidebar,#page-nav,#pen-cursor,#export-toast,.page-label,.page-editor{display:none!important}#app{display:block;padding:0}#canvas-area{overflow:visible;padding:0;background:#fff!important}#canvas-area:before{display:none}#page-container{gap:0}.page-wrapper{page-break-after:always;break-after:page}.canvas-container{box-shadow:none}.canvas-page{width:100%!important;height:auto!important;page-break-after:always;break-after:page}}.pulsing-dot{width:12px;height:12px;background-color:#f44;border-radius:50%;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}to{transform:scale(.8);opacity:.5}}.collab-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.collab-status-bar{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:13px;color:var(--text-secondary)}.status-indicator{width:10px;height:10px;border-radius:50%;display:inline-block}.status-indicator.offline{background-color:#888}.status-indicator.online{background-color:#10b981;box-shadow:0 0 8px #10b981}.status-indicator.error{background-color:#ef4444}.users-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.user-item{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:12px;color:var(--text-primary);background:var(--bg-hover);padding:4px 8px;border-radius:var(--radius)}.user-color-dot{width:12px;height:12px;border-radius:50%}.remote-cursor{position:absolute;width:2px;height:24px;background-color:var(--cursor-color, #f00);pointer-events:none;z-index:50;transition:all .1s ease-out}.remote-cursor-name{position:absolute;top:-20px;left:0;background-color:var(--cursor-color, #f00);color:#fff;font-size:10px;font-family:var(--font-ui);padding:2px 6px;border-radius:4px;white-space:nowrap}.layer-header-bar{display:flex;justify-content:space-between;align-items:center;padding:4px 0 6px;border-bottom:1px solid var(--border-color);margin-bottom:6px}.layer-page-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.layer-quick-tools{display:flex;align-items:center;gap:4px}.layer-quick-tools .btn.icon-btn{padding:3px 6px;min-width:24px;height:24px;font-size:11px}.layer-list{display:flex;flex-direction:column;gap:6px;max-height:290px;overflow-y:auto;padding:2px 0}.layer-item{display:flex;flex-direction:column;gap:5px;padding:6px 8px;border-radius:8px;background:var(--bg-alt);border:1px solid var(--border-color);transition:all .18s ease;font-size:12px;-webkit-user-select:none;user-select:none}.layer-item:hover{background:var(--bg-hover);border-color:var(--accent)}.layer-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-alt));box-shadow:0 1px 6px color-mix(in srgb,var(--accent) 20%,transparent)}.layer-item.locked{background:color-mix(in srgb,var(--bg-alt) 92%,var(--text-muted));opacity:.88}.layer-item.solo{border-color:#f59e0b;box-shadow:0 0 8px #f59e0b40}.layer-item.dragging{opacity:.35;border-style:dashed}.layer-item.drag-over{border-top:2px solid var(--accent);transform:translateY(1px)}.layer-main-row{display:flex;align-items:center;gap:6px}.layer-drag{cursor:grab;opacity:.5;font-size:13px;line-height:1;padding:0 2px}.layer-drag:hover{opacity:1;color:var(--accent)}.layer-drag:active{cursor:grabbing}.layer-vis{cursor:pointer;font-size:13px;line-height:1;opacity:.8;transition:opacity .15s}.layer-vis:hover{opacity:1;transform:scale(1.1)}.layer-vis.solo{filter:drop-shadow(0 0 3px #f59e0b);transform:scale(1.1)}.layer-lock-btn{cursor:pointer;font-size:12px;line-height:1;opacity:.6;transition:all .15s ease;padding:0 2px}.layer-lock-btn:hover{opacity:1;transform:scale(1.1)}.layer-lock-btn.locked{opacity:.95}.layer-thumb{width:36px;height:24px;border-radius:4px;border:1px solid var(--border-color);background:repeating-conic-gradient(var(--bg-card) 0% 25%,var(--bg) 0% 50%) 50% / 8px 8px;object-fit:contain;flex-shrink:0;box-shadow:0 1px 3px #00000026}.layer-name-wrap{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.layer-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:1px 4px;border-radius:4px}.layer-name:hover{background:var(--bg-hover);color:var(--accent)}.layer-rename-input{font-family:inherit;font-size:12px;font-weight:500;color:var(--text-primary);background:var(--bg);border:1px solid var(--accent);border-radius:4px;padding:1px 5px;width:100%;outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.layer-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:10px;background:var(--accent-light);color:var(--accent-strong);flex-shrink:0}.layer-badge.locked{background:#b4a06e1a;color:var(--text-muted)}.layer-item-actions{display:flex;align-items:center;gap:4px}.layer-action-btn{cursor:pointer;opacity:.55;font-size:11px;line-height:1;padding:2px 4px;border-radius:4px;transition:all .15s ease}.layer-action-btn:hover{opacity:1;color:var(--accent);transform:scale(1.1)}.layer-props,.layer-sub-row{display:flex;flex-direction:column;gap:5px;padding-left:20px;font-size:11px}.layer-prop-line{display:flex;align-items:center;gap:8px;min-height:20px}.layer-prop-label{font-size:10px;font-weight:500;color:var(--text-muted);width:44px;flex-shrink:0;letter-spacing:.02em}.layer-opacity-wrap{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.layer-opacity{flex:1;min-width:60px;height:4px;accent-color:var(--accent);cursor:pointer;margin:0}.layer-opacity::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 1px 3px #0000004d;cursor:pointer}.layer-opacity::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 1px 3px #0000004d;cursor:pointer;border:none}.layer-opacity-val{font-size:10px;font-weight:600;color:var(--text-secondary);min-width:32px;text-align:right;flex-shrink:0}.layer-blend{flex:1;font-size:11px;padding:2px 6px;height:22px;background:var(--bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;min-width:0}.layer-blend:focus{border-color:var(--accent);outline:none}.layer-delete{cursor:pointer;opacity:.45;font-size:12px;padding:2px 4px;border-radius:4px;transition:all .15s}.layer-delete:hover{opacity:1;color:#e74c3c;background:#e74c3c1f}.layer-item.locked .layer-delete{opacity:.2;pointer-events:none}.layer-controls-row{display:flex;gap:6px;margin-top:10px;position:relative}.layer-controls-row .dropdown{position:relative}.layer-controls-row .dropdown-content{top:auto;bottom:calc(100% + 6px);left:0;margin-top:0;margin-bottom:0;min-width:210px;box-shadow:0 -8px 24px #00000040;border:1px solid var(--sidebar-border);border-radius:8px;background-color:var(--sidebar-bg);z-index:1000}.layer-controls-row .dropdown:hover .dropdown-content,.layer-controls-row .dropdown.open .dropdown-content{display:block}.layer-controls-row .btn:focus{outline:none}.layer-controls-row .btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.flex-gap-4{display:flex;gap:4px}.flex-align-center-gap-6{display:flex;align-items:center;gap:6px}.flex-1{flex:1}.d-none{display:none!important}.hidden{display:none}.recording-status{margin-top:10px;padding:10px;background:var(--bg-alt);border-radius:6px;display:flex;align-items:center;gap:10px;font-size:14px}.recording-size{color:var(--text-muted);font-size:12px}.template-actions-extended{margin-top:8px;justify-content:center;gap:8px}.sheet-label{margin:0;font-size:12px;color:var(--text-secondary)}.sheet-select{font-size:12px;padding:4px 8px;border-radius:6px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--text-primary);outline:none}.modal-card-lg{max-width:800px;width:90%}.modal-body-flex{display:flex;gap:20px;text-align:left}.grammar-textarea{height:300px}.grammar-textarea-readonly{height:300px;background:var(--bg-alt)}.modal-footer-flex{display:flex;justify-content:flex-end;gap:10px}#char-progress-fill{width:0%}body.study-mode #app{grid-template-columns:1fr}body.study-mode #sidebar{display:none!important}body.study-mode #canvas-area{padding-left:16px;padding-right:16px}body.study-mode #canvas-area:before{left:0}body.study-mode .export-toast{left:50%;transform:translate(-50%)}body.study-mode .page-editor{box-shadow:inset 0 0 0 2px var(--accent)!important}body.study-mode .page{box-shadow:0 0 0 2px var(--accent),0 20px 40px var(--paper-shadow)}.exit-study-btn{position:fixed;bottom:24px;right:24px;z-index:1000;background:var(--accent);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 24px #c0622a66;font-family:var(--font-ui);font-size:14px;font-weight:600;padding:10px 20px;border-radius:30px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.exit-study-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px #c0622a8c}.exit-study-btn:active{transform:translateY(0) scale(.98)}.exit-study-btn.hidden{display:none!important}body.study-mode .exit-study-btn.hidden{display:flex!important}.modal-card-study{width:580px;max-width:95vw;padding:24px;border-radius:20px}.flashcards-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.flashcards-title-wrap{display:flex;flex-direction:column;gap:8px}.flashcards-title-wrap h3{margin:0;display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700}.flashcard-filter-tabs{display:flex;gap:6px;background:var(--bg-subtle, rgba(0, 0, 0, .04));padding:3px;border-radius:20px;border:1px solid var(--border-color)}html.dark .flashcard-filter-tabs{background:#ffffff0d}.flashcard-filter-tab{background:transparent;border:none;padding:3px 10px;border-radius:14px;font-size:11.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.flashcard-filter-tab.active{background:var(--bg-card, #fff);color:var(--accent, #6366f1);box-shadow:0 1px 4px #0000001a}html.dark .flashcard-filter-tab.active{background:#6366f140;color:#fff}.flashcard-header-actions{display:flex;align-items:center;gap:6px}.flashcards-stats-panel{background:var(--bg-subtle, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:14px;padding:14px 18px;margin:12px 0 6px;display:flex;flex-direction:column;gap:10px}.flashcards-stats-panel.hidden{display:none!important}.stats-panel-header{display:flex;justify-content:space-between;align-items:center}.stats-panel-header h4{margin:0;font-size:13px;font-weight:700;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-box{background:var(--bg-card, #fff);border:1px solid var(--border-color);border-radius:10px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:2px}html.dark .stat-box{background:#1e293b80}.stat-number{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary)}.stat-number.text-due{color:#f59e0b}.stat-number.text-mastered{color:#10b981}.stat-number.text-learning{color:#6366f1}.stat-name{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.stats-retention-row{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-secondary)}.stats-retention-row strong{color:var(--text-primary)}.stats-breakdown-track{width:100%;height:8px;background:#00000014;border-radius:4px;overflow:hidden;display:flex}html.dark .stats-breakdown-track{background:#ffffff1a}.breakdown-segment.mastered{background:#10b981;transition:width .3s ease}.breakdown-segment.review{background:#f59e0b;transition:width .3s ease}.breakdown-segment.learning{background:#6366f1;transition:width .3s ease}.flashcards-body{display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0;width:100%}.flashcard-session-progress{width:100%;max-width:480px;display:flex;flex-direction:column;gap:6px}.flashcard-progress-bar-wrap{width:100%;height:6px;background:#00000014;border-radius:3px;overflow:hidden}html.dark .flashcard-progress-bar-wrap{background:#ffffff1a}.flashcard-session-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:3px;transition:width .2s ease}.flashcard-meta-row{display:flex;justify-content:space-between;align-items:center}.flashcard-counter{font-size:11.5px;font-weight:700;color:var(--text-secondary);letter-spacing:.04em}.flashcard-state-pill{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:10px;letter-spacing:.5px}.flashcard-state-pill.state-new{background:#6366f126;color:#6366f1}.flashcard-state-pill.state-learning{background:#f59e0b26;color:#d97706}.flashcard-state-pill.state-review{background:#3b82f626;color:#2563eb}.flashcard-state-pill.state-mastered{background:#10b98126;color:#059669}.flashcard-card{width:100%;max-width:480px;min-height:250px;perspective:1200px;cursor:pointer;outline:none;-webkit-user-select:none;user-select:none}.flashcard-card.hidden{display:none!important}.flashcard-card:focus-visible{outline:2px solid var(--accent, #6366f1);outline-offset:4px;border-radius:18px}.flashcard-inner{position:relative;width:100%;min-height:250px;transition:transform .55s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}.flashcard-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;padding:16px 20px;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;word-break:break-word;box-shadow:0 12px 32px #0000001a;transition:background .25s ease,border-color .25s ease}.flashcard-front{background:#fff;border:2px solid var(--border-color);color:var(--text-primary)}html.dark .flashcard-front{background:#1e293b;border-color:#ffffff1a;color:#f1f5f9}.flashcard-back{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;transform:rotateY(180deg);border:2px solid transparent}.card-face-header{display:flex;justify-content:space-between;align-items:center;width:100%}.card-kind-badge{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--accent, #6366f1);background:#6366f11f;padding:3px 8px;border-radius:6px}.card-kind-badge.answer{color:#fff;background:#00000040}.card-face-actions{display:flex;align-items:center;gap:8px}.card-action-icon{background:transparent;border:none;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:transform .15s ease,background .15s ease}.card-action-icon:hover{transform:scale(1.18);background:#0000000d}html.dark .card-action-icon:hover{background:#ffffff1a}.card-action-icon.star-btn.active{color:#f59e0b}.card-ease-badge{font-size:10px;font-weight:700;padding:2px 6px;background:#fff3;border-radius:6px}.card-content-text{font-size:19px;line-height:1.5;font-family:Kalam,Caveat,cursive,sans-serif;text-align:center;padding:16px 10px;flex:1;display:flex;align-items:center;justify-content:center}.card-face-footer{text-align:center}.flashcard-hint{font-size:11px;color:var(--text-muted)}.flashcard-back .flashcard-hint{color:#ffffffb3}.flashcard-nav-row{display:flex;gap:10px;align-items:center;margin-top:4px}.flashcards-complete-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px;background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px dashed var(--border-color);border-radius:16px;width:100%;max-width:480px}.flashcards-complete-panel.hidden{display:none!important}.complete-celebration-icon{font-size:42px;margin-bottom:8px}.flashcards-complete-panel h3{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text-primary)}.flashcards-complete-panel p{font-size:13px;color:var(--text-secondary);margin:0 0 18px}.complete-actions{display:flex;gap:10px}.flashcards-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.flashcards-mode-switcher{display:flex;gap:4px;background:var(--bg-subtle, rgba(0, 0, 0, .05));padding:3px;border-radius:12px;border:1px solid var(--border-color)}html.dark .flashcards-mode-switcher{background:#ffffff0d}.fc-mode-btn{background:transparent;border:none;padding:4px 12px;border-radius:8px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.fc-mode-btn.active{background:var(--bg-card, #fff);color:var(--accent, #6366f1);box-shadow:0 1px 3px #0000001a}html.dark .fc-mode-btn.active{background:#6366f140;color:#fff}.ai-deck-gen-wrap{position:relative}.ai-deck-popover{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--bg-card, #fff);border:1px solid var(--border-color);border-radius:14px;padding:14px;box-shadow:0 10px 25px #00000026;z-index:100;display:flex;flex-direction:column;gap:8px}html.dark .ai-deck-popover{background:#1e293b}.ai-deck-popover.hidden{display:none!important}.ai-popover-title{font-size:13px;font-weight:700;color:var(--text-primary)}.ai-popover-desc{font-size:11px;color:var(--text-secondary);line-height:1.4}.ai-popover-controls{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;margin:4px 0}.ai-popover-controls select{padding:3px 6px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-subtle, transparent);font-size:11.5px}.ai-popover-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}.ai-gen-status{font-size:11px;color:var(--accent, #6366f1);font-weight:600;text-align:center;animation:pulse 1.2s infinite}.flashcard-study-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}.flashcard-study-container.hidden{display:none!important}.flashcard-quiz-container{width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:14px}.flashcard-quiz-container.hidden{display:none!important}.quiz-header-hud{width:100%;display:flex;justify-content:space-between;align-items:center}.quiz-timer-badge{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;padding:4px 10px;background:#f59e0b1f;color:#d97706;border-radius:20px;border:1px solid rgba(245,158,11,.3)}.quiz-timer-badge.warning{background:#ef444426;color:#dc2626;border-color:#ef444459;animation:pulse .8s infinite}.quiz-score-pill{font-size:12px;font-weight:700;padding:4px 10px;background:#6366f11f;color:#6366f1;border-radius:20px}.quiz-question-card{width:100%;background:var(--bg-card, #fff);border:1px solid var(--border-color);border-radius:18px;padding:20px;box-shadow:0 8px 24px #0000000f;display:flex;flex-direction:column;gap:12px}.quiz-question-card.hidden{display:none!important}html.dark .quiz-question-card{background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.quiz-question-title{font-size:18px;font-weight:700;line-height:1.4;color:var(--text-primary);text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center}.quiz-input-wrap{display:flex;flex-direction:column;gap:8px}.quiz-answer-textarea{width:100%;min-height:70px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-subtle, rgba(0, 0, 0, .02));padding:10px 12px;font-size:13.5px;line-height:1.4;color:var(--text-primary);resize:none;outline:none;box-sizing:border-box}.quiz-answer-textarea:focus{border-color:var(--accent, #6366f1);box-shadow:0 0 0 2px #6366f133}.quiz-mic-row{display:flex;justify-content:space-between;align-items:center}.btn-quiz-mic{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:20px;background:var(--bg-subtle, rgba(0, 0, 0, .05));border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.btn-quiz-mic.listening{background:#ef444426;border-color:#ef4444;color:#dc2626;animation:pulse 1s infinite}.quiz-mic-hint{font-size:11px;color:var(--text-secondary)}.quiz-actions-row{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.quiz-eval-panel{width:100%;background:var(--bg-card, #fff);border:1px solid var(--border-color);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}html.dark .quiz-eval-panel{background:#1e293bb3}.quiz-eval-panel.hidden{display:none!important}.eval-header{display:flex;justify-content:space-between;align-items:center}.eval-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:12px}.eval-badge.pass{background:#10b98126;color:#059669}.eval-badge.review{background:#f59e0b26;color:#d97706}.eval-keywords-row{font-size:11.5px;line-height:1.5;color:var(--text-secondary)}.kw-tag{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:6px;margin:1px 2px}.kw-tag.matched{background:#10b98133;color:#047857}.kw-tag.missed{background:#ef444426;color:#b91c1c}.eval-target-answer{background:var(--bg-subtle, rgba(0, 0, 0, .03));border-left:3px solid var(--accent, #6366f1);padding:8px 12px;border-radius:0 8px 8px 0;font-size:12px;color:var(--text-primary);line-height:1.4}.quiz-scoreboard-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 20px;background:var(--bg-card, #fff);border:1px solid var(--border-color);border-radius:18px;width:100%;max-width:480px;gap:12px}html.dark .quiz-scoreboard-panel{background:#1e293bb3}.quiz-scoreboard-panel.hidden{display:none!important}.quiz-score-circle{width:90px;height:90px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--accent, #6366f1) calc(var(--score-pct, 0) * 1%),rgba(0,0,0,.08) 0);position:relative}.quiz-score-circle-inner{width:74px;height:74px;border-radius:50%;background:var(--bg-card, #fff);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:var(--text-primary)}html.dark .quiz-score-circle-inner{background:#1e293b}.btn.active{background:var(--accent)!important;color:#fff!important}.notebook-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;border:1px solid var(--btn-border);margin-bottom:4px}.notebook-item:hover{background:var(--btn-hover)}.notebook-title{flex:1;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-date{font-size:11px;color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:#5b52f2;color:#fff;padding:10px 18px;border-radius:0 0 10px;font-weight:500;text-decoration:none}.skip-link:focus{left:0}#canvas-area:focus{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.theme-pack-row{display:flex;flex-wrap:wrap;gap:6px}body{min-height:100vh;min-height:100dvh}button,.btn,a,.paper-btn,.align-btn,.tab-btn,.sheet-tab,input[type=range]{touch-action:manipulation}#sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:89;opacity:0;pointer-events:none;transition:opacity .3s ease}body.sidebar-open #sidebar-backdrop{opacity:1;pointer-events:auto}#page-container,.page-wrapper{width:100%;max-width:720px}.canvas-container{display:block}#toolbar{padding-top:env(safe-area-inset-top,0px);padding-left:max(14px,calc(14px + env(safe-area-inset-left,0px)));padding-right:max(16px,calc(16px + env(safe-area-inset-right,0px)))}#sidebar{padding-bottom:env(safe-area-inset-bottom,0px)}#page-nav{margin-bottom:env(safe-area-inset-bottom,0px)}@media(max-width:768px){#sidebar-backdrop{display:block}body.sidebar-open{overflow:hidden}#sidebar input,#sidebar select,#sidebar textarea{font-size:16px}#sidebar .btn,#sidebar .action-buttons-row .btn,#sidebar .paper-btn,#sidebar .align-btn,#sidebar .theme-pill{min-height:34px}#sidebar .btn.link-btn{min-height:28px;padding:3px 9px;display:inline-flex;align-items:center}.btn-label,#page-indicator-toolbar{display:none}#canvas-area{overflow-x:hidden;align-items:center}.canvas-container{max-width:calc(100vw - 16px);width:fit-content}.canvas-page{max-width:100%}#handfonted-modal .modal-card,#flashcards-modal .modal-card{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;border-radius:0}}@media(max-width:480px){#canvas-area{padding:8px 6px 80px}.canvas-container{max-width:calc(100vw - 12px);width:fit-content}.logo .logo-text span{display:none}}#sec-ai.ai-busy .btn{opacity:.6;pointer-events:none}#sec-ai.ai-busy #ai-status:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.slider-hints{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary);line-height:1;margin-top:2px;-webkit-user-select:none;user-select:none}html.dark .btn.primary,html.dark .btn.accent,html.dark .btn.active,html.dark .char-btn.active,html.dark .exit-study-btn,html.dark .btn-render,html.dark .flashcard-back,html.dark .checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{color:#14141f!important}html.dark .btn-render{background:linear-gradient(135deg,var(--accent),#d96f30)!important}html.dark .flashcard-back:before{color:#14141f!important}.flashcard-due-badge{display:inline-block;margin-left:10px;padding:2px 10px;font-size:11px;font-family:var(--font-ui);font-weight:600;border-radius:999px;background:var(--bg-hover);color:var(--accent);border:1px solid var(--border-color);vertical-align:middle}.flashcard-due-badge.flashcard-due-zero{color:#4ecf88}.flashcard-grade-row{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}.flashcard-grade-row.hidden{display:none}.grade-btn{padding:8px 14px;border-radius:var(--radius);border:1px solid var(--border-color);background:var(--btn-bg);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition)}.grade-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001f}.grade-again:hover{border-color:#d64545;color:#d64545}.grade-hard:hover{border-color:#e08a3c;color:#e08a3c}.grade-good:hover{border-color:#4ecf88;color:#3bb374}.grade-easy:hover{border-color:#5a9fe0;color:#4a8fd0}#char-jitter-canvas{width:220px;height:64px;border:1px dashed var(--border-color);border-radius:var(--radius);background:var(--input-bg);display:block}.designer-drawer{background:var(--btn-bg);border:1px solid var(--border-color);border-radius:10px;padding:12px;margin-top:8px}.designer-title{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:8px}.designer-row{display:flex;flex-direction:column;gap:4px;font-size:11px;margin-bottom:8px;color:var(--text-secondary)}.designer-row label{display:flex;justify-content:space-between}.designer-row-pickers{display:flex;gap:12px;margin-top:6px}.color-picker-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.color-picker-label input[type=color]{border:none;width:24px;height:24px;border-radius:4px;cursor:pointer;background:none}.designer-actions{display:flex;justify-content:flex-end;gap:8px}.modal-card-gallery{width:960px;max-width:94vw;height:85vh;max-height:85vh;padding:24px;display:flex;flex-direction:column}.gallery-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.gallery-category-tabs{display:flex;gap:6px;flex-wrap:wrap}.gallery-tab{font-family:var(--font-ui);font-size:12px;padding:6px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--btn-bg);color:var(--text-secondary);cursor:pointer;transition:all .18s ease}.gallery-tab:hover{background:var(--btn-hover);color:var(--accent);border-color:var(--accent)}.gallery-tab.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.gallery-main-layout{display:flex;gap:16px;flex:1;min-height:0;overflow:hidden;position:relative}.gallery-grid-view{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.gallery-search-wrap{width:100%;display:flex;gap:10px;align-items:center}.btn-new-template{white-space:nowrap;font-weight:600;padding:8px 14px}.gallery-modal-body{flex:1;overflow-y:auto;padding-right:4px}.gallery-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding-bottom:12px}.gallery-card{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-bg, rgba(255, 255, 255, .7));overflow:hidden;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s}.gallery-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0000001f;border-color:var(--accent)}.gallery-card.active{border:2px solid var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.gallery-card-thumb-wrap{height:140px;background:#f7f5ee;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid var(--border-color)}.gallery-card-thumb-canvas{width:100%;height:100%;display:block}.gallery-card-info{padding:12px;display:flex;flex-direction:column;flex:1}.gallery-card-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.gallery-card-title{font-size:14px;font-weight:600;color:var(--text-primary)}.gallery-badge{font-size:10px;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--accent-light);color:var(--accent);font-weight:600}.gallery-card-desc{font-size:11px;color:var(--text-secondary);line-height:1.45;margin-bottom:12px;flex:1}.gallery-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:8px}.gallery-card-actions{display:flex;gap:6px;align-items:center}.btn-card-customize{padding:4px 8px;font-size:11px;font-weight:500;border-radius:6px;border:1px solid var(--border-color);background:var(--btn-bg);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.btn-card-customize:hover{border-color:var(--accent);color:var(--accent);background:var(--btn-hover)}.btn-card-delete{background:none;border:none;font-size:13px;cursor:pointer;opacity:.6;padding:4px;border-radius:4px;transition:opacity .15s ease}.btn-card-delete:hover{opacity:1;background:#ef44441a}.gallery-customizer-drawer{width:380px;max-width:100%;height:100%;display:flex;flex-direction:column;background:var(--surface-bg, rgba(255, 255, 255, .9));border:1px solid var(--border-color);border-radius:12px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 32px #0000001f;overflow:hidden;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease}.gallery-customizer-drawer.hidden{display:none!important}.customizer-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background:#00000005;flex-shrink:0}.customizer-header-actions{display:flex;align-items:center;gap:8px}.customizer-live-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#00000009;padding:3px 8px;border-radius:12px;border:1px solid var(--border-color);transition:all .15s ease}.customizer-live-toggle:hover{background:#0000000f;color:var(--text-primary)}.customizer-live-toggle input[type=checkbox]{accent-color:var(--accent, #b45309);cursor:pointer;width:12px;height:12px;margin:0}.customizer-header-title{display:flex;align-items:center;gap:10px}.customizer-title-icon{font-size:18px}.customizer-header-title h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.customizer-subheading{font-size:11px;color:var(--text-secondary)}.customizer-drawer-top{display:flex;flex-direction:column;gap:10px;padding:12px 16px 0;background:#00000004;border-bottom:1px solid var(--border-color);flex-shrink:0}.customizer-drawer-body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:14px}.customizer-preview-container{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);background:#f8f5ee;display:flex;justify-content:center;align-items:center;box-shadow:inset 0 0 12px #0000000d,0 2px 8px #0000000f;flex-shrink:0;width:100%;aspect-ratio:340 / 190}.customizer-preview-canvas{width:100%;height:100%;display:block}.customizer-preview-overlay-info{position:absolute;bottom:6px;left:6px;right:6px;display:flex;justify-content:space-between;font-size:10px;font-weight:500;color:var(--text-primary);background:#ffffffe6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:3px 8px;border-radius:4px;pointer-events:none;border:1px solid rgba(0,0,0,.08)}.customizer-tabs{display:flex;gap:4px;padding-bottom:8px}.gallery-card.customizing{border:2px solid var(--accent, #b45309);box-shadow:0 0 0 3px #b4530938,0 8px 24px #0000001f;transform:translateY(-2px)}.customizer-tab{font-family:var(--font-ui);font-size:11px;padding:6px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.customizer-tab:hover{color:var(--accent);background:var(--btn-hover)}.customizer-tab.active{background:var(--accent-light);color:var(--accent);font-weight:600;border-color:#b4530933}.customizer-tab-content{display:flex;flex-direction:column;gap:12px}.customizer-tab-content.hidden{display:none!important}.customizer-control-group{display:flex;flex-direction:column;gap:5px}.customizer-control-group label{font-size:11px;font-weight:500;color:var(--text-primary)}.customizer-label-row{display:flex;justify-content:space-between;align-items:center}.customizer-val-badge{font-size:11px;font-weight:600;color:var(--accent)}.customizer-select,.customizer-input,.customizer-textarea{padding:7px 10px;font-size:12px;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-family:var(--font-ui)}.customizer-select:focus,.customizer-input:focus,.customizer-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.customizer-divider{display:flex;align-items:center;margin:4px 0;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding-bottom:4px}.customizer-colors-row{display:flex;gap:10px}.customizer-color-item{flex:1;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-primary);border:1px solid var(--border-color);padding:4px 8px;border-radius:6px;background:var(--input-bg)}.customizer-color-item input[type=color]{width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;padding:0;background:none}.customizer-toggle-row{display:flex;align-items:center;gap:8px}.customizer-toggle-label{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;color:var(--text-primary)}.customizer-drawer-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background:#00000005;justify-content:flex-end}.gallery-modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;border-top:1px solid var(--border-color);padding-top:14px}.gallery-footer-left{display:flex;gap:8px}@media(max-width:860px){.gallery-customizer-drawer{position:absolute;top:0;right:0;bottom:0;width:100%;z-index:10}}@media(max-width:640px){.gallery-modal-footer{flex-wrap:wrap;gap:8px;justify-content:flex-end}.gallery-footer-left{width:100%;flex-wrap:wrap;gap:6px}.gallery-footer-left .btn,.gallery-modal-footer>.btn{flex:1 1 auto}}.annotation-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;touch-action:none}body.annotation-mode-active .annotation-canvas{pointer-events:auto;cursor:crosshair}body.annotation-mode-active .page-editor{pointer-events:none}.annotation-toolbar{position:sticky;top:14px;z-index:120;margin:0 auto 16px;display:flex;align-items:center;gap:6px;padding:5px 12px;background:#ffffffe6;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(0,0,0,.08);border-radius:9999px;box-shadow:0 10px 30px -4px #0000001f,0 2px 8px #0000000a,inset 0 1px #ffffffd9;width:max-content;max-width:min(96vw,980px);-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}html.dark .annotation-toolbar{background:#161b2ee6;border-color:#ffffff1f;box-shadow:0 14px 36px -4px #0000008c,0 2px 8px #0000004d,inset 0 1px #ffffff14}.annotation-toolbar.hidden{display:none!important}.annotation-toolbar.is-dragging{cursor:grabbing!important;box-shadow:0 18px 45px -4px #00000040,0 4px 14px #0000001a!important;transform:scale(1.02);transition:none!important}.annot-drag-handle{cursor:grab;color:var(--text-muted, #94a3b8);font-size:13px;padding:4px 5px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.annot-drag-handle:hover{color:var(--accent, #6c63ff);background:#0000000d}html.dark .annot-drag-handle:hover{background:#ffffff14}.annot-drag-handle:active{cursor:grabbing}.annot-tool-group,.annot-action-group,.annot-pdf-group{display:flex;align-items:center;gap:3px}.annot-btn{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-primary, #1c2340);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);font-size:13px;position:relative;flex-shrink:0}html.dark .annot-btn{color:#e2e8f0}.annot-btn:hover{background:#0000000d;color:var(--accent, #6c63ff);transform:translateY(-1px)}html.dark .annot-btn:hover{background:#ffffff14;color:#818cf8}.annot-btn.active{background:var(--accent, #6c63ff);color:#fff!important;box-shadow:0 3px 10px #0003;transform:scale(1.04)}.annot-btn:active{transform:scale(.96)}.annot-btn-danger:hover{background:#ef444424!important;color:#ef4444!important}.annot-divider{width:1px;height:18px;background:#00000014;margin:0 2px;flex-shrink:0}html.dark .annot-divider{background:#ffffff1f}.annot-colors{display:flex;align-items:center;gap:4px;flex-shrink:0}.annot-color-swatch{width:18px;height:18px;border-radius:50%;border:2px solid #ffffff;cursor:pointer;outline:none;position:relative;box-shadow:0 1px 3px #00000040;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s ease;flex-shrink:0}html.dark .annot-color-swatch{border-color:#1e293b}.annot-color-swatch:hover{transform:scale(1.18)}.annot-color-swatch.active{transform:scale(1.22);box-shadow:0 0 0 2px var(--bg-surface, #ffffff),0 0 0 4px var(--swatch-color, var(--accent, #6c63ff)),0 3px 8px #0003}html.dark .annot-color-swatch.active{box-shadow:0 0 0 2px #181c2a,0 0 0 4px var(--swatch-color, var(--accent, #6c63ff)),0 3px 8px #00000080}.annot-custom-color-wrapper{position:relative;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.annot-custom-color-wrapper .annot-color-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;padding:0;border:none}.annot-custom-color-preview{width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(from 0deg,#f43f5e,#fb923c,#facc15,#4ade80,#38bdf8,#818cf8,#f43f5e);box-shadow:0 1px 3px #00000040;font-size:9px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);transition:transform .16s ease,box-shadow .16s ease}.annot-custom-color-wrapper:hover .annot-custom-color-preview{transform:scale(1.18)}.annot-slider-group{display:flex;align-items:center;gap:4px;padding:0 2px;flex-shrink:0}.annot-icon{font-size:11px;color:var(--text-muted, #94a3b8);flex-shrink:0}.annot-slider{width:48px!important;height:4px!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000001a;border-radius:999px;cursor:pointer;outline:none;border:none;padding:0;margin:0;transition:background .15s ease}html.dark .annot-slider{background:#ffffff2e}.annot-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--accent, #6c63ff);box-shadow:0 1px 3px #00000040;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.annot-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 2px 6px #00000059}.annot-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--accent, #6c63ff);box-shadow:0 1px 3px #00000040;cursor:pointer}.annot-val-badge{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary, #64748b);min-width:25px;text-align:right;padding:1px 3px;border-radius:4px;background:#0000000a;flex-shrink:0}html.dark .annot-val-badge{color:#94a3b8;background:#ffffff0f}.annot-dropdown{position:relative;display:inline-block}.annot-caret{font-size:8px;margin-left:2px;opacity:.7;transition:transform .18s ease}.annot-dropdown.open .annot-caret{transform:rotate(180deg)}.annot-dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 10px 25px #00000026,0 2px 6px #0000000d;padding:4px;min-width:125px;z-index:130;animation:annotMenuPop .15s cubic-bezier(.16,1,.3,1)}@keyframes annotMenuPop{0%{opacity:0;transform:translate(-50%,-4px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}html.dark .annot-dropdown-menu{background:#1a1f2ef5;border-color:#ffffff1f;box-shadow:0 14px 32px #00000080}.annot-dropdown.open .annot-dropdown-menu{display:flex;flex-direction:column;gap:2px}.annot-menu-item{display:flex;align-items:center;gap:8px;padding:5px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;font-weight:500;color:var(--text-primary, #1c2340);text-align:left;transition:background .12s ease,color .12s ease}html.dark .annot-menu-item{color:#e2e8f0}.annot-menu-item:hover{background:#6c63ff1f;color:var(--accent, #6c63ff)}.btn-pdf-action{width:auto;height:28px;padding:0 8px;font-size:11px;font-weight:600;gap:5px;border:1px solid rgba(0,0,0,.08);border-radius:7px;background:#00000008;color:var(--text-primary, #1c2340);letter-spacing:.01em}html.dark .btn-pdf-action{border-color:#ffffff1f;background:#ffffff0f;color:#e2e8f0}.btn-pdf-action:hover{background:var(--accent, #6c63ff);color:#fff;border-color:transparent;box-shadow:0 2px 8px #0003}.annot-btn-close{width:26px;height:26px;border-radius:50%;background:transparent;border:none;font-size:11px;color:var(--text-muted, #94a3b8);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .16s ease;flex-shrink:0;margin-left:2px}.annot-btn-close:hover{background:#ef444424;color:#ef4444;transform:rotate(90deg)}html.dark .annot-btn-close:hover{background:#ef444438;color:#f87171}@media(max-width:860px){.annotation-toolbar{max-width:96vw;padding:4px 8px;gap:4px}.annot-btn-text{display:none}.annot-slider{width:36px!important}}@media(max-width:640px){.annotation-toolbar{max-width:98vw;gap:3px;padding:4px 6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.annot-slider-group{display:none}.annot-dropdown-menu{z-index:1000}}.modal-card-diarization{max-width:780px;width:94%;max-height:90vh;display:flex;flex-direction:column}.diar-status-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;background:#0000000f;color:var(--text-muted);letter-spacing:.02em}html.dark .diar-status-badge{background:#ffffff14}.diar-status-badge.active{background:#e6394626;color:#e63946;animation:pulse-glow 1.5s infinite alternate}@keyframes pulse-glow{0%{box-shadow:0 0 2px #e639464d}to{box-shadow:0 0 10px #e6394699}}.diar-visualizer-container{background:#0000000a;border-radius:12px;padding:8px 14px;margin:12px 0 14px;display:flex;justify-content:center;border:1px solid var(--border-color)}html.dark .diar-visualizer-container{background:#00000047}.diar-canvas{width:100%;max-width:700px;height:64px;display:block}.diar-controls-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.diar-controls-left{display:flex;align-items:center;gap:10px}.diar-lang-select{padding:6px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-surface, #ffffff);color:var(--text-primary);font-size:12px;cursor:pointer}html.dark .diar-lang-select{background:#1e293b}.diar-speakers-label{font-size:11px;font-weight:600;color:var(--text-muted)}.diar-speakers-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.diar-speaker-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:14px;border:1px solid;background:#6c63ff14;font-size:11px;font-weight:600;color:var(--text-primary);-webkit-user-select:none;user-select:none}.diar-speaker-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.diar-speaker-edit-btn{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;font-size:9px;opacity:.7}.diar-speaker-edit-btn:hover{opacity:1;color:var(--accent)}.diar-modal-body{padding:12px 0;flex:1;overflow:hidden;display:flex;flex-direction:column}.diar-turns-container{max-height:280px;min-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:6px 4px}.diar-empty-state{text-align:center;padding:40px 16px;color:var(--text-muted)}.diar-empty-state i{font-size:32px;margin-bottom:12px;color:var(--accent);opacity:.6}.diar-empty-state p{font-size:13px;line-height:1.5;margin:0}.diar-turn-bubble{background:#00000006;border-left:4px solid #6c63ff;border-radius:8px;padding:8px 12px;transition:background .15s ease}html.dark .diar-turn-bubble{background:#ffffff0a}.diar-turn-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;margin-bottom:4px}.diar-turn-speaker{display:inline-flex;align-items:center;gap:6px}.diar-turn-time{color:var(--text-muted);font-family:monospace;font-size:10px;background:transparent;border:1px solid transparent;border-radius:4px;padding:1px 4px;cursor:pointer;transition:all .15s ease}.diar-turn-time:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));border-color:var(--border-color);color:var(--text-primary)}.diar-turn-body{font-size:13px;line-height:1.5;color:var(--text-primary);outline:none;cursor:text}.diar-modal-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:14px;border-top:1px solid var(--border-color)}.diar-footer-options{display:flex;align-items:center;gap:8px}.diar-options-label{font-size:11px;font-weight:600;color:var(--text-muted)}.diar-mode-tabs{display:flex;gap:6px}.diar-mode-pill{font-size:11px;font-weight:500;padding:4px 10px;border-radius:14px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.diar-mode-pill:hover{border-color:var(--accent);color:var(--accent)}.diar-mode-pill.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #6c63ff4d}.ocr-modal-card{width:96vw;max-width:1080px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 20px 50px #00000059;border-radius:16px}.ocr-body-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;padding:16px 20px;overflow-y:auto;max-height:calc(92vh - 130px)}@media(max-width:768px){.ocr-body-grid{grid-template-columns:1fr;gap:14px;padding:12px 14px;max-width:100%}.ocr-left-col,.ocr-right-col{min-width:0;max-width:100%;width:100%}.ocr-source-bar{max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ocr-source-bar::-webkit-scrollbar{display:none}.ocr-canvas-container{max-width:100%;width:100%;min-height:200px}#ocr-preview-canvas{max-width:100%;height:auto}.ocr-filters-bar{max-width:100%;overflow-x:auto;scrollbar-width:none}.ocr-filters-bar::-webkit-scrollbar{display:none}}.ocr-left-col,.ocr-right-col{display:flex;flex-direction:column;gap:12px}.ocr-source-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ocr-canvas-container{position:relative;width:100%;min-height:280px;max-height:380px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:12px;overflow:hidden;transition:border-color .2s ease,background .2s ease;-webkit-user-select:none;user-select:none}.ocr-canvas-container.drag-active{border-color:var(--accent);background:#6366f114}#ocr-preview-canvas{max-width:100%;max-height:360px;display:block;object-fit:contain;cursor:crosshair}.ocr-crop-hint{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#000000a6;color:#fff;font-size:11px;padding:3px 10px;border-radius:12px;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:normal;max-width:90%;text-align:center;box-sizing:border-box}.ocr-crop-dimensions{position:absolute;top:10px;right:12px;background:#0f172ad9;color:#a5b4fc;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;border:1px solid rgba(99,102,241,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;z-index:5}.ocr-filters-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;font-size:12px}.ocr-filter-label{font-weight:600;color:var(--text-muted)}.ocr-filter-check{display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none}.ocr-filter-check input{cursor:pointer;accent-color:var(--accent)}.ocr-settings-box{display:flex;flex-direction:column;gap:8px;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px}.ocr-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:center}@media(max-width:640px){.ocr-settings-grid{grid-template-columns:1fr;gap:6px}}.ocr-form-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:500}.ocr-form-row label{color:var(--text-secondary);min-width:65px}.ocr-form-row-group{display:flex;flex-direction:column;gap:8px;padding:8px;background:#0000000a;border-radius:8px;border:1px solid var(--border-color)}.ocr-input{flex:1;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:12px;outline:none}.ocr-input:focus{border-color:var(--accent)}.ocr-progress-wrap{display:flex;flex-direction:column;gap:4px;margin-top:4px}.ocr-progress-track{width:100%;height:6px;background:var(--bg-card);border-radius:4px;overflow:hidden;border:1px solid var(--border-color)}.ocr-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#8b5cf6);transition:width .25s ease}.ocr-status-text{font-size:11px;color:var(--text-muted);text-align:right}.ocr-lang-shortcuts{display:flex;gap:6px;margin-top:4px}.ocr-lang-quick{flex:1;padding:4px 6px;font-size:11px;font-weight:500;border-radius:6px;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all .15s ease;text-align:center}.ocr-lang-quick:hover{background:#6366f11f;color:var(--accent);border-color:var(--accent)}.ocr-lang-quick.btn-active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.ocr-script-hint{display:none;margin-top:6px;padding:8px 12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);border-radius:8px;font-size:12px;color:var(--text-primary);flex-direction:column;align-items:flex-start;gap:8px}.ocr-hint-actions{display:flex;gap:6px;flex-wrap:wrap;width:100%}.ocr-pdf-nav{display:flex;align-items:center;gap:6px;background:var(--bg-card);padding:2px 8px;border-radius:6px;border:1px solid var(--border-color)}.ocr-find-replace-bar{display:flex;gap:6px;align-items:center;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:4px}.ocr-find-replace-bar input{padding:4px 8px;font-size:11px}.ocr-output-box{display:flex;flex-direction:column;gap:6px;flex:1;min-height:220px}.ocr-output-counter{font-size:11px;padding:2px 8px;border-radius:10px;background:#6366f11f;color:var(--accent);font-weight:600}.ocr-output-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary)}.ocr-output-header>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.ocr-output-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:2px}.ocr-output-tab{background:transparent;border:none;border-radius:4px;font-size:11px;font-weight:500;color:var(--text-muted);padding:3px 8px;cursor:pointer;transition:all .15s ease}.ocr-output-tab.active{background:var(--accent);color:#fff;font-weight:600}.ocr-output-view{width:100%;flex:1;display:flex;flex-direction:column}.ocr-hw-preview-card{width:100%;min-height:120px;max-height:200px;overflow-y:auto;padding:12px 14px;border-radius:8px;border:1px solid var(--border-color);background:#fbfbf9;background-image:repeating-linear-gradient(transparent,transparent 27px,rgba(99,102,241,.14) 28px);box-shadow:inset 0 1px 3px #0000000d}.ocr-hw-preview-placeholder{color:#94a3b8;font-size:12px;font-style:italic;text-align:center;padding:30px 10px}.ocr-hw-preview-content{font-size:18px;line-height:28px;word-break:break-word}.ocr-hw-preview-line{min-height:28px}.ocr-textarea{width:100%;flex:1;min-height:160px;height:200px;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:13px;line-height:1.6;resize:vertical;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.ocr-textarea:focus{border-color:var(--accent)}.ocr-textarea.ocr-output-highlight{border-color:var(--accent)!important;box-shadow:0 0 0 3px #6366f147!important}.ocr-format-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:4px}.ocr-toolbar-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px}.ocr-toolbar-divider{width:1px;height:16px;background:var(--border-color);margin:0 4px}.ocr-fmt-btn{padding:3px 7px!important;font-size:11px!important;line-height:1.2!important;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.ocr-fmt-btn:hover{background:#6366f11a;color:var(--accent)}.ocr-fmt-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ocr-textarea.text-align-center,.ocr-hw-preview-card.text-align-center,.ocr-hw-preview-line.align-center{text-align:center}.ocr-textarea.text-align-right,.ocr-hw-preview-card.text-align-right,.ocr-hw-preview-line.align-right{text-align:right}.ocr-textarea.text-align-justify,.ocr-hw-preview-card.text-align-justify,.ocr-hw-preview-line.align-justify{text-align:justify}.ocr-textarea.text-align-left,.ocr-hw-preview-card.text-align-left,.ocr-hw-preview-line.align-left{text-align:left}.ocr-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--border-color);background:var(--bg-card)}.style-modal-card{width:95vw;max-width:960px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 20px 50px #00000059;border-radius:16px}.style-presets-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);overflow-x:auto}.style-presets-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.style-presets-list{display:flex;align-items:center;gap:8px;overflow-x:auto}.style-preset-chip{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.style-preset-chip:hover{border-color:var(--accent);background:#6366f10f}.style-preset-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.style-preset-tag{font-size:9px;opacity:.75;background:#00000014;padding:2px 6px;border-radius:10px}.style-body-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;padding:16px 20px;overflow-y:auto;max-height:calc(90vh - 180px)}@media(max-width:768px){.style-body-grid{grid-template-columns:1fr;gap:14px;padding:12px 14px}}.style-left-col,.style-right-col{display:flex;flex-direction:column;gap:12px}.style-tabs-header{display:flex;gap:6px}.style-input-tab{flex:1;padding:6px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.style-input-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.style-input-pane{display:flex;flex-direction:column;gap:10px}.style-canvas-wrap{position:relative;width:100%;background:#fdfbf7;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;box-shadow:inset 0 2px 6px #0000000f}#style-scratchpad-canvas{width:100%;height:190px;display:block;cursor:crosshair}.style-scratchpad-hint{position:absolute;bottom:6px;right:10px;font-size:10px;color:#94a3b8;pointer-events:none}.style-pane-actions{display:flex;justify-content:flex-end;gap:8px}.style-upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:190px;border:2px dashed var(--border-color);border-radius:10px;background:var(--bg-primary);text-align:center;padding:20px;color:var(--text-secondary);font-size:12px}.style-camera-wrap{position:relative;width:100%;height:190px;background:#000;border-radius:10px;overflow:hidden}.style-diagnosis-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.style-diagnosis-title{font-size:11px;font-weight:700;color:var(--text-muted)}.style-dna-badge{font-size:11px;font-weight:600;color:var(--accent);background:#6366f11a;padding:2px 8px;border-radius:6px;transition:all .15s ease}.style-dna-badge-highlight{background:#6366f133;border:1px solid var(--accent);cursor:pointer}.style-dna-badge-highlight:hover{background:var(--accent);color:#fff}.style-presets-actions{display:flex;align-items:center;margin-left:auto}.style-preset-delete{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#ef444426;color:#ef4444;font-size:9px;cursor:pointer;margin-left:4px;transition:all .15s ease}.style-preset-delete:hover{background:#ef4444;color:#fff}.style-scratchpad-toolbar{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary);margin-bottom:2px}.style-scratchpad-prompt-label{font-size:11px;font-weight:600;white-space:nowrap}.style-scratchpad-select{flex:1;padding:4px 8px;font-size:11px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary)}.style-upload-dropzone.dragover{border-color:var(--accent);background:#6366f114}.style-font-match-row{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--border-color)}.style-preview-header{display:flex;align-items:center;justify-content:space-between}.style-preview-input-row{width:100%}.style-preview-input{width:100%;box-sizing:border-box;padding:5px 8px;font-size:11px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);outline:none;transition:border-color .15s ease}.style-preview-input:focus{border-color:var(--accent)}.style-sliders-panel{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px}.style-slider-row{display:flex;flex-direction:column;gap:4px}.style-slider-label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--text-primary)}.style-slider-row input[type=range]{width:100%;cursor:pointer;accent-color:var(--accent)}.style-options-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:6px;border-top:1px solid var(--border-color)}.style-check-label{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-primary);cursor:pointer}.style-check-label input{accent-color:var(--accent);cursor:pointer}.style-preview-wrap{display:flex;flex-direction:column;gap:6px}.style-preview-title{font-size:11px;font-weight:700;color:var(--text-secondary)}#style-preview-canvas{width:100%;height:120px;border-radius:10px;border:1px solid var(--border-color);background:#fefcf8;display:block;box-shadow:0 4px 12px #0000000d}.style-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--border-color);background:var(--bg-card)}.sync-modal-card{width:95vw;max-width:680px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 20px 50px #00000059;border-radius:16px}.sync-telemetry-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 20px;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.sync-telemetry-left{display:flex;align-items:center;gap:10px;font-size:12px}.sync-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.sync-dot.online{background:#10b981;box-shadow:0 0 8px #10b98199}.sync-dot.offline{background:#94a3b8}.sync-status-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.sync-status-pill.idle{background:#94a3b826;color:var(--text-muted)}.sync-status-pill.synced{background:#10b98126;color:#10b981}.sync-status-pill.syncing{background:#f59e0b26;color:#f59e0b}.sync-body-grid{display:flex;flex-direction:column;gap:14px;padding:16px 20px;overflow-y:auto;max-height:calc(90vh - 160px)}.sync-security-box,.sync-providers-box,.sync-automation-box{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px}.sync-box-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--text-primary)}.sync-hint-text{font-size:11px;color:var(--text-secondary);line-height:1.5;margin:0}.sync-pass-row{display:flex;gap:6px}.sync-input{flex:1;padding:7px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:12px;outline:none}.sync-input:focus{border-color:var(--accent)}.sync-tabs-bar{display:flex;gap:6px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.sync-tab-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.sync-tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sync-tab-pane{display:flex;flex-direction:column;gap:10px}.sync-pane-desc{font-size:11px;color:var(--text-secondary);margin:0}.sync-bundle-actions{display:flex;gap:10px;flex-wrap:wrap}.sync-check-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary);cursor:pointer}.sync-check-label input{accent-color:var(--accent);cursor:pointer}.sync-modal-footer{display:flex;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-card)}.collab-modal-card{max-width:660px;width:94vw;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 20px 50px #00000059;border-radius:16px;overflow:hidden}.collab-telemetry-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--bg-hover);border-bottom:1px solid var(--border-color)}.collab-telemetry-left{display:flex;align-items:center;gap:10px}.collab-room-pill{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;background:#3b82f61f;color:var(--accent);border:1px solid rgba(59,130,246,.25);font-family:monospace}.collab-body-grid{padding:16px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.collab-room-box,.collab-roster-box,.collab-broadcast-box,.collab-chat-box{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.collab-box-title{font-size:12px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}.collab-input-row{display:flex;flex-direction:column;gap:4px}.collab-input-row label{font-size:11px;font-weight:600;color:var(--text-secondary)}.collab-input-with-btns{display:flex;gap:6px;align-items:center}.collab-input-with-btns .sync-input{flex:1}.collab-profile-row{display:grid;grid-template-columns:1fr 140px;gap:10px}.collab-profile-field{display:flex;flex-direction:column;gap:4px}.collab-profile-field label{font-size:11px;font-weight:600;color:var(--text-secondary)}.collab-color-picker{height:34px;width:100%;border-radius:6px;border:1px solid var(--border-color);cursor:pointer;background:none;padding:2px}.collab-details{font-size:11px;color:var(--text-muted);cursor:pointer}.collab-details summary{outline:none;font-weight:600}.collab-server-row{margin-top:6px;display:flex;flex-direction:column;gap:4px}.collab-users-roster{display:flex;flex-wrap:wrap;gap:8px;min-height:38px;align-items:center}.collab-user-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:16px;background:var(--bg-hover);border:1px solid var(--border-color);font-size:12px}.collab-user-chip.active-self{border-color:var(--accent);background:#3b82f614;font-weight:600}.collab-user-name{color:var(--text-primary)}.collab-user-page{font-size:10px;color:var(--text-muted);background:var(--bg-card);padding:1px 6px;border-radius:8px;border:1px solid var(--border-color)}.collab-toggles-grid{display:flex;flex-direction:column;gap:6px}.collab-reactions-bar{display:flex;gap:6px;align-items:center}.collab-reaction-btn{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;padding:4px 8px;font-size:14px;cursor:pointer;transition:transform .1s ease}.collab-reaction-btn:hover{transform:scale(1.15);background:var(--accent-light, rgba(59, 130, 246, .15))}.collab-chat-messages{max-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-hover);border-radius:6px;border:1px solid var(--border-color);font-size:12px}.collab-chat-system{color:var(--text-muted);font-style:italic;font-size:11px;text-align:center}.collab-chat-bubble{padding:4px 8px;border-radius:6px;max-width:90%}.collab-chat-bubble.self{align-self:flex-end;background:#3b82f626}.collab-chat-bubble.peer{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border-color)}.chat-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:2px}.chat-author{font-weight:700}.chat-time{color:var(--text-muted)}.chat-text{color:var(--text-primary);word-break:break-word}.collab-chat-input-row{display:flex;gap:6px}.collab-modal-footer{display:flex;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-card)}@media(max-width:480px){.collab-input-with-btns{flex-wrap:wrap}.collab-input-with-btns .sync-input{width:100%;flex:1 1 100%}.collab-input-with-btns button{flex:1 1 auto}.collab-profile-row{grid-template-columns:1fr}}.collab-canvas-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:85;overflow:hidden}.collab-peer-cursor{position:absolute;transform:translate(-3px,-3px);pointer-events:none;transition:left .08s ease-out,top .08s ease-out;display:flex;align-items:flex-start;z-index:90}.collab-cursor-arrow{filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.collab-cursor-label{font-size:10px;font-weight:600;color:#fff;padding:2px 6px;border-radius:4px;white-space:nowrap;box-shadow:0 2px 6px #00000040;margin-left:2px;margin-top:12px}.collab-peer-cursor.drawing .collab-cursor-label{box-shadow:0 0 10px #fffc,0 2px 6px #0000004d;animation:collab-pulse .6s infinite alternate}@keyframes collab-pulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.collab-header-presence{display:inline-flex;align-items:center}.collab-avatar-stack{display:inline-flex;align-items:center;gap:2px;background:var(--bg-hover);border:1px solid var(--border-color);padding:2px 8px;border-radius:14px;cursor:pointer}.collab-avatar-bubble{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--bg-card);display:inline-block}.collab-count-tag{font-size:11px;font-weight:600;color:var(--text-secondary);margin-left:4px}.canvas-container canvas,.annot-canvas-overlay,#annotation-canvas-overlay,#page-container canvas{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.modal-overlay,.modal-backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:opacity .25s cubic-bezier(.16,1,.3,1)}.gallery-card,.sync-device-card,.ocr-method-card{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease}.gallery-card:hover,.sync-device-card:hover,.ocr-method-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f;border-color:var(--accent)}.gallery-card:active,.sync-device-card:active,.ocr-method-card:active{transform:translateY(0)}.feature-progress-btn{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border-color);transition:all .2s cubic-bezier(.16,1,.3,1)}.feature-progress-btn:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-1px)}.progress-ring-mini-container{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.progress-ring-mini{transform:rotate(-90deg);display:block}.progress-ring-mini .progress-ring-bar{stroke:var(--accent);transition:stroke-dashoffset .4s ease}.badge-score-pill{font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;background:var(--accent);color:#fff;letter-spacing:.3px}.progress-modal-card{max-width:860px;width:94vw;max-height:88vh;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;box-shadow:0 28px 70px #00000052;background:var(--bg-card);border:1px solid var(--border-color)}.progress-modal-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:22px}.progress-hero-banner{display:flex;align-items:center;gap:28px;background:linear-gradient(135deg,#6366f117,#a855f717);border:1px solid rgba(99,102,241,.22);border-radius:16px;padding:22px 26px}@media(max-width:680px){.progress-hero-banner{flex-direction:column;text-align:center}}.progress-gauge-wrapper{position:relative;width:130px;height:130px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.progress-hero-svg{transform:rotate(-90deg);display:block}.progress-hero-bar{stroke:var(--accent);transition:stroke-dashoffset .8s cubic-bezier(.16,1,.3,1)}.progress-hero-gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.progress-hero-score-number{font-size:32px;font-weight:800;letter-spacing:-1px;color:var(--text-primary);line-height:1}.progress-hero-score-label{font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--text-muted);margin-top:4px}.progress-hero-stats{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.progress-stat-pill{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.stat-pill-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-pill-val{font-size:17px;font-weight:700;color:var(--text-primary)}.progress-hero-action-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;flex-wrap:wrap}.progress-scan-time-subtext{font-size:12px;color:var(--text-muted)}.progress-section-block{display:flex;flex-direction:column;gap:12px}.progress-section-header{display:flex;align-items:center;justify-content:space-between}.progress-section-header h4{font-size:15px;font-weight:700;margin:0;color:var(--text-primary)}.progress-section-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:8px;background:#6366f11f;color:var(--accent)}.domain-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:14px}@media(max-width:500px){.domain-card-grid{grid-template-columns:1fr}}.domain-score-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.domain-score-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 24px #00000014}.domain-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:8px}.domain-icon-title{display:flex;align-items:center;gap:10px}.domain-card-icon{font-size:24px}.domain-card-name{font-size:14px;font-weight:600;margin:0;color:var(--text-primary)}.domain-card-category{font-size:11px;color:var(--text-muted)}.domain-card-score-pill{font-size:13px;font-weight:700;padding:3px 9px;border-radius:12px;flex-shrink:0;font-variant-numeric:tabular-nums}.score-perfect{background:#22c55e24;color:#16a34a}.score-high{background:#3b82f624;color:#2563eb}.score-med{background:#f59e0b24;color:#d97706}.dark .score-perfect{color:#4ade80}.dark .score-high{color:#60a5fa}.dark .score-med{color:#fbbf24}.domain-progress-bar-wrap{width:100%;height:6px;background:#0000000f;border-radius:3px;overflow:hidden;margin-bottom:12px}.dark .domain-progress-bar-wrap{background:#ffffff14}.domain-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,#38bdf8 100%);border-radius:3px;transition:width .6s cubic-bezier(.16,1,.3,1)}.domain-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px}.domain-stat-subtext{color:var(--text-muted)}.domain-expand-btn{background:none;border:none;cursor:pointer;color:var(--accent);font-size:12px;font-weight:600;padding:2px 4px;display:inline-flex;align-items:center;gap:4px;transition:opacity .15s}.domain-expand-btn:hover{opacity:.8}.expand-arrow{transition:transform .2s ease;display:inline-block}.domain-expand-btn.expanded .expand-arrow{transform:rotate(180deg)}.domain-feature-checklist{list-style:none;margin:12px 0 0;padding:10px 12px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;font-size:12px;background:#00000005;border-radius:8px}.dark .domain-feature-checklist{background:#ffffff08}.domain-feature-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.feature-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.feature-status-dot.status-ready{background:#22c55e;box-shadow:0 0 6px #22c55e80}.feature-status-dot.status-pending{background:#eab308}.feature-name{flex:1;color:var(--text-secondary)}.feature-pct-tag{font-size:11px;font-weight:600;color:var(--text-muted)}.probe-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.probe-item-card{padding:12px 14px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-card);display:flex;flex-direction:column;gap:6px}.probe-item-card.probe-pass{border-color:#22c55e47;background:#22c55e09}.probe-item-card.probe-warn{border-color:#f59e0b47;background:#f59e0b09}.probe-item-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.probe-item-name{font-size:12px;font-weight:600;color:var(--text-primary);flex:1}.probe-status-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:6px}.probe-pass .probe-status-badge{background:#22c55e29;color:#16a34a}.probe-warn .probe-status-badge{background:#f59e0b29;color:#d97706}.dark .probe-pass .probe-status-badge{color:#4ade80}.dark .probe-warn .probe-status-badge{color:#fbbf24}.probe-item-details{font-size:11px;color:var(--text-muted)}.progress-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-top:1px solid var(--border-color);background:var(--bg-card)}.progress-footer-tagline{font-size:11px;color:var(--text-muted)}.modal-card-diarization{width:min(880px,94vw);max-height:90vh;display:flex;flex-direction:column;background:var(--glass-bg, rgba(255, 255, 255, .88));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 24px 64px #00000038;overflow:hidden}.diar-header-left{display:flex;align-items:center;gap:12px}.diar-status-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted)}.diar-status-badge.active{background:#ef444426;color:#ef4444;border-color:#ef444459;animation:pulse-badge 1.5s infinite}@keyframes pulse-badge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(.98)}}.diar-visualizer-container{background:#0000000d;border-radius:12px;margin:12px 24px 8px;padding:6px 12px;border:1px solid var(--border-color);display:flex;justify-content:center}.diar-canvas{width:100%;height:64px;display:block}.diar-controls-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:4px 24px 10px}.diar-controls-left{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.diar-lang-select{padding:6px 10px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);cursor:pointer}.diar-toggle-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-card);border:1px solid var(--border-color);padding:5px 9px;border-radius:8px}.diar-sensitivity-group{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);padding:4px 8px;border-radius:8px}.diar-vad-slider{width:70px;height:4px;accent-color:var(--accent);cursor:pointer}.diar-vad-val{font-weight:700;font-size:11px;color:var(--accent);min-width:24px}.diar-speakers-wrap{display:flex;align-items:center;gap:8px}.diar-speakers-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.diar-speakers-list{display:flex;flex-wrap:wrap;gap:6px}.diar-speaker-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid;border-radius:12px;font-size:11px;background:var(--bg-card)}.diar-speaker-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.diar-speaker-name{font-weight:600;color:var(--text-primary)}.diar-speaker-edit-btn{background:none;border:none;padding:0 2px;cursor:pointer;color:var(--text-muted);font-size:10px}.diar-sub-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 24px 8px}.diar-search-input{flex:1;max-width:280px;padding:5px 10px;font-size:12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary)}.diar-modal-body{padding:0 24px 14px;flex:1;min-height:240px;max-height:380px;overflow-y:auto}.diar-turns-container{display:flex;flex-direction:column;gap:10px}.diar-turn-bubble{background:var(--bg-card);border:1px solid var(--border-color);border-left-width:4px;border-radius:10px;padding:10px 14px;transition:all .2s ease}.diar-turn-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.diar-turn-speaker{font-weight:700;font-size:12px;display:flex;align-items:center;gap:6px}.diar-turn-speaker-select{font-size:11px;font-weight:600;padding:2px 4px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);cursor:pointer}.diar-turn-time{font-size:11px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.diar-turn-body{font-size:13.5px;line-height:1.5;color:var(--text-primary);outline:none}.diar-turn-body:focus{background:#6c63ff0d;border-radius:4px}.diar-empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.diar-empty-state i{font-size:32px;margin-bottom:12px;opacity:.5}.diar-modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-top:1px solid var(--border-color);background:var(--bg-card)}.diar-footer-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diar-options-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.diar-mode-tabs{display:flex;gap:6px;flex-wrap:wrap}.diar-mode-pill{padding:5px 11px;font-size:11.5px;font-weight:600;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.diar-mode-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.diar-footer-actions{display:flex;align-items:center;gap:8px}.text-input-wrapper{position:relative;display:flex;flex-direction:column;border-radius:12px;background:var(--input-bg);border:1px solid var(--sidebar-border);box-shadow:inset 0 1px 3px #0000000a;transition:all .2s cubic-bezier(.16,1,.3,1);overflow:hidden}.text-input-wrapper:focus-within{border-color:var(--accent);box-shadow:inset 0 1px 3px #0000000a,0 0 0 3px var(--accent-light)}.text-input-wrapper #text-input{width:100%;min-height:124px;max-height:280px;padding:16px 14px 10px;background:transparent;border:none;box-shadow:none;outline:none;font-family:"Caveat",cursive,var(--font-family);font-size:17.5px;line-height:1.65;color:var(--text-primary);resize:vertical}.text-telemetry-dock{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:5px 12px 7px;font-size:11px;font-weight:500;color:var(--text-muted);-webkit-user-select:none;user-select:none;font-feature-settings:"tnum";border-top:1px dashed rgba(0,0,0,.07)}html.dark .text-telemetry-dock{border-top-color:#ffffff14}.telemetry-item span{font-weight:600;color:var(--text-secondary)}.telemetry-dot{opacity:.4;font-size:8px}.action-buttons-row{margin-top:10px;display:flex;align-items:center;gap:7px}.btn-render{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--accent) 0%,#b85d26 100%)!important;color:#fff!important;font-weight:600;border:1px solid rgba(0,0,0,.12)!important;border-radius:9px!important;box-shadow:0 2px 6px #a34f1e47;padding:8px 14px;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-render:hover{transform:translateY(-1px);box-shadow:0 4px 12px #a34f1e61}.btn-render:active{transform:translateY(1px);box-shadow:0 1px 3px #a34f1e33}.btn-clear-text{width:36px;min-width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--btn-secondary-bg);border:1px solid var(--sidebar-border);color:var(--text-muted);transition:all .18s ease}.btn-clear-text:hover{color:#dc2626;background:#dc262614;border-color:#dc262640}.btn-diagram-trigger{display:inline-flex;align-items:center;gap:6px;border-radius:9px;background:var(--btn-secondary-bg);border:1px solid var(--sidebar-border);padding:8px 11px;font-size:12.5px;font-weight:500;color:var(--text-primary);transition:all .2s ease}.btn-diagram-trigger:hover{background:var(--accent-light);border-color:#a34f1e4d;color:var(--accent)}.dropdown-chevron{transition:transform .2s cubic-bezier(.16,1,.3,1)}.dropdown.open .dropdown-chevron{transform:rotate(180deg)}.action-buttons-row .dropdown-content{border-radius:10px;padding:6px;min-width:180px;box-shadow:0 10px 25px -3px #00000026,0 4px 6px -2px #0000000d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dropdown-content a{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--text-secondary);transition:all .15s ease}.dropdown-content a:hover{background:var(--accent-light);color:var(--accent)}.dd-item-icon{flex-shrink:0;color:var(--accent);opacity:.85}.drop-zone{border:1.5px dashed var(--sidebar-border);border-radius:12px;padding:14px 12px;text-align:center;cursor:pointer;background:#ffffff4d;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .22s cubic-bezier(.16,1,.3,1)}html.dark .drop-zone{background:#ffffff05}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.drop-icon-svg{color:var(--accent);margin-bottom:2px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.drop-zone:hover .drop-icon-svg{transform:translateY(-2px) scale(1.08)}.btn-save-notebook-card{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:10px;font-size:12.5px;font-weight:600;margin-bottom:12px;background:linear-gradient(135deg,#a34f1e1f,#a34f1e0a);color:var(--accent);border:1.5px solid rgba(163,79,30,.3);box-shadow:0 1px 3px #00000005;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-save-notebook-card:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #a34f1e40}.btn-save-notebook-card:active{transform:translateY(1px)}#notebooks-list{display:flex;flex-direction:column;gap:8px}.notebook-item{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;background:#ffffff73;border:1px solid var(--sidebar-border);box-shadow:0 1px 3px #00000008;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);overflow:hidden}html.dark .notebook-item{background:#ffffff08}.notebook-item:hover{background:#ffffffb3;border-color:#a34f1e59;transform:translateY(-1.5px);box-shadow:0 4px 12px #0000000f}html.dark .notebook-item:hover{background:#ffffff0f}.notebook-spine{width:4px;align-self:stretch;border-radius:3px;flex-shrink:0;box-shadow:inset -1px 0 1px #0003}.notebook-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notebook-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.notebook-badge{padding:1px 6px;border-radius:9999px;background:var(--bg-secondary);font-size:10px;font-weight:600;letter-spacing:.02em}.notebook-actions{display:flex;align-items:center;gap:4px;opacity:.7;transition:opacity .15s ease}.notebook-item:hover .notebook-actions{opacity:1}.nb-action-btn{width:26px;height:26px;min-width:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--text-muted);transition:all .15s ease}.nb-action-btn:hover{background:#0000000d;border-color:var(--sidebar-border);color:var(--text-primary)}html.dark .nb-action-btn:hover{background:#ffffff14}.nb-delete-btn:hover{background:#dc26261a!important;border-color:#dc26264d!important;color:#dc2626!important}.notebooks-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 14px;border-radius:10px;border:1px dashed var(--sidebar-border);color:var(--text-muted);gap:6px}.notebooks-empty-state svg{opacity:.6;margin-bottom:2px}.nb-empty-title{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.nb-empty-sub{font-size:11px;color:var(--text-muted)}.anim-control-card{padding:12px 13px;border-radius:12px;background:var(--input-bg);border:1px solid var(--sidebar-border);box-shadow:0 1px 3px #00000008;margin-bottom:10px}.anim-speed-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.anim-speed-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.anim-speed-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;background:var(--accent-light);font-size:11px;font-weight:600;color:var(--accent)}.anim-speed-unit{font-size:10px;opacity:.75}.anim-speed-descriptor{font-size:10px;font-weight:700;text-transform:uppercase;padding-left:4px;border-left:1px solid rgba(163,79,30,.3)}.anim-slider-wrapper{margin:6px 0}.animation-buttons-row{display:flex;gap:8px}.btn-start{flex:1.3;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-weight:600;background:linear-gradient(135deg,var(--accent) 0%,#b85d26 100%)!important;color:#fff!important;border:1px solid rgba(0,0,0,.12)!important;box-shadow:0 2px 6px #a34f1e47;padding:8px 14px;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-start:hover{transform:translateY(-1px);box-shadow:0 4px 12px #a34f1e61}.btn-start.is-animating{animation:pulse-recording 1.8s infinite}.btn-stop{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;font-weight:500;background:var(--btn-secondary-bg);border:1px solid var(--sidebar-border);color:var(--text-primary);padding:8px 12px;transition:all .18s ease}.btn-stop:hover{background:#dc262614;border-color:#dc26264d;color:#dc2626}.sidebar-footer-links{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:14px 10px 18px;border-top:1px solid var(--sidebar-border)}.footer-link-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:9999px;background:#ffffff80;border:1px solid var(--sidebar-border);font-size:11.5px;font-weight:500;color:var(--text-secondary);text-decoration:none!important;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px #00000005}html.dark .footer-link-pill{background:#ffffff0a}.footer-link-pill:hover{background:var(--accent-light);border-color:#a34f1e4d;color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 8px #a34f1e26}.breadcrumbs-nav,.sidebar-breadcrumbs{display:flex;align-items:center;padding:6px 14px;font-size:11px;color:var(--text-tertiary)}.breadcrumb-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.breadcrumb-item{display:inline-flex;align-items:center}.breadcrumb-link{color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.breadcrumb-link:hover{color:var(--accent)}.breadcrumb-separator{color:var(--text-tertiary);opacity:.5;-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--text-primary);font-weight:500}.export-format-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:4px}.export-format-pill{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:var(--radius);background:var(--bg-alt);border:1px solid var(--border-color);font-size:12.5px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;text-align:center}.export-format-pill input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.export-format-pill:hover{background:var(--btn-hover);border-color:var(--accent)}.export-format-pill:has(input[type=radio]:checked){background:var(--accent-light);border-color:var(--accent);color:var(--accent-strong);font-weight:600;box-shadow:0 2px 8px #a34f1e26}html.dark .export-format-pill:has(input[type=radio]:checked){background:#a34f1e40;border-color:var(--accent);color:#f7f3ea}.shelf-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shelf-search-box{position:relative;flex:1;min-width:220px;display:flex;align-items:center}.shelf-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.shelf-search-box input{width:100%;padding:8px 32px;border-radius:var(--radius);border:1px solid var(--border-color);background:var(--input-bg);font-size:13px;color:var(--text-primary);outline:none;transition:var(--transition)}.shelf-search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #a34f1e26}.shelf-search-box button{position:absolute;right:6px;padding:2px 6px;min-width:20px;font-size:11px}.shelf-sort-box{display:flex;align-items:center;gap:6px}.shelf-tag-chips-container{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:2px 0 6px;border-bottom:1px solid var(--border-color)}.shelf-tag-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;background:var(--bg-alt);border:1px solid var(--border-color);font-size:11.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none}.shelf-tag-chip:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}.shelf-tag-chip.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-strong);font-weight:600;box-shadow:0 1px 4px #a34f1e26}html.dark .shelf-tag-chip.active{background:#a34f1e40;border-color:var(--accent);color:#f7f3ea}.tag-chip-count{font-size:10px;opacity:.75;font-variant-numeric:tabular-nums}.shelf-grid-container{min-height:320px;max-height:52vh;overflow-y:auto;padding:4px 2px}.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.shelf-card{display:flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 8px #0000000a;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;position:relative}.shelf-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014;border-color:var(--accent)}.shelf-card.active-volume{border-color:var(--accent);box-shadow:0 0 0 2px #a34f1e33,0 4px 14px #a34f1e1f}.shelf-card-spine{width:28px;min-width:28px;background:#8b3a16;position:relative;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(0,0,0,.2);box-shadow:inset -2px 0 4px #00000040,inset 1px 0 2px #fff3}.shelf-card-spine-text{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:600;color:#ffffffe0;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:130px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.shelf-spine-ribbon{position:absolute;top:0;left:3px;width:3px;height:100%;background:linear-gradient(180deg,#ffd70066,#ffd7001a)}.shelf-card-body{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}.shelf-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.shelf-card-title-group{min-width:0;flex:1}.shelf-card-title{margin:0;font-size:14.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shelf-card-desc{margin:2px 0 0;font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shelf-fav-star{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:2px 4px;color:var(--text-muted);transition:transform .15s,color .15s}.shelf-fav-star:hover{transform:scale(1.2);color:#eab308}.shelf-fav-star.active{color:#eab308}.shelf-card-tags{display:flex;flex-wrap:wrap;gap:4px}.shelf-card-tag{font-size:10.5px;padding:2px 6px;border-radius:4px;background:var(--bg-alt);color:var(--text-secondary);font-weight:500}.shelf-card-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.shelf-page-badge{font-weight:500;background:#0000000a;padding:2px 6px;border-radius:4px}html.dark .shelf-page-badge{background:#ffffff0f}.shelf-active-badge{font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:1px 6px;border-radius:9999px}html.dark .shelf-active-badge{background:#a34f1e4d;color:#f7f3ea}.shelf-card-actions{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;border-top:1px solid var(--border-color)}.shelf-btn-open{flex:1;justify-content:center}.shelf-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;text-align:center;color:var(--text-muted)}.shelf-empty-title{margin-top:12px;font-size:15px;font-weight:600;color:var(--text-primary)}.shelf-empty-sub{font-size:12.5px;margin-top:4px;max-width:320px}.shelf-color-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.shelf-color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #0003}.shelf-color-swatch:hover{transform:scale(1.12)}.shelf-color-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}.notebook-item.active-item{border-color:var(--accent);background:var(--accent-light)}html.dark .notebook-item.active-item{background:#a34f1e33}.notebook-active-dot{color:var(--accent);font-size:9px;margin-left:2px}.pen-physics-modal-card{max-width:780px;width:95vw;max-height:90vh;display:flex;flex-direction:column}.pen-physics-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 24px 14px;border-bottom:1px solid var(--border-color)}.pen-physics-title{margin:0;font-size:17px;font-weight:600;display:flex;align-items:center;gap:9px;color:var(--text-primary)}.pen-physics-subtitle{margin:4px 0 0;font-size:12.5px;color:var(--text-secondary)}.pen-physics-modal-body{padding:20px 24px;overflow-y:auto;display:grid;grid-template-columns:290px 1fr;gap:24px}@media(max-width:720px){.pen-physics-modal-body{grid-template-columns:1fr;gap:20px}}.pen-physics-section-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.curve-coords-readout{font-size:11px;font-family:var(--font-mono, monospace);color:var(--accent);background:var(--accent-light, rgba(163, 79, 30, .1));padding:2px 7px;border-radius:4px}.curve-graph-container{position:relative;width:280px;height:280px;background:var(--bg-surface, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:12px;box-shadow:inset 0 2px 6px #0000000f;-webkit-user-select:none;user-select:none;touch-action:none}html.dark .curve-graph-container{background:#ffffff05;box-shadow:inset 0 2px 6px #0000004d}#curve-graph-canvas{width:280px;height:280px;display:block;cursor:crosshair}.curve-axis-label{position:absolute;font-size:10px;color:var(--text-muted);pointer-events:none;font-weight:500}.curve-axis-x{bottom:6px;left:28px}.curve-axis-y{top:6px;left:6px;writing-mode:vertical-lr;transform:rotate(180deg)}.nib-presets-section{margin-top:14px}.nib-presets-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.nib-presets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.nib-preset-chip{padding:6px 10px;font-size:11.5px;font-weight:500;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-surface, rgba(255, 255, 255, .6));color:var(--text-primary);cursor:pointer;transition:all .15s ease;text-align:center}.nib-preset-chip:hover{border-color:var(--accent);background:var(--accent-light, rgba(163, 79, 30, .08))}.nib-preset-chip.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 6px #a34f1e40}.pen-physics-col-controls{display:flex;flex-direction:column;gap:16px}.physics-sliders-panel{display:flex;flex-direction:column;gap:12px}.physics-slider-row{display:flex;flex-direction:column;gap:4px}.physics-slider-header{display:flex;justify-content:space-between;align-items:center}.physics-slider-header label{font-size:12.5px;font-weight:600;color:var(--text-primary)}.physics-slider-desc{font-size:11px;color:var(--text-muted)}.scratchpad-section{margin-top:4px;border:1px solid var(--border-color);border-radius:12px;padding:12px;background:var(--bg-surface, rgba(0, 0, 0, .02))}.scratchpad-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--text-secondary)}.scratchpad-buttons{display:flex;gap:6px}.scratchpad-canvas-wrapper{background:#faf8f5;border-radius:8px;overflow:hidden;box-shadow:inset 0 1px 4px #00000014}html.dark .scratchpad-canvas-wrapper{background:#1b1e28}#scratchpad-canvas{width:100%;height:130px;display:block;cursor:crosshair}.pen-physics-footer{padding:14px 24px;border-top:1px solid var(--border-color);display:flex;align-items:center}.audio-lecture-dock{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10001;display:flex;align-items:center;gap:10px;background:var(--bg-translucent, rgba(255, 255, 255, .88));backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid var(--border-color, rgba(0, 0, 0, .1));box-shadow:0 10px 32px #00000029,0 2px 8px #00000014,inset 0 1px 1px #ffffff80;border-radius:9999px;padding:8px 16px;max-width:calc(100vw - 32px);transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1)}.audio-lecture-dock.hidden{display:none!important}html.dark .audio-lecture-dock{background:#18181be0;border-color:#ffffff1f;box-shadow:0 10px 32px #00000073,0 2px 8px #0003,inset 0 1px 1px #ffffff1f}.audio-dock-drag-handle{font-size:16px;opacity:.85;-webkit-user-select:none;user-select:none}.audio-dock-btn{background:transparent;border:1px solid transparent;color:var(--text-primary);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;transition:all .15s ease}.audio-dock-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, .06))}html.dark .audio-dock-btn:hover{background:#ffffff1a}.audio-dock-btn.play{background:var(--accent, #d97706);color:#fff;width:36px;height:36px;border-radius:50%;box-shadow:0 2px 8px #d9770659}.audio-dock-btn.play:hover{filter:brightness(1.1);transform:scale(1.05)}.audio-dock-btn.sm{width:28px;height:28px;font-size:11px;font-weight:600;border-radius:6px}.audio-dock-timeline{display:flex;align-items:center;gap:8px}.audio-dock-time{font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary)}#audio-dock-scrubber{width:140px;height:5px;cursor:pointer}@media(max-width:640px){#audio-dock-scrubber{width:80px}}.audio-dock-chip{background:var(--bg-subtle, rgba(0, 0, 0, .05));border:1px solid var(--border-color, rgba(0, 0, 0, .1));color:var(--text-primary);border-radius:9999px;padding:3px 10px;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.audio-dock-chip:hover{background:var(--bg-hover, rgba(0, 0, 0, .08))}.audio-dock-chip.active{background:var(--accent, #d97706);color:#fff;border-color:var(--accent, #d97706)}.audio-dock-speed-wrapper{position:relative}.audio-dock-speed-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-translucent, rgba(255, 255, 255, .95));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:8px;box-shadow:0 4px 16px #00000026;display:flex;flex-direction:column;padding:4px;gap:2px;z-index:10002}html.dark .audio-dock-speed-menu{background:#1e1e22f2;border-color:#ffffff26}.audio-dock-speed-menu button{background:transparent;border:none;color:var(--text-primary);padding:4px 12px;border-radius:4px;font-size:11.5px;font-weight:600;cursor:pointer;text-align:center}.audio-dock-speed-menu button:hover{background:var(--bg-hover, rgba(0, 0, 0, .08))}.audio-dock-speed-menu button.active{background:var(--accent, #d97706);color:#fff}.audio-sync-modal-card{max-width:860px;width:95vw}.audio-sync-modal-body{display:grid;grid-template-columns:320px 1fr;gap:24px;padding:20px 24px}@media(max-width:768px){.audio-sync-modal-body{grid-template-columns:1fr;gap:16px}}.audio-sync-status-card{background:var(--bg-subtle, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.audio-sync-status-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px}.audio-sync-status-row .status-label{color:var(--text-secondary)}.audio-sync-status-row .status-value{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.audio-sync-actions-group{display:flex;flex-direction:column;gap:8px}.audio-sync-record-panel{background:var(--bg-subtle, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.rec-live-pill{display:inline-flex;align-items:center;gap:4px;background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#ef4444;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:12px;letter-spacing:.5px;animation:pulseRec 1.5s infinite}@keyframes pulseRec{0%,to{opacity:1}50%{opacity:.45}}.audio-sync-record-meter-wrap{width:100%;height:32px;background:#14171f;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;display:flex;align-items:center}#audio-sync-record-meter-canvas{width:100%;height:100%;display:block}.audio-sync-record-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#00000005;border-radius:6px;padding:6px 8px}html.dark .audio-sync-record-metrics{background:#ffffff08}.rec-metric{display:flex;flex-direction:column;align-items:center;font-size:11px}.rec-metric-label{color:var(--text-secondary)}.rec-metric-val{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.audio-sync-record-controls{display:flex;gap:6px;align-items:center}.rec-btn-mic{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1}.rec-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;display:inline-block;box-shadow:0 0 6px #ef4444b3}.rec-btn-mic.recording .rec-dot{animation:pulseRec 1.2s infinite}.rec-interim-preview{font-size:11.5px;color:var(--text-secondary);background:#d9770614;border:1px dashed rgba(217,119,6,.3);padding:6px 8px;border-radius:6px;display:flex;gap:4px;line-height:1.4;max-height:48px;overflow-y:auto}.rec-interim-label{font-weight:600;color:var(--accent);white-space:nowrap}.rec-interim-text{font-style:italic;color:var(--text-primary)}.rec-live-pill.hidden,.rec-interim-preview.hidden{display:none!important}.audio-loop-controls{background:var(--bg-subtle, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.loop-markers-display{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.loop-markers-display b{color:var(--text-primary);font-variant-numeric:tabular-nums}.loop-btn-row{display:flex;gap:6px}.audio-sync-waveform-wrapper{position:relative;background:#faf8f5;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px 4px #00000014}html.dark .audio-sync-waveform-wrapper{background:#191c24}#audio-sync-waveform-canvas{width:100%;height:90px;display:block;cursor:pointer}.audio-sync-playhead{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;box-shadow:0 0 6px #ef4444cc;pointer-events:none;transition:left .05s linear}.audio-sync-transcript-list{background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px solid var(--border-color);border-radius:10px;padding:12px;max-height:200px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.transcript-word-chip{padding:3px 8px;background:var(--bg-translucent, #fff);border:1px solid var(--border-color);border-radius:6px;font-size:12.5px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}html.dark .transcript-word-chip{background:#ffffff0f}.transcript-word-chip:hover{border-color:var(--accent);background:#d977061f}.transcript-word-chip.active{background:var(--accent, #d97706);color:#fff;border-color:var(--accent);box-shadow:0 2px 6px #d9770659;font-weight:600}.transcript-placeholder{color:var(--text-secondary);font-size:13px;font-style:italic;padding:12px 0;width:100%;text-align:center}.audio-sync-footer{padding:14px 24px;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:10px}.math-solver-modal-card{width:95vw;max-width:820px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 24px 60px #00000059;border-radius:16px}.math-solver-modal-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.math-solver-title{margin:0;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.math-solver-subtitle{margin:4px 0 0;font-size:12.5px;color:var(--text-secondary)}.math-mode-tabs-bar{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-subtle, rgba(0, 0, 0, .02));overflow-x:auto}.math-mode-tab{padding:6px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-translucent, #fff);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}html.dark .math-mode-tab{background:#ffffff0d}.math-mode-tab:hover{border-color:var(--accent);color:var(--accent)}.math-mode-tab.active{background:var(--accent, #d97706);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #d977064d}.math-solver-modal-body{padding:18px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1}.math-input-section{display:flex;flex-direction:column;gap:10px}.math-input-wrapper{position:relative;display:flex;align-items:center}.math-input-field{width:100%;padding:12px 16px;font-size:15px;font-family:Outfit,Roboto Mono,monospace;border:1.5px solid var(--border-color);border-radius:10px;background:var(--bg-input, #fff);color:var(--text-primary);outline:none;transition:border-color .15s ease,box-shadow .15s ease}html.dark .math-input-field{background:#ffffff0d}.math-input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d9770626}.math-symbol-palette{display:flex;flex-wrap:wrap;gap:6px}.math-symbol-btn{padding:4px 10px;background:var(--bg-translucent, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-family:serif;font-style:italic;color:var(--text-primary);cursor:pointer;transition:all .15s ease}html.dark .math-symbol-btn{background:#ffffff0f}.math-symbol-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.math-calculus-options{display:flex;align-items:center;gap:16px;padding:8px 12px;background:#4361ee14;border-radius:8px;font-size:13px;color:var(--text-primary)}.math-radio-label{display:flex;align-items:center;gap:6px;cursor:pointer}.math-presets-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.math-preset-label{color:var(--text-secondary);font-weight:500;margin-right:4px}.math-preset-chip{padding:3px 8px;border-radius:6px;background:#0000000a;border:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}html.dark .math-preset-chip{background:#ffffff0d}.math-preset-chip:hover{border-color:var(--accent);color:var(--accent)}.math-solution-card{background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px solid var(--border-color);border-radius:12px;padding:16px;min-height:220px;max-height:380px;overflow-y:auto}.math-sol-header-badge{display:inline-block;padding:3px 10px;background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25);border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize;margin-bottom:14px}.math-step-item{display:flex;gap:12px;margin-bottom:14px}.math-step-num{width:24px;height:24px;border-radius:50%;background:var(--accent, #d97706);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.math-step-content{flex:1}.math-step-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.math-step-desc{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.math-step-formula code{display:block;padding:6px 10px;background:var(--bg-translucent, rgba(0, 0, 0, .04));border:1px solid var(--border-color);border-radius:6px;font-family:Outfit,monospace;font-size:13px;color:var(--text-primary);word-break:break-all}html.dark .math-step-formula code{background:#ffffff0d}.math-final-answer-card{margin-top:16px;padding:12px 16px;background:#d9770614;border-left:4px solid var(--accent, #d97706);border-radius:4px 8px 8px 4px}.math-final-title{font-size:12.5px;font-weight:600;color:var(--accent);margin-bottom:4px;text-transform:uppercase}.math-final-body{font-size:15px;color:var(--text-primary)}.math-ans-val{font-weight:700;color:var(--accent)}.math-graph-preview-card{display:flex;flex-direction:column;gap:10px}.math-graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.math-graph-range-group{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.math-graph-range-group input{width:60px;padding:3px 6px;font-size:12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input, #fff);color:var(--text-primary)}.math-graph-canvas-wrapper{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:8px;overflow:hidden;display:flex;justify-content:center;align-items:center}#math-graph-canvas{width:100%;max-width:620px;height:260px;cursor:crosshair}.math-graph-probe{position:absolute;display:none;pointer-events:none;background:#0f172ae0;color:#fff;padding:3px 8px;border-radius:6px;font-size:11px;font-family:monospace;white-space:nowrap;box-shadow:0 4px 12px #00000040;z-index:10}.math-empty-state{text-align:center;padding:40px 16px;color:var(--text-secondary);font-style:italic;font-size:13.5px}.math-error-state{text-align:center;padding:30px 16px;color:#ef4444;font-weight:500;font-size:13.5px}.math-solver-footer{padding:14px 24px;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:10px}.spatial-canvas-board{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}.spatial-edge-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:6}.spatial-cards-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:7;overflow:visible}.spatial-card{position:absolute;top:0;left:0;pointer-events:auto;border-radius:12px;border:1.5px solid;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;padding:12px;transition:box-shadow .15s ease,border-color .15s ease;-webkit-user-select:text;user-select:text}html.dark .spatial-card{box-shadow:0 8px 28px #00000059}.spatial-card:hover{box-shadow:0 12px 32px #0003}.spatial-card.mode-draw,.spatial-card.mode-split,.spatial-card.mode-overlay{min-width:250px}.spatial-card.mode-overlay{min-height:220px}.spatial-card.mode-overlay .spatial-card-body{position:relative;z-index:1;min-height:120px}.spatial-card.mode-overlay .spatial-card-canvas-container{position:absolute;top:38px;left:10px;right:10px;bottom:32px;z-index:2;pointer-events:none;background:transparent;display:flex;flex-direction:column}.spatial-card.mode-overlay .spatial-card-sketch-toolbar{pointer-events:auto;position:relative;z-index:3;margin-bottom:2px}.spatial-card.mode-overlay .spatial-card-draw-canvas{pointer-events:auto;background:transparent!important;flex:1}.spatial-canvas-board.connecting-active .spatial-card{transition:border-color .2s,box-shadow .2s,transform .2s;cursor:pointer}.spatial-card.connection-target{border-color:#10b981!important;box-shadow:0 0 0 3px #10b9814d,0 12px 32px #0003!important;transform:scale(1.02)}.spatial-card-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.spatial-card-drag-handle{cursor:grab;color:var(--text-secondary);font-size:14px;-webkit-user-select:none;user-select:none;padding:0 2px;flex-shrink:0}.spatial-card-drag-handle:active{cursor:grabbing}.spatial-card-title{flex:1;min-width:60px;font-weight:600;font-size:13.5px;outline:none;color:var(--text-primary);border-radius:4px;padding:1px 4px}.spatial-card-title:focus{background:#fff6}html.dark .spatial-card-title:focus{background:#ffffff14}.spatial-card-dup-btn{background:none;border:none;color:var(--text-secondary);font-size:11px;cursor:pointer;border-radius:4px;padding:2px 4px;transition:all .15s ease}.spatial-card-dup-btn:hover{background:#00000014;color:var(--text-primary)}html.dark .spatial-card-dup-btn:hover{background:#ffffff1a;color:#fff}.spatial-card-del-btn{background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:4px;padding:2px 5px;transition:all .15s ease}.spatial-card-del-btn:hover{background:#ef444426;color:#ef4444}.spatial-card-body{font-size:13px;color:var(--text-primary);outline:none;min-height:44px;line-height:1.45;border-radius:4px;padding:2px 4px;white-space:pre-wrap}.spatial-card-body:focus{background:#fff6}html.dark .spatial-card-body:focus{background:#ffffff14}.spatial-card-footer{display:flex;justify-content:flex-end;margin-top:8px}.spatial-card-link-btn{font-size:11.5px;padding:3px 8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-translucent, #fff);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}html.dark .spatial-card-link-btn{background:#ffffff0f}.spatial-card-link-btn:hover{border-color:var(--accent);color:var(--accent)}.spatial-card-mode-toggle{display:inline-flex;align-items:center;background:#0000000d;border-radius:6px;padding:1px;margin:0 4px}html.dark .spatial-card-mode-toggle{background:#ffffff0f}.spatial-mode-btn{background:none;border:none;font-size:11px;padding:1px 4px;cursor:pointer;border-radius:4px;line-height:1;opacity:.6;transition:all .15s ease}.spatial-mode-btn:hover{opacity:1}.spatial-mode-btn.active{background:var(--bg-card, #fff);opacity:1;box-shadow:0 1px 3px #0000001f}html.dark .spatial-mode-btn.active{background:#ffffff2e;box-shadow:0 1px 3px #0006}.spatial-card-canvas-container{display:flex;flex-direction:column;margin-top:6px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, rgba(0, 0, 0, .1));border-radius:8px;overflow:hidden;position:relative;box-shadow:inset 0 1px 3px #0000000d}html.dark .spatial-card-canvas-container{background:#0f172aa6;border-color:#ffffff14;box-shadow:inset 0 1px 3px #0000004d}.spatial-card-sketch-toolbar{display:flex;align-items:center;justify-content:space-between;padding:3px 6px;background:#00000008;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .08));-webkit-user-select:none;user-select:none}html.dark .spatial-card-sketch-toolbar{background:#ffffff08;border-bottom-color:#ffffff0f}.sketch-tool-group,.sketch-color-group,.sketch-action-group{display:flex;align-items:center;gap:3px}.sketch-tool-btn,.sketch-action-btn{background:none;border:1px solid transparent;font-size:11px;padding:1px 4px;border-radius:4px;cursor:pointer;line-height:1;opacity:.65;transition:all .15s ease}.sketch-tool-btn:hover,.sketch-action-btn:hover{opacity:1;background:#0000000f}html.dark .sketch-tool-btn:hover,html.dark .sketch-action-btn:hover{background:#ffffff1a}.sketch-tool-btn.active{opacity:1;background:#00000014;border-color:var(--border-color, rgba(0, 0, 0, .15))}html.dark .sketch-tool-btn.active{background:#ffffff26;border-color:#fff3}.sketch-color-dot{width:10px;height:10px;border-radius:50%;cursor:pointer;border:1px solid rgba(255,255,255,.8);box-shadow:0 0 1px #0006;transition:transform .15s ease,box-shadow .15s ease}.sketch-color-dot:hover{transform:scale(1.25)}.sketch-color-dot.active{transform:scale(1.3);box-shadow:0 0 0 1.5px var(--accent, #d97706)}.spatial-card-draw-canvas{display:block;cursor:crosshair;touch-action:none;border-radius:0 0 7px 7px}.spatial-card-stroke-badge{font-size:10.5px;color:var(--text-secondary);background:#0000000a;border-radius:4px;padding:2px 6px;margin-right:auto;-webkit-user-select:none;user-select:none}html.dark .spatial-card-stroke-badge{background:#ffffff0f}.spatial-studio-toolbar{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:100;display:inline-flex;align-items:center;gap:5px;padding:4px 6px;max-width:calc(100% - 32px);overflow-x:auto;scrollbar-width:none;background:var(--bg-translucent, rgba(255, 255, 255, .9));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:9999px;box-shadow:0 10px 32px #0000001f,0 2px 6px #0000000a;-webkit-user-select:none;user-select:none;box-sizing:border-box}.spatial-studio-toolbar::-webkit-scrollbar{display:none}html.dark .spatial-studio-toolbar{background:#161b26eb;border-color:#ffffff1f;box-shadow:0 12px 36px #00000061}.spatial-studio-toolbar.is-positioned{position:fixed!important;transform:none;margin:0;z-index:110}.spatial-studio-toolbar.is-dragging{cursor:grabbing!important;box-shadow:0 18px 45px -4px #00000040,0 4px 14px #0000001a!important;transform:scale(1.02)!important;transition:none!important}.spatial-studio-toolbar.is-positioned.is-dragging{transform:scale(1.02)!important}.spatial-drag-handle{cursor:grab;color:var(--text-muted, #94a3b8);font-size:13px;padding:4px 6px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none;flex-shrink:0;touch-action:none}.spatial-drag-handle:hover{color:var(--accent, #a34f1e);background:#0000000d}html.dark .spatial-drag-handle:hover{background:#ffffff14}.spatial-drag-handle:active{cursor:grabbing}.spatial-tb-group{display:inline-flex;align-items:center;gap:2px;padding:2px;background:#00000009;border-radius:9999px;border:1px solid rgba(0,0,0,.04)}html.dark .spatial-tb-group{background:#ffffff0a;border-color:#ffffff0f}.spatial-tb-divider{width:1px;height:16px;background:var(--border-color);opacity:.6;flex-shrink:0;margin:0 1px}html.dark .spatial-tb-divider{background:#ffffff1f}.spatial-tb-btn{height:28px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-ui);font-size:11.5px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:9999px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .16s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.spatial-tb-btn .btn-icon{flex-shrink:0;stroke:currentColor;opacity:.85;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.spatial-tb-btn:hover{background:#fffffff2;color:var(--text-primary);border-color:#0000000f;transform:translateY(-.5px);box-shadow:0 1px 4px #0000000f}html.dark .spatial-tb-btn:hover{background:#ffffff1a;color:#fff;border-color:#ffffff1a;box-shadow:0 2px 6px #00000040}.spatial-tb-btn:hover .btn-icon{opacity:1;transform:scale(1.1)}.spatial-tb-btn:active{transform:translateY(0) scale(.97)}.spatial-tb-exit{font-weight:600;color:var(--text-primary);padding:0 10px}.spatial-tb-exit:hover{color:var(--accent)}.spatial-tb-primary{background:var(--accent);color:#fff!important;font-weight:600;border-color:var(--accent);box-shadow:0 2px 6px #a34f1e47}.spatial-tb-primary .btn-icon{stroke:#fff;opacity:1}.spatial-tb-primary:hover{background:#b55621!important;color:#fff!important;border-color:#b55621;transform:translateY(-.5px);box-shadow:0 3px 10px #a34f1e61}.spatial-tb-accent{background:linear-gradient(135deg,#a34f1e1f,#d96f3029);color:var(--accent-strong, #a34f1e);border:1px solid rgba(163,79,30,.3);font-weight:600}html.dark .spatial-tb-accent{background:linear-gradient(135deg,#e0805033,#e0805014);color:#ffb88c;border-color:#e0805066}.spatial-tb-accent:hover{background:linear-gradient(135deg,var(--accent) 0%,#d96f30 100%)!important;color:#fff!important;border-color:transparent;box-shadow:0 3px 10px #a34f1e52}.spatial-tb-accent:hover .btn-icon{stroke:#fff;opacity:1}@media(max-width:1300px){.spatial-studio-toolbar{gap:4px;padding:3px 4px}.spatial-tb-btn{padding:0 7px;font-size:11px;gap:4px}}@media(max-width:1080px){.spatial-tb-btn .spatial-tb-label{display:none}.spatial-tb-btn{padding:0;width:28px;height:28px}.spatial-tb-exit{width:auto;padding:0 8px}.spatial-tb-exit .spatial-tb-label{display:inline}}.spatial-minimap-radar{position:fixed;bottom:24px;right:24px;width:176px;height:140px;background:var(--bg-translucent, rgba(255, 255, 255, .88));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 24px #0003;z-index:99;display:flex;flex-direction:column;overflow:hidden;padding:6px;-webkit-user-select:none;user-select:none}html.dark .spatial-minimap-radar{background:#1e293be0}.spatial-minimap-radar.hidden,.spatial-studio-toolbar.hidden,.spatial-canvas-board.hidden{display:none!important}.spatial-radar-header{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--accent, #d97706);padding:2px 6px 4px;display:flex;justify-content:space-between;align-items:center;gap:4px}.spatial-radar-title{flex-shrink:0}.spatial-radar-actions{display:flex;align-items:center;gap:3px}.spatial-radar-zoom-badge{font-size:9px;font-weight:600;padding:1px 5px;border-radius:9999px;background:#0000000f;color:var(--text-secondary)}html.dark .spatial-radar-zoom-badge{background:#ffffff1a;color:var(--text-muted)}.spatial-radar-fit-btn{background:none;border:none;color:var(--text-muted, #94a3b8);font-size:11px;line-height:1;cursor:pointer;padding:0 3px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.spatial-radar-fit-btn:hover{color:var(--accent, #d97706);background:#00000014}html.dark .spatial-radar-fit-btn:hover{color:#fff;background:#ffffff1f}.spatial-radar-close-btn{background:none;border:none;color:var(--text-muted, #94a3b8);font-size:14px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.spatial-radar-close-btn:hover{color:var(--text-color, #1e293b);background:#00000014}html.dark .spatial-radar-close-btn:hover{color:#fff;background:#ffffff1f}#spatial-minimap-canvas{width:160px;height:110px;cursor:crosshair;background:#00000008;border-radius:6px}html.dark #spatial-minimap-canvas{background:#00000040}#video-export-modal.hidden{display:none!important}.video-export-modal-card{max-width:800px;width:95vw}.video-export-modal-header{border-bottom:1px solid var(--border-color);padding:16px 24px}.video-export-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.video-export-subtitle{font-size:12.5px;color:var(--text-secondary);margin:4px 0 0}.video-export-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:18px;max-height:75vh;overflow-y:auto}.video-export-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px dashed var(--border-color);border-radius:12px}.video-export-empty-state.hidden{display:none!important}.video-empty-icon{font-size:40px;margin-bottom:12px}.video-export-empty-state h4{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--text-primary)}.video-export-empty-state p{font-size:13px;color:var(--text-secondary);max-width:420px;margin:0 0 16px}.video-export-config-container{display:flex;flex-direction:column;gap:16px;transition:opacity .2s ease}.video-export-config-container.hidden{display:none!important}.video-export-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;background:var(--bg-subtle, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:10px;padding:12px 16px}.video-summary-item{display:flex;flex-direction:column;gap:2px}.video-summary-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.video-summary-val{font-size:13.5px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-export-section-title{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary)}.video-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.video-preset-card{position:relative;background:var(--bg-translucent, rgba(255, 255, 255, .6));border:1.5px solid var(--border-color);border-radius:12px;padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer;transition:all .2s ease;text-align:left;-webkit-user-select:none;user-select:none}html.dark .video-preset-card{background:#1e293b99}.video-preset-card:hover{border-color:var(--accent, #6366f1);transform:translateY(-2px);box-shadow:0 4px 14px #6366f126}.video-preset-card.active{border-color:var(--accent, #6366f1);background:#6366f114;box-shadow:0 0 0 1px var(--accent, #6366f1)}html.dark .video-preset-card.active{background:#6366f133}.preset-icon{font-size:22px}.preset-details{display:flex;flex-direction:column;gap:2px}.preset-name{font-size:13px;font-weight:700;color:var(--text-primary)}.preset-specs{font-size:11px;color:var(--text-secondary)}.preset-badge{position:absolute;top:8px;right:8px;font-size:9.5px;font-weight:700;text-transform:uppercase;padding:2px 6px;background:var(--accent, #6366f1);color:#fff;border-radius:10px;letter-spacing:.3px}.video-options-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px solid var(--border-color);border-radius:10px}.video-option-group{display:flex;align-items:center;gap:10px}.video-option-label{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.video-fps-group{display:flex;gap:4px;background:var(--border-color);padding:2px;border-radius:8px}.video-fps-btn{padding:4px 10px;font-size:12px;font-weight:600;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.video-fps-btn.active{background:var(--bg-translucent, #fff);color:var(--text-primary);box-shadow:0 1px 4px #0000001a}html.dark .video-fps-btn.active{background:#334155;color:#fff}.video-checkbox-group{display:flex;align-items:center;gap:14px}.video-toggle-label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.video-toggle-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent, #6366f1)}.video-est-size-badge{font-size:12px;font-weight:700;padding:3px 8px;background:var(--accent-subtle, rgba(99, 102, 241, .12));color:var(--accent, #6366f1);border-radius:6px}.video-export-progress-container{display:flex;flex-direction:column;gap:10px;padding:16px 20px;background:var(--bg-subtle, rgba(0, 0, 0, .03));border:1px solid var(--border-color);border-radius:12px}.video-export-progress-container.hidden{display:none!important}.video-progress-header{display:flex;justify-content:space-between;align-items:center}.video-status-text{font-size:13px;font-weight:600;color:var(--text-primary)}.video-percent-text{font-size:14px;font-weight:700;color:var(--accent, #6366f1);font-variant-numeric:tabular-nums}.video-progress-track{width:100%;height:10px;background:#00000014;border-radius:6px;overflow:hidden}html.dark .video-progress-track{background:#ffffff1a}.video-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:6px;transition:width .1s linear}.video-progress-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-secondary)}.video-export-result-container{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px solid var(--border-color);border-radius:12px}.video-export-result-container.hidden{display:none!important}.video-result-header{display:flex;justify-content:space-between;align-items:center}.video-result-badge{font-size:12px;font-weight:700;padding:3px 10px;background:#10b98126;color:#10b981;border-radius:20px}.video-result-specs{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.video-preview-wrapper{width:100%;max-height:320px;background:#000;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}#video-export-preview{max-width:100%;max-height:320px;width:auto;height:auto;border-radius:8px}.video-export-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.video-render-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important}.video-download-btn{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important}.transcompiler-modal-card{max-width:680px;width:94vw;max-height:90vh;display:flex;flex-direction:column}.transcompiler-modal-body{overflow-y:auto;padding:18px 24px;display:flex;flex-direction:column;gap:16px}.transcompile-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:12px;background:#6366f11f;color:var(--accent, #6366f1);border:1px solid rgba(99,102,241,.25)}.transcompile-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:10px 14px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border:1px solid var(--border-color, rgba(0, 0, 0, .08));border-radius:10px}.transcompile-metric-chip{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #64748b)}.tc-metric-value{color:var(--text-primary, #1e293b);font-variant-numeric:tabular-nums;font-weight:600}.transcompiler-title-group{display:flex;flex-direction:column;gap:6px}.transcompile-field-label,.transcompile-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #64748b)}.transcompile-title-input{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.transcompile-title-input:focus{border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.transcompiler-format-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(max-width:580px){.transcompiler-format-grid{grid-template-columns:1fr}}.transcompiler-format-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;background:var(--bg-card, #ffffff);border:1.5px solid var(--border-color, rgba(0, 0, 0, .08));cursor:pointer;text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1)}.transcompiler-format-card:hover{border-color:var(--accent, #6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.transcompiler-format-card.active{border-color:var(--accent, #6366f1);background:#6366f10f;box-shadow:0 0 0 2px #6366f133}.tc-format-icon{font-size:20px;line-height:1}.tc-format-info{display:flex;flex-direction:column;gap:2px}.tc-format-name{font-size:13px;font-weight:700;color:var(--text-primary, #1e293b)}.tc-format-desc{font-size:11px;color:var(--text-secondary, #64748b);line-height:1.35}.transcompile-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;padding:10px 14px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:10px;border:1px solid var(--border-color, rgba(0, 0, 0, .08))}@media(max-width:580px){.transcompile-options-grid{grid-template-columns:1fr}}.transcompile-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--text-primary, #334155);-webkit-user-select:none;user-select:none}.transcompile-checkbox-label input{position:absolute;opacity:0;width:0;height:0}.tc-checkbox-custom{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.transcompile-checkbox-label input:checked+.tc-checkbox-custom{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1)}.transcompile-checkbox-label input:checked+.tc-checkbox-custom:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.transcompile-preview-section{display:flex;flex-direction:column;gap:6px}.transcompile-preview-header{display:flex;justify-content:space-between;align-items:center}.transcompile-preview-label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #64748b)}.transcompile-preview-hint{font-size:11px;color:var(--text-secondary, #94a3b8)}.transcompile-preview-textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-family:var(--font-mono, monospace);font-size:12px;line-height:1.5;resize:vertical;min-height:100px;max-height:220px}.transcompile-preview-textarea:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.transcompiler-execute-btn{background:linear-gradient(135deg,var(--accent, #6366f1),#8b5cf6)!important;color:#fff!important;font-weight:600;box-shadow:0 2px 8px #6366f159}.transcompiler-execute-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f173}.study-pack-modal-card{width:720px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.study-pack-badge{display:inline-block;font-size:11px;font-family:var(--font-mono, monospace);font-weight:600;color:var(--accent, #6366f1);background:#6366f11f;border:1px solid rgba(99,102,241,.25);padding:2px 8px;border-radius:999px;letter-spacing:.3px}.sp-tab-bar{display:flex;gap:8px;padding:8px 18px;background:var(--bg-hover, rgba(0, 0, 0, .025));border-bottom:1px solid var(--border-color, #e2e8f0)}.sp-tab-btn{border:none;background:transparent;color:var(--text-secondary, #64748b);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.sp-tab-btn:hover{color:var(--text-primary, #0f172a)}.sp-tab-btn.active{background:var(--bg-card, #ffffff);color:var(--accent, #6366f1);box-shadow:0 2px 6px #0000000f}.sp-modal-body{padding:18px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;flex:1}.sp-modal-body.hidden,.sp-inspect-card.hidden,.sp-lock-box.hidden,.sp-dropzone.hidden,.sp-pass-container.hidden,.sp-action-btn.hidden{display:none!important}.sp-section-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary, #64748b);margin-top:4px}.sp-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:600px){.sp-meta-grid,.sp-components-grid,.sp-strategy-options{grid-template-columns:1fr!important}}.sp-field-group{display:flex;flex-direction:column;gap:4px}.sp-field-full{grid-column:1 / -1}.sp-field-label{font-size:12px;font-weight:600;color:var(--text-primary, #0f172a)}.sp-text-input,.sp-textarea{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-size:13px;box-sizing:border-box;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.sp-text-input:focus,.sp-textarea:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.sp-textarea{resize:vertical;min-height:56px}.sp-components-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sp-comp-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.sp-comp-card:hover{border-color:var(--accent, #6366f1);background:#6366f106}.sp-comp-card input[type=checkbox],.sp-inspect-item-row input[type=checkbox]{accent-color:var(--accent, #6366f1);width:16px;height:16px;cursor:pointer}.sp-comp-icon{font-size:18px;flex-shrink:0}.sp-comp-info{display:flex;flex-direction:column;flex:1;min-width:0}.sp-comp-name{font-size:13px;font-weight:600;color:var(--text-primary, #0f172a)}.sp-comp-sub{font-size:11px;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-count-badge{font-size:11px;font-weight:600;color:var(--accent, #6366f1);background:#6366f11a;padding:2px 7px;border-radius:999px;white-space:nowrap}.sp-security-panel{padding:12px 14px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-hover, rgba(0, 0, 0, .015))}.sp-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.sp-checkbox-text{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.sp-pass-container{margin-top:10px;display:flex;flex-direction:column;gap:4px}.sp-pass-hint{font-size:11px;color:var(--text-secondary, #64748b)}.sp-dropzone{border:2px dashed var(--accent, #6366f1);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;background:#6366f108;transition:all .2s ease}.sp-dropzone.dragover,.sp-dropzone:hover{background:#6366f114;border-color:#8b5cf6}.sp-dropzone-icon{font-size:36px;margin-bottom:8px}.sp-dropzone-text{font-size:15px;font-weight:600;color:var(--text-primary, #0f172a)}.sp-dropzone-sub{font-size:12px;color:var(--text-secondary, #64748b);margin-top:4px}.sp-lock-box{padding:20px;border-radius:12px;border:1px solid rgba(239,68,68,.3);background:#ef44440a;text-align:center;margin-bottom:12px}.sp-lock-icon{font-size:28px;margin-bottom:6px}.sp-lock-title{font-size:15px;font-weight:700;color:var(--text-primary, #0f172a);margin:0 0 6px}.sp-lock-desc{font-size:12px;color:var(--text-secondary, #64748b);margin:0 0 12px}.sp-lock-input-row{display:flex;gap:8px;justify-content:center;max-width:360px;margin:0 auto}.sp-inspect-card{border:1px solid var(--border-color, #cbd5e1);border-radius:12px;padding:16px;background:var(--bg-card, #ffffff);display:flex;flex-direction:column;gap:12px}.sp-inspect-header{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--border-color, #e2e8f0)}.sp-inspect-title-row{display:flex;align-items:center;gap:10px}.sp-inspect-icon{font-size:24px}.sp-inspect-meta{display:flex;flex-direction:column;flex:1}.sp-inspect-title{font-size:16px;font-weight:700;margin:0;color:var(--text-primary, #0f172a)}.sp-inspect-sub{font-size:12px;color:var(--text-secondary, #64748b)}.sp-inspect-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#6366f11f;color:var(--accent, #6366f1)}.sp-inspect-desc{font-size:12px;color:var(--text-secondary, #64748b);line-height:1.4;margin:0}.sp-inspect-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary, #64748b);margin-top:4px}.sp-inspect-list{display:flex;flex-direction:column;gap:8px}.sp-inspect-item-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;transition:all .15s ease}.sp-inspect-item-row:hover{border-color:var(--accent, #6366f1)}.sp-strategy-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sp-strategy-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;transition:all .15s ease}.sp-strategy-card:hover{border-color:var(--accent, #6366f1)}.sp-strategy-card input[type=radio]{accent-color:var(--accent, #6366f1);margin-top:2px}.sp-strategy-info{display:flex;flex-direction:column;gap:2px}.sp-strategy-info strong{font-size:13px;color:var(--text-primary, #0f172a)}.sp-strategy-info span{font-size:11px;color:var(--text-secondary, #64748b);line-height:1.3}.sp-action-btn{background:linear-gradient(135deg,var(--accent, #6366f1),#8b5cf6)!important;color:#fff!important;font-weight:600;box-shadow:0 2px 8px #6366f159}.sp-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f173}.sp-modal-footer{display:flex!important;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:12px}html.dark .sp-tab-bar{background:#ffffff05;border-bottom-color:#ffffff14}html.dark .sp-tab-btn.active{background:var(--bg-card, #181826);color:var(--accent, #818cf8)}html.dark .sp-text-input,html.dark .sp-textarea,html.dark .sp-comp-card,html.dark .sp-inspect-card,html.dark .sp-inspect-item-row,html.dark .sp-strategy-card{background:var(--bg-card, #181826);border-color:#ffffff14;color:var(--text-primary)}html.dark .sp-security-panel{background:#ffffff05;border-color:#ffffff14}html.dark .sp-dropzone{background:#6366f10f;border-color:#6366f166}html.dark .sp-dropzone.dragover,html.dark .sp-dropzone:hover{background:#6366f11f;border-color:var(--accent, #818cf8)}html.dark .sp-inspect-header{border-bottom-color:#ffffff14}html.dark .sp-modal-footer{background:var(--bg-card, #181826);border-top-color:#ffffff14}#diagram-studio-modal.hidden{display:none!important}.diagram-studio-modal-card{width:95vw;max-width:1300px;height:90vh;max-height:880px;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important;border-radius:16px;background:var(--bg-card, #ffffff);box-shadow:0 24px 60px #00000047}.diagram-studio-badge{background:#6366f11f;color:var(--accent, #6366f1);padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.diagram-studio-body{display:flex;flex:1;overflow:hidden;background:var(--bg-card, #ffffff)}.ds-sidebar-panel{width:440px;min-width:380px;max-width:460px;border-right:1px solid var(--border-color, #e2e8f0);display:flex;flex-direction:column;background:var(--bg-panel, #f8fafc);overflow-y:auto}.ds-nav-tabs{display:flex;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:4px;padding:6px 10px 0}.ds-nav-tab{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;border-top-left-radius:6px;border-top-right-radius:6px;transition:all .15s ease;white-space:nowrap}.ds-nav-tab:hover{color:var(--text-primary, #0f172a)}.ds-nav-tab.active{color:var(--accent, #6366f1);border-bottom-color:var(--accent, #6366f1);background:var(--bg-panel, #f8fafc)}.ds-panel-section{padding:16px;display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto}.ds-panel-section.hidden{display:none!important}.ds-section-desc{font-size:12px;color:var(--text-secondary, #64748b);font-weight:500}.ds-section-header-row{display:flex;align-items:center;justify-content:space-between}.ds-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ds-template-card{padding:12px;border-radius:10px;border:1.5px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;display:flex;gap:10px;align-items:center;transition:all .2s ease}.ds-template-card:hover{border-color:var(--accent, #6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.ds-template-card.active{border-color:var(--accent, #6366f1);background:#6366f114;box-shadow:0 0 0 1px var(--accent, #6366f1)}.ds-tpl-icon{width:36px;height:36px;border-radius:8px;background:#6366f11a;color:var(--accent, #6366f1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ds-tpl-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.ds-tpl-name{font-size:13px;font-weight:600;color:var(--text-primary, #0f172a);line-height:1.3}.ds-tpl-type{font-size:10px;font-weight:700;color:var(--accent, #6366f1);letter-spacing:.5px}.ds-items-container{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}.ds-node-row,.ds-edge-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0)}.ds-node-preview-icon{font-size:11px;font-weight:700;color:var(--accent, #6366f1);background:#6366f11a;padding:3px 6px;border-radius:4px;text-transform:uppercase}.ds-node-fields,.ds-edge-fields{display:flex;align-items:center;gap:6px;flex:1;overflow:hidden}.ds-edge-arrow{color:var(--text-secondary, #64748b);font-size:12px}.ds-input{padding:6px 10px;border-radius:6px;border:1px solid var(--border-color, #cbd5e1);font-size:13px;background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);flex:1;outline:none}.ds-input:focus{border-color:var(--accent, #6366f1)}.ds-select{padding:6px 8px;border-radius:6px;border:1px solid var(--border-color, #cbd5e1);font-size:13px;background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);outline:none}.btn-icon-danger{width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:#ef4444;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.btn-icon-danger:hover{background:#ef44441f}.ds-empty-hint{padding:30px 16px;text-align:center;font-size:13px;color:var(--text-secondary, #64748b);border:1.5px dashed var(--border-color, #cbd5e1);border-radius:8px}.ds-form-group{display:flex;flex-direction:column;gap:6px}.ds-form-row{display:flex;gap:12px}.ds-half{flex:1}.ds-slider-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.ds-val-badge{font-size:12px;font-weight:700;color:var(--accent, #6366f1)}.ds-swatches-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0}.ds-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.ds-color-swatch:hover{transform:scale(1.1)}.ds-color-swatch.active{border-color:#fff;box-shadow:0 0 0 2.5px var(--accent, #6366f1);transform:scale(1.18)}.ds-code-editor{width:100%;height:480px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:12px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);resize:none;outline:none;line-height:1.45}.ds-code-editor:focus{border-color:var(--accent, #6366f1)}.ds-preview-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-hover, #f1f5f9);overflow:hidden;position:relative}.ds-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff)}.ds-preview-title{font-size:13px;font-weight:600;color:var(--text-secondary, #64748b)}.ds-zoom-controls{display:flex;align-items:center;gap:6px}.ds-zoom-label{font-size:12px;font-weight:700;min-width:44px;text-align:center;color:var(--text-primary, #0f172a)}.ds-canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:20px}#diagram-studio-canvas{box-shadow:0 10px 30px #0000001f;border-radius:10px;cursor:grab;background:#fcfbf7;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}.ds-modal-footer{display:flex!important;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:10px}html.dark .diagram-studio-modal-card{background:var(--bg-card, #181826);border:1px solid rgba(255,255,255,.08)}html.dark .ds-sidebar-panel{background:#ffffff05;border-right-color:#ffffff14}html.dark .ds-nav-tabs{background:var(--bg-card, #181826);border-bottom-color:#ffffff14}html.dark .ds-nav-tab.active{background:#ffffff05}html.dark .ds-template-card,html.dark .ds-node-row,html.dark .ds-edge-row,html.dark .ds-input,html.dark .ds-select,html.dark .ds-code-editor{background:var(--bg-card, #181826);border-color:#ffffff14;color:var(--text-primary)}html.dark .ds-preview-panel{background:#11111b}html.dark .ds-preview-toolbar,html.dark .ds-modal-footer{background:var(--bg-card, #181826);border-color:#ffffff14}html.dark .ds-zoom-label{color:var(--text-primary)}.cs-modal-card{width:min(1200px,96vw);height:min(780px,92vh);display:flex;flex-direction:column;overflow:hidden;padding:0!important}.cs-header-title-wrap{display:flex;align-items:center;gap:10px}.cs-nav-tabs{display:flex;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:4px;padding:6px 14px 0}.cs-tab-btn{padding:8px 14px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;border-top-left-radius:6px;border-top-right-radius:6px;transition:all .15s ease;white-space:nowrap}.cs-tab-btn:hover{color:var(--text-primary, #0f172a)}.cs-tab-btn.active{color:var(--accent, #6366f1);border-bottom-color:var(--accent, #6366f1);background:var(--bg-panel, #f8fafc)}.cs-modal-body{display:flex;flex:1;overflow:hidden;background:var(--bg-card, #ffffff)}.cs-control-panel{width:440px;min-width:380px;max-width:460px;border-right:1px solid var(--border-color, #e2e8f0);display:flex;flex-direction:column;background:var(--bg-panel, #f8fafc);overflow-y:auto}.cs-panel-section{padding:16px;display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto}.cs-panel-section.hidden{display:none!important}.cs-section-desc{font-size:12px;color:var(--text-secondary, #64748b);font-weight:500}.cs-section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cs-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cs-preset-card{padding:12px;border-radius:10px;border:1.5px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:all .2s ease}.cs-preset-card:hover{border-color:var(--accent, #6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.cs-preset-card.selected{border-color:var(--accent, #6366f1);background:#6366f114;box-shadow:0 0 0 1px var(--accent, #6366f1)}.cs-card-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.cs-card-title{font-size:13px;font-weight:600;color:var(--text-primary, #0f172a)}.cs-category-badge{font-size:10px;font-weight:700;color:var(--accent, #6366f1);background:#6366f11f;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.cs-card-formula{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-secondary, #64748b);font-weight:500}.cs-items-container{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}.cs-inspector-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0)}.cs-row-element{display:flex;align-items:center}.cs-input-element,.cs-input-coord-x,.cs-input-coord-y,.cs-select-bond-from,.cs-select-bond-to,.cs-select-bond-type{padding:4px 8px;font-size:12px;border-radius:6px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);outline:none}.cs-input-element:focus,.cs-input-coord-x:focus,.cs-input-coord-y:focus,.cs-select-bond-from:focus,.cs-select-bond-to:focus,.cs-select-bond-type:focus{border-color:var(--accent, #6366f1)}.cs-row-coords{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b)}.cs-row-bonds{display:flex;align-items:center;gap:6px;flex:1}.cs-bond-arrow{font-size:12px;color:var(--text-secondary, #64748b)}.cs-btn-del-atom,.cs-btn-del-bond{width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:#ef4444;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.cs-btn-del-atom:hover,.cs-btn-del-bond:hover{background:#ef44441f}.cs-empty-state{padding:30px 16px;text-align:center;font-size:13px;color:var(--text-secondary, #64748b);border:1.5px dashed var(--border-color, #cbd5e1);border-radius:8px}.cs-form-group{display:flex;flex-direction:column;gap:6px}.cs-form-row{display:flex;gap:12px}.cs-half{flex:1}.cs-slider-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.cs-val-badge{font-size:12px;font-weight:700;color:var(--accent, #6366f1)}.cs-swatches-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0}.cs-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.cs-color-swatch:hover{transform:scale(1.1)}.cs-color-swatch.active{border-color:#fff;box-shadow:0 0 0 2.5px var(--accent, #6366f1);transform:scale(1.18)}.cs-code-editor{width:100%;height:480px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:12px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);resize:none;outline:none;line-height:1.45}.cs-code-editor:focus{border-color:var(--accent, #6366f1)}.cs-checkbox-group{display:flex;align-items:flex-end;padding-bottom:6px}.cs-checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;cursor:pointer;color:var(--text-primary, #0f172a)}.cs-preview-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-hover, #f1f5f9);overflow:hidden;position:relative}.cs-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff)}.cs-preview-meta{display:flex;flex-direction:column;gap:2px}.cs-preview-title{font-size:14px;font-weight:700;color:var(--text-primary, #0f172a)}.cs-preview-formula{font-family:ui-monospace,monospace;font-size:12px;color:var(--accent, #6366f1);font-weight:600}.cs-zoom-controls{display:flex;align-items:center;gap:6px}.cs-zoom-label{font-size:12px;font-weight:700;min-width:44px;text-align:center;color:var(--text-primary, #0f172a)}.cs-canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:20px}#chemistry-studio-canvas{box-shadow:0 10px 30px #0000001f;border-radius:10px;cursor:grab;background:#fcfbf7;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}.cs-modal-footer{display:flex!important;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:10px}html.dark .cs-modal-card{background:var(--bg-card, #181826);border:1px solid rgba(255,255,255,.08)}html.dark .cs-control-panel{background:#ffffff05;border-right-color:#ffffff14}html.dark .cs-nav-tabs{background:var(--bg-card, #181826);border-bottom-color:#ffffff14}html.dark .cs-tab-btn.active{background:#ffffff05}html.dark .cs-preset-card,html.dark .cs-inspector-row,html.dark .cs-input-element,html.dark .cs-input-coord-x,html.dark .cs-input-coord-y,html.dark .cs-select-bond-from,html.dark .cs-select-bond-to,html.dark .cs-select-bond-type,html.dark .cs-select,html.dark .cs-code-editor{background:var(--bg-card, #181826);border-color:#ffffff14;color:var(--text-primary)}html.dark .cs-checkbox-label{color:var(--text-primary)}html.dark .cs-preview-panel{background:#11111b}html.dark .cs-preview-toolbar,html.dark .cs-modal-footer{background:var(--bg-card, #181826);border-color:#ffffff14}html.dark .cs-zoom-label{color:var(--text-primary)}.circ-modal-card{width:min(1200px,96vw);height:min(780px,92vh);display:flex;flex-direction:column;overflow:hidden;padding:0!important}.circ-header-title-wrap{display:flex;align-items:center;gap:10px}.circ-nav-tabs{display:flex;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:4px;padding:6px 14px 0}.circ-tab-btn{padding:8px 14px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;border-top-left-radius:6px;border-top-right-radius:6px;transition:all .15s ease;white-space:nowrap}.circ-tab-btn:hover{color:var(--text-primary, #0f172a)}.circ-tab-btn.active{color:var(--accent, #6366f1);border-bottom-color:var(--accent, #6366f1);background:var(--bg-panel, #f8fafc)}.circ-modal-body{display:flex;flex:1;overflow:hidden;background:var(--bg-card, #ffffff)}.circ-control-panel{width:440px;min-width:380px;max-width:460px;border-right:1px solid var(--border-color, #e2e8f0);display:flex;flex-direction:column;background:var(--bg-panel, #f8fafc);overflow-y:auto}.circ-panel-section{padding:16px;display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto}.circ-panel-section.hidden{display:none!important}.circ-section-desc{font-size:12px;color:var(--text-secondary, #64748b);font-weight:500}.circ-section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.circ-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.circ-preset-card{padding:12px;border-radius:10px;border:1.5px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:all .2s ease}.circ-preset-card:hover{border-color:var(--accent, #6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.circ-preset-card.selected{border-color:var(--accent, #6366f1);background:#6366f114;box-shadow:0 0 0 1px var(--accent, #6366f1)}.circ-card-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.circ-card-title{font-size:13px;font-weight:600;color:var(--text-primary, #0f172a)}.circ-category-badge{font-size:10px;font-weight:700;color:var(--accent, #6366f1);background:#6366f11f;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.circ-card-desc{font-size:11px;color:var(--text-secondary, #64748b);line-height:1.35}.circ-items-container{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}.circ-inspector-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0)}.circ-row-type{display:flex;align-items:center}.circ-row-label{display:flex;align-items:center;flex:1}.circ-input-label,.circ-select-comp-type,.circ-wire-x1,.circ-wire-y1,.circ-wire-x2,.circ-wire-y2,.circ-select{padding:4px 8px;font-size:12px;border-radius:6px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);outline:none}.circ-input-label:focus,.circ-select-comp-type:focus,.circ-wire-x1:focus,.circ-wire-y1:focus,.circ-wire-x2:focus,.circ-wire-y2:focus,.circ-select:focus{border-color:var(--accent, #6366f1)}.circ-row-wire-coords{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b);flex:1}.circ-btn-del-item{width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:#ef4444;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.circ-btn-del-item:hover{background:#ef44441f}.circ-empty-state{padding:30px 16px;text-align:center;font-size:13px;color:var(--text-secondary, #64748b);border:1.5px dashed var(--border-color, #cbd5e1);border-radius:8px}.circ-form-group{display:flex;flex-direction:column;gap:6px}.circ-form-row{display:flex;gap:12px}.circ-half{flex:1}.circ-slider-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.circ-val-badge{font-size:12px;font-weight:700;color:var(--accent, #6366f1)}.circ-swatches-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0}.circ-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.circ-color-swatch:hover{transform:scale(1.1)}.circ-color-swatch.active{border-color:#fff;box-shadow:0 0 0 2.5px var(--accent, #6366f1);transform:scale(1.18)}.circ-code-editor{width:100%;height:480px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:12px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);resize:none;outline:none;line-height:1.45}.circ-code-editor:focus{border-color:var(--accent, #6366f1)}.circ-preview-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-hover, #f1f5f9);overflow:hidden;position:relative}.circ-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff)}.circ-preview-meta{display:flex;flex-direction:column;gap:2px}.circ-preview-title{font-size:14px;font-weight:700;color:var(--text-primary, #0f172a)}.circ-preview-formula{font-size:12px;color:var(--accent, #6366f1);font-weight:600}.circ-zoom-controls{display:flex;align-items:center;gap:6px}.circ-zoom-label{font-size:12px;font-weight:700;min-width:44px;text-align:center;color:var(--text-primary, #0f172a)}.circ-canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:20px}#circuit-studio-canvas{box-shadow:0 10px 30px #0000001f;border-radius:10px;cursor:grab;background:#fcfbf7;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}.circ-modal-footer{display:flex!important;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:10px}html.dark .circ-modal-card{background:var(--bg-card, #181826);border:1px solid rgba(255,255,255,.08)}html.dark .circ-control-panel{background:#ffffff05;border-right-color:#ffffff14}html.dark .circ-nav-tabs{background:var(--bg-card, #181826);border-bottom-color:#ffffff14}html.dark .circ-tab-btn.active{background:#ffffff05}html.dark .circ-preset-card,html.dark .circ-inspector-row,html.dark .circ-input-label,html.dark .circ-wire-x1,html.dark .circ-wire-y1,html.dark .circ-wire-x2,html.dark .circ-wire-y2,html.dark .circ-select-comp-type,html.dark .circ-select,html.dark .circ-code-editor{background:var(--bg-card, #181826);border-color:#ffffff14;color:var(--text-primary)}html.dark .circ-preview-panel{background:#11111b}html.dark .circ-preview-toolbar,html.dark .circ-modal-footer{background:var(--bg-card, #181826);border-color:#ffffff14}html.dark .circ-zoom-label{color:var(--text-primary)}.music-modal-card{width:95vw!important;max-width:1220px!important;height:88vh!important;display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:var(--bg-card, #ffffff);box-shadow:0 25px 50px -12px #00000040;border:1px solid var(--border-color, #e2e8f0)}.music-header-title-wrap{display:flex;align-items:center;gap:10px}.music-header-title-wrap h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary, #0f172a)}.music-nav-tabs{display:flex;background:var(--bg-card, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:0 20px;gap:8px;flex-shrink:0}.music-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--text-muted, #64748b);cursor:pointer;transition:all .15s ease}.music-tab-btn:hover{color:var(--text-primary, #0f172a)}.music-tab-btn.active{color:var(--accent, #6366f1);border-bottom-color:var(--accent, #6366f1)}.music-modal-body{display:flex;flex:1;overflow:hidden}.music-control-panel{width:380px;border-right:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);overflow-y:auto;padding:18px;flex-shrink:0}.music-panel-section{display:flex;flex-direction:column;gap:16px}.music-panel-section.hidden{display:none}.music-section-desc{font-size:12.5px;color:var(--text-muted, #64748b);line-height:1.45;margin-bottom:4px}.music-preset-grid{display:flex;flex-direction:column;gap:10px}.music-preset-card{padding:12px 14px;border-radius:10px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;transition:all .15s ease}.music-preset-card:hover{border-color:var(--accent, #6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.music-preset-card.selected{border-color:var(--accent, #6366f1);background:#6366f10a;box-shadow:0 0 0 2px #6366f133}.music-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.music-card-title{font-size:13.5px;font-weight:700;color:var(--text-primary, #0f172a)}.music-category-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;background:#6366f11a;color:var(--accent, #6366f1);text-transform:uppercase}.music-card-desc{font-size:11.5px;color:var(--text-muted, #64748b);line-height:1.4}.music-measures-container{display:flex;flex-direction:column;gap:12px}.music-measure-card{padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:#00000004}.music-measure-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px}.music-measure-notes-count{font-size:11px;color:var(--text-muted, #64748b)}.music-notes-list{display:flex;flex-wrap:wrap;gap:6px}.music-note-row{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:11.5px}.note-badge{font-weight:700;color:var(--accent, #6366f1)}.note-duration{font-size:10.5px;color:var(--text-muted, #64748b)}.note-dot{font-weight:700;color:var(--accent, #6366f1)}.music-style-group{display:flex;flex-direction:column;gap:6px}.music-style-group label{font-size:12px;font-weight:600;color:var(--text-primary, #0f172a)}.music-select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-size:13px;outline:none}.music-json-editor{width:100%;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.5;padding:10px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:#00000005;color:var(--text-primary, #0f172a);resize:vertical;outline:none}.music-json-error{font-size:11.5px;color:#dc2626;font-weight:600}.music-preview-panel{flex:1;display:flex;flex-direction:column;background:#f8fafc;overflow:hidden}.music-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--bg-card, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);flex-shrink:0;gap:12px}.music-audio-bar{display:flex;align-items:center;gap:10px}.music-play-btn{min-width:80px}.music-tempo-wrap{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.music-tempo-wrap input[type=range]{width:90px}.music-zoom-tools{display:flex;align-items:center;gap:6px}.music-zoom-val{font-size:12px;font-weight:700;min-width:44px;text-align:center;color:var(--text-primary, #0f172a)}.music-canvas-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:20px}#music-studio-canvas{box-shadow:0 10px 30px #0000001f;border-radius:10px;cursor:grab;background:#faf6ee;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}.music-modal-footer{display:flex!important;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:10px}html.dark .music-modal-card{background:var(--bg-card, #181826);border:1px solid rgba(255,255,255,.08)}html.dark .music-control-panel{background:#ffffff05;border-right-color:#ffffff14}html.dark .music-nav-tabs{background:var(--bg-card, #181826);border-bottom-color:#ffffff14}html.dark .music-tab-btn.active{background:#ffffff05}html.dark .music-preset-card,html.dark .music-measure-card,html.dark .music-note-row,html.dark .music-select,html.dark .music-json-editor{background:var(--bg-card, #181826);border-color:#ffffff14;color:var(--text-primary)}html.dark .music-preview-panel{background:#11111b}html.dark .music-preview-toolbar,html.dark .music-modal-footer{background:var(--bg-card, #181826);border-color:#ffffff14}html.dark .music-zoom-val{color:var(--text-primary)}.graph-modal-card{width:95vw!important;max-width:1220px!important;height:88vh!important;display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:var(--bg-card, #ffffff);box-shadow:0 25px 50px -12px #00000040;border:1px solid var(--border-color, #e2e8f0)}.graph-header-title-wrap{display:flex;align-items:center;gap:10px}.graph-header-title-wrap h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary, #0f172a)}.graph-nav-tabs{display:flex;background:var(--bg-card, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:0 20px;gap:8px;flex-shrink:0}.graph-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--text-muted, #64748b);cursor:pointer;transition:all .15s ease}.graph-tab-btn:hover{color:var(--text-primary, #0f172a)}.graph-tab-btn.active{color:var(--accent, #6366f1);border-bottom-color:var(--accent, #6366f1)}.graph-modal-body{display:flex;flex:1;overflow:hidden}.graph-control-panel{width:380px;border-right:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);overflow-y:auto;padding:18px;flex-shrink:0}.graph-panel-section{display:flex;flex-direction:column;gap:16px}.graph-panel-section.hidden{display:none}.graph-section-desc{font-size:12.5px;color:var(--text-muted, #64748b);line-height:1.45;margin-bottom:4px}.graph-preset-grid{display:flex;flex-direction:column;gap:10px}.graph-preset-card{padding:12px 14px;border-radius:10px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);cursor:pointer;transition:all .15s ease}.graph-preset-card:hover{border-color:var(--accent, #6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.graph-preset-card.selected{border-color:var(--accent, #6366f1);background:#6366f10a;box-shadow:0 0 0 2px #6366f133}.graph-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.graph-card-title{font-size:13.5px;font-weight:700;color:var(--text-primary, #0f172a)}.graph-category-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;background:#6366f11a;color:var(--accent, #6366f1);text-transform:uppercase}.graph-card-desc{font-size:11.5px;color:var(--text-muted, #64748b);line-height:1.4}.graph-inspector-container{display:flex;flex-direction:column;gap:14px}.graph-inspector-group{padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:#00000004}.graph-subheading{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #64748b);margin-bottom:8px}.graph-items-list{display:flex;flex-wrap:wrap;gap:6px}.graph-node-pill,.graph-edge-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);font-size:11.5px;color:var(--text-primary, #0f172a)}.graph-sim-card{padding:12px;border-radius:10px;border:1px solid var(--border-color, #e2e8f0);background:#00000004;display:flex;flex-direction:column;gap:10px}.graph-sim-header{display:flex;justify-content:space-between;align-items:center;font-size:12.5px}.graph-sim-input-row{display:flex;gap:8px;align-items:center}.graph-sim-input-row input[type=text]{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-size:13px;font-family:monospace;outline:none}.graph-sim-controls{display:flex;gap:6px;align-items:center}.graph-stepper-track{display:flex;gap:4px;align-items:center;padding:8px 10px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;min-height:38px;overflow-x:auto}.graph-tape-char{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-weight:700;font-size:13px;font-family:monospace;background:#0000000a;color:var(--text-primary, #0f172a);transition:all .15s ease}.graph-tape-char.active{background:var(--accent, #6366f1);color:#fff}.graph-tape-char.consumed{opacity:.4}.fsm-result-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase}.fsm-result-badge.ready{background:#64748b26;color:var(--text-muted, #64748b)}.fsm-result-badge.stepping{background:#eab30826;color:#ca8a04}.fsm-result-badge.accepted{background:#22c55e26;color:#16a34a}.fsm-result-badge.rejected{background:#ef444426;color:#dc2626}.graph-dijkstra-row{display:flex;gap:10px}.graph-dijkstra-row>div{flex:1;display:flex;flex-direction:column;gap:4px;font-size:11.5px}.dijkstra-cost-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:#6366f11a;color:var(--accent, #6366f1)}.graph-style-group{display:flex;flex-direction:column;gap:6px}.graph-style-group label{font-size:12px;font-weight:600;color:var(--text-primary, #0f172a)}.graph-select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-size:13px;outline:none}.graph-select.sm{padding:4px 8px;font-size:12px}.graph-json-editor{width:100%;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.5;padding:10px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:#00000005;color:var(--text-primary, #0f172a);resize:vertical;outline:none}.graph-json-error{font-size:11.5px;color:#dc2626;font-weight:600}.graph-preview-panel{flex:1;display:flex;flex-direction:column;background:#f8fafc;overflow:hidden}.graph-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--bg-card, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);flex-shrink:0;gap:12px}.graph-layout-bar,.graph-zoom-tools{display:flex;align-items:center;gap:6px}.graph-zoom-val{font-size:12px;font-weight:700;min-width:44px;text-align:center;color:var(--text-primary, #0f172a)}.graph-canvas-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:20px}#graph-studio-canvas{box-shadow:0 10px 30px #0000001f;border-radius:10px;cursor:grab;background:#faf6ee;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}#graph-studio-canvas:active{cursor:grabbing}.graph-modal-footer{display:flex!important;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:10px}html.dark .graph-modal-card{background:var(--bg-card, #181826);border:1px solid rgba(255,255,255,.08)}html.dark .graph-control-panel{background:#ffffff05;border-right-color:#ffffff14}html.dark .graph-nav-tabs{background:var(--bg-card, #181826);border-bottom-color:#ffffff14}html.dark .graph-tab-btn.active{background:#ffffff05}html.dark .graph-preset-card,html.dark .graph-inspector-group,html.dark .graph-node-pill,html.dark .graph-edge-pill,html.dark .graph-sim-card,html.dark .graph-stepper-track,html.dark .graph-sim-input-row input[type=text],html.dark .graph-select,html.dark .graph-json-editor{background:var(--bg-card, #181826);border-color:#ffffff14;color:var(--text-primary)}html.dark .graph-preview-panel{background:#11111b}html.dark .graph-preview-toolbar,html.dark .graph-modal-footer{background:var(--bg-card, #181826);border-color:#ffffff14}html.dark .graph-zoom-val{color:var(--text-primary)}.dsa-icon-box{background:#10b9811a!important;color:#10b981!important}.dsa-modal-card{width:95vw!important;max-width:1220px!important;height:88vh!important;display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:var(--bg-card, #ffffff);box-shadow:0 25px 50px -12px #00000040;border:1px solid var(--border-color, #e2e8f0)}.dsa-header-title-wrap{display:flex;align-items:center;gap:10px}.dsa-header-title-wrap h2{font-size:1.15rem;font-weight:700;margin:0;color:var(--text-primary, #0f172a)}.dsa-nav-tabs{display:flex;background:var(--bg-card, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:0 16px;gap:2px;overflow-x:auto;flex-shrink:0}.dsa-tab-btn{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-muted, #64748b);border:none;background:transparent;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s ease}.dsa-tab-btn:hover{color:var(--text-primary, #0f172a)}.dsa-tab-btn.active{color:var(--accent, #6366f1);border-bottom-color:var(--accent, #6366f1);background:#6366f108}.dsa-modal-body{flex:1;display:flex;min-height:0;overflow:hidden}.dsa-control-panel{width:380px;border-right:1px solid var(--border-color, #e2e8f0);display:flex;flex-direction:column;overflow-y:auto;padding:16px;gap:14px;flex-shrink:0;background:var(--bg-card, #ffffff)}.dsa-panel-section{display:flex;flex-direction:column;gap:12px}.dsa-section-desc{font-size:12px;color:var(--text-muted, #64748b);line-height:1.4}.dsa-preset-grid{display:flex;flex-direction:column;gap:8px}.dsa-preset-card{padding:10px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--surface-bg, rgba(248, 250, 252, .8));cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:3px}.dsa-preset-card:hover{transform:translateY(-1px);border-color:var(--accent, #6366f1);box-shadow:0 4px 12px #6366f114}.dsa-preset-card.active{border-color:var(--accent, #6366f1);background:#6366f10f}.dsa-preset-badge{font-size:9.5px;font-weight:700;align-self:flex-start;padding:1px 6px;border-radius:4px;background:#6366f11f;color:var(--accent, #6366f1);letter-spacing:.03em}.dsa-preset-title{font-size:13px;font-weight:700;color:var(--text-primary, #0f172a)}.dsa-preset-desc{font-size:11px;color:var(--text-muted, #64748b);line-height:1.35}.dsa-op-input-group{display:flex;flex-direction:column;gap:8px}.dsa-input{padding:8px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-size:13px;outline:none;transition:border-color .15s ease}.dsa-input:focus{border-color:var(--accent, #6366f1)}.dsa-op-buttons-row{display:flex;gap:8px}.dsa-stepper-panel{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border-color, #e2e8f0);padding-top:12px;margin-top:4px}.dsa-stepper-header{display:flex;justify-content:space-between;align-items:center}.dsa-stepper-title{font-size:12.5px;font-weight:700;color:var(--text-primary, #0f172a)}.dsa-step-counter{font-size:11px;font-weight:600;color:var(--text-muted, #64748b)}.dsa-stepper-controls{display:flex;gap:6px}.dsa-stepper-controls .btn{flex:1;padding:6px 8px;font-size:11.5px;justify-content:center}.dsa-step-log-container{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.dsa-step-log-empty{font-size:11px;color:var(--text-muted, #64748b);font-style:italic;padding:8px 0;text-align:center}.dsa-step-item{padding:7px 10px;border-radius:6px;border:1px solid var(--border-color, #e2e8f0);background:var(--surface-bg, #f8fafc);font-size:11px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;transition:all .15s ease}.dsa-step-item:hover{border-color:var(--accent, #6366f1)}.dsa-step-item.active{border-color:var(--accent, #6366f1);background:#6366f114}.dsa-step-num{font-weight:700;color:var(--text-muted, #64748b);font-family:monospace;font-size:10px;margin-top:2px}.dsa-step-action{font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;text-transform:uppercase}.dsa-action-insert{background:#dbeafe;color:#1e40af}.dsa-action-compare{background:#fef08a;color:#854d0e}.dsa-action-rotate{background:#e0e7ff;color:#3730a3}.dsa-action-swap{background:#fed7aa;color:#9a3412}.dsa-action-recolor{background:#fee2e2;color:#991b1b}.dsa-action-complete{background:#dcfce7;color:#166534}.dsa-step-msg{flex:1;line-height:1.35;color:var(--text-primary, #0f172a)}.dsa-inspector-container{display:flex;flex-direction:column;gap:12px}.dsa-inspect-group{padding:12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--surface-bg, #f8fafc)}.dsa-inspect-group.active-node-group{border-color:var(--accent, #6366f1);background:#6366f10d}.dsa-inspect-title{font-size:12px;font-weight:700;margin-bottom:8px;color:var(--text-primary, #0f172a)}.dsa-inspect-row{display:flex;justify-content:space-between;font-size:11.5px;margin-bottom:4px;color:var(--text-primary, #0f172a)}.dsa-inspect-row span{color:var(--text-muted, #64748b)}.dsa-color-red{color:#dc2626!important;font-weight:700}.dsa-color-black{color:#0f172a!important;font-weight:700}.dsa-ascii-preview{background:#0000000a;padding:10px;border-radius:6px;font-family:monospace;font-size:11px;overflow-x:auto;max-height:180px;line-height:1.4;color:var(--text-primary, #0f172a);margin:0}.dsa-form-group{display:flex;flex-direction:column;gap:6px}.dsa-form-group label{font-size:12px;font-weight:600;color:var(--text-primary, #0f172a)}.dsa-select{padding:8px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-size:12.5px;outline:none}.dsa-slider-header{display:flex;justify-content:space-between;align-items:center}.dsa-val-badge{font-size:11px;font-weight:700;color:var(--accent, #6366f1)}.dsa-form-checkbox-group{display:flex;flex-direction:column;gap:8px;padding:4px 0}.dsa-checkbox-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary, #0f172a);cursor:pointer}.dsa-json-textarea{width:100%;padding:10px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);font-family:monospace;font-size:11.5px;resize:vertical;line-height:1.4;outline:none;box-sizing:border-box}.dsa-json-actions{display:flex;justify-content:flex-end}.dsa-canvas-viewport{flex:1;display:flex;flex-direction:column;background:#f8fafc;overflow:hidden}.dsa-canvas-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--bg-card, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);flex-shrink:0}.dsa-viewport-hint{font-size:11px;color:var(--text-muted, #64748b);display:flex;gap:6px}.dsa-zoom-controls{display:flex;align-items:center;gap:6px}.dsa-canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;position:relative}#dsa-studio-canvas{box-shadow:0 10px 30px #0000001f;border-radius:10px;cursor:grab;background:#faf8f2;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}#dsa-studio-canvas:active{cursor:grabbing}.dsa-modal-footer{display:flex!important;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);gap:10px}html.dark .dsa-modal-card{background:var(--bg-card, #181826);border:1px solid rgba(255,255,255,.08)}html.dark .dsa-control-panel{background:#ffffff05;border-right-color:#ffffff14}html.dark .dsa-nav-tabs{background:var(--bg-card, #181826);border-bottom-color:#ffffff14}html.dark .dsa-tab-btn.active{background:#ffffff05}html.dark .dsa-preset-card,html.dark .dsa-inspect-group,html.dark .dsa-step-item,html.dark .dsa-input,html.dark .dsa-select,html.dark .dsa-json-textarea{background:var(--bg-card, #181826);border-color:#ffffff14;color:var(--text-primary)}html.dark .dsa-canvas-viewport{background:#11111b}html.dark .dsa-canvas-header,html.dark .dsa-modal-footer{background:var(--bg-card, #181826);border-color:#ffffff14}html.dark .dsa-ascii-preview{background:#ffffff0a;color:var(--text-primary)}html.dark .dsa-color-black{color:#f8fafc!important}.tab-icon,.btn-icon{display:inline-block;vertical-align:-2px;flex-shrink:0;transition:transform .2s cubic-bezier(.16,1,.3,1)}.dsa-tab-btn,.chem-tab-btn,.circ-tab-btn,.diagram-tab-btn,.graph-tab-btn,.music-tab-btn{display:inline-flex!important;align-items:center!important;gap:7px!important}.modal-footer .btn{display:inline-flex!important;align-items:center!important;gap:6px!important}.modal-footer .btn:hover .btn-icon{transform:translateY(-1px) scale(1.08)}.font-preview-card{max-width:920px;width:94vw;max-height:90vh;display:flex;flex-direction:column}.font-preview-body{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding:18px 24px}.font-preview-toolbar{background:var(--bg-card, rgba(255, 255, 255, .7));border:1px solid var(--border-color, rgba(0, 0, 0, .08));border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:10px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.preview-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.preview-toolbar-row.secondary-controls{padding-top:6px;border-top:1px dashed var(--border-color, rgba(0, 0, 0, .08))}.preview-mini-label{font-size:12px;font-weight:600;color:var(--text-secondary, #555)}.font-size-slider-group{display:inline-flex;align-items:center;gap:8px}.font-size-slider-group input[type=range]{width:110px}.preview-paper-btn-group{display:inline-flex;border-radius:8px;background:#0000000d;padding:2px;gap:2px}.paper-preview-btn{background:transparent;border:none;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;color:var(--text-secondary, #555);font-weight:500;transition:all .15s ease}.paper-preview-btn:hover{color:var(--text-primary, #111)}.paper-preview-btn.active{background:var(--bg-primary, #fff);color:var(--accent, #e05624);font-weight:600;box-shadow:0 1px 4px #00000014}.toggle-pill-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-primary, #222);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-pill-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent, #e05624)}.preview-stats{display:flex;gap:8px}.coverage-tag{font-size:11px;font-weight:600;padding:3px 8px;border-radius:12px;background:#e056241f;color:var(--accent, #e05624)}.coverage-tag.secondary{background:#4361ee1f;color:#3b82f6}.font-preview-editor-wrap input{width:100%;padding:10px 14px;font-size:14px;border-radius:8px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));background:var(--bg-primary, #fff);color:var(--text-primary, #111);box-sizing:border-box}.font-preview-editor-wrap input:focus{outline:none;border-color:var(--accent, #e05624);box-shadow:0 0 0 3px #e0562426}.font-preview-stage-wrap{border-radius:10px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));overflow:hidden;position:relative;box-shadow:inset 0 2px 6px #0000000a}#export-preview-stage-canvas{display:block;width:100%;height:200px}.font-preview-charmap-section{display:flex;flex-direction:column;gap:8px;margin-top:4px}.charmap-header{display:flex;align-items:baseline;justify-content:space-between}.charmap-header h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary, #111)}.charmap-hint{font-size:11px;color:var(--text-secondary, #777)}.font-preview-charmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px;max-height:140px;overflow-y:auto;padding:8px;border-radius:8px;background:#00000005;border:1px solid var(--border-color, rgba(0, 0, 0, .06))}.charmap-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.charmap-tile.drafted{background:var(--bg-primary, #fff);border-color:#00000014;color:var(--text-primary, #111);box-shadow:0 1px 2px #0000000d}.charmap-tile.drafted:hover,.charmap-tile.active{border-color:var(--accent, #e05624);background:#e0562414;color:var(--accent, #e05624);transform:scale(1.08)}.charmap-tile.missing{background:transparent;color:#0003;border-color:dashed 1px rgba(0,0,0,.06)}.charmap-detail-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card, rgba(255, 255, 255, .8));border-radius:6px;font-size:12px;border:1px solid var(--border-color, rgba(0, 0, 0, .08))}.detail-char{font-size:18px;font-weight:700;color:var(--accent, #e05624);min-width:28px;text-align:center}.detail-badge{background:#0000000d;padding:2px 6px;border-radius:4px;font-size:11px;color:var(--text-secondary, #444)}.font-preview-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
