@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,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(/build/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");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-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(/build/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/manrope-cyrillic-ext-wght-normal-C8S-KRRz.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root,:root[data-theme=dark]{color-scheme:dark;--font: "Inter Variable", Inter;--p1: 99, 102, 241;--p2: 139, 92, 246;--p3: 123, 127, 251;--bg: #090a12;--bg-glow-1: rgba(var(--p1), .16);--bg-glow-2: rgba(var(--p2), .1);--surface: #10121d;--surface-2: #151827;--surface-3: #1b1f32;--border: rgba(148, 156, 255, .09);--border-strong: rgba(148, 156, 255, .18);--text: #eceefa;--muted: #959bba;--subtle: #676d8f;--primary: #7b7ffb;--primary-strong: #6366f1;--primary-text: #ffffff;--primary-soft: rgba(var(--p3), .13);--primary-softer: rgba(var(--p3), .07);--grad: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--grad-soft: linear-gradient(135deg, rgba(var(--p1), .18), rgba(var(--p2), .1));--accent: #f5b14c;--accent-soft: rgba(245, 177, 76, .13);--success: #34d399;--success-soft: rgba(52, 211, 153, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--track: rgba(148, 156, 255, .11);--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 10px 30px -12px rgba(0, 0, 0, .55);--shadow-lg: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 24px 60px -20px rgba(0, 0, 0, .7);--ring: 0 0 0 3px rgba(var(--p3), .45);--radius: 16px;--radius-sm: 10px;--sidebar: 260px}:root[data-theme=light]{color-scheme:light;--p1: 99, 102, 241;--p2: 139, 92, 246;--p3: 85, 88, 238;--bg: #f4f5fa;--bg-glow-1: rgba(var(--p1), .1);--bg-glow-2: rgba(var(--p2), .06);--surface: #ffffff;--surface-2: #f8f9fd;--surface-3: #eff1f8;--border: #e5e7f0;--border-strong: #d5d8e6;--text: #0f1222;--muted: #5b6180;--subtle: #8a8fab;--primary: #5558ee;--primary-strong: #4f46e5;--primary-text: #ffffff;--primary-soft: rgba(85, 88, 238, .09);--primary-softer: rgba(85, 88, 238, .05);--grad-soft: linear-gradient(135deg, rgba(var(--p1), .1), rgba(var(--p2), .05));--accent: #d97706;--accent-soft: rgba(217, 119, 6, .1);--success: #059669;--success-soft: rgba(5, 150, 105, .09);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--track: #eceef6;--shadow: 0 1px 2px rgba(15, 18, 34, .04), 0 8px 24px -12px rgba(15, 18, 34, .1);--shadow-lg: 0 2px 4px rgba(15, 18, 34, .04), 0 24px 48px -20px rgba(15, 18, 34, .18);--ring: 0 0 0 3px rgba(85, 88, 238, .3)}:root[data-theme=sage]{color-scheme:light;--font: "Manrope Variable", Manrope;--logo-1: #3a9a5e;--logo-2: #2d7a49;--p1: 53, 141, 85;--p2: 234, 122, 20;--p3: 53, 141, 85;--bg: #fcfaf8;--bg-glow-1: rgba(250, 196, 140, .22);--bg-glow-2: rgba(53, 141, 85, .07);--surface: #ffffff;--surface-2: #faf7f3;--surface-3: #f3eee7;--border: #eee7dd;--border-strong: #e2d8ca;--text: #212c26;--muted: #5d6a62;--subtle: #8e988f;--primary: #358d55;--primary-strong: #2d7a49;--primary-text: #ffffff;--primary-soft: rgba(53, 141, 85, .1);--primary-softer: rgba(53, 141, 85, .05);--grad: linear-gradient(135deg, #3a9a5e 0%, #2d7a49 100%);--grad-soft: linear-gradient(135deg, rgba(250, 196, 140, .18), rgba(53, 141, 85, .06));--accent: #e0700f;--accent-soft: rgba(234, 122, 20, .1);--success: #2f8f52;--success-soft: rgba(47, 143, 82, .1);--danger: #d64545;--danger-soft: rgba(214, 69, 69, .08);--track: #f0ebe3;--shadow: 0 1px 2px rgba(60, 45, 20, .04), 0 10px 28px -14px rgba(60, 45, 20, .14);--shadow-lg: 0 2px 4px rgba(60, 45, 20, .05), 0 24px 48px -20px rgba(60, 45, 20, .2);--ring: 0 0 0 3px rgba(53, 141, 85, .28);--radius: 20px;--radius-sm: 14px}:root[data-theme=ocean]{color-scheme:dark;--p1: 20, 184, 166;--logo-1: #14b8a6;--logo-2: #0ea5e9;--p2: 56, 189, 248;--p3: 45, 212, 191;--bg: #06151a;--bg-glow-1: rgba(20, 184, 166, .15);--bg-glow-2: rgba(56, 189, 248, .09);--surface: #0b1e24;--surface-2: #10262d;--surface-3: #153038;--border: rgba(94, 234, 212, .09);--border-strong: rgba(94, 234, 212, .18);--text: #e6f6f4;--muted: #8fb1ad;--subtle: #64857f;--primary: #2dd4bf;--primary-strong: #14b8a6;--primary-text: #04201c;--primary-soft: rgba(45, 212, 191, .13);--primary-softer: rgba(45, 212, 191, .07);--grad: linear-gradient(135deg, #14b8a6 0%, #0ea5e9 100%);--grad-soft: linear-gradient(135deg, rgba(20, 184, 166, .18), rgba(56, 189, 248, .08));--ring: 0 0 0 3px rgba(45, 212, 191, .4)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(900px 500px at 15% -10%,var(--bg-glow-1),transparent 60%),radial-gradient(700px 420px at 100% 0%,var(--bg-glow-2),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font:15px/1.55 var(--font),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{letter-spacing:-.02em}h1{font-size:1.45rem;line-height:1.25;margin:0 0 .35rem;font-weight:700}h2{font-size:1.05rem;line-height:1.3;margin:0 0 .6rem;font-weight:650}p{margin:0 0 .75rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}svg{flex:none}.muted{color:var(--muted)}.small{font-size:.875rem}.hint{color:var(--subtle);font-size:.82rem;margin:-.25rem 0 0}.error{color:var(--danger)}.success{color:var(--success)}.text-center{text-align:center}::selection{background:rgba(var(--p3),.35)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:750;font-size:1.08rem;letter-spacing:-.02em;color:var(--text)}.brand:hover{text-decoration:none}.brand-lg{font-size:1.5rem;gap:12px}.brand-logo{width:30px;height:30px}.brand-lg .brand-logo{width:40px;height:40px}.brand-mark{display:none}.layout{min-height:100vh;display:grid;grid-template-columns:1fr}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:8px;height:60px;padding:0 20px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border)}.topbar .brand{margin-right:auto}.topbar-title{margin-right:auto;font-weight:600;color:var(--muted);font-size:.92rem}.topbar-actions{display:flex;align-items:center;gap:6px}.topbar .brand-desktop-hide{display:inline-flex}.icon-btn,.menu-btn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover,.menu-btn:hover{background:var(--surface-3);color:var(--text)}.avatar-link{display:inline-flex;border-radius:50%}.avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}.avatar-letter{display:inline-grid;place-items:center;background:var(--grad);color:#fff;font-weight:700;font-size:.82rem}.sidenav{position:fixed;z-index:40;top:0;bottom:0;left:0;width:var(--sidebar);max-width:84vw;display:flex;flex-direction:column;gap:2px;padding:16px 12px;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;transform:translate(-100%);transition:transform .22s ease}.menu-open .sidenav{transform:none;box-shadow:var(--shadow-lg)}.sidenav-brand{padding:4px 10px 18px}.nav-group-label{padding:14px 12px 6px;font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}.scrim{position:fixed;inset:0;z-index:35;background:#05060c99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px;min-height:40px;border-radius:10px;color:var(--muted);font-weight:500;font-size:.92rem;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.nav-item.active{background:var(--primary-soft);color:var(--text);font-weight:600}.nav-item.active .nav-icon{color:var(--primary)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--grad)}.nav-icon{display:inline-grid;place-items:center;width:20px;color:var(--subtle)}.nav-small{font-size:.88rem}.nav-button{width:100%;border:0;background:none;font:inherit;cursor:pointer;text-align:left}.nav-sep{height:1px;background:var(--border);margin:10px 6px}.nav-badge{margin-left:auto;font-size:.6rem;font-weight:750;letter-spacing:.06em;padding:3px 7px;border-radius:99px;background:var(--grad);color:#fff}.sidenav-footer{margin-top:auto;padding-top:14px;display:grid;gap:8px}.community-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#fff;font-weight:600;font-size:.86rem}.community-link:hover{text-decoration:none;filter:brightness(1.08)}.community-telegram{background:linear-gradient(135deg,#2aa3df,#1a78bd)}.community-instagram{background:linear-gradient(135deg,#e8833a,#d4365c 55%,#a8329a)}.user-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.user-card-text{display:grid;min-width:0;flex:1;line-height:1.3}.user-card-text strong{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-text span{font-size:.76rem;color:var(--subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{width:100%;max-width:1040px;margin:0 auto;padding:28px 20px 64px;min-width:0}.content-wide{max-width:1180px}@media(min-width:1024px){.layout{grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidenav{position:sticky;top:0;height:100vh;transform:none;max-width:none}.menu-btn,.scrim,.topbar .brand-desktop-hide{display:none}.content{padding:32px 36px 72px}}@media(max-width:560px){.topbar{padding:0 12px}.content{padding:20px 16px 56px}}.page-title{font-size:1.7rem;font-weight:750;letter-spacing:-.03em;margin:0 0 .3rem}.page-sub{color:var(--muted);margin:0 0 22px;max-width:680px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.page-head .page-title{margin:0}.section-title{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);margin:28px 0 12px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;color:var(--muted);margin-bottom:14px}.back-link:hover{color:var(--text);text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card,.card+section,section+.card{margin-top:14px}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:420px;display:grid;gap:14px;padding:28px}.form-card{display:grid;gap:16px;max-width:560px}.form-card h2{margin:0}label{display:grid;gap:7px;font-weight:550;font-size:.88rem;color:var(--text)}input,textarea,select{font:inherit;font-size:.94rem;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:11px 13px;width:100%;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--subtle)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}input:disabled{opacity:.65}textarea{resize:vertical}select{width:auto;padding:8px 12px}.label-text{font-weight:550;font-size:.88rem;margin-bottom:8px}.check{display:flex;gap:12px;align-items:flex-start;font-weight:450;color:var(--muted)}.check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--primary);padding:0}input[type=range]{padding:0;accent-color:var(--primary);background:none;border:0;box-shadow:none}input[type=date]{color-scheme:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:.92rem;font-weight:600;letter-spacing:-.005em;border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 16px;min-height:42px;cursor:pointer;background:transparent;color:var(--text);transition:transform .12s ease,box-shadow .15s,background .15s,filter .15s,border-color .15s;white-space:nowrap}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 22px -10px rgba(var(--p1),.8),inset 0 1px #ffffff2e}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 10px 28px -10px rgba(var(--p1),.95),inset 0 1px #fff3}.btn-secondary{background:var(--primary-soft);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 20%,transparent)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,transparent)}.btn-ghost{color:var(--muted);font-weight:550}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-outline{border-color:var(--border-strong);background:var(--surface-2)}.btn-outline:hover:not(:disabled){border-color:var(--primary)}.btn-block{width:100%}.btn-lg{min-height:50px;padding:12px 22px;font-size:1rem;border-radius:12px}.btn.small{min-height:36px;padding:6px 12px;font-size:.84rem}.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tabs{display:flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;overflow-x:auto;margin-bottom:16px;scrollbar-width:none}.tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border:0;background:none;font:inherit;font-size:.88rem;font-weight:600;color:var(--muted);padding:8px 14px;border-radius:9px;cursor:pointer;min-height:38px;transition:background .15s,color .15s}.tab:hover{color:var(--text)}.tab-on{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px #00000040,inset 0 1px #ffffff0a}:root[data-theme=light] .tab-on,:root[data-theme=sage] .tab-on{background:#fff;box-shadow:0 1px 3px #0f12221a}.mode-switch{max-width:420px;margin:0 0 22px}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;font-size:.86rem;font-weight:550;padding:7px 14px;border-radius:99px;cursor:pointer;min-height:36px;transition:border-color .15s,background .15s}.chip:hover{border-color:var(--primary)}.chip-on{background:var(--grad);border-color:transparent;color:#fff}.chip-form{display:flex;gap:6px}.chip-form input,.chip-input{width:120px;padding:7px 14px;border-radius:99px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:.74rem;padding:3px 10px;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-weight:600}.badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:99px;text-transform:capitalize}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-ok{background:var(--success-soft);color:var(--success)}.badge-err{background:var(--danger-soft);color:var(--danger)}.bar{height:8px;border-radius:99px;background:var(--track);overflow:hidden;margin:10px 0}.bar span{display:block;height:100%;background:var(--grad);border-radius:99px;transition:width .4s ease}.bar-lg{height:12px}.mascot{display:block;width:100%;height:auto}.mascot-float{animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}.mascot-blink .owl-eyelid{animation:blink 4.8s infinite;transform-origin:center;transform-box:fill-box}@keyframes blink{0%,44%,48%,88%,91%,94%,to{transform:scaleY(0)}46%{transform:scaleY(1)}89.5%{transform:scaleY(1)}92.5%{transform:scaleY(1)}}.speech{position:relative;padding:12px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border-strong);font-size:.92rem;color:var(--text)}.speech:before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;background:inherit;border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);transform:rotate(45deg)}.companion{display:flex;align-items:center;gap:14px}.companion .mascot{width:84px;flex:none}.auth-bg{background:radial-gradient(800px 500px at 10% 0%,rgba(var(--p1),.22),transparent 60%),radial-gradient(700px 500px at 100% 100%,rgba(var(--p2),.16),transparent 60%),var(--bg)}.auth-wrap{width:100%;max-width:1040px;display:grid;gap:40px;align-items:center}@media(min-width:880px){.auth-wrap{grid-template-columns:1fr 420px}}.auth-pitch h2{font-size:2.4rem;line-height:1.12;letter-spacing:-.035em;margin:22px 0 14px;font-weight:750}.auth-pitch h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-pitch p{font-size:1.05rem;color:var(--muted);max-width:470px}.auth-hero{display:flex;align-items:flex-end;gap:18px;margin-top:8px}.auth-hero .mascot{width:150px}.pitch-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.pitch-list li{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:500}.pitch-list li svg{color:var(--primary)}.pitch-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--primary-soft);border:1px solid var(--border)}@media(max-width:879px){.pitch-list,.auth-pitch p,.auth-pitch h2,.auth-hero{display:none}.auth-pitch{text-align:center}}.auth-card h1{font-size:1.5rem;margin:0}.btn-google{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.btn-google:hover{border-color:var(--primary)}.or{display:flex;align-items:center;gap:12px;color:var(--subtle);font-size:.8rem}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--border-strong)}.dash-greeting{margin-bottom:18px}.dash-greeting h1{font-size:1.75rem;letter-spacing:-.03em;margin:0}.dash-greeting p{color:var(--muted);margin:4px 0 0}.countdown{display:grid;grid-template-columns:1fr 2.2fr 1fr;gap:12px;align-items:center;text-align:center;padding:18px 16px;margin-bottom:14px;background:var(--grad-soft),var(--surface)}.cd-cell{display:grid;gap:4px;min-width:0}.cd-cell strong{font-size:.95rem;font-weight:650}.cd-label{font-size:.68rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--subtle)}.cd-clock{display:flex;justify-content:center;gap:8px}.cd-clock span{display:grid;min-width:62px;padding:8px 6px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.cd-clock b{font-size:1.6rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.cd-clock i{font-style:normal;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--subtle)}@media(max-width:640px){.countdown{grid-template-columns:1fr 1fr}.cd-main{grid-column:1 / -1;order:-1}.cd-clock span{min-width:0;flex:1}}.community{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--muted);margin:0 0 14px;font-size:.9rem}.community strong{color:var(--text);font-variant-numeric:tabular-nums}.pulse,.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}.pulse{animation:pulse 2s infinite}.dot-live{margin-right:8px;box-shadow:0 0 0 4px var(--success-soft)}@keyframes pulse{0%{box-shadow:0 0 #34d39980}to{box-shadow:0 0 0 10px transparent}}.hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 28px;background:radial-gradient(600px 220px at 100% 0%,rgba(var(--p2),.28),transparent 70%),linear-gradient(135deg,rgba(var(--p1),.22),rgba(var(--p1),.04)),var(--surface);border-color:var(--border-strong)}.hero-main{display:flex;align-items:center;gap:18px;min-width:0;flex:1 1 360px}.hero-main .mascot{width:96px;flex:none}.hero h1{font-size:1.4rem}.hero p{margin:0}.live-count{display:inline-flex;align-items:center;margin-top:12px!important;padding:5px 12px 5px 10px;border-radius:99px;background:var(--success-soft);color:var(--success);font-size:.82rem;font-weight:600}@media(max-width:520px){.hero{padding:20px}.hero-main .mascot{width:72px}.hero .btn-lg{width:100%}}.shortcuts{display:grid;grid-template-columns:1fr;gap:12px;margin:14px 0 0}@media(min-width:640px){.shortcuts{grid-template-columns:1fr 1fr}}.shortcut{display:flex;align-items:center;gap:14px;color:var(--text);padding:16px 18px;margin:0!important;transition:border-color .15s,transform .15s}.shortcut:hover{border-color:var(--border-strong);text-decoration:none;transform:translateY(-1px)}.shortcut strong{display:block;font-size:.95rem}.shortcut small{display:block;color:var(--muted);font-size:.84rem}.shortcut .chev{margin-left:auto;color:var(--subtle)}.sc-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--primary-soft);color:var(--primary);flex:none}.sc-icon.amber{background:var(--accent-soft);color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}@media(min-width:720px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.grid>.card{margin:0!important}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0}@media(max-width:560px){.grid-3{grid-template-columns:1fr 1fr}.grid-3>:first-child{grid-column:1 / -1}}.stat{padding:18px;display:grid;align-content:start;gap:2px}.stat-span3{grid-column:1 / -1}.stat-link{color:var(--text);transition:border-color .15s,transform .15s}.stat-link:hover{border-color:var(--border-strong);text-decoration:none;transform:translateY(-1px)}.stat-label{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.stat-label svg{color:var(--primary)}.stat-value{font-size:1.75rem;font-weight:750;margin:6px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.15}.stat-note{font-size:.84rem;color:var(--muted)}.tile-sky{background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.5) 0 1px,transparent 2px),radial-gradient(circle at 30% 60%,rgba(255,255,255,.45) 0 1px,transparent 2px),radial-gradient(circle at 60% 85%,rgba(255,255,255,.4) 0 1px,transparent 2px),radial-gradient(circle at 90% 70%,rgba(255,255,255,.35) 0 1px,transparent 2px),linear-gradient(160deg,#1a1749,#312a7c);color:#f4f2ff;border-color:rgba(var(--p2),.3)}.tile-sky .stat-label,.tile-sky .stat-note{color:#c4bff3}.tile-sky .stat-label svg{color:#fcd34d}.focus{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:14px 16px 48px;background:radial-gradient(700px 500px at 50% 30%,rgba(var(--p1),.16),transparent 70%),var(--bg)}.focus-bar{width:100%;max-width:900px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}.round-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:.84rem;font-weight:600}.focus-stage{position:relative;display:grid;place-items:center}.focus-companion{position:absolute;right:-96px;bottom:6px;width:110px}@media(max-width:640px){.focus-companion{right:-14px;bottom:-16px;width:74px}}.ring{position:relative;width:min(340px,78vw);aspect-ratio:1;filter:drop-shadow(0 20px 50px rgba(var(--p1),.25))}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track,.ring-progress{fill:none;stroke-width:10}.ring-track{stroke:var(--track)}.ring-progress{stroke:url(#ringGrad);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.ring-paused .ring-progress{stroke:var(--accent)}.ring-text{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:4px}.ring-time{font-size:clamp(2.8rem,13vw,4rem);font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.focus-total{margin:26px 0 18px;color:var(--muted)}.focus-total strong{color:var(--text);font-variant-numeric:tabular-nums}.focus-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.summary-time{font-size:2.6rem;font-weight:750;letter-spacing:-.03em;margin:0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.big-emoji{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 6px;border-radius:18px;background:var(--primary-soft);color:var(--primary)}.big-emoji.amber{background:var(--accent-soft);color:var(--accent)}.big-mascot{width:140px;margin:0 auto 4px}.is-fullscreen .focus-bar .back-btn,.is-fullscreen .live-strip{display:none}.quote{max-width:540px;text-align:center;margin:30px auto 12px;padding:0 16px;font-size:1.02rem;font-style:italic;color:var(--muted);animation:fade .6s ease}.quote:before{content:"“";color:var(--primary);font-size:1.6rem;line-height:0;vertical-align:-.35em;margin-right:4px;font-style:normal}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.live-strip{width:100%;max-width:900px;margin-top:30px}.live-head{display:flex;align-items:center;margin-bottom:12px;font-size:.9rem;color:var(--muted)}.live-head>span{display:flex;align-items:center;gap:4px}.live-head strong{color:var(--text)}.live-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}.live-person{flex:none;scroll-snap-align:start;display:grid;justify-items:center;gap:6px;width:100px;padding:14px 8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;text-align:center}.live-person .avatar{width:38px;height:38px}.live-person.is-me{border-color:color-mix(in srgb,var(--primary) 55%,transparent);background:var(--primary-softer)}.live-person.is-break{opacity:.6}.lp-name{font-size:.76rem;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-time{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.is-break .lp-time{color:var(--accent)}.streak-hero{background:radial-gradient(400px 200px at 100% 0%,rgba(245,177,76,.22),transparent 70%),var(--surface)}.streak-hero .stat-label svg{color:var(--accent)}.restore{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.restore-text{display:flex;align-items:center;gap:14px}.restore p{margin:0}.calendar{margin-top:14px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-wd{text-align:center;font-size:.68rem;font-weight:650;letter-spacing:.06em;color:var(--subtle);text-transform:uppercase;padding-bottom:4px}.cal-day{aspect-ratio:1;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-content:center;text-align:center;line-height:1.1;font-size:.84rem;font-weight:550;font-variant-numeric:tabular-nums}.cal-day small{font-size:.6rem;font-weight:750;opacity:.9}.cal-day.is-future{opacity:.35}.tier-2{background:rgba(var(--p3),.22);border-color:transparent}.tier-4{background:rgba(var(--p3),.42);border-color:transparent}.tier-6{background:rgba(var(--p3),.7);border-color:transparent;color:#fff}.tier-8{background:linear-gradient(135deg,var(--primary-strong),var(--accent));border-color:transparent;color:#fff}.is-restored{outline:2px dashed var(--accent);outline-offset:-3px}.cal-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:.78rem;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2)}.goal-set{display:grid;gap:12px}.goal-today{display:grid;gap:6px}.chart{padding:20px 20px 12px}.chart-bars{position:relative;height:180px;display:flex;align-items:flex-end;gap:4px}.chart-col{flex:1;height:100%;display:flex;align-items:flex-end}.chart-bar{width:100%;min-height:3px;border-radius:5px 5px 2px 2px;background:var(--track);transition:height .4s ease}.chart-bar.is-met{background:var(--grad)}.chart-goal{position:absolute;left:0;right:0;border-top:1.5px dashed var(--accent)}.chart-goal span{position:absolute;right:0;top:-20px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.chart-axis{display:flex;justify-content:space-between;font-size:.74rem;color:var(--subtle);margin-top:8px}.me-rank{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--grad-soft),var(--surface);border-color:var(--border-strong)}.me-rank strong{font-size:1.6rem;font-weight:750;letter-spacing:-.03em}.board{list-style:none;padding:6px;margin:14px 0 0}.board-row{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:12px}.board-row+.board-row{border-top:1px solid var(--border)}.board-row.is-me{background:var(--primary-soft);border-top-color:transparent}.board-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:700;color:var(--muted);font-size:.88rem;flex:none;font-variant-numeric:tabular-nums}.rank-1{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#422006}.rank-2{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#111827}.rank-3{background:linear-gradient(135deg,#fed7aa,#c2410c);color:#fff7ed}.board-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:grid;font-weight:550}.board-time{font-weight:700;font-variant-numeric:tabular-nums}.status{font-size:.78rem;font-weight:500;color:var(--subtle)}.status-active{color:var(--success)}.status-break{color:var(--accent)}.toolbar{display:grid;gap:10px;margin:4px 0}@media(min-width:720px){.toolbar{grid-template-columns:1fr auto;align-items:center}}.toolbar .tabs{margin:0}.search{position:relative}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--subtle)}.search input{padding-left:40px}.group-grid{display:grid;gap:14px;margin-top:16px}@media(min-width:760px){.group-grid{grid-template-columns:1fr 1fr}}.group-grid>.card{margin:0!important;display:grid;gap:10px;align-content:start;transition:border-color .15s}.group-grid>.card:hover{border-color:var(--border-strong)}.group-card.is-official{background:radial-gradient(400px 160px at 100% 0%,rgba(245,177,76,.14),transparent 70%),var(--surface);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.group-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.group-name{font-weight:700;font-size:1.05rem;color:var(--text);letter-spacing:-.01em}.group-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;color:var(--muted)}.group-meta span{display:inline-flex;align-items:center;gap:6px}.group-actions{margin-top:2px}.group-head{display:grid;gap:12px}.create-group{max-width:none;margin-bottom:16px}.partner-empty{display:grid;gap:14px;justify-items:center;padding:36px 24px;margin-top:14px}.partner-empty .mascot{width:130px}.partner-card{display:flex;align-items:center;gap:18px;margin-top:14px}.partner-card .avatar{width:64px;height:64px;font-size:1.4rem}.partner-card p{margin:0}.spinner{width:44px;height:44px;border-radius:50%;border:3px solid var(--track);border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sky{position:relative;border-radius:20px;overflow:hidden;margin:14px 0;aspect-ratio:16 / 9;min-height:280px;border:1px solid rgba(var(--p2),.25);background:radial-gradient(ellipse at 50% 120%,#3b2f8f,#17143d 45%,#06050f);box-shadow:var(--shadow-lg)}.sky svg{width:100%;height:100%;display:block}.sky-star{animation:twinkle 4s ease-in-out infinite}@keyframes twinkle{50%{opacity:.45}}.sky-hills{fill:#04030b}.sky-count{position:absolute;left:20px;bottom:16px;color:#e9e6ff;font-size:.95rem}.sky-count strong{font-size:2rem;font-weight:750;letter-spacing:-.03em}.sky-owl{position:absolute;right:4%;bottom:6%;width:18%;max-width:150px}.faq{display:grid;gap:10px;margin:16px 0 20px}.faq .card{margin:0!important;padding:0}.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--subtle);font-size:1.2rem;font-weight:400}.faq details[open] summary:after{content:"–"}.faq p{padding:0 20px 18px;margin:0;color:var(--muted)}.feedback-list{list-style:none;padding:6px 18px}.feedback-list li{padding:14px 0}.feedback-list li+li{border-top:1px solid var(--border)}.feedback-list p{margin:8px 0 0;white-space:pre-wrap}.kit-overall{display:grid;gap:14px;margin:0 0 18px;background:var(--grad-soft),var(--surface);border-color:var(--border-strong)}@media(min-width:720px){.kit-overall{grid-template-columns:1fr 1.4fr auto;align-items:center}}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.subject-grid>.card{margin:0!important}.subject-card{display:grid;gap:4px;color:var(--text);padding:18px;transition:border-color .15s,transform .15s}.subject-card:hover{border-color:var(--border-strong);transform:translateY(-1px);text-decoration:none}.subject-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.subject-top strong{font-weight:650;flex:1;min-width:0}.subject-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:750;font-size:.78rem;flex:none}.subject-pct{font-size:.8rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.chapter-list{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}.chapter-list>.card{margin:0!important;padding:14px 18px;display:grid;gap:12px}.chapter.status-1{box-shadow:inset 3px 0 0 var(--primary),var(--shadow)}.chapter.status-2{box-shadow:inset 3px 0 0 var(--success),var(--shadow)}@media(min-width:900px){.chapter-list>.card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-tools{grid-column:1 / -1}}.chapter-main{display:flex;gap:14px;align-items:center;min-width:0}.chapter-no{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);color:var(--muted);font-weight:700;font-size:.8rem}.chapter.status-1 .chapter-no{background:var(--primary-soft);color:var(--primary)}.chapter.status-2 .chapter-no{background:var(--success-soft);color:var(--success)}.chapter-text{display:grid;gap:4px;min-width:0}.chapter-text strong{font-weight:600}.chapter-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.weight{color:var(--accent);letter-spacing:1px;font-size:.8rem}.chapter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.seg-btn{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;padding:6px 10px;border-radius:7px;cursor:pointer;min-height:32px}.seg-btn:hover{color:var(--text)}.seg-on{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px #00000040}.chapter.status-2 .seg-on{background:var(--success-soft);color:var(--success)}.chapter.status-1 .seg-on{background:var(--primary-soft);color:var(--primary)}.admin-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:12px;border-top:1px dashed var(--border-strong)}.file-btn{cursor:pointer;border:1px dashed var(--border-strong)}.tutor-hero{display:flex;align-items:center;gap:20px;margin-bottom:18px}.tutor-hero .mascot{width:110px;flex:none}@media(max-width:560px){.tutor-hero .mascot{width:76px}}.tutor-form{max-width:none;background:var(--grad-soft),var(--surface);border-color:var(--border-strong)}.note-list{list-style:none;padding:4px 18px}.note-list li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:13px 0}.note-list li+li{border-top:1px solid var(--border)}.note-list a{flex:1;min-width:0;font-weight:600;color:var(--text)}.note{margin-top:4px;padding:28px}@media(max-width:560px){.note{padding:18px}}.note-wait{display:grid;justify-items:center;gap:10px;padding:30px 0}.note-wait .mascot{width:120px}.prose{line-height:1.7;overflow-wrap:anywhere;font-size:.97rem}.prose>:first-child{margin-top:0}.prose h1,.prose h2,.prose h3{margin:1.6em 0 .6em;line-height:1.3}.prose h1{font-size:1.35rem}.prose h2{font-size:1.15rem;padding-bottom:8px;border-bottom:1px solid var(--border)}.prose h3{font-size:1rem;color:var(--primary)}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.3em 0}.prose li::marker{color:var(--primary)}.prose strong{color:var(--text);font-weight:650}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:1.1em 0;font-size:.9rem;display:block;overflow-x:auto;border:1px solid var(--border-strong);border-radius:12px}.prose th,.prose td{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}.prose th{background:var(--surface-3);font-weight:650;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.prose tr:last-child td{border-bottom:0}.prose code{background:var(--primary-soft);padding:1px 6px;border-radius:6px;font-size:.9em}.prose blockquote{margin:1em 0;padding:.7em 1.1em;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;background:var(--accent-soft)}.prose hr{border:0;border-top:1px solid var(--border);margin:2em 0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{:root{color-scheme:light;--text: #000;--muted: #333;--subtle: #555;--border: #ccc;--border-strong: #bbb;--surface: #fff;--surface-2: #fff;--surface-3: #f2f2f2;--primary: #3730a3}body{background:#fff}.topbar,.sidenav,.scrim,.no-print,.hint{display:none!important}.layout{display:block}.content{max-width:none;padding:0}.card{border:0;box-shadow:none;padding:0;background:#fff}}.page-head .mode-switch{margin:0;min-width:min(100%,340px)}.dash-greeting{align-items:flex-end;margin-bottom:18px}@media(min-width:1024px){.layout{background:linear-gradient(to right,var(--surface) calc(var(--sidebar) - 1px),var(--border) calc(var(--sidebar) - 1px),var(--border) var(--sidebar),transparent var(--sidebar))}}.focus .live-strip{text-align:left}.calendar .cal-head,.calendar .cal-grid,.calendar .cal-legend{max-width:560px;margin-left:auto;margin-right:auto}.admin-tools select{font-size:.84rem;padding:6px 10px;min-height:36px}.topbar{padding-top:env(safe-area-inset-top);height:calc(60px + env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}@media(max-width:560px){.topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}.sidenav{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.focus{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:calc(48px + env(safe-area-inset-bottom))}.center-screen{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.content{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.nav-count{background:var(--danger);min-width:20px;text-align:center}.group-layout{display:grid;gap:16px;margin-top:16px;align-items:start}@media(min-width:1100px){.group-layout{grid-template-columns:minmax(0,1fr) 400px}.group-layout .chat{position:sticky;top:76px}}.group-main>.card:first-child{margin-top:0}.chat{display:flex;flex-direction:column;padding:0;overflow:hidden;height:min(620px,75vh);margin-top:14px}.group-layout .chat{margin-top:0}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.chat-list{flex:1;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:4px}.chat-empty{margin:auto;text-align:center}.chat-system{align-self:center;margin:8px 0;padding:5px 12px;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-size:.78rem;font-weight:600;text-align:center}.chat-msg{display:flex;align-items:flex-end;gap:8px;max-width:86%;margin-top:6px}.chat-msg.is-grouped{margin-top:0;padding-left:40px}.chat-msg.is-me{align-self:flex-end;flex-direction:row-reverse;padding-left:0}.chat-msg .avatar{width:30px;height:30px;font-size:.72rem}.chat-bubble-wrap{display:grid;gap:2px;min-width:0}.chat-name{font-size:.72rem;font-weight:600;color:var(--muted);padding-left:4px}.chat-bubble{position:relative;padding:8px 12px 18px;border-radius:14px 14px 14px 4px;background:var(--surface-3);color:var(--text);font-size:.9rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;min-width:64px}.chat-msg.is-me .chat-bubble{background:var(--grad);color:#fff;border-radius:14px 14px 4px}.chat-msg.is-nudge .chat-bubble{background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);font-weight:600}.chat-msg.is-me.is-nudge .chat-bubble{background:var(--accent);color:#2a1600}.chat-time{position:absolute;right:10px;bottom:3px;font-size:.64rem;opacity:.65}.chat-del{opacity:0;border:0;background:none;color:var(--subtle);cursor:pointer;padding:4px;border-radius:6px}.chat-msg:hover .chat-del,.chat-del:focus-visible{opacity:1}.chat-del:hover{color:var(--danger)}.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.chat-form input{border-radius:99px;padding:10px 16px}.chat-form .btn{border-radius:99px;width:44px;padding:0;flex:none}.chat .error{padding:0 16px;margin:0 0 6px}.together{margin-bottom:4px}.together-idle{display:flex;align-items:center;gap:18px;background:var(--grad-soft),var(--surface);border-color:var(--border-strong)}.together-idle .mascot{width:88px;flex:none}.together-idle h2{margin-bottom:4px}.together-idle p{margin-bottom:12px}.together-live{background:radial-gradient(500px 220px at 0% 0%,rgba(52,211,153,.12),transparent 70%),var(--grad-soft),var(--surface);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.together-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.together-ring{position:relative;width:132px;height:132px;flex:none}.together-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.together-ring .ring-track,.together-ring .ring-progress{stroke-width:9}.together-time{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.together-time strong{font-size:1.6rem;font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.together-time span{font-size:.72rem;color:var(--muted);font-weight:600}.together-info{display:grid;gap:6px;justify-items:start;flex:1;min-width:200px}.together-info h2{margin:0}.together-info p{margin:0 0 6px}.live-pill{display:inline-flex;align-items:center;padding:4px 10px 4px 8px;border-radius:99px;background:var(--success-soft);color:var(--success);font-size:.74rem;font-weight:700}.together-people{display:flex;gap:10px;overflow-x:auto;margin-top:16px;padding-bottom:4px}.together-banner{display:inline-flex;align-items:center;gap:8px;margin:-6px 0 18px;padding:8px 14px;border-radius:99px;background:var(--success-soft);color:var(--success);font-weight:600;font-size:.86rem}.together-banner:hover{text-decoration:none;filter:brightness(1.1)}.nav-section+.nav-section .nav-group-label{padding-top:12px}.grid-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}@media(min-width:860px){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid-4>.card{margin:0!important}.shortcuts-3{margin-bottom:0}@media(min-width:900px){.shortcuts-3{grid-template-columns:repeat(3,1fr)}}.form-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.inline-label{display:inline-flex;align-items:center;gap:8px;font-weight:500}.badge-banner{display:flex;align-items:center;gap:14px;margin-bottom:14px;color:var(--text);background:radial-gradient(400px 120px at 0% 50%,rgba(245,177,76,.18),transparent 70%),var(--surface);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.badge-banner:hover{text-decoration:none}.badge-banner small{display:block;color:var(--muted)}.badge-banner .chev{margin-left:auto;color:var(--subtle)}.quiz-progress{display:flex;gap:6px;margin:4px 0 14px}.quiz-progress span{flex:1;height:6px;border-radius:99px;background:var(--track)}.quiz-progress .ok{background:var(--success)}.quiz-progress .bad{background:var(--danger)}.quiz-progress .now{background:var(--primary)}.quiz{display:grid;gap:14px;padding:22px}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.quiz-stem{font-size:1.06rem;line-height:1.6;font-weight:550;margin:0}.quiz-options{display:grid;gap:10px}.quiz-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.quiz-option:hover:not(:disabled){border-color:var(--primary);background:var(--primary-softer)}.quiz-option:disabled{cursor:default}.quiz-letter{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-3);font-weight:700;font-size:.85rem;flex:none}.quiz-option.is-right{border-color:var(--success);background:var(--success-soft)}.quiz-option.is-right .quiz-letter{background:var(--success);color:#04120c}.quiz-option.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.quiz-option.is-wrong .quiz-letter{background:var(--danger);color:#fff}.quiz-option.is-dim{opacity:.55}.quiz-mark{margin-left:auto}.is-right .quiz-mark{color:var(--success)}.is-wrong .quiz-mark{color:var(--danger)}.quiz-explain{padding:14px 16px;border-radius:12px;background:var(--surface-2);border-left:3px solid var(--success);display:grid;gap:6px;justify-items:start}.quiz-explain.bad{border-left-color:var(--danger)}.quiz-explain p{margin:0;color:var(--muted)}.practice-done{display:grid;justify-items:center;gap:8px;padding:30px}.practice-done .mascot{width:120px}.subject-acc{display:grid;gap:10px}.acc-row{display:grid;grid-template-columns:170px 1fr 48px 40px;align-items:center;gap:12px;font-size:.9rem}.acc-row .bar{margin:0}@media(max-width:560px){.acc-row{grid-template-columns:1fr 44px}.acc-row .bar,.acc-row .muted{display:none}}.upcoming{display:grid;gap:12px}.upcoming-day{display:grid;gap:6px}.upcoming-day+.upcoming-day{padding-top:12px;border-top:1px solid var(--border)}.trend{width:100%;height:auto;display:block}.trend-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.trend-label{fill:var(--subtle);font-size:11px}.trend-dot{fill:var(--surface);stroke:#a78bfa;stroke-width:3}.report-hero{display:grid;gap:20px;align-items:end;background:var(--grad-soft),var(--surface);border-color:var(--border-strong)}@media(min-width:720px){.report-hero{grid-template-columns:1fr 1.3fr}}.report-total{font-size:3rem;font-weight:800;letter-spacing:-.04em;line-height:1.1;margin:6px 0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.report-bars{display:flex;align-items:flex-end;gap:8px;height:150px}.report-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.report-col .chart-bar{width:100%}.report-col small{color:var(--subtle);font-size:.72rem}.report-share{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.badge-grid>.card{margin:0!important}.badge-card{display:grid;justify-items:center;text-align:center;gap:6px;padding:20px 14px;opacity:.55}.badge-card.is-earned{opacity:1}.badge-medal{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--surface-3);color:var(--subtle);margin-bottom:4px}.is-earned .badge-medal{background:radial-gradient(circle at 30% 25%,#fde68a,#f59e0b 55%,#b45309);color:#3b1d00;box-shadow:0 8px 24px -8px #f59e0b99}.badge-card.is-new{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}.exam-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--grad-soft),var(--surface);border-color:var(--border-strong)}.exam-days{display:grid;justify-items:center;min-width:110px}.exam-days strong{font-size:3rem;font-weight:800;letter-spacing:-.04em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.exam-days span{color:var(--muted);font-weight:600;font-size:.85rem}.checklist{display:grid;padding:6px}.check-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px;border:0;border-radius:10px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.check-item+.check-item{border-top:1px solid var(--border);border-radius:0}.check-item:hover{background:var(--surface-2)}.check-icon{color:var(--subtle);flex:none;margin-top:1px}.check-item.is-done .check-icon{color:var(--success)}.check-item.is-done .check-text>span{color:var(--muted);text-decoration:line-through}.check-item.is-overdue .check-text small{color:var(--danger)}.check-item.is-today{background:var(--primary-softer)}.check-text{display:grid;gap:4px}.check-text small{color:var(--subtle);font-size:.78rem}.upload-box{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-style:dashed;border-color:var(--border-strong);color:var(--primary)}.upload-box strong{color:var(--text)}.ask-form{padding:10px;border-top:0}.challenge{display:grid;gap:10px;margin-bottom:14px}.challenge .bar{margin:0}.challenge.is-won{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:radial-gradient(400px 150px at 0% 0%,rgba(245,177,76,.16),transparent 70%),var(--surface)}.challenge-top{display:flex;align-items:center;gap:14px}.mini-challenge{display:grid;gap:2px}.mini-challenge .bar{margin:4px 0 0;height:6px}.mini-challenge span{display:inline-flex;align-items:center;gap:6px}.nav-item{min-height:36px;padding:7px 12px}.nav-group-label{padding:12px 12px 4px}.sidenav-brand{padding-bottom:12px}.card-title{font-size:1.05rem;font-weight:700}.kit-builder{margin:16px 0 6px;background:var(--grad-soft),var(--surface);border-color:var(--border-strong)}.kit-builder-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.kit-builder-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--grad);color:#fff}.kit-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kit-level{display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;font:inherit}.kit-level span{color:var(--muted);font-size:.8rem}.kit-level-on{border-color:var(--primary);box-shadow:var(--ring);background:var(--primary-soft)}.kit-chips{display:flex;flex-wrap:wrap;gap:8px}.kit-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;cursor:pointer}.kit-chip:disabled{opacity:.45;cursor:not-allowed}.kit-chip-on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.kit-chip-count{font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--primary-soft);color:var(--primary)}.kit-chip-on .kit-chip-count{background:#ffffff38;color:inherit}.kit-label{margin:14px 0 8px}.kit-levels-2{grid-template-columns:repeat(2,1fr)}.kit-toggles{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}.kit-toggle{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.9rem;cursor:pointer}.kit-toggle input{width:17px;height:17px;accent-color:var(--primary)}.kit-group+.kit-group{margin-top:12px}.kit-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:6px}.kit-builder-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.kit-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.kit-item{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--text);text-decoration:none}.kit-item:hover{border-color:var(--border-strong)}.kit-item-text{flex:1;display:flex;flex-direction:column;min-width:0}.kit-item-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px}.kit-item-ready{background:var(--success-soft);color:var(--success)}.kit-item-pending{background:var(--primary-soft);color:var(--primary)}.kit-item-failed{background:var(--danger-soft);color:var(--danger)}.spin{animation:kd-spin 1s linear infinite}@media(max-width:640px){.kit-levels,.kit-levels-2{grid-template-columns:1fr}.kit-toggle{flex-wrap:wrap;row-gap:0}.kit-toggle .muted{flex-basis:100%;padding-left:24px;font-weight:400}}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.theme-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}.theme-card-on{border-color:var(--primary);box-shadow:var(--ring)}.theme-swatch{display:flex;align-items:flex-end;gap:6px;height:54px;padding:8px;border-radius:10px;border:1px solid rgba(128,128,128,.25);margin-bottom:6px}.theme-swatch span{width:22px;height:22px;border-radius:50%}.link-btn{background:none;border:0;padding:2px 0;color:var(--primary);font:inherit;font-weight:700;cursor:pointer}.link-btn:hover{text-decoration:underline}.pyq-bank-subjects{display:grid;gap:10px}.pyq-bank-subject summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-weight:700}.pyq-bank-rows{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}.pyq-bank-rows li{display:flex;align-items:center;gap:10px;justify-content:space-between;font-size:.88rem;padding:4px 0;border-top:1px solid var(--border)}.pyq-bank-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.pyq-skipped{max-height:180px;overflow:auto;font-size:.82rem;margin:8px 0 0;padding-left:18px}[data-exam]{--ex-1: #6366f1;--ex-2: #a855f7;--ex-soft: rgba(99, 102, 241, .14)}[data-exam=INI-CET]{--ex-1: #0ea5a4;--ex-2: #22c55e;--ex-soft: rgba(14, 165, 164, .14)}[data-exam=AIIMS]{--ex-1: #f97316;--ex-2: #e11d48;--ex-soft: rgba(249, 115, 22, .14)}@keyframes pyq-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes pyq-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(18px,-14px) scale(1.08)}}@keyframes pyq-shimmer{to{background-position:-200% 0}}@keyframes pyq-slide-next{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes pyq-slide-prev{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}@keyframes pyq-pop{0%{transform:scale(1)}40%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes pyq-shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes pyq-glow{0%{box-shadow:0 0 #34d3998c}to{box-shadow:0 0 0 14px #34d39900}}@keyframes pyq-pulse-red{50%{box-shadow:0 0 0 6px var(--danger-soft)}}@keyframes pyq-fall{to{transform:translate(var(--drift),105vh) rotate(calc(var(--rot) + 540deg));opacity:.9}}@keyframes pyq-bump{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@keyframes pyq-grow{0%{width:0}to{width:var(--w)}}@keyframes pyq-spin{to{transform:rotate(360deg)}}.pyq-hero,.pyq-result-hero{position:relative;overflow:hidden;isolation:isolate;display:grid;gap:22px;align-items:center;padding:30px 28px;border-radius:calc(var(--radius) + 6px);background:linear-gradient(135deg,rgba(var(--p1),.22),rgba(var(--p2),.12) 55%,transparent),var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);animation:pyq-rise .5s ease both}@media(min-width:860px){.pyq-hero{grid-template-columns:1.4fr 1fr;padding:38px 40px}}.pyq-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(40px);opacity:.55;animation:pyq-drift 12s ease-in-out infinite;pointer-events:none}.pyq-orb.o1{width:260px;height:260px;right:-60px;top:-90px;background:rgba(var(--p2),.55)}.pyq-orb.o2{width:200px;height:200px;left:30%;bottom:-120px;background:rgba(var(--p1),.45);animation-delay:-4s}.pyq-orb.o3{width:140px;height:140px;left:-40px;top:20px;background:var(--accent-soft);animation-delay:-8s}.pyq-kicker{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);padding:5px 11px;border-radius:99px}.pyq-hero h1{font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:1.12;letter-spacing:-.03em;margin:14px 0 10px}.pyq-hero p{color:var(--muted);margin:0;max-width:56ch;line-height:1.6}.pyq-grad-text{background:linear-gradient(90deg,var(--primary),rgb(var(--p2)),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.pyq-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pyq-hero-stats>div{display:grid;justify-items:start;gap:2px;padding:14px;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pyq-hero-stats svg{color:var(--primary)}.pyq-hero-stats strong{font-size:1.6rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pyq-hero-stats span{font-size:.78rem;color:var(--muted)}.pyq-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 16px}.pyq-subjects{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;max-width:100%}.pyq-subject{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;font-weight:600;font-size:.9rem;padding:8px 14px;border-radius:99px;cursor:pointer;transition:all .2s}.pyq-subject span{font-size:.72rem;padding:1px 7px;border-radius:99px;background:var(--surface-3);color:var(--muted)}.pyq-subject.on{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 8px 22px -10px rgba(var(--p1),.9)}.pyq-subject.on span{background:#ffffff38;color:#fff}.pyq-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.pyq-paper{position:relative;overflow:hidden;isolation:isolate;text-align:left;font:inherit;color:var(--text);cursor:pointer;display:grid;gap:14px;padding:18px;min-height:196px;border-radius:calc(var(--radius) + 2px);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;animation:pyq-rise .45s ease both;animation-delay:calc(var(--i, 0) * 45ms)}.pyq-paper:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--ex-1),var(--ex-2))}.pyq-paper-glow{position:absolute;z-index:-1;width:180px;height:180px;right:-70px;top:-70px;border-radius:50%;background:radial-gradient(circle,var(--ex-soft),transparent 70%);transition:transform .4s}.pyq-paper:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ex-1) 55%,transparent);box-shadow:0 22px 44px -22px color-mix(in srgb,var(--ex-1) 70%,transparent)}.pyq-paper:hover .pyq-paper-glow{transform:scale(1.5)}.pyq-paper:focus-visible{outline:none;box-shadow:var(--ring)}.pyq-paper-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pyq-exam-pill{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.06em;padding:4px 10px;border-radius:99px;color:#fff;background:linear-gradient(135deg,var(--ex-1),var(--ex-2))}.pyq-resume{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;color:var(--success)}.pyq-paper-body{display:flex;justify-content:space-between;align-items:center;gap:10px}.pyq-year{display:block;font-size:2.3rem;font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,var(--text),color-mix(in srgb,var(--ex-1) 80%,var(--text)));-webkit-background-clip:text;background-clip:text;color:transparent}.pyq-note{display:block;font-size:.78rem;color:var(--muted);margin-top:4px}.pyq-fresh{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:5px 10px;border-radius:99px}.pyq-paper-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--muted)}.pyq-paper-meta span{display:inline-flex;align-items:center;gap:5px}.pyq-paper-cta{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.88rem;color:var(--ex-1);align-self:end}.pyq-paper-cta svg{transition:transform .25s}.pyq-paper:hover .pyq-paper-cta svg{transform:translate(4px)}.pyq-skeleton{cursor:default;background:linear-gradient(90deg,var(--surface) 25%,var(--surface-3) 50%,var(--surface) 75%);background-size:200% 100%;animation:pyq-shimmer 1.3s linear infinite}.pyq-skeleton:before{display:none}.pyq-empty{display:grid;justify-items:center;gap:8px;padding:40px 20px;margin-top:20px;color:var(--muted)}.pyq-empty h2{color:var(--text);margin:4px 0 0}.pyq-ring{position:relative;display:inline-grid;place-items:center;flex:none;--ring-c: var(--primary)}.pyq-ring.tone-good{--ring-c: var(--success)}.pyq-ring.tone-mid{--ring-c: var(--accent)}.pyq-ring.tone-low{--ring-c: var(--danger)}.pyq-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.pyq-ring circle{fill:none}.pyq-ring-track{stroke:var(--track)}.pyq-ring-bar{stroke:var(--ring-c);stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--ring-c) 45%,transparent))}.pyq-ring-label{position:relative;display:grid;justify-items:center;line-height:1.05}.pyq-ring-label strong{font-size:.95rem;font-variant-numeric:tabular-nums}.pyq-ring-label small{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.pyq-recent{list-style:none;margin:0;padding:6px;display:grid}.pyq-recent a{display:flex;align-items:center;gap:14px;padding:10px;border-radius:var(--radius-sm);color:inherit;text-decoration:none;transition:background .2s}.pyq-recent a:hover{background:var(--surface-2)}.pyq-recent-main{flex:1;min-width:0;display:grid;gap:2px}.pyq-recent-main strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pyq-recent-main small{color:var(--muted);font-size:.78rem}.pyq-modal-wrap{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px}.pyq-modal-scrim{position:absolute;inset:0;background:#05060e99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .2s ease both}.pyq-modal{position:relative;width:min(640px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:26px;border-radius:calc(var(--radius) + 6px);background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 40px 90px -30px #000000b3;animation:pyq-rise .3s cubic-bezier(.2,.8,.2,1) both}.pyq-modal-sm{width:min(440px,100%);text-align:center}.pyq-modal h2{margin:12px 0 4px;font-size:1.4rem;letter-spacing:-.02em}.pyq-modal-close{position:absolute;top:14px;right:14px}.pyq-modal-badge{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--grad);color:#fff;box-shadow:0 14px 30px -14px rgba(var(--p1),.9)}.pyq-modal-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.pyq-modes{display:grid;gap:12px;margin:20px 0 16px}@media(min-width:560px){.pyq-modes{grid-template-columns:1fr 1fr}}.pyq-mode{position:relative;display:grid;gap:6px;align-content:start;text-align:left;font:inherit;color:var(--text);cursor:pointer;padding:16px;border-radius:var(--radius);background:var(--surface-2);border:2px solid var(--border-strong);transition:all .2s}.pyq-mode:hover{border-color:color-mix(in srgb,var(--primary) 50%,transparent)}.pyq-mode.on{border-color:var(--primary);background:var(--primary-softer);box-shadow:0 16px 34px -20px rgba(var(--p1),.9)}.pyq-mode-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--surface-3);color:var(--primary);transition:all .2s}.pyq-mode.on .pyq-mode-icon{background:var(--grad);color:#fff;transform:rotate(-6deg) scale(1.05)}.pyq-mode strong{font-size:1.05rem;margin-top:4px}.pyq-mode-tag{font-size:.75rem;color:var(--muted)}.pyq-mode ul{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px;font-size:.84rem;color:var(--muted)}.pyq-mode li{display:flex;gap:7px;align-items:flex-start}.pyq-mode li svg{color:var(--success);flex:none;margin-top:2px}.pyq-mode-resume{font-size:.74rem;font-weight:700;color:var(--accent);margin-top:4px}.pyq-go{margin-bottom:8px}.pyq-runbar{position:sticky;top:calc(68px + env(safe-area-inset-top));z-index:25;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 82%,transparent);border:1px solid var(--border-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.pyq-runbar-title{flex:1;min-width:0;display:grid}.pyq-runbar-title strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pyq-runbar-title span{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;color:var(--ex-1);font-weight:700}.pyq-timer{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-variant-numeric:tabular-nums;font-size:1rem;padding:7px 12px;border-radius:12px;background:var(--primary-soft);color:var(--primary)}.pyq-timer.warn{background:var(--accent-soft);color:var(--accent)}.pyq-timer.crit{background:var(--danger-soft);color:var(--danger);animation:pyq-pulse-red 1s ease-in-out infinite}.pyq-live-score{display:flex;gap:6px}.pyq-live-score span{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:.88rem;padding:6px 10px;border-radius:10px;font-variant-numeric:tabular-nums}.pyq-live-score .ok{background:var(--success-soft);color:var(--success)}.pyq-live-score .bad{background:var(--danger-soft);color:var(--danger)}.pyq-live-score .streak{background:var(--accent-soft);color:var(--accent);animation:pyq-bump .45s ease both}@media(max-width:560px){.pyq-submit-btn span{display:none}.pyq-runbar-title strong{font-size:.82rem}}.pyq-progress{height:4px;margin:10px 2px 18px;border-radius:99px;background:var(--track);overflow:hidden}.pyq-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ex-1, var(--primary)),var(--ex-2, rgb(var(--p2))));transition:width .5s cubic-bezier(.2,.8,.2,1)}.pyq-runner .pyq-progress span{background:var(--grad)}.pyq-stage{display:grid;gap:20px;align-items:start}@media(min-width:1024px){.pyq-stage{grid-template-columns:minmax(0,1fr) 290px}}.pyq-main{min-width:0}.pyq-qcard{padding:24px;display:grid;gap:16px}.pyq-qcard.slide-next{animation:pyq-slide-next .32s cubic-bezier(.2,.8,.2,1) both}.pyq-qcard.slide-prev{animation:pyq-slide-prev .32s cubic-bezier(.2,.8,.2,1) both}.pyq-qhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pyq-qnum{font-weight:800;font-size:1.05rem;padding:5px 12px;border-radius:10px;background:var(--grad-soft);color:var(--primary)}.pyq-qnum small{color:var(--muted);font-weight:600}.pyq-markbtn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.82rem;font-weight:650;cursor:pointer;padding:7px 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted);transition:all .2s}.pyq-markbtn:hover{color:var(--text)}.pyq-markbtn.on{background:#a855f724;border-color:#a855f780;color:#a855f7}.pyq-verdict{margin-left:auto;font-weight:800;font-size:.85rem;padding:4px 10px;border-radius:99px;animation:pyq-bump .4s ease both}.pyq-verdict.ok{background:var(--success-soft);color:var(--success)}.pyq-verdict.bad{background:var(--danger-soft);color:var(--danger)}.pyq-verdict.skip{background:var(--surface-3);color:var(--muted)}.pyq-stem{font-size:1.1rem;line-height:1.65;font-weight:560;margin:0;white-space:pre-line}.pyq-figure{margin:0;display:grid;gap:6px;justify-items:center}.pyq-figure>button{position:relative;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;background:#fff;cursor:zoom-in;max-width:100%;transition:transform .2s,box-shadow .2s}.pyq-figure>button:hover{transform:scale(1.01);box-shadow:var(--shadow-lg)}.pyq-figure img{display:block;max-width:100%;max-height:360px;width:auto;height:auto}.pyq-figure.is-diagram img{width:640px}.pyq-zoom{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#0f1222a6;color:#fff;opacity:.85}.pyq-figure figcaption{font-size:.72rem;color:var(--subtle);text-align:center}.pyq-figure figcaption a{color:inherit}.pyq-lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#05060ee0;animation:fade .2s ease both;cursor:zoom-out}.pyq-lightbox img{max-width:100%;max-height:100%;border-radius:12px;background:#fff;box-shadow:0 30px 80px #0009;cursor:default;animation:pyq-rise .3s ease both}.pyq-lightbox-close{position:absolute;top:16px;right:16px;color:#fff;background:#ffffff1f}.pyq-options{display:grid;gap:10px}.pyq-option{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--text);cursor:pointer;padding:14px 16px;border-radius:14px;border:1.5px solid var(--border-strong);background:var(--surface-2);transition:border-color .18s,background .18s,transform .18s,box-shadow .18s,opacity .25s}.pyq-option:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 60%,transparent);transform:translate(3px);background:var(--primary-softer)}.pyq-option:active:not(:disabled){transform:scale(.99)}.pyq-option:disabled{cursor:default}.pyq-letter{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-weight:800;font-size:.9rem;background:var(--surface-3);color:var(--muted);transition:all .2s}.pyq-option-text{flex:1;line-height:1.45}.pyq-mark{flex:none;margin-left:auto}.pyq-option.is-picked{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 10px 26px -18px rgba(var(--p1),.95)}.pyq-option.is-picked .pyq-letter{background:var(--grad);color:#fff}.pyq-option.is-right{border-color:var(--success);background:var(--success-soft)}.pyq-option.is-right .pyq-letter{background:var(--success);color:#fff}.pyq-option.is-right .pyq-mark{color:var(--success)}.pyq-option.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.pyq-option.is-wrong .pyq-letter{background:var(--danger);color:#fff}.pyq-option.is-wrong .pyq-mark{color:var(--danger)}.pyq-option.is-dim{opacity:.5}.pyq-options.was-right .is-right{animation:pyq-pop .45s ease both,pyq-glow .9s ease-out both}.pyq-options.was-wrong .is-wrong{animation:pyq-shake .4s ease both}.pyq-explain{display:grid;gap:10px;padding:16px 18px;border-radius:var(--radius);border:1px solid;animation:pyq-rise .35s ease both}.pyq-explain.ok{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.pyq-explain.bad{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.pyq-explain.skip{background:var(--surface-2);border-color:var(--border-strong)}.pyq-explain-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pyq-explain.ok .pyq-explain-head>svg{color:var(--success)}.pyq-explain.bad .pyq-explain-head>svg,.pyq-explain.skip .pyq-explain-head>svg{color:var(--danger)}.pyq-explain-head .tag{margin-left:auto}.pyq-explain p{margin:0;line-height:1.65;color:var(--text)}.pyq-pearl,.pyq-keynote{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:12px;font-size:.9rem;line-height:1.5}.pyq-pearl span,.pyq-keynote span{display:grid;gap:2px}.pyq-pearl strong,.pyq-keynote strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.pyq-pearl{background:var(--accent-soft);color:var(--text)}.pyq-pearl svg,.pyq-pearl strong{color:var(--accent)}.pyq-keynote{background:var(--surface);border:1px dashed var(--border-strong);color:var(--muted)}.pyq-qnav{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:14px}.pyq-qnav .btn:last-child{margin-left:auto}.pyq-keys{display:flex;align-items:center;gap:6px;margin:12px 4px 0}@media(hover:none){.pyq-keys{display:none}}.pyq-alldone{display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;padding:16px 18px;font:inherit;color:#fff;text-align:left;cursor:pointer;border:0;background:var(--grad);box-shadow:0 18px 40px -20px rgba(var(--p1),.95);animation:pyq-rise .4s ease both}.pyq-alldone span{flex:1;display:grid}.pyq-alldone small{opacity:.85}.pyq-side{position:sticky;top:calc(150px + env(safe-area-inset-top));display:grid;gap:14px;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow)}.pyq-side-head{display:flex;align-items:center;gap:8px}.pyq-side-head strong{flex:1}.pyq-side-close{display:none}.pyq-palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px;max-height:46vh;overflow-y:auto;padding:2px}.pyq-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;font:inherit;font-size:.8rem;font-weight:700;border-radius:10px;cursor:pointer;border:1.5px solid var(--border-strong);background:var(--surface-2);color:var(--muted);transition:transform .15s,box-shadow .15s}.pyq-cell:hover{transform:translateY(-2px)}.pyq-cell.is-current{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary);color:var(--text)}.pyq-cell.st-answered,.pyq-cell.st-right{background:var(--success);border-color:var(--success);color:#fff}.pyq-cell.st-wrong{background:var(--danger);border-color:var(--danger);color:#fff}.pyq-cell.st-skipped{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.pyq-cell.st-marked,.pyq-cell.st-answered-marked{background:#a855f7;border-color:#a855f7;color:#fff;border-radius:50%}.pyq-cell.st-answered-marked:after{content:"";position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:var(--success);border:2px solid var(--surface)}.pyq-cell.mini{width:26px;height:26px;aspect-ratio:auto;font-size:.7rem;cursor:default}.pyq-cell.mini:hover{transform:none}.pyq-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.74rem;color:var(--muted);text-align:left}.pyq-legend li{display:flex;align-items:center;gap:7px}.pyq-fab,.pyq-side-scrim{display:none}@media(max-width:1023px){.pyq-side{position:fixed;z-index:70;inset:auto 0 0;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);max-height:80vh}.pyq-side.open{transform:none}.pyq-side-close{display:grid}.pyq-side-scrim{display:block;position:fixed;inset:0;z-index:65;background:#05060e80;animation:fade .2s ease both}.pyq-fab{position:fixed;z-index:60;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:0;border-radius:99px;font:inherit;font-weight:800;color:#fff;cursor:pointer;background:var(--grad);box-shadow:0 16px 34px -12px rgba(var(--p1),.9)}.pyq-main{padding-bottom:70px}}@media(max-width:560px){.pyq-qcard{padding:18px 16px}.pyq-stem{font-size:1.02rem}.pyq-option{padding:12px 13px;gap:11px}}.pyq-submit-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.pyq-submit-stats div{display:grid;padding:12px 6px;border-radius:14px;background:var(--surface-2)}.pyq-submit-stats strong{font-size:1.5rem}.pyq-submit-stats span{font-size:.74rem;color:var(--muted)}.pyq-submit-stats .ok strong{color:var(--success)}.pyq-submit-stats .mark strong{color:#a855f7}.pyq-submit-stats .skip strong{color:var(--danger)}.pyq-result-hero{justify-items:center;text-align:center}@media(min-width:760px){.pyq-result-hero{grid-template-columns:auto 1fr;justify-items:start;text-align:left;padding:34px 40px;gap:36px}}.pyq-result-hero .pyq-ring-label strong{font-size:2.2rem;letter-spacing:-.03em}.pyq-result-hero .pyq-ring-label small{font-size:.72rem}.pyq-result-text h1{font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.03em;margin:12px 0 4px}.pyq-result-text>p{margin:0 0 12px;color:var(--muted)}.pyq-bigscore{display:flex;align-items:baseline;gap:8px;justify-content:inherit}.pyq-bigscore strong{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.pyq-bigscore span{color:var(--muted);font-weight:600}.pyq-scorebar{height:8px;border-radius:99px;background:var(--track);overflow:hidden;margin:8px 0;max-width:420px}.pyq-scorebar span{display:block;height:100%;border-radius:inherit;background:var(--grad);animation:pyq-grow 1.2s cubic-bezier(.2,.8,.2,1) both;--w: 100%}.pyq-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}@media(min-width:760px){.pyq-tiles{grid-template-columns:repeat(4,1fr)}}.pyq-tile{display:grid;justify-items:start;gap:4px;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);animation:pyq-rise .45s ease both}.pyq-tile:nth-child(2){animation-delay:.06s}.pyq-tile:nth-child(3){animation-delay:.12s}.pyq-tile:nth-child(4){animation-delay:.18s}.pyq-tile strong{font-size:1.8rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.pyq-tile span{font-size:.78rem;color:var(--muted)}.pyq-tile.ok svg{color:var(--success)}.pyq-tile.bad svg{color:var(--danger)}.pyq-tile.skip svg{color:var(--subtle)}.pyq-tile.time svg{color:var(--primary)}.pyq-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.pyq-chapters{display:grid;gap:12px;padding:18px}.pyq-chapter{display:grid;grid-template-columns:minmax(110px,200px) 1fr auto;gap:12px;align-items:center;font-size:.88rem}.pyq-chapter-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pyq-chapter-bar{height:10px;border-radius:99px;background:var(--track);overflow:hidden}.pyq-chapter-bar span{display:block;height:100%;width:var(--w);border-radius:inherit;animation:pyq-grow 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 80ms + .2s)}.pyq-chapter-bar.tone-good span{background:var(--success)}.pyq-chapter-bar.tone-mid span{background:var(--accent)}.pyq-chapter-bar.tone-low span{background:var(--danger)}.pyq-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:14px}.pyq-filter{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:inherit;font-size:.85rem;font-weight:650;cursor:pointer;padding:8px 13px;border-radius:99px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted);transition:all .2s}.pyq-filter span{font-size:.72rem;padding:1px 7px;border-radius:99px;background:var(--surface-3)}.pyq-filter:disabled{opacity:.45;cursor:default}.pyq-filter.on{color:#fff;border-color:transparent;background:var(--grad)}.pyq-filter.on span{background:#ffffff38;color:#fff}.pyq-filter.f-wrong.on{background:var(--danger)}.pyq-filter.f-correct.on{background:var(--success)}.pyq-filter.f-marked.on{background:#a855f7}.pyq-review{display:grid;gap:14px}.pyq-review-card{padding:22px;display:grid;gap:14px;animation:pyq-rise .35s ease both}.pyq-confetti{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.pyq-confetti i{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;transform:rotate(var(--rot));animation:pyq-fall linear both}.pyq-confetti .c0{background:#6366f1}.pyq-confetti .c1{background:#a855f7}.pyq-confetti .c2{background:#f5b14c}.pyq-confetti .c3{background:#34d399}.pyq-confetti .c4{background:#f472b6}.pyq-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:var(--muted)}.pyq-spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--track);border-top-color:var(--primary);animation:pyq-spin .8s linear infinite}.pyqa-import{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pyqa-table{width:100%;border-collapse:collapse;font-size:.86rem}.pyqa-table th,.pyqa-table td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left}.pyqa-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--subtle)}.pyqa-table tr.pick{cursor:pointer}.pyqa-table tr.pick:hover td{background:var(--surface-2)}.pyqa-wrap{overflow-x:auto}.pyqa-q{display:grid;gap:10px;padding:16px;border-top:1px solid var(--border)}.pyqa-q-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pyqa-q ol{margin:0;padding-left:22px;display:grid;gap:3px}.pyqa-q li.key{color:var(--success);font-weight:700}.pyqa-q textarea,.pyqa-q input[type=text]{width:100%}.pyqa-q .pyq-figure img{max-height:220px}.pyqa-actions{display:flex;flex-wrap:wrap;gap:8px}@media(prefers-reduced-motion:reduce){.pyq-hero,.pyq-result-hero,.pyq-paper,.pyq-qcard,.pyq-explain,.pyq-tile,.pyq-review-card,.pyq-modal,.pyq-orb,.pyq-options .is-right,.pyq-options .is-wrong,.pyq-chapter-bar span,.pyq-scorebar span,.pyq-verdict,.pyq-live-score .streak{animation:none!important}.pyq-ring-bar,.pyq-progress span,.pyq-paper,.pyq-option{transition:none!important}}
