@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}@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}.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}#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-bottom: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}.mara-avatar{border-radius:var(--r-full);background:var(--accent);width:36px;height:36px;color:var(--on-accent);flex:none;place-items:center;display:inline-grid}.mara-avatar--sm{width:28px;height:28px}.mara-avatar--sm .icon{width:15px;height:15px}.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) var(--sp-1) var(--sp-1) var(--sp-4);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) 0;resize:none;color:var(--text);font-size:var(--fs-16);line-height:var(--lh-snug);background:0 0;border:0;flex:1}.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}}.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{padding:var(--sp-1) 0;margin:0}}@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);flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}@media (hover:hover){.ex-card[href]:hover{border-color:var(--line-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--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-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)}
