@font-face{font-family:Urbanist;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/680d078f20ab2e33-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Urbanist;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a22b1dc24103c00d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Urbanist;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/680d078f20ab2e33-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Urbanist;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a22b1dc24103c00d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Urbanist;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/680d078f20ab2e33-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Urbanist;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a22b1dc24103c00d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Urbanist;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/680d078f20ab2e33-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Urbanist;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a22b1dc24103c00d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Urbanist;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/680d078f20ab2e33-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Urbanist;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/a22b1dc24103c00d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Urbanist Fallback;src:local("Arial");ascent-override:95.93%;descent-override:25.24%;line-gap-override:0.00%;size-adjust:99.04%}.__className_7de44a{font-family:Urbanist,Urbanist Fallback;font-style:normal}.__variable_7de44a{--font-sans:"Urbanist","Urbanist Fallback"}:root{--bg:#f6f3fd;--bg-grad:radial-gradient(1100px 560px at 0% -10%,#ece2fd 0%,transparent 60%),radial-gradient(900px 520px at 110% 0%,#e6e8fe 0%,transparent 60%),#f6f3fd;--surface:#ffffff;--surface-2:#f7f5fc;--ink:#0d0d0d;--ink-2:#3a3a3a;--muted:#5c5c5c;--line:#ece8f4;--primary:#a06cf3;--primary-2:#bfc3fb;--primary-ink:#ffffff;--primary-soft:#f1e8fe;--pink:#ffc1d6;--dark:#0d0d0d;--dark-ink:#f7f5fc;--mint:#dcf3e5;--mint-ink:#1d6b40;--lilac:#ece1fe;--lilac-ink:#6a35c2;--sky:#e3e6fe;--sky-ink:#3d47b8;--butter:#fdf0c8;--butter-ink:#7a5a00;--peach:#ffe3ec;--peach-ink:#b0315f;--good:#1f9254;--good-soft:#dff4e7;--bad:#e0457b;--bad-soft:#ffe6ee;--warn:#c07a12;--warn-soft:#fdf1da;--shadow:0 1px 2px rgba(60,30,110,.04),0 10px 28px rgba(110,70,190,.07);--shadow-lg:0 24px 60px rgba(110,70,190,.16);--r:24px;--r-sm:16px;--r-xs:12px;color-scheme:light}:root[data-theme=dark]{--bg:#0e0f12;--bg-grad:radial-gradient(1000px 520px at 0% -10%,rgba(160,108,243,.08) 0%,transparent 60%),radial-gradient(900px 480px at 110% 0%,rgba(191,195,251,.06) 0%,transparent 60%),#0e0f12;--surface:#17181c;--surface-2:#1d1f24;--ink:#f5f5f7;--ink-2:#c7c8cf;--muted:#8b8d96;--line:#2a2c33;--primary:#b48cf6;--primary-2:#bfc3fb;--primary-ink:#120b1c;--primary-soft:rgba(180,140,246,.15);--pink:#ff9fc0;--dark:#f5f5f7;--dark-ink:#111216;--mint:#163626;--mint-ink:#8ff0b8;--lilac:#34203b;--lilac-ink:#f2b8ff;--sky:#142f40;--sky-ink:#9ad8ff;--butter:#3b3313;--butter-ink:#ffe07a;--peach:#3f2318;--peach-ink:#ffb59a;--good:#5ee08f;--good-soft:rgba(94,224,143,.13);--bad:#ff7a90;--bad-soft:rgba(255,122,144,.13);--warn:#ffc65c;--warn-soft:rgba(255,198,92,.13);--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);--shadow-lg:0 24px 60px rgba(0,0,0,.55);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e0f12;--bg-grad:radial-gradient(1000px 520px at 0% -10%,rgba(160,108,243,.08) 0%,transparent 60%),radial-gradient(900px 480px at 110% 0%,rgba(191,195,251,.06) 0%,transparent 60%),#0e0f12;--surface:#17181c;--surface-2:#1d1f24;--ink:#f5f5f7;--ink-2:#c7c8cf;--muted:#8b8d96;--line:#2a2c33;--primary:#b48cf6;--primary-2:#bfc3fb;--primary-ink:#120b1c;--primary-soft:rgba(180,140,246,.15);--pink:#ff9fc0;--dark:#f5f5f7;--dark-ink:#111216;--mint:#163626;--mint-ink:#8ff0b8;--lilac:#34203b;--lilac-ink:#f2b8ff;--sky:#142f40;--sky-ink:#9ad8ff;--butter:#3b3313;--butter-ink:#ffe07a;--peach:#3f2318;--peach-ink:#ffb59a;--good:#5ee08f;--good-soft:rgba(94,224,143,.13);--bad:#ff7a90;--bad-soft:rgba(255,122,144,.13);--warn:#ffc65c;--warn-soft:rgba(255,198,92,.13);--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);--shadow-lg:0 24px 60px rgba(0,0,0,.55);color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg-grad);background-attachment:fixed;color:var(--ink);font-family:var(--font-sans),system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}a{text-decoration:none}a,button{color:inherit}button{font:inherit}h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.15}h1{font-size:clamp(1.6rem,3vw,2rem)}h1,h2{font-weight:700}h2{font-size:clamp(1.15rem,2vw,1.5rem)}.title{font-size:1.75rem;letter-spacing:-.02em}.title,h3{font-weight:700}h3{font-size:1.05rem}p{margin:0}.muted{color:var(--muted)}.ink2{color:var(--ink-2)}.small{font-size:.85rem}.tiny{font-size:.75rem}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stack>*+*{margin-top:var(--gap,16px)}.row{display:flex;align-items:center;gap:var(--gap,12px);flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1 1;min-width:0}.center{text-align:center}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.card{background:var(--surface);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}.card.flat{box-shadow:none;border:1px solid var(--line)}.card.dark{background:var(--dark);color:var(--dark-ink)}.card.dark .muted{color:color-mix(in srgb,var(--dark-ink) 60%,transparent)}.tile{border:0;border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px;min-height:140px;min-width:0;max-width:100%;text-align:inherit}button.tile{-webkit-appearance:none;-moz-appearance:none;appearance:none}.tile .ic{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.7);display:grid;place-items:center;font-size:18px}.tile .label{font-size:.9rem;opacity:.85}.tile .big{font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1}.tile .big small{font-size:.95rem;font-weight:600;letter-spacing:0;margin-left:4px}.t-mint{background:var(--mint);color:var(--mint-ink)}.t-lilac{background:var(--lilac);color:var(--lilac-ink)}.t-sky{background:var(--sky);color:var(--sky-ink)}.t-butter{background:var(--butter);color:var(--butter-ink)}.t-peach{background:var(--peach);color:var(--peach-ink)}@media (prefers-color-scheme:dark){.tile .ic{background:rgba(255,255,255,.08)}}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;border-radius:999px;padding:12px 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease,opacity .12s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 30%,transparent)}.btn.dark{background:var(--dark);color:var(--dark-ink)}.btn.danger{background:var(--bad);color:var(--primary-ink);box-shadow:0 8px 20px color-mix(in srgb,var(--bad) 30%,transparent)}.btn.ghost{background:transparent;box-shadow:none;border:1px solid var(--line)}.btn.sm{padding:8px 14px;font-size:.85rem}.btn.icon{width:44px;height:44px;padding:0}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--surface);font-size:.85rem;font-weight:600;border:1px solid var(--line);cursor:pointer;white-space:nowrap}.chip.on{background:var(--primary);color:var(--primary-ink);border-color:transparent}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--primary-soft);color:var(--primary)}.pill.good{background:var(--good-soft);color:var(--good)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.mute{color:var(--muted);border:1px solid var(--line)}.field,.pill.mute{background:var(--surface-2)}.field{width:100%;padding:12px 16px;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--ink);font:inherit}.field:focus{outline:2px solid var(--primary);outline-offset:1px}textarea.field{resize:vertical;min-height:96px}.bar{height:8px;background:var(--line);overflow:hidden}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-2));transition:width .4s ease}.bar.good>i{background:var(--good)}.bar.bad>i{background:var(--bad)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.side{position:-webkit-sticky;position:sticky;top:0;height:100dvh;padding:24px 16px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;overscroll-behavior:contain}.side>.brand,.side>.nav{flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;padding:4px 10px 20px}.brand .logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-size:18px}.nav{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;font-weight:600;color:var(--ink-2)}.nav.on,.nav:hover{background:var(--surface)}.nav.on{color:var(--ink);box-shadow:var(--shadow)}.nav .dot{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--primary);color:#fff;font-size:.7rem;display:grid;place-items:center}.main{padding:28px 32px 64px;min-width:0;width:100%}.tabbar{display:none}@media (max-width:860px){.shell{grid-template-columns:1fr}.side{display:none}.main{padding:18px 16px 156px}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;justify-content:space-around;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;box-shadow:var(--shadow-lg)}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.7rem;font-weight:600;color:var(--muted);padding:4px 0}.tabbar a.on{color:var(--primary)}.tabbar .tab-icon{position:relative;display:grid}.tabbar .tab-dot{position:absolute;top:-4px;left:14px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--primary);color:#fff;font-size:.6rem;font-weight:700;display:grid;place-items:center}.tabbar a.on svg{fill:color-mix(in srgb,var(--primary) 18%,transparent)}}.g2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px}.g2,.g3{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px}.g4{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.dash,.g4{display:grid}.dash{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}@media (max-width:1100px){.dash{grid-template-columns:1fr}}@media (max-width:860px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr}}@media (max-width:520px){.g2{grid-template-columns:1fr}.g4{gap:12px}.tile{min-height:120px;padding:14px}.tile .big{font-size:1.6rem}}.li{display:flex;align-items:center;gap:14px;padding:12px 0}.li+.li{border-top:1px solid var(--line)}.li .ic{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;font-size:20px}.li .t{font-weight:700}.exam{min-height:100dvh;display:grid;grid-template-rows:auto 1fr}.exam-top{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.exam-top .in{padding:12px 24px;display:flex;align-items:center;gap:16px}.exam-body,.exam-top .in{max-width:1320px;margin:0 auto}.exam-body{width:100%;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:24px;gap:24px;align-items:start}.rail{position:-webkit-sticky;position:sticky;top:88px}.qcard{padding:28px 32px}.stem{font-size:1.12rem;line-height:1.65;white-space:pre-wrap}.opt{width:100%;display:flex;align-items:flex-start;gap:14px;text-align:left;cursor:pointer;padding:16px 18px;margin-top:12px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--surface-2);transition:border-color .12s,background .12s,transform .08s}.opt:hover{border-color:var(--primary-2)}.opt:active{transform:scale(.995)}.opt .L{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--surface);border:1.5px solid var(--line)}.opt.sel{border-color:var(--primary);background:var(--primary-soft)}.opt.sel .L{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent}.opt.right{border-color:var(--good);background:var(--good-soft)}.opt.right .L{background:var(--good);color:#fff;border-color:transparent}.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.opt.wrong .L{background:var(--bad);color:#fff;border-color:transparent}.opt.static{cursor:default}.navgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));grid-gap:6px;gap:6px}.cell{height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);font-size:.78rem;font-weight:700;cursor:pointer;position:relative}.cell.done{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.cell.cur{outline:2px solid var(--ink);outline-offset:1px}.cell.flag:after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--warn)}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;font-size:1.25rem;letter-spacing:-.01em}.timer.low{color:var(--bad);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.mob-only{display:none}@media (max-width:960px){.exam-body{grid-template-columns:1fr;padding:14px 14px 110px}.rail{display:none}.qcard{padding:20px 18px}.stem{font-size:1.02rem}.exam-top .in{padding:10px 14px;gap:10px}.desk-only{display:none!important}.mob-only{display:flex}.mob-bar{position:fixed;left:0;right:0;bottom:0;z-index:25;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);gap:10px}}.sheet-bg{position:fixed;inset:0;background:rgba(20,10,30,.35);z-index:40}.sheet{left:0;border-radius:24px 24px 0 0;padding:20px 16px 28px;max-height:75dvh;overflow:auto}.drawer,.sheet{position:fixed;right:0;bottom:0;z-index:41;background:var(--surface);box-shadow:var(--shadow-lg)}.drawer{top:0;width:min(480px,100vw);display:flex;flex-direction:column}.hook{border-radius:var(--r-sm);background:var(--butter);color:var(--butter-ink);padding:14px 16px}.bl,.hook{font-weight:600}.bl{border-left:4px solid var(--primary);padding:4px 0 4px 14px}.trap{font-size:.85rem;color:var(--ink-2);margin-top:6px}.celebrate{display:flex;align-items:center;gap:18px}.celebrate img{width:84px;height:84px}.ring{--p:0;--c:var(--primary);width:120px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--line) 0);position:relative}.ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--surface)}.card.dark .ring:before{background:var(--dark)}.ring>*{position:relative}.bubble{max-width:85%;padding:12px 16px;border-radius:20px;white-space:pre-wrap;line-height:1.55}.bubble.me{margin-left:auto;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-bottom-right-radius:6px}.bubble.ai{background:var(--surface-2);border:1px solid var(--line)}.bubble.ai,.bubble.coach{border-bottom-left-radius:6px}.bubble.coach{background:var(--mint);color:var(--mint-ink)}.mm{position:relative;height:calc(100dvh - 190px);min-height:480px;overflow:hidden;border-radius:var(--r);background:radial-gradient(circle,color-mix(in srgb,var(--muted) 30%,transparent) 1px,transparent 1px) 0 0 /22px 22px,var(--surface);box-shadow:var(--shadow);touch-action:none;cursor:-webkit-grab;cursor:grab}.mm:active{cursor:-webkit-grabbing;cursor:grabbing}.mm-tools{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:8px;z-index:2}.mm-node{cursor:pointer}.mm-node rect{transition:filter .12s}.mm-node:hover rect{filter:brightness(.97)}@media (max-width:860px){.mm{height:calc(100dvh - 210px)}}.fade-in{animation:fade .35s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.swipe{position:relative;height:64px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.swipe.off{opacity:.5}.swipe-label{font-weight:800;pointer-events:none}.swipe-chev{position:absolute;right:22px;color:var(--muted);pointer-events:none;animation:nudge 1.4s ease-in-out infinite}@keyframes nudge{50%{transform:translateX(4px);opacity:.6}}.swipe-knob{position:absolute;left:6px;top:6px;width:52px;height:52px;border-radius:50%;border:0;cursor:-webkit-grab;cursor:grab;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;touch-action:none;box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 40%,transparent)}.card.dark .swipe{background:color-mix(in srgb,var(--dark-ink) 10%,transparent);box-shadow:none}.ibadge{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center}.tile .ic svg{opacity:.9}.seg{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.seg::-webkit-scrollbar{display:none}.hatch{background-image:repeating-linear-gradient(135deg,color-mix(in srgb,var(--primary-2) 70%,transparent) 0 2px,transparent 2px 9px)}.auth{min-height:100dvh;justify-content:center;gap:56px;padding:32px 16px;flex-wrap:wrap}.auth,.auth-art{display:flex;align-items:center}.auth-art{flex-direction:column;gap:14px;max-width:420px}.auth-art h1{font-size:clamp(1.7rem,4vw,2.3rem)}.auth-card{width:min(400px,100%)}@media (max-width:860px){.auth{gap:20px}.auth .auth-art+.auth-card{margin-top:0}}.bars{display:flex;align-items:flex-end;gap:clamp(8px,2.5vw,18px)}.bars-col{flex:1 1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px}.bars-bar{width:100%;max-width:64px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--primary-2) 55%,transparent)}.bars-bar.today{background:var(--dark);border-color:var(--dark)}.analytics{background:#d6ebe3;color:#1b2b26}@media (prefers-color-scheme:dark){.analytics{background:#17302a;color:#d8f3e9}}.ring-sm:before{inset:7px}.phead{display:flex;align-items:center;gap:14px;margin:0 -32px 8px;padding:28px 32px 22px;border-radius:0 0 28px 28px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-2) 22%,transparent),transparent)}.phead h1{font-size:clamp(1.5rem,3vw,2rem)}.rbtn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);border:0;cursor:pointer;position:relative}.rbtn .dot{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--bad)}@media (max-width:860px){.phead{margin:0 -16px 6px;padding:20px 16px 18px}}.hero-card{position:relative;overflow:hidden;border-radius:var(--r);padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-2) 26%,var(--surface)),color-mix(in srgb,var(--primary) 16%,var(--surface)));box-shadow:var(--shadow)}.hero-card .art{position:absolute;right:-10px;bottom:-14px;pointer-events:none}.qa{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.qa a{background:var(--surface);border-radius:18px;padding:16px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.78rem;font-weight:700;box-shadow:var(--shadow);text-align:center}@media (max-width:520px){.qa{grid-template-columns:repeat(5,72px);overflow-x:auto}}.stripe-bar{height:10px;border-radius:99px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}.stripe-bar>i{display:block;height:100%;border-radius:99px;background:repeating-linear-gradient(115deg,var(--primary) 0 6px,color-mix(in srgb,var(--primary) 55%,white) 6px 10px)}.menu{padding:6px 0}.menu a,.menu button{width:100%;display:flex;align-items:center;gap:14px;padding:14px 18px;background:none;border:0;cursor:pointer;text-align:left;font-weight:600}.menu>*+*{border-top:1px solid var(--line)}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;text-align:center}.cal .d{padding:8px 0 6px;border-radius:12px;font-weight:600;font-size:.9rem;cursor:default}.cal .d.out{color:var(--muted);opacity:.5}.cal .d.today{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}.cal .dots{display:flex;justify-content:center;gap:3px;height:6px;margin-top:4px}.cal .dots i{width:5px;height:5px;border-radius:50%}.card.dark .chip:not(.on){background:transparent;color:inherit;border-color:color-mix(in srgb,var(--dark-ink) 30%,transparent)}.appearance-bar{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 24px;background:var(--surface);border-bottom:1px solid var(--line)}.appearance-brand{font-weight:800;font-size:.9rem;letter-spacing:-.02em}.theme-toggle{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:1.7rem;line-height:1;transition:background-color .18s ease,box-shadow .18s ease}.theme-toggle:hover{background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}.theme-toggle:focus-visible{outline:3px solid var(--primary);outline-offset:3px}@media(max-width:860px){.appearance-bar{padding-inline:16px}}.appearance-bar.floating{position:absolute;top:12px;right:24px;z-index:5;min-height:0;padding:0;background:none;border:0}@media(max-width:860px){.appearance-bar.floating{right:16px;padding:0}}.staging-bar{height:32px;line-height:31px;padding:0 16px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem;font-weight:700;letter-spacing:.01em;background:var(--butter);color:var(--butter-ink);border-bottom:1px solid color-mix(in srgb,var(--butter-ink) 22%,transparent)}.staging-bar.live-data{background:var(--peach);color:var(--peach-ink);border-bottom-color:color-mix(in srgb,var(--peach-ink) 22%,transparent)}.staging-bar+.appearance-bar.floating{top:calc(32px + 12px)}.card{max-width:100%;overflow-wrap:anywhere}.card,.card>*,.dash>*,.g2>*,.g3>*,.g4>*,.tile>*{min-width:0}.tile .label{overflow-wrap:anywhere}.tile .big{line-height:1.15}.main .card,.main .hero-card,.main .tile{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,filter .18s ease}@media (hover:hover) and (pointer:fine){.main .card:not(:has(.card,.tile)):not(form):not([data-card-motion=off]):hover,.main .tile:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 40%,transparent),0 8px 24px color-mix(in srgb,var(--primary) 16%,transparent)}.main .card:not(.dark):not(:has(.card,.tile)):not(form):hover{background-color:color-mix(in srgb,var(--surface) 96%,var(--primary))}.main .tile:not(:disabled):hover{filter:saturate(1.12)}.main .hero-card:hover{box-shadow:var(--shadow-lg)}}@media (max-width:520px){.card{border-radius:20px;padding:16px}.tile{border-radius:18px}}@media (prefers-reduced-motion:reduce){.main .card,.main .hero-card,.main .tile,.theme-toggle{transition:none}.main .card:hover,.main .tile:hover{transform:none!important;filter:none}}.main-navigation{display:grid;grid-gap:2px;gap:2px;flex-shrink:0}.main>.section-tabs{margin-bottom:18px}.main>.card~.section-tabs{margin-top:18px}.section-tabs .chip{color:var(--ink-2)}.section-tabs .chip.on{color:var(--primary-ink)}.section-tabs .dot{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--primary);color:#fff;font-size:.68rem;display:grid;place-items:center}.section-tabs .chip.on .dot{background:var(--primary-ink);color:var(--primary)}.mobile-navigation{display:none}@media (max-width:860px){.mobile-navigation{display:block;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.mobile-navigation summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:.85rem}.mobile-navigation .main-navigation{padding:4px 10px 16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.mobile-navigation .nav{padding:10px;font-size:.8rem}.main>.section-tabs{margin:0 -16px 16px;padding:0 16px 2px}}@media (max-width:420px){.mobile-navigation .main-navigation{grid-template-columns:minmax(0,1fr)}}.fr{min-height:100dvh;flex-direction:column;gap:12px;padding:12px 16px 24px}.fr,.fr-bar{display:flex}.fr-bar{align-items:center;gap:10px;flex-wrap:wrap}.fr-bar>.grow{min-width:130px;white-space:nowrap}.fr-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--good);margin-right:6px;vertical-align:1px;box-shadow:0 0 0 3px var(--good-soft)}.fr-task{padding:12px 14px}.fr-task form{flex-wrap:wrap}.fr-task .field{min-width:220px;margin:0}.fr-body{display:flex;gap:12px;align-items:flex-start}.fr-grid{flex:1 1;min-width:0;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.fr-empty{grid-column:1/-1;padding:48px 20px}.fr-tile{position:relative;aspect-ratio:16/9;border-radius:var(--r-sm);overflow:hidden;background:#15131b;color:#fff;isolation:isolate}.fr-tile.fav{box-shadow:0 0 0 3px var(--primary)}.fr-video{width:100%;height:100%;object-fit:cover}.fr-off,.fr-video{position:absolute;inset:0;z-index:-1}.fr-off{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2c2540,#15131b)}.fr-bottom,.fr-top{position:absolute;left:0;right:0;padding:8px}.fr-top{top:0;--gap:6px;background:linear-gradient(rgba(0,0,0,.45),transparent)}.fr-bottom{bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.65))}.fr-top .fr-ic:not(.on){opacity:0;transition:opacity .15s}.fr-tile:focus-within .fr-top .fr-ic,.fr-tile:hover .fr-top .fr-ic{opacity:1}@media (hover:none){.fr-top .fr-ic:not(.on){opacity:1}}.fr-ic{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff}.fr-ic:hover{background:rgba(0,0,0,.7)}.fr-ic.on{background:var(--primary)}.fr-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.5);font-size:.72rem;font-weight:700}.fr-name{font-weight:800;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.fr-task-line{font-size:.78rem;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.fr-picker{position:absolute;right:8px;bottom:58px;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-lg)}.fr-picker button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;font-size:1.3rem;width:34px;height:34px;border-radius:50%}.fr-picker button:hover{background:var(--primary-soft)}.fr-burst{position:absolute;bottom:30%;font-size:2.2rem;pointer-events:none;animation:fr-float 1.8s ease-out forwards}@keyframes fr-float{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1;transform:translateY(-10px) scale(1.15)}to{transform:translateY(-110px) scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.fr-burst{animation-duration:.01s}}.fr-board{width:300px;flex:0 0 300px;position:-webkit-sticky;position:sticky;top:12px}.fr-rank{--gap:10px;padding:6px 8px;border-radius:var(--r-xs)}.fr-rank.me{background:var(--primary-soft)}.fr-modal{position:fixed;inset:0;background:rgba(10,8,16,.75);display:grid;place-items:center;padding:16px;z-index:50}.fr-big{position:relative;width:min(960px,100%);aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#15131b;color:#fff;isolation:isolate}.fr-big-meta{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,rgba(0,0,0,.7))}.fr-toast{left:50%;bottom:20px;transform:translateX(-50%);background:var(--dark);color:var(--dark-ink);padding:10px 18px;border-radius:999px;font-weight:700;font-size:.9rem;z-index:60}.fr-dock,.fr-toast{position:fixed;box-shadow:var(--shadow-lg)}.fr-dock{right:16px;bottom:16px;width:240px;z-index:40;background:var(--surface);border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line)}.fr-dock-cam{position:relative;aspect-ratio:16/9;background:#15131b;color:#fff;isolation:isolate}.fr-dock-cam .fr-off{color:rgba(255,255,255,.6)}.fr-dock-live{position:absolute;left:8px;top:8px;color:#fff}.fr-dock-live .fr-live{margin-right:2px}.fr-dock-body{padding:10px 12px 12px}.fr-gate{display:grid;place-items:center}@media (max-width:860px){.fr-dock{bottom:84px}}@media (max-width:760px){.fr-dock{width:200px;right:10px}.fr{padding:10px 12px 20px}.fr-pager{order:3;width:100%;justify-content:center}.fr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fr-body{flex-direction:column;align-items:stretch}.fr-board{width:100%;flex:none;position:static}.fr-bottom .fr-pill{display:none}}@media (max-width:420px){.fr-grid{grid-template-columns:1fr}}.fl{max-width:1040px;margin:0 auto;padding:16px 16px 40px;display:flex;flex-direction:column;gap:16px}.fl-top{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.fl-goal{display:flex;align-items:center;gap:16px}.fl-proof{display:flex;flex-direction:column;gap:8px}.fl-big{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.fl-big .num{color:var(--primary);font-size:1.6rem;font-weight:800}.fl-rooms{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.fl-room{display:flex;flex-direction:column;gap:12px}.fl-room .pill{background:var(--surface);color:var(--ink)}.fl-faces{display:flex;flex-wrap:wrap;gap:8px;min-height:92px;align-items:flex-start}.fl-face{width:74px;padding:8px 4px;border-radius:var(--r-xs);background:var(--surface);color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;overflow:hidden}.fl-face span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-more{justify-content:center;min-height:86px;color:var(--primary)}.fs{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.fs-card{width:min(560px,100%)}.fs-steps{display:flex;gap:6px}.fs-steps i{flex:1 1;height:4px;border-radius:4px;background:var(--line)}.fs-steps i.on{background:var(--primary)}.fs-kicker{color:var(--primary);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.fs-opt{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}.fs-opt:hover{border-color:var(--primary-2)}.fs-opt.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 22%,var(--surface));box-shadow:0 0 0 1px var(--primary)}.fs-bar{display:grid;grid-template-columns:84px 1fr auto;align-items:center;grid-gap:10px;gap:10px}.fs-big{font-size:3rem;font-weight:800;color:var(--primary);line-height:1;letter-spacing:-.03em}.fs-rules{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.fr-badge{padding:2px 7px;border-radius:999px;background:linear-gradient(135deg,#ffb347,#ff7a59);color:#fff;font-size:.7rem;font-weight:800}.fr-tile.break{box-shadow:0 0 0 2px var(--mint-ink)}.fr-task.break{background:var(--mint);color:var(--mint-ink)}.fr-menu{position:absolute;top:44px;right:8px;z-index:3;display:flex;flex-direction:column;min-width:190px;padding:6px;border-radius:var(--r-xs);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg)}.fr-menu button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;text-align:left;padding:8px 10px;border-radius:8px;font:inherit;font-size:.85rem;color:inherit;cursor:pointer}.fr-menu button:hover{background:var(--primary-soft)}.fr-menu button.bad{color:var(--bad)}.fr-inbox{position:fixed;left:16px;bottom:16px;z-index:45;display:flex;flex-direction:column;gap:8px;width:min(340px,calc(100vw - 32px))}.fr-inbox-card{display:flex;align-items:center;gap:8px;padding:10px 12px;animation:fr-in .25s ease-out}@keyframes fr-in{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.fr-chat{display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 200px)}.fr-chat-list{flex:1 1;min-height:160px;overflow-y:auto;gap:8px}.fr-chat-list,.fr-chat-msg{display:flex;flex-direction:column}.fr-chat-msg{gap:1px;padding:8px 10px;border-radius:12px;background:var(--surface-2);max-width:90%;overflow-wrap:anywhere}.fr-chat-msg.mine{align-self:flex-end;background:var(--primary-soft)}.fr-settings{width:min(460px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.fr-toggle{display:flex;align-items:center;gap:12px;padding:8px 0;cursor:pointer;border-top:1px solid var(--line)}.fr-toggle input{width:20px;height:20px;accent-color:var(--primary)}.fr-bar .btn .dot{margin-left:4px}.fr-dock.break{border-color:var(--mint-ink)}.fr-dock-inbox{position:absolute;right:8px;top:8px;color:#fff;background:var(--primary)}.fl-tabs .chip{display:inline-flex}.fl-tabs .chip,.fl-time{align-items:center;gap:6px}.fl-time{display:flex;padding:10px 14px;border-radius:var(--r-xs);background:var(--warn-soft);color:var(--warn)}.fl-spaces{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.fl-space{display:flex;align-items:center;gap:12px;padding:14px 16px}.fl-space:hover{box-shadow:0 0 0 2px var(--primary-2),var(--shadow)}.fr-space{padding:12px 14px}.fr-space.break{background:var(--mint);color:var(--mint-ink)}.fs-row{display:flex;align-items:center;gap:14px;padding:14px 16px;flex-wrap:wrap}.fs-time{display:flex;flex-direction:column;min-width:72px}.fl-posts{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}.fl-goal:has(.fl-next){flex-wrap:wrap}.fl-next{flex-basis:100%;padding-top:10px;border-top:1px solid var(--line)}