:root{--void:#08090b;--bg:#0c0d10;--surface:#131519;--surface-2:#191c22;--surface-3:#21252d;--border:#2a2e37;--border-soft:#1d2027;--amber:#ffb800;--amber-bright:#ffd54a;--amber-dim:#c49400;--amber-wash:#ffb80014;--amber-wash-strong:#ffb80029;--ink:#eef0f3;--ink-soft:#a6acb8;--ink-faint:#949baa;--good:#4ade80;--danger:#f0654f;--info:#7c8cff;--font-display:"Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--r-sm:4px;--r-md:6px;--r-lg:10px;--shadow-pop:0 12px 32px -12px #0009;--header-h:64px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;max-width:100vw;margin:0;padding:0;overflow-x:clip}body{background-image:linear-gradient(180deg, var(--void) 0%, var(--bg) 320px), repeating-linear-gradient(0deg, #ffffff03 0px, #ffffff03 1px, transparent 1px, transparent 3px);min-height:100vh;overflow-x:clip}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0}h2{font-size:15px;font-weight:700}h3{font-size:13.5px;font-weight:600}h4{font-size:12px;font-weight:600}button{font-family:var(--font-body)}::selection{background:var(--amber-wash-strong);color:var(--amber-bright)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-3);border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--amber-dim)}a{color:var(--amber)}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.cs-root{position:relative}.cs-root--settings{width:100%;margin-bottom:10px}.cs-root--header{min-width:0;max-width:min(480px,40vw)}@media (width<=940px){.cs-root--header{max-width:min(340px,35vw)}}@media (width<=768px){.cs-root--header{max-width:min(300px,58vw)}}@media (width<=640px){.cs-root--header{max-width:min(280px,58vw)}}@media (width<=380px){.cs-root--header{max-width:min(190px,50vw)}}.cs-trigger{text-align:left;cursor:pointer;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);width:100%;min-width:0;color:var(--ink);box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;transition:all .18s;display:flex}.cs-root--settings .cs-trigger{padding:10px 14px}.cs-root--header .cs-trigger{background:0 0;border-color:#0000;padding:6px 10px}.cs-trigger:hover{border-color:var(--amber-dim);background:var(--surface-3)}.cs-root--header .cs-trigger:hover{background:var(--surface-2);border-color:var(--border)}.cs-trigger--open{border-color:var(--amber-dim)!important;background:var(--surface-3)!important}.cs-trigger__content{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.cs-trigger__title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.cs-root--settings .cs-trigger__title{font-size:13px}.cs-root--header .cs-trigger__title{font-size:14.5px}@media (width<=940px){.cs-root--header .cs-trigger__title{font-size:14px}}@media (width<=640px){.cs-root--header .cs-trigger{padding:4px 6px}.cs-root--header .cs-trigger__title{font-size:13px}}@media (width<=380px){.cs-root--header .cs-trigger__title{font-size:12px}}.cs-trigger__badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:700}.cs-chevron{color:var(--ink-faint);flex-shrink:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .15s}.cs-trigger:hover .cs-chevron{color:var(--amber)}.cs-chevron--open{transform:rotate(180deg);color:var(--amber)!important}.cs-dropdown{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop), 0 0 0 1px #0003;box-sizing:border-box;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) csSlideIn;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.cs-dropdown--header{min-width:300px;max-width:calc(100vw - 24px)}@media (width<=600px){.cs-dropdown--header{min-width:unset;width:calc(100vw - 24px);max-width:340px;left:0}}@keyframes csSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cs-dropdown__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:6px 10px 8px;font-size:9.5px;font-weight:700}.cs-option{border-radius:var(--r-sm);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:10px;transition:all .12s;display:flex}.cs-option:hover{background:var(--surface-2);border-color:var(--border-soft)}.cs-option--active{background:var(--amber-wash);border-color:#ffb80026!important}.cs-option--active:hover{background:var(--amber-wash-strong)}.cs-option__radio{border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:border-color .15s;display:flex}.cs-option:hover .cs-option__radio{border-color:var(--ink-faint)}.cs-option--active .cs-option__radio{border-color:var(--amber)}.cs-option__dot{background:var(--amber);border-radius:50%;width:0;height:0;transition:all .18s cubic-bezier(.34,1.56,.64,1)}.cs-option__dot--on{width:10px;height:10px}.cs-option__content{flex:1;min-width:0}.cs-option__title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.cs-option--active .cs-option__title{color:var(--amber-bright)}.cs-option__meta{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);align-items:center;gap:6px;margin-top:2px;display:flex}.cs-option__tag{letter-spacing:.04em;color:var(--ink-faint);background:var(--surface-3);border:1px solid var(--border);border-radius:3px;padding:0 5px;font-size:8.5px;font-weight:700}.cs-option--active .cs-option__tag{color:var(--amber);background:#ffb80014;border-color:#ffb80033}.cs-check{color:var(--amber);flex-shrink:0}.app-header{z-index:50;width:100%;height:var(--header-h);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft);background:#0c0d10f0;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #0006}.app-header__inner{justify-content:space-between;align-items:center;gap:16px;min-width:0;max-width:1360px;height:100%;margin:0 auto;padding:0 24px;display:flex;position:relative}.brand{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.mobile-hamburger-btn{display:none}.brand__mark{border-radius:var(--r-md);background:linear-gradient(135deg, var(--surface-2) 0%, var(--surface-3) 100%);width:38px;height:38px;color:var(--amber);font-family:var(--font-mono);border:1px solid #ffb80040;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 2px 8px #0006,inset 0 1px #ffffff0d}.brand__mark:hover{border-color:var(--amber);transform:translateY(-1px);box-shadow:0 0 12px #ffb8004d}.brand__glyph{line-height:1;display:inline-block}.brand__text{flex:1;min-width:0}.brand__text h1{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;max-width:min(520px,42vw);margin:0;font-size:15.5px;font-weight:700;line-height:1.25;overflow:hidden}.brand__sub{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);white-space:nowrap;letter-spacing:.02em;margin:2px 0 0}.header-mid{flex:0 auto;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.clock{font-family:var(--font-mono);color:var(--ink-faint);white-space:nowrap;letter-spacing:.02em;font-variant-numeric:tabular-nums;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);padding:5px 9px;font-size:12px}.mini-progress{background:var(--surface-2);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:12px;padding:6px 14px;transition:all .18s;display:flex}.mini-progress:hover{border-color:var(--amber-dim);background:var(--surface-3)}.mini-progress__bar{background:var(--surface-3);border:1px solid var(--border-soft);border-radius:6px;width:190px;height:10px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.mini-progress__bar>div{background:linear-gradient(90deg,#d97706 0%,#ffb800 65%,#ffd54a 100%);border-radius:6px;height:100%;transition:width .4s;box-shadow:0 0 8px #ffb80080}.mini-progress__label{font-family:var(--font-mono);color:var(--amber-bright);letter-spacing:.02em;font-size:13px;font-weight:700}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.mobile-pct-badge{font-family:var(--font-mono);color:var(--amber);background:var(--amber-wash);border-radius:var(--r-sm);letter-spacing:.02em;white-space:nowrap;border:1px solid #ffb8004d;justify-content:center;align-items:center;height:36px;padding:0 9px;font-size:11.5px;font-weight:700;display:none}.icon-btn{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);min-width:36px;height:36px;color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;justify-content:center;align-items:center;gap:7px;padding:0 11px;transition:all .16s;display:flex}.icon-btn:hover{border-color:var(--amber-dim);color:var(--ink);background:var(--surface-3);transform:translateY(-1px)}.icon-btn:active{transform:translateY(0)}.streak-btn{color:var(--amber);background:linear-gradient(135deg,#ffb80024 0%,#191c22f2 100%);border-color:#ffb8004d;box-shadow:0 1px 4px #0000004d}.streak-btn:hover{border-color:var(--amber);background:linear-gradient(135deg,#ffb80038 0%,#21252d 100%);box-shadow:0 0 12px #ffb80040}.streak-count{font-family:var(--font-mono);letter-spacing:.02em;font-size:13px;font-weight:700}.notif-btn{color:var(--ink-soft);position:relative}.notif-btn:hover{color:var(--amber);border-color:#ffb80066}.notif-btn--has-unread{color:var(--ink);background:linear-gradient(135deg,#ef444414 0%,#191c22f2 100%);border-color:#ef444466}.notif-btn--has-unread:hover{border-color:#ef4444;box-shadow:0 0 12px #ef444440}.notif-badge{color:#fff;min-width:18px;height:18px;font-size:10px;font-weight:800;font-family:var(--font-mono);box-shadow:0 2px 6px #ef444480, 0 0 0 2px var(--surface-1);background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;line-height:1;animation:2.4s ease-in-out infinite notifPulse;display:flex;position:absolute;top:-6px;right:-6px}@keyframes notifPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.badges-btn{color:#ffd54a;background:linear-gradient(135deg,#ffd54a1f 0%,#191c22f2 100%);border-color:#ffd54a4d;box-shadow:0 1px 4px #0000004d}.badges-btn:hover{background:linear-gradient(135deg,#ffd54a38 0%,#21252d 100%);border-color:#ffd54a;box-shadow:0 0 12px #ffd54a47}.badges-count{font-family:var(--font-mono);letter-spacing:.02em;font-size:12.5px;font-weight:700}.header-progress-track{pointer-events:none;background:#ffffff0f;width:100%;height:4.5px;position:absolute;bottom:0;left:0;overflow:hidden}.header-progress-fill{background:linear-gradient(90deg,#d97706 0%,#f59e0b 45%,#ffb800 80%,#ffd54a 100%);height:100%;transition:width .4s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #ffb800b3,0 0 3px #ffb800}@media (width<=1180px){.clock{display:none}.mini-progress__bar{width:140px;height:9px}.brand__text h1{max-width:min(380px,34vw);font-size:15px}}@media (width<=940px){.clock{display:none}.mini-progress__bar{width:120px;height:9px}.brand__text h1{max-width:min(320px,32vw);font-size:14.5px}}@media (width<=768px){.mobile-hamburger-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:2px;padding:0;transition:all .15s;display:flex}.mobile-hamburger-btn:hover,.mobile-hamburger-btn:active{color:var(--amber-bright,#ffd54a);background:#ffb8001f}.mini-progress{gap:8px;padding:5px 10px}.mini-progress__bar{width:95px;height:8px}.header-actions .badges-btn,.header-actions .streak-btn,.header-actions .header-settings-btn{display:none!important}}@media (width<=640px){.header-mid{display:none}.mobile-pct-badge{display:inline-flex}.app-header__inner{gap:8px;padding:0 12px}.brand{flex:auto;gap:8px;min-width:0;overflow:hidden}.brand__mark{border-radius:var(--r-sm);flex-shrink:0;width:34px;height:34px;font-size:11.5px}.mobile-hamburger-btn{flex-shrink:0}.brand__sub{display:none}.brand__text{flex:auto;min-width:0;overflow:hidden}.brand__text h1{white-space:nowrap;text-overflow:ellipsis;max-width:min(280px,58vw);font-size:13.5px;overflow:hidden}.header-actions{flex-shrink:0;gap:6px}.icon-btn{height:34px;padding:0 9px}.mobile-pct-badge{height:34px;padding:0 7px;font-size:11px}}@media (width<=380px){.app-header__inner{gap:6px;padding:0 8px}.brand__text h1{max-width:min(190px,50vw);font-size:12.5px}.icon-btn{gap:4px;height:32px;padding:0 6px}.mobile-pct-badge{height:32px;padding:0 5px;font-size:10px}.streak-count,.badges-count{font-size:11.5px}}.header-cmd-trigger{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);height:36px;color:var(--ink-faint);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;transition:all .16s;display:flex}.header-cmd-trigger:hover{background:var(--surface-3);border-color:var(--amber-dim);color:var(--ink);transform:translateY(-1px)}.header-cmd-trigger__text{color:var(--ink-soft);font-size:12px}.header-cmd-trigger__kbd{font-family:var(--font-mono);color:var(--amber);background:#ffb8001a;border:1px solid #ffb80040;border-radius:4px;padding:1px 5px;font-size:10px}@media (width<=1050px){.header-cmd-trigger__text,.header-cmd-trigger__kbd{display:none}.header-cmd-trigger{justify-content:center;min-width:36px;padding:0 10px}}@media (width<=500px){.header-cmd-trigger{min-width:34px;height:34px;padding:0 8px}}.dev-badge-wrapper{z-index:40;pointer-events:auto;-webkit-user-select:none;user-select:none;animation:.4s cubic-bezier(.16,1,.3,1) backwards devBadgeFadeIn;position:fixed;bottom:18px;right:20px}@keyframes devBadgeFadeIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.dev-badge{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--ink);font-family:var(--font-body);background:#131519d9;border-radius:9999px;align-items:center;gap:9px;padding:6px 13px 6px 11px;line-height:1;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 4px 18px #0006,0 0 0 1px #ffffff08}.dev-badge:hover{box-shadow:0 8px 24px #0000008c, 0 0 16px var(--amber-wash-strong);color:var(--ink);background:#191c22f2;border-color:#ffb80080;transform:translateY(-2px)}.dev-badge:active{transform:translateY(0)scale(.98)}.dev-badge:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.dev-badge__dot{background:var(--good);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.4s ease-in-out infinite devBadgePulse;display:inline-block;box-shadow:0 0 8px #4ade80b3}@keyframes devBadgePulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15);box-shadow:0 0 11px #4ade80e6}}.dev-badge__content{align-items:baseline;gap:5px;display:inline-flex}.dev-badge__label{color:var(--ink-faint);letter-spacing:.01em;font-size:11px;font-weight:500}.dev-badge__name{color:var(--ink);letter-spacing:-.01em;font-size:12.5px;font-weight:600;transition:color .15s}.dev-badge:hover .dev-badge__name{color:#fff}.dev-badge__divider{background:var(--border);flex-shrink:0;width:1px;height:12px}.dev-badge__icon{color:var(--ink-soft);flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,transform .2s;display:inline-flex}.dev-badge:hover .dev-badge__icon{color:var(--amber-bright);transform:scale(1.12)}@media (width<=900px){.dev-badge-wrapper{bottom:calc(70px + env(safe-area-inset-bottom,0px));z-index:40;right:14px}.dev-badge{gap:7px;padding:5px 11px 5px 9px}.dev-badge__name{font-size:12px}}@media (width<=520px){.dev-badge-wrapper{display:none}}.cp-backdrop{-webkit-backdrop-filter:blur(8px);z-index:10000;background:#08090bbf;justify-content:center;align-items:flex-start;padding:80px 16px 24px;animation:.16s ease-out forwards cpFadeIn;display:flex;position:fixed;inset:0}@keyframes cpFadeIn{0%{opacity:0}to{opacity:1}}.cp-dialog{background:var(--surface,#131519);border:1px solid var(--border,#2a2e37);border-radius:var(--r-lg,10px);flex-direction:column;width:100%;max-width:620px;animation:.18s cubic-bezier(.16,1,.3,1) forwards cpScaleIn;display:flex;overflow:hidden;box-shadow:0 24px 64px #000000bf,0 0 1px #ffb80033}@keyframes cpScaleIn{0%{transform:scale(.96)translateY(-10px)}to{transform:scale(1)translateY(0)}}.cp-header{border-bottom:1px solid var(--border-soft,#1d2027);background:var(--surface-2,#191c22);align-items:center;gap:12px;padding:14px 18px;display:flex}.cp-search-icon{color:var(--amber,#ffb800);flex-shrink:0;align-items:center;display:flex}.cp-input{color:var(--ink,#eef0f3);font-size:15px;font-family:var(--font-body,sans-serif);background:0 0;border:none;outline:none;flex:1;min-width:0}.cp-input::placeholder{color:var(--ink-faint,#626874)}.cp-esc-badge{font-family:var(--font-mono,monospace);background:var(--surface-3,#21252d);border:1px solid var(--border,#2a2e37);color:var(--ink-soft,#a6acb8);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;padding:2px 6px;font-size:10px;transition:all .15s}.cp-esc-badge:hover{background:var(--border,#2a2e37);color:var(--ink,#eef0f3)}.cp-body{flex-direction:column;gap:2px;max-height:380px;padding:8px;display:flex;overflow-y:auto}.cp-empty{text-align:center;color:var(--ink-faint,#626874);padding:32px 16px;font-size:13.5px}.cp-item{border-radius:var(--r-sm,6px);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:9px 12px;transition:background .12s;display:flex}.cp-item:hover,.cp-item--active{background:var(--surface-2,#191c22)}.cp-item--active .cp-item__title{color:var(--amber,#ffb800)}.cp-item__icon{text-align:center;flex-shrink:0;justify-content:center;align-items:center;width:20px;font-size:14px;display:flex}.cp-item__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cp-item__title{color:var(--ink,#eef0f3);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.cp-item__sub{color:var(--ink-faint,#626874);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.cp-item__category{font-family:var(--font-mono,monospace);color:var(--ink-faint,#626874);background:var(--surface-3,#21252d);text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px}.cp-item__kbd{font-family:var(--font-mono,monospace);color:var(--amber,#ffb800);background:#ffb8001a;border:1px solid #ffb80040;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px}.cp-footer{background:var(--surface-2,#191c22);border-top:1px solid var(--border-soft,#1d2027);color:var(--ink-faint,#626874);align-items:center;gap:16px;padding:10px 18px;font-size:11px;display:flex}.cp-footer__hint{align-items:center;gap:4px;display:flex}.cp-footer__hint kbd{font-family:var(--font-mono,monospace);background:var(--surface-3,#21252d);border:1px solid var(--border,#2a2e37);color:var(--ink-soft,#a6acb8);border-radius:3px;padding:1px 4px;font-size:10px}@media (width<=640px){.cp-backdrop{align-items:flex-start;padding:12px 8px}.cp-dialog{max-height:calc(100dvh - 24px)}.cp-body{max-height:min(300px,100dvh - 120px)}.cp-footer{display:none}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:calc(100vw - 32px);max-width:380px;display:flex;position:fixed;bottom:24px;right:24px}.toast-item{pointer-events:auto;-webkit-backdrop-filter:blur(12px);border:1px solid var(--border,#2a2e37);border-radius:var(--r-md,8px);color:var(--ink,#eef0f3);background:#131519f2;align-items:center;gap:12px;padding:12px 16px;font-size:13.5px;line-height:1.4;transition:transform .15s,opacity .15s;animation:.22s cubic-bezier(.16,1,.3,1) forwards toastSlideIn;display:flex;box-shadow:0 12px 32px #0009,0 0 1px #ffffff1a}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-item--success{border-color:#4ade8059}.toast-item--success .toast-item__icon{color:var(--good,#4ade80)}.toast-item--warning{border-color:#ffb80066}.toast-item--warning .toast-item__icon{color:var(--amber,#ffb800)}.toast-item--error{border-color:#ef444473}.toast-item--error .toast-item__icon{color:var(--bad,#ef4444)}.toast-item--info{border-color:#7c8cff59}.toast-item--info .toast-item__icon{color:var(--info,#7c8cff)}.toast-item__icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-item__msg{word-break:break-word;flex:1;min-width:0;font-weight:500}.toast-item__close{color:var(--ink-faint,#626874);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:4px;padding:4px;font-size:14px;line-height:1;transition:color .15s;display:flex}.toast-item__close:hover{color:var(--ink,#eef0f3);background:var(--surface-3,#21252d)}@media (width<=768px){.toast-container{bottom:calc(64px + env(safe-area-inset-bottom,12px));width:auto;left:16px;right:16px}}.mobile-drawer-root{z-index:1000;display:flex;position:fixed;inset:0}.mobile-drawer-backdrop{-webkit-backdrop-filter:blur(8px);background:#000000c2;animation:.22s ease-out forwards mobileFadeIn;position:fixed;inset:0}.mobile-drawer-panel{z-index:1001;border-right:1px solid var(--border-soft,#ffffff14);background:#0f1217;flex-direction:column;width:min(320px,86vw);height:100%;max-height:100dvh;animation:.25s cubic-bezier(.16,1,.3,1) forwards mobileSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:8px 0 36px #000000b3}@keyframes mobileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobileSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-drawer-header{border-bottom:1px solid var(--border-soft,#ffffff14);background:#12161dbf;justify-content:space-between;align-items:center;padding:18px 18px 16px;display:flex}.mobile-drawer-brand{align-items:center;gap:12px;min-width:0;display:flex}.mobile-drawer-mark{border-radius:var(--r-md,8px);background:linear-gradient(135deg, var(--surface-2,#181b22) 0%, var(--surface-3,#222631) 100%);border:1px solid #ffb80059;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 2px 8px #0006,0 0 14px #ffb80033}.mobile-drawer-glyph{color:var(--amber,#ffb800);font-family:var(--font-mono,monospace);font-size:13.5px;font-weight:700;line-height:1}.mobile-drawer-brand-text{min-width:0}.mobile-drawer-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700;overflow:hidden}.mobile-drawer-subtitle{color:var(--ink-faint,#71717a);font-size:11px;font-family:var(--font-mono,monospace);margin-top:2px;display:block}.mobile-drawer-close-btn{border-radius:var(--r-sm,6px);color:#a1a1aa;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .15s;display:flex}.mobile-drawer-close-btn:hover{color:var(--amber-bright,#ffd54a);background:#ffb8001f;border-color:#ffb8004d}.mobile-drawer-nav{-webkit-overflow-scrolling:touch;flex:1;padding:12px 10px;overflow-y:auto}.mobile-drawer-menu{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.mobile-menu-item{border-radius:var(--r-sm,6px);color:#e4e4e7;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:13px;width:100%;padding:11px 14px;font-size:13.5px;font-weight:500;transition:all .14s;display:flex}.mobile-menu-item:hover{color:#fff;background:#ffb80014;transform:translate(2px)}.mobile-menu-item:hover .mobile-menu-icon{color:var(--amber-bright,#ffd54a);filter:drop-shadow(0 0 6px #ffb80080)}.mobile-menu-item:active{background:#ffb80024}.mobile-menu-icon{width:22px;height:22px;color:var(--amber,#ffb800);flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.mobile-menu-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.mobile-menu-badge{font-size:11px;font-weight:700;font-family:var(--font-mono,monospace);background:var(--amber-wash,#ffb8001f);color:var(--amber-bright,#ffd54a);border:1px solid #ffb80059;border-radius:999px;padding:2px 7px}.mobile-menu-badge--gold{color:#ffd54a;background:#ffd54a29;border-color:#ffd54a66}.mobile-menu-badge--red{color:#f87171;background:#ef444433;border-color:#ef444480;font-weight:800;box-shadow:0 0 8px #ef44444d}.mobile-menu-streak-tag{font-family:var(--font-mono,monospace);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.mobile-menu-tag-fire{color:#f59e0b}.mobile-menu-tag-shield{color:#38bdf8}.mobile-menu-kbd{font-family:var(--font-mono,monospace);color:var(--amber,#ffb800);background:#ffb8001a;border:1px solid #ffb80040;border-radius:4px;padding:1px 5px;font-size:10px}.mobile-drawer-footer{padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-soft,#ffffff14);background:#12161de6;flex-direction:column;gap:12px;display:flex}.mobile-drawer-label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.mobile-drawer-course-switch{flex-direction:column;gap:6px;display:flex}.mobile-drawer-select{color:#fff;background:#14171d;border:1px solid #ffffff24;border-radius:6px;outline:none;width:100%;height:36px;padding:0 10px;font-size:12.5px;transition:border-color .15s}.mobile-drawer-select:focus{border-color:var(--amber,#ffb800)}.mobile-drawer-progress-card{border-radius:var(--r-sm,6px);background:#ffffff08;border:1px solid #ffffff0f;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.mobile-drawer-progress-info{color:#a1a1aa;justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.mobile-drawer-progress-info strong{color:var(--amber-bright,#ffd54a);font-family:var(--font-mono,monospace);font-size:13px;font-weight:700}.mobile-drawer-progress-track{background:#ffffff14;border-radius:999px;width:100%;height:6px;overflow:hidden}.mobile-drawer-progress-fill{background:linear-gradient(90deg,#d97706 0%,#ffb800 65%,#ffd54a 100%);border-radius:999px;height:100%;transition:width .4s;box-shadow:0 0 6px #ffb80099}.mobile-drawer-stats-sub{color:var(--ink-faint,#71717a);font-size:10.5px;font-family:var(--font-mono,monospace)}.mobile-bottom-nav{display:none}@media (width<=768px){.mobile-bottom-nav{z-index:900;height:calc(52px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(16px);background:#0e1117f0;border-top:1px solid #ffffff14;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000073}.mobile-bottom-nav__inner{grid-template-columns:repeat(5,1fr);align-items:center;max-width:600px;height:52px;margin:0 auto;padding:0 4px;display:grid}.mobile-nav-btn{color:#a1a1aa;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100%;padding:2px 0;transition:all .16s;display:flex;position:relative}.mobile-nav-btn__icon-wrap{justify-content:center;align-items:center;width:24px;height:22px;transition:transform .16s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.mobile-nav-btn__label{letter-spacing:.01em;font-size:9.5px;font-weight:500;line-height:1;transition:color .16s}.mobile-nav-btn:hover{color:#e4e4e7}.mobile-nav-btn:active .mobile-nav-btn__icon-wrap{transform:scale(.9)}.mobile-nav-btn.active{color:var(--amber,#ffb800)}.mobile-nav-btn.active .mobile-nav-btn__icon-wrap{color:var(--amber-bright,#ffd54a);filter:drop-shadow(0 0 6px #ffb80099);transform:translateY(-1px)}.mobile-nav-btn.active .mobile-nav-btn__label{color:#fff;font-weight:700}.mobile-nav-btn.active:before{content:"";background:var(--amber,#ffb800);width:22px;height:2.5px;box-shadow:0 0 8px var(--amber,#ffb800);border-radius:0 0 3px 3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mobile-nav-badge{background:var(--amber,#ffb800);color:#000;min-width:16px;height:16px;font-family:var(--font-mono,monospace);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:700;display:flex;position:absolute;top:-4px;right:-8px;box-shadow:0 0 6px #ffb80099}.mobile-nav-badge--fire{background:#f59e0b;box-shadow:0 0 6px #f59e0b99}.mobile-nav-badge--gold{color:#000;background:#eab308;box-shadow:0 0 6px #eab30899}}.lecture-row{border-radius:var(--r-sm);box-sizing:border-box;border:1px solid #0000;align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.lecture-row__number{text-align:right;min-width:22px;font-family:var(--font-mono);color:var(--ink-faint);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:11px}.lecture-row:hover{background:var(--surface-2)}.lecture-row--today{background:var(--amber-wash);border-color:#ffb8004d}.lecture-row--today:hover{background:var(--amber-wash-strong)}.lecture-row--watched{opacity:.8}.lecture-row--watched:hover{opacity:1}.lecture-row--watched .lecture-row__title{color:var(--ink-faint);text-decoration:line-through;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.lecture-row--watched .lecture-row__number{color:var(--good);opacity:.5}.lecture-row--watched .lecture-row__dur{opacity:.5}.plan-check{cursor:pointer;cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.plan-check input{opacity:0;cursor:pointer;z-index:1;width:18px;height:18px;margin:0;position:absolute;top:0;left:0}.plan-check__box{border:1.5px solid var(--border);background:var(--surface-2);width:18px;height:18px;color:var(--void);border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.plan-check input:checked+.plan-check__box{background:var(--amber);border-color:var(--amber)}.plan-check:hover .plan-check__box{border-color:var(--amber)}.plan-check input:focus-visible+.plan-check__box{outline:2px solid var(--amber);outline-offset:2px}.watched-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;display:flex}.watched-toggle__ring{border:1.5px solid var(--border);width:18px;height:18px;color:var(--void);border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.watched-toggle:hover .watched-toggle__ring{border-color:var(--good)}.watched-toggle__ring--on{background:var(--good);border-color:var(--good)}.lecture-row__title{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;overflow:hidden}.today-pill{vertical-align:middle;font-family:var(--font-mono);letter-spacing:.05em;color:var(--amber);background:var(--amber-wash-strong);border:1px solid #ffb80066;border-radius:3px;flex-shrink:0;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.completed-pill{vertical-align:middle;font-family:var(--font-mono);letter-spacing:.05em;color:var(--good);background:#4ade801a;border:1px solid #4ade8040;border-radius:3px;flex-shrink:0;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.lecture-row__dur{font-family:var(--font-mono);color:var(--ink-faint);text-align:right;flex-shrink:0;min-width:60px;margin-left:auto;font-size:11.5px}.lecture-row__ai-btn{border-radius:var(--r-sm);width:24px;height:24px;color:var(--ink-faint);cursor:pointer;opacity:.5;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.lecture-row:hover .lecture-row__ai-btn,.lecture-row__ai-btn:focus-visible{opacity:1;color:var(--amber);background:#ffb8001a;border-color:#ffb80040;outline:none}@media (width<=600px){.lecture-row{gap:6px;min-height:34px;padding:7px 6px}.lecture-row__number{min-width:16px;font-size:9.5px}.plan-check__box,.watched-toggle__ring{width:16px;height:16px}.lecture-row__title{white-space:normal;word-break:break-word;font-size:12px;line-height:1.3}.lecture-row__dur{min-width:44px;font-size:10px}.today-pill,.completed-pill,.locked-pill{margin-left:4px;padding:1px 4px;font-size:8.5px}}.lecture-row--locked{opacity:.8}.lecture-row--locked:hover{opacity:1}.watched-toggle--locked .watched-toggle__ring--locked{color:#fbbf24;background:#f59e0b14;border-color:#f59e0b73}.locked-pill{vertical-align:middle;font-family:var(--font-mono);letter-spacing:.05em;color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:3px;flex-shrink:0;align-items:center;gap:3px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-sizing:border-box;width:100%;max-width:100%;scroll-margin-top:calc(var(--header-h) + 16px);margin-bottom:10px;overflow:hidden}.section-card--open{border-color:var(--border)}.section-card--complete{border-color:#4ade8040}.section-card__head{box-sizing:border-box;background:var(--surface-2);cursor:pointer;text-align:left;width:100%;max-width:100%;color:var(--ink);border:none;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.section-card__head:hover{background:var(--surface-3)}.section-card__chevron{color:var(--ink-faint);flex-shrink:0;transition:transform .18s;display:flex}.section-card--open .section-card__chevron{color:var(--amber);transform:rotate(90deg)}.section-card__number{font-family:var(--font-mono);color:var(--amber-dim);background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:3px 6px;font-size:11px}.section-card__title{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.project-pill{font-family:var(--font-mono);color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);letter-spacing:.03em;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.today-dot{background:var(--amber);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 6px 1px #ffb80099}.section-card__mini-bar{background:var(--surface-3);border:1px solid var(--border-soft);border-radius:4px;flex-shrink:0;width:90px;height:7px;display:none;overflow:hidden}.section-card__mini-bar span{background:linear-gradient(90deg, var(--amber-dim), var(--amber));border-radius:4px;height:100%;display:block}@media (width>=640px){.section-card__mini-bar{display:block}}.section-card__meta{font-family:var(--font-mono);color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-size:11px}.meta-left{color:var(--amber-dim)}.section-card__body{border-top:1px solid var(--border-soft);padding:6px 8px 10px}@media (width<=600px){.section-card{border-radius:var(--r-md);margin-bottom:8px}.section-card__head{flex-wrap:nowrap;align-items:center;gap:8px;padding:10px}.section-card__number{border-radius:3px;padding:2px 5px;font-size:10px}.section-card__title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;line-height:1.25;overflow:hidden}.section-card__mini-bar{display:none!important}.section-card__meta{white-space:nowrap;flex-shrink:0;width:auto;margin-left:0;font-size:10.5px}.meta-left{display:none}.section-card__body{padding:4px 6px 8px}}@media (width<=380px){.section-card__head{gap:6px;padding:8px}.section-card__number{padding:1px 4px;font-size:9.5px}.section-card__title{font-size:12px}.section-card__meta{font-size:9.5px}}.psp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:14px;padding:16px}.psp-card__head-actions{align-items:center;gap:8px;display:flex}.psp-mobile-toggle{display:none}@media (width>=641px) and (width<=900px){.psp-card{margin-top:0}}@media (width<=640px){.psp-card{border-radius:var(--r-md);margin-top:0;padding:10px 12px}.psp-card__head{cursor:pointer;margin-bottom:0}.psp-card__head h2,.psp-card__head h3{margin:0;font-size:12.5px;font-weight:700}.psp-mobile-toggle{font-family:var(--font-mono);color:var(--amber);background:var(--amber-wash);-webkit-user-select:none;user-select:none;border:1px solid #ffb80059;border-radius:4px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.psp-list{max-height:280px;margin-top:10px}.psp-list--mobile-collapsed{display:none!important}}.psp-card__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.psp-card__head h2,.psp-card__head h3{color:var(--ink);white-space:nowrap;margin:0;font-size:13px;font-weight:700;line-height:1.2}.psp-card__summary{font-family:var(--font-mono);color:var(--ink-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:2px 8px;font-size:10.5px;font-weight:600}.psp-list{max-height:calc(var(--psp-visible-items,7) * 71px);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex-direction:column;gap:4px;margin:0;padding:0 2px 0 0;list-style:none;display:flex;overflow-y:auto}.psp-list::-webkit-scrollbar{width:5px}.psp-list::-webkit-scrollbar-track{background:0 0}.psp-list::-webkit-scrollbar-thumb{background:var(--surface-3);border:1px solid var(--border-soft);border-radius:999px}.psp-list::-webkit-scrollbar-thumb:hover{background:var(--amber-dim)}.psp-item{border-radius:var(--r-md);cursor:pointer;background:var(--surface-2);box-sizing:border-box;border:1px solid #0000;min-width:0;padding:8px 10px;transition:all .15s}.psp-item:hover{background:var(--surface-3);border-color:var(--border-soft)}.psp-item--complete{background:#4ade8008;border-color:#4ade801a}.psp-item--complete:hover{background:#4ade800f;border-color:#4ade8033}.psp-item__top{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:5px;display:flex}.psp-item__left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.psp-item__number{font-family:var(--font-mono);color:var(--amber-dim);background:var(--surface);border:1px solid var(--border);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.psp-item--complete .psp-item__number{color:var(--good);background:#4ade800f;border-color:#4ade8033}.psp-item__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.psp-item--complete .psp-item__title{color:var(--ink-soft)}.psp-item__right{flex-shrink:0}.psp-item__pct{font-family:var(--font-mono);color:var(--amber);font-size:11px;font-weight:700}.psp-item__done-tag{font-family:var(--font-mono);color:var(--good);letter-spacing:.02em;background:#4ade801a;border:1px solid #4ade8040;border-radius:3px;align-items:center;gap:4px;padding:2px 7px;font-size:9.5px;font-weight:700;display:flex}.psp-item__bar-wrap{margin-bottom:4px}.psp-item__bar{background:var(--surface);border:1px solid var(--border-soft);border-radius:3px;height:6px;overflow:hidden}.psp-item__bar-fill{background:linear-gradient(90deg, var(--amber-dim), var(--amber));border-radius:4px;height:100%;transition:width .4s}.psp-item__bar-fill--done{background:linear-gradient(90deg, #4ade8080, var(--good))}.psp-item__bottom{font-family:var(--font-mono);color:var(--ink-faint);justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:10px;display:flex}.psp-item__remaining{color:var(--ink-faint)}.psp-item--complete .psp-item__remaining{color:var(--good);opacity:.7}.psp-empty{text-align:center;color:var(--ink-faint);background:var(--surface-2);border:1px dashed var(--border-soft);border-radius:var(--r-md);padding:18px 12px;font-size:12px}.ci-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:300;background:#040506b8;justify-content:center;align-items:center;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ci-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:460px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);box-sizing:border-box;flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) popIn;display:flex}.ci-modal__body{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;padding:20px;overflow-y:auto}@media (width<=480px){.ci-modal__head{padding:14px 16px}.ci-modal__body{padding:16px 14px}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ci-modal__head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.ci-modal__head h2{color:var(--ink);font-size:15px}.ci-modal__close{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;font-size:12px}.ci-modal__close:hover{color:var(--amber);border-color:var(--amber-dim)}.ci-modal__body{padding:20px}.ci-help{color:var(--ink-soft);margin:0 0 14px;font-size:12.5px;line-height:1.6}.ci-help code{background:var(--surface-2);font-family:var(--font-mono);border-radius:3px;padding:1px 5px;font-size:11.5px}.ci-dropzone{border-radius:var(--r-md);background:var(--surface-2);border:1.5px dashed var(--border);width:100%;color:var(--ink-soft);cursor:pointer;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;font-size:13px;transition:all .15s;display:flex}.ci-dropzone:hover{border-color:var(--amber-dim);color:var(--amber)}.ci-error{color:var(--danger);border-radius:var(--r-sm);background:#f0654f14;border:1px solid #f0654f4d;margin-top:12px;padding:8px 10px;font-size:12px}.ci-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:14px;padding:12px 14px}.ci-preview__title{color:var(--ink);margin-bottom:4px;font-size:13.5px;font-weight:600}.ci-preview__meta{color:var(--ink-faint);font-size:11.5px;font-family:var(--font-mono)}.ci-choice-list{flex-direction:column;gap:10px;display:flex}.ci-choice{text-align:left;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;padding:14px;transition:all .15s}.ci-choice:hover{border-color:var(--amber-dim);background:var(--surface-3)}.ci-choice--danger:hover{border-color:var(--danger)}.ci-choice__title{color:var(--ink);margin-bottom:5px;font-size:13px;font-weight:700}.ci-choice--danger .ci-choice__title{color:var(--danger)}.ci-choice__desc{color:var(--ink-faint);font-size:11.5px;line-height:1.5}.ci-modal__actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.ci-btn{border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);height:38px;color:var(--ink-soft);padding:0 16px;font-size:13px;transition:all .15s}.ci-btn--ghost:hover{color:var(--ink);border-color:var(--ink-faint)}.ci-btn--danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:700}.ci-btn--danger:hover{background:#d9503b}.ci-btn--danger:disabled{background:var(--surface-3);border-color:var(--border);color:var(--ink-faint);cursor:not-allowed}.ci-code-display{justify-content:center;gap:8px;margin:8px 0 18px;display:flex}.ci-code-digit{border-radius:var(--r-sm);width:38px;height:46px;color:var(--danger);font-family:var(--font-mono);background:#f0654f1a;border:1px solid #f0654f66;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.ci-code-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--ink);font-family:var(--font-mono);letter-spacing:.2em;text-align:center;padding:12px;font-size:16px}.ci-code-input:focus{border-color:var(--danger);outline:none}.toolbar{box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:10px;width:100%;max-width:100%;margin-bottom:16px;display:flex}.search-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);min-width:0;height:40px;color:var(--ink-faint);box-sizing:border-box;flex:200px;align-items:center;gap:8px;padding:0 12px;transition:border-color .15s;display:flex}.search-box:focus-within{border-color:var(--amber-dim)}.search-box input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;font-size:13.5px}.search-box input::placeholder{color:var(--ink-faint)}.search-clear{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:4px;font-size:11px}.search-clear:hover{color:var(--amber)}.toolbar__actions{flex-wrap:wrap;gap:8px;display:flex}.tb-btn{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);height:40px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:0 14px;font-size:12.5px;transition:all .15s;display:inline-flex}.tb-btn:hover{border-color:var(--amber-dim);color:var(--amber)}.tb-btn--danger{color:var(--danger)}.tb-btn--danger:hover{border-color:var(--danger);color:var(--danger);background:#f0654f14}.tb-btn--ai{color:var(--amber);background:#ffb80014;border-color:#ffb80066;font-weight:600}.tb-btn--ai:hover{border-color:var(--amber);color:var(--amber-bright,#ffd54a);background:#ffb80029}@media (width<=600px){.toolbar{gap:6px;margin-bottom:12px}.search-box{border-radius:var(--r-sm);flex:100%;width:100%;height:36px;padding:0 10px}.search-box input{font-size:13px}.toolbar__actions{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:6px;width:100%;display:grid}.tb-btn{border-radius:var(--r-sm);width:100%;height:32px;padding:0 6px;font-size:11px}}.stats-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-sizing:border-box;min-width:0;padding:16px;transition:border-color .18s,transform .18s,box-shadow .18s}.stat-card:hover{border-color:#ffb80033;box-shadow:0 4px 16px #00000040}.stat-card--hero{background:linear-gradient(180deg, var(--surface-2) 0%, var(--surface) 100%);border-color:#ffb80038;grid-column:span 2}.stat-card__label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.stat-card__complete-chip{color:var(--amber-bright,#ffd54a);cursor:pointer;font-size:10.5px;font-weight:700;line-height:1.4;font-family:var(--font-body);background:#ffb8001f;border:1px solid #ffb80066;border-radius:999px;padding:2px 8px;transition:all .15s}.stat-card__complete-chip:hover{color:#0c0d10;background:linear-gradient(135deg,#ffb800,#ff9800);border-color:#ffb800;transform:translateY(-1px);box-shadow:0 2px 8px #ffb80073}@media (width>=601px) and (width<=1060px){.stats-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}.stat-card--hero{grid-column:span 2}}@media (width>=1061px){.stats-bar{grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.stat-card--hero{grid-column:span 1}}@media (width<=600px){.stats-bar{gap:6px;margin-bottom:12px}.stat-card{border-radius:var(--r-md);padding:8px 10px}.stat-card--hero{padding:10px 12px}.stat-card__label{gap:4px;margin-bottom:3px;font-size:9.5px}.stat-card__hero-row{gap:8px;margin-bottom:6px}.stat-card__value{font-size:24px}.stat-card__value--sm{margin-bottom:2px;font-size:16px}.stat-card__sub{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.progress-track{border-radius:4px;height:8px}}@media (width<=400px){.stat-card{padding:7px 8px}.stat-card__value{font-size:21px}.stat-card__value--sm{font-size:14.5px}.stat-card__label{font-size:9px}.stat-card__sub{font-size:9.5px}}.stat-card--amber{border-color:var(--amber-dim);background:linear-gradient(180deg, var(--amber-wash), var(--surface) 70%)}.stat-card--good{border-color:#4ade8059}.stat-card__label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.stat-card__hero-row{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.stat-card__value{font-family:var(--font-mono);color:var(--ink);font-size:30px;font-weight:700;line-height:1}.stat-card__value--sm{margin-bottom:4px;font-size:21px}.stat-card__sub{color:var(--ink-faint);font-size:11.5px}.progress-track{background:var(--surface-3);border:1px solid var(--border-soft);border-radius:7px;height:14px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.progress-track__fill{background:linear-gradient(90deg,#d97706 0%,#ffb800 65%,#ffd54a 100%);border-radius:7px;height:100%;transition:width .4s;box-shadow:0 0 10px #ffb8008c}.completion-banner{border-radius:var(--r-lg,10px);box-sizing:border-box;background:linear-gradient(135deg,#ffb80014 0%,#191c22f5 50%,#131519fa 100%);border:1px solid #ffb8004d;margin-bottom:20px;padding:22px 26px;animation:.35s cubic-bezier(.16,1,.3,1) both completionSlideIn;position:relative;overflow:hidden;box-shadow:0 12px 32px -12px #0009,0 0 24px #ffb80014}@keyframes completionSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.completion-banner:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(60% 80% at 0 0,#ffb8001f,#0000 60%),radial-gradient(40% 60% at 100% 100%,#ffd54a0f,#0000 50%);position:absolute;inset:0}.completion-banner--completed{background:linear-gradient(135deg,#4ade8014 0%,#191c22f5 50%,#ffb8000f 100%);border-color:#4ade8066;box-shadow:0 12px 32px -12px #0009,0 0 28px #4ade801f}.completion-banner--completed:before{background:radial-gradient(60% 80% at 0 0,#4ade801f,#0000 60%),radial-gradient(40% 60% at 100% 100%,#ffb80014,#0000 50%)}.completion-banner__dismiss{background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);color:var(--ink-faint,#626874);border-radius:var(--r-sm,4px);cursor:pointer;z-index:2;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:all .15s;display:flex;position:absolute;top:14px;right:14px}.completion-banner__dismiss:hover{background:var(--surface-3,#21252d);color:var(--amber,#ffb800);border-color:var(--amber-dim,#8a6600)}.completion-banner__header{z-index:1;align-items:center;gap:12px;margin-bottom:8px;display:flex;position:relative}.completion-banner__emoji{flex-shrink:0;font-size:28px;line-height:1;animation:2.4s ease-in-out infinite completionPulse}@keyframes completionPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.completion-banner__title{font-family:var(--font-display);color:var(--ink,#eef0f3);letter-spacing:-.01em;margin:0;font-size:19px;font-weight:700}.completion-banner__body{font-family:var(--font-body);color:var(--ink-soft,#a6acb8);z-index:1;max-width:680px;margin:0 0 18px;font-size:13.5px;line-height:1.6;position:relative}.completion-banner__progress-section{z-index:1;align-items:center;gap:18px;margin-bottom:20px;display:flex;position:relative}.completion-progress-ring{flex-shrink:0;position:relative}.completion-progress-ring__svg{display:block;transform:rotate(-90deg)}.completion-progress-ring__bg{fill:none;stroke:var(--surface-3,#21252d);stroke-width:6px}.completion-progress-ring__fill{fill:none;stroke:url(#completionGradient);stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.16,1,.3,1)}.completion-progress-ring__center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.completion-progress-ring__pct{font-family:var(--font-mono);color:var(--amber-bright,#ffd54a);font-size:17px;font-weight:700;line-height:1}.completion-progress-ring__label{color:var(--ink-faint,#626874);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:8px}.completion-progress-info{flex:1;min-width:0}.completion-progress-info__remaining{color:var(--ink-soft,#a6acb8);margin-bottom:8px;font-size:13px}.completion-progress-info__remaining strong{color:var(--amber,#ffb800);font-weight:600}.completion-progress-bar{background:var(--surface-3,#21252d);border:1px solid var(--border-soft,#1d2027);border-radius:6px;height:9px;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.completion-progress-bar__fill{background:linear-gradient(90deg,#ffb800 0%,#ffd54a 70%,#4ade80 100%);border-radius:6px;height:100%;transition:width .6s;box-shadow:0 0 10px #ffb80073}.completion-progress-bar__labels{color:var(--ink-faint,#626874);font-size:10px;font-family:var(--font-mono);justify-content:space-between;margin-top:5px;display:flex}.completion-banner__actions{z-index:1;flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:relative}.completion-banner__cta{border-radius:var(--r-md,6px);cursor:pointer;font-size:13px;font-weight:700;font-family:var(--font-body);border:none;align-items:center;gap:8px;padding:10px 20px;line-height:1.3;transition:all .18s;display:inline-flex}.completion-banner__cta--primary{color:#0c0d10;background:linear-gradient(135deg,#ffb800 0%,#ff9800 100%);box-shadow:0 4px 16px #ffb80059}.completion-banner__cta--primary:hover{background:linear-gradient(135deg,#ffd54a 0%,#ffa726 100%);transform:translateY(-1px);box-shadow:0 6px 22px #ffb80080}.completion-banner__cta--primary:active{transform:translateY(0)}.completion-banner__cta--secondary{background:var(--surface-2,#191c22);color:var(--ink-soft,#a6acb8);border:1px solid var(--border,#2a2e37)}.completion-banner__cta--secondary:hover{background:var(--surface-3,#21252d);color:var(--ink,#eef0f3);border-color:var(--amber-dim,#8a6600)}.completion-banner__cta--gold{color:#0c0d10;background:linear-gradient(135deg,#ffd54a 0%,#ffb800 100%);box-shadow:0 4px 18px #ffb80066}.completion-banner__cta--gold:hover{transform:translateY(-1px);box-shadow:0 6px 24px #ffb8008c}.completion-banner__status{color:var(--amber-bright,#ffd54a);z-index:1;background:#ffb80014;border:1px solid #ffb80040;border-radius:999px;align-items:center;gap:7px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.completion-banner__status-dot{background:var(--amber,#ffb800);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.completion-banner__completed-badge{color:var(--amber-bright,#ffd54a);text-transform:uppercase;letter-spacing:.05em;z-index:1;background:linear-gradient(135deg,#ffb8001f,#4ade801f);border:1px solid #ffb80059;border-radius:999px;align-items:center;gap:8px;margin-bottom:12px;padding:6px 14px;font-size:11.5px;font-weight:700;display:inline-flex;position:relative}.pin-modal-overlay{z-index:1050;-webkit-backdrop-filter:blur(8px);box-sizing:border-box;background:#040508d1;justify-content:center;align-items:center;padding:16px;animation:.2s both pinOverlayIn;display:flex;position:fixed;inset:0}@keyframes pinOverlayIn{0%{opacity:0}to{opacity:1}}.pin-modal{border-radius:var(--r-lg,10px);-webkit-overflow-scrolling:touch;box-sizing:border-box;background:linear-gradient(145deg,#181c24 0%,#0f1217 100%);border:1px solid #ffb80059;width:100%;max-width:440px;max-height:calc(100dvh - 32px);padding:28px 24px 24px;animation:.25s cubic-bezier(.16,1,.3,1) both pinModalIn;position:relative;overflow-y:auto;box-shadow:0 24px 60px #000c,0 0 28px #ffb80026}@keyframes pinModalIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.pin-modal:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(70% 50% at 50% 0,#ffb80014,#0000 60%);position:absolute;inset:0}.pin-modal__close{border-radius:var(--r-sm,4px);background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);width:32px;height:32px;color:var(--ink-soft,#a6acb8);cursor:pointer;z-index:2;justify-content:center;align-items:center;font-size:13px;transition:all .15s;display:flex;position:absolute;top:14px;right:14px}.pin-modal__close:hover{color:var(--amber,#ffb800);border-color:var(--amber-dim,#8a6600);background:#ffb8001a}.pin-modal__icon{text-align:center;z-index:1;margin-bottom:12px;font-size:36px;position:relative}.pin-modal__title{font-family:var(--font-display);color:var(--ink,#eef0f3);text-align:center;z-index:1;margin:0 0 8px;font-size:19px;font-weight:700;position:relative}.pin-modal__desc{font-family:var(--font-body);color:var(--ink-soft,#a6acb8);text-align:center;z-index:1;margin:0 0 18px;font-size:13px;line-height:1.55;position:relative}.pin-modal__why{border-radius:var(--r-md,6px);color:var(--ink-soft,#a6acb8);z-index:1;text-align:left;background:#ffb8000f;border:1px solid #ffb80038;margin-bottom:20px;padding:11px 13px;font-size:12px;line-height:1.5;position:relative}.pin-modal__why strong{color:var(--amber-bright,#ffd54a)}.pin-modal__pin-display{z-index:1;box-sizing:border-box;justify-content:center;align-items:center;gap:clamp(3px,1.2vw,6px);width:100%;max-width:100%;margin-bottom:12px;display:flex;position:relative}.pin-modal__pin-digit{min-width:0;max-width:42px;height:clamp(38px,9.5vw,46px);font-family:var(--font-mono);color:var(--amber-bright,#ffd54a);background:var(--surface-2,#191c22);border-radius:var(--r-md,6px);-webkit-user-select:all;user-select:all;box-sizing:border-box;border:1px solid #ffb80066;flex:1 1 0;justify-content:center;align-items:center;font-size:clamp(16px,4.2vw,21px);font-weight:700;display:flex;box-shadow:0 2px 8px #ffb8001f}.pin-modal__pin-separator{background:var(--amber-dim,#8a6600);border-radius:2px;flex-shrink:0;width:clamp(4px,1.2vw,8px);height:3px;margin:0 1px}.pin-modal__pin-helpers{z-index:1;justify-content:center;gap:8px;margin-bottom:20px;display:flex;position:relative}.pin-helper-btn{background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);border-radius:var(--r-sm,4px);color:var(--ink-soft,#a6acb8);cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--font-body);align-items:center;gap:6px;padding:6px 14px;transition:all .15s;display:inline-flex}.pin-helper-btn:hover{background:var(--surface-3,#21252d);color:var(--amber-bright,#ffd54a);border-color:var(--amber,#ffb800);transform:translateY(-1px)}.pin-modal__input-group{z-index:1;margin-bottom:20px;position:relative}.pin-modal__input-label{color:var(--ink-faint,#626874);text-transform:uppercase;letter-spacing:.06em;text-align:left;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.pin-modal__input{width:100%;font-family:var(--font-mono);letter-spacing:clamp(.18em,2vw,.3em);text-align:center;background:var(--surface-2,#191c22);border:2px solid var(--border,#2a2e37);border-radius:var(--r-md,6px);color:var(--ink,#eef0f3);box-sizing:border-box;outline:none;padding:12px 14px;font-size:clamp(17px,4.5vw,21px);font-weight:600;transition:border-color .18s,box-shadow .18s}.pin-modal__input:focus{border-color:var(--amber,#ffb800);box-shadow:0 0 0 3px #ffb80033}.pin-modal__input::placeholder{color:var(--ink-faint,#626874);letter-spacing:.12em;font-size:14px}.pin-modal__input--error{border-color:var(--danger,#f0654f);animation:.3s inputShake;box-shadow:0 0 0 3px #f0654f33}@keyframes inputShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pin-modal__error{color:var(--danger,#f0654f);text-align:center;margin-top:8px;font-size:12px}.pin-modal__actions{z-index:1;justify-content:flex-end;gap:10px;display:flex;position:relative}.pin-modal__btn{border-radius:var(--r-md,6px);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:none;padding:10px 18px;transition:all .15s}.pin-modal__btn--cancel{background:var(--surface-2,#191c22);color:var(--ink-soft,#a6acb8);border:1px solid var(--border,#2a2e37)}.pin-modal__btn--cancel:hover{background:var(--surface-3,#21252d);color:var(--ink,#eef0f3);border-color:var(--ink-faint,#626874)}.pin-modal__btn--verify{color:#0c0d10;background:linear-gradient(135deg,#ffb800 0%,#ff9800 100%);font-weight:700;box-shadow:0 3px 12px #ffb80059}.pin-modal__btn--verify:hover:not(:disabled){background:linear-gradient(135deg,#ffd54a 0%,#ffa726 100%);transform:translateY(-1px);box-shadow:0 5px 18px #ffb80073}.pin-modal__btn--verify:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.pin-modal__success{text-align:center;z-index:1;padding:8px 0;position:relative}.pin-modal__success-icon{margin-bottom:12px;font-size:42px;animation:1.8s ease-in-out infinite completionPulse}.pin-modal__success-title{font-family:var(--font-display);color:var(--ink,#eef0f3);margin-bottom:10px;font-size:20px;font-weight:700}.pin-modal__success-desc{color:var(--ink-soft,#a6acb8);margin-bottom:24px;font-size:13px;line-height:1.6}.pin-modal__success-desc strong{color:var(--amber-bright,#ffd54a)}.pin-modal__btn--done{color:#0c0d10;border-radius:var(--r-md,6px);cursor:pointer;background:linear-gradient(135deg,#ffb800 0%,#ff9800 100%);border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:13.5px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 4px 16px #ffb80059}.pin-modal__btn--done:hover{background:linear-gradient(135deg,#ffd54a 0%,#ffa726 100%);transform:translateY(-1px);box-shadow:0 6px 22px #ffb80073}@media (width<=900px){.completion-banner{margin-bottom:16px;padding:20px}}@media (width<=640px){.completion-banner{border-radius:var(--r-md,6px);margin-bottom:14px;padding:16px 14px}.completion-banner__header{gap:10px}.completion-banner__emoji{font-size:24px}.completion-banner__title{font-size:16px}.completion-banner__body{margin-bottom:14px;font-size:12.5px;line-height:1.5}.completion-banner__progress-section{gap:14px;margin-bottom:16px}.completion-progress-info__remaining{margin-bottom:6px;font-size:12px}.completion-banner__actions{flex-direction:column;align-items:stretch;gap:8px;width:100%}.completion-banner__cta{justify-content:center;width:100%;padding:10px 14px;font-size:12.5px}.pin-modal{max-width:calc(100vw - 16px);margin:8px;padding:20px 16px 18px}.pin-modal__close{width:28px;height:28px;font-size:12px;top:10px;right:10px}.pin-modal__icon{margin-bottom:8px;font-size:30px}.pin-modal__title{font-size:17px}.pin-modal__desc{margin-bottom:14px;font-size:12px}.pin-modal__why{margin-bottom:16px;padding:9px 11px;font-size:11.5px}.pin-modal__pin-helpers{gap:6px;margin-bottom:16px}.pin-helper-btn{padding:5px 10px;font-size:11px}.pin-modal__input{padding:10px}.pin-modal__actions{flex-direction:column-reverse;gap:8px}.pin-modal__btn{text-align:center;justify-content:center;width:100%;padding:10px 14px}}@media (width<=380px){.completion-banner{padding:14px 10px}.completion-banner__progress-section{flex-direction:column;align-items:flex-start;gap:10px}.completion-progress-info{width:100%}.pin-modal__pin-display{gap:2px}}.today-card{background:var(--surface);border:1px solid var(--amber-dim);border-radius:var(--r-lg);box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:16px}@media (width<=640px){.today-card{border-radius:var(--r-md);padding:10px 12px}.today-card__head{margin-bottom:8px}.today-card__head h2,.today-card__head h3{margin:0;font-size:13px;font-weight:700}.today-card__watched-today{margin-bottom:8px;padding:5px 8px}.today-card__watched-today-label{font-size:10px}.today-card__watched-today-val{font-size:12px}.today-card__progress{margin-bottom:8px}.today-card__progress .progress-track{border-radius:4px;height:7px}.today-card__progress-label{margin-top:4px;font-size:10px}.today-card__list{max-height:200px;padding-top:6px}.today-card__list li{padding:5px 2px;font-size:12px}.today-card__practice{margin-top:8px;padding-top:8px}.today-card__practice-btn{padding:7px 10px;font-size:11px}}.today-card__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.today-card__head h2,.today-card__head h3{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:700;line-height:1.2;display:flex}.auto-tag{font-family:var(--font-mono);background:var(--amber-wash-strong);color:var(--amber);letter-spacing:.03em;border-radius:3px;padding:1px 5px;font-size:9px}.today-card__limit-badge{color:#fbbf24;border-radius:var(--r-sm);background:#f59e0b1f;border:1px solid #f59e0b59;align-items:center;gap:6px;margin-bottom:12px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.today-card__watched-today{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);justify-content:space-between;align-items:center;margin-bottom:12px;padding:6px 10px;display:flex}.today-card__watched-today-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.today-card__watched-today-val{font-family:var(--font-mono);color:var(--amber);font-size:13px;font-weight:700}.today-card__progress{margin-bottom:14px}.today-card__progress-label{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);margin-top:6px}.today-card__empty{color:var(--ink-faint);border-top:1px dashed var(--border);padding:12px 0;font-size:12.5px;line-height:1.6}.today-card__list{border-top:1px dashed var(--border);scrollbar-width:none;-ms-overflow-style:none;max-height:340px;margin:0;padding:10px 0 0;list-style:none;overflow-y:auto}.today-card__list::-webkit-scrollbar{width:0;height:0;display:none}.today-card__list li{align-items:center;gap:8px;padding:6px 2px;font-size:12.5px;display:flex}.today-card__item--done .today-card__item-title{color:var(--ink-faint);text-decoration:line-through;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.today-card__check{border:1.5px solid var(--border);width:15px;height:15px;color:var(--void);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.today-card__item--done .today-card__check{background:var(--good);border-color:var(--good)}.today-card__check--locked{color:#fbbf24;background:#f59e0b14;border-color:#f59e0b73}.today-card__item--locked{opacity:.8}.locked-pill--tiny{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:2px;align-items:center;margin-left:4px;padding:1px 3px;font-size:8px;display:inline-flex}.today-card__item-number{text-align:right;min-width:18px;font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;font-size:10px}.today-card__item-title{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.today-card__item-dur{font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;font-size:10.5px}.today-card__practice{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.today-card__practice-btn{border-radius:var(--r-sm);border:1px dashed var(--border);width:100%;color:var(--ink-faint);cursor:pointer;background:0 0;padding:9px;font-size:11.5px;transition:all .15s}.today-card__practice-btn:hover:not(:disabled){color:var(--ink-soft);border-color:var(--ink-faint)}.today-card__practice-btn:disabled{opacity:.45;cursor:not-allowed}.today-card__practice-active{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.today-card__practice-active button{border:1px solid var(--border);color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-size:10.5px}.today-card__practice-active button:hover{color:var(--danger);border-color:var(--danger)}.drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#04050699;justify-content:flex-end;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:100%;min-width:0;max-width:480px;height:100%;animation:.22s cubic-bezier(.16,1,.3,1) slideIn;display:flex;box-shadow:-24px 0 48px -24px #00000080}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.drawer__head{border-bottom:1px solid var(--border-soft);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.drawer__head h2{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:15px;font-weight:700;overflow:hidden}.drawer__back-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:none}.drawer__back-btn:hover,.drawer__back-btn:active{background:var(--surface-3);border-color:var(--amber-dim);color:var(--amber)}.drawer__close{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:all .15s;display:flex}.drawer__close:hover,.drawer__close:active{color:var(--amber);border-color:var(--amber-dim);background:#ffb8001a}.drawer__body{box-sizing:border-box;flex:1;min-width:0;padding:20px;overflow:hidden auto}@media (width<=768px){.drawer{border-left:none;max-width:100%}.drawer__head{gap:8px;padding:12px 14px}.drawer__back-btn{display:inline-flex}.drawer__body{padding:16px 12px;padding-bottom:calc(76px + env(safe-area-inset-bottom,20px))}}.cal-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.cal-stat{background:linear-gradient(145deg, var(--surface-2) 0%, #191c22bf 100%);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:10px 4px;transition:border-color .15s,transform .15s;display:flex;box-shadow:0 2px 8px #0000002e}.cal-stat:hover{border-color:#ffffff1f;transform:translateY(-1px)}.cal-stat--current{background:linear-gradient(145deg, #ffb80014 0%, var(--surface-2) 100%);border-color:#ffb8004d}.cal-stat--current:hover{border-color:#ffb80080}.cal-stat--shield{background:linear-gradient(145deg, #0ea5e914 0%, var(--surface-2) 100%);border-color:#38bdf859}.cal-stat--shield:hover{border-color:#38bdf899}.cal-stat__value--shield{color:#38bdf8;text-shadow:0 0 10px #38bdf866}.cal-stat__icon{filter:drop-shadow(0 2px 4px #00000059);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.cal-stat__data{flex-direction:column;align-items:center;width:100%;min-width:0;display:flex}.cal-stat__value{font-family:var(--font-mono);color:var(--ink);font-size:18px;font-weight:700;line-height:1.1}.cal-stat__value--fire{color:var(--amber-bright);text-shadow:0 0 12px #ffb80066}.cal-stat__label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.02em;white-space:normal;text-align:center;word-break:break-word;margin-top:3px;font-size:9px;font-weight:600;line-height:1.2}@media (width<=540px){.cal-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.cal-stat{padding:12px 10px}.cal-stat__value{font-size:20px}.cal-stat__label{font-size:10px;line-height:1.25}}.cal-badges-banner{border-radius:var(--r-md);cursor:pointer;text-align:left;background:linear-gradient(135deg,#ffd54a1a 0%,#191c22f2 100%);border:1px solid #ffd54a47;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:16px;padding:10px 14px;transition:all .16s;display:flex;box-shadow:0 2px 8px #0003}.cal-badges-banner:hover{border-color:var(--amber-bright);background:linear-gradient(135deg,#ffd54a2e 0%,#21252d 100%);transform:translateY(-1px);box-shadow:0 4px 14px #ffb80033}.cal-badges-banner__left{align-items:center;gap:12px;min-width:0;display:flex}.cal-badges-banner__icon{flex-shrink:0;font-size:20px;line-height:1}.cal-badges-banner__text{flex-direction:column;min-width:0;display:flex}.cal-badges-banner__title{color:var(--amber-bright);font-size:13px;font-weight:700;line-height:1.2}.cal-badges-banner__sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.cal-badges-banner__arrow{font-family:var(--font-mono);color:var(--amber);white-space:nowrap;flex-shrink:0;font-size:11.5px;font-weight:700}.practice-cta{margin-bottom:20px}.practice-cta__btn{border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3) 0%, var(--surface-2) 100%);border:1px solid var(--border);width:100%;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:9px;padding:11px 16px;font-size:13px;font-weight:500;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 2px 6px #00000038}.practice-cta__btn:hover:not(:disabled){border-color:var(--amber);color:var(--amber-bright);box-shadow:0 0 14px var(--amber-wash-strong), 0 2px 8px #0000004d;transform:translateY(-1px)}.practice-cta__btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.practice-cta__hint{color:var(--ink-faint);text-align:center;margin:6px 0 0;font-size:11px}.practice-cta__active{border-radius:var(--r-md);background:linear-gradient(145deg, #6366f11a 0%, var(--surface-2) 100%);color:var(--ink);border:1px solid #6366f14d;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:12.5px;display:flex;box-shadow:0 2px 8px #0003}.practice-cta__active span{color:#a5b4fc;align-items:center;gap:8px;font-weight:500;display:flex}.practice-cta__undo{background:var(--surface-3);border:1px solid var(--border);color:var(--ink-soft);border-radius:var(--r-sm);cursor:pointer;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s}.practice-cta__undo:hover{color:var(--danger);border-color:var(--danger);background:#f0654f1a}.cal-card{background:linear-gradient(180deg, var(--surface-2) 0%, #14161cf2 100%);border:1px solid var(--border);border-radius:var(--r-md);min-width:0;max-width:100%;margin-bottom:20px;padding:16px 14px 14px;overflow:hidden;box-shadow:0 4px 16px #00000038}.cal-grid-wrap{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;width:100%;min-width:0;max-width:100%;padding-bottom:8px;overflow-x:auto}.cal-grid-wrap::-webkit-scrollbar{height:6px}.cal-grid-wrap::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.cal-grid-wrap::-webkit-scrollbar-thumb{background:var(--surface-3);border:1px solid var(--border-soft);border-radius:4px}.cal-grid-wrap::-webkit-scrollbar-thumb:hover{background:var(--amber-dim)}.cal-months-track{width:max-content;min-width:100%;height:16px;margin-bottom:4px;position:relative}.cal-month-label{color:var(--ink-faint);font-size:10px;font-family:var(--font-mono);white-space:nowrap;font-weight:500;position:absolute}.cal-grid{gap:3px;width:max-content;display:flex}.cal-dow-col{z-index:5;background:#181b21;flex-direction:column;gap:3px;margin-right:4px;padding-right:2px;display:flex;position:sticky;left:0}.cal-dow{width:22px;height:11px;color:var(--ink-faint);font-size:9px;font-family:var(--font-mono);align-items:center;line-height:1;display:flex}.cal-week{flex-direction:column;gap:3px;display:flex}.cal-cell{box-sizing:border-box;background:#14171d;border:1px solid #1f232b;border-radius:2px;width:11px;height:11px;transition:transform .12s,box-shadow .12s}.cal-cell--today{box-shadow:0 0 0 1.5px var(--amber-bright), 0 0 10px #ffd54ab3;z-index:2;position:relative}.cal-cell--selected{outline-offset:1px;z-index:5;outline:2px solid #fff!important}.cal-cell--clickable{cursor:pointer}.cal-cell--clickable:hover{box-shadow:0 0 0 1.5px var(--amber-bright), 0 0 8px #ffd54a80;z-index:6;transform:scale(1.25)}.lvl-0{background:#14171d;border-color:#1f232b}.lvl-1{background:#3d2a04;border-color:#634306}.lvl-2{background:#7a4c00;border-color:#9e6400;box-shadow:0 0 3px #ffb80033}.lvl-3{background:#c77700;border-color:#e08800;box-shadow:0 0 5px #f59e0b66}.lvl-4{background:#ffd54a;border-color:#ffe799;box-shadow:0 0 8px #ffd54ab3}.lvl-future{background:#ffffff06;border:1px solid #ffffff0f;border-radius:2px}.lvl-future:hover{background:#ffffff0f;border-color:#ffffff26}.lvl-practice{background:#6366f1;border-color:#818cf8;box-shadow:0 0 6px #6366f173}.lvl-shield{background:#0284c7;border-color:#38bdf8;box-shadow:0 0 7px #38bdf8a6}.cal-footer{border-top:1px solid var(--border-soft);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.cal-learn-btn{color:var(--ink-faint);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;text-decoration:underline;transition:color .15s}.cal-learn-btn:hover{color:var(--amber)}.cal-legend{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:4px;font-size:10px;display:flex}.cal-legend__label{color:var(--ink-faint);font-size:9.5px;font-family:var(--font-mono)}.cal-legend__sep{color:var(--border);margin:0 3px}.cal-legend .cal-cell{width:10px;height:10px}.cal-learn-box{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border-soft);color:var(--ink-soft);margin-top:12px;padding:10px 14px;font-size:11.5px;line-height:1.5}.cal-learn-box p{margin:0}.cal-section-bar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:24px;margin-bottom:12px;padding-bottom:10px;display:flex}.cal-section-title{color:var(--ink);font-size:14px;font-weight:700;font-family:var(--font-display);margin:0}.cal-year-selector{align-items:center;gap:7px;display:flex}.cal-year-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.cal-year-select{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);font-size:12px;font-family:var(--font-mono);border-radius:var(--r-sm);cursor:pointer;padding:4px 10px;font-weight:700;transition:all .15s;box-shadow:0 1px 4px #0003}.cal-year-select:hover{border-color:var(--amber-dim)}.cal-year-select:focus{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-wash);outline:none}.cal-activity{background:linear-gradient(180deg, var(--surface-2) 0%, #14161cf2 100%);border:1px solid var(--border);border-radius:var(--r-md);box-sizing:border-box;padding:16px;box-shadow:0 4px 16px #00000038}.cal-activity__head{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;display:flex}.cal-activity__title-group{align-items:center;gap:8px;display:flex}.cal-activity__title-group h4{color:var(--ink);margin:0;font-size:14px;font-weight:700}.cal-activity__today-tag{font-family:var(--font-mono);background:var(--amber-wash-strong);color:var(--amber-bright);letter-spacing:.05em;border:1px solid #ffb80059;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.cal-activity__meta-badge{color:var(--ink-soft);font-size:11.5px;font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border-soft);border-radius:4px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.cal-activity__dot{color:var(--ink-faint)}.cal-activity__list{flex-direction:column;gap:8px;display:flex}.cal-activity__row{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border-soft);box-sizing:border-box;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;transition:border-color .15s;display:flex}.cal-activity__row:hover{border-color:var(--border)}.cal-activity__course-tag{align-items:center;min-width:0;max-width:100%;display:flex}.cal-activity__course-title{font-size:9.5px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-3);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;max-width:280px;padding:2px 7px;font-weight:600;overflow:hidden}.cal-activity__main-row{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.cal-activity__left{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.cal-activity__check{color:var(--good);flex-shrink:0;align-items:center;display:inline-flex}.cal-activity__lecture-line{flex:1;align-items:baseline;gap:6px;min-width:0;display:flex}.cal-activity__lecture-num{font-family:var(--font-mono);color:var(--amber);flex-shrink:0;font-size:13px;font-weight:700}.cal-activity__lecture-name{color:var(--ink);word-break:break-word;min-width:0;font-size:13px;font-weight:500;line-height:1.35}.cal-activity__right{text-align:right;flex-shrink:0}.cal-activity__lecture-time{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:11.5px}.cal-activity__practice-card{border-radius:var(--r-sm);background:var(--surface);border:1px solid #6366f14d;padding:14px;box-shadow:0 2px 8px #00000026}.cal-activity__practice-badge{font-size:9.5px;font-family:var(--font-mono);letter-spacing:.05em;color:#c7d2fe;background:#6366f133;border:1px solid #6366f159;border-radius:3px;margin-bottom:8px;padding:2px 7px;font-weight:700;display:inline-block}.cal-activity__practice-note{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.5}.cal-activity__empty{text-align:center;padding:20px 14px}.cal-activity__empty-icon{filter:drop-shadow(0 2px 4px #0000004d);margin-bottom:8px;font-size:28px}.cal-activity__empty-text{color:var(--ink-faint);margin:0 0 10px;font-size:12.5px;line-height:1.5}.cal-activity__empty-hint{color:var(--amber);margin:8px 0 0;font-size:11.5px;font-weight:500}.cal-activity__future-badge{font-size:9.5px;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--amber);background:var(--amber-wash);border:1px solid #ffb80040;border-radius:3px;margin-bottom:10px;padding:3px 8px;font-weight:700;display:inline-block}.cal-activity__before-start-badge{font-size:9.5px;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);background:var(--surface-3);border:1px solid var(--border);border-radius:3px;margin-bottom:10px;padding:3px 8px;font-weight:700;display:inline-block}.cal-activity__add-practice-btn{background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:7px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 4px #0003}.cal-activity__add-practice-btn:hover{border-color:var(--amber);color:var(--amber-bright);background:var(--surface-2)}.cal-activity__shield-practice-box{border-top:1px dashed #38bdf840;flex-direction:column;gap:8px;margin-top:12px;padding-top:10px;display:flex}.cal-activity__add-practice-btn--refund{color:#38bdf8;background:#0284c72e;border-color:#38bdf866;justify-content:center;width:100%;font-weight:600}.cal-activity__add-practice-btn--refund:hover{color:#fff;background:#0284c752;border-color:#38bdf8}.cal-activity__shield-replace-hint{color:var(--ink-faint);margin:0;font-size:11px;line-height:1.45}.cal-activity__practice-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cal-activity__locked-box{border-radius:var(--r-sm);color:var(--ink-faint);background:#ffffff08;border:1px solid #ffffff14;align-items:center;gap:8px;margin-top:6px;padding:8px 12px;font-size:11.5px;display:inline-flex}.cal-activity__locked-icon{opacity:.8;font-size:13px}.cal-activity__locked-hint{color:var(--ink-faint);margin:8px 0 0;font-size:11px;font-style:italic}@media (width<=520px){.cal-summary{gap:8px}.cal-stat{text-align:center;flex-direction:column;justify-content:center;gap:4px;padding:10px 6px}.cal-stat__icon{margin-bottom:2px;font-size:20px}.cal-stat__value{font-size:20px}.cal-stat__label{letter-spacing:.02em;white-space:normal;font-size:9px;line-height:1.15}.cal-card{padding:12px 10px 10px}.cal-activity{padding:12px 10px}.cal-activity__head{flex-direction:column;align-items:flex-start;gap:8px}.cal-activity__row{padding:8px 10px}.cal-activity__course-title{max-width:200px}.cal-activity__lecture-name{font-size:12px}}.cal-shield-card{border-radius:var(--r-md);background:linear-gradient(135deg,#0ea5e914 0%,#141821f2 100%);border:1px solid #38bdf847;margin-bottom:16px;padding:14px 16px;box-shadow:0 4px 16px #00000040}.cal-shield-card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.cal-shield-card__title-row{align-items:flex-start;gap:10px;display:flex}.cal-shield-card__icon{filter:drop-shadow(0 2px 6px #38bdf866);margin-top:2px;font-size:20px;line-height:1}.cal-shield-card__title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:13.5px;font-weight:700}.cal-shield-card__desc{color:var(--ink-soft);margin:2px 0 0;font-size:11px;line-height:1.4}.cal-shield-card__badge{border-radius:var(--r-sm);background:#0ea5e926;border:1px solid #38bdf866;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:58px;padding:4px 10px;display:flex}.cal-shield-card__count{font-family:var(--font-mono);color:#38bdf8;font-size:18px;font-weight:800;line-height:1}.cal-shield-card__badge-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:9px}.cal-shield-promo-form{margin-bottom:10px}.cal-shield-promo-input-wrap{gap:8px;display:flex}.cal-shield-promo-input{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-sm);min-width:0;height:34px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;flex:1;padding:0 12px;font-size:12px;transition:all .15s}.cal-shield-promo-input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 2px #38bdf833}.cal-shield-promo-btn{border-radius:var(--r-sm);color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border:1px solid #38bdf8;height:34px;padding:0 14px;font-size:12px;font-weight:600;transition:all .16s}.cal-shield-promo-btn:hover:not(:disabled){background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);transform:translateY(-1px);box-shadow:0 0 10px #38bdf866}.cal-shield-promo-btn:disabled{opacity:.5;cursor:not-allowed}.cal-shield-promo-msg{border-radius:var(--r-sm);margin-bottom:10px;padding:6px 10px;font-size:11.5px;line-height:1.35}.cal-shield-promo-msg--success{color:#4ade80;background:#22c55e26;border:1px solid #22c55e59}.cal-shield-promo-msg--error{color:#f87171;background:#ef444426;border:1px solid #ef444459}.cal-shield-actions{flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.cal-shield-email-link{color:#38bdf8;align-items:center;gap:5px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.cal-shield-email-link:hover{color:#7dd3fc;text-decoration:underline}.cal-shield-sep{color:var(--ink-faint)}.cal-shield-hint-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline;transition:color .15s}.cal-shield-hint-btn:hover{color:var(--ink)}.cal-shield-hints-box{border-radius:var(--r-sm);background:#00000040;border:1px dashed #38bdf84d;margin-top:10px;padding:10px 12px;font-size:11px}.cal-shield-hints-title{color:var(--ink-soft);margin-bottom:6px;font-weight:600;display:block}.cal-shield-codes-list{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.cal-shield-code-chip{color:#7dd3fc;font-family:var(--font-mono);cursor:pointer;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:4px;padding:2px 7px;font-size:10.5px;transition:all .14s}.cal-shield-code-chip:hover{background:#38bdf840;border-color:#38bdf8;transform:translateY(-1px)}.cal-shield-hints-sub{color:var(--ink-faint);margin:4px 0 0;font-size:10px}.cal-shield-hints-sub code{color:#38bdf8;font-family:var(--font-mono)}.cal-activity__freeze-card{border-radius:var(--r-sm);background:linear-gradient(135deg,#0ea5e91f 0%,#141821cc 100%);border:1px solid #38bdf859;flex-direction:column;gap:8px;padding:14px;display:flex}.cal-activity__freeze-header{align-items:flex-start;gap:10px;display:flex}.cal-activity__freeze-icon{font-size:20px;line-height:1}.cal-activity__freeze-badge{letter-spacing:.05em;color:#38bdf8;background:#38bdf829;border:1px solid #38bdf859;border-radius:4px;margin-bottom:4px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.cal-activity__freeze-note{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.4}.pd-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:300;background:#040506b8;justify-content:center;align-items:center;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.pd-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:440px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);box-sizing:border-box;flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) popIn;display:flex}.pd-modal__body{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;padding:20px;overflow-y:auto}@media (width<=480px){.pd-modal__head{padding:14px 16px}.pd-modal__body{padding:16px 14px}}.pd-modal__head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.pd-modal__head h2{color:var(--ink);font-size:15px}.pd-modal__close{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;font-size:12px}.pd-modal__close:hover{color:var(--amber);border-color:var(--amber-dim)}.pd-modal__body{padding:20px}.pd-modal__help{color:var(--ink-soft);margin:0 0 14px;font-size:12.5px;line-height:1.6}.pd-textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--ink);font-family:var(--font-body);resize:vertical;min-height:90px;padding:12px;font-size:13px}.pd-textarea:focus{border-color:var(--amber-dim);outline:none}.pd-word-count{font-family:var(--font-mono);color:var(--ink-faint);text-align:right;margin-top:8px;font-size:11.5px}.pd-word-count--ok{color:var(--good)}.pd-error{color:var(--danger);border-radius:var(--r-sm);background:#f0654f14;border:1px solid #f0654f4d;margin-top:10px;padding:8px 10px;font-size:12px}.pd-modal__actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.pd-btn{border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);height:38px;color:var(--ink-soft);padding:0 16px;font-size:13px;transition:all .15s}.pd-btn--ghost:hover{color:var(--ink);border-color:var(--ink-faint)}.pd-btn--primary{background:var(--amber);border-color:var(--amber);color:#0c0d10;font-weight:700}.pd-btn--primary:hover{background:var(--amber-bright)}.pd-btn--primary:disabled{background:var(--surface-3);border-color:var(--border);color:var(--ink-faint);cursor:not-allowed}.pd-code-display{justify-content:center;gap:8px;margin:8px 0 18px;display:flex}.pd-code-digit{border-radius:var(--r-sm);background:var(--amber-wash);border:1px solid var(--amber-dim);width:38px;height:46px;color:var(--amber);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.pd-code-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--ink);font-family:var(--font-mono);letter-spacing:.2em;text-align:center;padding:12px;font-size:16px}.pd-code-input:focus{border-color:var(--amber-dim);outline:none}.badges-drawer{width:580px;max-width:95vw}.badges-hero{border-radius:var(--r-lg);background:linear-gradient(135deg,#21252de6 0%,#131519f2 100%);border:1px solid #ffd54a40;margin-bottom:18px;padding:18px 20px;position:relative;overflow:hidden;box-shadow:0 8px 24px -8px #0009,inset 0 1px #ffffff0f}.badges-hero__glow{pointer-events:none;background:radial-gradient(circle,#ffb8002e 0%,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.badges-hero__top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.badges-hero__rank-wrap{align-items:center;gap:14px;min-width:0;display:flex}.badges-hero__trophy{width:48px;height:48px;color:var(--amber-bright);background:linear-gradient(135deg,#ffb80033 0%,#d977061a 100%);border:1px solid #ffb80066;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #ffb80033}.badges-hero__rank-info{min-width:0}.badges-hero__rank-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:2px;font-size:11px}.badges-hero__rank-title{color:var(--ink);letter-spacing:-.01em;font-size:17px;font-weight:800;line-height:1.2}.badges-hero__count-box{text-align:right;flex-shrink:0}.badges-hero__count-num{font-family:var(--font-mono);color:var(--amber-bright);font-size:22px;font-weight:800;line-height:1}.badges-hero__count-label{color:var(--ink-faint);margin-top:2px;font-size:11px}.badges-hero__desc{color:var(--ink-soft);margin-bottom:14px;font-size:12.5px;line-height:1.45}.badges-progress-track{background:#0006;border:1px solid #ffffff0f;border-radius:6px;height:8px;margin-bottom:12px;overflow:hidden}.badges-progress-fill{background:linear-gradient(90deg,#d97706 0%,#ffb800 50%,#ffd54a 100%);border-radius:6px;height:100%;transition:width .4s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #ffb80080}.badges-hero__chips{flex-wrap:wrap;gap:10px;display:flex}.badge-chip{font-size:11.5px;font-family:var(--font-mono);border:1px solid var(--border);color:var(--ink-soft);background:#0000004d;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.badge-chip--active{color:var(--amber-bright);background:#ffb80014;border-color:#ffb8004d}.badge-next-card{border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:var(--r-md);background:linear-gradient(135deg,#191c22cc 0%,#14161be6 100%);align-items:center;gap:14px;margin-bottom:18px;padding:12px 16px;display:flex}.badge-next-card__icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge-next-card__body{flex:1;min-width:0}.badge-next-card__tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--amber);margin-bottom:2px;font-size:10.5px}.badge-next-card__title{color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.25}.badge-next-card__info{color:var(--ink-soft);margin-top:2px;font-size:11.5px}.badges-tabs{scrollbar-width:none;gap:6px;margin-bottom:16px;padding-bottom:6px;display:flex;overflow-x:auto}.badges-tabs::-webkit-scrollbar{display:none}.badge-tab{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.badge-tab:hover{color:var(--ink);border-color:#ffffff26}.badge-tab--active{background:var(--amber-wash);border-color:var(--amber);color:var(--amber-bright)}.badges-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;display:grid}.badge-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;padding:14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.badge-card:hover{border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 8px 20px #00000059}.badge-card--unlocked{background:linear-gradient(145deg,#21252df2 0%,#191c22f2 100%);border-color:#ffb80059;box-shadow:0 4px 16px #0000004d}.badge-card--unlocked:hover{border-color:var(--amber-bright);box-shadow:0 8px 24px #ffb80033}.badge-card__top-badge{position:absolute;top:10px;right:10px}.badge-card__tier-pill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--ink-faint);background:#0000004d;border-radius:12px;padding:2px 7px;font-size:9.5px}.badge-card--unlocked .badge-card__tier-pill{color:var(--amber);background:#ffb8001a;border-color:#ffb8004d}.badge-card__emblem{justify-content:center;align-items:center;margin:8px 0 10px;transition:transform .25s;display:flex;position:relative}.badge-card:hover .badge-card__emblem{transform:scale(1.08)}.badge-card__title{color:var(--ink);margin-bottom:2px;font-size:13.5px;font-weight:700;line-height:1.25}.badge-card__subtitle{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);margin-bottom:8px}.badge-card__desc{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:31px;margin-bottom:12px;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.badge-card__status{border-top:1px solid var(--border-soft);width:100%;margin-top:auto;padding-top:10px}.badge-card__unlocked-pill{font-family:var(--font-mono);color:var(--good);letter-spacing:.02em;align-items:center;gap:5px;font-size:10.5px;font-weight:700;display:inline-flex}.badge-card__locked-box{width:100%}.badge-card__locked-track{background:var(--surface-3);border-radius:4px;height:5px;margin-bottom:5px;overflow:hidden}.badge-card__locked-fill{background:linear-gradient(90deg,#4b5563 0%,#9ca3af 100%);border-radius:4px;height:100%}.badge-card__locked-text{font-family:var(--font-mono);color:var(--ink-faint);justify-content:space-between;font-size:10.5px;display:flex}.badge-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;background:#000000bf;justify-content:center;align-items:center;padding:16px;animation:.16s fadeIn;display:flex;position:fixed;inset:0}.badge-modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:24px;animation:.2s cubic-bezier(.16,1,.3,1) popIn;display:flex;position:relative;box-shadow:0 20px 48px #000000b3}.badge-modal__close{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:14px;right:14px}.badge-modal__close:hover{color:var(--amber);border-color:var(--amber-dim)}.badge-modal__emblem-wrap{margin:10px 0 16px;position:relative}.badge-modal__tier-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:4px;font-size:11px}.badge-modal__title{color:var(--ink);letter-spacing:-.01em;margin-bottom:4px;font-size:20px;font-weight:800}.badge-modal__subtitle{color:var(--ink-faint);font-size:12px;font-family:var(--font-mono);margin-bottom:12px}.badge-modal__desc{color:var(--ink-soft);max-width:360px;margin-bottom:20px;font-size:13px;line-height:1.5}.badge-modal__status-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;margin-bottom:18px;padding:14px}.badge-modal__actions{gap:10px;width:100%;display:flex}.badge-modal__btn{border-radius:var(--r-sm);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .16s;display:flex}.badge-modal__btn--primary{background:var(--amber);color:#0c0d10;border:1px solid var(--amber-bright)}.badge-modal__btn--primary:hover{background:var(--amber-bright);box-shadow:0 0 14px #ffb80066}.badge-modal__btn--secondary{background:var(--surface-2);color:var(--ink);border:1px solid var(--border)}.badge-modal__btn--secondary:hover{border-color:#fff3}.badge-toast-container{z-index:500;max-width:calc(100vw - 32px);animation:.3s cubic-bezier(.16,1,.3,1) slideToast;position:fixed;bottom:24px;right:24px}@keyframes slideToast{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.badge-toast{border-radius:var(--r-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:linear-gradient(135deg,#191c22fa 0%,#0f1115fa 100%);border:1px solid #ffb80073;align-items:center;gap:14px;padding:12px 16px;transition:transform .15s,border-color .15s;display:flex;box-shadow:0 12px 32px #0009,0 0 20px #ffb80040}.badge-toast:hover{border-color:var(--amber);transform:translateY(-2px)}.badge-toast__icon{flex-shrink:0}.badge-toast__body{min-width:0}.badge-toast__tag{font-family:var(--font-mono);color:var(--amber-bright);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:5px;font-size:10.5px;display:flex}.badge-toast__title{color:var(--ink);margin-top:1px;font-size:13.5px;font-weight:700;line-height:1.25}.badge-toast__btn{border-radius:var(--r-sm);background:var(--amber);color:#0c0d10;cursor:pointer;border:none;flex-shrink:0;margin-left:6px;padding:5px 10px;font-size:11.5px;font-weight:700;transition:background .15s}.badge-toast__btn:hover{background:var(--amber-bright)}.badge-toast__close{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:4px;padding:4px;font-size:13px;display:flex}.badge-toast__close:hover{color:var(--ink)}@media (width<=540px){.badges-grid{grid-template-columns:1fr}.badges-hero{padding:14px}.badges-hero__rank-title{font-size:15px}.badges-hero__trophy{width:40px;height:40px}.badge-toast-container{bottom:16px;left:16px;right:16px}}.dcm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:320;background:#040506c2;justify-content:center;align-items:center;padding:16px;animation:.15s dcmFadeIn;display:flex;position:fixed;inset:0}@keyframes dcmFadeIn{0%{opacity:0}to{opacity:1}}.dcm-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:460px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);box-sizing:border-box;flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) dcmPopIn;display:flex}.dcm-modal__body{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;padding:20px;overflow-y:auto}@media (width<=480px){.dcm-modal__head{padding:14px 16px}.dcm-modal__body{padding:16px 14px}}@keyframes dcmPopIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dcm-modal__head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.dcm-modal__head h2{color:var(--danger);font-size:15px;font-family:var(--font-display)}.dcm-modal__close{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;font-size:12px;transition:all .15s}.dcm-modal__close:hover{color:var(--amber);border-color:var(--amber-dim)}.dcm-modal__body{padding:20px}.dcm-warning{border-radius:var(--r-md);background:#f0654f0f;border:1px solid #f0654f40;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px;display:flex}.dcm-warning__icon{color:var(--danger);flex-shrink:0;margin-top:1px}.dcm-warning__name{color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:600}.dcm-warning__text{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.dcm-help{color:var(--ink-soft);margin:0 0 14px;font-size:12.5px;line-height:1.6}.dcm-code-display{justify-content:center;gap:8px;margin:8px 0 18px;display:flex}.dcm-code-char{border-radius:var(--r-sm);width:40px;height:48px;color:var(--danger);font-family:var(--font-mono);letter-spacing:.02em;background:#f0654f0f;border:1px solid #f0654f59;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.dcm-code-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--ink);font-family:var(--font-mono);letter-spacing:.25em;text-align:center;text-transform:uppercase;padding:12px;font-size:16px}.dcm-code-input:focus{border-color:var(--amber-dim);outline:none}.dcm-error{color:var(--danger);border-radius:var(--r-sm);background:#f0654f14;border:1px solid #f0654f4d;margin-top:10px;padding:8px 10px;font-size:12px}.dcm-modal__actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.dcm-btn{border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);height:38px;color:var(--ink-soft);padding:0 18px;font-size:13px;font-weight:500;transition:all .15s}.dcm-btn--ghost:hover{color:var(--ink);border-color:var(--ink-faint)}.dcm-btn--danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:700}.dcm-btn--danger:hover{background:#d9503b}.dcm-btn--danger:disabled{background:var(--surface-3);border-color:var(--border);color:var(--ink-faint);cursor:not-allowed}.mm-wrap{flex-direction:column;gap:12px;display:flex}.mm-total{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--ink-soft);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12.5px;display:flex}.mm-total strong{font-family:var(--font-mono);color:var(--amber)}.mm-error{color:var(--danger);border-radius:var(--r-sm);background:#f0654f14;border:1px solid #f0654f4d;padding:8px 10px;font-size:12px}.mm-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mm-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px}.mm-item__title{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;font-size:13px;font-weight:600;display:flex}.mm-active-tag,.mm-default-tag{font-family:var(--font-mono);letter-spacing:.03em;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700}.mm-active-tag{color:var(--amber);background:var(--amber-wash-strong);border:1px solid #ffb80066}.mm-default-tag{color:var(--ink-soft);background:var(--surface);border:1px solid var(--border)}.mm-item__meta{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);margin-bottom:10px}.mm-item__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mm-btn{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);height:32px;color:var(--ink-soft);cursor:pointer;padding:0 12px;font-size:11.5px;transition:all .15s}.mm-btn:hover{border-color:var(--amber-dim);color:var(--amber)}.mm-btn--danger{color:var(--danger)}.mm-btn--danger:hover{border-color:var(--danger);background:#f0654f14}.mm-confirm{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.mm-hint{color:var(--ink-faint);margin:0;font-size:11px;line-height:1.5}.br-wrap{flex-direction:column;gap:20px;display:flex}.br-block h4{color:var(--ink);margin:0 0 6px;font-size:12.5px}.br-help{color:var(--ink-faint);margin:0 0 10px;font-size:11.5px;line-height:1.55}.br-help strong{color:var(--ink-soft)}.br-btn{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);height:36px;color:var(--ink-soft);cursor:pointer;padding:0 14px;font-size:12.5px;transition:all .15s}.br-btn:hover{border-color:var(--amber-dim);color:var(--amber)}.br-btn--ghost:hover{color:var(--ink);border-color:var(--ink-faint)}.br-btn--danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:700}.br-btn--danger:hover{background:#d9503b}.br-note{color:var(--good);margin-top:8px;font-size:11.5px}.br-error{color:var(--danger);border-radius:var(--r-sm);background:#f0654f14;border:1px solid #f0654f4d;margin-top:10px;padding:8px 10px;font-size:12px}.br-confirm{border-radius:var(--r-md);background:#f0654f0f;border:1px solid #f0654f4d;margin-top:12px;padding:12px}.br-confirm__text{color:var(--ink-soft);margin:0 0 12px;font-size:11.5px;line-height:1.55}.br-confirm__text strong{color:var(--danger)}.br-confirm__actions{justify-content:flex-end;gap:8px;display:flex}.settings-section{border-bottom:1px solid var(--border-soft);margin-bottom:24px;padding-bottom:24px}.settings-section:last-of-type{border-bottom:none}.settings-section h3{color:var(--ink);margin-bottom:6px;font-size:13.5px;font-weight:700}.settings-section__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.settings-section__head h3{margin-bottom:0}.settings-help{color:var(--ink-faint);margin:0 0 12px;font-size:12px;line-height:1.55}.settings-help strong{color:var(--ink-soft)}.course-select{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:100%;height:38px;color:var(--ink);cursor:pointer;margin-bottom:10px;padding:0 10px;font-size:12.5px}.course-select:focus{border-color:var(--amber-dim);outline:none}.import-btn{border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--border);width:100%;color:var(--ink-soft);cursor:pointer;padding:10px;font-size:12.5px;font-weight:500;transition:all .15s}.import-btn:hover{border-color:var(--amber-dim);color:var(--amber);background:var(--surface-3);border-style:solid}.preset-row{flex-wrap:wrap;gap:8px;display:flex}.preset-chip{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);min-width:60px;color:var(--ink-soft);font-family:var(--font-mono);cursor:pointer;text-align:center;flex:calc(25% - 8px);padding:9px 0;font-size:12.5px;font-weight:600;transition:all .15s}.preset-chip:hover{border-color:var(--amber-dim);color:var(--ink)}.preset-chip--active{background:var(--amber-wash-strong);border-color:var(--amber);color:var(--amber-bright);box-shadow:0 0 10px var(--amber-wash);font-weight:700}.calc-target-card{border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-2) 0%, #14161cf2 100%);border:1px solid var(--border);margin-top:16px;padding:16px;box-shadow:0 2px 8px #0003}.calc-target-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--good);align-items:center;gap:6px;margin-bottom:14px;font-size:10.5px;font-weight:700;display:flex}.calc-target-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.calc-target-row__label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600}.calc-target-row__value{font-family:var(--font-mono);color:var(--ink);font-size:14px;font-weight:700}.calc-target-row__value--date{color:var(--amber);font-size:12.5px}.calc-target-highlight{border-radius:var(--r-sm);background:#4ade800a;border:1px solid #4ade8040;align-items:baseline;gap:8px;margin-bottom:14px;padding:10px 14px;display:flex}.calc-target-highlight__value{font-family:var(--font-mono);color:var(--good);font-size:18px;font-weight:700}.calc-target-highlight__approx{font-family:var(--font-mono);color:var(--good);opacity:.7;font-size:13px;font-weight:600}.calc-target-divider{background:var(--border-soft);height:1px;margin:12px 0}.calc-target-datepicker{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);width:100%;height:38px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin-bottom:12px;padding:0 12px;font-size:13px;transition:border-color .15s}.calc-target-datepicker:focus{border-color:var(--amber-dim);outline:none}.calc-target-datepicker:hover{border-color:var(--amber-dim)}.calc-target-reset-btn{border:1px solid var(--border);color:var(--ink-faint);border-radius:var(--r-sm);font-size:10px;font-family:var(--font-mono);cursor:pointer;background:0 0;padding:2px 7px;transition:all .15s}.calc-target-reset-btn:hover{color:var(--amber);border-color:var(--amber)}.settings-help--small{margin-top:-6px;margin-bottom:12px;font-size:11px}.calc-target-info{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border-soft);color:var(--ink-faint);align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:11.5px;line-height:1.6;display:flex}.calc-target-info svg{opacity:.6;flex-shrink:0;margin-top:1px}.toggle-row{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.toggle{background:var(--surface-3);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:40px;height:22px;transition:background .18s,border-color .18s;position:relative}.toggle--on{background:var(--amber-dim);border-color:var(--amber)}.toggle__thumb{background:var(--ink-soft);border-radius:50%;width:16px;height:16px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .18s;position:absolute;top:2px;left:2px}.toggle--on .toggle__thumb{background:var(--amber);transform:translate(18px)}.radio-group{flex-direction:column;gap:10px;display:flex}.radio-row{color:var(--ink);cursor:pointer;align-items:center;gap:10px;font-size:13px;display:flex}.radio-row input{display:none}.radio-dot{border:1.5px solid var(--border);background:var(--surface-2);border-radius:50%;flex-shrink:0;width:17px;height:17px;position:relative}.radio-row input:checked+.radio-dot{border-color:var(--amber)}.radio-row input:checked+.radio-dot:after{content:"";background:var(--amber);border-radius:50%;position:absolute;inset:3px}.ps-select-root{width:100%;position:relative}.ps-select-trigger{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--ink);cursor:pointer;box-sizing:border-box;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:all .18s;display:flex}.ps-select-trigger:hover{border-color:var(--amber-dim);background:var(--surface-3)}.ps-select-trigger--open{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-wash)}.ps-select-trigger__left{align-items:center;gap:9px;min-width:0;display:flex}.ps-select-trigger__icon{color:var(--amber);opacity:.85;align-items:center;display:flex}.ps-select-trigger__value{font-weight:600;font-family:var(--font-mono);color:var(--ink);font-size:13px}.ps-select-trigger__tag{font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--amber-wash-strong);color:var(--amber);border:1px solid #ffb80040;border-radius:3px;padding:2px 6px;font-weight:700}.ps-select-trigger__arrow{color:var(--ink-faint);font-size:12px;transition:transform .2s}.ps-select-trigger__arrow--open{color:var(--amber);transform:rotate(180deg)}.ps-select-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);z-index:100;padding:6px;animation:.15s psSelectFadeIn;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 10px 30px #00000080,0 0 0 1px #ffffff0d}@keyframes psSelectFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ps-select-dropdown__header{font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);padding:6px 10px 4px;font-weight:700}.ps-select-option{border-radius:var(--r-sm);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:all .12s;display:flex}.ps-select-option:hover{background:var(--surface-2)}.ps-select-option--selected{background:var(--amber-wash)}.ps-select-option--selected:hover{background:var(--amber-wash-strong)}.ps-select-option__left{align-items:center;gap:10px;min-width:0;display:flex}.ps-select-option__radio{border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;display:flex}.ps-select-option--selected .ps-select-option__radio{border-color:var(--amber)}.ps-select-option__dot{background:0 0;border-radius:50%;width:7px;height:7px;transition:background .15s}.ps-select-option__dot--on{background:var(--amber)}.ps-select-option__info{flex-direction:column;gap:2px;min-width:0;display:flex}.ps-select-option__title{color:var(--ink);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.ps-select-option--selected .ps-select-option__title{color:var(--amber-bright)}.ps-select-option__tag{font-size:9px;font-family:var(--font-mono);text-transform:uppercase;background:var(--surface-3);color:var(--ink-faint);border-radius:3px;padding:1px 5px;font-weight:700}.ps-select-option--selected .ps-select-option__tag{background:var(--amber-wash-strong);color:var(--amber)}.ps-select-option__desc{color:var(--ink-faint);font-size:11px}.ps-select-option__check{color:var(--amber);margin-right:4px;font-size:13px;font-weight:700}.api-status-badge{font-family:var(--font-mono);border-radius:var(--r-sm);letter-spacing:.03em;align-items:center;gap:6px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.api-status-badge--active{color:var(--good);background:#4ade801a;border:1px solid #4ade8059}.api-status-badge--default{background:var(--surface-3);border:1px solid var(--border);color:var(--ink-faint)}.api-status-badge__dot{background:var(--good);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite apiDotPulse;box-shadow:0 0 6px #4ade80cc}@keyframes apiDotPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.api-key-box{flex-direction:column;gap:10px;margin-top:10px;display:flex}.api-key-input-wrap{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.api-key-input-wrap:focus-within{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-wash)}.api-key-icon{color:var(--ink-faint);flex-shrink:0;align-items:center;padding-left:12px;display:flex}.api-key-input{height:40px;color:var(--ink);font-family:var(--font-mono);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0 10px;font-size:13px}.api-key-input::placeholder{color:var(--ink-faint);opacity:.6}.api-key-icon-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:8px 10px;font-size:13px;transition:color .15s;display:flex}.api-key-icon-btn:hover{color:var(--ink)}.api-key-actions{gap:8px;display:flex}.api-btn{border-radius:var(--r-md);cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 16px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.api-btn--preview{color:var(--amber-bright);background:#ffb8001f;border:1px solid #ffb80059;flex:1.1}.api-btn--preview:hover{border-color:var(--amber);color:#fff;background:#ffb80038;transform:translateY(-1px);box-shadow:0 0 12px #ffb8004d}.api-btn--test{background:linear-gradient(180deg, var(--surface-3) 0%, var(--surface-2) 100%);border:1px solid var(--border);color:var(--ink);flex:1.2;box-shadow:0 1px 4px #0003}.api-btn--test:hover:not(:disabled){border-color:var(--amber);color:var(--amber-bright);box-shadow:0 0 12px var(--amber-wash-strong), 0 2px 6px #00000040;transform:translateY(-1px)}.api-btn--test:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.api-btn--save{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft);flex:1}.api-btn--save:hover:not(:disabled){border-color:var(--amber-dim);color:var(--ink);background:var(--surface-3)}.api-btn__spinner{border:2px solid #ffb80040;border-top-color:var(--amber);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.api-test-result{border-radius:var(--r-md);align-items:flex-start;gap:11px;padding:12px 14px;font-size:12px;line-height:1.45;animation:.2s testFadeIn;display:flex}@keyframes testFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.api-test-result--success{color:#86efac;background:#4ade8014;border:1px solid #4ade8059}.api-test-result--error{color:#fca5a5;background:#f0654f14;border:1px solid #f0654f59}.api-test-result__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:13px;font-weight:700;display:flex}.api-test-result--success .api-test-result__icon{color:var(--good);background:#4ade8033}.api-test-result--error .api-test-result__icon{color:var(--danger);background:#f0654f33}.api-test-result__content{flex:1;min-width:0}.api-test-result__title{margin-bottom:2px;font-size:12.5px;font-weight:700}.api-test-result--success .api-test-result__title{color:var(--good)}.api-test-result--error .api-test-result__title{color:var(--danger)}.api-test-result__desc{opacity:.9;word-break:break-word}.danger-btn{border-radius:var(--r-md);width:100%;color:var(--danger);cursor:pointer;background:#f0654f14;border:1px solid #f0654f59;padding:11px;font-size:13px;font-weight:600;transition:all .15s}.danger-btn:hover{background:#f0654f29;border-color:#f0654f80;transform:translateY(-1px)}.danger-btn--severe{background:var(--danger);border-color:var(--danger);color:#fff}.danger-btn--severe:hover{background:#d9503b}.danger-btn--ghost{background:var(--surface-2);border-color:var(--border);color:var(--ink-soft)}.reset-confirm{border-radius:var(--r-md);background:#f0654f0f;border:1px solid #f0654f4d;margin-top:10px;padding:12px}.reset-confirm p{color:var(--ink-soft);margin:0 0 10px;font-size:12px}.reset-confirm__actions{gap:8px;display:flex}.reset-confirm__actions .danger-btn{flex:1;width:auto;padding:8px;font-size:12px}.settings-footnote{color:var(--ink-faint);text-align:center;margin-top:10px;font-size:11px;line-height:1.5}.notif-settings-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:12px;padding:14px;display:flex}.notif-settings-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.notif-settings-title{color:var(--ink);font-size:12.5px;font-weight:600}.notif-settings-desc{color:var(--ink-faint);margin-top:2px;font-size:11px}.notif-status-badge{border-radius:4px;padding:1px 6px;font-size:10.5px}.notif-status-badge--granted{color:#4ade80;background:#22c55e2e;border:1px solid #22c55e59}.notif-status-badge--denied{color:#f87171;background:#ef44442e;border:1px solid #ef444459}.notif-status-badge--default,.notif-status-badge--unsupported{color:var(--ink-soft);border:1px solid var(--border);background:#ffffff14}.notif-enable-btn{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--amber) 0%, #d97706 100%);color:#121316;cursor:pointer;border:none;padding:6px 12px;font-size:11.5px;font-weight:600;transition:all .15s}.notif-enable-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.notif-active-chip{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.notif-time-select-row{background:var(--surface-3);border-radius:var(--r-sm);border:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.notif-time-label{color:var(--ink-soft);font-size:12px}.notif-time-input{background:var(--surface-1);border:1px solid var(--border);color:var(--ink);font-family:var(--font-mono);border-radius:4px;padding:4px 8px;font-size:12px}.notif-settings-actions{gap:8px;margin-top:4px;display:flex}.settings-xml-btn{border-radius:var(--r-sm,6px);background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);height:38px;color:var(--ink,#eef0f3);font-family:var(--font-display,sans-serif);cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 16px;font-size:12.5px;font-weight:600;transition:all .16s;display:inline-flex}.settings-xml-btn:hover:not(:disabled){background:var(--surface-3,#21252d);border-color:var(--amber,#ffb800);color:var(--amber-bright,#ffd54a);transform:translateY(-1px);box-shadow:0 0 10px #ffb80026}.settings-xml-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.preset-row{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.preset-chip{flex:unset;min-width:unset;width:100%}.api-key-actions,.notif-settings-actions{flex-direction:column}.api-btn{width:100%}.reset-confirm__actions{flex-direction:column}.reset-confirm__actions .danger-btn{width:100%}}.ai-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;background-color:#06070adb;justify-content:center;align-items:center;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) aiFadeIn;display:flex;position:fixed;inset:0}@keyframes aiFadeIn{0%{opacity:0}to{opacity:1}}.ai-modal{background:var(--surface,#131519);border:1px solid var(--border,#2a2e37);border-radius:var(--r-lg,12px);width:100%;max-width:710px;max-height:90vh;color:var(--ink,#eef0f3);font-family:var(--font-body,system-ui, sans-serif);flex-direction:column;padding:0;animation:.25s cubic-bezier(.16,1,.3,1) aiSlideUp;display:flex;overflow:hidden;box-shadow:0 24px 60px -12px #000000f2,0 0 40px #ffb8000d}@keyframes aiSlideUp{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-modal__header{border-bottom:1px solid var(--border-soft,#1d2027);background:var(--surface,#131519);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 22px 14px;display:flex}.ai-modal__title-group{align-items:flex-start;gap:12px;display:flex}.ai-modal__title-sparkle{border-radius:var(--r-md,6px);background:var(--amber-wash,#ffb80014);width:34px;height:34px;color:var(--amber,#ffb800);border:1px solid #ffb80040;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:1.15rem;display:inline-flex}.ai-modal__title{font-family:var(--font-display,sans-serif);color:var(--ink,#eef0f3);letter-spacing:-.01em;margin:0;font-size:1.2rem;font-weight:700;line-height:1.25}.ai-modal__subtitle{color:var(--ink-soft,#a6acb8);margin:3px 0 0;font-size:.82rem;line-height:1.4}.ai-modal__dev-link{color:var(--amber,#ffb800);font-weight:600;text-decoration:none;transition:all .15s}.ai-modal__dev-link:hover,.ai-modal__dev-link:focus-visible{color:var(--amber-bright,#ffd54a);text-decoration:underline}.ai-modal__close-btn{color:var(--ink-faint,#949baa);cursor:pointer;border-radius:var(--r-sm,4px);background:0 0;border:1px solid #0000;padding:4px 8px;font-size:1.05rem;line-height:1;transition:all .15s}.ai-modal__close-btn:hover,.ai-modal__close-btn:focus-visible{color:var(--ink,#eef0f3);background:var(--surface-2,#191c22);border-color:var(--border,#2a2e37);outline:none}.ai-modal__body{flex-direction:column;flex:1;gap:9px;min-height:0;padding:12px 20px;display:flex;overflow-y:auto}.ai-scope-wrapper{display:flex}.ai-scope-selector{background:var(--surface-2,#191c22);border-radius:var(--r-md,6px);border:1px solid var(--border-soft,#1d2027);grid-template-columns:repeat(3,1fr);gap:4px;width:100%;padding:4px;display:grid}.ai-scope-btn{border-radius:var(--r-sm,4px);color:var(--ink-soft,#a6acb8);font-family:var(--font-display,sans-serif);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.ai-scope-btn:hover{color:var(--ink,#eef0f3);background:var(--surface-3,#21252d)}.ai-scope-btn--active{background:var(--surface,#131519);border-color:var(--amber,#ffb800);color:var(--amber,#ffb800);font-weight:700;box-shadow:0 2px 8px #0006}.ai-scope-btn__icon{font-size:.95rem;line-height:1}.ai-topic-container{background:var(--surface-2,#191c22);border:1px solid var(--border-soft,#1d2027);border-radius:var(--r-md,6px);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.ai-topic-toolbar-stacked{flex-direction:column;gap:5px;width:100%;display:flex}.ai-search-wrap{align-items:center;width:100%;display:flex;position:relative}.ai-search-icon{color:var(--ink-faint,#949baa);pointer-events:none;font-size:.78rem;position:absolute;left:9px}.ai-topic-search{background:var(--surface,#131519);border:1px solid var(--border,#2a2e37);border-radius:var(--r-sm,4px);width:100%;height:30px;color:var(--ink,#eef0f3);font-family:var(--font-body,inherit);outline:none;padding:0 28px;font-size:.8rem;transition:border-color .15s}.ai-topic-search:focus{border-color:var(--amber,#ffb800)}.ai-search-clear-btn{color:var(--ink-faint,#949baa);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.75rem;line-height:1;position:absolute;right:6px}.ai-search-clear-btn:hover{color:var(--ink,#eef0f3)}.ai-topic-subbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-topic-actions{align-items:center;gap:6px;display:flex}.ai-text-btn{color:var(--amber,#ffb800);font-family:var(--font-display,sans-serif);cursor:pointer;border-radius:var(--r-sm,4px);background:0 0;border:none;padding:2px 6px;font-size:.74rem;font-weight:600;transition:all .15s}.ai-text-btn:hover{background:var(--amber-wash,#ffb80014);color:var(--amber-bright,#ffd54a)}.ai-pills-bar{border-bottom:1px solid var(--border-soft,#1d2027);flex-wrap:wrap;align-items:center;gap:5px;padding:2px 0 4px;display:flex}.ai-pills-label{color:var(--amber,#ffb800);font-size:.72rem;font-weight:700;font-family:var(--font-mono,monospace)}.ai-topic-pill{background:var(--amber-wash,#ffb80014);color:var(--ink,#eef0f3);white-space:nowrap;text-overflow:ellipsis;border:1px solid #ffb80047;border-radius:9999px;align-items:center;gap:4px;max-width:200px;padding:1px 6px;font-size:.7rem;display:inline-flex;overflow:hidden}.ai-topic-pill__remove{color:var(--ink-faint,#949baa);cursor:pointer;background:0 0;border:none;padding:0 1px;font-size:.8rem;line-height:1}.ai-topic-pill__remove:hover{color:var(--amber-bright,#ffd54a)}.ai-topic-pill--more{background:var(--surface-3,#21252d);border-color:var(--border,#2a2e37);color:var(--ink-soft,#a6acb8)}.ai-topic-tree{flex-direction:column;gap:5px;max-height:180px;padding-right:4px;display:flex;overflow-y:auto}.ai-sec-group{background:var(--surface,#131519);border:1px solid var(--border-soft,#1d2027);border-radius:var(--r-sm,4px);flex-shrink:0;transition:border-color .15s;overflow:hidden}.ai-sec-group:hover{border-color:var(--border,#2a2e37)}.ai-sec-group__head{background:var(--surface-2,#191c22);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.ai-sec-group__toggle{color:var(--ink,#eef0f3);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:0;font-size:.8rem;display:flex}.ai-sec-chevron{color:var(--amber,#ffb800);font-size:.68rem}.ai-sec-num{font-family:var(--font-mono,monospace);color:var(--amber-dim,#c49400);white-space:nowrap;font-size:.74rem;font-weight:700}.ai-sec-title{white-space:nowrap;text-overflow:ellipsis;color:var(--ink,#eef0f3);font-size:.8rem;overflow:hidden}.ai-sec-group__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.ai-sec-count{font-family:var(--font-mono,monospace);color:var(--ink-faint,#949baa);font-size:.72rem}.ai-sec-btn{background:var(--surface-3,#21252d);border:1px solid var(--border,#2a2e37);color:var(--ink,#eef0f3);font-family:var(--font-display,sans-serif);border-radius:var(--r-sm,4px);cursor:pointer;padding:2px 7px;font-size:.7rem;font-weight:600;transition:all .15s}.ai-sec-btn:hover{background:var(--amber-wash,#ffb80014);border-color:var(--amber,#ffb800);color:var(--amber,#ffb800)}.ai-sec-group__body{background:var(--surface,#131519);border-top:1px solid var(--border-soft,#1d2027);flex-direction:column;gap:3px;padding:5px 8px 6px;display:flex}.ai-lec-item{background:var(--surface-2,#191c22);border:1px solid var(--border-soft,#1d2027);border-radius:var(--r-sm,4px);cursor:pointer;flex-shrink:0;align-items:center;gap:8px;padding:5px 8px;font-size:.78rem;transition:all .15s;display:flex}.ai-lec-item:hover{background:var(--surface-3,#21252d);border-color:var(--border,#2a2e37)}.ai-lec-item--checked{background:var(--amber-wash,#ffb80014);border-color:#ffb80059}.ai-lec-checkbox{accent-color:var(--amber,#ffb800);cursor:pointer;width:14px;height:14px}.ai-lec-idx{font-family:var(--font-mono,monospace);color:var(--ink-faint,#949baa);font-size:.7rem}.ai-lec-title{white-space:nowrap;text-overflow:ellipsis;color:var(--ink,#eef0f3);flex:1;overflow:hidden}.ai-lec-dur{font-family:var(--font-mono,monospace);color:var(--ink-faint,#949baa);flex-shrink:0;font-size:.7rem}.ai-section-checklist{flex-direction:column;gap:5px;max-height:180px;padding-right:4px;display:flex;overflow-y:auto}.ai-section-checklist .ai-lec-item{flex-shrink:0}.ai-summary-card{background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);border-radius:var(--r-md,6px);padding:12px 14px}.ai-summary-card__title{font-family:var(--font-display,sans-serif);color:var(--ink,#eef0f3);margin-bottom:4px;font-size:.9rem;font-weight:700}.ai-summary-card__details{color:var(--ink-soft,#a6acb8);font-size:.8rem;line-height:1.45}.ai-context-strip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-context-strip__left{align-items:center;gap:8px;display:flex}.ai-context-strip__label{color:var(--ink-soft,#a6acb8);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:700}.ai-mode-toggle{background:var(--surface-2,#191c22);border:1px solid var(--border-soft,#1d2027);border-radius:9999px;gap:2px;padding:2px;display:inline-flex}.ai-mode-btn{color:var(--ink-soft,#a6acb8);font-family:var(--font-display,sans-serif);cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:3px 10px;font-size:.74rem;font-weight:600;transition:all .15s}.ai-mode-btn--active{background:var(--amber,#ffb800);color:#08090b;font-weight:700;box-shadow:0 0 8px #ffb8004d}.ai-length-badge{color:var(--ink-soft,#a6acb8);align-items:center;gap:6px;font-size:.74rem;display:flex}.ai-length-dot{background:var(--amber,#ffb800);width:7px;height:7px;box-shadow:0 0 5px var(--amber,#ffb800);border-radius:50%}.ai-status-banner{border-radius:var(--r-sm,4px);padding:8px 12px;font-size:.8rem;font-weight:600;line-height:1.4}.ai-status-banner--success{color:#86efac;background:#4ade801f;border:1px solid #4ade804d}.ai-status-banner--warning{color:var(--amber-bright,#ffd54a);background:#ffb8001f;border:1px solid #ffb80059}.ai-status-banner--info{color:#a5b4fc;background:#7c8cff1f;border:1px solid #7c8cff4d}.ai-status-banner--error{color:#fca5a5;background:#f0654f1f;border:1px solid #f0654f4d}.ai-actions-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ai-btn-platform{border-radius:var(--r-md,8px);cursor:pointer;text-align:left;border:1px solid #0000;align-items:center;gap:10px;padding:8px 12px;transition:all .18s;display:flex}.ai-btn-platform--chatgpt{color:#fff;background:#0f1c16;border-color:#10b9814d}.ai-btn-platform--chatgpt:hover{background:#14281f;border-color:#10b981;transform:translateY(-1px);box-shadow:0 4px 16px #10b98140}.ai-btn-platform--claude{color:#fff;background:#1f1710;border-color:#f59e0b4d}.ai-btn-platform--claude:hover{background:#2b1f14;border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b40}.ai-platform-icon-wrap{border-radius:var(--r-md,6px);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ai-platform-icon-wrap--chatgpt{color:#34d399;background:#10b98126}.ai-platform-icon-wrap--claude{color:#fbbf24;background:#f59e0b26}.ai-platform-btn-text{flex-direction:column;flex:1;min-width:0;display:flex}.ai-platform-btn-title-row{align-items:center;gap:6px;display:flex}.ai-platform-btn-title{font-family:var(--font-display,sans-serif);color:#fff;font-size:.88rem;font-weight:700}.ai-platform-badge{letter-spacing:.02em;border-radius:9999px;padding:1px 5px;font-size:.62rem;font-weight:700}.ai-platform-badge--openai{color:#6ee7b7;background:#10b98133}.ai-platform-badge--claude{color:#fde68a;background:#f59e0b33}.ai-platform-btn-sub{color:var(--ink-soft,#a6acb8);margin-top:1px;font-size:.7rem}.ai-security-hint{border-radius:var(--r-sm,4px);color:var(--ink-soft,#a6acb8);background:#ffb8000a;border:1px solid #ffb80029;align-items:flex-start;gap:7px;padding:6px 9px;font-size:.72rem;line-height:1.35;display:flex}.ai-security-hint__icon{flex-shrink:0;margin-top:1px;font-size:.82rem;line-height:1}.ai-security-hint code{color:var(--amber-bright,#ffd54a);font-family:var(--font-mono,monospace);background:#00000059;border-radius:3px;padding:1px 4px}.ai-aux-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ai-btn-aux{background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);border-radius:var(--r-sm,6px);height:34px;color:var(--ink,#eef0f3);font-family:var(--font-display,sans-serif);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.ai-btn-aux:hover{background:var(--surface-3,#21252d);border-color:var(--border-strong,#3b414f);color:#fff}.ai-btn-aux--gold{background:var(--amber-wash,#ffb80014);color:var(--amber,#ffb800);border-color:#ffb80059}.ai-btn-aux--gold:hover{background:var(--amber-wash-strong,#ffb80029);border-color:var(--amber,#ffb800);color:var(--amber-bright,#ffd54a)}.ai-preview-section{border-top:1px solid var(--border-soft,#1d2027);padding-top:6px}.ai-preview-toggle{width:100%;color:var(--ink-soft,#a6acb8);font-family:var(--font-display,sans-serif);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:4px 0;font-size:.76rem;transition:color .15s;display:flex}.ai-preview-toggle:hover{color:var(--amber,#ffb800)}.ai-preview-tag{font-family:var(--font-mono,monospace);color:var(--ink-faint,#949baa);font-size:.7rem}.ai-preview-content{background:var(--void,#08090b);border:1px solid var(--border-soft,#1d2027);border-radius:var(--r-sm,4px);max-height:140px;margin-top:4px;padding:8px 10px;overflow-y:auto}.ai-preview-code{font-family:var(--font-mono,monospace);color:var(--ink-soft,#a6acb8);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.72rem;line-height:1.4}.ai-modal__footer-note{color:var(--ink-faint,#949baa);text-align:center;border-top:1px solid var(--border-soft,#1d2027);background:var(--surface,#131519);flex-shrink:0;padding:8px 22px 10px;font-size:.72rem;line-height:1.4}@media (width<=600px){.ai-modal__header{padding:12px 16px 10px}.ai-modal__body{gap:10px;padding:10px 14px}.ai-modal__footer-note{padding:6px 14px 8px}.ai-scope-selector,.ai-actions-grid,.ai-aux-actions{grid-template-columns:1fr}.ai-btn-aux{width:100%}}.ai-fab-container{z-index:50;pointer-events:none;animation:.3s cubic-bezier(.16,1,.3,1) backwards aiFabFadeIn;position:fixed;bottom:66px;right:20px}@keyframes aiFabFadeIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-fab-group{pointer-events:auto;background:var(--surface-2,#191c22);box-shadow:0 8px 24px #0000008c, 0 0 16px var(--amber-wash,#ffb80014);border:1px solid #ffb8004d;border-radius:9999px;align-items:center;padding:3px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.ai-fab-group:hover{box-shadow:0 12px 28px #000000a6, 0 0 20px var(--amber-wash-strong,#ffb80029);border-color:#ffb8008c;transform:translateY(-2px)}.ai-fab-btn{color:var(--ink,#eef0f3);font-family:var(--font-body,"Inter", sans-serif);cursor:pointer;background:0 0;border:none;border-radius:9999px;outline:none;align-items:center;gap:8px;padding:6px 14px 6px 12px;font-size:13px;font-weight:600;line-height:1;transition:color .15s;display:inline-flex}.ai-fab-btn:hover{color:#fff}.ai-fab-btn:focus-visible{outline:2px solid var(--amber,#ffb800);outline-offset:2px}.ai-fab-sparkle{color:var(--amber-bright,#ffd54a);filter:drop-shadow(0 0 4px var(--amber));font-size:14px;line-height:1}.ai-fab-label{letter-spacing:-.01em;white-space:nowrap}.ai-fab-badge{background:var(--amber,#ffb800);color:#000;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:2px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.ai-fab-dismiss-btn{width:22px;height:22px;color:var(--ink-faint,#949baa);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-right:4px;font-size:12px;line-height:1;transition:all .15s;display:inline-flex}.ai-fab-dismiss-btn:hover{color:var(--ink,#eef0f3);background:#ffffff1a}.ai-fab-dismiss-btn:focus-visible{outline:1.5px solid var(--amber,#ffb800)}@media (width<=900px){.ai-fab-container{bottom:calc(118px + env(safe-area-inset-bottom,0px));right:14px}}@media (width<=520px){.ai-fab-container{bottom:calc(76px + env(safe-area-inset-bottom,0px));right:14px}.ai-fab-btn{gap:6px;padding:6px 10px;font-size:12px}}.api-km{background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);border-radius:var(--r-md,8px);margin-top:12px;padding:16px}.api-km__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.api-km__title-wrap{align-items:center;gap:10px;display:flex}.api-km__icon-gold{font-size:1.25rem;line-height:1}.api-km__title{font-family:var(--font-display,"Space Grotesk", sans-serif);color:var(--ink,#eef0f3);margin:0;font-size:14px;font-weight:700}.api-km__subtitle{color:var(--ink-faint,#949baa);margin:2px 0 0;font-size:11.5px;line-height:1.35}.api-km__count-pill{font-family:var(--font-mono,monospace);background:var(--amber-wash,#ffb80014);color:var(--amber-bright,#ffd54a);white-space:nowrap;border:1px solid #ffb8004d;border-radius:9999px;padding:3px 9px;font-size:11px;font-weight:700}.api-km__privacy-banner{border-radius:var(--r-sm,6px);color:#bbf7d0;background:#10b9810f;border:1px solid #10b98138;align-items:flex-start;gap:10px;margin-bottom:14px;padding:9px 12px;font-size:11.5px;line-height:1.45;display:flex}.api-km__privacy-shield{color:#34d399;flex-shrink:0;margin-top:1px}.api-km__privacy-text code{color:#86efac;font-family:var(--font-mono,monospace);background:#0006;border-radius:3px;padding:1px 5px}.api-km__form{background:var(--surface,#131519);border:1px solid var(--border-soft,#1d2027);border-radius:var(--r-sm,6px);flex-direction:column;gap:12px;margin-bottom:14px;padding:14px;display:flex}.api-km__field{flex-direction:column;gap:5px;width:100%;display:flex}.api-km__field-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.api-km__label{color:var(--ink-soft,#a6acb8);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.api-km__provider-cards{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;display:grid}.api-km__provider-card{border-radius:var(--r-sm,6px);background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);height:38px;color:var(--ink-soft,#a6acb8);font-family:var(--font-display,sans-serif);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.api-km__provider-card:hover{background:var(--surface-3,#21252d);border-color:var(--border-strong,#3b414f);color:var(--ink,#eef0f3)}.api-km__provider-card--active{border-color:var(--amber,#ffb800);color:var(--amber-bright,#ffd54a);background:#ffb80014;font-weight:700;box-shadow:0 0 10px #ffb80026}.api-km__provider-card-icon{justify-content:center;align-items:center;display:flex}.api-km__provider-card-name{white-space:nowrap}.api-km__select-native{opacity:0;pointer-events:none;clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.api-km__input-wrap{align-items:center;width:100%;display:flex;position:relative}.api-km__input{background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);border-radius:var(--r-sm,6px);width:100%;height:38px;color:var(--ink,#eef0f3);outline:none;padding:0 12px;font-family:inherit;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.api-km__input:focus{border-color:var(--amber,#ffb800);box-shadow:0 0 0 2px #ffb80026}.api-km__input--code{font-family:var(--font-mono,monospace);letter-spacing:.03em;padding-right:36px;font-size:12px}.api-km__toggle-btn{cursor:pointer;color:var(--ink-faint,#949baa);background:0 0;border:none;padding:4px;font-size:13px;line-height:1;position:absolute;right:8px}.api-km__toggle-btn:hover{color:var(--ink,#eef0f3)}.api-km__help-btn{color:var(--amber-bright,#ffd54a);font-family:var(--font-display,sans-serif);cursor:pointer;background:#ffb80014;border:1px solid #ffb80047;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.3;text-decoration:none;transition:all .16s;display:inline-flex}.api-km__help-btn:hover{border-color:var(--amber,#ffb800);color:#fff;background:#ffb80029;transform:translateY(-1px);box-shadow:0 0 10px #ffb80038}.api-km__help-btn:focus-visible{border-color:var(--amber-bright,#ffd54a);outline:none;box-shadow:0 0 0 2px #ffb80059}.api-km__help-btn-icon{font-size:11px;line-height:1}.api-km__help-btn-arrow{font-size:11px;line-height:1;transition:transform .15s}.api-km__help-btn:hover .api-km__help-btn-arrow{transform:translate(1px,-1px)}.api-km__submit-wrap{margin-top:4px}.api-km__add-btn{color:#08090b;border-radius:var(--r-sm,6px);width:100%;height:38px;font-family:var(--font-display,sans-serif);cursor:pointer;background:linear-gradient(135deg,#ffb800 0%,#e59a00 100%);border:none;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:700;transition:all .18s;display:flex;box-shadow:0 2px 8px #ffb80040}.api-km__add-btn:hover{background:#ffd54a;transform:translateY(-1px);box-shadow:0 4px 14px #ffb80066}.api-help-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background-color:#06070ad9;justify-content:center;align-items:center;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) apiHelpFadeIn;display:flex;position:fixed;inset:0}@keyframes apiHelpFadeIn{0%{opacity:0}to{opacity:1}}.api-help-modal{background:var(--surface,#131519);border:1px solid var(--border,#2a2e37);border-radius:var(--r-lg,12px);width:100%;max-width:540px;max-height:90vh;color:var(--ink,#eef0f3);font-family:var(--font-body,system-ui, sans-serif);flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) apiHelpScaleUp;display:flex;overflow:hidden;box-shadow:0 24px 60px -12px #000000f2,0 0 35px #ffb80014}@keyframes apiHelpScaleUp{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.api-help-modal__header{border-bottom:1px solid var(--border-soft,#1d2027);background:var(--surface-2,#191c22);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.api-help-modal__header-left{align-items:center;gap:12px;display:flex}.api-help-modal__favicon{width:36px;height:36px;color:var(--amber-bright,#ffd54a);background:#ffb8001a;border:1px solid #ffb80040;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.api-help-modal__pill-label{text-transform:uppercase;letter-spacing:.06em;color:var(--amber-bright,#ffd54a);margin-bottom:2px;font-size:10px;font-weight:700}.api-help-modal__title{font-family:var(--font-display,sans-serif);color:var(--ink,#eef0f3);margin:0;font-size:16px;font-weight:700;line-height:1.25}.api-help-modal__close-btn{background:var(--surface-3,#21252d);border:1px solid var(--border,#2a2e37);color:var(--ink-faint,#949baa);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;transition:all .15s;display:flex}.api-help-modal__close-btn:hover{color:#fca5a5;background:#ef444426;border-color:#ef444466}.api-help-modal__body{flex-direction:column;gap:14px;padding:18px 20px;display:flex;overflow-y:auto}.api-help-modal__desc{color:var(--ink-soft,#a6acb8);margin:0;font-size:12.5px;line-height:1.45}.api-help-cta-card{border-radius:var(--r-md,8px);background:linear-gradient(135deg,#ffb8001f 0%,#ffb80008 100%);border:1px solid #ffb80059;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.api-help-cta-card__left{flex-direction:column;gap:3px;display:flex}.api-help-cta-card__badge{letter-spacing:.06em;text-transform:uppercase;color:var(--amber-bright,#ffd54a);font-size:9.5px;font-weight:700}.api-help-cta-card__title{font-family:var(--font-display,sans-serif);color:var(--ink,#eef0f3);margin:0;font-size:14px;font-weight:700}.api-help-cta-card__subtitle{color:var(--ink-soft,#a6acb8);margin:0;font-size:11.5px;line-height:1.35}.api-help-cta-btn{border-radius:var(--r-sm,6px);height:38px;font-family:var(--font-display,sans-serif);white-space:nowrap;background:linear-gradient(135deg,#ffb800 0%,#e59a00 100%);border:none;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:12.5px;font-weight:700;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 2px 8px #ffb8004d;color:#08090b!important}.api-help-cta-btn:hover{background:#ffd54a;transform:translateY(-1px);box-shadow:0 4px 14px #ffb80080}.api-help-steps{flex-direction:column;gap:8px;display:flex}.api-help-steps__title{color:var(--ink-soft,#a6acb8);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.api-help-steps__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.api-help-step-item{background:var(--surface-2,#191c22);border:1px solid var(--border,#2a2e37);border-radius:var(--r-sm,6px);align-items:flex-start;gap:12px;padding:10px 12px;transition:border-color .15s;display:flex}.api-help-step-item:hover{border-color:var(--border-strong,#3b414f)}.api-help-step-num{width:22px;height:22px;color:var(--amber-bright,#ffd54a);font-family:var(--font-mono,monospace);background:#ffb8001f;border:1px solid #ffb8004d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:700;display:flex}.api-help-step-content{flex:1}.api-help-step-text{color:var(--ink,#eef0f3);font-size:12px;line-height:1.45}.api-help-privacy-box{border-radius:var(--r-sm,6px);color:#bbf7d0;background:#10b9810f;border:1px solid #10b98138;align-items:flex-start;gap:10px;padding:9px 12px;font-size:11.5px;line-height:1.4;display:flex}.api-help-privacy-icon{color:#34d399;flex-shrink:0;margin-top:1px}.api-help-modal__footer{border-top:1px solid var(--border-soft,#1d2027);background:var(--surface-2,#191c22);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.api-help-secondary-link{color:var(--amber-bright,#ffd54a);cursor:pointer;font-size:11.5px;text-decoration:underline;transition:color .15s}.api-help-secondary-link:hover{color:#fff}.api-help-dismiss-btn{background:var(--surface-3,#21252d);border:1px solid var(--border,#2a2e37);height:34px;color:var(--ink,#eef0f3);border-radius:var(--r-sm,6px);font-family:var(--font-display,sans-serif);cursor:pointer;padding:0 16px;font-size:12px;font-weight:600;transition:all .15s}.api-help-dismiss-btn:hover{background:var(--border,#2a2e37);color:#fff}.api-km__max-banner{background:var(--surface-3,#21252d);color:var(--amber-bright,#ffd54a);border-radius:var(--r-sm,6px);border:1px solid #ffb8004d;margin-bottom:14px;padding:10px 14px;font-size:12px}.api-km__status{border-radius:var(--r-sm,6px);margin-bottom:12px;padding:9px 12px;font-size:12px;font-weight:600}.api-km__status--success{color:#4ade80;background:#4ade801f;border:1px solid #4ade804d}.api-km__status--error{color:#fca5a5;background:#f0654f1f;border:1px solid #f0654f4d}.api-km__status--info{color:#a5b4fc;background:#7c8cff1f;border:1px solid #7c8cff4d}.api-km__list-wrap{flex-direction:column;gap:8px;display:flex}.api-km__list-title{color:var(--ink-faint,#949baa);text-transform:uppercase;letter-spacing:.05em;margin:0 0 2px;font-size:11px;font-weight:700}.api-km__empty{color:var(--ink-faint,#949baa);padding:8px 0;font-size:12px;font-style:italic}.api-km__keys-list{flex-direction:column;gap:8px;display:flex}.api-km__key-card{background:var(--surface,#131519);border:1px solid var(--border-soft,#1d2027);border-radius:var(--r-sm,6px);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s;display:flex}.api-km__key-card:hover{border-color:var(--border,#2a2e37)}.api-km__key-info{flex-direction:column;gap:4px;min-width:0;display:flex}.api-km__key-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.api-km__key-favicon{align-items:center;display:inline-flex}.ai-prov-svg--openai{color:#10a37f}.ai-prov-svg--anthropic{color:#d97757}.ai-prov-svg--gemini{color:#38bdf8}.api-km__badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700}.ai-prov-badge--openai{color:#34d399;background:#10a37f26;border:1px solid #10a37f59}.ai-prov-badge--anthropic{color:#fca5a5;background:#d9775726;border:1px solid #d9775759}.ai-prov-badge--gemini{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf859}.api-km__key-label{color:var(--ink,#eef0f3);font-size:12.5px;font-weight:600}.api-km__key-date{color:var(--ink-faint,#949baa);font-size:11px;font-family:var(--font-mono,monospace)}.api-km__key-code{font-family:var(--font-mono,monospace);color:var(--ink-soft,#a6acb8);font-size:11px}.api-km__key-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.api-km__action-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;height:28px;padding:0 10px;font-size:11px;font-weight:600;transition:all .15s}.api-km__action-btn--test{background:var(--surface-2,#191c22);color:var(--amber,#ffb800);border-color:#ffb8004d}.api-km__action-btn--test:hover{background:var(--amber-wash,#ffb80014);border-color:var(--amber,#ffb800)}.api-km__action-btn--delete{color:#fca5a5;background:#f0654f1a;border-color:#f0654f40}.api-km__action-btn--delete:hover{background:#f0654f33}@media (width<=480px){.api-km__provider-cards{grid-template-columns:1fr}.api-km__field-header,.api-km__key-card{flex-direction:column;align-items:flex-start}.api-km__key-actions{align-self:flex-end}}.dlimit-overlay{z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;justify-content:center;align-items:center;padding:20px;animation:.2s dlimit-fade-in;display:flex;position:fixed;inset:0}@keyframes dlimit-fade-in{0%{opacity:0}to{opacity:1}}.dlimit-card{background:var(--surface-1,#18181b);border:1px solid var(--border,#ffffff1a);border-radius:16px;width:100%;max-width:480px;max-height:90vh;padding:28px 24px 24px;animation:.25s cubic-bezier(.16,1,.3,1) dlimit-slide-up;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0009,0 0 0 1px #ffb8001a}@keyframes dlimit-slide-up{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dlimit-card__close{background:var(--surface-2,#ffffff0d);border:1px solid var(--border-soft,#ffffff14);width:28px;height:28px;color:var(--ink-soft,#a1a1aa);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex;position:absolute;top:14px;right:14px}.dlimit-card__close:hover{background:var(--surface-3,#ffffff14);color:var(--ink,#f4f4f5)}.dlimit-header{margin-bottom:20px}.dlimit-header__badge{color:var(--amber,#f59e0b);letter-spacing:.03em;text-transform:uppercase;background:#ffb8001f;border:1px solid #ffb8004d;border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:3px 10px 3px 8px;font-size:11px;font-weight:600;display:inline-flex}.dlimit-header__headline{color:var(--ink,#f4f4f5);margin:0 0 6px;font-size:20px;font-weight:700;line-height:1.3}.dlimit-header__sub{color:var(--ink-soft,#a1a1aa);margin:0;font-size:12.5px;line-height:1.5}.dlimit-progress-wrap{margin-bottom:20px}.dlimit-progress-bar{background:var(--surface-2,#ffffff0d);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.dlimit-progress-bar__fill{background:linear-gradient(90deg, var(--amber,#f59e0b), #ef4444);border-radius:4px;min-width:4px;height:100%;transition:width .4s}.dlimit-progress-labels{justify-content:space-between;align-items:center;display:flex}.dlimit-progress-labels__done{color:var(--amber,#f59e0b);font-size:11.5px;font-weight:600}.dlimit-progress-labels__limit{color:var(--ink-faint,#71717a);font-size:11px}.dlimit-body{color:var(--ink-soft,#a1a1aa);margin:0 0 18px;font-size:13px;line-height:1.6}.dlimit-advice{background:var(--surface-2,#ffffff08);border:1px solid var(--border-soft,#ffffff12);border-radius:10px;margin-bottom:16px;padding:14px}.dlimit-advice__title{color:var(--ink,#f4f4f5);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:10px;font-size:11.5px;font-weight:700;display:flex}.dlimit-advice__title svg{color:var(--amber,#f59e0b)}.dlimit-advice__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dlimit-advice__item{color:var(--ink-soft,#a1a1aa);padding:4px 0;font-size:12.5px;line-height:1.45}.dlimit-tomorrow{color:#a5b4fc;background:#6366f114;border:1px solid #6366f133;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:20px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.dlimit-tomorrow svg{flex-shrink:0;margin-top:1px}.dlimit-actions{gap:10px;display:flex}.dlimit-btn{cursor:pointer;border-radius:8px;flex:1;height:40px;font-size:13px;font-weight:600;transition:all .15s}.dlimit-btn--primary{background:var(--amber,#f59e0b);color:#000;border:none}.dlimit-btn--primary:hover{background:#d97706}.dlimit-btn--secondary{background:var(--surface-2,#ffffff0d);border:1px solid var(--border-soft,#ffffff1a);color:var(--ink-soft,#a1a1aa)}.dlimit-btn--secondary:hover{background:var(--surface-3,#ffffff14);color:var(--ink,#f4f4f5)}@media (width<=480px){.dlimit-card{padding:20px 16px}.dlimit-actions{flex-direction:column}}.pd-root{flex-direction:column;gap:14px;display:flex}.pd-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.pd-header__left{color:var(--amber,#f59e0b);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.pd-header__title{color:var(--ink,#f4f4f5)}.pd-confidence-pill{letter-spacing:.03em;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:600}.pd-confidence-pill--high{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d}.pd-confidence-pill--medium{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b4d}.pd-confidence-pill--low{background:var(--surface-2,#ffffff0a);border:1px solid var(--border-soft,#ffffff12);color:var(--ink-faint,#71717a)}.pd-metrics{background:var(--surface-2,#ffffff08);border:1px solid var(--border-soft,#ffffff12);border-radius:10px;align-items:center;gap:0;padding:12px 8px;display:flex}.pd-metric{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.pd-metric__icon{font-size:14px}.pd-metric__value{color:var(--ink,#f4f4f5);font-size:17px;font-weight:800;line-height:1}.pd-metric__label{color:var(--ink-faint,#71717a);text-transform:uppercase;letter-spacing:.05em;text-align:center;font-size:9.5px;font-weight:600}.pd-metric-divider{background:var(--border-soft,#ffffff12);flex-shrink:0;width:1px;height:36px}.pd-eta-card{background:linear-gradient(135deg,#f59e0b12 0%,#6366f10d 100%);border:1px solid #f59e0b33;border-radius:10px;padding:12px 14px}.pd-eta-card__row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pd-eta-card__left{flex-direction:column;gap:3px;display:flex}.pd-eta-card__label{color:var(--ink-faint,#71717a);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:600}.pd-eta-card__date{color:var(--amber,#f59e0b);font-size:15px;font-weight:700}.pd-eta-card__right{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.pd-eta-card__method{font-size:10.5px;font-weight:600}.pd-eta-card__velocity{color:var(--ink-faint,#71717a);font-size:10px}.pd-today{flex-direction:column;gap:6px;display:flex}.pd-today__header{justify-content:space-between;align-items:center;display:flex}.pd-today__title{color:var(--ink-soft,#a1a1aa);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.pd-today__value{color:var(--ink-faint,#71717a);font-size:11px}.pd-today__bar-wrap{align-items:center;gap:8px;display:flex}.pd-today__bar{background:var(--surface-2,#ffffff0d);border-radius:3px;flex:1;height:6px;overflow:hidden}.pd-today__bar-fill{background:var(--amber,#f59e0b);border-radius:3px;min-width:2px;height:100%;transition:width .4s}.pd-today__bar-fill--full{background:#ef4444}.pd-today__pct{color:var(--ink-soft,#a1a1aa);text-align:right;min-width:28px;font-size:11px;font-weight:700}.pd-today__count{color:var(--ink-faint,#71717a);font-size:11px}.pd-sparkline{flex-direction:column;gap:8px;display:flex}.pd-sparkline__header{justify-content:space-between;align-items:center;display:flex}.pd-sparkline__title{color:var(--ink-soft,#a1a1aa);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.pd-sparkline__bars{align-items:flex-end;gap:4px;height:56px;display:flex}.pd-sparkline__col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.pd-sparkline__bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.pd-sparkline__bar{background:var(--amber,#f59e0b);opacity:.7;border-radius:3px 3px 0 0;width:100%;min-height:4px;transition:height .3s}.pd-sparkline__bar--today{opacity:1;background:#22c55e}.pd-sparkline__bar--zero{opacity:.15;background:var(--ink-faint,#71717a)}.pd-sparkline__label{color:var(--ink-faint,#71717a);text-transform:uppercase;font-size:9px;font-weight:600}.pd-sparkline__label--today{color:#22c55e}.pd-activity{flex-direction:column;gap:8px;display:flex}.pd-activity__header{color:var(--ink-soft,#a1a1aa);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.pd-activity__list{flex-direction:column;gap:2px;display:flex}.pd-activity__row{background:var(--surface-2,#ffffff05);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;transition:background .1s;display:flex}.pd-activity__row:hover{background:var(--surface-3,#ffffff0a)}.pd-activity__row-left{align-items:center;gap:8px;display:flex}.pd-activity__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.pd-activity__date{color:var(--ink-soft,#a1a1aa);font-size:11.5px}.pd-activity__row-right{align-items:center;gap:8px;display:flex}.pd-activity__duration{color:var(--ink,#f4f4f5);font-size:11.5px;font-weight:700}.pd-activity__count{color:var(--ink-faint,#71717a);font-size:10.5px}.pd-activity__limit-tag{color:#ef4444;text-transform:uppercase;letter-spacing:.04em;background:#ef444426;border:1px solid #ef44444d;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.pd-speed-row{background:var(--border-soft,#ffffff12);border-radius:8px;gap:1px;display:flex;overflow:hidden}.pd-speed-item{background:var(--surface-2,#ffffff08);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;display:flex}.pd-speed-item__val{color:var(--ink,#f4f4f5);font-size:14px;font-weight:800}.pd-speed-item__label{color:var(--ink-faint,#71717a);text-align:center;text-transform:uppercase;letter-spacing:.04em;font-size:9.5px;font-weight:600}.pd-report-btn{background:var(--surface-2,#ffffff08);width:100%;color:var(--amber,#f59e0b);cursor:pointer;border:1px solid #f59e0b33;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.pd-report-btn:hover{background:#f59e0b14;border-color:#f59e0b66}.pd-report-btn--secondary{color:#a5b4fc;border-color:#6366f140}.pd-report-btn--secondary:hover{background:#6366f114;border-color:#6366f173}.prr-overlay{z-index:8900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:flex-start;padding:20px;animation:.2s prr-fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes prr-fade-in{0%{opacity:0}to{opacity:1}}.prr-modal{background:var(--surface-1,#18181b);border:1px solid var(--border,#ffffff1a);border-radius:16px;width:100%;max-width:560px;margin:auto;animation:.25s cubic-bezier(.16,1,.3,1) prr-slide-up;position:relative;overflow:hidden;box-shadow:0 24px 60px #0009}@keyframes prr-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.prr-modal__head{border-bottom:1px solid var(--border-soft,#ffffff12);background:linear-gradient(135deg,#f59e0b0d 0%,#0000 60%);justify-content:space-between;align-items:flex-start;padding:22px 22px 16px;display:flex}.prr-modal__head-left{flex-direction:column;gap:4px;display:flex}.prr-badge{color:var(--amber,#f59e0b);letter-spacing:.04em;text-transform:uppercase;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:20px;align-items:center;gap:5px;width:fit-content;margin-bottom:4px;padding:2px 10px 2px 7px;font-size:10px;font-weight:700;display:inline-flex}.prr-title{color:var(--ink,#f4f4f5);margin:0;font-size:18px;font-weight:800}.prr-subtitle{color:var(--ink-faint,#71717a);margin:0;font-size:11px}.prr-close{background:var(--surface-2,#ffffff0d);border:1px solid var(--border-soft,#ffffff14);width:28px;height:28px;color:var(--ink-soft,#a1a1aa);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex}.prr-close:hover{background:var(--surface-3,#ffffff14);color:var(--ink,#f4f4f5)}.prr-body{flex-direction:column;gap:18px;max-height:calc(85vh - 90px);padding:18px 22px 22px;display:flex;overflow-y:auto}.prr-greeting{color:var(--ink-soft,#a1a1aa);background:#f59e0b0f;border:1px solid #f59e0b26;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.prr-greeting svg{color:var(--amber,#f59e0b);flex-shrink:0;margin-top:1px}.prr-stats-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.prr-stat-card{background:var(--surface-2,#ffffff08);border:1px solid var(--border-soft,#ffffff12);border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;display:flex}.prr-stat-card--highlight{background:#f59e0b12;border-color:#f59e0b33}.prr-stat-card__icon{font-size:14px}.prr-stat-card__val{color:var(--ink,#f4f4f5);font-size:16px;font-weight:800;line-height:1}.prr-stat-card__lbl{color:var(--ink-faint,#71717a);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:9.5px;font-weight:600}.prr-section{flex-direction:column;gap:10px;display:flex}.prr-section__head{color:var(--ink-soft,#a1a1aa);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.prr-section__head svg{color:var(--amber,#f59e0b)}.prr-local-badge{color:#a5b4fc;letter-spacing:.04em;background:#6366f126;border:1px solid #6366f14d;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.prr-cap-note{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:600}.prr-eta{background:linear-gradient(135deg,#f59e0b12 0%,#6366f10a 100%);border:1px solid #f59e0b33;border-radius:10px;flex-direction:column;gap:6px;padding:14px;display:flex}.prr-eta__date{color:var(--amber,#f59e0b);font-size:20px;font-weight:800}.prr-eta__detail{color:var(--ink-soft,#a1a1aa);flex-wrap:wrap;align-items:center;gap:4px;font-size:11.5px;display:flex}.prr-eta__sep{color:var(--ink-faint,#71717a)}.prr-eta__velocity{color:var(--ink-faint,#71717a);font-size:11.5px}.prr-insights{flex-direction:column;gap:8px;display:flex}.prr-insight-row{background:var(--surface-2,#ffffff05);border:1px solid var(--border-soft,#ffffff0f);border-radius:8px;gap:10px;padding:10px;display:flex}.prr-insight-row__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:10px;font-weight:800;display:flex}.prr-insight-row__icon--green{color:#22c55e;background:#22c55e26}.prr-insight-row__icon--red{color:#ef4444;background:#ef444426}.prr-insight-row__icon--amber{color:var(--amber,#f59e0b);background:#f59e0b26}.prr-insight-row__content{flex-direction:column;gap:3px;display:flex}.prr-insight-row__title{color:var(--ink,#f4f4f5);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:700}.prr-insight-row__text{color:var(--ink-soft,#a1a1aa);font-size:12.5px;line-height:1.5}.prr-recs{background:#6366f10d;border:1px solid #6366f126;border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.prr-recs__title{color:var(--ink-soft,#a1a1aa);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700}.prr-rec-item{color:var(--ink-soft,#a1a1aa);gap:8px;font-size:12.5px;line-height:1.4;display:flex}.prr-log{flex-direction:column;gap:3px;display:flex}.prr-log-row{border-radius:5px;align-items:center;gap:8px;padding:5px 6px;transition:background .1s;display:flex}.prr-log-row:hover{background:var(--surface-2,#ffffff08)}.prr-log-row__date{color:var(--ink-soft,#a1a1aa);align-items:center;gap:5px;min-width:100px;font-size:11px;display:flex}.prr-log-row__today-tag{color:#22c55e;text-transform:uppercase;background:#22c55e26;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:700}.prr-log-row__bar-wrap{flex:1}.prr-log-row__bar{background:var(--surface-2,#ffffff0d);border-radius:2.5px;height:5px;overflow:hidden}.prr-log-row__fill{background:var(--amber,#f59e0b);border-radius:2.5px;min-width:2px;height:100%;transition:width .3s}.prr-log-row__fill--cap{background:#ef4444}.prr-log-row__fill--zero{background:0 0}.prr-log-row__right{justify-content:flex-end;align-items:center;gap:5px;min-width:80px;display:flex}.prr-log-row__dur{color:var(--ink,#f4f4f5);font-size:11px;font-weight:700}.prr-log-row__lec{color:var(--ink-faint,#71717a);font-size:10px}.prr-log-row__cap{color:#ef4444;background:#ef444426;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.prr-footer-note{color:var(--ink-faint,#71717a);border:1px solid var(--border-soft,#ffffff0d);background:#ffffff05;border-radius:6px;margin:0;padding:10px 12px;font-size:11px;line-height:1.5}@media (width<=480px){.prr-overlay{padding:10px}.prr-stats-grid{grid-template-columns:repeat(2,1fr)}.prr-modal__head{padding:16px 16px 12px}.prr-body{padding:14px 16px 18px}.prr-log-row__date{min-width:80px}}.cplm-overlay{z-index:8950;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000c7;justify-content:center;align-items:flex-start;padding:20px;animation:.2s cplm-fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes cplm-fade-in{0%{opacity:0}to{opacity:1}}.cplm-modal{background:var(--surface-1,#18181b);border:1px solid var(--border,#ffffff1a);border-radius:16px;width:100%;max-width:620px;margin:auto;animation:.25s cubic-bezier(.16,1,.3,1) cplm-slide-up;position:relative;overflow:hidden;box-shadow:0 24px 64px #000000bf,0 0 0 1px #f59e0b26}@keyframes cplm-slide-up{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cplm-header{border-bottom:1px solid var(--border-soft,#ffffff12);background:linear-gradient(135deg,#f59e0b0f 0%,#0000 60%);justify-content:space-between;align-items:flex-start;padding:22px 22px 16px;display:flex}.cplm-header__left{flex-direction:column;gap:4px;display:flex}.cplm-badge{color:var(--amber,#f59e0b);letter-spacing:.05em;text-transform:uppercase;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:20px;align-items:center;gap:5px;width:fit-content;margin-bottom:4px;padding:2px 10px 2px 7px;font-size:10px;font-weight:700;display:inline-flex}.cplm-title{color:var(--ink,#f4f4f5);margin:0;font-size:19px;font-weight:800;line-height:1.25}.cplm-subtitle{color:var(--ink-faint,#71717a);margin:0;font-size:11.5px;line-height:1.4}.cplm-close{background:var(--surface-2,#ffffff0d);border:1px solid var(--border-soft,#ffffff14);width:30px;height:30px;color:var(--ink-soft,#a1a1aa);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex}.cplm-close:hover{background:var(--surface-3,#ffffff14);color:var(--ink,#f4f4f5)}.cplm-projections{grid-template-columns:1fr 1fr;gap:12px;padding:16px 22px 0;display:grid}.cplm-proj-card{border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.cplm-proj-card--fast{background:linear-gradient(135deg,#22c55e14 0%,#22c55e05 100%);border:1px solid #22c55e40}.cplm-proj-card--realistic{background:linear-gradient(135deg,#f59e0b14 0%,#6366f108 100%);border:1px solid #f59e0b40}.cplm-proj-card__head{justify-content:space-between;align-items:center;display:flex}.cplm-proj-card__badge{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.cplm-proj-card__badge--fast{color:#22c55e}.cplm-proj-card__badge--realistic{color:var(--amber,#f59e0b)}.cplm-proj-card__tag{color:var(--ink-faint,#71717a);font-size:9.5px}.cplm-proj-card__date{color:var(--ink,#f4f4f5);font-size:17px;font-weight:800;line-height:1.2}.cplm-proj-card__desc{color:var(--ink-soft,#a1a1aa);font-size:10.5px;line-height:1.35}.cplm-acceleration-banner{color:#c7d2fe;background:#6366f114;border:1px solid #6366f140;border-radius:8px;align-items:center;gap:8px;margin:12px 22px 0;padding:8px 12px;font-size:11.5px;display:flex}.cplm-acceleration-banner svg{color:#818cf8;flex-shrink:0}.cplm-acceleration-banner strong{color:#fff}.cplm-tabs{border-bottom:1px solid var(--border-soft,#ffffff12);gap:6px;padding:14px 22px 8px;display:flex}.cplm-tab{color:var(--ink-faint,#71717a);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:7px 12px;font-size:11.5px;font-weight:600;transition:all .15s}.cplm-tab:hover{color:var(--ink-soft,#a1a1aa);background:var(--surface-2,#ffffff08)}.cplm-tab--active{color:var(--amber,#f59e0b);background:#f59e0b1a;border-color:#f59e0b4d}.cplm-body{max-height:50vh;padding:16px 22px;overflow-y:auto}.cplm-section{flex-direction:column;gap:14px;display:flex}.cplm-stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cplm-stat-box{background:var(--surface-2,#ffffff08);border:1px solid var(--border-soft,#ffffff12);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;display:flex}.cplm-stat-box__icon{font-size:14px}.cplm-stat-box__val{color:var(--ink,#f4f4f5);font-size:16px;font-weight:800}.cplm-stat-box__lbl{color:var(--ink-faint,#71717a);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:9px;font-weight:600}.cplm-break-summary-card{background:var(--surface-2,#ffffff05);border:1px solid var(--border-soft,#ffffff0f);border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.cplm-break-summary-card__row{justify-content:space-between;align-items:center;display:flex}.cplm-break-summary-card__label{text-transform:uppercase;color:var(--ink-faint,#71717a);font-size:10px;font-weight:600}.cplm-break-summary-card__val{color:var(--ink,#f4f4f5);margin-top:2px;font-size:12.5px;font-weight:700}.cplm-status-pill{color:var(--ink-soft,#a1a1aa);border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:700}.cplm-status-pill--active{color:#22c55e;background:#22c55e26}.cplm-status-pill--break{color:#f59e0b;background:#f59e0b26}.cplm-progress-meter{flex-direction:column;gap:4px;display:flex}.cplm-progress-meter__bar{background:#ef44444d;border-radius:3px;height:6px;overflow:hidden}.cplm-progress-meter__fill{background:#22c55e;border-radius:3px;height:100%;transition:width .3s}.cplm-progress-meter__legend{color:var(--ink-faint,#71717a);justify-content:space-between;font-size:10px;display:flex}.cplm-speed-card{background:var(--surface-2,#ffffff05);border:1px solid var(--border-soft,#ffffff0f);border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cplm-speed-card__title{color:var(--amber,#f59e0b);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.cplm-speed-card__grid{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.cplm-speed-card__lbl{color:var(--ink-faint,#71717a);margin-right:4px;font-size:11px}.cplm-speed-card__val{color:var(--ink,#f4f4f5);font-size:11.5px}.cplm-search-wrap{width:100%;position:relative}.cplm-search-input{background:var(--surface-2,#ffffff0a);border:1px solid var(--border-soft,#ffffff14);width:100%;height:36px;color:var(--ink,#f4f4f5);box-sizing:border-box;border-radius:6px;padding:0 32px 0 10px;font-size:12px}.cplm-search-input:focus{border-color:#f59e0b66;outline:none}.cplm-search-clear{color:var(--ink-faint,#71717a);cursor:pointer;background:0 0;border:none;font-size:11px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.cplm-log-list{flex-direction:column;gap:4px;display:flex}.cplm-log-item{background:var(--surface-2,#ffffff05);border:1px solid var(--border-soft,#ffffff0a);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;transition:background .12s;display:flex}.cplm-log-item:hover{background:var(--surface-3,#ffffff0a)}.cplm-log-item__left{align-items:center;gap:8px;display:flex}.cplm-log-item__dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.cplm-log-item__title{color:var(--ink,#f4f4f5);font-size:12px;font-weight:600}.cplm-log-item__meta{color:var(--ink-faint,#71717a);align-items:center;gap:5px;margin-top:1px;font-size:10.5px;display:flex}.cplm-log-item__time{color:var(--amber,#f59e0b);font-weight:500}.cplm-log-item__right{align-items:center;gap:6px;display:flex}.cplm-log-item__dur{color:var(--ink-soft,#a1a1aa);font-size:11px;font-weight:600}.cplm-log-item__tag{text-transform:uppercase;color:#22c55e;background:#22c55e1a;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.cplm-break-list{flex-direction:column;gap:6px;display:flex}.cplm-break-item{background:var(--surface-2,#ffffff05);border:1px solid var(--border-soft,#ffffff0d);border-left:3px solid #f59e0b80;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.cplm-break-item--ongoing{background:#ef44440a;border-left-color:#ef4444}.cplm-break-item__left{align-items:center;gap:10px;display:flex}.cplm-break-item__icon{font-size:14px}.cplm-break-item__dates{color:var(--ink,#f4f4f5);font-size:12px;font-weight:700}.cplm-break-item__sub{color:var(--ink-faint,#71717a);margin-top:1px;font-size:10.5px}.cplm-break-item__right{align-items:center;gap:6px;display:flex}.cplm-break-item__days{color:var(--ink,#f4f4f5);font-size:12px;font-weight:800}.cplm-break-item__ongoing-tag{color:#ef4444;background:#ef444426;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.cplm-empty-state{text-align:center;color:var(--ink-faint,#71717a);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 16px;display:flex}.cplm-empty-state__icon{font-size:24px}.cplm-footer{border-top:1px solid var(--border-soft,#ffffff12);background:var(--surface-2,#ffffff04);justify-content:space-between;align-items:center;padding:12px 22px;display:flex}.cplm-footer__note{color:var(--ink-faint,#71717a);font-size:10.5px}.cplm-footer__btn{background:var(--surface-2,#ffffff0d);border:1px solid var(--border-soft,#ffffff1a);color:var(--ink-soft,#a1a1aa);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:11.5px;font-weight:600;transition:all .12s}.cplm-footer__btn:hover{background:var(--surface-3,#ffffff14);color:var(--ink,#f4f4f5)}@media (width<=480px){.cplm-overlay{padding:8px}.cplm-header{padding:16px 16px 12px}.cplm-projections{grid-template-columns:1fr;padding:12px 16px 0}.cplm-tabs{padding:10px 16px 6px}.cplm-body{padding:12px 16px}.cplm-stats-grid{grid-template-columns:repeat(2,1fr)}.cplm-footer{flex-direction:column;gap:8px;padding:10px 16px}}.motivation-overlay,.mp-overlay{-webkit-backdrop-filter:blur(8px);z-index:1050;background:#040508c7;justify-content:center;align-items:center;padding:16px;animation:.2s motivationFadeIn;display:flex;position:fixed;inset:0}@keyframes motivationFadeIn{0%{opacity:0}to{opacity:1}}.motivation-card,.mp-card{-webkit-overflow-scrolling:touch;border-radius:var(--r-lg,16px);text-align:center;box-sizing:border-box;background:linear-gradient(145deg,#181c24 0%,#0f1217 100%);border:1px solid #ffb80066;width:100%;max-width:440px;max-height:calc(100dvh - 32px);padding:28px 24px 24px;animation:.25s cubic-bezier(.16,1,.3,1) motivationPopIn;position:relative;overflow-y:auto;box-shadow:0 24px 60px #000000bf,0 0 28px #ffb8002e}@keyframes motivationPopIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.motivation-card__close{border-radius:var(--r-sm,6px);width:34px;height:34px;color:var(--ink-soft,#a1a1aa);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:absolute;top:14px;right:14px}.motivation-card__close:hover,.motivation-card__close:active{color:var(--amber,#ffb800);border-color:var(--amber-dim,#ffb80066);background:#ffb8001a}.motivation-card__badge{color:var(--amber-bright,#ffd54a);text-transform:uppercase;letter-spacing:.05em;background:#ffb8001f;border:1px solid #ffb80059;border-radius:20px;align-items:center;gap:6px;padding:5px 14px;font-size:11.5px;font-weight:700;display:inline-flex}.motivation-card__ai-tag{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%);border-radius:4px;padding:2px 7px;font-size:9.5px;font-weight:700}.motivation-card__greeting{color:#fff;letter-spacing:-.01em;margin:16px 0 14px;font-size:21px;font-weight:800}.motivation-card__stats-strip{border-radius:var(--r-md,10px);background:#ffffff09;border:1px solid #ffffff12;justify-content:space-around;align-items:center;margin-bottom:16px;padding:10px 8px;display:flex}.motivation-card__stat-item{flex-direction:column;align-items:center;gap:2px;display:flex}.motivation-card__stat-icon{font-size:14px;line-height:1}.motivation-card__stat-val{color:#fff;font-size:13.5px;font-weight:700;font-family:var(--font-mono,monospace)}.motivation-card__stat-lbl{color:var(--ink-faint,#71717a);text-transform:uppercase;font-size:10px;font-weight:600}.motivation-card__stat-divider{background:#ffffff14;width:1px;height:24px}.motivation-card__body{margin-bottom:20px}.motivation-card__text,.mp-message{color:#e4e4e7;border-left:3px solid var(--amber,#ffb800);border-radius:var(--r-sm,6px);text-align:left;background:#ffb8000a;margin:0;padding:14px 16px;font-size:14.5px;font-style:italic;line-height:1.6}.motivation-card__loading{color:var(--ink-faint,#71717a);justify-content:center;align-items:center;gap:10px;padding:16px;font-size:13.5px;font-style:italic;display:flex}.motivation-card__spinner{border:2px solid #ffb80040;border-top-color:var(--amber,#ffb800);border-radius:50%;width:16px;height:16px;animation:.75s linear infinite motivationSpin}@keyframes motivationSpin{to{transform:rotate(360deg)}}.motivation-card__cta,.mp-btn{color:#0c0d10;border-radius:var(--r-md,10px);cursor:pointer;background:linear-gradient(135deg,#ffb800 0%,#f59e0b 100%);border:none;justify-content:center;align-items:center;width:100%;height:44px;font-size:14px;font-weight:700;transition:all .16s;display:flex;box-shadow:0 4px 18px #ffb80059}.motivation-card__cta:hover,.mp-btn:hover{background:linear-gradient(135deg,#ffd54a 0%,#ffb800 100%);transform:translateY(-1px);box-shadow:0 6px 22px #ffb80073}.motivation-card__cta:active,.mp-btn:active{transform:translateY(1px)}@media (width<=480px){.motivation-card,.mp-card{border-radius:14px;padding:22px 18px 20px}.motivation-card__greeting{font-size:19px}.motivation-card__text{padding:12px 14px;font-size:13.5px}}.motivation-card__ai-tag--local{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.motivation-card__insights{border-radius:var(--r-md,10px);text-align:left;background:#ffffff06;border:1px solid #ffb80033;margin:16px 0 20px;padding:14px 12px}.motivation-card__insights-head{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.motivation-card__insights-pill{text-transform:uppercase;color:var(--amber-bright,#ffd54a);letter-spacing:.05em;font-size:11px;font-weight:700}.motivation-card__insights-sub{color:var(--ink-faint,#71717a);font-size:10px}.motivation-card__guidance-list{flex-direction:column;gap:8px;display:flex}.motivation-card__guidance-item{background:#00000040;border-left:3px solid #71717a;border-radius:6px;padding:8px 10px}.motivation-card__guidance-item--next{border-left-color:#22c55e}.motivation-card__guidance-item--avoid{border-left-color:#ef4444}.motivation-card__guidance-item--focus{border-left-color:#f59e0b}.motivation-card__guidance-head{margin-bottom:4px}.motivation-card__guidance-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:1px 6px;font-size:9.5px;font-weight:700}.motivation-card__guidance-badge--next{color:#22c55e;background:#22c55e26}.motivation-card__guidance-badge--avoid{color:#ef4444;background:#ef444426}.motivation-card__guidance-badge--focus{color:#f59e0b;background:#f59e0b26}.motivation-card__guidance-body{color:#d4d4d8;margin:0;font-size:12px;line-height:1.45}.motivation-card__tip{color:#c7d2fe;background:#6366f114;border:1px solid #6366f133;border-radius:6px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;font-size:11.5px;line-height:1.4;display:flex}.motivation-card__tip-icon{flex-shrink:0}.motivation-card__tip-text strong{color:#fff}.notif-drawer-root{z-index:1040;justify-content:flex-end;display:flex;position:fixed;inset:0}.notif-drawer-backdrop{-webkit-backdrop-filter:blur(6px);background:#040508b8;animation:.2s notifFadeIn;position:absolute;inset:0}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}.notif-drawer-panel{box-sizing:border-box;background:linear-gradient(#15181f 0%,#0d0f14 100%);border-left:1px solid #ffb80038;flex-direction:column;width:100%;max-width:440px;height:100dvh;animation:.28s cubic-bezier(.16,1,.3,1) notifSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:-12px 0 40px #000000bf}@keyframes notifSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.notif-drawer-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#15181fd9;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.notif-drawer-title-group{align-items:center;gap:12px;display:flex}.notif-header-icon{border-radius:var(--r-md,10px);width:36px;height:36px;color:var(--amber,#ffb800);background:#ffb8001f;border:1px solid #ffb80059;justify-content:center;align-items:center;display:flex}.notif-drawer-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:16.5px;font-weight:700}.notif-drawer-subtitle{color:var(--ink-soft,#a1a1aa);font-size:11.5px}.notif-drawer-top-actions{align-items:center;gap:8px;display:flex}.notif-header-action-btn{border-radius:var(--r-sm,6px);color:var(--ink-soft,#a1a1aa);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;align-items:center;gap:4px;padding:5px 9px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.notif-header-action-btn:hover{color:var(--amber,#ffb800);background:#ffb8001f;border-color:#ffb80066}.notif-header-action-btn--danger:hover{color:#ef4444;background:#ef444426;border-color:#ef444466}.notif-drawer-close-btn{border-radius:var(--r-sm,6px);width:32px;height:32px;color:var(--ink-soft,#a1a1aa);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.notif-drawer-close-btn:hover{color:#fff;background:#ffffff1f}.notif-service-card{border-radius:var(--r-md,10px);background:#ffb8000a;border:1px solid #ffb80038;margin:14px 16px 8px;padding:12px 14px}.notif-service-card__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.notif-service-card__status{align-items:center;gap:8px;display:flex}.notif-status-dot{background:var(--ink-faint,#71717a);border-radius:50%;width:8px;height:8px}.notif-status-dot--active{background:#4ade80;box-shadow:0 0 8px #4ade8099}.notif-service-card__label{color:#fff;font-size:12.5px;font-weight:700}.notif-test-btn{color:var(--amber-bright,#ffd54a);cursor:pointer;background:#ffb80024;border:1px solid #ffb80059;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .15s}.notif-test-btn:hover{background:#ffb80040;transform:translateY(-1px)}.notif-service-card__prompt{margin-top:8px}.notif-service-card__desc{color:var(--ink-soft,#a1a1aa);margin:0 0 10px;font-size:11.5px;line-height:1.45}.notif-enable-push-btn{color:#0c0d10;cursor:pointer;background:linear-gradient(135deg,#ffb800 0%,#f59e0b 100%);border:none;border-radius:6px;width:100%;height:34px;font-size:12px;font-weight:700;transition:all .15s}.notif-enable-push-btn:hover{background:linear-gradient(135deg,#ffd54a 0%,#ffb800 100%);box-shadow:0 4px 14px #ffb8004d}.notif-service-card__controls{border-top:1px solid #ffffff0f;margin-top:10px;padding-top:8px}.notif-schedule-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.notif-schedule-label{color:var(--ink-soft,#a1a1aa);font-size:11.5px;font-weight:600}.notif-time-input{color:#fff;font-size:12px;font-family:var(--font-mono,monospace);background:#11141a;border:1px solid #ffffff1f;border-radius:6px;outline:none;padding:4px 8px;font-weight:600;transition:border-color .15s}.notif-system-notice-badge{color:var(--ink-soft,#a1a1aa);background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;font-size:11px;line-height:1.4;display:flex}.notif-policy-icon{flex-shrink:0;font-size:12px}.notif-time-input:focus{border-color:var(--amber,#ffb800)}.notif-filter-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid #ffffff0f;align-items:center;gap:6px;padding:6px 16px 10px;display:flex;overflow-x:auto}.notif-filter-tabs::-webkit-scrollbar{display:none}.notif-filter-btn{color:var(--ink-soft,#a1a1aa);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-shrink:0;padding:5px 10px;font-size:11px;font-weight:600;transition:all .15s}.notif-filter-btn:hover{color:#fff;background:#ffffff14}.notif-filter-btn.active{color:var(--amber-bright,#ffd54a);background:#ffb80026;border-color:#ffb80073}.notif-list-container{flex:1;padding:12px 16px 24px;overflow-y:auto}.notif-list{flex-direction:column;gap:10px;display:flex}.notif-item{border-radius:var(--r-md,10px);cursor:pointer;background:#ffffff08;border:1px solid #ffffff12;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .18s;display:flex;position:relative}.notif-item:hover{background:#ffffff0d;border-color:#ffffff24}.notif-item--unread{background:#ffb8000d;border-color:#ffb80047}.notif-item--achievement .notif-item__icon-wrap{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b66}.notif-item--reminder .notif-item__icon-wrap{color:#38bdf8;background:#38bdf826;border-color:#38bdf866}.notif-item--system .notif-item__icon-wrap{color:#f87171;background:#ef444426;border-color:#ef444466}.notif-item--streak .notif-item__icon-wrap{color:#fb923c;background:#f9731626;border-color:#f9731666}.notif-item__icon-wrap{border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:2px;display:flex}.notif-item__body{flex:1;min-width:0}.notif-item__header-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.notif-item__title{color:#fff;margin:0;font-size:13px;font-weight:700;line-height:1.3}.notif-unread-dot{background:var(--amber,#ffb800);width:6px;height:6px;box-shadow:0 0 6px var(--amber,#ffb800);border-radius:50%;flex-shrink:0}.notif-item__message{color:var(--ink-soft,#a1a1aa);word-break:break-word;margin:0 0 8px;font-size:12px;line-height:1.45}.notif-item__footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.notif-item__time{color:var(--ink-faint,#71717a);font-size:10.5px;font-weight:500}.notif-action-btn{color:var(--amber-bright,#ffd54a);cursor:pointer;background:#ffb8001f;border:1px solid #ffb8004d;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;transition:all .15s}.notif-action-btn:hover{background:#ffb80038}.notif-item__delete-btn{color:var(--ink-faint,#71717a);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:12px;line-height:1;transition:color .15s}.notif-item__delete-btn:hover{color:#f87171}.notif-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 16px;display:flex}.notif-empty-icon{width:64px;height:64px;color:var(--ink-faint,#71717a);background:#ffffff08;border:1px solid #ffffff0f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.notif-empty-title{color:#fff;margin:0 0 6px;font-size:15px;font-weight:700}.notif-empty-desc{color:var(--ink-faint,#71717a);max-width:260px;margin:0;font-size:12px;line-height:1.5}@media (width<=480px){.notif-drawer-panel{max-width:100%}.notif-drawer-header{padding:16px 14px}.notif-service-card{margin:12px 12px 6px}.notif-list-container{padding:10px 12px 24px}}.app-shell{min-height:100vh;padding-top:var(--header-h);flex-direction:column;display:flex}.app-shell--empty{color:var(--ink-faint);justify-content:center;align-items:center;font-size:14px}.app-main{box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:1360px;margin:0 auto;padding:24px 24px 40px}.app-layout{align-items:stretch;gap:20px;width:100%;min-width:0;display:flex}.app-layout__main{flex:1;min-width:0;max-width:100%}.app-layout__side{flex-shrink:0;align-self:stretch;width:320px;min-width:0}.sticky-side-panel{top:calc(var(--header-h) + 16px);max-height:calc(100vh - var(--header-h) - 24px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex-direction:column;gap:0;display:flex;position:sticky;overflow-y:auto}.sticky-side-panel::-webkit-scrollbar{width:4px}.sticky-side-panel::-webkit-scrollbar-track{background:0 0}.sticky-side-panel::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:4px}.sticky-side-panel::-webkit-scrollbar-thumb:hover{background:var(--amber-dim)}@media (width>=641px) and (width<=900px){.app-layout{flex-direction:column;align-items:stretch;gap:18px}.app-layout__side{order:-1;align-self:auto;width:100%;min-width:0}.sticky-side-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;width:100%;min-width:0;max-height:none;display:grid;position:static;overflow-y:visible}.app-main{padding:18px 16px 36px}}@media (width<=640px){.app-layout{flex-direction:column;gap:10px}.app-layout__side{order:-1;width:100%}.sticky-side-panel{flex-direction:column;gap:8px;max-height:none;display:flex;position:static;overflow-y:visible}.app-main{padding:8px 8px calc(48px + env(safe-area-inset-bottom,12px))}}.empty-state{text-align:center;color:var(--ink-soft);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-lg);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;font-size:14px;display:flex}.empty-state__icon{opacity:.8;font-size:28px}.empty-state p{margin:0}.empty-state__btn{background:var(--surface-2);border:1px solid var(--border);color:var(--amber);border-radius:var(--r-sm);cursor:pointer;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.empty-state__btn:hover{background:var(--surface-3);border-color:var(--amber)}.app-footer{text-align:center;color:var(--ink-faint);border-top:1px solid var(--border-soft);padding:20px 140px 24px 20px;font-size:11.5px}@media (width<=768px){.app-shell{padding-bottom:calc(64px + env(safe-area-inset-bottom,12px))}.app-footer{padding:16px 14px calc(24px + env(safe-area-inset-bottom,12px));font-size:11px}}.daily-limit-banner{border-radius:var(--r-md);background:linear-gradient(135deg,#f59e0b24 0%,#d9770614 100%);border:1px solid #f59e0b66;align-items:center;gap:14px;margin-bottom:16px;padding:14px 18px;animation:.3s dlimit-fade-in;display:flex;box-shadow:0 4px 16px #00000040}.daily-limit-banner__icon{background:#f59e0b2e;border:1px solid #f59e0b73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.daily-limit-banner__body{flex:1;min-width:0}.daily-limit-banner__title{color:#fbbf24;margin-bottom:2px;font-size:14px;font-weight:700}.daily-limit-banner__desc{color:var(--ink-soft,#a1a1aa);font-size:12px;line-height:1.45}.daily-limit-banner__action{color:#fbbf24;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:#f59e0b2e;border:1px solid #f59e0b73;flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:600;transition:all .15s}.daily-limit-banner__action:hover{background:#f59e0b4d;border-color:#fbbf24}@media (width<=640px){.daily-limit-banner{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px}.daily-limit-banner__action{text-align:center;width:100%}}.eb-container{background:var(--bg,#0c0d10);min-height:100vh;color:var(--ink,#eef0f3);box-sizing:border-box;justify-content:center;align-items:center;padding:24px;display:flex}.eb-card{background:var(--surface,#131519);border:1px solid var(--border,#2a2e37);border-radius:var(--r-lg,10px);text-align:left;width:100%;max-width:580px;padding:32px;box-shadow:0 20px 48px #0009}.eb-badge{font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.05em;color:var(--danger,#f0654f);background:#f0654f1f;border:1px solid #f0654f40;border-radius:4px;margin-bottom:14px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.eb-title{color:var(--ink,#eef0f3);margin:0 0 10px;font-size:24px;font-weight:700}.eb-desc{color:var(--ink-soft,#a6acb8);margin:0 0 20px;font-size:14px;line-height:1.5}.eb-details{background:var(--surface-2,#191c22);border:1px solid var(--border-soft,#1d2027);color:var(--ink-faint,#626874);cursor:pointer;border-radius:6px;margin-bottom:24px;padding:10px 14px;font-size:12px}.eb-details summary{outline:none;font-weight:600}.eb-pre{white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono,monospace);color:var(--danger,#f0654f);max-height:200px;margin-top:10px;font-size:11px;overflow-y:auto}.eb-actions{flex-wrap:wrap;gap:12px;display:flex}.eb-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:10px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.eb-btn--primary{background:var(--amber,#ffb800);color:var(--void,#08090b)}.eb-btn--primary:hover{background:var(--amber-bright,#ffd54a)}.eb-btn--secondary{background:var(--surface-3,#21252d);color:var(--ink,#eef0f3);border:1px solid var(--border,#2a2e37)}.eb-btn--secondary:hover{background:var(--surface-2,#191c22);border-color:var(--ink-faint,#626874)}.eb-btn--danger{color:var(--danger,#f0654f);background:0 0;border:1px solid #f0654f4d}.eb-btn--danger:hover{border-color:var(--danger,#f0654f);background:#f0654f1a}
