@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-page:#07090e;--bg-card:#0d1119;--bg-elevated:#131a26;--bg-hover:#18202f;--bg-pressed:#1d2738;--bg-overlay:#04060ab8;--bg-card-gradient:linear-gradient(160deg, #131a26 0%, #0d1119 70%);--text-primary:#e8edf5;--provider-btn-bg:#fff;--provider-btn-fg:#000;--text-secondary:#7b8598;--text-muted:#5c6575;--text-on-accent:#07090e;--border-subtle:#1c2230;--border-default:#263042;--border-strong:#2e3b52;--border-emphasis:#3d4c6b;--accent:#64f4ac;--accent-hover:#7df7ba;--accent-active:#52db96;--accent-tint:#64f4ac1a;--accent-border:#64f4ac40;--accent-border-strong:#64f4ac80;--negative:#e07b68;--negative-tint:#e07b681f;--negative-tint-strong:#e07b682e;--negative-border:#e07b6873;--negative-border-strong:#e07b688c;--success:#64f4ac;--warning:#e5c069;--warning-tint:#e5c0691a;--warning-border:#e5c06966;--error:#e07b68;--info:#6ba6f0;--info-hover:#82b4f3;--info-active:#5c97e3;--info-tint:#6ba6f01a;--info-border:#6ba6f04d;--info-border-strong:#6ba6f080;--heat-0:#0d1119;--heat-1:#64f4ac2e;--heat-2:#64f4ac61;--heat-3:#64f4aca6;--heat-4:#64f4ac;--font-ui:"Space Grotesk", sans-serif;--font-mono:"IBM Plex Mono", monospace;--ui-xs:11px;--ui-xs-lh:16px;--ui-sm:13px;--ui-sm-lh:20px;--ui-base:15px;--ui-base-lh:22px;--ui-md:16px;--ui-md-lh:24px;--ui-lg:20px;--ui-lg-lh:28px;--ui-xl:28px;--ui-xl-lh:34px;--card-sm:26px;--card-md:32px;--card-lg:40px;--card-xl:56px;--card-lh-tight:1.1;--card-lh:1.2;--display:88px;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--content-max:1040px;--radius-xs:6px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-pill:999px;--control-sm:36px;--control-md:44px;--control-lg:56px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 24px 48px #00000080;--glow-accent:0 0 28px #64f4ac12;--glow-negative:0 0 26px #e07b682e;--focus-ring:0 0 0 2px var(--bg-page), 0 0 0 4px var(--accent);--ring-destructive:0 0 0 2px var(--bg-page), 0 0 0 4px var(--negative);--motion-fast:.12s;--motion-base:.3s;--motion-slow:.5s;--motion-tint:.16s;--ease-ui:cubic-bezier(.2, 0, .2, 1);--ease-spring:cubic-bezier(.3, .7, 0, 1);--stat-lg:52px;--stat-md:36px;--stat-sm:30px;--z-nav:100;--z-overlay:200;--z-modal:300;--z-toast:400;--z-tooltip:500;--bp-xs:360px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-xxl:1536px;--bp-h-sm:480px;--bp-h-md:560px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-page:#f5f7fa;--bg-card:#fff;--bg-elevated:#ebeff5;--bg-hover:#e2e7ef;--bg-pressed:#d6dde8;--bg-overlay:#131a2666;--bg-card-gradient:linear-gradient(160deg, #fff 0%, #f5f7fa 70%);--text-primary:#131a26;--provider-btn-bg:#000;--provider-btn-fg:#fff;--text-secondary:#4d586e;--text-muted:#7b8598;--text-on-accent:#fff;--border-subtle:#e2e7ef;--border-default:#cbd4e1;--border-strong:#9aa7bc;--border-emphasis:#7b8ca6;--accent:#0b8a5c;--accent-hover:#0fa06c;--accent-active:#08744d;--accent-tint:#0b8a5c1a;--accent-border:#0b8a5c4d;--accent-border-strong:#0b8a5c8c;--negative:#c25441;--negative-tint:#c254411a;--negative-tint-strong:#c2544129;--negative-border:#c2544166;--negative-border-strong:#c254418c;--success:#0b8a5c;--warning:#8a6a14;--warning-tint:#8a6a141a;--warning-border:#8a6a1466;--error:#c25441;--info:#2e6bc2;--info-hover:#3c79cf;--info-active:#2660b0;--info-tint:#2e6bc21a;--info-border:#2e6bc24d;--info-border-strong:#2e6bc28c;--heat-0:#ebeff5;--heat-1:#0b8a5c33;--heat-2:#0b8a5c6b;--heat-3:#0b8a5cad;--heat-4:#0b8a5c;--shadow-sm:0 1px 2px #131a2614;--shadow-md:0 8px 24px #131a261a;--shadow-lg:0 24px 48px #131a2624;--glow-accent:0 0 28px #0b8a5c1a;--glow-negative:0 0 26px #c2544124}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-slow:0s;--motion-tint:.1s}}*,:before,:after{box-sizing:border-box}*{-webkit-user-drag:none;scrollbar-width:none;margin:0}::-webkit-scrollbar{display:none}html{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:var(--bg-page)}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--ui-base);line-height:var(--ui-base-lh);font-weight:var(--w-medium);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;min-height:100svh;position:relative}#root{isolation:isolate;flex-direction:column;min-height:100svh;display:flex}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}::selection{background:var(--accent-tint)}a{color:var(--accent);text-decoration:none}@media (hover:hover){a:hover{text-decoration:underline}}button,input,textarea{font:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.icon-btn{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background var(--motion-fast) var(--ease-ui), color var(--motion-fast) var(--ease-ui);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}}.icon-btn:active{background:var(--bg-pressed)}.page-loading{color:var(--text-secondary);font-size:var(--ui-sm);flex:1;justify-content:center;align-items:center;display:flex}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}}.base-popup{transition:opacity var(--motion-fast) var(--ease-ui), translate var(--motion-fast) var(--ease-ui)}.base-popup[data-starting-style]{opacity:0;translate:0 -6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kbd{font-family:var(--font-mono);font-size:var(--ui-xs);color:var(--text-primary);border:1px solid var(--border-default);background:var(--bg-elevated);border-radius:var(--radius-xs);padding:3px var(--space-2)}.modal{max-width:min(480px, calc(100vw - 2 * var(--space-4)));width:100%;color:var(--text-primary);background:0 0;border:none;margin:auto;padding:0}.modal::backdrop{background:0 0}.modal__scrim{background:var(--bg-overlay);opacity:calc(1 - var(--sheet-drag-progress,0));animation:modal-backdrop-in var(--motion-fast) var(--ease-ui);position:fixed;inset:0}.sheet-drag--settle .modal__scrim{transition:opacity var(--motion-base) var(--ease-ui)}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(var(--modal-from,6px))}to{opacity:1;transform:none}}.modal__panel{max-height:calc(100dvh - 2 * var(--space-8));max-height:calc(var(--vvh,100dvh) - 2 * var(--space-8));border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg);animation:modal-panel-in var(--motion-fast) var(--ease-ui);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal__grab{flex-direction:column;display:flex}.modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);display:flex}.modal__heading{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.modal__title{font-size:var(--ui-md);line-height:var(--ui-md-lh);font-weight:var(--w-semibold);margin:0}.modal__hint{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0}.modal__body{min-height:0;padding:var(--space-1) var(--space-5) var(--space-5);overscroll-behavior:contain;flex:1;overflow-y:auto}.modal__body--flush{padding:0}.modal__handle{display:none}.modal__panel--editor{background:var(--bg-card);border-radius:var(--radius-xl)}.modal--wide{max-width:min(680px, calc(100vw - 2 * var(--space-4)))}@media (width<=639.98px){.modal{overscroll-behavior:none;flex-direction:column;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;display:flex}.modal--fullscreen-mobile{height:100dvh;height:var(--vvh,100dvh);transform:translateY(var(--vv-top,0px))}.modal--wide{max-width:none}.modal:not(.modal--fullscreen-mobile) .modal__panel{max-height:calc(100% - var(--space-10));border-radius:var(--radius-xl) var(--radius-xl) 0 0;--modal-from:var(--space-6);border-bottom:none;margin-top:auto}.modal:not(.modal--fullscreen-mobile) .modal__panel--kb{top:auto;left:0;right:0;bottom:calc(var(--sheet-keyboard,0px) - var(--sheet-underlay,0px));padding-bottom:var(--sheet-underlay,0px);max-height:calc(100% - var(--sheet-keyboard,0px) - var(--space-10) + var(--sheet-underlay,0px));transition:bottom var(--motion-base) var(--ease-ui);position:fixed}.modal__grab{cursor:grab;touch-action:none}.modal__grab:active{cursor:grabbing}.modal__handle{width:100%;padding:var(--space-3) 0 var(--space-2);justify-content:center;align-items:center;display:flex}.modal__handle-pill{width:36px;height:var(--space-1);border-radius:var(--radius-xs);background:var(--border-strong)}.modal__panel{transform:translateY(var(--sheet-drag-y,0px))}.modal__panel.sheet-drag--settle{transition:transform var(--motion-base) var(--ease-ui)}.modal--fullscreen-mobile .modal__panel{position:relative}.modal--fullscreen-mobile .modal__grab{z-index:1;width:160px;position:absolute;top:0;left:50%;transform:translate(-50%)}.modal--fullscreen-mobile .modal__panel{--modal-from:var(--space-6);border:none;border-radius:0;height:100%;max-height:none}}.import-wizard,.import-wizard__step{gap:var(--space-5);flex-direction:column;display:flex}.import-wizard__target{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.import-wizard__target legend{padding:0 var(--space-1);color:var(--text-secondary);font-size:var(--ui-sm)}.import-wizard__field{gap:var(--space-2);flex-direction:column;display:flex}.import-wizard__label{color:var(--text-secondary);font-size:var(--ui-sm)}.import-wizard__textarea{font-family:var(--font-mono);font-size:var(--ui-sm);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);color:var(--text-primary);resize:vertical;min-height:10rem}.import-wizard__textarea:focus-visible,.import-wizard__inline-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.import-wizard__inline-input{font-family:var(--font-ui);font-size:var(--ui-sm);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--text-primary);flex:1;min-width:12rem}.import-wizard__row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.import-wizard__file-input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.import-wizard__delimiter{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--ui-sm);display:flex}.import-wizard__error{color:var(--negative);font-size:var(--ui-sm)}.import-wizard__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.import-wizard__swap{margin-right:auto;display:inline-flex}.import-wizard__swap .btn{padding:0 var(--space-3)}.import-wizard__swap .btn[aria-pressed=true]{color:var(--accent);background:var(--accent-tint)}.import-wizard__summary{font-weight:var(--w-medium)}.import-wizard__issues-toggle{color:var(--info);font-size:var(--ui-sm);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.import-wizard__issues{padding:var(--space-3);background:var(--negative-tint);border:1px solid var(--negative-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--ui-xs);gap:var(--space-1);flex-direction:column;max-height:8rem;margin:0;list-style:none;display:flex;overflow-y:auto}.import-wizard__preview-list{gap:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;max-height:16rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.import-wizard__preview-row{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--ui-sm);grid-template-columns:1fr 1fr;display:grid}.import-wizard__preview-row:last-child{border-bottom:none}.import-wizard__preview-front{color:var(--text-primary)}.import-wizard__preview-back{color:var(--text-secondary)}.import-wizard__warning{color:var(--warning);font-size:var(--ui-sm);background:var(--warning-tint);border:1px solid var(--warning-border);border-radius:var(--radius-sm);padding:var(--space-3)}@media (width<=639.98px){.import-wizard__preview-row{grid-template-columns:1fr}.import-wizard__textarea,.import-wizard__inline-input{font-size:var(--ui-md)}}.shell{min-height:100svh;display:flex}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--ui-sm);font-weight:var(--w-medium);transition:color var(--motion-fast) var(--ease-ui), background var(--motion-fast) var(--ease-ui);text-decoration:none;display:flex}@media (hover:hover){.nav-item:hover{color:var(--text-primary);background:var(--bg-hover);text-decoration:none}}.nav-item:active{background:var(--bg-hover)}button.nav-item{cursor:pointer;text-align:left;background:0 0;border:none}.nav-item--active{color:var(--accent);background:var(--accent-tint);font-weight:var(--w-semibold)}.nav-item--disabled{color:var(--text-muted);cursor:default}.nav-item__soon{padding:2px var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.08em;color:var(--text-muted);margin-left:auto}@media (hover:hover){.nav-item--disabled:hover{color:var(--text-muted);background:0 0}}.nav-item--disabled:active{background:0 0}.nav-item--gated{position:relative}.nav-item__gate{border:1.5px solid var(--warning);border-radius:var(--radius-pill);width:8px;height:8px;position:absolute;top:2px;left:50%;translate:7px}.shell__sidebar{gap:var(--space-1);width:232px;height:100svh;padding:var(--space-6) var(--space-4);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.shell__brand{padding:0 var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.shell__wordmark{font-size:var(--ui-lg);line-height:var(--ui-lg-lh);font-weight:var(--w-bold);letter-spacing:-.01em}.shell__wordmark-dot{color:var(--accent)}.shell__nav{gap:var(--space-1);margin-top:var(--space-3);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.shell__nav[hidden]{display:none}.shell__library-slot{min-height:0;margin-top:var(--space-3);flex-direction:column;flex:1;display:flex}.shell__library-slot[hidden]{display:none}.shell__nav-heading{margin-top:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-1);font-family:var(--font-mono);font-size:var(--ui-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.shell__import-sheet{gap:var(--space-4);flex-direction:column;display:flex}.shell__import-sheet>p{color:var(--text-secondary);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);margin:0}.shell__nav-footer{align-items:center;gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);margin-top:auto;display:flex}.shell__nav-footer>.flyout{flex:1;min-width:0}@media (height<=479.98px){.shell__nav{flex:1}}.shell__sidebar-footer{padding-top:var(--space-4);border-top:1px solid var(--border-subtle);align-items:center;gap:var(--space-1);margin-top:auto;display:flex}.shell__sidebar-footer>.flyout{flex:1;min-width:0}.shell__user{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:inherit;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-ui);background:0 0;border:none;display:flex}@media (hover:hover){.shell__user:hover{background:var(--bg-hover)}}.shell__account-actions{gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);display:flex}.shell__avatar{border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);font-size:var(--ui-xs);font-weight:var(--w-semibold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.shell__user-name{font-size:var(--ui-sm);font-weight:var(--w-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell__main{width:100%;min-width:0;padding:var(--space-12) var(--space-16);flex-direction:column;flex:1;align-items:center;display:flex}.shell__main>.app-footer{margin-top:auto}.shell__bottomnav{display:none}@media (width<=1023.98px){.shell{flex-direction:column}.shell__sidebar{display:none}.shell__main{padding:var(--space-5) var(--space-5) calc(var(--space-16) + var(--space-6) + env(safe-area-inset-bottom,0px))}.shell__bottomnav{z-index:var(--z-nav);padding:var(--space-2) var(--space-2) max(var(--space-2), env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle);background:var(--bg-card);display:flex;position:fixed;bottom:0;left:0;right:0}.shell__bottomnav .nav-item{padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);font-size:var(--ui-xs);background:0 0;flex-direction:column;flex:1;gap:3px}.shell__bottomnav .nav-item--active{background:0 0}.shell__bottomnav .nav-item__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.shell__bottomnav-row{width:100%;min-width:0;display:flex;position:relative}.shell__bottomnav-measure{visibility:hidden;pointer-events:none;width:max-content;display:flex;position:absolute;bottom:100%;left:0}.shell__bottomnav-measure .nav-item{flex:none}.shell__bottomnav-measure .nav-item__label{max-width:none}.shell:has(input:focus,textarea:focus,[contenteditable]:focus) .shell__bottomnav{display:none}}.bottomnav-panel{bottom:100%;left:var(--space-2);right:var(--space-2);gap:var(--space-3);max-height:min(60dvh,480px);padding:var(--space-3) var(--space-4) 0;border:1px solid var(--border-default);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-elevated);box-shadow:var(--shadow-lg);transform:translateY(var(--sheet-drag-y,0px));animation:bottomnav-panel-in var(--motion-fast) var(--ease-ui);border-bottom:none;flex-direction:column;display:flex;position:absolute}.bottomnav-panel:after{content:"";top:calc(100% - 1px);left:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));height:calc(var(--space-2) + 1px);background:var(--bg-elevated);position:absolute}@keyframes bottomnav-panel-in{0%{opacity:0;transform:translateY(6px)}}.bottomnav-panel__body{overscroll-behavior:contain;min-height:0;padding-bottom:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.bottomnav-panel__grab{gap:var(--space-3);cursor:grab;touch-action:none;flex-direction:column;display:flex}.bottomnav-panel__handle{width:100%;padding-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.bottomnav-panel__pill{width:36px;height:var(--space-1);border-radius:var(--radius-xs);background:var(--border-strong)}.bottomnav-panel.sheet-drag--settle{transition:transform var(--motion-base) var(--ease-ui)}.shell__bottomnav .nav-item--open{background:var(--bg-elevated);border-radius:0 0 var(--radius-md) var(--radius-md);color:var(--text-primary)}.bottomnav-sheet__list{gap:var(--space-1);flex-direction:column;display:flex}.bottomnav-sheet__item{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:inherit;font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-ui), color var(--motion-fast) var(--ease-ui);background:0 0;border:none;text-decoration:none;display:flex}@media (hover:hover){.bottomnav-sheet__item:hover{background:var(--bg-hover);text-decoration:none}}.bottomnav-sheet__item:active{background:var(--bg-pressed)}.bottomnav-sheet__item--disabled{color:var(--text-muted);cursor:default}.bottomnav-sheet__item--disabled:active{background:0 0}@media (hover:hover){.bottomnav-sheet__item--disabled:hover{background:0 0}}.bottomnav-sheet__icon{width:var(--control-sm);height:var(--control-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);transition:color var(--motion-fast) var(--ease-ui);flex:none;place-items:center;display:grid}@media (hover:hover){.bottomnav-sheet__item:hover .bottomnav-sheet__icon{color:var(--text-primary)}}.bottomnav-sheet__item--active .bottomnav-sheet__icon,.bottomnav-sheet__item--active:hover .bottomnav-sheet__icon{color:var(--accent);background:var(--accent-tint);border-color:var(--accent-border)}.bottomnav-sheet__item--disabled .bottomnav-sheet__icon{color:var(--text-muted)}.bottomnav-sheet__body{flex-direction:column;min-width:0;display:flex}.bottomnav-sheet__label{font-size:var(--ui-base);line-height:var(--ui-base-lh);font-weight:var(--w-medium)}.bottomnav-sheet__item--active .bottomnav-sheet__label{color:var(--accent);font-weight:var(--w-semibold)}.bottomnav-sheet__hint{color:var(--text-secondary);font-size:var(--ui-sm);line-height:var(--ui-sm-lh)}.bottomnav-sheet__item--disabled .bottomnav-sheet__hint{color:var(--text-muted)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary)}.field__input{height:var(--control-md);padding:0 var(--space-4);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--ui-base);caret-color:var(--accent);transition:border-color var(--motion-fast) var(--ease-ui)}.field__input::placeholder{color:var(--text-secondary);font-size:var(--ui-sm);font-weight:var(--w-regular)}@media (hover:hover){.field__input:hover:not(:focus){border-color:var(--border-strong)}}.field__input:focus-visible{box-shadow:var(--focus-ring);outline:none}.field__input--error{border:1.5px solid var(--negative-border-strong)}.field__error{align-items:center;gap:var(--space-1);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--negative);display:flex}.field__hint{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary)}@media (width<=639.98px){.field__input{font-size:var(--ui-md)}}.deck-mini__metric{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--ui-xs);letter-spacing:.08em;text-align:right;text-transform:uppercase;flex-direction:column;flex:none;align-items:flex-end;gap:1px;display:flex}.deck-mini__metric strong{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--ui-md);line-height:1;font-weight:var(--w-bold);letter-spacing:normal}.deck-mini__metric--accent strong{color:var(--accent)}.deck-mini__metric--quiet strong{font-size:var(--ui-sm);font-weight:var(--w-semibold);white-space:nowrap}.deck-mini__metric--warning,.deck-mini__metric-icon{color:var(--warning)}.deck-mini__pair{align-items:baseline;display:flex}.deck-mini__pair>span{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--ui-sm);letter-spacing:normal}.deck-mini__check{border:1px solid var(--border-default);border-radius:var(--radius-pill);width:20px;height:20px;color:var(--text-on-accent);opacity:0;transition:opacity var(--motion-fast) var(--ease-ui), background var(--motion-fast) var(--ease-ui);flex:none;place-items:center;display:grid}.deck-row--selected .deck-mini__check{border-color:var(--accent);background:var(--accent);opacity:1}.deck-mini--polish.deck-row--selected{border-color:var(--info-border-strong)}.deck-mini--polish.deck-row--selected .deck-row__name{color:var(--info)}.deck-mini--polish.deck-row--selected .deck-mini__check{border-color:var(--info);background:var(--info)}.elements{gap:var(--space-6,32px);padding:var(--space-4);flex-direction:column;max-width:1100px;display:flex}.elements__head h1{margin:0 0 var(--space-2);font-size:var(--ui-lg);line-height:var(--ui-lg-lh)}.elements__head p{margin:0 0 var(--space-2);max-width:68ch;color:var(--text-secondary);font-size:var(--ui-sm);line-height:var(--ui-sm-lh)}.elements__warning{border-left:2px solid var(--info-border);padding-left:var(--space-3)}.elements__group h2{margin:0 0 var(--space-1);font-size:var(--ui-base);line-height:var(--ui-base-lh)}.elements__why{margin:0 0 var(--space-3);max-width:68ch;color:var(--text-secondary);font-size:var(--ui-xs);line-height:var(--ui-sm-lh)}.elements__row{align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.elements__item{gap:var(--space-2);flex-direction:column;min-width:0;max-width:320px;margin:0;display:flex}.elements__stage{min-height:48px;padding:var(--space-2);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);align-items:center;display:flex}.elements__label{font-family:var(--font-mono);font-size:var(--ui-xs);flex-direction:column;gap:2px;line-height:1.5;display:flex}.elements__selector{color:var(--text-primary);font-weight:var(--w-semibold)}.elements__card{color:var(--accent)}.elements__file,.elements__note{color:var(--text-secondary);word-break:break-all}.elements__note{font-family:var(--font-ui)}.elements__tokens{color:var(--text-muted);flex-wrap:wrap;gap:4px;display:flex}.elements__token{border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:0 4px}.toasts{top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:var(--space-4);align-items:flex-end;gap:var(--space-2);z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--space-2);max-width:min(360px, calc(100vw - 2 * var(--space-4)));background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-md);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);animation:toast-in var(--motion-base) var(--ease-spring);display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}}.toast[data-ending-style]{opacity:0;transition:opacity var(--motion-base) var(--ease-ui), transform var(--motion-base) var(--ease-ui);transform:translateY(-10px)}.toast--success{border-color:var(--accent-border-strong)}.toast--error{border-color:var(--negative-border-strong)}.toast--info{border-color:var(--info-border)}.toast__close{color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-xs);transition:color var(--motion-fast) var(--ease-ui);background:0 0;border:none;flex-shrink:0;display:flex}@media (hover:hover){.toast__close:hover{color:var(--text-primary);background:var(--bg-hover)}}@media (width<=1023.98px){.toasts{width:max-content;max-width:calc(100vw - 2 * var(--space-4));align-items:center;left:50%;right:auto;transform:translate(-50%)}}.viewport-debug{z-index:var(--z-tooltip);color:#0f0;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;background:#000;padding:2px 4px;font-size:10px;line-height:1.4;position:fixed;top:0;left:0;right:0;overflow:hidden}.auth{justify-content:center;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-4);flex-direction:column;flex:1;display:flex}.auth__card{gap:var(--space-4);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-lg), var(--glow-accent);flex-direction:column;display:flex}.auth__wordmark{font-size:var(--ui-lg);line-height:var(--ui-lg-lh);font-weight:var(--w-semibold);letter-spacing:-.01em}.auth__wordmark-dot{color:var(--accent)}.auth__title{font-size:var(--ui-xl);line-height:var(--ui-xl-lh);font-weight:var(--w-semibold)}.auth__error{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--negative);background:var(--negative-tint);border:1px solid var(--negative-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.auth__note{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);border-left:2px solid var(--border-default);padding-left:var(--space-3)}.auth__body{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary)}.auth__success{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-primary);background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.auth__turnstile{justify-content:center;min-height:65px;display:flex}.auth__alt{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);text-align:center}.auth__hp{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.auth__external{gap:var(--space-3);flex-direction:column;display:flex}.auth__provider{gap:var(--space-2);flex-direction:column;min-height:44px;display:flex}.btn.auth__provider-btn,.btn.auth__provider-btn:hover:not(:disabled),.btn.auth__provider-btn:active:not(:disabled){background:var(--provider-btn-bg);border-color:var(--provider-btn-bg);width:100%;color:var(--provider-btn-fg)}@media (hover:hover){.btn.auth__provider-btn:hover:not(:disabled){opacity:.9}}.btn.auth__provider-btn:disabled{opacity:.6}.auth__provider-btn svg{flex:none}.auth__provider--fake{gap:var(--space-3)}.auth__divider{align-items:center;gap:var(--space-3);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);display:flex}.auth__divider:before,.auth__divider:after{content:"";background:var(--border-default);flex:1;height:1px}.deck-form{gap:var(--space-5);flex-direction:column;display:flex}.deck-form__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.study-start{gap:var(--space-4);flex-direction:column;display:flex}.study-start__body{color:var(--text-secondary);font-size:var(--ui-sm);line-height:var(--ui-sm-lh)}.study-start__list{gap:var(--space-1);flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.dash-grid{--dashboard-gap:var(--space-5);width:100%;position:relative}@media (width<=1023.98px){.dash-grid{--dashboard-gap:var(--space-4)}}.dash-grid__cell{translate:0 var(--cell-shift,0px);transition:transform var(--motion-base) var(--ease-spring), translate var(--motion-base) var(--ease-spring), opacity var(--motion-base) var(--ease-ui), width var(--motion-base) var(--ease-spring);position:absolute;top:0;left:0}.dash-grid__cell[data-shifted]{opacity:0}.dash-grid__cell:not([data-settled]){transition:none}.dash-grid__cell[data-enter]>*{animation:rise-in var(--motion-base) var(--ease-ui) backwards;animation-delay:calc(var(--enter-i,0) * var(--motion-fast) / 3)}.dash-grid__cell[data-landed]>*{transform-origin:bottom;animation:dash-cell-land var(--motion-base) var(--ease-spring)}@keyframes dash-cell-land{0%{transform:translateY(0)}22%{transform:translateY(2px)scaleY(.98)}60%{transform:translateY(-8px)}to{transform:translateY(0)}}.dash-grid__cell[data-dragging]{visibility:hidden;transition:none}.dash-grid__overlay{background:var(--bg-page);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);cursor:grabbing;transform-origin:50%;animation:dash-overlay-lift var(--motion-base) var(--ease-ui);transition:opacity var(--motion-fast) var(--ease-ui);overflow:hidden;transform:scale(.8)}.dash-grid__overlay[data-hidden]{opacity:0}@keyframes dash-overlay-lift{0%{transform:scale(1)}to{transform:scale(.8)}}:is(.dash-grid__cell:has(.study-scope__panel),.dash-grid__cell:has(.decks-widget__add-panel)){z-index:3}.dash-grid__ghost{z-index:1;border:1px dashed var(--accent-border-strong);border-radius:var(--radius-2xl);background:var(--accent-tint);pointer-events:none;transition:transform var(--motion-base) var(--ease-spring), width var(--motion-base) var(--ease-spring), height var(--motion-base) var(--ease-spring);position:absolute;top:0;left:0}@media (width<=1023.98px){.dash-grid__ghost{border-radius:var(--radius-xl)}}.widget-thumb{--thumb-scale:.3;border:1px dashed var(--border-default);border-radius:var(--radius-sm);background:var(--bg-page);pointer-events:none;-webkit-user-select:none;user-select:none;height:68px;position:relative;overflow:hidden}.widget-thumb__inner{width:calc(100% / var(--thumb-scale));transform:scale(var(--thumb-scale));transform-origin:0 0;position:absolute;top:0;left:0}.widget-library--mobile .widget-thumb{--thumb-scale:.44;height:104px}.widget-library--desktop .widget-thumb{--thumb-scale:.36;height:88px}.strip{gap:var(--space-3);flex-direction:column;display:flex}.strip__grid{gap:var(--space-2);grid-template-columns:repeat(7,1fr);margin:0;padding:0;list-style:none;display:grid}.strip__cell{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--heat-0);min-height:18px;box-shadow:inset 0 0 0 1px var(--border-subtle)}.strip__cell--l1{background:var(--heat-1);box-shadow:none}.strip__cell--l2{background:var(--heat-2);box-shadow:none}.strip__cell--l3{background:var(--heat-3);box-shadow:none}.strip__cell--l4{background:var(--heat-4);box-shadow:none}.strip__cell--today{box-shadow:inset 0 0 0 1.5px var(--accent-border-strong)}.strip__caption{justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0;display:flex}.strip__streak{color:var(--accent)}.widget{gap:var(--space-4);flex-direction:column;display:flex;position:relative}.widget--card{padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);background:var(--bg-card)}@media (width<=1023.98px){.widget--card{padding:var(--space-4);border-radius:var(--radius-xl)}}.widget--bare[data-editing]{outline:1px dashed var(--border-default);border-radius:var(--radius-2xl)}.widget--bare[data-editing] .widget__head{padding:var(--space-5) var(--space-5) 0}@media (width<=1023.98px){.widget--bare[data-editing] .widget__head{padding:var(--space-4) var(--space-4) 0}}.widget__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-height:var(--space-5);display:flex;position:relative}.widget__title{font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.12em;text-transform:uppercase;font-weight:var(--w-regular);color:var(--text-secondary);margin:0}.widget--bare:not([data-editing]) .widget__title{font-family:var(--font-ui);font-size:var(--ui-lg);line-height:var(--ui-lg-lh);letter-spacing:normal;text-transform:none;font-weight:var(--w-semibold);color:var(--text-primary)}.widget__body{min-width:0}.widget__tools{align-items:center;gap:var(--space-1);display:flex}.widget__tool{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-ui), background var(--motion-fast) var(--ease-ui);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}@media (hover:hover){.widget__tool:hover{color:var(--text-primary);background:var(--bg-hover)}}.widget__grab{width:33.3%;height:var(--control-sm);cursor:grab;touch-action:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.widget__grab:active{cursor:grabbing}.widget__grab-bar{width:100%;height:var(--space-1);border-radius:var(--radius-pill);background:var(--border-default);transition:background var(--motion-fast) var(--ease-ui), opacity var(--motion-fast) var(--ease-ui)}.widget__grab:focus-visible{box-shadow:none;outline:none}.widget__grab:focus-visible .widget__grab-bar{background:var(--accent);box-shadow:var(--focus-ring);opacity:1}@media (hover:hover){.widget__grab-bar,.widget__edge-grip{opacity:0}.widget:hover .widget__grab-bar,.widget:hover .widget__edge-grip{opacity:1}.widget__grab:hover .widget__grab-bar{background:var(--border-strong)}}.widget__edge{top:var(--space-4);bottom:var(--space-4);width:var(--space-4);cursor:ew-resize;touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute;right:0}.widget__edge-grip{width:2px;height:max(33.3%, min(80%, calc(var(--dash-cell-w,240px) * .8)));border-radius:var(--radius-pill);background:var(--border-default);transition:background var(--motion-fast) var(--ease-ui), opacity var(--motion-fast) var(--ease-ui)}@media (hover:hover){.widget__edge:hover .widget__edge-grip{background:var(--accent)}}.widget__edge:focus-visible{outline:none}.widget__edge:focus-visible .widget__edge-grip{background:var(--accent);width:3px;box-shadow:var(--focus-ring);opacity:1}.widget__span-badge{top:calc(var(--space-6) * -1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);white-space:nowrap;position:absolute;right:0}.deck-tile{gap:var(--space-3);height:100%;padding:var(--space-4) var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-card);color:inherit;transition:border-color var(--motion-fast) var(--ease-ui), background var(--motion-fast) var(--ease-ui), transform var(--motion-fast) var(--ease-ui);flex-direction:column;display:flex;position:relative}@media (hover:hover){.deck-tile:hover{border-color:var(--border-emphasis);background:var(--bg-elevated);transform:translateY(-2px)}}.deck-tile:has(:active){border-color:var(--border-emphasis);background:var(--bg-elevated)}.deck-tile--beyondLimit{border-color:var(--warning-border)}@media (hover:hover){.deck-tile--beyondLimit:hover{border-color:var(--warning)}}.deck-tile__top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.deck-tile__metric{align-items:flex-end;gap:var(--space-1);min-width:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.08em;text-transform:uppercase;text-align:right;flex-direction:column;display:flex}.deck-tile__metric>span:last-child{min-height:calc(var(--ui-xs-lh) * 2)}.deck-tile__metric strong{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--card-sm);line-height:1;font-weight:var(--w-bold);letter-spacing:normal}.deck-tile__metric--accent strong{color:var(--accent)}.deck-tile__metric--quiet strong{font-size:var(--ui-sm);font-weight:var(--w-semibold);white-space:nowrap}.deck-tile__metric--warning,.deck-tile__metric-icon{color:var(--warning)}.deck-tile__body{justify-content:space-between;align-items:flex-end;gap:var(--space-2);min-width:0;display:flex}.deck-tile__identity{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.deck-tile__primary{color:inherit;font:inherit;font-size:var(--ui-base);line-height:var(--ui-base-lh);font-weight:var(--w-semibold);text-align:left;overflow-wrap:break-word;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.deck-tile__primary:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}@media (hover:hover){.deck-tile__primary:hover{text-decoration:none}}.deck-tile__primary:focus-visible{box-shadow:none}.deck-tile__primary:focus-visible:after{box-shadow:var(--focus-ring)}.deck-tile__meta{color:var(--text-secondary);font-size:var(--ui-sm);line-height:var(--ui-sm-lh)}.deck-tile__manage{color:var(--text-muted);flex-shrink:0;text-decoration:none;position:relative}@media (hover:hover){.deck-tile__manage:hover{color:var(--text-primary);text-decoration:none}}@media (width<=767.98px){.deck-tile{gap:var(--space-2);padding:var(--space-3)}.deck-tile .deck-ring{--deck-ring-size:44px}.deck-tile__top{gap:var(--space-2)}.deck-tile__metric strong{font-size:var(--ui-lg)}.deck-tile__metric--quiet strong{font-size:var(--ui-sm)}.deck-tile__primary{font-size:var(--ui-sm);line-height:var(--ui-sm-lh)}.deck-tile__meta{font-size:var(--ui-xs);line-height:var(--ui-xs-lh)}}.decks-widget__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width<=1023.98px){.decks-widget__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.decks-widget__actions{align-items:center;gap:var(--space-2);display:flex}.decks-widget__actions .btn[aria-expanded=true]{background:var(--bg-pressed);border-color:var(--border-emphasis)}.decks-widget__rows-edge{left:var(--space-4);right:var(--space-4);height:var(--space-4);cursor:ns-resize;touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0}.decks-widget__rows-grip{width:max(33.3%, min(80%, calc(var(--dash-cell-w,240px) * .8)));border-radius:var(--radius-pill);background:var(--border-default);height:2px;transition:background var(--motion-fast) var(--ease-ui), opacity var(--motion-fast) var(--ease-ui)}@media (hover:hover){.decks-widget__rows-grip{opacity:0}.widget:hover .decks-widget__rows-grip{opacity:1}.decks-widget__rows-edge:hover .decks-widget__rows-grip{background:var(--accent)}}.decks-widget__sortable{touch-action:none;position:relative}.decks-widget__sortable[data-dragging]{z-index:2;opacity:.85}.decks-widget__remove{top:var(--space-2);right:var(--space-2);z-index:1;width:var(--space-6);height:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-ui), border-color var(--motion-fast) var(--ease-ui);justify-content:center;align-items:center;padding:0;display:flex;position:absolute}@media (hover:hover){.decks-widget__remove:hover{color:var(--text-primary);border-color:var(--border-strong)}}.decks-widget__add-cell{display:flex}.decks-widget__add{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.decks-widget__add-tile{min-height:96px;padding:var(--space-3);border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;display:flex}.decks-widget__add-badge{width:var(--space-12);height:var(--space-12);border:1.5px dashed var(--border-strong);border-radius:var(--radius-pill);color:var(--text-secondary);transition:color var(--motion-fast) var(--ease-ui), border-color var(--motion-fast) var(--ease-ui);place-items:center;display:grid}@media (hover:hover){.decks-widget__add-tile:hover .decks-widget__add-badge{color:var(--accent);border-color:var(--accent-border-strong)}}.decks-widget__add-panel{margin-top:var(--space-2);z-index:var(--z-overlay);min-width:200px;max-height:240px;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.decks-widget__add-option{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);text-align:left;cursor:pointer;background:0 0;border:none}@media (hover:hover){.decks-widget__add-option:hover{background:var(--bg-hover)}}.decks-widget__toggle{margin-top:var(--space-3);color:var(--text-secondary);font:inherit;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}@media (hover:hover){.decks-widget__toggle:hover{color:var(--text-primary);text-decoration:underline}}.decks-widget__empty{color:var(--text-secondary);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);margin:0}.deck-strip{--deck-strip-slide:min(calc(.78 * (100vw - 2 * var(--space-5))), 300px)}.deck-strip__track{align-items:stretch;gap:var(--space-3);padding:2px var(--space-5);scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-5);overscroll-behavior-x:contain;scroll-behavior:smooth;--deck-strip-fade:var(--space-5);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--deck-strip-fade), #000 calc(100% - var(--deck-strip-fade)), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--deck-strip-fade), #000 calc(100% - var(--deck-strip-fade)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--deck-strip-fade), #000 calc(100% - var(--deck-strip-fade)), transparent 100%);margin:0;list-style:none;display:flex;overflow-x:auto}@media (prefers-reduced-motion:reduce){.deck-strip__track{scroll-behavior:auto}}.deck-strip__slide{scroll-snap-align:start;flex:none;width:min(78%,300px)}.deck-strip__slide>*{height:100%}@media (width<=1023.98px){.deck-strip{margin-inline:calc(-1 * var(--space-5))}.deck-strip__track{padding-inline:calc((100vw - var(--deck-strip-slide)) / 2);scroll-padding-inline:0}.deck-strip__slide{width:var(--deck-strip-slide);scroll-snap-align:center}}.deck-strip__count{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}@media (hover:hover){.deck-strip__count:hover{color:var(--text-secondary)}}.deck-strip__add{justify-content:center;align-items:flex-start;gap:var(--space-2);width:100%;height:100%;min-height:100%;padding:var(--space-4) var(--space-5);border:1px dashed var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);font-weight:var(--w-semibold);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-ui), color var(--motion-fast) var(--ease-ui);background:0 0;flex-direction:column;display:flex}@media (hover:hover){.deck-strip__add:hover{border-color:var(--border-emphasis);color:var(--text-primary)}}.deck-strip__add:active{border-color:var(--border-emphasis);color:var(--text-primary)}.deck-strip__add-icon{width:var(--control-md);height:var(--control-md);border:1px dashed var(--border-emphasis);border-radius:var(--radius-pill);color:var(--text-secondary);place-items:center;display:grid}@media (width<=767.98px){.deck-strip__add{padding:var(--space-3)}}.memory__headline{align-items:baseline;gap:var(--space-2);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0;display:flex}.memory__value{font-size:var(--ui-md);line-height:var(--ui-md-lh);font-weight:var(--w-bold);color:var(--text-primary);font-variant-numeric:tabular-nums}.memory__label{min-width:0}.memory__meta{margin:var(--space-2) 0 0;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary)}.plan{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan__step{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0 var(--space-2) var(--space-6);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);display:flex;position:relative}.plan__step:before{content:"";left:0;top:calc(var(--space-2) + 6px);border:1.5px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-card);width:9px;height:9px;position:absolute}.plan__step:not(:last-child):after{content:"";left:4px;top:calc(var(--space-2) + 15px);bottom:calc(var(--space-2) * -1 + 2px);background:var(--border-subtle);width:1px;position:absolute}.plan__step--now:before{border-color:var(--accent);background:var(--accent)}.plan__when{font-weight:var(--w-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.plan__what{min-width:0;color:var(--text-secondary)}.plan__what strong{color:var(--accent);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums}.plan__step--closing .plan__when{color:var(--text-secondary);font-weight:var(--w-medium)}.study-scope{justify-content:center;align-items:center;gap:var(--space-3);flex:auto;min-width:0;display:flex;position:relative}.study-scope__anchor{z-index:calc(var(--z-overlay) + 1);isolation:isolate;display:inline-flex;position:relative}.study-scope__trigger{align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);font:inherit;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);white-space:nowrap;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-ui), color var(--motion-fast) var(--ease-ui);background:0 0;flex:none;display:inline-flex}.study-scope__trigger--open{z-index:calc(var(--z-overlay) + 1);border-color:var(--info-border-strong);color:var(--info);position:relative}@media (hover:hover){.study-scope__trigger:hover:not(.study-scope__trigger--open){border-color:var(--accent-border-strong);color:var(--accent);border-style:solid}}.study-scope__panel{z-index:var(--z-overlay);animation:scope-unfurl var(--motion-base) var(--ease-ui);gap:var(--space-3);width:320px;max-width:calc(100vw - var(--space-8));transform:translate(calc(var(--panel-shift-x,0px) - 50%), var(--panel-shift-y,0));max-height:min(var(--panel-max-block,9999px), var(--panel-floor-cap,9999px));padding:var(--space-4);padding-top:calc(var(--control-md) + var(--space-3));flex-direction:column;padding-bottom:0;display:flex;position:absolute;top:0;left:50%;overflow:hidden}.study-scope__panel:focus-visible{box-shadow:none;outline:none}@keyframes scope-unfurl{0%{clip-path:inset(-48px -48px 100%)}to{clip-path:inset(-48px)}}.study-scope__panel-head{gap:var(--space-1);flex-direction:column;display:flex}.study-scope__panel-head p{color:var(--text-secondary);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);margin:0}.study-scope__list{--list-fade:56px;gap:var(--space-1);min-height:0;max-height:320px;padding:var(--space-2) 0 var(--list-fade);border-top:1px solid var(--border-subtle);-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--list-fade)), transparent);mask-image:linear-gradient(to bottom, #000 calc(100% - var(--list-fade)), transparent);flex-direction:column;margin:0;list-style:none;display:flex;overflow-y:auto}@media (width>=1024px){.study-scope{display:none}}@media (width<=767.98px){.study-scope,.study-scope__panel{width:100%}}.day-ring{--day-ring-size:200px;width:var(--day-ring-size);height:var(--day-ring-size);flex:0 0 var(--day-ring-size);place-items:center;display:grid;position:relative}.day-ring__svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.day-ring__track,.day-ring__arc{fill:none;stroke-width:6px}.day-ring__track{stroke:var(--border-subtle)}.day-ring__arc{stroke:var(--accent);stroke-linecap:round;filter:drop-shadow(var(--glow-accent));transition:stroke-dashoffset var(--motion-slow) var(--ease-spring)}.day-ring__center{align-items:center;gap:var(--space-1);flex-direction:column;display:flex;position:absolute}.day-ring__value{font-size:var(--card-xl);line-height:var(--card-lh-tight);font-weight:var(--w-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.day-ring__label{font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}@media (width<=1023.98px){.day-ring{--day-ring-size:clamp(120px, 26svh, 176px)}}.review-cta{justify-content:center;align-items:center;gap:var(--space-3);width:100%;height:var(--control-lg);padding:0 var(--space-5);border-radius:var(--radius-lg);font-family:var(--font-ui);cursor:pointer;transition:background var(--motion-fast) var(--ease-ui), color var(--motion-fast) var(--ease-ui), transform var(--motion-fast) var(--ease-ui);border:none;display:flex}.review-cta:active:not(:disabled){transform:scale(.97)}.review-cta:focus-visible{box-shadow:var(--focus-ring);outline:none}.review-cta--review{background:var(--accent);color:var(--text-on-accent)}.review-cta--polish{background:var(--info);color:var(--text-on-accent)}@media (hover:hover){.review-cta--review:hover:not(:disabled){background:var(--accent-hover)}.review-cta--polish:hover:not(:disabled){background:var(--info-hover)}}.review-cta--review:active:not(:disabled){background:var(--accent-active)}.review-cta--polish:active:not(:disabled){background:var(--info-active)}.review-cta:disabled{background:var(--bg-elevated);color:var(--text-muted);cursor:default}.review-cta__title{font-size:var(--ui-md);line-height:var(--ui-md-lh);font-weight:var(--w-semibold)}.review-cta__deck{align-items:center;gap:var(--space-2);min-width:0;max-width:100%;display:flex}.review-cta__name{min-width:0;font-size:var(--ui-md);line-height:var(--ui-md-lh);font-weight:var(--w-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-cta__time{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.ring-widget{align-items:center;gap:var(--space-8);display:flex}.ring-widget__facts{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ring-widget__fact{font-size:var(--ui-base);line-height:var(--ui-base-lh);color:var(--text-secondary);margin:0}.ring-widget__fact strong{color:var(--text-primary);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums}.ring-widget__fact--quiet{font-size:var(--ui-sm);line-height:var(--ui-sm-lh)}.ring-widget__breakdown{gap:var(--space-4);width:100%;min-width:0;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.ring-widget__deck{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.ring-widget__deck-name{text-overflow:clip;white-space:nowrap;overflow:hidden}.ring-widget__breakdown strong{color:var(--accent);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;flex-shrink:0}.ring-widget__cta{align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.ring-widget__note{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0}.ring-widget__when{isolation:isolate;font-weight:var(--w-semibold);color:var(--text-primary);position:relative}@media (width<=1023.98px){.ring-widget{gap:var(--space-5);flex-direction:column}.ring-widget__facts{text-align:center;align-items:center;width:100%}.ring-widget__cta{flex-wrap:wrap;justify-content:center;width:100%}.ring-widget__cta>.btn{min-height:var(--control-lg);flex:1 0 100%}.ring-widget__cta>.study-scope{flex:0 auto;justify-content:center}.ring-widget__breakdown{display:none}}.upcoming{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.upcoming__caption{margin:0 0 var(--space-1);font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.upcoming__row{align-items:baseline;gap:var(--space-2) var(--space-3);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);grid-template-columns:auto 1fr auto;display:grid}.upcoming__when{font-weight:var(--w-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.upcoming__deck{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere}.upcoming__count{color:var(--accent);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;justify-self:end}.upcoming__empty{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0}.widget-library{gap:var(--space-3);flex-direction:column;display:flex}.widget-library--desktop{flex:1;min-height:0;overflow-y:auto}.widget-library--desktop .widget-library__head{justify-content:center}.widget-library--mobile{z-index:var(--z-overlay);padding:var(--space-5) var(--space-5) calc(var(--space-16) + env(safe-area-inset-bottom,0px));background:var(--bg-page);position:fixed;inset:0;overflow-y:auto}.widget-library__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.widget-library__head h2{font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.12em;text-transform:uppercase;font-weight:var(--w-regular);color:var(--text-secondary);margin:0}.widget-library--mobile .widget-library__head h2{font-family:var(--font-ui);font-size:var(--ui-lg);line-height:var(--ui-lg-lh);letter-spacing:normal;text-transform:none;font-weight:var(--w-semibold);color:var(--text-primary)}.widget-library__hint,.widget-library__empty{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0}.widget-library__section{gap:var(--space-3);flex-direction:column;display:flex}.widget-library__section-title{font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.12em;text-transform:uppercase;font-weight:var(--w-regular);color:var(--text-muted);margin:0}.widget-library__entry--compact{gap:0}.widget-library--desktop .widget-library__list:has(.widget-library__entry--compact){gap:var(--space-3)}.widget-library__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.widget-library__entry{gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);text-align:left;cursor:grab;touch-action:none;transition:border-color var(--motion-fast) var(--ease-ui), background var(--motion-fast) var(--ease-ui);flex-direction:column;display:flex;position:relative}.widget-library--desktop .widget-library__entry{background:0 0;border:none;padding:0}.widget-library--desktop .widget-library__list{gap:var(--space-5)}.widget-library__row{align-items:center;gap:var(--space-3);min-width:0;display:flex}.widget-library__primary{color:inherit;font:inherit;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);font-weight:var(--w-semibold);text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.widget-library__primary:after{content:"";border-radius:var(--radius-md);position:absolute;inset:0}.widget-library__primary:focus-visible{outline:none}.widget-library__primary:focus-visible:after{box-shadow:var(--focus-ring)}@media (hover:hover){.widget-library__entry:hover{border-color:var(--accent-border);background:var(--bg-hover)}}.widget-library__entry[data-dragging]{cursor:grabbing}.widget-library__entry[data-ghost]{outline:1px dashed var(--accent-border-strong);outline-offset:3px;border-radius:var(--radius-md);background:var(--accent-tint);animation:rise-in var(--motion-fast) var(--ease-ui)}.widget-library--mobile .widget-library__entry{min-height:var(--control-lg)}.widget-library__icon{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm);background:var(--accent-tint);color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.widget-library__body{flex-direction:column;gap:2px;min-width:0;display:flex}.widget-library__hint-line{font-size:var(--ui-xs);line-height:var(--ui-xs-lh);color:var(--text-secondary)}.widget-library__plus{color:var(--text-muted);flex-shrink:0;margin-left:auto}.canvas-widget{height:100%}.canvas-plain{gap:var(--space-8);flex-direction:column;width:100%;margin-block:auto;display:flex}.canvas-plain:has(.study-scope__panel){z-index:calc(var(--z-nav) + 1);position:relative}@media (width<=1023.98px){.canvas-plain{gap:var(--space-6)}}.canvas-customize{margin-top:var(--space-6);justify-content:center;display:flex}.canvas-add{right:var(--space-5);bottom:calc(var(--space-16) + var(--space-4) + env(safe-area-inset-bottom,0px));z-index:var(--z-nav);width:var(--control-lg);height:var(--control-lg);border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-md);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex;position:fixed}.canvas-add:active{background:var(--accent-active)}@media (width>=1024px){.canvas-add{display:none}}.deck-config{gap:var(--space-5);flex-direction:column;display:flex}.deck-config__row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.deck-config__check{align-items:flex-start;gap:var(--space-3);cursor:pointer;display:flex}.deck-config__check>span{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);flex-direction:column;gap:2px;display:flex}.deck-config__check-hint{color:var(--text-secondary)}.deck-config__areas{max-height:300px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);flex-direction:column;display:flex;overflow-y:auto}.deck-config__area{gap:var(--space-2);min-height:var(--space-12);flex-direction:column;display:flex}.deck-config__area-title{font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.12em;text-transform:uppercase;font-weight:var(--w-regular);color:var(--text-secondary);margin:0}.deck-config__area-split{border-top:1px solid var(--border-subtle);margin:var(--space-3) 0}.deck-config__area-empty{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0}.deck-config__area-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.deck-config__area-item{display:flex}.deck-config__area-item[data-dragging]{opacity:.5;z-index:1;position:relative}.deck-config__deck-row{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);text-align:left;cursor:grab;touch-action:none;background:0 0;border:none;flex:1;display:flex}@media (hover:hover){.deck-config__deck-row:hover{background:var(--bg-hover)}}.deck-config__deck-row .deck-ring{--deck-ring-gap:var(--bg-elevated)}.deck-config__preview{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}.deck-config__preview h3{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--ui-xs);line-height:var(--ui-xs-lh);letter-spacing:.12em;text-transform:uppercase;font-weight:var(--w-regular);color:var(--text-secondary)}.deck-config__preview ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.deck-config__preview li{align-items:center;gap:var(--space-3);font-size:var(--ui-sm);line-height:var(--ui-sm-lh);display:flex}.deck-config__preview li .deck-ring{--deck-ring-gap:var(--bg-elevated)}.deck-config__preview-empty{font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0}.deck-config__actions{justify-content:flex-end;gap:var(--space-3);display:flex}.dashboard{gap:var(--space-8);width:100%;max-width:var(--content-max);flex-direction:column;flex:1;display:flex}.dashboard__header{animation:rise-in var(--motion-base) var(--ease-ui) backwards}.dashboard__topline{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin:0 0 var(--space-1);display:flex}.dashboard__headrow{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dashboard__date{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--ui-xs);letter-spacing:.12em;text-transform:uppercase}.dashboard__version{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--ui-xs);letter-spacing:.08em;white-space:nowrap}.dashboard__greeting{font-size:var(--ui-xl);line-height:var(--ui-xl-lh);font-weight:var(--w-semibold);margin:0}.dashboard__edit{flex-shrink:0}.dashboard__editbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-tint);display:flex}.dashboard__editbar-text{min-width:0;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);flex-direction:column;gap:2px;display:flex}.dashboard__editbar-text strong{color:var(--text-primary);font-weight:var(--w-semibold)}.dashboard__editbar-text span{color:var(--text-secondary)}.dashboard__editbar-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}@media (width<=1023.98px){.dashboard{gap:var(--space-6)}.dashboard__editbar{top:var(--space-2);z-index:var(--z-nav);flex-direction:column;align-items:stretch;position:sticky}.dashboard__editbar-actions>.btn{flex:1}}.dashboard__empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-16) var(--space-6);flex-direction:column;display:flex}.dashboard__empty-icon{width:var(--space-16);height:var(--space-16);border:1.5px dashed var(--accent-border-strong);border-radius:var(--radius-pill);color:var(--accent);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.dashboard__empty-title{font-size:var(--ui-lg);line-height:var(--ui-lg-lh);font-weight:var(--w-semibold);margin:0}.dashboard__empty-body{max-width:42ch;font-size:var(--ui-sm);line-height:var(--ui-sm-lh);color:var(--text-secondary);margin:0}
