@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg:#f6f2ed;--bg-elevated:#fbf8f4;--surface:#fff;--surface-2:#faf7f3;--surface-3:#f3eee7;--surface-4:#ebe4db;--line:#ebe5dd;--line-2:#d9d1c7;--line-3:#c9bfb3;--text:#28221d;--text-2:#665c53;--text-3:#776c62;--text-inverse:#fff;--inverse-bg:#28221d;--inverse-fg:#fff;--inverse-fg-2:#ffffffb8;--accent:#c2503a;--accent-strong:#a3412e;--accent-ink:#a3412e;--accent-soft:#fbece7;--accent-soft-2:#f6d9d0;--accent-ring:#c2503a3d;--on-accent:#fff;--info:#3b6ea5;--info-strong:#2d5680;--info-soft:#e9f0f8;--info-soft-2:#d6e3f2;--ok:#2f8a5b;--ok-strong:#23694a;--ok-soft:#e6f4ec;--ok-soft-2:#bfe3cd;--ok-ring:#2f8a5b38;--warn:#d1902b;--warn-strong:#8a5610;--warn-soft:#fcf1e0;--warn-soft-2:#f3d7a4;--danger:#c43d3d;--danger-strong:#9c2f2f;--danger-soft:#fdebeb;--danger-soft-2:#f5c2c2;--danger-ring:#c43d3d38;--plum:#7c5cad;--plum-strong:#5b3f8a;--plum-soft:#f3eef7;--plum-soft-2:#e4daf0;--glass-bg:#ffffffc7;--glass-line:#402c1c14;--glass-blur:20px;--scrim:#28221d52;--shimmer:#ffffffa6;--autofill-bg:#fdf6f1;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-22:22px;--fs-24:24px;--fs-28:28px;--fs-34:34px;--fs-40:40px;--fs-caption:var(--fs-12);--fs-meta:var(--fs-13);--fs-label:var(--fs-14);--fs-body:var(--fs-16);--fs-input:var(--fs-16);--fs-button:var(--fs-16);--fs-title-sm:var(--fs-18);--fs-title:var(--fs-22);--fs-title-lg:var(--fs-28);--fs-display:var(--fs-34);--lh-tight:1.2;--lh-snug:1.32;--lh-base:1.5;--lh-loose:1.6;--ls-display:-.026em;--ls-title:-.018em;--ls-body:-.004em;--ls-kicker:.06em;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--sp-0:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-14:56px;--sp-16:64px;--sp-20:80px;--gutter:var(--sp-4);--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:28px;--r-full:999px;--r-control:var(--r-md);--r-card:var(--r-lg);--shadow-1:0 1px 2px #402c1c0f, 0 1px 1px #402c1c08;--shadow-2:0 2px 6px #402c1c0f, 0 8px 24px #402c1c14;--shadow-3:0 4px 10px #402c1c14, 0 16px 40px #402c1c24;--shadow-nav:0 -1px 0 var(--line), 0 -8px 24px #402c1c0a;--shadow-float:0 6px 16px #402c1c1a, 0 18px 48px #402c1c24;--shadow-focus:0 0 0 3px var(--accent-ring);--shadow-danger:0 0 0 3px var(--danger-ring);--dur-1:.12s;--dur-2:.18s;--dur-3:.24s;--dur-4:.32s;--dur-5:.42s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-spring:cubic-bezier(.32, .72, 0, 1);--tap-min:44px;--control-h:52px;--control-h-md:44px;--control-h-sm:36px;--field-h:56px;--icon-sm:18px;--icon:22px;--icon-lg:28px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--topbar-h:56px;--nav-h:64px;--nav-float-gap:var(--sp-3);--rail-w:88px;--sidebar-w:264px;--content-max:720px;--content-wide:1180px;--auth-max:420px;--chat-side-w:380px;--z-topbar:30;--z-nav:40;--z-pop:90;--z-toast:100;--z-tip:110}@media (pointer:fine) and (min-width:1024px){:root{--control-h:44px;--control-h-md:40px;--control-h-sm:32px;--field-h:52px;--fs-body:var(--fs-15);--fs-button:var(--fs-15);--fs-display:var(--fs-40)}}@media (min-width:768px){:root{--gutter:var(--sp-6);--fs-title:var(--fs-24);--fs-title-lg:var(--fs-34)}}@media (min-width:1280px){:root{--gutter:var(--sp-8)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15110e;--bg-elevated:#1a1512;--surface:#1f1a16;--surface-2:#1b1713;--surface-3:#2a241f;--surface-4:#352e28;--line:#2f2823;--line-2:#433a33;--line-3:#564b42;--text:#f4eee7;--text-2:#c9bdb1;--text-3:#a6988b;--inverse-bg:#f4eee7;--inverse-fg:#1b1713;--inverse-fg-2:#1b1713b3;--accent:#c2503a;--accent-strong:#a3412e;--accent-ink:#ee8d76;--accent-soft:#35231d;--accent-soft-2:#4c2e25;--accent-ring:#ee8d7652;--info:#6b9bd1;--info-strong:#a3c4ec;--info-soft:#1b2633;--info-soft-2:#273749;--ok:#4fb382;--ok-strong:#92d8b2;--ok-soft:#16291f;--ok-soft-2:#22402f;--ok-ring:#4fb3824d;--warn:#e0a64a;--warn-strong:#f1c98a;--warn-soft:#302516;--warn-soft-2:#4a3a20;--danger:#e06a6a;--danger-strong:#f5a8a8;--danger-soft:#361c1c;--danger-soft-2:#552a2a;--danger-ring:#e06a6a52;--plum:#a487d4;--plum-strong:#cdb9ee;--plum-soft:#261f31;--plum-soft-2:#382d49;--glass-bg:#1f1a16c2;--glass-line:#fff0e112;--scrim:#00000080;--shimmer:#fff0e112;--autofill-bg:#2a211c;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 6px #0000004d, 0 8px 24px #00000059;--shadow-3:0 4px 10px #00000059, 0 16px 40px #00000080;--shadow-nav:0 -1px 0 var(--line), 0 -8px 24px #0000004d;--shadow-float:0 6px 16px #00000059, 0 18px 48px #00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15110e;--bg-elevated:#1a1512;--surface:#1f1a16;--surface-2:#1b1713;--surface-3:#2a241f;--surface-4:#352e28;--line:#2f2823;--line-2:#433a33;--line-3:#564b42;--text:#f4eee7;--text-2:#c9bdb1;--text-3:#a6988b;--inverse-bg:#f4eee7;--inverse-fg:#1b1713;--inverse-fg-2:#1b1713b3;--accent:#c2503a;--accent-strong:#a3412e;--accent-ink:#ee8d76;--accent-soft:#35231d;--accent-soft-2:#4c2e25;--accent-ring:#ee8d7652;--info:#6b9bd1;--info-strong:#a3c4ec;--info-soft:#1b2633;--info-soft-2:#273749;--ok:#4fb382;--ok-strong:#92d8b2;--ok-soft:#16291f;--ok-soft-2:#22402f;--ok-ring:#4fb3824d;--warn:#e0a64a;--warn-strong:#f1c98a;--warn-soft:#302516;--warn-soft-2:#4a3a20;--danger:#e06a6a;--danger-strong:#f5a8a8;--danger-soft:#361c1c;--danger-soft-2:#552a2a;--danger-ring:#e06a6a52;--plum:#a487d4;--plum-strong:#cdb9ee;--plum-soft:#261f31;--plum-soft-2:#382d49;--glass-bg:#1f1a16c2;--glass-line:#fff0e112;--scrim:#00000080;--shimmer:#fff0e112;--autofill-bg:#2a211c;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 6px #0000004d, 0 8px 24px #00000059;--shadow-3:0 4px 10px #00000059, 0 16px 40px #00000080;--shadow-nav:0 -1px 0 var(--line), 0 -8px 24px #0000004d;--shadow-float:0 6px 16px #00000059, 0 18px 48px #00000080}:root[data-palette=salvia]{--accent:#3f7a5e;--accent-strong:#31614a;--accent-ink:#2f5e47;--accent-soft:#e8f2ec;--accent-soft-2:#cfe4d8;--accent-ring:#3f7a5e3d}:root[data-palette=ciruela]{--accent:#8a4a7d;--accent-strong:#703c65;--accent-ink:#7a3f6e;--accent-soft:#f6ecf3;--accent-soft-2:#ecd6e6;--accent-ring:#8a4a7d3d}@media (prefers-color-scheme:dark){:root[data-palette=salvia]:not([data-theme=light]){--accent-ink:#93cfae;--accent-soft:#1b2b23;--accent-soft-2:#263d31;--accent-ring:#93cfae4d}:root[data-palette=ciruela]:not([data-theme=light]){--accent-ink:#e2a9d5;--accent-soft:#301e2c;--accent-soft-2:#472b40;--accent-ring:#e2a9d54d}}:root[data-palette=salvia][data-theme=dark]{--accent-ink:#93cfae;--accent-soft:#1b2b23;--accent-soft-2:#263d31;--accent-ring:#93cfae4d}:root[data-palette=ciruela][data-theme=dark]{--accent-ink:#e2a9d5;--accent-soft:#301e2c;--accent-soft-2:#472b40;--accent-ring:#e2a9d54d}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--bg);scroll-padding-top:calc(var(--topbar-h) + var(--safe-top))}body{min-width:360px;min-height:100vh;background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--w-regular);line-height:var(--lh-base);letter-spacing:var(--ls-body);font-feature-settings:"tnum", "cv11", "ss01";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior-y:none;margin:0}h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{font-weight:var(--w-semibold);line-height:var(--lh-tight);letter-spacing:var(--ls-title);text-wrap:balance}p{text-wrap:pretty}img,svg,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:default}a{color:var(--accent-ink);text-underline-offset:3px;touch-action:manipulation;text-decoration:none}a:hover{text-decoration:underline}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--accent-soft-2);color:var(--text)}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.kicker{font-size:var(--fs-caption);font-weight:var(--w-semibold);letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--text-3)}.text-muted{color:var(--text-2)}.text-soft{color:var(--text-3)}.mono{font-family:var(--font-mono)}.skip-link{top:calc(var(--safe-top) + var(--sp-2));left:var(--sp-2);z-index:var(--z-toast);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-full);background:var(--inverse-bg);color:var(--inverse-fg);transition:transform var(--dur-2) var(--ease-out);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}@media (pointer:fine){::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:var(--r-full);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:var(--line-3)}::-webkit-scrollbar-track{background:0 0}}@keyframes rt-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes rt-rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes rt-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rt-leave{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes rt-pop-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rt-pop-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes rt-view-in-forward{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes rt-view-out-forward{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-24px)}}@keyframes rt-view-in-back{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes rt-view-out-back{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes rt-view-in-fade{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rt-view-out-fade{0%{opacity:1}to{opacity:0}}@keyframes rt-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes rt-pop-scale{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes rt-scale-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes rt-draw{to{stroke-dashoffset:0}}@keyframes rt-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes rt-breathe{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes rt-avatar-pulse{0%{box-shadow:0 0 0 0 var(--accent-ring)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@keyframes rt-ripple{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes rt-caret{0%,45%{opacity:1}55%,to{opacity:0}}@keyframes rt-spin{to{transform:rotate(360deg)}}@keyframes rt-toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rt-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.fade-in{animation:rt-fade-in var(--dur-2) var(--ease-out) both}.rise-in{animation:rt-rise-in var(--dur-3) var(--ease-out) both}.enter{animation:rt-enter var(--dur-4) var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}.leave{animation:rt-leave var(--dur-2) var(--ease-in-out) forwards;pointer-events:none}.pop-in{animation:rt-pop-in var(--dur-3) var(--ease-bounce) both}.pop-out{animation:rt-pop-out var(--dur-2) var(--ease-in-out) forwards;pointer-events:none}.scale-in{animation:rt-scale-in var(--dur-4) var(--ease-bounce) both}.shake{animation:rt-shake var(--dur-4) var(--ease-out)}.pop-scale{animation:rt-pop-scale var(--dur-3) var(--ease-bounce)}.copied{color:var(--ok-strong);animation:rt-pop-scale var(--dur-3) var(--ease-bounce)}.check-draw path,.check-draw polyline{stroke-dasharray:1;stroke-dashoffset:1px;animation:rt-draw var(--dur-4) var(--ease-out) forwards}.view-enter-forward{animation:rt-view-in-forward var(--dur-4) var(--ease-out) both}.view-leave-forward{animation:rt-view-out-forward var(--dur-2) var(--ease-in-out) both}.view-enter-back{animation:rt-view-in-back var(--dur-4) var(--ease-out) both}.view-leave-back{animation:rt-view-out-back var(--dur-2) var(--ease-in-out) both}.view-enter-fade{animation:rt-view-in-fade var(--dur-4) var(--ease-out) both;animation-delay:40ms}.view-leave-fade{animation:rt-view-out-fade var(--dur-2) var(--ease-in-out) both}.view-leave-forward,.view-leave-back,.view-leave-fade{pointer-events:none}.skeleton{background:var(--surface-3);border-radius:var(--r-sm);color:#0000;pointer-events:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--shimmer) 50%, transparent 100%);animation:rt-shimmer 1.4s var(--ease-in-out) infinite;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{border-radius:var(--r-full);height:12px}.skeleton-line-short{width:55%}.skeleton-circle{border-radius:var(--r-full);flex:none;width:40px;height:40px}.typing{align-items:center;gap:var(--sp-1);height:20px;padding:0 var(--sp-0);color:var(--text-3);display:inline-flex}.typing-dot{border-radius:var(--r-full);width:7px;height:7px;animation:rt-breathe 1.2s var(--ease-in-out) infinite;background:currentColor;display:inline-block}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}.avatar-thinking{animation:rt-avatar-pulse 1.8s var(--ease-out) infinite}.avatar-listening{animation:rt-avatar-pulse 1.1s var(--ease-in-out) infinite}.spin{animation:.8s linear infinite rt-spin}.btn,.icon-btn,.chip,.nav-item,.choice-card,.segmented-option,.swatch,.suggestion,.list-row{transition:background-color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out), opacity var(--dur-1) var(--ease-out)}.btn:active,.icon-btn:active,.chip:active,.choice-card:active,.segmented-option:active,.swatch:active,.suggestion:active,.pressable:active{transform:scale(.97)}.nav-item:active .nav-icon{transform:scale(.9)}.theme-transition,.theme-transition *,.theme-transition :before,.theme-transition :after{transition:background-color var(--dur-4) var(--ease-in-out), border-color var(--dur-4) var(--ease-in-out), color var(--dur-4) var(--ease-in-out), fill var(--dur-4) var(--ease-in-out), box-shadow var(--dur-4) var(--ease-in-out)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.skeleton:after{display:none}.typing-dot{opacity:.6;transform:none}.spin{animation-duration:1.2s!important;animation-iteration-count:infinite!important}}.icon{flex:none}.btn{min-height:var(--control-h);padding:0 var(--sp-5);border-radius:var(--r-control);font-size:var(--fs-button);font-weight:var(--w-semibold);letter-spacing:var(--ls-body);white-space:nowrap;-webkit-user-select:none;user-select:none;isolation:isolate;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn-content,.btn-done{justify-content:center;align-items:center;gap:var(--sp-2);transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-out);display:inline-flex}.btn-done{opacity:0;position:absolute;inset:0;transform:translateY(8px)}.btn-done .icon{width:22px;height:22px}.btn-spinner{border-radius:var(--r-full);opacity:0;width:20px;height:20px;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);border:2px solid;border-right-color:#0000;margin:-10px 0 0 -10px;position:absolute;top:50%;left:50%;transform:scale(.6)}.btn[data-state=loading]{cursor:progress}.btn[data-state=loading] .btn-content{opacity:0;transform:scale(.94)}.btn[data-state=loading] .btn-spinner{opacity:1;animation:.8s linear infinite rt-spin;transform:scale(1)}.btn[data-state=success] .btn-content{opacity:0;transform:translateY(-8px)}.btn[data-state=success] .btn-done{opacity:1;transform:translateY(0)}.btn--primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.btn--primary:hover:not(:disabled){background:var(--accent-strong)}.btn--primary[data-state=success]{background:var(--ok)}.btn--secondary{background:var(--surface);border-color:var(--line-2);color:var(--text);box-shadow:var(--shadow-1)}.btn--secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-3)}.btn--ghost{color:var(--text);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--surface-3)}.btn--soft{background:var(--accent-soft);color:var(--accent-ink)}.btn--soft:hover:not(:disabled){background:var(--accent-soft-2)}.btn--ink{background:var(--inverse-bg);color:var(--inverse-fg)}.btn--danger{background:var(--danger);color:var(--text-inverse)}.btn--danger:hover:not(:disabled){background:var(--danger-strong)}.btn--danger-soft{background:var(--danger-soft);color:var(--danger-strong)}.btn--sm{min-height:var(--control-h-sm);padding:0 var(--sp-3);font-size:var(--fs-label);border-radius:var(--r-sm)}.btn--lg{min-height:calc(var(--control-h) + var(--sp-2));padding:0 var(--sp-6);font-size:var(--fs-16);border-radius:var(--r-lg)}.btn--block{width:100%;display:flex}.btn--icon-only{width:var(--control-h);padding:0}.btn:disabled:not([data-state]){opacity:.45;box-shadow:none}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.icon-btn{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-full);color:var(--text-2);place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn--sm{width:var(--control-h-sm);height:var(--control-h-sm)}.icon-btn--surface{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1)}.icon-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.icon-btn{-webkit-touch-callout:none}.tip{z-index:var(--z-tip);max-width:min(280px, calc(100vw - var(--sp-4)));padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);background:var(--text);color:var(--surface);box-shadow:var(--shadow-2);font-size:var(--fs-13);font-weight:var(--w-medium);line-height:var(--lh-snug);text-align:center;pointer-events:none;opacity:0;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);position:fixed;top:0;left:0;transform:translateY(-4px)}.tip[data-side=top]{transform:translateY(4px)}.tip.is-visible{opacity:1;transform:translateY(0)}.link-btn{min-height:var(--tap-min);color:var(--accent-ink);font-weight:var(--w-semibold);font-size:var(--fs-label);align-items:center;display:inline-flex}.link-btn:hover{text-decoration:underline}.field{gap:var(--sp-1);display:grid}.field-control{min-height:var(--field-h);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-control);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);align-items:center;display:flex;position:relative}.field-control:hover{border-color:var(--line-3)}.field-control:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus)}.field-input{min-width:0;height:var(--field-h);padding:var(--sp-5) var(--sp-4) var(--sp-1);border-radius:var(--r-control);font-size:var(--fs-input);color:var(--text);caret-color:var(--accent);background:0 0;border:0;flex:1}textarea.field-input{height:auto;min-height:96px;padding-top:var(--sp-6);resize:none;line-height:var(--lh-base)}.field-input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 100px var(--autofill-bg) inset}.field-control--icon .field-input{padding-left:calc(var(--sp-4) + var(--icon) + var(--sp-2))}.field-icon{left:var(--sp-4);color:var(--text-3);transition:color var(--dur-2) var(--ease-out);pointer-events:none;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.field-control:focus-within .field-icon{color:var(--accent-ink)}.field-label{left:var(--sp-4);max-width:calc(100% - var(--sp-12));color:var(--text-3);font-size:var(--fs-input);white-space:nowrap;text-overflow:ellipsis;transform-origin:0;transition:transform var(--dur-3) var(--ease-out), color var(--dur-2) var(--ease-out);pointer-events:none;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.field-control--multiline .field-label{top:var(--sp-5)}.field-control--icon .field-label{left:calc(var(--sp-4) + var(--icon) + var(--sp-2))}:-webkit-any(.field-input:focus+.field-label,.field-input:not(:placeholder-shown)+.field-label,.field-input:-webkit-autofill+.field-label){color:var(--text-2);transform:translateY(-118%)scale(.78)}:is(.field-input:focus+.field-label,.field-input:not(:placeholder-shown)+.field-label,.field-input:autofill+.field-label){color:var(--text-2);transform:translateY(-118%)scale(.78)}.field-control--multiline .field-input:focus+.field-label,.field-control--multiline .field-input:not(:placeholder-shown)+.field-label{transform:translateY(-60%)scale(.78)}.field-input:focus+.field-label{color:var(--accent-ink)}.field-status,.field-reveal{flex:none;place-items:center;display:grid}.field-status{width:0;transition:width var(--dur-2) var(--ease-out);overflow:hidden}.field-status:not(:empty){width:var(--icon);margin-right:var(--sp-3)}.field-status .icon{width:20px;height:20px}.field-reveal{width:var(--tap-min);height:var(--tap-min);margin-right:var(--sp-1);border-radius:var(--r-full);color:var(--text-3)}.field-reveal:hover{color:var(--text);background:var(--surface-3)}.field-message{min-height:18px;padding:0 var(--sp-1);color:var(--text-3);font-size:var(--fs-meta);line-height:var(--lh-snug)}.field-message--swap{animation:rt-rise-in var(--dur-3) var(--ease-out)}.field[data-state=error] .field-control{border-color:var(--danger);background:var(--surface)}.field[data-state=error] .field-control:focus-within{box-shadow:var(--shadow-danger)}.field[data-state=error] .field-label,.field[data-state=error] .field-input:focus+.field-label,.field[data-state=error] .field-status,.field[data-state=error] .field-message{color:var(--danger)}.field[data-state=success] .field-control{border-color:var(--ok)}.field[data-state=success] .field-control:focus-within{box-shadow:0 0 0 3px var(--ok-ring)}.field[data-state=success] .field-status,.field[data-state=success] .field-message{color:var(--ok-strong)}.meter{align-items:center;gap:var(--sp-3);margin-top:calc(var(--sp-1) * -1);padding:0 var(--sp-1);display:flex}.meter-bars{gap:var(--sp-1);flex:1;grid-template-columns:repeat(4,1fr);display:grid}.meter-bar{border-radius:var(--r-full);background:var(--surface-4);height:4px;transition:background-color var(--dur-3) var(--ease-out)}.meter-label{min-width:72px;color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);text-align:right}.meter[data-score="1"] .meter-bar:nth-child(-n+1){background:var(--danger)}.meter[data-score="2"] .meter-bar:nth-child(-n+2){background:var(--warn)}.meter[data-score="3"] .meter-bar:nth-child(-n+3),.meter[data-score="4"] .meter-bar{background:var(--ok)}.form-alert{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-control);background:var(--danger-soft);color:var(--danger-strong);font-size:var(--fs-label);line-height:var(--lh-snug);display:flex}.code-field{gap:var(--sp-2);display:grid}.code-label{color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-medium)}.code-row{align-items:center;gap:var(--sp-3);display:flex}.code-cells{gap:var(--sp-2);flex:1;grid-template-columns:repeat(6,minmax(0,1fr));max-width:360px;display:grid;position:relative}.code-cell{aspect-ratio:5/6;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-control);max-height:64px;font-size:var(--fs-24);font-weight:var(--w-semibold);letter-spacing:0;color:var(--text);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);place-items:center;display:grid}.code-cell--filled{background:var(--surface-2)}.code-cell--active{border-color:var(--accent);box-shadow:var(--shadow-focus)}.code-cell--active:empty:after{content:"";border-radius:var(--r-full);background:var(--accent);width:2px;height:26px;animation:1s step-end infinite rt-caret}.code-input{opacity:0;width:100%;font-size:var(--fs-16);cursor:text;position:absolute;inset:0}.code-status{width:var(--icon);color:var(--ok-strong);display:grid}.code-field[data-state=error] .code-cell{border-color:var(--danger)}.code-field[data-state=error] .code-status,.code-field[data-state=error] .field-message{color:var(--danger)}.code-field[data-state=success] .code-cell{border-color:var(--ok);background:var(--ok-soft)}.code-field[data-state=success] .field-message{color:var(--ok-strong)}.avatar{border-radius:var(--r-full);width:40px;height:40px;font-size:var(--fs-14);font-weight:var(--w-semibold);letter-spacing:0;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar--sm{width:32px;height:32px;font-size:var(--fs-12)}.avatar--lg{width:56px;height:56px;font-size:var(--fs-18)}.avatar--xl{width:72px;height:72px;font-size:var(--fs-24)}.avatar--accent{background:var(--accent-soft);color:var(--accent-ink)}.avatar--ok{background:var(--ok-soft);color:var(--ok-strong)}.avatar--info{background:var(--info-soft);color:var(--info-strong)}.avatar--plum{background:var(--plum-soft);color:var(--plum-strong)}.avatar--warn{background:var(--warn-soft);color:var(--warn-strong)}.badge{align-items:center;gap:var(--sp-1);min-height:24px;padding:0 var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-caption);font-weight:var(--w-semibold);white-space:nowrap;line-height:1;display:inline-flex}.badge-dot{border-radius:var(--r-full);background:currentColor;width:6px;height:6px}.badge--neutral{background:var(--surface-3);color:var(--text-2)}.badge--accent{background:var(--accent-soft);color:var(--accent-ink)}.badge--ok{background:var(--ok-soft);color:var(--ok-strong)}.badge--warn{background:var(--warn-soft);color:var(--warn-strong)}.badge--danger{background:var(--danger-soft);color:var(--danger-strong)}.badge--info{background:var(--info-soft);color:var(--info-strong)}.badge--plum{background:var(--plum-soft);color:var(--plum-strong)}.chip-group{gap:var(--sp-2);padding:var(--sp-1) var(--gutter);margin:0 calc(var(--gutter) * -1);scrollbar-width:none;scroll-padding:var(--gutter);display:flex;overflow-x:auto}.chip-group::-webkit-scrollbar{display:none}.chip{align-items:center;gap:var(--sp-1);min-height:var(--control-h-sm);padding:0 var(--sp-3);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-full);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-medium);flex:none;display:inline-flex}.chip:hover{border-color:var(--line-3);color:var(--text)}.chip-check{opacity:0;width:0;transition:width var(--dur-3) var(--ease-out), opacity var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-bounce);display:grid;overflow:hidden;transform:scale(.4)}.chip-count{min-width:20px;padding:0 var(--sp-1);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-semibold);text-align:center;line-height:20px}.chip[aria-pressed=true]{background:var(--inverse-bg);border-color:var(--inverse-bg);color:var(--inverse-fg)}.chip[aria-pressed=true] .chip-check{opacity:1;width:14px;transform:scale(1)}.chip[aria-pressed=true] .chip-count{color:var(--inverse-fg);background:#ffffff29}.chip:focus-visible{box-shadow:var(--shadow-focus);outline:none}.card{width:100%;padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);text-align:left;color:inherit;display:block}.card--flush{padding:0;overflow:hidden}.card--interactive{transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out)}.card--interactive:hover{border-color:var(--line-2);box-shadow:var(--shadow-2)}.card--interactive:focus-visible{box-shadow:var(--shadow-focus);outline:none}.card--sunken{background:var(--surface-2);box-shadow:none}.card--accent{background:var(--accent-soft);box-shadow:none;border-color:#0000}.card--ink{background:var(--inverse-bg);color:var(--inverse-fg);border-color:#0000}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.card--flush .card-head{padding:var(--sp-5) var(--sp-5) var(--sp-3);margin:0}.card-titles{gap:var(--sp-1);display:grid}.card-title{font-size:var(--fs-title-sm)}.stat{align-content:start;gap:var(--sp-2);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);display:grid}.stat-top{align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-medium);display:flex}.stat-icon{border-radius:var(--r-sm);background:var(--surface-3);width:28px;height:28px;color:var(--text-2);place-items:center;display:grid}.stat--ok .stat-icon{background:var(--ok-soft);color:var(--ok-strong)}.stat--accent .stat-icon{background:var(--accent-soft);color:var(--accent-ink)}.stat--warn .stat-icon{background:var(--warn-soft);color:var(--warn-strong)}.stat--info .stat-icon{background:var(--info-soft);color:var(--info-strong)}.stat--plum .stat-icon{background:var(--plum-soft);color:var(--plum-strong)}.stat-value{font-size:var(--fs-28);font-weight:var(--w-semibold);letter-spacing:var(--ls-display);line-height:1}.stat-hint{gap:var(--sp-1);color:var(--text-3);font-size:var(--fs-caption);display:flex}.stat-trend{color:var(--ok-strong);font-weight:var(--w-semibold)}.list{display:grid}.list-row{align-items:center;gap:var(--sp-3);width:100%;min-height:64px;padding:var(--sp-3) var(--sp-4);text-align:left;color:inherit;display:flex}.list>.list-row+.list-row{box-shadow:0 -1px 0 var(--line)}.list-row--action:hover{background:var(--surface-2)}.list-row--action:focus-visible{box-shadow:inset var(--shadow-focus);outline:none}.list-row-leading{flex:none;display:grid}.list-row-body{gap:var(--sp-0);flex:1;min-width:0;display:grid}.list-row-title{font-weight:var(--w-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list-row-subtitle{color:var(--text-3);font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list-row-meta{align-items:center;gap:var(--sp-2);flex:none;display:flex}.list-row-trailing{color:var(--text-3);flex:none;display:grid}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.page-header-text{gap:var(--sp-1);display:grid}.page-title{font-size:var(--fs-title-lg);letter-spacing:var(--ls-display)}.page-subtitle{color:var(--text-2);max-width:56ch}.page-header-actions{gap:var(--sp-2);display:flex}.progress{gap:var(--sp-1);display:grid}.progress-head{color:var(--text-2);font-size:var(--fs-meta);justify-content:space-between;display:flex}.progress-value{font-weight:var(--w-semibold);color:var(--text)}.progress-track{border-radius:var(--r-full);background:var(--surface-3);height:8px;overflow:hidden}.progress--sm .progress-track{height:4px}.progress-fill{width:var(--pct,0%);border-radius:inherit;background:var(--ok);height:100%;transition:width var(--dur-5) var(--ease-out);display:block}.progress--accent .progress-fill{background:var(--accent)}.progress--warn .progress-fill{background:var(--warn)}.progress--danger .progress-fill{background:var(--danger)}.skeleton-block{align-items:center;gap:var(--sp-3);display:flex}.skeleton-lines{gap:var(--sp-2);flex:1;display:grid}.skeleton-list{gap:var(--sp-5);padding:var(--sp-4);display:grid}.skeleton-card{align-content:start;display:grid}.async-skeleton{animation:rt-fade-in var(--dur-2) var(--ease-out) both}.async-skeleton--leaving{animation:rt-fade-out var(--dur-2) var(--ease-in-out) forwards}.empty{justify-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-6);text-align:center;display:grid}.empty--compact{padding:var(--sp-8) var(--sp-4)}.empty-art{width:112px;height:112px;margin-bottom:var(--sp-2)}.empty--compact .empty-art{width:88px;height:88px}.art-fill{fill:var(--surface-3)}.art-line{fill:none;stroke:var(--text-2);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.art-soft{stroke:var(--line-3)}.art-dot{fill:var(--text-2)}.art-accent{fill:var(--accent)}.art-on-accent{fill:none;stroke:var(--on-accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.empty-title{font-size:var(--fs-title-sm)}.empty-text{max-width:40ch;color:var(--text-2)}.empty-actions{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.divider{align-items:center;gap:var(--sp-3);color:var(--text-3);font-size:var(--fs-meta);display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.divider:empty:after{display:none}.banner{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);font-size:var(--fs-label);line-height:var(--lh-snug);display:flex}.banner-icon{flex:none;display:grid}.banner-body{gap:var(--sp-0);flex:1;display:grid}.banner--info{background:var(--info-soft);color:var(--info-strong)}.banner--warn{background:var(--warn-soft);color:var(--warn-strong)}.banner--ok{background:var(--ok-soft);color:var(--ok-strong)}.banner--accent{background:var(--accent-soft);color:var(--accent-ink)}.toast-region{left:50%;bottom:calc(var(--nav-h) + var(--safe-bottom) + var(--sp-3));z-index:var(--z-toast);align-items:center;gap:var(--sp-2);width:min(calc(100vw - var(--sp-8)), 440px);pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}body:not(.has-tabbar) .toast-region{bottom:calc(var(--safe-bottom) + var(--sp-5))}@media (min-width:1024px){.toast-region,body:not(.has-tabbar) .toast-region{left:auto;right:var(--sp-6);bottom:var(--sp-6);align-items:flex-end;transform:none}}.toast{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-2) var(--sp-3) var(--sp-4);background:var(--inverse-bg);color:var(--inverse-fg);border-radius:var(--r-lg);box-shadow:var(--shadow-float);font-size:var(--fs-label);line-height:var(--lh-snug);pointer-events:auto;touch-action:pan-y;animation:rt-toast-in var(--dur-4) var(--ease-bounce) both;display:flex}.toast--leaving{animation:rt-pop-out var(--dur-2) var(--ease-in-out) forwards}.toast--dragging{transition:none;animation:none}.toast-icon{border-radius:var(--r-full);background:#ffffff24;flex:none;place-items:center;width:28px;height:28px;display:grid}.toast--ok .toast-icon{background:var(--ok);color:var(--text-inverse)}.toast--danger .toast-icon{background:var(--danger);color:var(--text-inverse)}.toast--warn .toast-icon{background:var(--warn);color:var(--text-inverse)}.toast-body{gap:var(--sp-0);flex:1;display:grid}.toast-action{min-height:var(--control-h-sm);padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--accent-soft-2);font-weight:var(--w-semibold);flex:none}.toast-action:hover{background:#ffffff1a}.toast-close{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-full);color:var(--inverse-fg-2);flex:none;place-items:center;display:grid}.toast-close:hover{background:#ffffff1a}.sheet-root{z-index:var(--z-pop);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-scrim{background:var(--scrim);animation:rt-fade-in var(--dur-3) var(--ease-out) both;transition:opacity var(--dur-2) var(--ease-out);position:absolute;inset:0}.sheet{width:100%;max-height:calc(100dvh - var(--safe-top) - var(--sp-8));padding-bottom:var(--safe-bottom);background:var(--surface);border-radius:var(--r-2xl) var(--r-2xl) 0 0;box-shadow:var(--shadow-3);animation:rt-sheet-in var(--dur-5) var(--ease-spring) both;transition:transform var(--dur-3) var(--ease-spring);outline:none;flex-direction:column;display:flex;position:relative}.sheet--dragging{transition:none}.sheet-root--closing .sheet{animation:rt-sheet-out var(--dur-3) var(--ease-in-out) forwards}.sheet-root--closing .sheet-scrim{animation:rt-fade-out var(--dur-3) var(--ease-in-out) forwards}@keyframes rt-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes rt-sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}.sheet-grabber{cursor:grab;touch-action:none;place-items:center;height:24px;display:grid}.sheet-grabber span{border-radius:var(--r-full);background:var(--line-2);width:40px;height:5px}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:0 var(--sp-5) var(--sp-3) var(--sp-6);touch-action:none;display:flex}.sheet-titles{gap:var(--sp-1);padding-top:var(--sp-1);display:grid}.sheet-title{font-size:var(--fs-title)}.sheet-description{color:var(--text-2);font-size:var(--fs-label)}.sheet-body{padding:var(--sp-2) var(--sp-6) var(--sp-6);overscroll-behavior:contain;flex:1;overflow-y:auto}.sheet-footer{gap:var(--sp-2);padding:var(--sp-3) var(--sp-6) var(--sp-5);box-shadow:0 -1px 0 var(--line);display:flex}.sheet-footer>*{flex:1}@media (min-width:768px){.sheet-root{padding:var(--sp-6);align-items:flex-end}.sheet{border-radius:var(--r-2xl);max-width:520px;padding-bottom:0}.sheet--lg{max-width:680px}@keyframes rt-sheet-in{0%{opacity:0;transform:translateY(32px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rt-sheet-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(24px)scale(.98)}}}.segmented{grid-template-columns:repeat(var(--count), minmax(0, 1fr));padding:var(--sp-1);background:var(--surface-3);border-radius:var(--r-control);isolation:isolate;display:grid;position:relative}.segmented-thumb{top:var(--sp-1);bottom:var(--sp-1);left:var(--sp-1);z-index:-1;width:calc((100% - var(--sp-2)) / var(--count));background:var(--surface);border-radius:calc(var(--r-control) - 4px);box-shadow:var(--shadow-1);transform:translateX(calc(var(--index,0) * 100%));transition:transform var(--dur-4) var(--ease-spring);position:absolute}.segmented-option{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--control-h-md);padding:0 var(--sp-3);border-radius:calc(var(--r-control) - 4px);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-medium);display:inline-flex}.segmented-option[aria-checked=true]{color:var(--text);font-weight:var(--w-semibold)}.segmented-option:focus-visible{box-shadow:var(--shadow-focus);outline:none}.segmented--sm .segmented-option{min-height:var(--control-h-sm)}.switch-row{justify-content:space-between;align-items:center;gap:var(--sp-4);cursor:pointer;min-height:56px;display:flex}.switch-text{gap:var(--sp-0);display:grid}.switch-label{font-weight:var(--w-medium)}.switch-description{color:var(--text-3);font-size:var(--fs-meta)}.switch{flex:none;position:relative}.switch-input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch-track{border-radius:var(--r-full);background:var(--surface-4);width:50px;height:30px;transition:background-color var(--dur-3) var(--ease-out);padding:3px;display:block}.switch-thumb{border-radius:var(--r-full);background:var(--surface);width:24px;height:24px;box-shadow:var(--shadow-1);transition:transform var(--dur-3) var(--ease-spring);display:block}.switch-input:checked+.switch-track{background:var(--ok)}.switch-input:checked+.switch-track .switch-thumb{transform:translate(20px)}.switch-input:focus-visible+.switch-track{box-shadow:var(--shadow-focus)}.inline-confirm{display:inline-grid;position:relative}.inline-confirm--block{display:grid}.inline-confirm>.btn,.inline-confirm-panel{grid-area:1/1}.inline-confirm-panel{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);min-height:var(--control-h);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-4);border-radius:var(--r-control);background:var(--danger-soft);color:var(--danger-strong);font-size:var(--fs-label);font-weight:var(--w-medium);opacity:0;visibility:hidden;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-spring), visibility 0s linear var(--dur-2);flex-wrap:wrap;display:flex;transform:scale(.98)}.inline-confirm-actions{gap:var(--sp-1);display:flex}.inline-confirm>.btn{transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out)}.inline-confirm[data-open]>.btn{opacity:0;pointer-events:none;transform:scale(.98)}.inline-confirm[data-open] .inline-confirm-panel{opacity:1;visibility:visible;transition-delay:0s;transform:scale(1)}.ring{justify-items:center;gap:var(--sp-5);display:grid}.ring-face{width:220px;height:220px;position:relative}.ring--compact .ring-face{width:160px;height:160px}.ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-3);stroke-width:8px}.ring-progress{fill:none;stroke:var(--ok);stroke-width:8px;stroke-linecap:round;transition:stroke var(--dur-3) var(--ease-out)}.ring[data-phase=ending] .ring-progress{stroke:var(--accent)}.ring-center{place-content:center;justify-items:center;gap:var(--sp-1);display:grid;position:absolute;inset:0}.ring-time{font-size:var(--fs-40);font-weight:var(--w-semibold);letter-spacing:var(--ls-display);line-height:1}.ring--compact .ring-time{font-size:var(--fs-28)}.ring-caption{color:var(--text-3);font-size:var(--fs-meta);font-weight:var(--w-medium)}.ring[data-phase=done] .ring-caption{color:var(--ok-strong)}.ring-controls{align-items:center;gap:var(--sp-3);display:flex}.ring-play{border-radius:var(--r-full);background:var(--inverse-bg);width:64px;height:64px;color:var(--inverse-fg);box-shadow:var(--shadow-2);transition:transform var(--dur-1) var(--ease-out);place-items:center;display:grid}.ring-play:active,.ring-step:active{transform:scale(.94)}.ring-step{min-width:52px;height:44px;padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-semibold);transition:transform var(--dur-1) var(--ease-out);place-items:center;display:grid}.ring-step--icon{min-width:44px;padding:0}.ring-play:focus-visible,.ring-step:focus-visible{box-shadow:var(--shadow-focus);outline:none}.brand-mark-tile{fill:var(--accent)}.brand-mark-ring{stroke:var(--on-accent)}.brand-mark-dot{fill:var(--on-accent)}.stack{gap:var(--sp-4);display:grid}.stack-sm{gap:var(--sp-2);display:grid}.stack-lg{gap:var(--sp-6);display:grid}.row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.section-title{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);font-size:var(--fs-title-sm);display:flex}.effort-field{gap:var(--sp-3);display:grid}.effort-field-note{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);display:flex}.effort-field-text{color:var(--text-2);font-size:var(--fs-meta);line-height:var(--lh-snug);flex:1;margin:0}#app{min-height:100vh;min-height:100dvh;display:grid}#app>.layout{grid-area:1/1;min-width:0}.layout--entering{animation:rt-view-in-fade var(--dur-5) var(--ease-out) both}.layout--leaving{z-index:1;animation:rt-view-out-fade var(--dur-3) var(--ease-in-out) both;pointer-events:none;position:fixed;inset:0;overflow:hidden}.view-host{outline:none;min-width:0;display:grid}.view-host>.view{grid-area:1/1;min-width:0}.view--leaving{pointer-events:none}.shell{min-height:100vh;min-height:100dvh}.shell-main{min-width:0;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + var(--sp-6))}.topbar{z-index:var(--z-topbar);align-items:center;gap:var(--sp-3);height:calc(var(--topbar-h) + var(--safe-top));padding:var(--safe-top) calc(var(--gutter) + var(--safe-right)) 0 calc(var(--gutter) + var(--safe-left));background:var(--glass-bg);-webkit-backdrop-filter:saturate(1.6) blur(var(--glass-blur));backdrop-filter:saturate(1.6) blur(var(--glass-blur));box-shadow:0 1px 0 var(--glass-line);display:flex;position:sticky;top:0}.topbar-brand{display:grid}.topbar-title{font-size:var(--fs-title-sm);font-weight:var(--w-semibold);letter-spacing:var(--ls-title);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.topbar-actions{align-items:center;gap:var(--sp-1);display:flex}.topbar-role{align-items:center;gap:var(--sp-1);min-height:var(--control-h-sm);padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold);display:inline-flex}.topbar-avatar{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-full);place-items:center;display:grid}.topbar-avatar:hover{text-decoration:none}.sidebar{display:none}.tabbar{z-index:var(--z-nav);padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--glass-bg);-webkit-backdrop-filter:saturate(1.6) blur(var(--glass-blur));backdrop-filter:saturate(1.6) blur(var(--glass-blur));box-shadow:var(--shadow-nav);position:fixed;bottom:0;left:0;right:0}.tabbar-items{grid-template-columns:repeat(var(--count,4), minmax(0, 1fr));height:var(--nav-h);display:grid;position:relative}.tabbar-indicator{top:8px;left:calc(var(--safe-left) + (100% - var(--safe-left) - var(--safe-right)) / var(--count,4) * var(--index,0) + (100% - var(--safe-left) - var(--safe-right)) / var(--count,4) / 2 - 28px);border-radius:var(--r-full);background:var(--accent-soft);width:56px;height:30px;transition:left var(--dur-4) var(--ease-spring);pointer-events:none;position:absolute}.nav-item{justify-content:center;align-items:center;gap:var(--sp-1);min-width:0;color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium);flex-direction:column;display:flex;position:relative}.nav-item:hover{color:var(--text);text-decoration:none}.nav-icon{height:30px;transition:transform var(--dur-2) var(--ease-bounce);place-items:center;display:grid}.nav-item[aria-current=page]{color:var(--accent-ink);font-weight:var(--w-semibold)}.nav-item--tab[aria-current=page] .nav-icon{animation:rt-pop-scale var(--dur-3) var(--ease-bounce)}.nav-item:focus-visible{box-shadow:inset var(--shadow-focus);border-radius:var(--r-md);outline:none}.page{width:100%;max-width:var(--content-max);padding:var(--sp-6) calc(var(--gutter) + var(--safe-right)) var(--sp-6) calc(var(--gutter) + var(--safe-left));margin:0 auto}.page--wide{max-width:var(--content-wide)}@media (min-width:768px) and (max-width:1023.98px){.shell{padding-left:calc(var(--rail-w) + var(--safe-left))}.shell-main{padding-bottom:var(--sp-10)}.tabbar{width:calc(var(--rail-w) + var(--safe-left));padding:calc(var(--safe-top) + var(--sp-20)) 0 var(--safe-bottom) var(--safe-left);box-shadow:1px 0 0 var(--line);top:0;right:auto}.tabbar-items{grid-template-columns:1fr;grid-auto-rows:72px;height:auto}.tabbar-indicator{top:calc(72px * var(--index,0) + 8px);transition:top var(--dur-4) var(--ease-spring);left:calc(50% - 28px)}.topbar{padding-left:var(--gutter)}.topbar-brand{top:calc(var(--safe-top) + var(--sp-5));left:calc(var(--safe-left) + (var(--rail-w) - 36px) / 2);z-index:calc(var(--z-nav) + 1);position:fixed}.topbar-brand .brand-mark{width:36px;height:36px}body.has-tabbar .toast-region{bottom:calc(var(--safe-bottom) + var(--sp-5))}}@media (min-width:1024px){.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);display:grid}.tabbar,.topbar{display:none}.shell-main{padding-bottom:var(--sp-12)}.page{padding-top:var(--sp-10)}.sidebar{gap:var(--sp-6);height:100vh;height:100dvh;padding:var(--sp-6) var(--sp-4);background:var(--bg-elevated);box-shadow:1px 0 0 var(--line);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:var(--sp-3);padding:0 var(--sp-2);color:var(--text);display:flex}.sidebar-brand:hover{text-decoration:none}.sidebar-brand-name{font-size:var(--fs-20);font-weight:var(--w-semibold);letter-spacing:var(--ls-title)}.sidebar-nav{gap:var(--sp-1);display:grid}.nav-item--side{justify-content:flex-start;gap:var(--sp-3);min-height:var(--control-h-md);padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-label);flex-direction:row}.nav-item--side .nav-icon{height:auto}.nav-item--side:hover{background:var(--surface-3)}.nav-item--side[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.nav-item--side[aria-current=page] .nav-icon{color:var(--accent)}.sidebar-foot{gap:var(--sp-1);margin-top:auto;display:grid}.sidebar-action{align-items:center;gap:var(--sp-3);min-height:var(--control-h-md);padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-medium);text-align:left;display:flex}.sidebar-action:hover{background:var(--surface-3);color:var(--text)}.sidebar-action-label{flex:1}.sidebar-user{align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);color:var(--text);display:flex}.sidebar-user:hover{box-shadow:var(--shadow-2);text-decoration:none}.sidebar-user-text{min-width:0;font-size:var(--fs-meta);display:grid}.sidebar-user-text strong,.sidebar-user-text span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user-text span{color:var(--text-3)}}.auth{min-height:100vh;min-height:100dvh;display:grid}.auth-art{display:none}.auth-main{padding:calc(var(--safe-top) + var(--sp-4)) calc(var(--gutter) + var(--safe-right)) calc(var(--safe-bottom) + var(--sp-8)) calc(var(--gutter) + var(--safe-left));outline:none;place-items:start center;display:grid}.auth-host{width:100%;max-width:var(--auth-max)}@media (min-width:1024px){.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth-art{justify-content:space-between;gap:var(--sp-8);height:100vh;height:100dvh;padding:var(--sp-10);background:var(--surface-3);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.auth-main{padding:var(--sp-10);align-items:center}}.auth-art-brand{align-items:center;gap:var(--sp-3);font-size:var(--fs-22);font-weight:var(--w-semibold);letter-spacing:var(--ls-title);display:flex}.auth-art-stage{justify-items:center;gap:var(--sp-4);width:100%;max-width:440px;margin:0 auto;display:grid;position:relative}.art-card{width:100%;padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-2);animation:rt-enter var(--dur-5) var(--ease-out) both}.art-card--session{gap:var(--sp-2);max-width:360px;animation-delay:.12s;display:grid;transform:rotate(-2deg)}.art-card--session>strong{font-size:var(--fs-22);letter-spacing:var(--ls-title)}.art-rows{margin-top:var(--sp-2);display:grid}.art-row{padding:var(--sp-2) 0;box-shadow:0 -1px 0 var(--line);font-size:var(--fs-label);justify-content:space-between;display:flex}.art-row-scheme{color:var(--text-2);font-weight:var(--w-semibold)}.art-card--ring{align-items:center;gap:var(--sp-4);max-width:240px;margin-left:45%;margin-top:calc(var(--sp-8) * -1);animation-delay:.26s;display:flex}.art-card--ring strong{font-size:var(--fs-24);display:block}.art-card--ring span{color:var(--text-3);font-size:var(--fs-meta)}.art-ring{width:64px;height:64px;transform:rotate(-90deg)}.art-ring-track{fill:none;stroke:var(--surface-3);stroke-width:7px}.art-ring-progress{fill:none;stroke:var(--ok);stroke-width:7px;stroke-linecap:round;stroke-dasharray:201;stroke-dashoffset:70px}.art-card--mara{align-items:flex-start;gap:var(--sp-3);max-width:340px;font-size:var(--fs-label);color:var(--text-2);margin-right:30%;animation-delay:.4s;display:flex}.auth-art-quote{max-width:32ch;color:var(--text-2);font-size:var(--fs-18);line-height:var(--lh-snug)}.bare{min-height:100vh}.bare>.view{min-width:0}.bare{display:grid}.bare>.view{grid-area:1/1}.auth-view{gap:var(--sp-6);padding-top:var(--sp-2);display:grid}.auth-back{align-items:center;gap:var(--sp-2);min-height:var(--tap-min);margin-left:calc(var(--sp-2) * -1);padding:0 var(--sp-3) 0 var(--sp-2);border-radius:var(--r-full);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-medium);transition:background-color var(--dur-1) var(--ease-out);justify-self:start;display:inline-flex}.auth-back:hover{background:var(--surface-3);color:var(--text)}.auth-back:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-head{gap:var(--sp-2);display:grid}.auth-title{font-size:var(--fs-title-lg);letter-spacing:var(--ls-display)}.auth-subtitle{color:var(--text-2)}.auth-body{gap:var(--sp-5);display:grid}.auth-form{gap:var(--sp-3);display:grid}.auth-form>.btn{margin-top:var(--sp-2)}.auth-inline-link{margin-top:calc(var(--sp-3) * -1);justify-content:flex-end;display:flex}.auth-foot{color:var(--text-2);font-size:var(--fs-label);text-align:center}.auth-legal{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-snug)}.auth-email-chip{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-medium);justify-self:start}.social-row{gap:var(--sp-2);display:grid}.social-btn{font-weight:var(--w-medium)}.swap-host{display:grid}.welcome{gap:var(--sp-8);min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - var(--sp-12));padding-top:var(--sp-6);flex-direction:column;display:flex}.welcome-brand{align-items:center;gap:var(--sp-3);display:flex}.welcome-brand-name{font-size:var(--fs-22);font-weight:var(--w-semibold);letter-spacing:var(--ls-title)}.welcome-hero{gap:var(--sp-4);margin-top:auto;display:grid}.welcome-title{font-size:var(--fs-40);letter-spacing:var(--ls-display);line-height:1.08}.welcome-text{color:var(--text-2);font-size:var(--fs-18);line-height:var(--lh-snug)}.welcome-points{gap:var(--sp-3);margin-top:var(--sp-2);display:grid}.welcome-point{align-items:center;gap:var(--sp-3);color:var(--text-2);display:flex}.welcome-point-icon{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);width:32px;height:32px;color:var(--accent-ink);place-items:center;display:grid}.welcome-actions{gap:var(--sp-2);display:grid}.welcome-code{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap-min);color:var(--accent-ink);font-size:var(--fs-label);font-weight:var(--w-semibold);border-radius:var(--r-md);display:inline-flex}.welcome-code:hover{background:var(--accent-soft)}@media (min-width:1024px){.welcome{min-height:auto;padding-top:0}.welcome-brand{display:none}.welcome-title{font-size:var(--fs-40)}}.choice-card{align-items:center;gap:var(--sp-4);width:100%;min-height:76px;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-card);text-align:left;color:inherit;display:flex}.choice-card:hover{border-color:var(--line-3)}.choice-card:focus-visible{box-shadow:var(--shadow-focus);outline:none}.choice-card-icon{border-radius:var(--r-md);background:var(--surface-3);width:44px;height:44px;color:var(--text-2);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);flex:none;place-items:center;display:grid}.choice-card-text{gap:var(--sp-0);flex:1;display:grid}.choice-card-text span{color:var(--text-3);font-size:var(--fs-meta)}.choice-card-check{border:1.5px solid var(--line-2);border-radius:var(--r-full);color:#0000;width:26px;height:26px;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-bounce);flex:none;place-items:center;display:grid}.choice-card--selected{border-color:var(--accent);box-shadow:var(--shadow-focus)}.choice-card--selected .choice-card-icon{background:var(--accent-soft);color:var(--accent-ink)}.choice-card--selected .choice-card-check{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:scale(1.06)}.steps-row{align-items:center;gap:var(--sp-3);display:flex}.steps{gap:var(--sp-1);flex:1;grid-template-columns:1fr 1fr;display:grid}.steps-bar{border-radius:var(--r-full);background:var(--surface-4);height:4px;position:relative;overflow:hidden}.steps-bar:after{content:"";border-radius:inherit;background:var(--accent);transform-origin:0;transition:transform var(--dur-5) var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.steps[data-step="1"] .steps-bar:first-child:after,.steps[data-step="2"] .steps-bar:after{transform:scaleX(1)}.steps-label{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);white-space:nowrap}.step-host{margin:0 calc(var(--sp-2) * -1);padding:var(--sp-1) var(--sp-2) var(--sp-2);display:grid;overflow:hidden}.step-host>.step{grid-area:1/1;min-width:0}.step{gap:var(--sp-4);display:grid}.step-question{color:var(--text-2);font-weight:var(--w-medium)}.kind-pill{align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);padding:0 var(--sp-2) 0 var(--sp-3);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-label);font-weight:var(--w-semibold);justify-self:start;display:inline-flex}.kind-pill-change{padding:var(--sp-0) var(--sp-2);border-radius:var(--r-full);background:var(--surface);color:var(--text-2);font-size:var(--fs-caption)}.success-panel{justify-items:center;gap:var(--sp-3);padding:var(--sp-6) 0;text-align:center;display:grid}.success-badge{width:72px;height:72px;margin-bottom:var(--sp-2);border-radius:var(--r-full);background:var(--ok);color:var(--text-inverse);animation:rt-scale-in var(--dur-5) var(--ease-bounce) both;place-items:center;display:grid;position:relative}.success-badge-ring{border-radius:inherit;background:var(--ok);animation:rt-ripple .9s var(--ease-out) .2s both;position:absolute;inset:0}.success-badge .icon{position:relative}.success-title{font-size:var(--fs-title)}.success-text{max-width:36ch;color:var(--text-2)}.success-actions{gap:var(--sp-2);width:100%;margin-top:var(--sp-4);display:grid}.verify-hero{justify-items:center;gap:var(--sp-3);text-align:center;display:grid}.verify-text{max-width:36ch;color:var(--text-2)}.verify-text strong{color:var(--text)}.invite-trainer{align-items:center;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-card);background:var(--ok-soft);display:flex}.invite-trainer div{display:grid}.invite-trainer span{color:var(--text-2);font-size:var(--fs-label)}.home-grid{gap:var(--sp-5);display:grid}.home-main,.home-aside{align-content:start;gap:var(--sp-5);min-width:0;display:grid}@media (min-width:1024px){:is(.page:has(.home-grid--trainer),.page:has(.home-grid--student)){max-width:var(--content-wide)}.home-grid--trainer,.home-grid--student{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.home-grid--trainer>.stat-grid{grid-column:1/-1}.home-aside{top:var(--sp-6);position:sticky}}.stat-grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:768px){.stat-grid:not(.stat-grid--two){grid-template-columns:repeat(4,minmax(0,1fr))}}.students-card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-2);flex-wrap:wrap;display:flex}.students-card-head .section-title{justify-content:flex-start;margin:0}.students-card-filters{--gutter:var(--sp-5);padding:0 var(--gutter) var(--sp-3);box-shadow:0 1px 0 var(--line)}.search{align-items:center;gap:var(--sp-2);max-width:280px;min-height:var(--control-h-md);padding:0 var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-3);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);flex:200px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus)}.search-input{min-width:0;height:100%;color:var(--text);font-size:var(--fs-16);background:0 0;border:0;flex:1}.search-input::-webkit-search-cancel-button{display:none}.row-adherence{width:96px;display:none}.row-adherence .progress-head{display:none}@media (min-width:640px){.row-adherence{display:block}}.notes{gap:var(--sp-3);display:grid}.note{align-items:flex-start;gap:var(--sp-3);font-size:var(--fs-label);line-height:var(--lh-snug);display:flex}.note-icon{border-radius:var(--r-full);background:var(--info-soft);width:28px;height:28px;color:var(--info-strong);flex:none;place-items:center;display:grid}.note-icon--accent{background:var(--accent-soft);color:var(--accent-ink)}.note-icon--warn{background:var(--warn-soft);color:var(--warn-strong)}.note-icon--ok{background:var(--ok-soft);color:var(--ok-strong)}.invite-card{gap:var(--sp-3);display:grid}.invite-card-text{gap:var(--sp-1);display:grid}.invite-card-text span{color:var(--text-2);font-size:var(--fs-label)}.invite-code{gap:var(--sp-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.invite-code-char{aspect-ratio:5/6;border-radius:var(--r-md);background:var(--surface-3);max-height:72px;font-size:var(--fs-28);font-weight:var(--w-semibold);place-items:center;display:grid}.invite-code-skeleton{border-radius:var(--r-md);height:72px}.invite-url{padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-meta);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.invite-actions>*{flex:1}.session-hero{gap:var(--sp-3);padding:var(--sp-6);border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2);display:grid}.session-hero-top{gap:var(--sp-2);flex-wrap:wrap;display:flex}.session-title{font-size:var(--fs-34);letter-spacing:var(--ls-display)}.session-meta{gap:var(--sp-4);color:var(--text-2);font-size:var(--fs-label);flex-wrap:wrap;display:flex}.session-meta span{align-items:center;gap:var(--sp-1);display:inline-flex}.session-actions{gap:var(--sp-2);margin-top:var(--sp-3);display:grid}@media (min-width:640px){.session-actions{grid-template-columns:1fr 1fr}}.routine-card{gap:var(--sp-6);display:grid}.routine-section{gap:var(--sp-3);display:grid}.routine-section-title{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.exercise-list{display:grid}.exercise{gap:var(--sp-4);padding:var(--sp-3) 0;display:flex}.exercise+.exercise{box-shadow:0 -1px 0 var(--line)}.exercise-index{border-radius:var(--r-full);background:var(--surface-3);width:32px;height:32px;color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold);flex:none;place-items:center;display:grid}.exercise-body{gap:var(--sp-1);min-width:0;display:grid}.exercise-name{font-size:var(--fs-18);font-weight:var(--w-semibold);letter-spacing:var(--ls-title)}.exercise-rx{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.exercise-scheme{font-size:var(--fs-22);font-weight:var(--w-semibold);letter-spacing:var(--ls-title)}.exercise-tag{align-items:center;gap:var(--sp-1);min-height:24px;padding:0 var(--sp-2);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-semibold);display:inline-flex}.exercise-tag--last{background:var(--ok-soft);color:var(--ok-strong)}.exercise-note{color:var(--text-3);font-size:var(--fs-meta)}.week{gap:var(--sp-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.week-day{justify-items:center;gap:var(--sp-1);display:grid}.week-day-name{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold)}.week-day-dot{border-radius:var(--r-full);background:var(--surface-3);width:36px;height:36px;color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold);place-items:center;display:grid}.week-day--done .week-day-dot{background:var(--ok);color:var(--text-inverse)}.week-day--today .week-day-dot{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 4px var(--accent-soft)}.week-day--missed .week-day-dot{background:var(--surface);border:1.5px dashed var(--line-3);color:var(--text-3)}.week-day--rest .week-day-dot{color:var(--text-3);background:0 0}.trainer-line{align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-label);display:flex}.trainer-line strong{color:var(--text)}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-label)}.data-table th{padding:var(--sp-3) var(--sp-5);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);letter-spacing:var(--ls-kicker);text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{padding:var(--sp-3) var(--sp-5);box-shadow:0 -1px 0 var(--line);white-space:nowrap}.data-table tbody tr{cursor:pointer;transition:background-color var(--dur-1) var(--ease-out)}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tbody tr:focus-visible{box-shadow:inset var(--shadow-focus);outline:none}.cell-person{align-items:center;gap:var(--sp-3);display:flex}.cell-person div{display:grid}.cell-person span{color:var(--text-3);font-size:var(--fs-meta)}.cell-num{font-weight:var(--w-semibold)}@media (max-width:767.98px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table tr{gap:var(--sp-2) var(--sp-3);padding:var(--sp-4) var(--sp-5);box-shadow:0 -1px 0 var(--line);grid-template-columns:1fr auto;display:grid}.data-table td{box-shadow:none;padding:0}.data-table td:first-child{grid-column:1/-1}.data-table td:not(:first-child):before{content:attr(data-label);color:var(--text-3);font-size:var(--fs-caption);display:block}}.settings-grid{gap:var(--sp-4);display:grid}.profile{align-items:center;gap:var(--sp-4);display:flex}.profile-text{gap:var(--sp-1);min-width:0;display:grid}.profile-name{font-size:var(--fs-title-sm)}.profile-email{color:var(--text-3);font-size:var(--fs-label);text-overflow:ellipsis;overflow:hidden}.settings-list{display:grid}.settings-list>*+*{box-shadow:0 -1px 0 var(--line)}.app-version{margin-top:var(--sp-6);color:var(--text-3);font-size:var(--fs-caption);text-align:center}.sg{width:100%;max-width:var(--content-wide);padding:calc(var(--safe-top) + var(--sp-6)) calc(var(--gutter) + var(--safe-right)) calc(var(--safe-bottom) + var(--sp-16)) calc(var(--gutter) + var(--safe-left));margin:0 auto}.sg-header{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-8);flex-wrap:wrap;display:flex}.sg-brand{align-items:center;gap:var(--sp-3);color:var(--text);display:flex}.sg-brand:hover{text-decoration:none}.sg-brand>span{display:grid}.sg-brand>span span{color:var(--text-3);font-size:var(--fs-meta)}.sg-grid{gap:var(--sp-5);display:grid}@media (min-width:1024px){.sg-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.sg-block{gap:var(--sp-4);padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);display:grid}.sg-title{font-size:var(--fs-caption);font-weight:var(--w-semibold);letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--text-3)}.sg-body{gap:var(--sp-4);min-width:0;display:grid}.sg-body .chip-group{--gutter:0px}.sg-swatches{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.sg-swatch{gap:var(--sp-1);font-size:var(--fs-meta);display:grid}.sg-swatch code{color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-caption)}.sg-swatch-chip{border-radius:var(--r-md);height:48px;box-shadow:inset 0 0 0 1px var(--glass-line)}.sg-type--display{font-size:var(--fs-display);font-weight:var(--w-semibold);letter-spacing:var(--ls-display);line-height:var(--lh-tight)}.sg-type--title{font-size:var(--fs-title);font-weight:var(--w-semibold);letter-spacing:var(--ls-title)}.sg-type--sub{font-size:var(--fs-title-sm);font-weight:var(--w-medium)}.sg-center{padding:var(--sp-4) 0;justify-items:center;display:grid}.sg-icons{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(44px,1fr));display:grid}.sg-icon{border-radius:var(--r-sm);background:var(--surface-2);height:44px;color:var(--text-2);place-items:center;display:grid}.settings-text{margin:0 0 var(--sp-3);color:var(--text-2);font-size:var(--fs-meta);line-height:var(--lh-snug)}.mara-avatar{border-radius:var(--r-full);background:var(--accent-soft);flex:none;place-items:center;width:36px;height:36px;display:inline-grid;overflow:hidden}.mara-avatar img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.mara-avatar--sm{width:28px;height:28px}.mara-avatar--lg{width:64px;height:64px}.chat{background:var(--bg);flex-direction:column;min-height:0;display:flex}.page--chat{max-width:820px;padding-top:0;padding-bottom:0}.chat--page{height:calc(100dvh - var(--topbar-h) - var(--safe-top) - var(--nav-h) - var(--safe-bottom));margin:0 calc(var(--gutter) * -1)}@media (min-width:768px) and (max-width:1023.98px){.chat--page{height:calc(100dvh - var(--topbar-h) - var(--safe-top))}}@media (min-width:1024px){.page--chat{padding-top:var(--sp-6)}.chat--page{height:calc(100dvh - var(--sp-12));border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-2);box-shadow:var(--shadow-1);margin:0;overflow:hidden}}.shell[data-section=mara] .shell-main{padding-bottom:0}.chat-head{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);box-shadow:0 1px 0 var(--line);display:flex}.chat--page .chat-head{display:none}@media (min-width:1024px){.chat--page .chat-head{background:var(--surface);display:flex}}.chat-head-text{line-height:var(--lh-snug);flex:1;display:grid}.chat-status{color:var(--text-3);font-size:var(--fs-meta)}.chat[data-busy=true] .chat-status,.chat[data-listening=true] .chat-status{color:var(--accent-ink)}.chat-head-actions{gap:var(--sp-1);display:flex}.chat-head-actions .icon-btn:disabled{opacity:.4}.chat-scroll{overscroll-behavior:contain;min-height:0;scroll-padding-bottom:var(--sp-4);flex:1;overflow-y:auto}.chat-list{gap:var(--sp-3);min-height:100%;padding:var(--sp-5) var(--sp-4);flex-direction:column;display:flex}.chat-intro{justify-items:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-2);text-align:center;margin:auto 0;display:grid}.chat-intro-title{font-size:var(--fs-title)}.chat-intro-text{max-width:40ch;color:var(--text-2)}.chat-suggestions{gap:var(--sp-2);width:100%;max-width:420px;margin-top:var(--sp-3);display:grid}.suggestion{align-items:center;gap:var(--sp-3);min-height:var(--control-h-md);padding:var(--sp-2) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);font-size:var(--fs-label);text-align:left;display:flex}.suggestion .icon{color:var(--accent-ink)}.suggestion:hover{border-color:var(--line-3);box-shadow:var(--shadow-1)}.suggestion:focus-visible{box-shadow:var(--shadow-focus);outline:none}.msg{align-items:flex-end;gap:var(--sp-2);max-width:88%;display:flex}.msg--user{align-self:flex-end}.msg--assistant{align-self:flex-start}.msg--enter{animation:rt-msg-in var(--dur-4) var(--ease-out) both}.msg--user.msg--enter{transform-origin:100% 100%}.msg--assistant.msg--enter{transform-origin:0 100%;animation-delay:80ms}@keyframes rt-msg-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.msg-bubble{min-width:0;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-xl);font-size:var(--fs-15);line-height:var(--lh-base);overflow-wrap:anywhere}.msg--user .msg-bubble{background:var(--inverse-bg);color:var(--inverse-fg);border-bottom-right-radius:var(--r-xs)}.msg--assistant .msg-bubble{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:var(--r-xs);box-shadow:var(--shadow-1)}.msg-text{gap:var(--sp-2);white-space:pre-wrap;display:grid}.msg-caret{vertical-align:text-bottom;border-radius:var(--r-full);background:var(--accent);width:2px;height:1.05em;margin-left:2px;animation:.9s step-end infinite rt-caret;display:inline-block}.msg-error{align-items:center;gap:var(--sp-2);color:var(--danger-strong);font-size:var(--fs-label);flex-wrap:wrap;display:flex}.msg-retry{min-height:32px;padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--danger-soft);color:var(--danger-strong);font-weight:var(--w-semibold)}.chat-composer{padding:var(--sp-2) var(--sp-3) var(--sp-3);background:var(--bg)}.chat--page .chat-composer{padding-bottom:var(--sp-3)}@media (min-width:1024px){.chat--page .chat-composer{background:var(--surface-2)}}.composer-box{align-items:flex-end;gap:var(--sp-1);padding:var(--sp-1);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-2xl);box-shadow:var(--shadow-1);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);display:flex}.composer-box:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus)}.chat[data-listening=true] .composer-box{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.composer-input{min-width:0;max-height:168px;padding:var(--sp-3) var(--sp-1);resize:none;color:var(--text);font-size:var(--fs-16);line-height:var(--lh-snug);background:0 0;border:0;flex:1}.composer-input:first-child{padding-left:var(--sp-3)}.composer-input:focus-visible{outline:none}.composer-input::placeholder{color:var(--text-3)}.chat[data-listening=true] .composer-input{color:var(--text-2)}.composer-mic,.composer-send{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-full);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out), opacity var(--dur-2) var(--ease-out);flex:none;place-items:center;display:grid;position:relative}.composer-mic{color:var(--text-2)}.composer-mic:hover{background:var(--surface-3);color:var(--text)}.composer-mic[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.composer-mic-pulse{border-radius:inherit;background:var(--accent);opacity:0;pointer-events:none;position:absolute;inset:0}.composer-mic[aria-pressed=true] .composer-mic-pulse{animation:rt-ripple 1.3s var(--ease-out) infinite}.composer-mic .icon{position:relative}.composer-send{background:var(--accent);color:var(--on-accent)}.composer-send:disabled{background:var(--surface-3);color:var(--text-3)}.chat[data-busy=true] .composer-send{background:var(--inverse-bg);color:var(--inverse-fg)}.composer-mic:active,.composer-send:active:not(:disabled){transform:scale(.92)}.composer-mic:focus-visible,.composer-send:focus-visible{box-shadow:var(--shadow-focus);outline:none}.composer-hint{min-height:0;padding:0 var(--sp-4);color:var(--accent-ink);font-size:var(--fs-caption);text-align:center}.composer-hint:not(:empty){padding-top:var(--sp-2);animation:rt-rise-in var(--dur-3) var(--ease-out)}.mara-fab{right:calc(var(--sp-6) + var(--safe-right));bottom:calc(var(--sp-6) + var(--safe-bottom));z-index:var(--z-nav);align-items:center;gap:var(--sp-2);height:56px;padding:0 var(--sp-5) 0 var(--sp-4);border-radius:var(--r-full);background:var(--inverse-bg);color:var(--inverse-fg);box-shadow:var(--shadow-float);font-weight:var(--w-semibold);transition:transform var(--dur-3) var(--ease-spring), opacity var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);display:none;position:fixed}@media (min-width:1024px){.mara-fab{display:inline-flex}}.mara-fab:hover{transform:translateY(-2px)}.mara-fab:active{transform:scale(.96)}.mara-fab:focus-visible{box-shadow:var(--shadow-float), var(--shadow-focus);outline:none}.mara-fab-icon{border-radius:var(--r-full);background:var(--accent);width:32px;height:32px;color:var(--on-accent);place-items:center;display:grid}.mara-fab[data-busy=true] .mara-fab-icon{animation:rt-avatar-pulse 1.6s var(--ease-out) infinite}.mara-fab--hidden,.mara-fab--open{opacity:0;pointer-events:none;transform:translateY(16px)scale(.9)}.mara-panel{right:calc(var(--sp-6) + var(--safe-right));bottom:calc(var(--sp-6) + var(--safe-bottom));z-index:var(--z-pop);width:var(--chat-side-w);height:min(640px, calc(100dvh - var(--sp-12)));border:1px solid var(--line);border-radius:var(--r-2xl);background:var(--bg);box-shadow:var(--shadow-float);transform-origin:100% 100%;animation:rt-panel-in var(--dur-5) var(--ease-spring) both;display:flex;position:fixed;overflow:hidden}.mara-panel>.chat{flex:1}.mara-panel .chat-head{background:var(--surface)}.mara-panel--closing{animation:rt-panel-out var(--dur-3) var(--ease-in-out) forwards}@keyframes rt-panel-in{0%{opacity:0;transform:translateY(24px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rt-panel-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.94)}}@media (max-width:1023.98px){.mara-panel{inset:var(--safe-top) 0 0 0;border:0;border-radius:0;width:auto;height:auto;animation-name:rt-sheet-in}}.composer-attach{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-full);color:var(--text-2);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);flex:none;place-items:center;display:grid;position:relative}.composer-attach:hover{background:var(--surface-3);color:var(--text)}.composer-attach:active{transform:scale(.92)rotate(-8deg)}.composer-attach:focus-visible{box-shadow:var(--shadow-focus);outline:none}.composer-attach[data-count]:not([data-count=""]):after{content:attr(data-count);min-width:16px;height:16px;padding:0 var(--sp-1);border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:var(--w-bold);animation:rt-pop-scale var(--dur-3) var(--ease-bounce);place-items:center;display:grid;position:absolute;top:4px;right:4px}.composer-send-icon{transition:transform var(--dur-3) var(--ease-spring);place-items:center;display:grid}.composer-send[data-mode=stop] .composer-send-icon{animation:rt-scale-in var(--dur-3) var(--ease-bounce)}.chat-context{align-items:center;gap:var(--sp-2);width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--w-medium);animation:rt-rise-in var(--dur-3) var(--ease-out);display:flex}.chat-context-dot{border-radius:var(--r-full);background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-soft-2);flex:none}.chat[data-busy=true] .chat-context-dot{animation:rt-breathe 1.4s var(--ease-in-out) infinite}.chat-older{margin:var(--sp-3) auto 0;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-medium);transition:background-color var(--dur-2) var(--ease-out);display:block}.chat-older:hover{background:var(--surface-3)}.chat-older--loading{color:var(--text-3);animation:rt-breathe 1.2s var(--ease-in-out) infinite}.chat-skeleton{gap:var(--sp-4);padding-top:var(--sp-4);display:grid}.chat-skeleton-row{align-items:flex-end;gap:var(--sp-2);animation:rt-rise-in var(--dur-4) var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms);display:flex}.chat-skeleton-row--user{justify-content:flex-end}.chat-skeleton-avatar{width:28px;height:28px}.chat-skeleton-bubble{gap:var(--sp-2);max-width:78%;padding:var(--sp-4);border-radius:var(--r-xl);display:grid}.chat-skeleton-bubble .skeleton-line{background:var(--surface-4)}.chat-load-error{justify-items:center;gap:var(--sp-3);padding:var(--sp-6);color:var(--text-2);text-align:center;margin:auto 0;display:grid}.chat[data-drop=true] .chat-scroll{outline:2px dashed var(--accent);outline-offset:-10px;border-radius:var(--r-xl);background:var(--accent-soft);transition:background-color var(--dur-2) var(--ease-out)}.msg-user-stack{justify-items:end;gap:var(--sp-1);display:grid}.msg-attachments{justify-content:flex-end;gap:var(--sp-1);flex-wrap:wrap;display:flex}.msg-attachment{border-radius:var(--r-lg);background:var(--surface-3);width:88px;height:88px;box-shadow:var(--shadow-1);display:block;overflow:hidden}.msg-attachment img{object-fit:cover;width:100%;height:100%}.msg-attachment--file{align-items:center;gap:var(--sp-2);width:auto;max-width:220px;height:auto;padding:var(--sp-2) var(--sp-3);color:var(--text-2);font-size:var(--fs-meta);display:inline-flex}.msg-attachment--file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg--assistant .msg-bubble{gap:var(--sp-2);display:grid}.msg--assistant .msg-body:empty,.msg-foot:empty{display:none}.msg-note{align-items:center;gap:var(--sp-2);color:var(--text-3);font-size:var(--fs-meta);display:inline-flex}.turn-status{gap:var(--sp-2);display:grid}.turn-status[hidden]{display:none}.turn-status-live{align-items:center;gap:var(--sp-2);min-height:28px;display:flex}.turn-status-live[hidden]{display:none}.turn-status-glyph{border-radius:var(--r-full);background:var(--accent-soft);width:26px;height:26px;color:var(--accent-ink);flex:none;place-items:center;display:grid;position:relative}.turn-status-glyph .icon{animation:rt-scale-in var(--dur-3) var(--ease-bounce)}.turn-status-ring{border:2px solid #0000;border-top-color:var(--accent);border-right-color:var(--accent-soft-2);border-radius:inherit;animation:.9s linear infinite rt-spin;position:absolute;inset:-3px}.turn-status-glyph[data-kind=fixing]{background:var(--warn-soft);color:var(--warn-strong)}.turn-status-glyph[data-kind=fixing] .turn-status-ring{border-top-color:var(--warn)}.turn-status-glyph[data-kind=recovering]{background:var(--info-soft);color:var(--info-strong)}.turn-status-glyph[data-kind=recovering] .turn-status-ring{border-top-color:var(--info)}.turn-status-glyph[data-kind=stopping]{background:var(--surface-3);color:var(--text-2)}.turn-status-glyph[data-kind=stopping] .turn-status-ring{border-top-color:var(--text-3)}.turn-status-labels{flex:1;min-width:0;display:grid;position:relative}.turn-status-label{background:linear-gradient(90deg, var(--text-2) 0%, var(--text-2) 38%, var(--accent-ink) 50%, var(--text-2) 62%, var(--text-2) 100%);color:#0000;font-size:var(--fs-label);font-weight:var(--w-medium);text-overflow:ellipsis;white-space:nowrap;background-size:260% 100%;-webkit-background-clip:text;background-clip:text;grid-area:1/1;animation:2.2s linear infinite rt-text-shimmer;overflow:hidden}.turn-status-label--in{animation:rt-label-in var(--dur-3) var(--ease-out) both, rt-text-shimmer 2.2s linear infinite}.turn-status-label--out{animation:rt-label-out var(--dur-2) var(--ease-in-out) forwards}.turn-status-time{color:var(--text-3);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;flex:none}.turn-trail[hidden]{display:none}.turn-trail-toggle{align-items:center;gap:var(--sp-1);min-height:28px;padding:0 var(--sp-2);margin-left:calc(var(--sp-2) * -1);border-radius:var(--r-full);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);display:inline-flex}.turn-trail-toggle:hover{background:var(--surface-3);color:var(--text-2)}.turn-trail-toggle .icon{transition:transform var(--dur-3) var(--ease-spring)}.turn-status--open .turn-trail-toggle .icon{transform:rotate(180deg)}.turn-trail-panel{transition:grid-template-rows var(--dur-4) var(--ease-spring);grid-template-rows:0fr;display:grid}.turn-status--open .turn-trail-panel{grid-template-rows:1fr}.turn-trail-list{gap:var(--sp-1);min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.turn-status--open .turn-trail-list{padding:var(--sp-1) 0 var(--sp-1)}.turn-trail-step{align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-meta);display:flex}.turn-trail-dot{border-radius:var(--r-full);background:var(--ok-soft);width:18px;height:18px;color:var(--ok-strong);flex:none;place-items:center;display:grid}.turn-trail-step--fixing .turn-trail-dot{background:var(--warn-soft);color:var(--warn-strong)}.mara-chips-wrap{gap:var(--sp-2);margin-top:var(--sp-1);display:grid}.mara-chips-wrap[hidden]{display:none}.mara-chips-summary{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.mara-chips{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.mara-chip{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--ok-soft);color:var(--text);transition:background-color var(--dur-3) var(--ease-out), opacity var(--dur-3) var(--ease-out);display:flex}.mara-chip--warn{background:var(--warn-soft)}.mara-chip--block{background:var(--plum-soft)}.mara-chip--enter{animation:rt-chip-in var(--dur-4) var(--ease-spring) both, rt-chip-glow 1.4s var(--ease-out) both;animation-delay:calc(var(--i,0) * 70ms)}.mara-chip[data-state=undone]{background:var(--surface-3);opacity:.78}.mara-chip[data-state=undone] .mara-chip-text{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--line-3);text-decoration-color:var(--line-3)}.mara-chip-icon{border-radius:var(--r-full);background:var(--surface);width:22px;height:22px;color:var(--ok-strong);box-shadow:var(--shadow-1);flex:none;place-items:center;margin-top:1px;display:grid}.mara-chip--warn .mara-chip-icon{color:var(--warn-strong)}.mara-chip--block .mara-chip-icon{color:var(--plum-strong)}.mara-chip[data-state=undone] .mara-chip-icon{color:var(--text-3)}.mara-chip-spinner{border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:var(--r-full);width:12px;height:12px;animation:.7s linear infinite rt-spin}.mara-chip-body{gap:var(--sp-1);flex:1;min-width:0;display:grid}.mara-chip-kind{padding:1px var(--sp-2);border-radius:var(--r-full);background:var(--surface);color:var(--plum-strong);font-size:11px;font-weight:var(--w-semibold);letter-spacing:.02em;justify-self:start}.mara-chip-text{font-size:var(--fs-meta);line-height:var(--lh-snug)}.mara-chip-state{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold)}.mara-chip-note{color:var(--text-2);font-size:var(--fs-caption);animation:rt-rise-in var(--dur-3) var(--ease-out)}.mara-chip-note--warn{color:var(--warn-strong)}.mara-chip-actions{gap:var(--sp-1);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.mara-chip-btn{align-items:center;gap:var(--sp-1);min-height:30px;padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--surface);color:var(--text);font-size:var(--fs-caption);font-weight:var(--w-semibold);box-shadow:var(--shadow-1);transition:background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);display:inline-flex}.mara-chip-btn:hover:not(:disabled){box-shadow:var(--shadow-2)}.mara-chip-btn:active:not(:disabled){transform:scale(.95)}.mara-chip-btn:focus-visible,.mara-chip-alt:focus-visible{box-shadow:var(--shadow-focus);outline:none}.mara-chip-btn:disabled{opacity:.6}.mara-chip-btn--on{background:var(--inverse-bg);color:var(--inverse-fg)}.mara-chip-alts{gap:var(--sp-1);padding-top:var(--sp-1);flex-wrap:wrap;display:flex}.mara-chip-alt{align-items:center;gap:var(--sp-1);min-height:32px;padding:0 var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-full);background:var(--surface);color:var(--text);font-size:var(--fs-caption);transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.mara-chip-alt:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.mara-chip-alt:active:not(:disabled){transform:scale(.96)}.mara-chip-alt .icon{color:var(--accent-ink)}.attach-tray{gap:var(--sp-2);margin:0 0 var(--sp-2);padding:var(--sp-1) var(--sp-1) var(--sp-1);scrollbar-width:none;list-style:none;display:flex;overflow-x:auto}.attach-tray[hidden]{display:none}.attach-item{justify-items:center;gap:var(--sp-1);flex:none;width:72px;display:grid;position:relative}.attach-item--enter{animation:rt-pop-in var(--dur-4) var(--ease-bounce) both}.attach-item--leave{animation:rt-pop-out var(--dur-2) var(--ease-in-out) forwards}.attach-thumb{border-radius:var(--r-md);object-fit:cover;background:var(--surface-3);width:64px;height:64px;box-shadow:var(--shadow-1)}.attach-thumb--pdf{padding:var(--sp-1);background:var(--danger-soft);color:var(--danger-strong);font-size:10px;line-height:var(--lh-tight);text-align:center;align-content:center;justify-items:center;gap:2px;display:grid}.attach-thumb--pdf strong{font-size:var(--fs-13)}.attach-thumb--pdf span{max-width:100%;color:var(--text-2);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.attach-veil{border-radius:var(--r-md);background:var(--scrim);opacity:1;pointer-events:none;width:64px;height:64px;transition:opacity var(--dur-3) var(--ease-out);place-items:center;display:grid;position:absolute;top:0;left:4px}.attach-item[data-state=done] .attach-veil,.attach-item[data-state=error] .attach-veil{opacity:0}.attach-ring{width:36px;height:36px;transform:rotate(-90deg)}.attach-ring-track,.attach-ring-value{fill:none;stroke-width:4px}.attach-ring-track{stroke:#ffffff52}.attach-ring-value{stroke:var(--text-inverse);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,4));transition:stroke-dashoffset var(--dur-3) var(--ease-out)}.attach-item[data-state=preparing] .attach-ring{animation:1s linear infinite rt-spin}.attach-remove{border-radius:var(--r-full);background:var(--inverse-bg);width:22px;height:22px;color:var(--inverse-fg);box-shadow:var(--shadow-2);transition:transform var(--dur-1) var(--ease-out);place-items:center;display:grid;position:absolute;top:-6px;right:-2px}.attach-remove:active{transform:scale(.88)}.attach-retry{border-radius:var(--r-full);background:var(--danger);width:32px;height:32px;color:var(--text-inverse);box-shadow:var(--shadow-2);animation:rt-pop-scale var(--dur-3) var(--ease-bounce);place-items:center;display:grid;position:absolute;top:18px;left:22px}.attach-retry[hidden]{display:none}.attach-item[data-state=error] .attach-thumb{box-shadow:0 0 0 2px var(--danger);filter:grayscale(.6)}.attach-caption{max-width:100%;color:var(--text-3);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.attach-item[data-state=error] .attach-caption{color:var(--danger-strong)}@keyframes rt-text-shimmer{0%{background-position:100% 0}to{background-position:-160% 0}}@keyframes rt-label-in{0%{opacity:0;filter:blur(2px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes rt-label-out{to{opacity:0;filter:blur(2px);transform:translateY(-8px)}}@keyframes rt-chip-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rt-chip-glow{0%{box-shadow:0 0 0 0 var(--accent-ring)}35%{box-shadow:0 0 0 4px var(--accent-ring)}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.turn-status-ring,.attach-item[data-state=preparing] .attach-ring{animation:none}.turn-status-label{color:var(--text-2);background:0 0}}.busy-card{gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--warn-soft);animation:rt-rise-in var(--dur-4) var(--ease-out);display:grid}.busy-card-title{align-items:center;gap:var(--sp-2);color:var(--warn-strong);font-size:var(--fs-label);font-weight:var(--w-semibold);display:flex}.busy-card-dot{border-radius:var(--r-full);background:var(--warn);width:8px;height:8px;animation:rt-breathe 1.4s var(--ease-in-out) infinite;flex:none}.busy-card-text{color:var(--text-2);font-size:var(--fs-meta)}.busy-options{gap:var(--sp-1);margin-top:var(--sp-1);display:grid}.busy-option{align-items:center;gap:var(--sp-3);min-height:var(--tap-min);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface);color:var(--text);text-align:left;box-shadow:var(--shadow-1);animation:rt-chip-in var(--dur-4) var(--ease-spring) both;transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out), background-color var(--dur-2) var(--ease-out);display:flex}.busy-option:nth-child(2){animation-delay:60ms}.busy-option:nth-child(3){animation-delay:.12s}.busy-option:hover{box-shadow:var(--shadow-2)}.busy-option:active{transform:scale(.98)}.busy-option:focus-visible{box-shadow:var(--shadow-focus);outline:none}.busy-option-icon{border-radius:var(--r-full);background:var(--surface-3);width:30px;height:30px;color:var(--text-2);flex:none;place-items:center;display:grid}.busy-option--primary .busy-option-icon{background:var(--accent);color:var(--on-accent)}.busy-option-text{min-width:0;line-height:var(--lh-snug);display:grid}.busy-option-text strong{font-size:var(--fs-label)}.busy-option-text span{color:var(--text-3);font-size:var(--fs-caption)}.queued-card{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);background:var(--accent-soft);animation:rt-rise-in var(--dur-3) var(--ease-out);display:grid}.queued-row{align-items:center;gap:var(--sp-2);color:var(--accent-ink);font-size:var(--fs-label);font-weight:var(--w-medium);display:flex}.queued-icon{animation:rt-breathe 1.6s var(--ease-in-out) infinite;place-items:center;display:grid}.queued-label{font-variant-numeric:tabular-nums;flex:1}.queued-cancel{min-height:32px;padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--surface);color:var(--text);font-size:var(--fs-caption);font-weight:var(--w-semibold);box-shadow:var(--shadow-1);transition:transform var(--dur-1) var(--ease-out)}.queued-cancel:active{transform:scale(.95)}.queued-cancel:focus-visible{box-shadow:var(--shadow-focus);outline:none}.queued-track{border-radius:var(--r-full);background:var(--accent-soft-2);height:4px;display:block;overflow:hidden}.queued-bar{border-radius:inherit;background:var(--accent);transform-origin:0;width:100%;height:100%;animation:rt-queue-drain var(--ms,15s) linear forwards;display:block}.chat-draft{align-items:center;gap:var(--sp-2);width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto var(--sp-2);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-caption);display:flex}.chat-draft[hidden]{display:none}.chat-draft--in{animation:rt-rise-in var(--dur-3) var(--ease-out)}.chat-draft-discard{min-height:28px;padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--text);font-weight:var(--w-semibold);transition:background-color var(--dur-2) var(--ease-out)}.chat-draft-discard:hover{background:var(--surface)}.attach-thumb--saved{padding:var(--sp-1);background:var(--info-soft);color:var(--info-strong);font-size:10px;line-height:var(--lh-tight);text-align:center;align-content:center;justify-items:center;gap:2px;display:grid}.attach-thumb--saved span{max-width:100%;color:var(--text-2);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes rt-queue-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.queued-bar{animation:none}}.turn-status-texts{flex:1;gap:1px;min-width:0;display:grid}.turn-status-texts .turn-status-labels{flex:none}.turn-status-step{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-snug);text-overflow:ellipsis;white-space:nowrap;transition:color var(--dur-2) var(--ease-out);overflow:hidden}.turn-status[data-playful=false] .turn-status-step{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.turn-status-label--patience{background:linear-gradient(90deg, var(--text-2) 0%, var(--text-2) 38%, var(--plum-strong) 50%, var(--text-2) 62%, var(--text-2) 100%);white-space:normal;background-size:260% 100%;-webkit-background-clip:text;background-clip:text}@media (prefers-reduced-motion:reduce){.turn-status-label--patience{color:var(--text-2);background:0 0}}.library{--library-sticky-top:calc(var(--topbar-h) + var(--safe-top));padding-bottom:var(--sp-16)}.library .page-header{margin-bottom:var(--sp-4)}.library-toolbar{top:var(--library-sticky-top);z-index:5;gap:var(--sp-3);margin:0 calc(var(--gutter) * -1);padding:var(--sp-2) var(--gutter) var(--sp-3);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4) blur(var(--glass-blur));backdrop-filter:saturate(1.4) blur(var(--glass-blur));display:grid;position:sticky}.library-search{align-items:center;gap:var(--sp-2);min-height:var(--field-h);padding:0 var(--sp-2) 0 var(--sp-4);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-full);box-shadow:var(--shadow-1);color:var(--text-3);cursor:text;transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);display:flex;position:relative}.library-search:hover{border-color:var(--line-3)}.library-search:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus), var(--shadow-2);color:var(--accent-ink)}.library-search-icon{transition:transform var(--dur-3) var(--ease-bounce);flex:none;display:grid}.library-search:focus-within .library-search-icon{transform:scale(1.08)}.library-search-input{min-width:0;height:var(--field-h);color:var(--text);font-size:var(--fs-input);caret-color:var(--accent);background:0 0;border:0;flex:1}.library-search-input::placeholder{color:var(--text-3)}.library-search-input::-webkit-search-cancel-button{display:none}.library-search-clear,.library-search-mic{border-radius:var(--r-full);width:40px;height:40px;color:var(--text-2);transition:background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), opacity var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-bounce);flex:none;place-items:center;display:grid;position:relative}.library-search-clear{background:var(--surface-3);opacity:0;pointer-events:none;width:32px;height:32px;transform:scale(.4)}.library-search--filled .library-search-clear{opacity:1;pointer-events:auto;transform:scale(1)}.library-search-clear:hover,.library-search-mic:hover{background:var(--surface-4);color:var(--text)}.library-search-mic[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.library-search-mic-pulse{border-radius:inherit;background:var(--accent);opacity:0;position:absolute;inset:0}.library-search-mic[aria-pressed=true] .library-search-mic-pulse{animation:rt-ripple 1.4s var(--ease-out) infinite}.library-search-mic .icon{position:relative}.library-search--listening{border-color:var(--accent);box-shadow:var(--shadow-focus)}.library-chips{padding-top:0;padding-bottom:0}.library-chips-divider{background:var(--line-2);flex:none;align-self:center;width:1px;height:20px}.library-filters-chip{color:var(--text)}.library-filters-count:empty{display:none}.library-filters-chip--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.library-filters-chip--active .chip-count{background:var(--accent);color:var(--on-accent)}.library-active{gap:var(--sp-2);flex-wrap:wrap;display:flex}.library-active[hidden]{display:none}.library-pill{align-items:center;gap:var(--sp-1);min-height:30px;padding:0 var(--sp-2) 0 var(--sp-3);border-radius:var(--r-full);background:var(--inverse-bg);color:var(--inverse-fg);font-size:var(--fs-meta);font-weight:var(--w-medium);animation:rt-pop-in var(--dur-3) var(--ease-bounce) both;transition:transform var(--dur-1) var(--ease-out), opacity var(--dur-1) var(--ease-out);display:inline-flex}.library-pill:active{transform:scale(.95)}.library-pill .icon{opacity:.7}.library-pill--clear{padding:0 var(--sp-3);color:var(--text-2);text-underline-offset:3px;background:0 0;text-decoration:underline}.library-status{min-height:36px;margin-bottom:var(--sp-2);color:var(--text-2);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;align-items:center;display:flex;position:relative}.library-progress{border-radius:var(--r-full);opacity:0;height:2px;transition:opacity var(--dur-2) var(--ease-out);position:absolute;bottom:0;left:0;right:0;overflow:hidden}.library-progress:after{content:"";border-radius:inherit;background:var(--accent);width:40%;animation:library-indeterminate 1.1s var(--ease-in-out) infinite;position:absolute;inset:0}.library[data-status=refreshing] .library-progress,.library[data-status=loading] .library-progress{opacity:1}@keyframes library-indeterminate{0%{transform:translate(-100%)}to{transform:translate(260%)}}.library-grid{gap:var(--sp-3);transition:opacity var(--dur-3) var(--ease-out);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.library[data-status=refreshing] .library-grid{opacity:.55}.library-grid--tail{margin-top:var(--sp-3)}.library-tail:empty{display:none}.library-sentinel{height:1px}.library-end{padding:var(--sp-8) 0 var(--sp-2);color:var(--text-3);font-size:var(--fs-meta);text-align:center}.library-more-error{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-6) 0;color:var(--text-2);font-size:var(--fs-label);display:flex}.library-empty:empty{display:none}.library-empty{padding:var(--sp-8) 0}@media (min-width:640px){.library-grid{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.library{--library-sticky-top:0px}.library-toolbar{padding-top:var(--sp-4);grid-template-columns:minmax(320px,520px) 1fr;align-items:center}.library-active{grid-column:1/-1}.library-chips{--bleed-end:calc(var(--gutter) + var(--safe-right) + max(0px, (100cqw - var(--content-wide)) / 2));margin:0 calc(var(--bleed-end) * -1) 0 0;padding:var(--sp-1) var(--bleed-end) var(--sp-1) 0;scroll-padding-inline:0 var(--bleed-end)}}@media (min-width:1180px){.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ex-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);min-width:0;box-shadow:var(--shadow-1);color:var(--text);content-visibility:auto;contain-intrinsic-size:auto 220px;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-3) var(--ease-out), border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}@media (hover:hover){.ex-card[href]:hover{border-color:var(--line-2);background:var(--surface-2);box-shadow:var(--shadow-2);transform:translateY(-2px)}.ex-card[href]:hover .cover-img{transform:scale(1.04)}}.ex-card:focus-visible{box-shadow:var(--shadow-focus), var(--shadow-2);outline:none}.ex-card--in{animation:rt-enter var(--dur-4) var(--ease-out) both;animation-delay:calc(var(--i,0) * 35ms)}.ex-card--inserted{border-color:var(--accent);box-shadow:var(--shadow-focus), var(--shadow-2);animation:ex-card-insert 1.2s var(--ease-out) both}@keyframes ex-card-insert{0%{opacity:0;transform:scale(.92)}35%{opacity:1;transform:scale(1.02)}to{transform:scale(1)}}.ex-card-body{align-content:start;gap:var(--sp-1);padding:var(--sp-3) var(--sp-3) var(--sp-4);display:grid}.ex-card-name{-webkit-line-clamp:2;min-height:calc(var(--fs-15) * var(--lh-snug) * 2);font-size:var(--fs-15);font-weight:var(--w-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-title);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ex-card-mark{border-radius:var(--r-xs);background:var(--accent-soft-2);color:inherit;box-shadow:0 0 0 2px var(--accent-soft-2)}.ex-card-meta{color:var(--text-3);font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ex-card-alias{color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--w-medium)}.ex-card-alias[hidden],.ex-card-flags[hidden]{display:none}.ex-card-flags{gap:var(--sp-1);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.ex-card--skeleton{pointer-events:none}.ex-card--skeleton .skeleton-line{height:12px}.ex-card--skeleton .ex-card-body{gap:var(--sp-2);min-height:86px}.cover{aspect-ratio:16/9;background:var(--surface-3);isolation:isolate;display:block;position:relative;overflow:hidden}.cover--card{border-radius:0}.cover--mini{border-radius:var(--r-md);width:100%}.cover--hero{border-radius:var(--r-card)}.cover-placeholder{color:var(--text-3);place-items:center;display:grid;position:absolute;inset:0}.cover-mark{border-radius:var(--r-full);background:var(--surface);opacity:.8;width:52px;height:52px;transition:opacity var(--dur-3) var(--ease-out);place-items:center;display:grid}.cover--mini .cover-mark{width:34px;height:34px}.cover--loaded .cover-mark{opacity:0}.cover-initial{right:var(--sp-3);bottom:var(--sp-1);font-size:var(--fs-40);font-weight:var(--w-bold);letter-spacing:var(--ls-display);opacity:.18;line-height:1;position:absolute}.cover--empty.cover--tone-accent{background:var(--accent-soft);color:var(--accent-ink)}.cover--empty.cover--tone-ok{background:var(--ok-soft)}.cover--empty.cover--tone-info{background:var(--info-soft)}.cover--empty.cover--tone-plum{background:var(--plum-soft)}.cover--empty.cover--tone-warn{background:var(--warn-soft)}.cover--empty .cover-placeholder{color:inherit}.cover-img{z-index:1;object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-5) var(--ease-out), transform var(--dur-5) var(--ease-out);-webkit-user-select:none;user-select:none;position:absolute;inset:0;transform:scale(1.02)}.cover--loaded .cover-img{opacity:1;transform:scale(1)}.library-host{min-height:60vh}.library-host:has(>.library){container-type:inline-size}.library--booting .page-header-text{gap:var(--sp-3);display:grid}.library-skeleton-title{border-radius:var(--r-md);width:180px;height:32px}.library-skeleton-sub{width:min(360px,80%)}.library--booting .library-search{box-shadow:none;border:0}.library-chips-skeleton{gap:var(--sp-2);display:flex;overflow:hidden}.library-chip-skeleton{width:84px;height:var(--control-h-sm);border-radius:var(--r-full);flex:none}.filter-sheet{gap:var(--sp-6);padding-bottom:var(--sp-2);display:grid}.filter-section{gap:var(--sp-3);display:grid}.filter-section-head{align-items:center;gap:var(--sp-2);display:flex}.filter-section-title{font-size:var(--fs-16);font-weight:var(--w-semibold)}.filter-section-count{min-width:22px;height:22px;padding:0 var(--sp-1);border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--fs-caption);font-weight:var(--w-semibold);place-items:center;display:grid}.filter-section-count[hidden]{display:none}.filter-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.filter-muscles{gap:var(--sp-4);display:grid}.filter-muscle-group{gap:var(--sp-2);display:grid}.filter-muscle-group-name{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.filter-more{transition:grid-template-rows var(--dur-4) var(--ease-out);grid-template-rows:0fr;display:grid}.filter-more[data-open=true]{grid-template-rows:1fr}.filter-more-inner{min-height:0;overflow:hidden}.filter-chips--extra{padding-top:var(--sp-2);opacity:0;transition:opacity var(--dur-3) var(--ease-out)}.filter-more[data-open=true] .filter-chips--extra{opacity:1}.filter-more-btn{align-items:center;gap:var(--sp-1);margin-top:var(--sp-2);justify-self:start;display:inline-flex}.filter-more-btn .icon{transition:transform var(--dur-3) var(--ease-out)}.filter-more-btn[aria-expanded=true] .icon{transform:rotate(180deg)}.filter-footer{gap:var(--sp-2);width:100%;display:flex}.filter-footer>.btn--ghost{flex:none}.filter-footer>.btn--primary{flex:1}.btn--counting .btn-label{opacity:.6;transition:opacity var(--dur-2) var(--ease-out)}.sheet--lg{max-height:calc(100dvh - var(--safe-top) - var(--sp-6))}@media (min-width:768px){.sheet--lg{max-width:600px}}.ex-page{padding-bottom:var(--sp-16)}.ex-back{align-items:center;gap:var(--sp-1);min-height:var(--tap-min);margin:calc(var(--sp-2) * -1) 0 var(--sp-2) calc(var(--sp-2) * -1);padding:0 var(--sp-3) 0 var(--sp-2);border-radius:var(--r-full);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-medium);transition:background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);display:inline-flex}.ex-back:hover{background:var(--surface-3);color:var(--text)}.ex-back .icon{transition:transform var(--dur-2) var(--ease-out)}.ex-back:hover .icon{transform:translate(-2px)}.ex-back-skeleton{width:110px;height:28px;margin-bottom:var(--sp-4);border-radius:var(--r-full);display:block}.ex-detail{gap:var(--sp-6);display:grid}.ex-detail-media{gap:var(--sp-3);align-content:start;min-width:0;display:grid}.ex-detail-info{gap:var(--sp-6);align-content:start;min-width:0;display:grid}@media (max-width:767.98px){.ex-detail-media{margin:0 calc(var(--gutter) * -1)}.ex-detail-media>.player{border-radius:0}.ex-detail-media>:not(.player){margin:0 var(--gutter)}}@media (min-width:1024px){.ex-detail{gap:var(--sp-8);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.ex-detail-media{top:var(--sp-6);position:sticky}}.ex-sources-skeleton{height:var(--control-h-sm);border-radius:var(--r-full)}.ex-skeleton-kicker{width:90px}.ex-skeleton-title{border-radius:var(--r-md);width:70%;height:34px;display:block}.ex-head{gap:var(--sp-2);display:grid}.ex-title{font-size:var(--fs-title-lg);font-weight:var(--w-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-display);text-wrap:balance}.ex-aliases{color:var(--text-2);font-size:var(--fs-label)}.ex-aliases span{color:var(--text-3)}.ex-facts{gap:var(--sp-3);margin:0;display:grid}.ex-fact{gap:var(--sp-3);grid-template-columns:112px 1fr;align-items:baseline;display:grid}.ex-fact dt{color:var(--text-3);font-size:var(--fs-meta);font-weight:var(--w-medium)}.ex-fact dd{margin:0}.ex-fact-text{font-size:var(--fs-label);font-weight:var(--w-medium)}.ex-pills{gap:var(--sp-1);flex-wrap:wrap;display:flex}.ex-pill{min-height:28px;padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-medium);align-items:center;display:inline-flex}.ex-pill--accent{background:var(--accent-soft);color:var(--accent-ink)}.ex-pill--ink{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--text)}.ex-section{gap:var(--sp-3);display:grid}.ex-section .section-title{margin-bottom:0}.ex-note-muted{color:var(--text-3);font-size:var(--fs-meta)}.ex-steps{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.ex-step{gap:var(--sp-3);grid-template-columns:32px 1fr;align-items:start;display:grid}.ex-step p{padding-top:var(--sp-1);line-height:var(--lh-base)}.ex-step-num{border-radius:var(--r-full);background:var(--inverse-bg);width:32px;height:32px;color:var(--inverse-fg);font-size:var(--fs-meta);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;place-items:center;display:grid}.ex-tips{gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-card);background:var(--ok-soft);color:var(--text);grid-template-columns:auto 1fr}.ex-tips-icon{border-radius:var(--r-full);background:var(--surface);width:32px;height:32px;color:var(--ok-strong);place-items:center;display:grid}.ex-tips-title{margin-bottom:var(--sp-1);font-size:var(--fs-label);font-weight:var(--w-semibold)}.ex-tips p{color:var(--text-2);font-size:var(--fs-label)}.ex-notes{padding:var(--sp-4);border-radius:var(--r-card);background:var(--surface-3)}.ex-notes p{color:var(--text-2);white-space:pre-line}.ex-variants-strip{gap:var(--sp-3);margin:0 calc(var(--gutter) * -1);padding:var(--sp-1) var(--gutter) var(--sp-2);scroll-snap-type:x proximity;scroll-padding:var(--gutter);scrollbar-width:none;grid-auto-columns:minmax(132px,150px);grid-auto-flow:column;display:grid;overflow-x:auto}.ex-variants-strip::-webkit-scrollbar{display:none}@media (min-width:1024px){.ex-variants-strip{margin:0;padding-left:0;padding-right:0}}.ex-variant{gap:var(--sp-2);padding:var(--sp-1);border-radius:var(--r-lg);color:var(--text);scroll-snap-align:start;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);align-content:start;text-decoration:none;display:grid;position:relative}.ex-variant:hover{background:var(--surface-3)}.ex-card:hover,.ex-variant:hover,.ex-link-card:hover{text-decoration:none}.ex-variant-name{-webkit-line-clamp:2;padding:0 var(--sp-1);font-size:var(--fs-meta);font-weight:var(--w-medium);line-height:var(--lh-snug);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ex-variant--current{background:var(--accent-soft)}.ex-variant--current .cover{box-shadow:0 0 0 2px var(--accent)}.ex-variant--current .ex-variant-name{color:var(--accent-ink);font-weight:var(--w-semibold)}.ex-variant-own{padding:0 var(--sp-1);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--w-semibold)}.ex-variant--skeleton{gap:var(--sp-2);padding:var(--sp-1);display:grid}.ex-attribution{align-items:center;gap:var(--sp-1);color:var(--text-3);font-size:var(--fs-caption);display:flex}.ex-attribution:empty{display:none}.ex-sources{justify-self:start;max-width:100%}.ex-real-options{gap:var(--sp-2);animation:rt-rise-in var(--dur-3) var(--ease-out) both;flex-wrap:wrap;display:flex}.ex-real-options[hidden]{display:none}.ex-link-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);text-decoration:none;display:flex}.ex-link-card span:last-child{font-size:var(--fs-label);display:grid}.ex-link-card span:last-child span{color:var(--text-3);font-size:var(--fs-meta)}.ex-link-card-icon{border-radius:var(--r-full);background:var(--surface-3);place-items:center;width:36px;height:36px;display:grid}.player{aspect-ratio:16/9;border-radius:var(--r-card);background:var(--surface-3);color:var(--text-inverse);isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.player--skeleton{display:block}.player-poster,.player-surface,.player-overlay{position:absolute;inset:0}.player-poster .cover-img{opacity:1;transform:none}.player-surface{z-index:1;cursor:pointer;place-items:center;display:grid}.player-video,.player-iframe{object-fit:cover;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.player-video{opacity:0;transition:opacity var(--dur-5) var(--ease-out)}.player--has-frame .player-video{opacity:1}.player--youtube .player-video,.player--youtube .player-bar{display:none}.player-state{border-radius:var(--r-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#14100c7a;place-items:center;width:72px;height:72px;display:grid;position:relative;transform:scale(.6)}.player-state--flash{animation:player-flash .62s var(--ease-out) both}@keyframes player-flash{0%{opacity:0;transform:scale(.6)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}.player[data-state=ready] .player-state,.player[data-state=message] .player-state{animation:none}.player[data-state=ready][data-playing=false] .player-state{opacity:1;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-bounce);transform:scale(1)}.player[data-state=ready][data-playing=false] .player-state:empty:before{content:"";border:12px solid #0000;border-left:20px solid;border-right-width:0;width:0;height:0;margin-left:6px}.player-spinner{border:3px solid #ffffff4d;border-top-color:var(--text-inverse);border-radius:var(--r-full);opacity:0;width:40px;height:40px;transition:opacity var(--dur-2) var(--ease-out);pointer-events:none;animation:.8s linear infinite rt-spin;position:absolute}.player[data-state=loading] .player-spinner,.player[data-state=buffering] .player-spinner{opacity:1;transition-delay:.24s}.player[data-state=loading]:after{content:"";z-index:1;background:linear-gradient(100deg, transparent 20%, var(--shimmer) 50%, transparent 80%);animation:rt-shimmer 1.4s var(--ease-in-out) infinite;pointer-events:none;position:absolute;inset:0;transform:translate(-100%)}.player-overlay{z-index:3;padding:var(--sp-4);pointer-events:none;place-items:center;display:grid}.player-overlay:empty{display:none}.player-message{justify-items:center;gap:var(--sp-2);max-width:320px;padding:var(--sp-5) var(--sp-6);border-radius:var(--r-xl);background:var(--glass-bg);-webkit-backdrop-filter:saturate(1.4) blur(var(--glass-blur));backdrop-filter:saturate(1.4) blur(var(--glass-blur));box-shadow:var(--shadow-2);color:var(--text);text-align:center;pointer-events:auto;display:grid}.player-message strong{font-size:var(--fs-16)}.player-message span{color:var(--text-2);font-size:var(--fs-meta)}.player-message-icon{border-radius:var(--r-full);background:var(--surface-3);width:40px;height:40px;color:var(--text-2);place-items:center;display:grid}.player-message--error .player-message-icon{background:var(--danger-soft);color:var(--danger)}.player-message-action{min-height:var(--control-h-sm);margin-top:var(--sp-1);padding:0 var(--sp-4);border-radius:var(--r-full);background:var(--inverse-bg);color:var(--inverse-fg);font-size:var(--fs-label);font-weight:var(--w-semibold);transition:transform var(--dur-1) var(--ease-out)}.player-message-action:active{transform:scale(.96)}.player-pulse{border-radius:var(--r-full);background:var(--accent);width:56px;height:56px;color:var(--on-accent);place-items:center;display:grid;position:relative}.player-pulse>span{border-radius:inherit;background:var(--accent);animation:rt-ripple 1.6s var(--ease-out) infinite;position:absolute;inset:0}.player-pulse>span:nth-child(2){animation-delay:.8s}.player-pulse .icon{position:relative}.player-badge{top:var(--sp-3);left:var(--sp-3);z-index:4;pointer-events:none;position:absolute}.player-chip{min-height:26px;padding:0 var(--sp-3);border-radius:var(--r-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-inverse);font-size:var(--fs-caption);font-weight:var(--w-semibold);animation:rt-pop-in var(--dur-3) var(--ease-bounce) both;background:#14100c8f;align-items:center;display:inline-flex}.player-chip--accent{background:var(--accent);color:var(--on-accent)}.player-bar{left:var(--sp-2);right:var(--sp-2);bottom:var(--sp-2);z-index:4;align-items:center;gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-full);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);opacity:0;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);pointer-events:none;background:#14100c80;display:flex;position:absolute;transform:translateY(8px)}.player--controls .player-bar,.player[data-playing=false][data-state=ready] .player-bar,.player--scrubbing .player-bar{opacity:1;pointer-events:auto;transform:translateY(0)}.player[data-state=pending] .player-bar,.player[data-state=message] .player-bar,.player[data-state=error] .player-bar,.player[data-state=idle] .player-bar,.player[data-state=loading] .player-bar{opacity:0;pointer-events:none}.player-btn{min-width:36px;height:36px;padding:0 var(--sp-2);border-radius:var(--r-full);color:var(--text-inverse);font-size:var(--fs-meta);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;transition:background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);flex:none;place-items:center;display:grid}.player-btn:hover{background:#ffffff24}.player-btn:active{transform:scale(.92)}.player-btn:focus-visible{box-shadow:0 0 0 2px var(--text-inverse);outline:none}.player-btn--text{min-width:48px}.player--slow .player-btn--text{background:var(--accent);color:var(--on-accent)}.player-progress{height:36px;padding:0 var(--sp-2);cursor:pointer;touch-action:none;flex:1;align-items:center;display:grid;position:relative}.player-progress:focus-visible{outline:none}.player-progress:focus-visible .player-progress-track{box-shadow:0 0 0 2px var(--text-inverse)}.player-progress-track{border-radius:var(--r-full);height:4px;transition:height var(--dur-2) var(--ease-out);background:#ffffff47;position:relative;container-type:inline-size}.player-progress:hover .player-progress-track,.player--scrubbing .player-progress-track{height:6px}.player-progress-fill{border-radius:inherit;background:var(--text-inverse);transform-origin:0;will-change:transform;position:absolute;inset:0;transform:scaleX(0)}.player-progress-thumb{border-radius:var(--r-full);background:var(--text-inverse);opacity:0;width:14px;height:14px;transition:opacity var(--dur-2) var(--ease-out), scale var(--dur-2) var(--ease-bounce);will-change:transform;margin-top:-7px;position:absolute;top:50%;left:0;box-shadow:0 1px 4px #0000004d}.player-progress:hover .player-progress-thumb,.player--scrubbing .player-progress-thumb,.player-progress:focus-visible .player-progress-thumb{opacity:1}.player--scrubbing .player-progress-thumb{scale:1.2}.player:fullscreen{background:var(--inverse-bg);border-radius:0}.player:fullscreen .player-video{object-fit:contain}.own-card{gap:var(--sp-4);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--line);display:grid}.own-head{gap:var(--sp-3);align-items:flex-start;display:flex}.own-head .section-title{margin-bottom:var(--sp-1)}.own-head-icon{border-radius:var(--r-full);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);flex:none;place-items:center;display:grid}.own-head-text{color:var(--text-2);font-size:var(--fs-label)}.own-body{gap:var(--sp-4);display:grid}.own-choices{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.own-choice{align-items:center;gap:var(--sp-3);min-height:68px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--text);text-align:left;transition:background-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:flex}.own-choice:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), var(--shadow-1)}.own-choice:focus-visible{box-shadow:inset 0 0 0 1px var(--accent), var(--shadow-focus);outline:none}.own-choice-icon{border-radius:var(--r-md);background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow-1);color:var(--accent-ink);flex:none;place-items:center;display:grid}.own-choice-text{gap:var(--sp-0);display:grid}.own-choice-text strong{font-size:var(--fs-15)}.own-choice-text span{color:var(--text-3);font-size:var(--fs-meta)}.own-row{gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);display:grid}.own-row-main{align-items:center;gap:var(--sp-3);display:flex}.own-row-thumb{aspect-ratio:16/9;border-radius:var(--r-sm);background:var(--surface-3);width:64px;color:var(--text-2);flex:none;place-items:center;display:grid;overflow:hidden}.own-row-thumb-img{object-fit:cover;width:100%;height:100%}.own-row-text{gap:var(--sp-0);flex:1;min-width:0;display:grid}.own-row-text strong{font-size:var(--fs-15)}.own-row-text span{color:var(--text-3);font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.own-row .inline-confirm{justify-self:start}.own-form{gap:var(--sp-4);display:grid}.own-form-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.link-preview:empty{display:none}.link-preview-card{align-items:center;gap:var(--sp-3);padding:var(--sp-2);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);display:flex}.link-preview-media{aspect-ratio:16/9;border-radius:var(--r-sm);flex:none;width:120px;position:relative;overflow:hidden}.link-preview-img{z-index:1;object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-4) var(--ease-out);position:absolute;inset:0}.link-preview-card--loaded .link-preview-img{opacity:1}.link-preview-play{z-index:2;color:var(--text-inverse);place-items:center;display:grid;position:absolute;inset:0}.link-preview-play .icon{padding:var(--sp-2);box-sizing:content-box;border-radius:var(--r-full);background:#14100c80}.link-preview-text{gap:var(--sp-0);min-width:0;display:grid}.link-preview-text span{color:var(--text-3);font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clip-preview{align-items:center;gap:var(--sp-3);display:flex}.clip-preview-frame{aspect-ratio:16/9;border-radius:var(--r-md);background:var(--inverse-bg);flex:none;width:132px;overflow:hidden}.clip-preview-video{object-fit:cover;width:100%;height:100%}.clip-preview-text{gap:var(--sp-0);min-width:0;display:grid}.clip-preview-text strong{font-size:var(--fs-15);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clip-preview-meta{color:var(--text-3);font-size:var(--fs-meta);font-variant-numeric:tabular-nums}.clip-message:empty{display:none}.clip-progress{gap:var(--sp-2);animation:rt-rise-in var(--dur-3) var(--ease-out) both;display:grid}.clip-progress[hidden]{display:none}.clip-progress-head{font-size:var(--fs-label);font-weight:var(--w-medium);justify-content:space-between;display:flex}.clip-progress-pct{font-variant-numeric:tabular-nums}.clip-progress-track{border-radius:var(--r-full);background:var(--surface-3);height:8px;position:relative;overflow:hidden}.clip-progress-fill{border-radius:inherit;background:var(--accent);transform-origin:0;transition:transform var(--dur-3) var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.clip-form[data-step=processing] .clip-progress-fill,.clip-form[data-step=requesting] .clip-progress-fill{background:var(--ok)}.clip-form[data-step=processing] .clip-progress-track:after,.clip-form[data-step=requesting] .clip-progress-track:after{content:"";background:linear-gradient(90deg, transparent, var(--shimmer), transparent);animation:rt-shimmer 1.2s var(--ease-in-out) infinite;position:absolute;inset:0;transform:translate(-100%)}.clip-progress-detail{color:var(--text-3);font-size:var(--fs-meta);font-variant-numeric:tabular-nums}.clip-done{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--ok-soft);display:flex}.clip-done>span:last-child{gap:var(--sp-0);font-size:var(--fs-label);display:grid}.clip-done>span:last-child span{color:var(--text-2);font-size:var(--fs-meta)}.clip-done-icon{border-radius:var(--r-full);background:var(--ok);width:36px;height:36px;color:var(--text-inverse);flex:none;place-items:center;display:grid}.clip-done-icon .icon{width:20px;height:20px}.clip-note{color:var(--text-2);font-size:var(--fs-label)}.ex-create{padding-bottom:var(--sp-16)}.dictate-card{gap:var(--sp-4);margin-bottom:var(--sp-5);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--dur-3) var(--ease-out), background-color var(--dur-3) var(--ease-out);display:grid}.dictate-card[data-state=listening]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft-2)}.dictate-head{align-items:center;gap:var(--sp-5);display:flex}.dictate-text{gap:var(--sp-1);display:grid}.dictate-text .section-title{margin-bottom:0}.dictate-text p{color:var(--text-2);font-size:var(--fs-label)}.dictate-orb-label{margin-top:var(--sp-1);color:var(--accent-ink);font-size:var(--fs-meta);font-weight:var(--w-semibold)}.dictate-orb{border-radius:var(--r-full);width:76px;height:76px;color:var(--on-accent);transition:transform var(--dur-2) var(--ease-bounce);flex:none;place-items:center;display:grid;position:relative}.dictate-orb[hidden]{display:none}.dictate-orb:active{transform:scale(.94)}.dictate-orb:focus-visible{outline:none}.dictate-orb:focus-visible .dictate-orb-core{box-shadow:var(--shadow-focus), var(--shadow-2)}.dictate-orb-core{z-index:1;border-radius:inherit;background:var(--accent);width:100%;height:100%;box-shadow:var(--shadow-2);transition:background-color var(--dur-2) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);place-items:center;display:grid;position:relative}.dictate-orb:hover .dictate-orb-core{background:var(--accent-strong)}.dictate-orb-ring{border-radius:inherit;background:var(--accent);opacity:0;position:absolute;inset:0}.dictate-orb[aria-pressed=true] .dictate-orb-ring{animation:rt-ripple 1.6s var(--ease-out) infinite}.dictate-orb[aria-pressed=true] .dictate-orb-ring--2{animation-delay:.8s}.dictate-card[data-state=parsing] .dictate-orb-core{animation:rt-breathe 1.2s var(--ease-in-out) infinite}.dictate-transcript{min-height:0;color:var(--text);font-size:var(--fs-18);line-height:var(--lh-snug);letter-spacing:var(--ls-title)}.dictate-transcript:empty{display:none}.dictate-transcript--live:after{content:"";vertical-align:-.15em;background:var(--accent);width:2px;height:1.1em;margin-left:2px;animation:1s step-end infinite rt-caret;display:inline-block}.dictate-typed{gap:var(--sp-3);animation:rt-rise-in var(--dur-3) var(--ease-out) both;display:grid}.dictate-typed[hidden]{display:none}.dictate-typed>.btn,.dictate-switch{justify-self:start}.ex-form{gap:var(--sp-5);display:grid}.ex-form-card{border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--line)}.ex-form-card .section-title{margin-bottom:0}.ex-form-submit{bottom:calc(var(--nav-h) + var(--safe-bottom) + var(--sp-3));z-index:4;position:sticky}@media (min-width:768px){.ex-form-submit{bottom:var(--sp-4)}.ex-form-submit .btn{width:auto;min-width:240px}}.ex-form-submit .btn{box-shadow:var(--shadow-float)}.ex-form--parsing .field-control,.ex-form--parsing .picker-control,.ex-form--parsing .tag-control{position:relative;overflow:hidden}.ex-form--parsing .field-control:after,.ex-form--parsing .picker-control:after,.ex-form--parsing .tag-control:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);animation:rt-shimmer 1.1s var(--ease-in-out) infinite;pointer-events:none;position:absolute;inset:0;transform:translate(-100%)}.field-flash{animation:field-flash 1.1s var(--ease-out)}@keyframes field-flash{0%{background-color:var(--accent-soft-2);box-shadow:0 0 0 4px var(--accent-ring)}to{background-color:var(--surface);box-shadow:0 0 #0000}}.dup-hint:empty{display:none}.dup-card{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--info-soft);color:var(--info-strong);font-size:var(--fs-label);display:flex}.dup-card .icon{flex:none;margin-top:1px}.picker-control{align-items:center;gap:var(--sp-1) var(--sp-2);width:100%;min-height:var(--field-h);padding:var(--sp-2) var(--sp-4);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-control);color:var(--text);text-align:left;transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);grid-template-columns:1fr auto;display:grid}.picker-control:hover{border-color:var(--line-3)}.picker-control:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.picker-label{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium);grid-column:1}.picker-required{color:var(--accent-ink)}.picker-value{gap:var(--sp-1);flex-wrap:wrap;grid-column:1;display:flex}.picker-chevron{color:var(--text-3);grid-area:1/2/span 2}.picker-placeholder{color:var(--text-3);font-size:var(--fs-input)}.picker-pill{min-height:26px;padding:0 var(--sp-2);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-meta);font-weight:var(--w-medium);animation:rt-pop-in var(--dur-3) var(--ease-bounce) both;align-items:center;display:inline-flex}.picker[data-state=error] .picker-control{border-color:var(--danger);box-shadow:var(--shadow-danger)}.picker[data-state=error] .field-message{color:var(--danger-strong)}.tag-control{gap:var(--sp-1);min-height:var(--field-h);padding:var(--sp-2) var(--sp-4);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-control);cursor:text;transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);display:grid}.tag-field--focus .tag-control{border-color:var(--accent);box-shadow:var(--shadow-focus)}.tag-label{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium)}.tag-row{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:flex}.tag-list{display:contents}.tag{align-items:center;gap:var(--sp-1);min-height:28px;padding:0 var(--sp-1) 0 var(--sp-3);border-radius:var(--r-full);background:var(--surface-3);color:var(--text);font-size:var(--fs-meta);font-weight:var(--w-medium);display:inline-flex}.tag-remove{border-radius:var(--r-full);width:22px;height:22px;color:var(--text-2);transition:background-color var(--dur-1) var(--ease-out);place-items:center;display:grid}.tag-remove:hover{background:var(--surface-4)}.tag-input{min-width:140px;min-height:28px;color:var(--text);font-size:var(--fs-input);caret-color:var(--accent);background:0 0;border:0;flex:1}.tag-input::placeholder{color:var(--text-3)}.exercise-link{align-items:center;gap:var(--sp-2);color:var(--text);text-decoration:none;display:inline-flex}.exercise-link .icon{padding:var(--sp-1);box-sizing:content-box;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);transition:transform var(--dur-2) var(--ease-bounce)}.exercise-link:hover .icon{transform:scale(1.1)}@media (prefers-reduced-motion:reduce){.library-progress:after,.player[data-state=loading]:after,.ex-form--parsing .field-control:after,.ex-form--parsing .picker-control:after,.ex-form--parsing .tag-control:after{display:none}.ex-card[href]:hover{transform:none}.dictate-orb[aria-pressed=true] .dictate-orb-ring,.player-pulse>span{opacity:.25;animation:none}.player-spinner{animation-duration:1.2s!important;animation-iteration-count:infinite!important}}.ex-real-angle{align-items:center;display:flex}.ex-real-note{color:var(--text-3);font-size:var(--fs-meta)}.filter-section--toggles{gap:var(--sp-1)}.yt-start{gap:var(--sp-2);flex-wrap:wrap;display:flex}.yt-panel{gap:var(--sp-3);min-width:0;display:grid}.yt-search{background:var(--surface-2);box-shadow:none}.yt-search:focus-within{background:var(--surface)}.yt-chips{gap:var(--sp-2);padding:var(--sp-1) 0;scrollbar-width:none;display:flex;overflow-x:auto}.yt-chips::-webkit-scrollbar{display:none}.yt-chips .chip{transition:opacity var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out)}.yt-chip--dim{opacity:.55}.yt-saved-chip{margin-left:auto}.yt-saved-chip--empty .chip-count{display:none}.yt-saved-chip[aria-pressed=true] .icon path{fill:currentColor}.yt-status{min-height:1.4em;color:var(--text-3);font-size:var(--fs-meta)}.yt-status:empty{display:none}.yt-grid{gap:var(--sp-5) var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(208px,1fr));display:grid}.yt-state{grid-column:1/-1}.yt-card{min-width:0;position:relative}.yt-card-open{gap:var(--sp-2);border-radius:var(--r-lg);width:100%;color:var(--text);text-align:left;transition:transform var(--dur-1) var(--ease-out);align-content:start;padding:0;display:grid}.yt-card-open:focus-visible{box-shadow:var(--shadow-focus);outline:none}.yt-card-media{aspect-ratio:16/9;border-radius:var(--r-md);background:var(--surface-3);display:block;position:relative;overflow:hidden}.yt-card-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-4) var(--ease-out);position:absolute;inset:0}.yt-card-media--loaded .yt-card-img{opacity:1}.yt-card-media--broken .yt-card-img{display:none}.yt-card-play{border-radius:var(--r-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:44px;height:44px;color:var(--on-accent);opacity:0;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-bounce);background:#14100c8f;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.yt-card-duration,.yt-card-flag{bottom:var(--sp-2);align-items:center;gap:var(--sp-1);min-height:22px;padding:0 var(--sp-2);border-radius:var(--r-xs);font-size:var(--fs-12);font-weight:var(--w-semibold);line-height:1;display:inline-flex;position:absolute}.yt-card-duration{right:var(--sp-2);color:var(--on-accent);font-variant-numeric:tabular-nums;background:#14100cb8}.yt-card-flag{left:var(--sp-2);background:var(--accent);color:var(--on-accent)}.yt-card-flag--own{background:var(--ok)}.yt-card-body{gap:var(--sp-1);min-width:0;padding-right:var(--sp-8);display:grid}.yt-card-title{font-size:var(--fs-14);font-weight:var(--w-semibold);line-height:var(--lh-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yt-card-meta{color:var(--text-3);font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.yt-card-save{border-radius:var(--r-full);width:36px;height:36px;color:var(--text-2);transition:background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);place-items:center;display:grid;position:absolute;bottom:0;right:0}.yt-card-save:hover{background:var(--surface-3);color:var(--text)}.yt-card-save:focus-visible{box-shadow:var(--shadow-focus);outline:none}.yt-card-save[aria-pressed=true]{color:var(--accent-ink)}.yt-card-save[aria-pressed=true] .icon path{fill:currentColor}.yt-card--own .yt-card-media{box-shadow:0 0 0 2px var(--ok)}.yt-card--skeleton{gap:var(--sp-2);pointer-events:none;display:grid}.yt-card--skeleton .yt-card-body{padding-right:0}.yt-skeleton-short{width:60%}@media (hover:hover){.yt-card-open:hover .yt-card-img{transform:scale(1.04)}.yt-card-open:hover .yt-card-play{opacity:1;transform:translate(-50%,-50%)scale(1)}}.yt-card-open:active{transform:scale(.98)}.yt-footer{justify-content:center;display:flex}.yt-footer:empty{display:none}.yt-sentinel{height:1px;margin-top:calc(var(--sp-3) * -1)}.yt-end{color:var(--text-3);font-size:var(--fs-meta);text-align:center}.yt-more-error{justify-content:center;align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-label);flex-wrap:wrap;display:flex}.yt-preview{gap:var(--sp-4);display:grid}.yt-preview-player--short{aspect-ratio:9/16;width:auto;height:min(62dvh,560px);margin:0 auto}.yt-preview-info{gap:var(--sp-1);display:grid}.yt-preview-title{font-size:var(--fs-18);font-weight:var(--w-semibold);line-height:var(--lh-snug)}.yt-preview-meta{color:var(--text-3);font-size:var(--fs-meta)}.yt-preview-link{justify-self:start;align-items:center;gap:var(--sp-1);margin-top:var(--sp-1);color:var(--accent-ink);font-size:var(--fs-label);font-weight:var(--w-medium);display:inline-flex}.yt-preview-link:hover{text-decoration:underline}.yt-preview-note{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--ok-soft);color:var(--ok-strong);font-size:var(--fs-label);display:flex}.yt-preview-actions{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.yt-preview-save--on{color:var(--accent-ink)}.yt-preview-save--on .icon path{fill:currentColor}@media (max-width:479px){.yt-grid{gap:var(--sp-3);grid-template-columns:1fr}.yt-card-open,.yt-card--skeleton{gap:var(--sp-3);grid-template-columns:148px minmax(0,1fr);align-items:start}.yt-card-body{padding-right:var(--sp-6)}.yt-saved-chip{margin-left:0}}@media (prefers-reduced-motion:reduce){.yt-card-img,.yt-card-play,.yt-card-open{transition:none}}.page--board{max-width:var(--content-wide);padding-top:var(--sp-4);padding-bottom:calc(var(--sp-20) + var(--sp-10))}.board{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.board-header{gap:var(--sp-3);flex-direction:column;display:flex}.board-header-top{align-items:flex-start;gap:var(--sp-2);margin-left:calc(var(--sp-2) * -1);display:flex}.board-titles{gap:var(--sp-1);min-width:0;padding-top:var(--sp-1);flex-direction:column;flex:1;display:flex}.board-kicker-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-height:24px;display:flex}.board-kicker{color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold)}.board-status{gap:var(--sp-1);display:inline-flex}.board-title{color:var(--text);font-size:var(--fs-title);font-weight:var(--w-bold);letter-spacing:var(--ls-title);line-height:var(--lh-tight);margin:0}.inline-text{width:100%;min-width:0;padding:var(--sp-1) var(--sp-2);margin:0 calc(var(--sp-2) * -1);border-radius:var(--r-sm);color:inherit;font:inherit;resize:none;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);background:0 0;border:1px solid #0000}.inline-text:hover{background:var(--surface-3)}.inline-text:focus{border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow-focus);outline:none}.inline-text::placeholder{color:var(--text-3)}.inline-text--multi{line-height:var(--lh-base);overflow:hidden}.board-title--input{font-size:var(--fs-title);font-weight:var(--w-bold);letter-spacing:var(--ls-title);line-height:var(--lh-tight)}.sheet-inline{padding:var(--sp-3);border-color:var(--line-2);border-radius:var(--r-control);background:var(--surface);font-size:var(--fs-input);margin:0}.sync-pill{align-items:center;gap:var(--sp-1);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium);white-space:nowrap;margin-left:auto;display:inline-flex}.sync-dot{border-radius:var(--r-full);background:var(--ok);width:7px;height:7px;transition:background-color var(--dur-3) var(--ease-out)}.sync-pill[data-tone=busy] .sync-dot{background:var(--info);animation:rt-breathe 1.1s var(--ease-in-out) infinite}.sync-pill[data-tone=warn]{color:var(--warn-strong)}.sync-pill[data-tone=warn] .sync-dot{background:var(--warn)}.board-toolbar{align-items:center;gap:var(--sp-1);margin-left:calc(var(--sp-2) * -1);scrollbar-width:none;display:flex;overflow-x:auto}.board-toolbar::-webkit-scrollbar{display:none}.board-toolbar.is-readonly>.icon-btn:nth-child(-n+2){display:none}.board-mara{margin-left:auto}.board-mara.is-working{animation:rt-avatar-pulse 1.8s var(--ease-out) infinite}.review-host{display:contents}.review-badge{align-items:center;gap:var(--sp-1);height:var(--control-h-sm);padding:0 var(--sp-3) 0 var(--sp-2);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-semibold);white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.review-badge:active{transform:scale(.97)}.review-badge--ok{background:var(--ok-soft);color:var(--ok-strong)}.review-badge--danger{background:var(--danger-soft);color:var(--danger-strong)}.review-badge--warn{background:var(--warn-soft);color:var(--warn-strong)}.review-badge--info{background:var(--info-soft);color:var(--info-strong)}.review-count{min-width:20px;height:20px;padding:0 var(--sp-1);border-radius:var(--r-full);color:var(--on-accent);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;place-items:center;display:inline-grid}.review-count--danger{background:var(--danger)}.review-count--warn{background:var(--warn)}.review-count--info{background:var(--info)}.board-notices{gap:var(--sp-2);display:grid}.board-notices:empty{display:none}.board-notices .banner{animation:rt-rise-in var(--dur-3) var(--ease-out) both}.goal-card{border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1)}.goal-toggle{align-items:center;gap:var(--sp-3);width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);color:var(--text);text-align:left;display:flex}.goal-kicker{align-items:center;gap:var(--sp-1);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase;flex:none;display:inline-flex}.goal-peek{min-width:0;color:var(--text-2);font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;transition:opacity var(--dur-2) var(--ease-out);flex:1;overflow:hidden}.goal-card[data-open=true] .goal-peek{opacity:0}.goal-chevron{color:var(--text-3);transition:transform var(--dur-3) var(--ease-spring);display:grid}.goal-card[data-open=true] .goal-chevron{transform:rotate(180deg)}.goal-detail{transition:grid-template-rows var(--dur-4) var(--ease-spring);grid-template-rows:0fr;display:grid}.goal-card[data-open=true] .goal-detail{grid-template-rows:1fr}.goal-detail-inner{gap:var(--sp-3);min-height:0;padding:0 var(--sp-4);display:grid;overflow:hidden}.goal-card[data-open=true] .goal-detail-inner{padding-bottom:var(--sp-4)}.goal-input,.goal-text{color:var(--text);font-size:var(--fs-body);margin:0}.goal-summary{align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-label);flex-wrap:wrap;margin:0;display:flex}.goal-edited{padding:var(--sp-0) var(--sp-2);border-radius:var(--r-full);background:var(--plum-soft);color:var(--plum-strong);font-size:var(--fs-caption);font-weight:var(--w-semibold)}.goal-facts{gap:var(--sp-1);flex-wrap:wrap;display:flex}.goal-fact{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-medium)}.goal-fact--accent{background:var(--accent-soft);color:var(--accent-ink)}.goal-fact--warn{background:var(--warn-soft);color:var(--warn-strong)}.goal-questions{gap:var(--sp-1);color:var(--info-strong);font-size:var(--fs-meta);margin:0;padding:0;list-style:none;display:grid}.goal-questions li{gap:var(--sp-2);align-items:flex-start;display:flex}.goal-pending{gap:var(--sp-2);display:grid}.goal-pending .skeleton-line{width:70%}.goal-pending-text{color:var(--text-3);font-size:var(--fs-meta)}.goal-actions{margin-left:calc(var(--sp-3) * -1);display:flex}.day-tabs{top:calc(var(--topbar-h) + var(--safe-top));z-index:5;align-items:center;gap:var(--sp-2);margin:0 calc(var(--gutter) * -1);padding:var(--sp-2) var(--gutter);background:var(--bg);display:flex;position:sticky}.day-tabs[hidden]{display:none}.day-tabs-track{gap:var(--sp-1);min-width:0;padding:var(--sp-1);border-radius:var(--r-full);background:var(--surface-3);scrollbar-width:none;scroll-behavior:smooth;flex:1;display:flex;position:relative;overflow-x:auto}.day-tabs-track::-webkit-scrollbar{display:none}.day-tabs-indicator{top:var(--sp-1);bottom:var(--sp-1);width:var(--w,0);border-radius:var(--r-full);background:var(--surface);box-shadow:var(--shadow-1);transform:translateX(var(--x,0));transition:transform var(--dur-4) var(--ease-spring), width var(--dur-4) var(--ease-spring), opacity var(--dur-2) var(--ease-out);position:absolute;left:0}.day-tab{z-index:1;min-height:var(--control-h-md);padding:0 var(--sp-4);border-radius:var(--r-full);color:var(--text-2);line-height:var(--lh-tight);transition:color var(--dur-2) var(--ease-out);flex-direction:column;flex:none;justify-content:center;align-items:flex-start;display:flex;position:relative}.day-tab[aria-selected=true]{color:var(--text)}.day-tab-title{font-size:var(--fs-label);font-weight:var(--w-semibold)}.day-tab-meta{max-width:160px;color:var(--text-3);font-size:var(--fs-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-tab-dot{top:var(--sp-2);right:var(--sp-2);border-radius:var(--r-full);background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface-3);transition:transform var(--dur-3) var(--ease-bounce);position:absolute;transform:scale(0)}.day-tab.has-dot .day-tab-dot{animation:rt-avatar-pulse 1.6s var(--ease-out) 2;transform:scale(1)}.day-tabs-add{width:var(--control-h-md);height:var(--control-h-md);border-radius:var(--r-full);background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-1);transition:transform var(--dur-1) var(--ease-out);flex:none;place-items:center;display:grid}.day-tabs-add:active{transform:scale(.94)}.board-days{gap:var(--gutter);margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) var(--sp-2);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none;align-items:flex-start;display:flex;overflow-x:auto}.board-days::-webkit-scrollbar{display:none}.day-col{gap:var(--sp-4);scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;flex:0 0 100%;min-width:0;display:flex}.day-head{align-items:flex-start;gap:var(--sp-2);display:flex}.day-titles{gap:var(--sp-0);flex:1;min-width:0;display:grid}.day-title{color:var(--text);font-size:var(--fs-title-sm);font-weight:var(--w-bold);letter-spacing:var(--ls-title);margin:0}.day-meta{color:var(--text-3);font-size:var(--fs-meta)}.day-grip{display:none}.day-empty{padding:var(--sp-6) var(--sp-4);border-radius:var(--r-card);background:var(--surface-2);color:var(--text-3);font-size:var(--fs-label);text-align:center;margin:0}.day-sections{gap:var(--sp-5);flex-direction:column;display:flex}.add-section,.add-btn,.block-add{justify-content:center;align-items:center;gap:var(--sp-1);min-height:var(--control-h-sm);padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--accent-ink);font-size:var(--fs-label);font-weight:var(--w-semibold);transition:background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.add-section:hover,.add-btn:hover,.block-add:hover{background:var(--accent-soft)}.add-section:active,.add-btn:active,.block-add:active{transform:scale(.96)}.add-section{background:var(--surface-3);color:var(--text-2);align-self:flex-start}.add-btn--quiet{color:var(--text-2)}.board-section{gap:var(--sp-2);flex-direction:column;display:flex}.section-head{align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);display:flex}.section-title{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.section-count{color:var(--text-3);font-size:var(--fs-caption);flex:1}.section-items{gap:var(--sp-2);min-height:var(--sp-2);flex-direction:column;display:flex;position:relative}.board-section.is-empty .section-items{min-height:var(--sp-14);border-radius:var(--r-card);background:var(--surface-2)}.board-section.is-empty .section-items:before{content:attr(data-empty-label);color:var(--text-3);font-size:var(--fs-meta);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.page--board.is-dragging .section-items,.page--board.is-dragging .block-items{min-height:var(--sp-12)}.page--board.is-dragging .section-items{border-radius:var(--r-card);background:var(--surface-2);transition:background-color var(--dur-2) var(--ease-out)}.section-add{gap:var(--sp-1);margin-left:calc(var(--sp-3) * -1);display:flex}.grip{padding:var(--sp-2) var(--sp-1);color:var(--text-3);cursor:grab;opacity:0;transition:opacity var(--dur-2) var(--ease-out);flex:none;grid-template-columns:repeat(2,3px);gap:3px;display:none}.grip i{border-radius:var(--r-full);background:currentColor;width:3px;height:3px}.item-card{align-items:center;gap:var(--sp-3);min-height:var(--sp-16);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-2);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);display:flex;position:relative}.item-card:focus-visible{box-shadow:var(--shadow-focus), var(--shadow-1);outline:none}.item-card:active{transform:scale(.985)}.item-card--nested{min-height:var(--sp-12);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-1);border-radius:var(--r-md);box-shadow:none;background:var(--surface)}.item-card--unmatched{background:var(--warn-soft)}.item-card.is-pending{opacity:.72}.item-thumb{border-radius:var(--r-md);background:var(--surface-3);color:var(--text-3);flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.item-thumb img{object-fit:cover;pointer-events:none;width:100%;height:100%}.item-thumb--md{width:var(--sp-12);height:var(--sp-12)}.item-thumb--sm{width:var(--sp-10);height:var(--sp-10);border-radius:var(--r-sm)}.item-thumb--lg{width:var(--sp-16);height:var(--sp-16);border-radius:var(--r-lg)}.item-letter{bottom:var(--sp-0);left:var(--sp-0);border-radius:var(--r-xs);background:var(--block-tone,var(--accent));width:18px;height:18px;color:var(--on-accent);font-size:var(--fs-caption);font-weight:var(--w-bold);place-items:center;line-height:1;display:grid;position:absolute}.item-body{gap:var(--sp-0);flex:1;min-width:0;display:grid}.item-name{color:var(--text);font-size:var(--fs-15);font-weight:var(--w-semibold);line-height:var(--lh-snug);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-card--nested .item-name{font-size:var(--fs-14)}.item-line{color:var(--text-2);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;line-height:var(--lh-snug)}.item-tags{gap:var(--sp-1);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.item-tag{align-items:center;gap:var(--sp-1);padding:var(--sp-0) var(--sp-2);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-medium);display:inline-flex}.item-tag--warn{background:var(--warn-soft-2);color:var(--warn-strong)}.item-tag--plum{background:var(--plum-soft);color:var(--plum-strong)}.item-tag--quiet{color:var(--text-3);background:0 0}.block-card{gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-xl);background:var(--block-soft,var(--accent-soft));transition:background-color var(--dur-4) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);flex-direction:column;display:flex;position:relative}.block-top{gap:var(--sp-2);display:grid}.block-head{align-items:center;gap:var(--sp-1) var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);color:var(--text-2);text-align:left;transition:background-color var(--dur-1) var(--ease-out);flex-wrap:wrap;display:flex}.block-head:hover{background:color-mix(in srgb, var(--surface) 55%, transparent)}.block-badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-full);background:var(--block-tone,var(--accent));color:var(--on-accent);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:.02em;transition:background-color var(--dur-4) var(--ease-out);display:inline-flex}.block-badge--accent{--block-tone:var(--accent)}.block-badge--plum{--block-tone:var(--plum)}.block-badge--info{--block-tone:var(--info)}.block-badge--ok{--block-tone:var(--ok)}.block-badge--warn{--block-tone:var(--warn)}.block-badge--lg{width:var(--sp-14);height:var(--sp-14);border-radius:var(--r-lg);place-items:center;padding:0;display:grid}.block-detail{min-width:0;font-size:var(--fs-meta);font-weight:var(--w-medium);font-variant-numeric:tabular-nums;flex:1}.block-edit{color:var(--text-3);display:grid}.block-rotation{gap:var(--sp-1);padding:0 var(--sp-2);font-size:var(--fs-meta);margin:0;list-style:none;display:grid}.block-rotation li{gap:var(--sp-2);grid-template-columns:minmax(0,7.5em) minmax(0,1fr);display:grid}.block-rotation-label{color:var(--text-3);font-weight:var(--w-semibold)}.block-rotation-text{color:var(--text-2)}.block-note{padding:0 var(--sp-2);color:var(--text-2);font-size:var(--fs-meta);margin:0}.block-items{gap:var(--sp-1);min-height:var(--sp-2);flex-direction:column;display:flex}.block-add{min-height:var(--control-h-sm);align-self:flex-start}.grip--block{top:var(--sp-2);right:var(--sp-2);position:absolute}.is-entering{animation:board-enter var(--dur-5) var(--ease-spring) both}@keyframes board-enter{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.is-leaving{opacity:0;pointer-events:none;transition:height var(--dur-4) var(--ease-spring), opacity var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-out), margin var(--dur-4) var(--ease-spring), padding var(--dur-4) var(--ease-spring);margin-top:calc(var(--sp-2) * -1);padding-top:0;padding-bottom:0;overflow:hidden;transform:scale(.97)}.is-flash{animation:board-flash 1.6s var(--ease-out)}.is-flash-soft{animation:board-flash-soft 1.1s var(--ease-out)}.is-flash-warn{animation:board-flash-warn 1.6s var(--ease-out)}@keyframes board-flash{0%{box-shadow:0 0 0 0 var(--accent-ring), var(--shadow-1);background-color:var(--accent-soft-2)}25%{box-shadow:0 0 0 6px var(--accent-ring), var(--shadow-2);background-color:var(--accent-soft)}to{box-shadow:0 0 0 0 transparent, var(--shadow-1)}}@keyframes board-flash-soft{0%{box-shadow:0 0 0 0 var(--ok-ring), var(--shadow-1)}30%{box-shadow:0 0 0 4px var(--ok-ring), var(--shadow-1)}to{box-shadow:0 0 0 0 transparent, var(--shadow-1)}}@keyframes board-flash-warn{0%{box-shadow:0 0 0 0 var(--warn-soft-2), var(--shadow-1);background-color:var(--warn-soft-2)}25%{box-shadow:0 0 0 6px var(--warn-soft-2), var(--shadow-2)}to{box-shadow:0 0 0 0 transparent, var(--shadow-1)}}.drag-ghost{opacity:.4;box-shadow:none;background:var(--accent-soft)}.drag-ghost>*{visibility:hidden}.drag-chosen{box-shadow:var(--shadow-float)}.drag-active{box-shadow:var(--shadow-float);opacity:.96;transform:rotate(1.2deg)scale(1.02)}body.is-dragging,body.is-dragging *{cursor:grabbing}.page--board.is-mara-working .board-days{position:relative}.page--board.is-mara-working .day-tabs-track{background-image:linear-gradient(90deg, var(--surface-3) 0%, var(--accent-soft) 50%, var(--surface-3) 100%);background-size:200% 100%;animation:2.4s linear infinite board-working}@keyframes board-working{0%{background-position:100% 0}to{background-position:-100% 0}}.board-empty:empty{display:none}.board-skeleton{gap:var(--sp-5);flex-direction:column;display:flex}.board-skeleton-head{gap:var(--sp-3);display:grid}.board-skeleton-tabs{gap:var(--sp-2);display:flex}.day-tab-skeleton{width:96px;height:var(--control-h-md);border-radius:var(--r-full)}.board-days--skeleton{overflow:hidden}.day-col--skeleton{gap:var(--sp-3)}.item-card--skeleton{box-shadow:none;cursor:default}.undo-bar{left:50%;bottom:calc(var(--nav-h) + var(--safe-bottom) + var(--sp-3));z-index:calc(var(--z-pop) - 1);align-items:center;gap:var(--sp-3);width:min(calc(100vw - var(--sp-6)), 520px);min-height:var(--control-h);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border-radius:var(--r-xl);background:var(--inverse-bg);color:var(--inverse-fg);box-shadow:var(--shadow-float);display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.undo-bar[hidden]{display:none}body:not(.has-tabbar) .undo-bar{bottom:calc(var(--safe-bottom) + var(--sp-5))}.undo-bar--in{animation:undo-in var(--dur-4) var(--ease-spring) both}.undo-bar--leaving{animation:undo-out var(--dur-2) var(--ease-in-out) forwards}@keyframes undo-in{0%{opacity:0;transform:translate(-50%,16px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes undo-out{to{opacity:0;transform:translate(-50%,12px)scale(.98)}}.undo-lead{color:var(--ok);flex:none;place-items:center;display:grid}.undo-bar[data-tone=warn] .undo-lead{color:var(--warn)}.undo-bar[data-tone=danger] .undo-lead{color:var(--danger)}.undo-bar[data-tone=accent] .undo-lead{color:var(--accent-soft-2)}.undo-text{min-width:0;font-size:var(--fs-label);line-height:var(--lh-snug);flex:1}.undo-actions{gap:var(--sp-1);flex:none;display:flex}.undo-action{min-height:var(--control-h-sm);padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--inverse-fg);font-size:var(--fs-label);font-weight:var(--w-bold);transition:background-color var(--dur-1) var(--ease-out)}.undo-action--primary{background:color-mix(in srgb, var(--inverse-fg) 16%, transparent)}.undo-action:hover{background:color-mix(in srgb, var(--inverse-fg) 24%, transparent)}.undo-action--ghost{color:var(--inverse-fg-2)}.undo-progress{background:color-mix(in srgb, var(--inverse-fg) 40%, transparent);transform-origin:0;width:100%;height:2px;position:absolute;bottom:0;left:0;transform:scaleX(0)}.undo-bar--timed .undo-progress{animation:linear forwards undo-progress}@keyframes undo-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.sheet--editor .sheet-body{padding-top:var(--sp-1)}.item-sheet,.block-sheet,.menu-sheet,.create-sheet,.move-sheet,.history-sheet{gap:var(--sp-5);display:grid}.item-sheet-head{align-items:center;gap:var(--sp-3);display:flex}.item-sheet-titles{gap:var(--sp-0);flex:1;min-width:0;display:grid}.item-sheet-titles .sheet-title{font-size:var(--fs-title-sm);line-height:var(--lh-tight)}.ref-chip{align-items:center;gap:var(--sp-1);padding:0 var(--sp-2);border-radius:var(--r-xs);background:var(--surface-3);color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-caption);justify-self:start;line-height:20px;display:inline-flex}.ref-chip--action{color:var(--accent-ink);transition:background-color var(--dur-1) var(--ease-out);margin-left:auto}.ref-chip--action:hover{background:var(--accent-soft)}.sheet-group{gap:var(--sp-3);display:grid}.sheet-group-title{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase;margin:0}.sheet-actions{gap:var(--sp-2);width:100%;display:flex}.sheet-actions>*{flex:1}.stepper-grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stepper{gap:var(--sp-1);min-width:0;display:grid}.stepper-label{color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold)}.stepper-row{height:var(--control-h);padding:var(--sp-1);border:1px solid var(--line-2);border-radius:var(--r-full);background:var(--surface);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);align-items:center;display:flex}.stepper--focus .stepper-row{border-color:var(--accent);box-shadow:var(--shadow-focus)}.stepper-btn{width:calc(var(--control-h) - var(--sp-3));height:calc(var(--control-h) - var(--sp-3));border-radius:var(--r-full);background:var(--surface-3);color:var(--text);touch-action:manipulation;transition:background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out), opacity var(--dur-2) var(--ease-out);flex:none;place-items:center;display:grid}.stepper-btn:hover:not(:disabled){background:var(--surface-4)}.stepper-btn:active:not(:disabled){background:var(--accent-soft-2);transform:scale(.9)}.stepper-btn:disabled{opacity:.35}.stepper-value{justify-content:center;align-items:baseline;gap:var(--sp-1);cursor:text;flex:1;min-width:0;display:flex}.stepper-input{width:100%;min-width:0;max-width:5.5em;color:var(--text);font-size:var(--fs-18);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:0;padding:0}.stepper-input:focus{outline:none}.stepper-input::placeholder{color:var(--text-3);font-size:var(--fs-label);font-weight:var(--w-medium)}.stepper-unit{color:var(--text-3);font-size:var(--fs-meta);font-weight:var(--w-semibold)}.stepper-hint{color:var(--text-3);font-size:var(--fs-caption)}.stepper-bump .stepper-input{animation:stepper-bump var(--dur-3) var(--ease-bounce)}@keyframes stepper-bump{0%{transform:scale(1)}40%{color:var(--accent-ink);transform:scale(1.16)}to{transform:scale(1)}}.stepper-limit{animation:rt-shake var(--dur-3) var(--ease-out)}.stepper--sm .stepper-row{height:var(--control-h-md)}.stepper--sm .stepper-btn{width:calc(var(--control-h-md) - var(--sp-3));height:calc(var(--control-h-md) - var(--sp-3))}.stepper--sm .stepper-input{font-size:var(--fs-16)}.stepper--disabled{opacity:.55}.pill-group{gap:var(--sp-2);display:flex}.pill-group--scroll{--bleed:var(--sp-6);margin:0 calc(var(--bleed) * -1);padding:var(--sp-0) var(--bleed);scroll-snap-type:x proximity;scroll-padding-inline:var(--bleed);scrollbar-width:none;overflow-x:auto}.pill-group--scroll::-webkit-scrollbar{display:none}.pill-group--wrap{flex-wrap:wrap}.pill{min-height:var(--control-h-sm);padding:0 var(--sp-4);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-semibold);white-space:nowrap;scroll-snap-align:start;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);flex:none}.pill:hover{background:var(--surface-4)}.pill:active{transform:scale(.95)}.pill[aria-checked=true],.pill[aria-pressed=true]{background:var(--inverse-bg);color:var(--inverse-fg);box-shadow:var(--shadow-1)}.pill--action{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-1)}.scheme-fields{gap:var(--sp-3);display:grid}.fixed-sets{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-control);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-label);display:flex}.set-preview-wrap{gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-card);background:var(--surface-2);display:grid}.set-preview-head{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);justify-content:space-between;display:flex}.set-preview{gap:var(--sp-1);transition:opacity var(--dur-2) var(--ease-out);margin:0;padding:0;list-style:none;display:grid}.set-preview.is-loading{opacity:.55}.set-row{gap:var(--sp-2);min-height:32px;padding:0 var(--sp-2);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;grid-template-columns:24px minmax(0,5.5em) minmax(0,1fr) minmax(0,1fr) auto;align-items:center;display:grid}.set-row.enter{animation-duration:var(--dur-3)}.set-row--aproximacion{color:var(--text-3);background:0 0}.set-row--top .set-kind{color:var(--accent-ink)}.set-index{border-radius:var(--r-full);background:var(--surface-3);width:22px;height:22px;color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-bold);place-items:center;display:grid}.set-kind{color:var(--text-3);font-weight:var(--w-semibold)}.set-reps{color:var(--text);font-weight:var(--w-semibold)}.set-load,.set-rir{color:var(--text-2)}.set-tech{color:var(--plum-strong);font-size:var(--fs-caption);grid-column:2/-1}.set-preview-error{color:var(--danger-strong);font-size:var(--fs-meta);margin:0}.custom-sets{gap:var(--sp-2);display:grid}.custom-set{grid-template-columns:24px minmax(0, 1fr) minmax(0, 1fr) var(--control-h-sm);gap:var(--sp-2);align-items:end;display:grid}.custom-set .set-index{margin-top:var(--sp-5);align-self:center}.technique-params{gap:var(--sp-3);display:grid}.technique-params:empty{display:none}.suggestions{gap:var(--sp-2);display:grid}.suggestions-label{color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold)}.menu-list{gap:var(--sp-1);display:grid}.menu-item{align-items:center;gap:var(--sp-3);width:100%;min-height:var(--tap-min);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--text);text-align:left;transition:background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:flex}.menu-item:hover{background:var(--surface-3)}.menu-item:active{transform:scale(.985)}.menu-item:disabled{opacity:.45}.menu-item-icon{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);flex:none;place-items:center;display:grid}.menu-item-body{gap:var(--sp-0);min-width:0;display:grid}.menu-item-label{font-size:var(--fs-15);font-weight:var(--w-semibold)}.menu-item-hint{color:var(--text-3);font-size:var(--fs-meta)}.menu-list .inline-confirm{margin-top:var(--sp-2)}.block-form{gap:var(--sp-4);display:grid}.block-types{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));display:grid}.block-type{gap:var(--sp-0);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:left;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:grid}.block-type:active:not(:disabled){transform:scale(.97)}.block-type:disabled{opacity:.5;cursor:not-allowed}.block-type-name{color:var(--text);font-size:var(--fs-15);font-weight:var(--w-bold)}.block-type-range{color:var(--text-3);font-size:var(--fs-caption)}.block-type--accent[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-ring)}.block-type--plum[aria-checked=true]{border-color:var(--plum);background:var(--plum-soft);box-shadow:0 0 0 3px var(--plum-soft-2)}.block-type--info[aria-checked=true]{border-color:var(--info);background:var(--info-soft);box-shadow:0 0 0 3px var(--info-soft-2)}.block-type--ok[aria-checked=true]{border-color:var(--ok);background:var(--ok-soft);box-shadow:0 0 0 3px var(--ok-ring)}.block-type--warn[aria-checked=true]{border-color:var(--warn);background:var(--warn-soft);box-shadow:0 0 0 3px var(--warn-soft-2)}.block-form-preview{padding:var(--sp-3);border-radius:var(--r-control);background:var(--surface-2);color:var(--text);font-size:var(--fs-label);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;margin:0}.block-fields{gap:var(--sp-3);display:grid}.block-hint{color:var(--text-3);font-size:var(--fs-meta);margin:0}.block-hint--warn{color:var(--warn-strong)}.sheet--picker .sheet-body{padding-top:0}.picker{gap:var(--sp-3);display:grid}.picker-search{z-index:2;align-items:center;gap:var(--sp-2);height:var(--field-h);padding:0 var(--sp-2) 0 var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-full);background:var(--surface);color:var(--text-3);box-shadow:0 var(--sp-2) var(--sp-4) var(--surface);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);display:flex;position:sticky;top:0}.picker-search:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus)}.picker-input{min-width:0;height:100%;color:var(--text);font-size:var(--fs-input);background:0 0;border:0;flex:1}.picker-input:focus{outline:none}.picker-input::-webkit-search-cancel-button{display:none}.picker-clear{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-full);color:var(--text-3);place-items:center;display:grid}.picker-list{gap:var(--sp-1);display:grid}.picker-caption{margin:var(--sp-2) 0 0;color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.picker-row{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2);border-radius:var(--r-lg);text-align:left;transition:background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:flex}.picker-row:hover{background:var(--surface-3)}.picker-row:active{transform:scale(.985)}.picker-row[aria-selected=true],.picker-row.is-picked{background:var(--accent-soft)}.picker-row-body{flex:1;min-width:0;display:grid}.picker-row-name{color:var(--text);font-size:var(--fs-15);font-weight:var(--w-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-row-meta{color:var(--text-3);font-size:var(--fs-meta);text-transform:capitalize}.picker-row-state{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);flex:none;place-items:center;display:grid}.picker-row.is-picked .picker-row-state,.picker-row[aria-selected=true] .picker-row-state{background:var(--accent);color:var(--on-accent)}.picker-order{font-size:var(--fs-label);font-weight:var(--w-bold)}.picker-skeleton{padding:var(--sp-2)}.picker-footer{gap:var(--sp-3);width:100%;display:grid}.picker-tray{gap:var(--sp-2);scrollbar-width:none;display:flex;overflow-x:auto}.picker-tray[hidden]{display:none}.picker-token{align-items:center;gap:var(--sp-1);min-height:var(--control-h-sm);padding:0 var(--sp-2) 0 var(--sp-1);border-radius:var(--r-full);background:var(--surface-3);color:var(--text);font-size:var(--fs-meta);font-weight:var(--w-semibold);animation:rt-pop-in var(--dur-3) var(--ease-bounce) both;flex:none;display:inline-flex}.picker-token-index{border-radius:var(--r-full);background:var(--accent);width:22px;height:22px;color:var(--on-accent);font-size:var(--fs-caption);place-items:center;display:grid}.move-list{gap:var(--sp-1);display:grid}.move-day{margin:var(--sp-3) 0 var(--sp-1);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.move-row{align-items:center;gap:var(--sp-3);width:100%;min-height:var(--tap-min);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);text-align:left;transition:background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:flex}.move-row:hover:not(:disabled){background:var(--surface-3)}.move-row:active:not(:disabled){transform:scale(.985)}.move-row--nested{margin-left:var(--sp-5);background:0 0}.move-row.is-current{opacity:.6}.move-row-body{flex:1;min-width:0;display:grid}.move-row-title{color:var(--text);font-size:var(--fs-15);font-weight:var(--w-semibold)}.move-row-meta,.move-row-here{color:var(--text-3);font-size:var(--fs-meta)}.move-row-icon{color:var(--text-3);display:grid}.history-body,.review-body{gap:var(--sp-4);display:grid}.history-list{gap:var(--sp-2);display:grid}.history-row{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface-2);transition:opacity var(--dur-3) var(--ease-out);display:flex}.history-row.is-undone{opacity:.6}.history-icon{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);flex:none;place-items:center;display:grid}.history-icon--accent{background:var(--accent-soft);color:var(--accent-ink)}.history-icon--info{background:var(--info-soft);color:var(--info-strong)}.history-icon--plum{background:var(--plum-soft);color:var(--plum-strong)}.history-main{gap:var(--sp-1);flex:1;min-width:0;display:grid}.history-top{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.history-label{color:var(--text);font-size:var(--fs-15)}.history-chips{gap:var(--sp-0);color:var(--text-2);font-size:var(--fs-meta);margin:0;padding:0;list-style:none;display:grid}.history-chips .is-warn{color:var(--warn-strong)}.history-meta{color:var(--text-3);font-size:var(--fs-caption)}.history-error{color:var(--warn-strong);font-size:var(--fs-meta);margin:0}.history-actions{align-items:flex-end;gap:var(--sp-1);flex-direction:column;display:flex}.history-more{justify-content:center;display:flex}.snapshot-detail{gap:var(--sp-1);margin-top:var(--sp-2);display:grid}.snapshot-day{justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-meta);display:flex}.snapshot-day span{color:var(--text-3)}.review-group{gap:var(--sp-2);display:grid}.review-group-title{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase;justify-content:space-between;align-items:center;margin:0;display:flex}.review-group-title span{color:var(--text-3);font-weight:var(--w-medium);letter-spacing:0;text-transform:none}.review-group-title--danger{color:var(--danger-strong)}.review-group-title--warn{color:var(--warn-strong)}.review-group-title--info{color:var(--info-strong)}.finding{gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out), background-color var(--dur-3) var(--ease-out);display:grid}.finding--danger{background:var(--danger-soft)}.finding--warn{background:var(--warn-soft)}.finding.is-resolved{opacity:.5;background:var(--ok-soft);transform:scale(.98)}.finding.is-dismissed{opacity:.7}.finding-top{align-items:center;gap:var(--sp-2);display:flex}.finding-icon{color:var(--text-2);display:grid}.finding--danger .finding-icon{color:var(--danger)}.finding--warn .finding-icon{color:var(--warn)}.finding--info .finding-icon{color:var(--info)}.finding-title{color:var(--text);font-size:var(--fs-15);flex:1}.finding-text,.finding-suggestion,.finding-why{font-size:var(--fs-label);line-height:var(--lh-base);margin:0}.finding-text{color:var(--text)}.finding-suggestion{color:var(--ok-strong);font-weight:var(--w-semibold)}.finding-why{color:var(--text-3);font-size:var(--fs-caption)}.finding-actions{gap:var(--sp-1);margin-left:calc(var(--sp-2) * -1);flex-wrap:wrap;display:flex}.finding-actions:empty{display:none}.volume{gap:var(--sp-2);display:grid}.volume-row{gap:var(--sp-3);font-size:var(--fs-meta);grid-template-columns:minmax(0,7em) minmax(0,1fr) 3em;align-items:center;display:grid}.volume-name{color:var(--text-2);font-weight:var(--w-semibold)}.volume-track{border-radius:var(--r-full);background:var(--surface-3);height:10px;position:relative;overflow:hidden}.volume-band{background:var(--ok-soft-2);position:absolute;top:0;bottom:0}.volume-fill{width:var(--w);border-radius:var(--r-full);background:var(--ok);animation:volume-grow var(--dur-5) var(--ease-spring) both;transform-origin:0;position:absolute;top:2px;bottom:2px;left:0}.volume-row--bajo .volume-fill{background:var(--info)}.volume-row--alto .volume-fill{background:var(--warn)}@keyframes volume-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.volume-value{color:var(--text);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;text-align:right}.sessions{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.session{gap:var(--sp-0);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-meta);display:grid}.session strong{color:var(--text);font-size:var(--fs-18);font-variant-numeric:tabular-nums}.session span{color:var(--text-2)}.session-meta{color:var(--text-3)}.review-more{padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2)}.review-more summary{color:var(--text-2);font-size:var(--fs-label);font-weight:var(--w-semibold);cursor:pointer}.review-more[open]{gap:var(--sp-2);display:grid}.review-unavailable{gap:var(--sp-1);margin:var(--sp-2) 0 0;padding-left:var(--sp-5);color:var(--text-3);font-size:var(--fs-meta);display:grid}.review-clear{justify-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);border-radius:var(--r-card);background:var(--ok-soft);color:var(--ok-strong);text-align:center;display:grid}.review-clear-icon{width:var(--sp-14);height:var(--sp-14);border-radius:var(--r-full);background:var(--surface);animation:rt-scale-in var(--dur-4) var(--ease-bounce) both;place-items:center;display:grid}.routines .page-header{margin-bottom:var(--sp-4)}.routines-bar{gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap;align-items:center;display:flex}.routines-bar .segmented{flex:none}.routines-search{height:var(--control-h-md);box-shadow:none;flex:240px;position:static}.routine-groups{gap:var(--sp-6);display:grid}.routine-group{gap:var(--sp-3);display:grid}.routine-group-head{align-items:center;gap:var(--sp-2);display:flex}.routine-group-head h2{color:var(--text);font-size:var(--fs-16);font-weight:var(--w-bold);margin:0}.routine-group-count{color:var(--text-3);font-size:var(--fs-meta)}.routine-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.routine-card{gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1);cursor:pointer;transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:grid}.routine-card:hover{box-shadow:var(--shadow-2)}.routine-card:focus-visible{box-shadow:var(--shadow-focus), var(--shadow-1);outline:none}.routine-card-top{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);display:flex}.routine-name{color:var(--text);font-size:var(--fs-16);line-height:var(--lh-snug)}.routine-meta{color:var(--text-3);font-size:var(--fs-meta)}.routine-goal{color:var(--text-2);font-size:var(--fs-meta);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.routine-card-bottom{align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);display:flex}.routine-days{gap:var(--sp-1);flex:1;display:flex}.routine-day{min-width:26px;height:26px;padding:0 var(--sp-1);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--w-bold);place-items:center;display:grid}.routine-review{gap:var(--sp-1);display:flex}.routine-open{color:var(--text-3);display:grid}.routine-card--skeleton{box-shadow:none;cursor:default}.assign-students{gap:var(--sp-2);display:grid}.student-picks{gap:var(--sp-1);display:grid}.student-pick{align-items:center;gap:var(--sp-3);min-height:var(--tap-min);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:var(--fs-15);font-weight:var(--w-semibold);text-align:left;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:flex}.student-pick:active{transform:scale(.985)}.student-pick span:nth-child(2){flex:1}.student-pick-check{border-radius:var(--r-full);color:#0000;width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--line-2);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);place-items:center;display:grid}.student-pick[aria-checked=true]{background:var(--accent-soft)}.student-pick[aria-checked=true] .student-pick-check{background:var(--accent);color:var(--on-accent);box-shadow:none}.form-hint-error{margin:var(--sp-2) 0 0;color:var(--danger-strong);font-size:var(--fs-meta)}@media (hover:hover) and (pointer:fine){.grip{display:grid}.item-card:hover,.board-section:hover .grip--section,.block-card:hover>.grip--block{opacity:1}.item-card:hover{box-shadow:var(--shadow-2)}.item-card:hover .grip,.block-card:hover>.grip--block,.section-head:hover .grip--section{opacity:1}.grip--section{margin-left:calc(var(--sp-2) * -1)}}@media (min-width:768px){.day-col{flex-basis:calc(50% - var(--gutter) / 2)}.stepper-grid{grid-template-columns:repeat(2,minmax(0,220px))}}@media (min-width:1280px){.board-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-6);flex-direction:row}.board-header-top{flex:1;min-width:0}.board-toolbar{padding-top:var(--sp-1);flex:none;margin:0}}@media (min-width:1024px){.page--board{max-width:none;padding-top:var(--sp-6)}.board-title,.board-title--input{font-size:var(--fs-title-lg)}.board-goal,.board-notices{max-width:880px}.day-tabs{background:0 0;margin:0;padding:0;position:static}.day-tabs-track{flex:0 auto}.board-days{gap:var(--sp-4);margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) var(--sp-6);scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;grid-auto-columns:minmax(300px,340px);grid-auto-flow:column;display:grid}.board-days::-webkit-scrollbar{height:8px;display:block}.board-days::-webkit-scrollbar-thumb{border-radius:var(--r-full);background:var(--line-2)}.day-col{gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-2xl);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);scroll-snap-stop:normal}.day-grip{padding:var(--sp-2) var(--sp-1);margin:var(--sp-1) 0 0 calc(var(--sp-2) * -1);color:var(--text-3);cursor:grab;opacity:0;transition:opacity var(--dur-2) var(--ease-out);flex:none;grid-template-columns:repeat(2,3px);gap:3px;display:grid}.day-grip i{border-radius:var(--r-full);background:currentColor;width:3px;height:3px}.day-col:hover .day-grip{opacity:1}.undo-bar,body:not(.has-tabbar) .undo-bar{left:calc(var(--sidebar-w) + (100vw - var(--sidebar-w)) / 2);bottom:var(--sp-6)}.stepper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.is-flash,.is-flash-warn{box-shadow:0 0 0 3px var(--accent-ring), var(--shadow-1);animation:none}.is-flash-soft,.page--board.is-mara-working .day-tabs-track,.day-tab.has-dot .day-tab-dot{animation:none}}.import-page{max-width:760px}.import-host{display:grid}.import-form{gap:var(--sp-4);display:grid}.import-swap-in{animation:rt-rise-in var(--dur-5) var(--ease-out) both}.import-swap-out{animation:rt-fade-out var(--dur-3) var(--ease-in-out) forwards}.import-boot{gap:var(--sp-4);display:grid}.import-boot-card{border-radius:var(--r-card);height:220px}.import-boot-card--short{height:120px}.import-sources{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:640px){.import-sources{grid-template-columns:repeat(4,minmax(0,1fr))}}.import-source{align-content:start;justify-items:start;gap:var(--sp-1);min-height:112px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);text-align:left;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:grid;position:relative}.import-source:hover{border-color:var(--line-3);box-shadow:var(--shadow-1)}.import-source:active{transform:scale(.97)}.import-source:focus-visible{box-shadow:var(--shadow-focus);outline:none}.import-source[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-ring)}.import-sources[data-chosen=true] .import-source[aria-checked=false]{opacity:.72}.import-sources[data-chosen=true] .import-source[aria-checked=false]:hover{opacity:1}.import-source-art{width:44px;height:44px;margin-bottom:var(--sp-1);border-radius:var(--r-md);background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-1);transition:transform var(--dur-3) var(--ease-bounce);place-items:center;display:grid}.import-source[aria-checked=true] .import-source-art{transform:scale(1.06)rotate(-3deg)}.import-source-title{font-weight:var(--w-semibold)}.import-source-caption{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-snug)}.import-body{gap:var(--sp-3);margin-top:var(--sp-4);display:grid}.import-drop{justify-items:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-4);border:1.5px dashed var(--line-3);border-radius:var(--r-xl);background:var(--surface-2);text-align:center;cursor:pointer;transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-spring);display:grid}.import-drop:hover{border-color:var(--accent)}.import-drop:focus-visible{box-shadow:var(--shadow-focus);outline:none}.import-drop[data-over=true]{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.01)}.import-drop-icon{border-radius:var(--r-full);background:var(--surface);width:56px;height:56px;color:var(--accent-ink);box-shadow:var(--shadow-2);transition:transform var(--dur-4) var(--ease-bounce);place-items:center;display:grid}.import-drop[data-over=true] .import-drop-icon{transform:translateY(-4px)scale(1.08)}.import-drop-title{font-size:var(--fs-title-sm)}.import-drop-caption{color:var(--text-3);font-size:var(--fs-meta)}.import-drop-actions{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}@media (pointer:fine){.import-drop-actions .btn:last-child:not(:first-child){display:none}}.import-files{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.import-files[hidden]{display:none}.import-file{align-items:center;gap:var(--sp-3);padding:var(--sp-2);border-radius:var(--r-md);background:var(--surface-2);display:flex}.import-file-thumb{border-radius:var(--r-sm);object-fit:cover;background:var(--surface-3);flex:none;place-items:center;width:44px;height:44px;display:grid}.import-file-thumb--doc{background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--w-bold)}.import-file-text{flex:1;min-width:0;display:grid}.import-file-name{font-size:var(--fs-label);font-weight:var(--w-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-file-size{color:var(--text-3);font-size:var(--fs-caption)}.import-text{position:relative}.import-textarea{width:100%;min-height:180px;padding:var(--sp-3) var(--sp-4) var(--sp-6);border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-16);line-height:var(--lh-base);resize:vertical;transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out)}.import-textarea--short{min-height:84px;padding-bottom:var(--sp-3);padding-right:var(--sp-14)}.import-textarea::placeholder{color:var(--text-3)}.import-textarea:focus-visible,.import-input:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.import-count{right:var(--sp-3);bottom:var(--sp-2);color:var(--text-3);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;transition:color var(--dur-2) var(--ease-out);position:absolute}.import-count[data-near=true]{color:var(--warn-strong)}.import-instructions{position:relative}.import-mic{right:var(--sp-2);bottom:var(--sp-3);width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);place-items:center;display:grid;position:absolute}.import-mic:active{transform:scale(.92)}.import-mic[aria-pressed=true]{background:var(--accent);color:var(--on-accent);animation:rt-avatar-pulse 1.1s var(--ease-in-out) infinite}.import-instructions[data-listening=true] .import-textarea{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.import-input{width:100%;height:var(--field-h);margin-top:var(--sp-3);padding:0 var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-control);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-input);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out)}.import-students{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.import-students[hidden]{display:none}.import-student{align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);padding:0 var(--sp-3) 0 var(--sp-1);border:1px solid var(--line-2);border-radius:var(--r-full);background:var(--surface);color:var(--text);font-size:var(--fs-label);transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.import-student:active{transform:scale(.96)}.import-student[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.import-student-initial{border-radius:var(--r-full);background:var(--surface-3);width:26px;height:26px;font-size:var(--fs-caption);font-weight:var(--w-bold);transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);place-items:center;display:grid}.import-student[aria-checked=true] .import-student-initial{background:var(--accent);color:var(--on-accent)}.import-muted{margin-top:var(--sp-2);color:var(--text-3);font-size:var(--fs-meta)}.import-error{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger-strong);font-size:var(--fs-label)}.import-error[hidden]{display:none}.import-submit{bottom:calc(var(--nav-h) + var(--safe-bottom) + var(--sp-2));gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-float);display:grid;position:sticky}@media (min-width:1024px){.import-submit{bottom:var(--sp-4)}}.import-estimate{justify-content:center;align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-caption);text-align:center;display:flex}.import-progress{gap:var(--sp-5);display:grid}.import-progress--phase .import-progress-hero{animation:rt-pop-scale var(--dur-4) var(--ease-bounce)}.import-progress-hero{align-items:center;gap:var(--sp-4);display:flex}.import-ring{flex:none;place-items:center;width:88px;height:88px;display:grid;position:relative}.import-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.import-ring-track,.import-ring-value{fill:none;stroke-width:7px}.import-ring-track{stroke:var(--surface-3)}.import-ring-value{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,2));transition:stroke-dashoffset var(--dur-5) var(--ease-out), stroke var(--dur-3) var(--ease-out)}.import-progress[data-phase=processing] .import-ring svg,.import-progress[data-phase=creating] .import-ring svg{animation:rt-ring-breathe 2.4s var(--ease-in-out) infinite}.import-ring[data-done=true] .import-ring-value{stroke:var(--ok)}.import-ring[data-failed=true] .import-ring-value{stroke:var(--danger)}.import-ring-label{font-size:var(--fs-18);font-variant-numeric:tabular-nums}.import-ring[data-done=true] .import-ring-label:before{content:"";border-bottom:3px solid var(--ok);border-left:3px solid var(--ok);width:26px;height:14px;animation:rt-pop-scale var(--dur-4) var(--ease-bounce);margin-top:-6px;display:block;transform:rotate(-45deg)}.import-progress-text{gap:var(--sp-1);min-width:0;display:grid}.import-progress-title{font-size:var(--fs-title);letter-spacing:var(--ls-title)}.import-progress-subtitle{color:var(--text-2)}.import-progress-time{color:var(--text-3);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.import-progress-time[hidden]{display:none}.import-offline{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--info-soft);color:var(--info-strong);font-size:var(--fs-meta);animation:rt-rise-in var(--dur-3) var(--ease-out);display:flex}.import-offline[hidden]{display:none}.import-uploads{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.import-uploads[hidden]{display:none}.import-upload{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-meta);display:flex;position:relative;overflow:hidden}.import-upload-name{text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}.import-upload-meta{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;position:relative}.import-upload-bar{width:var(--p,0%);border-radius:var(--r-full);background:var(--accent);height:3px;transition:width var(--dur-3) var(--ease-out);position:absolute;inset:auto 0 0}.import-upload[data-state=done] .import-upload-bar{background:var(--ok)}.import-upload[data-state=error] .import-upload-meta{color:var(--danger-strong)}.import-steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.import-steps[hidden]{display:none}.import-step{gap:var(--sp-3);padding-bottom:var(--sp-4);display:flex;position:relative}.import-step:last-child{padding-bottom:0}.import-step:not(:last-child):after{content:"";border-radius:var(--r-full);background:var(--line);width:2px;transition:background-color var(--dur-4) var(--ease-out);position:absolute;top:26px;bottom:2px;left:11px}.import-step[data-state=done]:not(:last-child):after{background:var(--ok-soft-2)}.import-step-mark{z-index:1;border-radius:var(--r-full);background:var(--surface-3);width:24px;height:24px;color:var(--text-3);transition:background-color var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-bounce);flex:none;place-items:center;display:grid;position:relative}.import-step-dot{border-radius:var(--r-full);background:currentColor;width:8px;height:8px}.import-step[data-state=active] .import-step-mark{background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);animation:rt-step-pulse 1.6s var(--ease-in-out) infinite}.import-step[data-state=done] .import-step-mark,.import-step[data-state=ready] .import-step-mark{background:var(--ok);color:var(--text-inverse)}.import-step[data-state=ready] .import-step-mark{transform:scale(1.08)}.import-step[data-state=failed] .import-step-mark{background:var(--danger);color:var(--text-inverse)}.import-step[data-state=canceled] .import-step-mark{background:var(--surface-4);color:var(--text-2)}.import-step-check{width:14px;height:14px}.import-step-body{gap:2px;padding-top:2px;display:grid}.import-step-label{color:var(--text-3);font-size:var(--fs-label);transition:color var(--dur-3) var(--ease-out)}.import-step[data-state=done] .import-step-label{color:var(--text-2)}.import-step[data-state=ready] .import-step-label{color:var(--text);font-weight:var(--w-semibold)}.import-step[data-state=active] .import-step-label{background:linear-gradient(90deg, var(--text) 0%, var(--text) 38%, var(--accent-ink) 50%, var(--text) 62%, var(--text) 100%);color:#0000;font-weight:var(--w-semibold);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;animation:2.2s linear infinite rt-text-shimmer}.import-step[data-state=failed] .import-step-label{color:var(--danger-strong);font-weight:var(--w-semibold)}.import-step-message{color:var(--text-3);font-size:var(--fs-caption);animation:rt-rise-in var(--dur-3) var(--ease-out)}.import-result{gap:var(--sp-5);display:grid}.import-result[hidden]{display:none}.import-result-block{gap:var(--sp-2);display:grid}.import-result-title{font-size:var(--fs-title-sm)}.import-routines,.import-pending-list,.import-doubts{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.import-routine{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface-2);flex-wrap:wrap;display:flex}.import-routine-text{flex:1;min-width:160px;display:grid}.import-routine-text span{color:var(--text-3);font-size:var(--fs-meta)}.import-badge{padding:var(--sp-0) var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-caption);font-weight:var(--w-semibold)}.import-badge--warn{background:var(--warn-soft);color:var(--warn-strong)}.import-badge--ok{background:var(--ok-soft);color:var(--ok-strong)}.import-pending{gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--warn-soft);transition:background-color var(--dur-4) var(--ease-out), opacity var(--dur-4) var(--ease-out);display:grid}.import-pending--done{background:var(--ok-soft)}.import-pending-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.import-pending-raw{font-weight:var(--w-semibold)}.import-pending-status{color:var(--text-2);font-size:var(--fs-caption)}.import-pending--done .import-pending-status{color:var(--ok-strong);font-weight:var(--w-semibold)}.import-pending-options{gap:var(--sp-1);flex-wrap:wrap;display:flex}.import-option{align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);padding:0 var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-full);background:var(--surface);color:var(--text);font-size:var(--fs-meta);transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.import-option:hover:not(:disabled){border-color:var(--accent)}.import-option:active:not(:disabled){transform:scale(.96)}.import-option:disabled{opacity:.55}.import-option[data-state=loading]{opacity:1;border-color:var(--accent);background:var(--accent-soft);animation:rt-breathe 1s var(--ease-in-out) infinite}.import-option-score{color:var(--text-3);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.import-doubts li{gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-label);display:flex}.import-doubts .icon{color:var(--info);flex:none;margin-top:2px}.import-cost{color:var(--text-3);font-size:var(--fs-caption)}.import-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.import-actions>.import-muted{flex-basis:100%;margin-top:0}.import-confirm{display:contents}@keyframes rt-step-pulse{0%,to{box-shadow:0 0 0 4px var(--accent-soft)}50%{box-shadow:0 0 0 8px #0000}}@keyframes rt-ring-breathe{0%,to{transform:rotate(-90deg)scale(1)}50%{transform:rotate(-90deg)scale(1.03)}}@media (prefers-reduced-motion:reduce){.import-step[data-state=active] .import-step-label{color:var(--text);background:0 0}.import-progress[data-phase=processing] .import-ring svg{animation:none}}.import-progress-word{min-height:1.4em;display:grid}.import-progress-word[hidden]{display:none}.import-word{background:linear-gradient(90deg, var(--accent-ink) 0%, var(--accent-ink) 38%, var(--plum-strong) 50%, var(--accent-ink) 62%, var(--accent-ink) 100%);color:#0000;font-size:var(--fs-label);font-weight:var(--w-semibold);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;grid-area:1/1;animation:2.2s linear infinite rt-text-shimmer}.import-word--in{animation:rt-label-in var(--dur-3) var(--ease-out) both, rt-text-shimmer 2.2s linear infinite}.import-word--out{animation:rt-label-out var(--dur-2) var(--ease-in-out) forwards}@media (prefers-reduced-motion:reduce){.import-word{color:var(--accent-ink);background:0 0}}.concept-help{width:22px;height:22px;margin:-4px 0 -4px var(--sp-1);border-radius:var(--r-full);color:var(--text-3);vertical-align:middle;text-transform:none;letter-spacing:normal;transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);flex:none;place-items:center;display:inline-grid;position:relative}.concept-help:before{content:"";border-radius:var(--r-full);position:absolute;inset:-8px}.concept-help:hover{background:var(--accent-soft);color:var(--accent-ink)}.concept-help:active{transform:scale(.88)}.concept-help:focus-visible{box-shadow:var(--shadow-focus);outline:none}.concept-help[hidden]{display:none}.stepper-label.has-concept-help{align-items:center;min-width:0;display:flex}.concept-term{border-radius:var(--r-xs);color:inherit;font:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--line-3);text-decoration-color:var(--line-3);text-underline-offset:3px;transition:color var(--dur-2) var(--ease-out), text-decoration-color var(--dur-2) var(--ease-out);margin:-2px 0;padding:2px 0;text-decoration-thickness:1.5px;display:inline}.concept-term:hover{color:var(--accent-ink);text-decoration-color:currentColor}.concept-term:focus-visible{box-shadow:var(--shadow-focus);outline:none}.concept-tag{cursor:pointer;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out)}.concept-tag:hover{background:var(--plum-soft-2)}.concept-tag:active{transform:scale(.95)}.concept-tag:focus-visible{box-shadow:var(--shadow-focus);outline:none}.concept-layer{z-index:calc(var(--z-pop) + 2);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.concept-scrim{background:var(--scrim);animation:rt-fade-in var(--dur-3) var(--ease-out) both;transition:opacity var(--dur-2) var(--ease-out);position:absolute;inset:0}.concept-panel{width:100%;max-height:calc(100dvh - var(--safe-top) - var(--sp-10));padding-bottom:var(--safe-bottom);background:var(--surface);border-radius:var(--r-2xl) var(--r-2xl) 0 0;box-shadow:var(--shadow-3);animation:concept-in-up var(--dur-5) var(--ease-spring) both;transition:transform var(--dur-3) var(--ease-spring);outline:none;flex-direction:column;display:flex;position:relative}.concept-panel--dragging{transition:none}.concept-panel--nudge{animation:concept-nudge var(--dur-4) var(--ease-bounce)}.concept-layer--closing .concept-panel{animation:concept-out-down var(--dur-3) var(--ease-in-out) forwards}.concept-layer--closing .concept-scrim{animation:rt-fade-out var(--dur-3) var(--ease-in-out) forwards}.concept-grabber{cursor:grab;touch-action:none;flex:none;place-items:center;height:22px;display:grid}.concept-grabber span{border-radius:var(--r-full);background:var(--line-2);width:40px;height:5px}.concept-head{align-items:flex-start;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-3) var(--sp-5);touch-action:none;flex:none;display:flex}.concept-back{margin-left:calc(var(--sp-2) * -1)}.concept-back[hidden]{display:none}.concept-titles{gap:var(--sp-0);min-width:0;padding-top:var(--sp-1);flex:1;display:grid}.concept-kicker{color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.concept-title{font-size:var(--fs-title);letter-spacing:var(--ls-title);line-height:var(--lh-tight);margin:0}.concept-title--swap{animation:concept-title-in var(--dur-4) var(--ease-out)}.concept-body{min-height:0;padding:var(--sp-1) var(--sp-5) var(--sp-6);overscroll-behavior:contain;flex:1;overflow-y:auto}.concept-view{gap:var(--sp-4);display:grid}.concept-view--forward{animation:concept-view-forward var(--dur-4) var(--ease-out) both}.concept-view--back{animation:concept-view-back var(--dur-4) var(--ease-out) both}.concept-lead{color:var(--text);font-size:var(--fs-16);font-weight:var(--w-medium);line-height:var(--lh-base);margin:0}.concept-stage{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface-2)}.concept-text{gap:var(--sp-3);display:grid}.concept-text p{color:var(--text-2);font-size:var(--fs-15);line-height:var(--lh-loose);margin:0}.concept-points{gap:var(--sp-2);margin:0;display:grid}.concept-point{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-3);display:grid}.concept-point dt{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.concept-point dd{color:var(--text);font-size:var(--fs-label);line-height:var(--lh-base);margin:0}.concept-related{gap:var(--sp-2);display:grid}.concept-related-label,.concept-group-title{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase;margin:0}.concept-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.concept-chip{align-items:center;gap:var(--sp-1);min-height:var(--control-h-sm);padding:0 var(--sp-3) 0 var(--sp-4);border-radius:var(--r-full);background:var(--surface-3);color:var(--text);font-size:var(--fs-label);font-weight:var(--w-semibold);transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.concept-chip:hover{background:var(--surface-4)}.concept-chip:active{transform:scale(.95)}.concept-chip .icon,.concept-chip svg{color:var(--text-3)}.concept-all{justify-self:start;align-items:center;gap:var(--sp-2);min-height:var(--tap-min);color:var(--accent-ink);font-size:var(--fs-label);font-weight:var(--w-semibold);display:inline-flex}.concept-chip:focus-visible,.concept-all:focus-visible,.concept-row:focus-visible{box-shadow:var(--shadow-focus);outline:none}.concept-index{gap:var(--sp-5)}.concept-group{gap:var(--sp-2);scroll-margin-top:var(--sp-2);display:grid}.concept-group.is-focus .concept-group-title{color:var(--accent-ink)}.concept-group-list{gap:var(--sp-1);display:grid}.concept-row{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-3);text-align:left;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:flex}.concept-row:hover{background:var(--surface-3)}.concept-row:active{transform:scale(.985)}.concept-row-body{gap:var(--sp-0);flex:1;min-width:0;display:grid}.concept-row-title{color:var(--text);font-size:var(--fs-15);font-weight:var(--w-semibold)}.concept-row-text{color:var(--text-2);font-size:var(--fs-meta);line-height:var(--lh-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (min-width:768px){.concept-layer{padding:var(--sp-6)}.concept-panel{max-width:560px;max-height:calc(100dvh - var(--sp-12));border-radius:var(--r-2xl);padding-bottom:0;animation-name:concept-in-pop}.concept-layer--closing .concept-panel{animation-name:concept-out-pop}}@media (min-width:1024px){.concept-layer{pointer-events:none;justify-content:flex-end;align-items:flex-start}.concept-scrim{display:none}.concept-panel{width:400px;max-width:calc(100vw - var(--sp-12));max-height:100%;box-shadow:var(--shadow-float);pointer-events:auto;animation-name:concept-in-side}.concept-layer--closing .concept-panel{animation-name:concept-out-side}.concept-grabber{height:var(--sp-4);cursor:default}.concept-grabber span{display:none}}@keyframes concept-in-up{0%{transform:translateY(100%)}to{transform:translate(0,0)}}@keyframes concept-out-down{to{transform:translateY(100%)}}@keyframes concept-in-pop{0%{opacity:0;transform:translateY(28px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes concept-out-pop{to{opacity:0;transform:translateY(20px)scale(.98)}}@keyframes concept-in-side{0%{opacity:0;transform:translate(40px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes concept-out-side{to{opacity:0;transform:translate(32px)scale(.98)}}@keyframes concept-nudge{40%{transform:scale(1.012)}}@keyframes concept-view-forward{0%{opacity:0;transform:translate(24px)}}@keyframes concept-view-back{0%{opacity:0;transform:translate(-24px)}}@keyframes concept-title-in{0%{opacity:0;transform:translateY(6px)}}.cdemo{gap:var(--sp-4);min-width:0;display:grid}.cdemo-readout{gap:var(--sp-1);min-width:0;display:grid}.cdemo-headline{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.cdemo-big{color:var(--text);font-size:var(--fs-28);font-variant-numeric:tabular-nums;font-weight:var(--w-bold);letter-spacing:var(--ls-display);line-height:var(--lh-tight);justify-self:start;display:inline-block}.cdemo-big--sm{font-size:var(--fs-20);letter-spacing:var(--ls-title)}.cdemo-sub{color:var(--text-2);font-size:var(--fs-meta);line-height:var(--lh-snug);margin:0}.cdemo-eq{color:var(--accent-ink);font-size:var(--fs-label);font-variant-numeric:tabular-nums;font-weight:var(--w-semibold)}.cdemo-feel{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface-3);color:var(--text);font-size:var(--fs-label);line-height:var(--lh-snug);transition:background-color var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out);margin:0}.cdemo-feel[hidden]{display:none}.cdemo-feel[data-tone=ok]{background:var(--ok-soft);color:var(--ok-strong)}.cdemo-feel[data-tone=low]{background:var(--warn-soft);color:var(--warn-strong)}.cdemo-feel[data-tone=high]{background:var(--info-soft);color:var(--info-strong)}.cdemo-zone{padding:var(--sp-0) var(--sp-2);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-bold);transition:background-color var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out)}.cdemo-zone[data-zone=fallo]{background:var(--danger-soft);color:var(--danger-strong)}.cdemo-zone[data-zone=efectivo]{background:var(--ok-soft);color:var(--ok-strong)}.cdemo-row{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;display:flex}.cdemo-row>.cdemo-feel{flex:200px}.cdemo-link{min-height:var(--control-h-sm);padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--accent-ink);font-size:var(--fs-label);font-weight:var(--w-semibold)}.cdemo-link[hidden]{display:none}.cdemo-link:focus-visible{box-shadow:var(--shadow-focus);outline:none}.cdemo-bump{animation:concept-bump var(--dur-4) var(--ease-bounce)}@keyframes concept-bump{40%{transform:scale(1.08)}}.cslider{gap:var(--sp-1);display:grid}.cslider-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.cslider-label{color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold)}.cslider-value{color:var(--text);font-size:var(--fs-label);font-variant-numeric:tabular-nums;font-weight:var(--w-bold)}.cslider-input{cursor:pointer;appearance:none;touch-action:pan-y;background:0 0;width:100%;height:32px;margin:0}.cslider-input:focus{outline:none}.cslider-input::-webkit-slider-runnable-track{border-radius:var(--r-full);background:linear-gradient(to right, var(--accent) var(--fill,50%), var(--surface-4) var(--fill,50%));height:6px}.cslider-input::-moz-range-track{border-radius:var(--r-full);background:var(--surface-4);height:6px}.cslider-input::-moz-range-progress{border-radius:var(--r-full);background:var(--accent);height:6px}.cslider-input::-webkit-slider-thumb{border-radius:var(--r-full);background:var(--surface);width:26px;height:26px;box-shadow:var(--shadow-2), 0 0 0 1px var(--line-2);appearance:none;transition:transform var(--dur-2) var(--ease-bounce), box-shadow var(--dur-2) var(--ease-out);border:0;margin-top:-10px}.cslider-input::-moz-range-thumb{border-radius:var(--r-full);background:var(--surface);width:26px;height:26px;box-shadow:var(--shadow-2), 0 0 0 1px var(--line-2);transition:transform var(--dur-2) var(--ease-bounce);border:0}.cslider-input:active::-webkit-slider-thumb{transform:scale(1.15)}.cslider-input:active::-moz-range-thumb{transform:scale(1.15)}.cslider-input:focus-visible::-webkit-slider-thumb{box-shadow:var(--shadow-2), var(--shadow-focus)}.cslider-input:focus-visible::-moz-range-thumb{box-shadow:var(--shadow-2), var(--shadow-focus)}.cchoice{gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-full);background:var(--surface-3);scrollbar-width:none;display:flex;overflow-x:auto}.cchoice::-webkit-scrollbar{display:none}.cchoice--wrap{border-radius:var(--r-lg);flex-wrap:wrap}.cchoice-option{min-height:var(--control-h-sm);padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold);white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);flex:1 0 auto}.cchoice-option:hover{color:var(--text)}.cchoice-option:active{transform:scale(.96)}.cchoice-option[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.cchoice-option:focus-visible{box-shadow:var(--shadow-focus);outline:none}.cplay{justify-self:start;align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);padding:0 var(--sp-4) 0 var(--sp-3);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-meta);font-weight:var(--w-semibold);transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.cplay:hover{background:var(--accent-soft-2)}.cplay:active{transform:scale(.95)}.cplay:focus-visible{box-shadow:var(--shadow-focus);outline:none}.cplay-icon{border-radius:var(--r-full);background:var(--accent);width:24px;height:24px;color:var(--on-accent);place-items:center;display:inline-grid}.cstep{gap:var(--sp-1);min-width:0;display:grid}.cstep-label{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold)}.cstep-row{justify-content:space-between;align-items:center;gap:var(--sp-1);display:flex}.cstep-value{min-width:3ch;color:var(--text);font-size:var(--fs-label);font-variant-numeric:tabular-nums;font-weight:var(--w-bold);text-align:center;display:inline-block}.cstep-btn{border-radius:var(--r-full);background:var(--surface-3);width:30px;height:30px;color:var(--text-2);transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);flex:none;place-items:center;display:inline-grid}.cstep-btn:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.cstep-btn:active:not(:disabled){transform:scale(.9)}.cstep-btn:disabled{opacity:.4}.cstep-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.cbeads{gap:var(--sp-1);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.cbead{aspect-ratio:1;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10px;font-weight:var(--w-bold);transition:background-color var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out), transform var(--dur-4) var(--ease-bounce);transition-delay:calc(var(--i,0) * 16ms);place-items:center;display:grid}.cbead.is-done{background:var(--accent);color:var(--on-accent)}.cbead.is-reserve{background:var(--ok-soft);color:var(--ok-strong);box-shadow:inset 0 0 0 2px var(--ok);animation:concept-breathe 2.4s var(--ease-in-out) infinite;animation-delay:calc(var(--i,0) * .11s)}@keyframes concept-breathe{50%{opacity:.7;transform:scale(.86)}}.cbeads-legend{gap:var(--sp-1) var(--sp-4);margin-top:calc(var(--sp-2) * -1);flex-wrap:wrap;display:flex}.cbeads-key{align-items:center;gap:var(--sp-1);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium);display:inline-flex}.cbeads-key:before{content:"";border-radius:var(--r-full);background:var(--surface-4);width:10px;height:10px}.cbeads-key--done:before{background:var(--accent)}.cbeads-key--reserve:before,.cbeads-key--ok:before{background:var(--ok-soft);box-shadow:inset 0 0 0 2px var(--ok)}.cbeads-key--danger:before{background:var(--danger-soft-2)}.cgauge-wrap{justify-items:center;gap:var(--sp-1);text-align:center;display:grid}.cgauge-wrap .cdemo-readout{justify-items:center}.cgauge-wrap .cdemo-big{justify-self:center}.cgauge{width:100%;max-width:280px;height:auto;display:block;overflow:visible}.cgauge-track,.cgauge-fill{fill:none;stroke-linecap:round;stroke-width:14px}.cgauge-track{stroke:var(--surface-4)}.cgauge-fill{stroke:var(--accent);transition:stroke-dashoffset var(--dur-5) var(--ease-spring), stroke var(--dur-3) var(--ease-out)}.cgauge-fill[data-zone=fallo]{stroke:var(--danger)}.cgauge-fill[data-zone=liviano]{stroke:var(--text-3)}.cgauge-ticks text{fill:var(--text-3);font-size:11px;font-weight:var(--w-semibold)}.cgauge-needle{transition:transform var(--dur-5) var(--ease-spring)}.cgauge-needle line{stroke:var(--text);stroke-linecap:round;stroke-width:3px}.cgauge-needle circle{fill:var(--text)}.cscale{gap:var(--sp-0);margin:0;padding:0;list-style:none;display:grid}.cscale-row{gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;transition:background-color var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out);grid-template-columns:4.6em 4.2em minmax(0,1fr);align-items:center;display:grid}.cscale-rpe,.cscale-rir{font-weight:var(--w-semibold)}.cscale-row.is-current{background:var(--accent-soft);color:var(--accent-ink)}.cbars{width:100%;height:auto;display:block;overflow:visible}.cbars-base{stroke:var(--line-2);stroke-width:1px}.cbars-rect{fill:var(--surface-4);transform:scaleY(var(--v,0));transform-box:fill-box;transform-origin:50% 100%;transition:transform var(--dur-5) var(--ease-spring), fill var(--dur-3) var(--ease-out);transition-delay:calc(var(--i,0) * 45ms), 0s}.cbars-top{fill:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:var(--w-bold);transition:transform var(--dur-5) var(--ease-spring);transition-delay:calc(var(--i,0) * 45ms)}.cbars-bottom{fill:var(--text-3);font-size:10.5px;font-weight:var(--w-semibold)}.cbars-bar--accent .cbars-rect{fill:var(--accent)}.cbars-bar--soft .cbars-rect{fill:var(--accent-soft-2)}.cbars-bar--plum .cbars-rect{fill:var(--plum-soft-2)}.cbars-bar--quiet .cbars-rect{fill:var(--surface-4)}.cbars-bar.is-active .cbars-rect{fill:var(--accent)}.cbars-bar.is-active .cbars-bottom{fill:var(--accent-ink)}.cbars-path{fill:none;stroke:var(--text-3);stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;opacity:.6}.cbars-path--draw{animation:concept-draw .9s var(--ease-out) both;animation-delay:.16s}@keyframes concept-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.cring{width:100%;height:auto;display:block;overflow:visible}.cring-track{fill:none;stroke:var(--surface-4)}.cring-arc{fill:none;stroke-linecap:round;transition:stroke-dasharray var(--dur-5) var(--ease-spring), stroke-dashoffset var(--dur-5) var(--ease-spring)}.cring-arc--accent{stroke:var(--accent)}.cring-arc--ok{stroke:var(--ok)}.cring-arc--ok-soft{stroke:var(--ok-soft-2)}.cring-arc--danger{stroke:var(--danger-soft-2)}.cring-hand line{display:none}.cring-hand circle{fill:var(--surface);stroke:var(--text);stroke-width:3px}.cring-mark line{stroke:var(--ok-strong);stroke-dasharray:3 4;stroke-linecap:round;stroke-width:2px}.cring-mark circle{fill:none}.cring-box{flex:none;width:156px;position:relative}.cring-center{place-content:center;gap:var(--sp-0);padding:var(--sp-5);text-align:center;pointer-events:none;display:grid;position:absolute;inset:0}.cring-count{color:var(--text);font-size:var(--fs-34);font-variant-numeric:tabular-nums;font-weight:var(--w-bold);letter-spacing:var(--ls-display);justify-self:center;line-height:1;display:inline-block}.cring-count--sm{font-size:var(--fs-16);letter-spacing:normal;line-height:var(--lh-tight)}.cring-caption{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium);line-height:var(--lh-snug)}.camrap,.crest,.cemom{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.camrap-side,.crest-side,.cemom-side{gap:var(--sp-2);flex:160px;min-width:0;display:grid}.camrap-tap{border-radius:var(--r-full);-webkit-tap-highlight-color:transparent;width:148px;transition:transform var(--dur-1) var(--ease-out);flex:none;position:relative}.camrap-tap:active{transform:scale(.95)}.camrap-tap:focus-visible{box-shadow:var(--shadow-focus);outline:none}.cprog-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.cprog-nav{align-items:center;gap:var(--sp-2);display:flex}.cprog-load{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--inverse-bg);color:var(--inverse-fg);font-size:var(--fs-label);font-variant-numeric:tabular-nums;font-weight:var(--w-bold);transition:background-color var(--dur-3) var(--ease-out);display:inline-block}.cprog-load.is-up{background:var(--ok);color:var(--text-inverse)}.cprog{gap:var(--sp-3);height:140px;padding-left:var(--sp-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.cprog-band{height:57.14%;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);background:var(--ok-soft);color:var(--ok-strong);font-size:var(--fs-caption);font-weight:var(--w-bold);flex-direction:column;justify-content:space-between;display:flex;position:absolute;bottom:28.57%;left:0;right:0}.cprog-bar{height:100%;position:relative}.cprog-fill{border-radius:var(--r-md) var(--r-md) var(--r-xs) var(--r-xs);background:var(--accent);transform:scaleY(var(--v,0));transform-origin:50% 100%;transition:transform var(--dur-5) var(--ease-spring), background-color var(--dur-3) var(--ease-out);position:absolute;inset:0}.cprog-bar.is-top .cprog-fill{background:var(--ok)}.cprog-reps{color:var(--text);font-size:var(--fs-label);font-variant-numeric:tabular-nums;font-weight:var(--w-bold);transform:translate3d(-50%, calc((1 - var(--v,0)) * 140px - 100% - 4px), 0);transition:transform var(--dur-5) var(--ease-spring);position:absolute;top:0;left:50%}.crange-plot{gap:var(--sp-2);padding-left:var(--sp-8);display:grid;position:relative}.crange-band{top:calc(var(--top) * 1.32px);right:0;left:var(--sp-6);height:calc((var(--bottom) - var(--top)) * 1.32px);border-radius:var(--r-md);background:var(--ok-soft);transition:opacity var(--dur-4) var(--ease-out);position:absolute}.crange-band-top,.crange-band-bottom{left:var(--sp-1);color:var(--ok-strong);font-size:var(--fs-caption);font-weight:var(--w-bold);position:absolute}.crange-band-top{top:var(--sp-1)}.crange-band-bottom{bottom:var(--sp-1)}.crange-plot.is-fixed .crange-band{opacity:0}.crange-cols{gap:var(--sp-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:relative}.crange-col{grid-template-rows:132px auto;justify-items:center;display:grid;position:relative}.crange-dot{border-radius:var(--r-full);background:var(--accent);width:32px;height:32px;box-shadow:var(--shadow-2);color:var(--on-accent);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;font-weight:var(--w-bold);transform:translate3d(-50%, calc(var(--y,50) * 1.32px - 50%), 0);transition:transform var(--dur-5) var(--ease-spring), background-color var(--dur-3) var(--ease-out);transition-delay:calc(var(--i,0) * 60ms), 0s;place-items:center;display:grid;position:absolute;top:0;left:50%}.crange-plot.is-fixed .crange-dot{background:var(--inverse-bg);color:var(--inverse-fg)}.crange-set{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-semibold);grid-row:2}.ctl-stack{gap:var(--sp-3);display:grid}.ctl-row{gap:var(--sp-1);display:grid}.ctl-name{justify-content:space-between;align-items:baseline;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--w-semibold);display:flex}.ctl-time{color:var(--text-3);font-variant-numeric:tabular-nums}.ctl-clip{width:calc(var(--scale,1) * 100%);border-radius:var(--r-sm);transition:width var(--dur-5) var(--ease-spring);position:relative;overflow:hidden}.ctl-track{gap:2px;height:36px;display:flex}.ctl-row--quiet .ctl-track{height:28px}.ctl-seg{border-radius:var(--r-xs);min-width:3px;transition:opacity var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);flex-basis:0;place-items:center;display:grid;position:relative;overflow:hidden}.ctl-seg--work{background:var(--tone-x,var(--tone,var(--accent)));color:var(--on-accent)}.ctl-seg--rest{background:repeating-linear-gradient(135deg, var(--surface-3) 0 5px, var(--surface-4) 5px 10px);color:var(--text-3)}.ctl-label{max-width:100%;padding:0 var(--sp-1);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;font-weight:var(--w-bold);white-space:nowrap;overflow:hidden}.ctl-seg.is-past{opacity:.45}.ctl-seg.is-active{box-shadow:inset 0 0 0 2px var(--text)}.ctl-track--draw .ctl-seg{animation:concept-seg-in var(--dur-4) var(--ease-out) both;animation-delay:calc(var(--i,0) * 22ms)}@keyframes concept-seg-in{0%{opacity:0;transform:scaleY(.4)}}.ctl-head{pointer-events:none;position:absolute;inset:0}.ctl-head span{border-radius:var(--r-full);background:var(--text);opacity:0;width:3px;transition:opacity var(--dur-2) var(--ease-out);position:absolute;top:0;bottom:0;left:0}.ctl-head.is-on span{opacity:1}.ctl-caption{min-height:1.4em;color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--w-semibold)}.ctl-legend{gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;display:flex}.ctl-key{align-items:center;gap:var(--sp-1);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-medium);display:inline-flex}.ctl-key:before{content:"";border-radius:var(--r-xs);background:var(--tone-x,var(--accent));width:10px;height:10px}.ctl-key--rest:before{background:repeating-linear-gradient(135deg, var(--surface-3) 0 3px, var(--surface-4) 3px 6px)}.ctempo{gap:var(--sp-4);align-items:stretch;display:flex}.ctempo-rail{border-radius:var(--r-full);background:var(--surface-3);flex:none;width:60px;height:208px;position:relative}.ctempo-rail:before{content:"";background:var(--line-2);width:2px;position:absolute;top:30px;bottom:30px;left:50%;transform:translate(-50%)}.ctempo-top,.ctempo-bottom{color:var(--text-3);font-size:10px;font-weight:var(--w-bold);text-align:center;position:absolute;left:0;right:0}.ctempo-top{top:var(--sp-2)}.ctempo-bottom{bottom:var(--sp-2)}.ctempo-weight{border-radius:var(--r-sm);background:var(--accent);width:44px;height:18px;box-shadow:var(--shadow-2);transform:translate3d(-50%, calc(var(--depth,0) * 130px), 0);will-change:transform;position:absolute;top:30px;left:50%}.ctempo-side{align-content:start;gap:var(--sp-3);flex:1;min-width:0;display:grid}.ctempo-phases{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ctempo-phase{padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out)}.ctempo-phase.is-active{border-color:var(--accent);background:var(--accent-soft)}.ccircuit-box{width:min(220px,100%);margin-inline:auto;position:relative}.ccircuit{width:100%;height:auto;display:block}.ccircuit-track{fill:none;stroke:var(--line-2);stroke-dasharray:3 5;stroke-width:2px}.ccircuit-dot circle{fill:var(--surface-3);stroke:var(--line-3);stroke-width:1.5px;transition:fill var(--dur-2) var(--ease-out), stroke var(--dur-2) var(--ease-out)}.ccircuit-dot text{fill:var(--text-2);font-size:10px;font-weight:var(--w-bold)}.ccircuit-dot{animation:concept-pop var(--dur-4) var(--ease-bounce) both;animation-delay:calc(var(--i,0) * 40ms);transform-box:fill-box;transform-origin:50%}.ccircuit-dot.is-active circle{fill:var(--accent);stroke:var(--accent)}.ccircuit-dot.is-active text{fill:var(--on-accent)}.ccircuit-runner{fill:var(--accent);opacity:.28}@keyframes concept-pop{0%{opacity:0;transform:scale(.4)}}.ccircuit-center{place-content:center;gap:var(--sp-0);text-align:center;pointer-events:none;display:grid;position:absolute;inset:0}.ccircuit-lap{color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--w-bold);letter-spacing:var(--ls-kicker);text-transform:uppercase}.ccircuit-station{color:var(--text);font-size:var(--fs-label)}.cemom-list{gap:var(--sp-1);grid-template-columns:repeat(10,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.cemom-slot{padding:var(--sp-1) 0;border-radius:var(--r-sm);background:var(--surface-3);font-size:var(--fs-caption);transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-3) var(--ease-bounce);place-items:center;display:grid}.cemom-slot span{color:var(--text-3);font-variant-numeric:tabular-nums}.cemom-slot--a b{color:var(--accent-ink)}.cemom-slot--b b{color:var(--plum-strong)}.cemom-slot.is-active{background:var(--accent-soft);transform:translateY(-3px)}@media (max-width:380px){.camrap-tap,.cring-box{width:128px}.ctempo-rail{width:48px}.ctempo-weight{width:34px}}.concepts-entry{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1);color:var(--accent-ink);text-align:left;transition:background-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);display:flex}.concepts-entry:hover{background:var(--surface-2)}.concepts-entry:active{transform:scale(.985)}.concepts-entry:focus-visible{box-shadow:var(--shadow-focus);outline:none}.concepts-entry-text{gap:var(--sp-0);flex:1;min-width:0;display:grid}.concepts-entry-text strong{color:var(--text);font-size:var(--fs-15)}.concepts-entry-text span{color:var(--text-2);font-size:var(--fs-meta)}
