@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2)format("woff2"),url(/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-zeox_O30.woff2)format("woff2"),url(/assets/outfit-latin-ext-500-normal-DrCvqoFD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2)format("woff2"),url(/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2)format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#1c2a33;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7f6;font-family:Outfit,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}:root{--gs-paper:oklch(97.5% .012 92);--gs-surface:oklch(99.2% .006 95);--gs-surface-2:oklch(95.2% .018 94);--gs-ink:oklch(24% .035 165);--gs-muted:oklch(48% .025 165);--gs-rule:oklch(87% .018 105);--gs-green:oklch(42% .105 166);--gs-green-dark:oklch(28% .07 166);--gs-green-soft:oklch(92% .04 165);--gs-indigo:oklch(49% .11 275);--gs-indigo-soft:oklch(94% .035 275);--gs-orange:oklch(64% .16 48);--gs-orange-dark:oklch(38% .09 42);--gs-orange-soft:oklch(94% .045 55);--gs-gold:oklch(72% .12 82);--gs-danger:oklch(55% .19 25);--gs-focus:oklch(58% .14 250);--gs-shadow:0 18px 48px oklch(22% .03 165/.09);--gs-radius-sm:10px;--gs-radius-md:16px;--gs-radius-lg:24px;--gs-space-1:4px;--gs-space-2:8px;--gs-space-3:12px;--gs-space-4:16px;--gs-space-5:20px;--gs-space-6:24px;--gs-space-8:32px;--gs-space-10:40px;--gs-space-12:48px}#root{min-height:100vh}.app-shell{color:#1c2a33;background:#f4f7f6;min-height:100vh}.app-header{justify-content:space-between;align-items:center;gap:1rem;max-width:1120px;margin:0 auto;padding:1.25rem;display:flex}.brand{color:#164e43;letter-spacing:-.04em;font-size:1.35rem;font-weight:800;text-decoration:none}.app-nav{color:#4e665e;align-items:center;gap:1rem;display:flex}.app-nav a{color:inherit;text-decoration:none}.nav-cta{background:#164e43;border-radius:.55rem;padding:.5rem .8rem;color:#fff!important}.user-chip,.role-tag,.type-tag{letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.user-chip{color:#58746b}.link-button{color:#58746b;cursor:pointer;background:0 0;border:0;padding:0}.app-main{max-width:1120px;margin:0 auto;padding:3.5rem 1.25rem 5rem}.eyebrow{color:#58746b;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}h1{color:#173b35;letter-spacing:-.07em;margin:.75rem 0 1rem;font-size:clamp(2.5rem,6vw,4.7rem);line-height:.98}h2{color:#173b35;letter-spacing:-.03em;margin:0;font-size:1.35rem}.intro{color:#4e665e;max-width:38rem;margin:0 0 2rem;font-size:1.05rem;line-height:1.6}.page-panel{background:#ffffffd1;border:1px solid #d4e0db;border-radius:.8rem;padding:1.25rem;box-shadow:0 .5rem 2rem #173b350a}.auth-page{max-width:560px}.auth-switch{color:#58746b;margin-top:1.25rem}.auth-switch a,.back-link{color:#164e43;font-weight:700}.auth-help{color:#58746b;margin:-.25rem 0 0;font-size:.82rem;line-height:1.5}.form-stack{flex-direction:column;gap:1rem;display:flex}.form-column{gap:1.5rem;display:grid}.calendar-toolbar{gap:1rem;margin-bottom:1.5rem;display:flex}.calendar-toolbar label{color:#315148;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700;display:flex}.calendar-toolbar input{font:inherit;background:#fff;border:1px solid #cbd9d3;border-radius:.5rem;padding:.5rem;font-weight:400}.calendar-day{margin-bottom:.8rem}.calendar-day h2{margin-bottom:.8rem;font-size:1rem}.calendar-item{border-top:1px solid #e3ebe7;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.calendar-item>div{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.calendar-item strong{color:#173b35}.calendar-item span:last-child{color:#58746b;font-size:.85rem}.source-tag{color:#2b9a65;letter-spacing:.08em;text-transform:uppercase;margin-right:.5rem;font-size:.7rem;font-weight:800;display:inline-block}.source-recurring{color:#8c6a18}.source-study{color:#2b6f9a}.source-badminton{color:#b25b2a}.mini-button{color:#2b6f9a;cursor:pointer;background:0 0;border:0;margin-left:.35rem;font-size:.72rem}.score-input{border:1px solid #cbd9d3;border-radius:.45rem;width:4rem;padding:.45rem}.dashboard-grid{margin-top:1.5rem}.notification-list{gap:.75rem;max-width:820px;display:grid}.notification-row{text-align:left;border:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:.85rem;display:flex}.notification-row>span:last-child{gap:.25rem;display:grid}.notification-row small{color:var(--muted)}.notification-unread{border-color:var(--accent);background:#fffdf7}.notification-dot{background:var(--muted);border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-top:.35rem}.notification-unread .notification-dot{background:var(--accent)}.news-row{border-bottom:1px solid var(--line);gap:.25rem;padding:.7rem 0;display:grid}.weekday-grid{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.weekday-check{align-items:center;flex-direction:row!important;gap:.3rem!important;font-size:.75rem!important;font-weight:600!important;display:flex!important}.two-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.saved-source{border-top:1px solid #e3ebe7;padding:.65rem 0}.saved-source span{color:#58746b;font-size:.8rem;display:block}.group-picker{min-width:180px;font:inherit;background:#fff;border:1px solid #cbd9d3;border-radius:.5rem;padding:.7rem}.study-card{margin-bottom:.8rem}.study-card-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.study-card h2{display:inline}.study-card p{color:#58746b;margin:.55rem 0}.study-actions{flex-wrap:wrap;gap:.5rem;display:flex}.participant-pills{flex-wrap:wrap;gap:.35rem;margin-top:.9rem;display:flex}.participant-pills span{color:#58746b;background:#eff5f2;border-radius:999px;padding:.3rem .5rem;font-size:.75rem}.candidate-slot{color:#315148;text-align:left;cursor:pointer;background:#f7fbf9;border:1px solid #cbd9d3;border-radius:.5rem;padding:.65rem}.candidate-slot:hover{border-color:#2b9a65}.study-link{margin-top:1.5rem}.form-stack label{color:#315148;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:700;display:flex}.form-stack input,.form-stack textarea,.form-stack select,.member-actions select{color:#1c2a33;width:100%;font:inherit;background:#fff;border:1px solid #cbd9d3;border-radius:.5rem;padding:.7rem .75rem;font-weight:400}.page-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.page-heading h1{margin-bottom:.35rem}.subtle,.member-count{color:#58746b;font-size:.9rem}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);align-items:start;gap:1.5rem;display:grid}.section-title{color:#315148;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .8rem;font-size:.78rem;font-weight:800}.group-list{gap:.8rem;display:grid}.group-card{color:inherit;background:#fff;border:1px solid #d4e0db;border-radius:.8rem;padding:1.1rem 1.2rem;text-decoration:none;transition:transform .15s,border-color .15s;display:block}.group-card:hover{border-color:#8fc8af;transform:translateY(-2px)}.group-card-top{justify-content:space-between;gap:1rem;display:flex}.group-card h2{margin-top:.7rem}.group-card p{color:#58746b;margin:.35rem 0 0}.type-tag{color:#2b9a65}.role-tag{color:#58746b}.role-owner{color:#164e43}.role-organizer{color:#8c6a18}.empty-state{color:#58746b}.invitation-list{gap:.65rem;margin-bottom:2rem;display:grid}.invitation-row,.member-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.invitation-row span,.member-row span{color:#58746b;margin-top:.2rem;font-size:.85rem;display:block}.member-list{display:grid}.member-row{border-bottom:1px solid #e3ebe7;padding:.9rem 0}.member-row:last-child{border-bottom:0}.member-actions{align-items:center;gap:.75rem;display:flex}.member-actions select{width:auto;padding:.35rem .5rem;font-size:.8rem}.back-link{margin-bottom:1.5rem;text-decoration:none;display:inline-block}.group-detail-heading{align-items:start}.status-card{color:#315148;background:#ffffffbf;border:1px solid #cbd9d3;border-radius:.75rem;max-width:38rem;padding:1rem 1.1rem}.status-card p{margin:.25rem 0 0}.status-card--success{background:#effaf4;border-color:#8fc8af}.status-card--error{color:#73382f;background:#fff4f2;border-color:#e1a8a0}.status-dot{background:#2b9a65;border-radius:50%;width:.7rem;height:.7rem;margin-right:.6rem;display:inline-block;box-shadow:0 0 0 .3rem #2b9a6526}.hint{color:#58746b;margin:0;font-size:.85rem}@media (width<=720px){.app-header{flex-direction:column;align-items:flex-start}.app-nav{flex-wrap:wrap}.app-main{padding-top:2rem}.content-grid{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:start}}:root{--color-canvas:#f6f4ef;--color-surface:#fff;--color-surface-muted:#eeece5;--color-ink:#17342e;--color-ink-muted:#5c6d68;--color-line:#d9ded7;--color-brand:#155b4a;--color-brand-strong:#0e4538;--color-brand-soft:#dff0e9;--color-study:#405d9d;--color-badminton:#cf642b;--color-danger:#b4433c;--color-danger-soft:#fbebe8;--color-success:#166a4d;--color-success-soft:#e4f5eb;--color-focus:#236aaf;--shadow-raised:0 16px 38px #17342e14;--radius-sm:10px;--radius-md:16px;--font-display:"Sora", "Be Vietnam Pro", ui-sans-serif, system-ui, sans-serif;--font-body:"Be Vietnam Pro", ui-sans-serif, system-ui, sans-serif}html,body{overflow-x:clip}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body)}button,input,select,textarea{font-family:inherit}.app-shell{background:var(--color-canvas);min-height:100vh;color:var(--color-ink)}.app-shell--signed-in{grid-template-columns:244px minmax(0,1fr);display:grid}.app-sidebar{border-right:1px solid var(--color-line);background:var(--color-surface);flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand-mark{background:var(--color-brand);width:32px;height:32px;color:var(--color-surface);letter-spacing:0;border-radius:9px;place-items:center;font-size:.86rem;display:grid}.sidebar-nav{gap:6px;margin-top:46px;display:grid}.sidebar-link{border-radius:var(--radius-sm);min-height:44px;color:var(--color-ink-muted);align-items:center;gap:12px;padding:0 12px;font-size:.9rem;font-weight:650;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:flex}.sidebar-link:hover,.sidebar-link.is-active{background:var(--color-brand-soft);color:var(--color-brand-strong)}.sidebar-link:active{transform:translateY(1px)}.sidebar-link>span:first-child{text-align:center;width:18px;font-size:1.1rem}.sidebar-foot{border-top:1px solid var(--color-line);gap:12px;margin-top:auto;padding-top:20px;display:grid}.account-link{min-width:0;color:var(--color-ink);align-items:center;gap:10px;padding:8px;text-decoration:none;display:flex}.account-link strong,.account-link small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-link strong{font-size:.82rem}.account-link small{color:var(--color-ink-muted);margin-top:2px;font-size:.72rem}.avatar-fallback{background:var(--color-brand-soft);width:34px;height:34px;color:var(--color-brand-strong);border-radius:50%;flex:none;place-items:center;font-size:.82rem;font-weight:800;display:grid;position:relative;overflow:hidden}.avatar-fallback img{object-fit:cover;width:100%;height:100%}.sign-out-button{min-height:38px;color:var(--color-ink-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:.82rem;font-weight:650}.sign-out-button:hover{color:var(--color-danger)}.sign-out-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.app-main{width:min(1240px,100%);margin:0 auto;padding:48px clamp(20px,4vw,64px) 64px}.guest-header{box-sizing:border-box;justify-content:space-between;align-items:center;width:min(1240px,100%);min-height:76px;margin:0 auto;padding:18px clamp(20px,4vw,64px);display:flex}.guest-nav{align-items:center;gap:10px;display:flex}.guest-nav>a:not(.button){color:var(--color-ink-muted);padding:10px;font-weight:650;text-decoration:none}.button{min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-size:.9rem;font-weight:750;line-height:1;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(1px)}.button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.button:disabled{opacity:.56;cursor:not-allowed;transform:none}.button--primary{background:var(--color-brand);color:var(--color-surface)}.button--primary:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-raised)}.button--secondary{border-color:var(--color-line);background:var(--color-surface);color:var(--color-ink)}.button--secondary:hover{border-color:var(--color-brand);color:var(--color-brand)}.button--quiet{background:var(--color-brand-soft);color:var(--color-brand-strong)}.auth-layout{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:center;gap:clamp(40px,9vw,140px);min-height:calc(100vh - 76px);padding-bottom:48px;display:grid}.auth-intro-block{max-width:650px}.auth-intro-block h1{max-width:620px;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.07em;overflow-wrap:anywhere;margin:16px 0 22px;font-size:clamp(3.2rem,6.6vw,5.8rem);font-weight:760;line-height:.96}.eyebrow{color:var(--color-brand);letter-spacing:.13em;font-size:.7rem;font-weight:800}.intro{max-width:540px;color:var(--color-ink-muted);font-size:1.04rem;line-height:1.7}.auth-value-list{color:var(--color-ink-muted);gap:12px;margin-top:42px;font-size:.88rem;display:grid}.auth-value-list span{align-items:center;gap:12px;display:flex}.auth-value-list b{color:var(--color-brand);font-family:var(--font-display);font-size:.75rem}.auth-card-wrap{border:1px solid var(--color-line);background:var(--color-surface-muted);border-radius:24px;padding:8px}.auth-page{background:var(--color-surface);border-radius:18px;max-width:480px;padding:clamp(22px,4vw,38px)}.auth-page h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.045em;margin:10px 0 8px;font-size:clamp(1.7rem,3vw,2.25rem)}.auth-copy{color:var(--color-ink-muted);margin:0 0 26px;font-size:.9rem}.page-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.form-stack{gap:18px}.form-stack label{color:var(--color-ink);font-size:.82rem;font-weight:750}.form-stack input,.form-stack textarea,.form-stack select{border-color:var(--color-line);min-height:46px;color:var(--color-ink);box-shadow:none;border-radius:10px}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:var(--color-focus);outline:3px solid color-mix(in srgb, var(--color-focus) 18%, transparent)}.password-field{display:block;position:relative}.password-field input{padding-right:56px}.password-toggle{min-height:32px;color:var(--color-brand);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 8px;font-size:.75rem;font-weight:800;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{background:var(--color-brand-soft)}.password-toggle:focus-visible{outline:2px solid var(--color-focus)}.auth-help,.auth-switch{color:var(--color-ink-muted);font-size:.8rem;line-height:1.55}.auth-switch{margin:24px 0 0}.auth-switch a{color:var(--color-brand);font-weight:750}.status-card{border-radius:10px;max-width:none;padding:12px 14px;font-size:.84rem}.status-card--success{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.status-card--error{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.mobile-nav{display:none}.home-page{gap:28px;display:grid}.home-hero{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:28px;padding:8px 0 20px;display:flex}.home-hero h1{font-family:var(--font-display);letter-spacing:-.065em;margin:10px 0;font-size:clamp(2.7rem,5vw,4.9rem);line-height:.98}.home-hero p:not(.eyebrow){max-width:580px;color:var(--color-ink-muted);margin:0;line-height:1.65}.home-actions{flex-wrap:wrap;gap:10px;display:flex}.home-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.overview-card{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-height:158px;color:var(--color-ink);align-content:start;gap:7px;padding:20px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid}.overview-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}.overview-card span,.overview-card small{color:var(--color-ink-muted);font-size:.78rem}.overview-card strong{font-family:var(--font-display);letter-spacing:-.06em;font-size:2.6rem}.overview-card--notice{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-surface)}.overview-card--notice span,.overview-card--notice small{color:var(--color-brand-soft)}.overview-card--schedule{border-color:color-mix(in srgb, var(--color-badminton) 42%, var(--color-line))}.home-workspace-head{justify-content:space-between;align-items:end;gap:20px;display:flex}.home-workspace-head h2{font-family:var(--font-display);letter-spacing:-.045em;margin:7px 0 0;font-size:1.65rem}.group-switcher{color:var(--color-ink-muted);gap:4px;font-size:.72rem;font-weight:750;display:grid}.group-switcher select{border:1px solid var(--color-line);background:var(--color-surface);min-width:220px;min-height:42px;color:var(--color-ink);border-radius:9px;padding:0 10px}.home-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:16px;display:grid}.home-panel{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;padding:22px}.home-panel--next{grid-row:span 2}.panel-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.panel-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:7px 0 0;font-size:1.2rem}.panel-heading a{color:var(--color-brand);white-space:nowrap;font-size:.78rem;font-weight:750;text-decoration:none}.panel-empty{color:var(--color-ink-muted);margin:28px 0 4px;font-size:.86rem;line-height:1.6}.activity-list{margin-top:18px;display:grid}.activity-row{border-top:1px solid var(--color-line);grid-template-columns:122px minmax(0,1fr);gap:16px;padding:16px 0;display:grid}.activity-row time{color:var(--color-badminton);font-size:.77rem;font-weight:800;line-height:1.4}.activity-row strong,.activity-row span{display:block}.activity-row strong{font-size:.92rem}.activity-row span{color:var(--color-ink-muted);margin-top:3px;font-size:.75rem}.compact-group-list{gap:2px;margin-top:16px;display:grid}.compact-group-list a{border-bottom:1px solid var(--color-line);color:var(--color-ink);align-items:center;gap:10px;padding:10px 0;text-decoration:none;display:flex}.compact-group-list a:last-child{border-bottom:0}.compact-group-list strong,.compact-group-list small{display:block}.compact-group-list strong{font-size:.84rem}.compact-group-list small{color:var(--color-ink-muted);margin-top:3px;font-size:.72rem}.group-type-mark{background:var(--color-study);width:30px;height:30px;color:var(--color-surface);border-radius:9px;flex:none;place-items:center;font-size:.74rem;font-weight:850;display:grid}.group-type-mark--badminton{background:var(--color-badminton)}.leaderboard-list{gap:2px;margin:17px 0 0;padding:0;list-style:none;display:grid}.leaderboard-list li{border-bottom:1px solid var(--color-line);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;font-size:.82rem;display:grid}.leaderboard-list li:last-child{border-bottom:0}.leaderboard-list li>b{color:var(--color-badminton);font-size:.72rem}.leaderboard-list li>strong{font-size:.77rem}.compact-notice-list{gap:12px;margin-top:17px;display:grid}.compact-notice-list div{color:var(--color-ink-muted);align-items:start;gap:8px;font-size:.8rem;line-height:1.5;display:flex}.compact-notice-list b{background:var(--color-line);border-radius:50%;width:7px;height:7px;margin-top:5px}.compact-notice-list .is-unread{color:var(--color-ink);font-weight:650}.compact-notice-list .is-unread b{background:var(--color-brand)}.home-empty{border:1px dashed var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);justify-items:start;gap:15px;max-width:620px;padding:42px;display:grid}.home-empty h2{font-family:var(--font-display);margin:0}.home-empty p{color:var(--color-ink-muted);margin:0;line-height:1.65}.groups-page{gap:28px;display:grid}.groups-hero{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:28px;padding:8px 0 26px;display:flex}.groups-hero h1{font-family:var(--font-display);letter-spacing:-.07em;margin:10px 0;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:.96}.groups-hero p:not(.eyebrow){max-width:560px;color:var(--color-ink-muted);margin:0;line-height:1.65}.group-section-heading h2{font-family:var(--font-display);letter-spacing:-.05em;margin:7px 0 0;font-size:1.55rem}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.workspace-card{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-height:272px;color:var(--color-ink);align-content:start;padding:22px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.workspace-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-raised);transform:translateY(-3px)}.workspace-card__mark{background:var(--color-study);width:38px;height:38px;color:var(--color-surface);border-radius:11px;place-items:center;font-size:.88rem;font-weight:850;display:grid}.workspace-card--badminton .workspace-card__mark{background:var(--color-badminton)}.workspace-card__meta{color:var(--color-ink-muted);justify-content:space-between;gap:12px;margin-top:30px;font-size:.72rem;font-weight:750;display:flex}.workspace-card h2{font-family:var(--font-display);letter-spacing:-.05em;margin:10px 0 6px;font-size:1.5rem}.workspace-card p{min-height:44px;color:var(--color-ink-muted);margin:0;font-size:.85rem;line-height:1.55}.workspace-card>b{color:var(--color-brand);margin-top:auto;padding-top:20px;font-size:.8rem}.workspace-card>b span{margin-left:4px}.groups-empty{border:1px dashed var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);justify-items:start;gap:15px;padding:42px;display:grid}.groups-empty h2,.groups-empty p{margin:0}.groups-empty h2{font-family:var(--font-display)}.groups-empty p{color:var(--color-ink-muted)}.invitation-strip{border:1px solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-brand-soft);grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:24px;padding:18px 20px;display:grid}.invitation-strip h2{font-family:var(--font-display);letter-spacing:-.03em;margin:7px 0 0;font-size:1rem}.invitation-actions{gap:8px;display:grid}.invitation-actions>div{justify-content:space-between;align-items:center;gap:14px;display:flex}.invitation-actions strong,.invitation-actions small{display:block}.invitation-actions strong{font-size:.85rem}.invitation-actions small{color:var(--color-ink-muted);margin-top:3px;font-size:.74rem}.modal-backdrop{z-index:50;background:#17342e6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.create-group-modal{border:1px solid var(--color-line);background:var(--color-surface);width:min(540px,100%);max-height:min(760px,92vh);box-shadow:var(--shadow-raised);border-radius:20px;padding:26px;overflow-y:auto}.modal-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.modal-heading h2{font-family:var(--font-display);letter-spacing:-.05em;margin:8px 0 0;font-size:1.65rem}.modal-close{border:1px solid var(--color-line);background:var(--color-surface);width:38px;height:38px;color:var(--color-ink);cursor:pointer;border-radius:9px;place-items:center;font-size:1.4rem;line-height:1;display:grid}.group-type-choice{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.group-type-choice legend{width:100%;margin-bottom:8px;font-size:.82rem;font-weight:750}.group-type-choice label{border:1px solid var(--color-line);cursor:pointer;border-radius:11px;gap:4px;padding:14px;display:grid}.group-type-choice label.is-selected{border-color:var(--color-brand);background:var(--color-brand-soft)}.group-type-choice input{opacity:0;position:absolute}.group-type-choice b{font-size:.84rem}.group-type-choice span{color:var(--color-ink-muted);font-size:.72rem;line-height:1.45}.modal-actions{justify-content:end;gap:10px;display:flex}.group-workspace{gap:22px;display:grid}.back-link{color:var(--color-brand);margin:0;font-size:.82rem}.workspace-hero{border:1px solid var(--color-line);background:var(--color-surface);border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:18px;padding:26px;display:grid}.workspace-hero__mark{background:var(--color-study);width:50px;height:50px;color:var(--color-surface);border-radius:14px;place-items:center;font-weight:850;display:grid}.group-workspace--badminton .workspace-hero__mark{background:var(--color-badminton)}.workspace-hero h1{font-family:var(--font-display);letter-spacing:-.06em;margin:9px 0;font-size:clamp(2rem,4vw,3.6rem);line-height:.98}.workspace-hero p:not(.eyebrow){max-width:640px;color:var(--color-ink-muted);margin:0;line-height:1.6}.workspace-hero__actions{justify-items:end;gap:12px;display:grid}.workspace-hero__actions>span{color:var(--color-ink-muted);font-size:.76rem;font-weight:750}.group-context-tabs{border-bottom:1px solid var(--color-line);gap:6px;padding-bottom:5px;display:flex;overflow-x:auto}.group-context-tabs a{min-height:40px;color:var(--color-ink-muted);white-space:nowrap;padding:0 12px;font-size:.82rem;font-weight:750;line-height:40px;text-decoration:none}.group-context-tabs a.is-active{border-bottom:2px solid var(--color-brand);color:var(--color-brand)}.workspace-content-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);align-items:start;gap:16px;display:grid}.members-panel,.invite-panel,.workspace-tip{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:22px}.panel-heading>span{color:var(--color-ink-muted);font-size:.72rem;font-weight:750}.member-roster{margin-top:16px;display:grid}.roster-row{border-top:1px solid var(--color-line);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;display:grid}.roster-row strong,.roster-row small{display:block}.roster-row strong{font-size:.86rem}.roster-row small{color:var(--color-ink-muted);margin-top:3px;font-size:.72rem}.roster-actions select{border:1px solid var(--color-line);background:var(--color-surface);min-height:36px;color:var(--color-ink);border-radius:8px;font-size:.72rem}.role-badge{color:var(--color-ink-muted);font-size:.68rem;font-weight:800}.role-badge--owner{color:var(--color-brand)}.role-badge--organizer{color:var(--color-badminton)}.workspace-tip{gap:12px;display:grid}.workspace-tip h2,.workspace-tip p{margin:0}.workspace-tip h2{font-family:var(--font-display);font-size:1.15rem}.workspace-tip p:not(.eyebrow){color:var(--color-ink-muted);font-size:.84rem;line-height:1.6}.schedule-page{gap:22px;display:grid}.schedule-header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:28px;padding:8px 0 24px;display:flex}.schedule-header h1{font-family:var(--font-display);letter-spacing:-.07em;margin:10px 0;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:.96}.schedule-header p:not(.eyebrow){max-width:630px;color:var(--color-ink-muted);margin:0;line-height:1.65}.schedule-actions{flex-wrap:wrap;justify-content:end;gap:10px;display:flex}.calendar-legend{color:var(--color-ink-muted);flex-wrap:wrap;gap:16px;font-size:.76rem;font-weight:650;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{background:var(--color-brand);border-radius:50%;width:8px;height:8px}.legend-dot--recurring{background:#9a751b}.legend-dot--study{background:var(--color-study)}.legend-dot--badminton{background:var(--color-badminton)}.calendar-surface{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;padding:18px}.calendar-surface .fc{--fc-border-color:var(--color-line);--fc-button-bg-color:var(--color-surface);--fc-button-border-color:var(--color-line);--fc-button-text-color:var(--color-ink);--fc-button-hover-bg-color:var(--color-brand-soft);--fc-button-hover-border-color:var(--color-brand);--fc-button-active-bg-color:var(--color-brand);--fc-button-active-border-color:var(--color-brand);--fc-event-border-color:var(--color-brand);--fc-event-bg-color:var(--color-brand);font-size:.78rem}.calendar-surface .fc .fc-toolbar-title{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.1rem}.calendar-surface .fc .fc-button{min-height:34px;box-shadow:none;text-transform:none;border-radius:8px;padding:.35rem .55rem;font-size:.72rem;font-weight:750}.calendar-surface .fc .fc-col-header-cell-cushion{color:var(--color-ink-muted);padding:10px 4px;font-size:.7rem;text-decoration:none}.calendar-surface .fc .fc-timegrid-slot-label-cushion{color:var(--color-ink-muted);font-size:.65rem}.calendar-surface .fc .fc-event{cursor:pointer;border-radius:5px;padding:2px 4px;font-size:.7rem}.calendar-surface .fc .calendar-event--recurring{background:#9a751b;border-color:#9a751b}.calendar-surface .fc .calendar-event--study{border-color:var(--color-study);background:var(--color-study)}.calendar-surface .fc .calendar-event--badminton{border-color:var(--color-badminton);background:var(--color-badminton)}.schedule-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.schedule-sources>article{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:20px 22px}.schedule-sources>article>p{color:var(--color-ink-muted);margin:24px 0 4px;font-size:.82rem;line-height:1.6}.source-list{margin-top:16px;display:grid}.source-list>div{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;display:grid}.source-list button:not(.source-delete){min-width:0;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 0}.source-list strong,.source-list span span{display:block}.source-list strong{font-size:.82rem}.source-list span span{color:var(--color-ink-muted);margin-top:3px;font-size:.7rem}.source-delete{width:30px;height:30px;color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:1.2rem}.source-delete:hover{background:var(--color-danger-soft);color:var(--color-danger)}.schedule-modal{border:1px solid var(--color-line);background:var(--color-surface);width:min(540px,100%);max-height:min(760px,92vh);box-shadow:var(--shadow-raised);border-radius:20px;padding:26px;overflow-y:auto}.weekday-picker{border:0;flex-wrap:wrap;gap:7px;margin:0;padding:0;display:flex}.weekday-picker legend{width:100%;margin-bottom:6px;font-size:.82rem;font-weight:750}.weekday-picker label{border:1px solid var(--color-line);min-height:34px;color:var(--color-ink-muted);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:.72rem;display:inline-flex}.weekday-picker input{width:auto;min-height:0;margin:0}.tournament-page{gap:22px;display:grid}.tournament-hero{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:28px;padding:8px 0 24px;display:flex}.tournament-hero h1{font-family:var(--font-display);letter-spacing:-.07em;margin:10px 0;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:.96}.tournament-hero p:not(.eyebrow){max-width:600px;color:var(--color-ink-muted);margin:0;line-height:1.65}.tournament-group-picker{border:1px solid var(--color-line);background:var(--color-surface);min-width:210px;min-height:44px;color:var(--color-ink);font:inherit;border-radius:10px;padding:0 10px;font-size:.82rem}.tournament-empty{border:1px dashed var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);justify-items:start;gap:14px;padding:44px;display:grid}.tournament-empty h2,.tournament-empty p{margin:0}.tournament-empty h2,.tournament-summary h2{font-family:var(--font-display)}.tournament-empty p,.tournament-summary p{color:var(--color-ink-muted);line-height:1.6}.tournament-list{gap:10px;padding-bottom:3px;display:flex;overflow-x:auto}.tournament-list button{border:1px solid var(--color-line);background:var(--color-surface);min-width:260px;color:var(--color-ink);text-align:left;cursor:pointer;border-radius:11px;grid-template-columns:30px minmax(160px,1fr);align-items:center;gap:10px;padding:12px;display:grid}.tournament-list button.is-selected{border-color:var(--color-badminton);background:color-mix(in srgb, var(--color-badminton) 8%, var(--color-surface))}.tournament-list button>span{background:var(--color-badminton);width:30px;height:30px;color:var(--color-surface);border-radius:9px;place-items:center;font-size:.75rem;font-weight:850;display:grid}.tournament-list strong,.tournament-list small{display:block}.tournament-list strong{font-size:.82rem}.tournament-list small{color:var(--color-ink-muted);margin-top:3px;font-size:.68rem}.tournament-list b{color:var(--color-badminton);letter-spacing:.05em;grid-column:2;font-size:.64rem}.tournament-detail{gap:16px;display:grid}.tournament-summary{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);justify-content:space-between;align-items:end;gap:18px;padding:23px;display:flex}.tournament-summary h2{letter-spacing:-.05em;margin:7px 0;font-size:1.65rem}.tournament-summary p{margin:0;font-size:.82rem}.tournament-actions{flex-wrap:wrap;justify-content:end;gap:10px;display:flex}.tournament-live{background:var(--color-brand-soft);color:var(--color-brand);border-radius:9px;padding:11px 13px;font-size:.78rem;font-weight:750}.tournament-layout{grid-template-columns:minmax(250px,.35fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.tournament-roster,.bracket-panel{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;padding:22px}.tournament-roster ol{gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.tournament-roster li{border-top:1px solid var(--color-line);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;display:grid}.tournament-roster li>b{color:var(--color-badminton);font-size:.72rem}.tournament-roster strong,.tournament-roster small{display:block}.tournament-roster strong{font-size:.82rem}.tournament-roster small{color:var(--color-ink-muted);margin-top:3px;font-size:.7rem}.bracket-scroll{overflow-x:auto}.bracket-grid{grid-template-rows:repeat(3,minmax(80px,auto));grid-auto-columns:minmax(184px,1fr);grid-auto-flow:column;gap:12px;min-width:max-content;margin-top:16px;display:grid}.bracket-match{border:1px solid var(--color-line);background:var(--color-canvas);border-radius:10px;padding:10px}.bracket-match small{color:var(--color-ink-muted);margin-bottom:8px;font-size:.65rem;font-weight:750;display:block}.bracket-match>div{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:7px;min-height:28px;font-size:.72rem;display:flex}.bracket-match>div b{color:var(--color-success)}.member-picker{border:0;gap:7px;margin:0;padding:0;display:grid}.member-picker legend{margin-bottom:4px;font-size:.82rem;font-weight:750}.member-picker label{border:1px solid var(--color-line);cursor:pointer;border-radius:9px;align-items:center;gap:9px;min-height:46px;padding:6px 8px;font-size:.82rem;display:flex}.member-picker label:has(input:checked){border-color:var(--color-brand);background:var(--color-brand-soft)}.member-picker input{width:auto;min-height:0;margin:0}.profile-page{gap:24px;display:grid}.profile-page .status-card{max-width:760px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px;display:grid}.profile-panel{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:26px}.profile-panel h2{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.04em;margin:8px 0;font-size:1.25rem}.profile-panel p{color:var(--color-ink-muted);margin:0;font-size:.85rem}.profile-identity{align-items:center;gap:14px;display:flex}.avatar-fallback--large{width:48px;height:48px;font-size:1rem}.availability-page{gap:22px;display:grid}.availability-hero{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:28px;padding:8px 0 24px;display:flex}.availability-hero h1{max-width:650px;font-family:var(--font-display);letter-spacing:-.07em;margin:10px 0;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:.96}.availability-hero p:not(.eyebrow){max-width:640px;color:var(--color-ink-muted);margin:0;line-height:1.65}.availability-hero>span{background:var(--color-brand-soft);color:var(--color-brand);white-space:nowrap;border-radius:8px;padding:8px 10px;font-size:.75rem;font-weight:800}.availability-layout{grid-template-columns:minmax(280px,.38fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.availability-form,.availability-results,.availability-restricted{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:22px}.availability-form h2,.availability-results h2,.availability-restricted h2{font-family:var(--font-display);letter-spacing:-.045em;margin:7px 0 0;font-size:1.3rem}.availability-restricted{max-width:650px}.availability-restricted p{color:var(--color-ink-muted);line-height:1.6}.candidate-list{margin-top:17px;display:grid}.availability-candidate{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;display:grid}.availability-candidate b,.availability-candidate time,.availability-candidate strong,.availability-candidate small{display:block}.availability-candidate b{color:var(--color-badminton);font-size:.72rem}.availability-candidate time{color:var(--color-ink);margin-top:3px;font-size:.85rem;font-weight:800}.availability-candidate strong{margin-top:7px;font-size:.78rem}.availability-candidate small{color:var(--color-ink-muted);margin-top:4px;font-size:.71rem;line-height:1.45}.activity-page{gap:22px;display:grid}.activity-hero{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:28px;padding:8px 0 24px;display:flex}.activity-hero h1{max-width:640px;font-family:var(--font-display);letter-spacing:-.07em;margin:10px 0;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:.96}.activity-hero p:not(.eyebrow){max-width:610px;color:var(--color-ink-muted);margin:0;line-height:1.65}.activity-hero__actions{flex-wrap:wrap;justify-content:end;gap:10px;display:flex}.activity-hero__actions select{border:1px solid var(--color-line);background:var(--color-surface);min-width:200px;min-height:44px;color:var(--color-ink);font:inherit;border-radius:10px;padding:0 10px;font-size:.82rem}.activity-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.58fr);align-items:start;gap:16px;display:grid}.activity-feed,.activity-form{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:22px}.activity-feed h2,.activity-form h2{font-family:var(--font-display);letter-spacing:-.045em;margin:7px 0 0;font-size:1.3rem}.session-list{margin-top:17px;display:grid}.session-card{border-top:1px solid var(--color-line);grid-template-columns:86px minmax(0,1fr);gap:15px;padding:17px 0;display:grid}.session-card__time{color:var(--color-study);align-content:start;gap:4px;display:grid}.session-card__time time{text-transform:uppercase;font-size:.7rem;font-weight:800}.session-card__time b{font-family:var(--font-display);font-size:1.1rem}.session-card__body h3{font-family:var(--font-display);letter-spacing:-.03em;margin:8px 0 0;font-size:1.05rem}.session-card__body p{color:var(--color-ink-muted);margin:8px 0;font-size:.82rem;line-height:1.55}.session-card__body small{color:var(--color-ink-muted);font-size:.71rem}.activity-status{background:var(--color-surface-muted);color:var(--color-ink-muted);letter-spacing:.05em;border-radius:6px;padding:4px 6px;font-size:.64rem;font-weight:800;display:inline-flex}.activity-status--confirmed{background:var(--color-success-soft);color:var(--color-success)}.activity-status--open{background:color-mix(in srgb, var(--color-study) 11%, var(--color-surface));color:var(--color-study)}.session-card__actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.session-card__actions .button{min-height:36px;padding-inline:11px;font-size:.75rem}.button--danger{border-color:color-mix(in srgb, var(--color-danger) 45%, var(--color-line));background:var(--color-surface);color:var(--color-danger)}.button--danger:hover{border-color:var(--color-danger);background:var(--color-danger-soft)}.form-note{color:var(--color-ink-muted);margin:0;font-size:.74rem;line-height:1.5}.activity-empty{border:1px dashed var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);justify-items:start;gap:12px;max-width:650px;padding:42px;display:grid}.activity-empty h2,.activity-empty p{margin:0}.activity-empty h2{font-family:var(--font-display)}.activity-empty p{color:var(--color-ink-muted);line-height:1.6}.badminton-operations .page-heading{border-bottom:1px solid var(--color-line);align-items:end;margin:0;padding:8px 0 24px}.badminton-operations .page-heading h1{font-family:var(--font-display);letter-spacing:-.07em;margin:10px 0;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:.96}.badminton-operations .page-heading .intro{max-width:640px;color:var(--color-ink-muted);margin:0;line-height:1.65}.badminton-operations .group-picker{border-color:var(--color-line);min-height:44px;color:var(--color-ink);border-radius:10px;padding:0 10px}.badminton-operations .content-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.58fr);gap:16px}.badminton-operations .page-panel{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:22px}.badminton-operations .section-title{color:var(--color-brand);letter-spacing:.13em;margin:0 0 14px;font-size:.7rem;font-weight:800}.badminton-operations .study-card{border-top:1px solid var(--color-line);margin:0;padding:17px 0}.badminton-operations .study-card:first-of-type{border-top:0}.badminton-operations .study-card-header h2,.badminton-operations .form-stack h2{font-family:var(--font-display);font-size:1.12rem}.badminton-operations .study-card p{color:var(--color-ink-muted);font-size:.8rem;line-height:1.55}.badminton-operations .source-tag{color:var(--color-badminton);margin-right:0;font-size:.64rem}.badminton-operations .study-actions{margin-top:13px}.badminton-operations .study-actions .btn,.badminton-operations .form-stack .btn{min-height:38px;font:inherit;border-radius:9px;font-size:.76rem;font-weight:750}.badminton-operations .btn-primary{border-color:var(--color-brand);background:var(--color-brand)}.badminton-operations .btn-outline-primary{border-color:var(--color-brand);color:var(--color-brand)}.badminton-operations .btn-outline-primary:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.badminton-operations .participant-pills span{background:var(--color-surface-muted);color:var(--color-ink-muted);border-radius:7px}.badminton-operations .form-column{gap:16px}.badminton-operations .form-stack label{color:var(--color-ink);font-size:.8rem}.badminton-operations .form-stack input,.badminton-operations .form-stack textarea,.badminton-operations .form-stack select{border-color:var(--color-line);min-height:43px;box-shadow:none;border-radius:9px}.badminton-operations .saved-source,.badminton-operations .member-row{border-color:var(--color-line)}.badminton-operations .dashboard-grid{margin-top:0}.badminton-operations .hint,.badminton-operations .subtle{color:var(--color-ink-muted);font-size:.74rem;line-height:1.55}.activity-page--badminton .page-heading .eyebrow,.badminton-operations .section-title{color:var(--color-badminton)}.profile-setup-page{grid-template-columns:minmax(0,1fr) minmax(340px,460px);align-items:center;gap:clamp(40px,10vw,160px);min-height:calc(100vh - 76px);display:grid}.profile-setup-copy h1{max-width:560px;font-family:var(--font-display);letter-spacing:-.065em;overflow-wrap:anywhere;margin:16px 0 20px;font-size:clamp(3rem,6vw,5.3rem);line-height:.98}.profile-setup-card{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-raised);border-radius:20px;padding:clamp(24px,4vw,38px)}.avatar-upload{border:3px solid var(--color-brand-soft);background:var(--color-brand);width:112px;height:112px;color:var(--color-surface);cursor:pointer;border-radius:50%;place-items:center;margin:0 auto 2px;padding:0;display:grid;position:relative;overflow:hidden}.avatar-upload:hover{border-color:var(--color-brand)}.avatar-upload:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.avatar-upload img{object-fit:cover;width:100%;height:100%}.avatar-upload>span{font-family:var(--font-display);font-size:2rem;font-weight:800}.avatar-upload b{background:color-mix(in srgb, var(--color-ink) 78%, transparent);color:var(--color-surface);padding:7px 0;font-size:.68rem;position:absolute;bottom:0;left:0;right:0}.avatar-help{color:var(--color-ink-muted);text-align:center;margin:0;font-size:.75rem;line-height:1.5}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=920px){.app-shell--signed-in{grid-template-columns:80px minmax(0,1fr)}.app-sidebar{padding-inline:12px}.brand>span:last-child,.sidebar-link>span:last-child,.account-link>span:last-child,.sign-out-button{display:none}.sidebar-link{justify-content:center;padding:0}.sidebar-nav{margin-top:34px}.account-link{justify-content:center}.app-main{padding-inline:32px}.auth-layout{gap:48px}}@media (width<=720px){.app-shell--signed-in{display:block}.app-sidebar{display:none}.app-main{padding:28px 20px 98px}.mobile-nav{z-index:10;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #17342e14}.mobile-nav-link{min-width:0;min-height:52px;color:var(--color-ink-muted);text-align:center;border-radius:9px;align-content:center;place-items:center;gap:3px;font-size:.61rem;font-weight:700;line-height:1.1;text-decoration:none;display:grid}.mobile-nav-link>span:first-child{font-size:1rem}.mobile-nav-link.is-active{background:var(--color-brand-soft);color:var(--color-brand-strong)}.guest-header{width:100%;max-width:100%;min-height:68px;padding-inline:20px}.guest-nav{flex:none;margin-left:auto}.guest-nav .button{padding-inline:12px;font-size:.82rem}.guest-nav>a:not(.button){display:none}.auth-layout{grid-template-columns:1fr;gap:36px;min-height:auto;padding-block:30px 48px}.auth-intro-block h1{max-width:10ch;font-size:clamp(3rem,15vw,4.7rem)}.auth-value-list{margin-top:26px}.auth-card-wrap{border-radius:20px;padding:5px}.auth-page{border-radius:16px;max-width:none;padding:24px 20px}.auth-layout--register .auth-intro-block h1{max-width:12ch}.profile-setup-page{grid-template-columns:1fr;gap:32px;min-height:auto;padding-block:30px 48px}.profile-setup-copy h1{font-size:clamp(3rem,14vw,4.5rem)}.profile-setup-card{padding:24px 20px}.profile-grid{grid-template-columns:1fr}.home-hero,.home-workspace-head{flex-direction:column;align-items:start}.home-overview,.home-grid{grid-template-columns:1fr}.home-panel--next{grid-row:auto}.group-switcher,.group-switcher select{width:100%}.activity-row{grid-template-columns:100px minmax(0,1fr);gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.groups-hero,.workspace-hero,.schedule-header,.tournament-hero,.tournament-summary,.availability-hero,.activity-hero{flex-direction:column;align-items:start}.group-grid,.schedule-sources,.workspace-content-grid,.tournament-layout,.availability-layout,.activity-layout{grid-template-columns:minmax(0,1fr)}.workspace-hero{grid-template-columns:auto minmax(0,1fr)}.workspace-hero__actions{grid-column:1/-1;justify-items:start}.invitation-strip{grid-template-columns:minmax(0,1fr)}.invitation-actions>div{flex-direction:column;align-items:start}.schedule-actions{justify-content:start}.calendar-surface{margin-inline:-4px;padding:10px;overflow-x:auto}.calendar-surface .fc{min-width:680px}.tournament-hero .schedule-actions,.tournament-group-picker{width:100%}.tournament-summary,.tournament-actions{justify-content:start;align-items:start}.tournament-actions{flex-direction:column}.tournament-actions .button{width:100%}.availability-candidate{grid-template-columns:minmax(0,1fr)}.availability-candidate .button,.activity-hero__actions,.activity-hero__actions select{width:100%}.activity-hero__actions{justify-content:start}.session-card{grid-template-columns:72px minmax(0,1fr);gap:10px}.badminton-operations .page-heading{flex-direction:column;align-items:start}.badminton-operations .group-picker{width:100%}.badminton-operations .content-grid{grid-template-columns:minmax(0,1fr)}}:root{--kos-blue:var(--gs-indigo);--kos-blue-soft:var(--gs-indigo-soft);--kos-ink:var(--gs-ink);--kos-muted:var(--gs-muted);--kos-line:var(--gs-rule);--kos-surface:var(--gs-surface);--kos-surface-2:var(--gs-surface-2);--kos-font-display:"Outfit", ui-sans-serif, system-ui, sans-serif}.app-shell{min-height:100dvh;display:grid}.app-shell--signed-in{grid-template-columns:220px minmax(0,1fr)}.app-sidebar{background:#1a2630;flex-direction:column;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0;overflow:auto}.brand{color:#fff;font-family:var(--kos-font-display);letter-spacing:.01em;align-items:center;gap:10px;font-size:.93rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--kos-blue);color:#fff;width:32px;height:32px;font-family:var(--kos-font-display);border-radius:8px;flex-shrink:0;place-items:center;font-size:.97rem;font-weight:800;display:grid}.sidebar-nav{flex-direction:column;flex:1;gap:2px;margin-top:32px;display:flex}.sidebar-link{color:#c9d4d7d9;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:.83rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{color:#e8f0f2;background:#ffffff12}.sidebar-link.is-active{color:#fff;background:#ffffff1f}.sidebar-foot{border-top:1px solid #ffffff14;padding-top:16px}.account-link{color:#c9d4d7d9;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;transition:background .15s;display:flex}.account-link:hover{background:#ffffff12}.account-link strong{color:#d8e4e8;font-size:.82rem;font-weight:700;display:block}.account-link small{color:var(--kos-muted);font-size:.7rem;display:block}.sign-out-button{color:#c9d4d7b3;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;width:100%;margin-top:4px;padding:8px 12px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s;display:flex}.sign-out-button:hover{color:#e8f0f2;background:#ffffff12}.guest-header{align-items:center;width:100%;max-width:1480px;min-height:68px;margin:0 auto;padding:0 3.5rem;display:flex}.guest-nav{align-items:center;gap:1rem;margin-left:auto;display:flex}.mobile-app-header{display:none}.app-main{max-width:1480px;padding:2.25rem 3.5rem 5rem}.kos-kicker{color:var(--kos-blue);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.kos-home{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:2.25rem;min-height:calc(100dvh - 4.5rem);display:grid}.kos-home-copy{padding:1.5rem 0}.kos-home h1,.kos-page h1{color:var(--kos-ink);font-family:var(--kos-font-display);letter-spacing:-.045em;font-size:clamp(3rem,6vw,6.1rem);font-weight:800;line-height:.93}.kos-home h1 em{color:var(--kos-blue);font-style:normal;font-weight:800}.kos-lead{color:#46565e;max-width:34rem;font-size:1.04rem;line-height:1.7}.kos-hero-actions{align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.kos-text-link{color:var(--kos-ink);font-weight:700;text-decoration:none}.kos-text-link:hover{text-decoration:underline}.kos-greeting{color:var(--kos-muted);margin-top:5rem;font-size:.8rem}.kos-hero-art{min-height:560px;box-shadow:22px 28px 0 color-mix(in srgb, var(--kos-blue) 12%, transparent);border-radius:4px;position:relative;overflow:hidden}.kos-hero-art img{object-fit:cover;width:100%;height:100%;min-height:560px}.kos-art-caption{color:#fff;font:600 1.1rem var(--kos-font-display);position:absolute;bottom:1.2rem;left:1.2rem}.kos-focus-card{z-index:1;background:var(--kos-surface);border-left:3px solid var(--kos-blue);width:min(370px,100%);box-shadow:var(--gs-shadow);grid-column:1;align-self:end;margin-top:-9rem;padding:1.35rem;position:relative}.kos-focus-card span,.kos-resource p{color:var(--kos-blue);letter-spacing:.11em;text-transform:uppercase;font-size:.67rem;font-weight:700}.kos-focus-card h2{color:var(--kos-ink);font-family:var(--kos-font-display);margin:.55rem 0;font-size:1.35rem;font-weight:700}.kos-focus-card p{color:var(--kos-muted);font-size:.86rem;line-height:1.5}.kos-focus-card a{color:var(--kos-ink);align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.kos-home-band{border-top:1px solid var(--kos-line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding-top:1rem;display:grid}.kos-home-band a{color:var(--kos-ink);gap:.7rem;text-decoration:none;transition:color .15s;display:flex}.kos-home-band a:hover{color:var(--kos-blue)}.kos-home-band b,.kos-home-band small{display:block}.kos-home-band small{color:var(--kos-muted);margin-top:.2rem}.kos-page{max-width:1180px}@media (prefers-reduced-motion:no-preference){.kos-page,.kos-home{animation:.32s cubic-bezier(.16,1,.3,1) both kos-page-enter}@keyframes kos-page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}.kos-page-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2.8rem;display:flex}.kos-page h1{margin:.7rem 0 0;font-size:clamp(2.6rem,5vw,5rem)}.kos-button{font:600 .84rem var(--kos-font-display), sans-serif;cursor:pointer;background:var(--kos-surface-2);color:var(--kos-ink);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:7px;align-items:center;gap:.55rem;padding:.72rem 1.1rem;text-decoration:none;transition:background .16s,color .16s,transform .1s,box-shadow .16s;display:inline-flex}.kos-button:hover{background:color-mix(in srgb, var(--kos-ink) 8%, var(--kos-surface-2))}.kos-button:active{transform:translateY(1px)scale(.99)}.kos-button:focus-visible{outline:3px solid color-mix(in srgb, var(--kos-blue) 50%, transparent);outline-offset:2px}.kos-button--primary{background:var(--kos-blue);color:#fff;border-color:#0000}.kos-button--primary:hover{background:color-mix(in srgb, var(--kos-blue) 88%, #000)}.kos-button--danger{color:#b91c1c;background:#fff0f0;border:1px solid #fca5a5}.kos-button--danger:hover{background:#fee2e2}.kos-button--danger.is-confirming{color:#fff;background:#b91c1c;border-color:#b91c1c}.kos-button:disabled,.kos-button[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.kos-text-button{color:var(--kos-muted);font:600 .83rem var(--kos-font-display), sans-serif;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 4px;transition:color .15s;display:inline-flex}.kos-text-button:hover{color:var(--kos-ink)}.kos-ask-stage input,.kos-ask-stage select,.kos-ask-stage textarea,.kos-modal input,.kos-modal textarea,.kos-modal select,.kos-notes textarea,.kos-library-toolbar input,.kos-library-toolbar select,.kos-filter select,.kos-collection-select select{border:1px solid var(--kos-line);font:inherit;background:var(--kos-surface);color:var(--kos-ink);border-radius:6px;outline:none;padding:.65rem .85rem;transition:border-color .15s,box-shadow .15s}.kos-ask-stage input:focus-visible,.kos-ask-stage select:focus-visible,.kos-ask-stage textarea:focus-visible,.kos-modal input:focus-visible,.kos-modal textarea:focus-visible,.kos-modal select:focus-visible,.kos-notes textarea:focus-visible,.kos-library-toolbar input:focus-visible,.kos-library-toolbar select:focus-visible,.kos-filter select:focus-visible,.kos-collection-select select:focus-visible{border-color:var(--kos-blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--kos-blue) 18%, transparent)}.kos-activity input[type=range]{width:100%;min-height:44px;accent-color:var(--kos-blue)}.kos-library-toolbar{border-top:1px solid var(--kos-line);border-bottom:1px solid var(--kos-line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.kos-library-toolbar label{align-items:center;gap:.6rem;min-width:min(420px,100%);display:flex}.kos-library-toolbar input{width:100%;box-shadow:none;background:0 0;border:0;outline:0;padding:0}.kos-library-toolbar input:focus-visible{box-shadow:none;border-color:#0000}.kos-library-toolbar span{color:var(--kos-muted);font-size:.8rem}.kos-resource-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem;display:grid}.kos-resource{border-bottom:1px solid var(--kos-line);min-height:250px;padding-bottom:1rem;transition:box-shadow .18s}.kos-resource:hover{box-shadow:0 4px 18px color-mix(in srgb, var(--kos-blue) 12%, transparent)}.kos-resource>a{color:inherit;text-decoration:none}.kos-resource-cover{color:#fff;background:#263e4b;border-radius:3px 3px 0 0;align-items:flex-end;height:150px;padding:1rem;display:flex}.kos-resource-cover--1{background:var(--kos-blue)}.kos-resource-cover--2{background:#637865}.kos-resource-cover--3{background:#bd825f}.kos-resource h2{color:var(--kos-ink);font-family:var(--kos-font-display);margin:.35rem 0;font-size:1.18rem;font-weight:700}.kos-resource small{color:var(--kos-muted)}.kos-collection-select{color:var(--kos-muted);gap:.35rem;margin-top:.8rem;font-size:.72rem;display:grid}.kos-collection-select select{min-height:40px}.kos-filter{align-items:center;gap:8px;display:inline-flex}.kos-filter select{min-width:150px}.kos-library-actions{flex-wrap:wrap;gap:.65rem;display:flex}.kos-empty{border:1px dashed var(--kos-line);text-align:center;border-radius:4px;margin-top:3rem;padding:3rem}.kos-empty h2{color:var(--kos-ink);font-family:var(--kos-font-display);margin:.7rem;font-weight:700}.kos-empty p{color:var(--kos-muted)}.kos-error{color:#a03636}.kos-success{color:#166534;align-items:center;gap:7px;display:inline-flex}.kos-modal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10202ca6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){.kos-modal{animation:.22s cubic-bezier(.16,1,.3,1) both kos-modal-in}@keyframes kos-modal-in{0%{opacity:0}to{opacity:1}}.kos-modal form{animation:.26s cubic-bezier(.16,1,.3,1) both kos-modal-form-in}@keyframes kos-modal-form-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}}.kos-modal form{background:var(--kos-surface);border-radius:4px;gap:1rem;width:min(560px,100%);padding:2rem;display:grid;position:relative;box-shadow:0 24px 60px #10202c40}.kos-modal label{gap:.4rem;font-size:.85rem;font-weight:600;display:grid}.kos-modal textarea{resize:vertical;min-height:170px}.kos-modal-close{color:var(--kos-muted);cursor:pointer;background:0 0;border:0;justify-self:end;padding:4px;transition:color .15s}.kos-modal-close:hover{color:var(--kos-ink)}.kos-focus-stage,.kos-ask-stage{background:var(--kos-surface-2);border-left:4px solid var(--kos-blue);border-radius:0 4px 4px 0;gap:1rem;max-width:760px;margin-top:2.5rem;padding:clamp(1.5rem,5vw,4rem);display:grid}.kos-focus-stage h2,.kos-ask-stage h2{color:var(--kos-ink);font:700 clamp(2rem, 4vw, 3.7rem)/.98 var(--kos-font-display)}.kos-focus-stage p,.kos-ask-stage>p:not(.kos-kicker):not(.kos-error){color:#43545d;max-width:38rem;line-height:1.65}.kos-focus-stage span,.kos-ask-stage small{color:var(--kos-muted)}.kos-ask-stage label{gap:.45rem;font-size:.84rem;font-weight:600;display:grid}.kos-ask-stage select,.kos-ask-stage textarea{width:100%}.kos-ask-stage textarea{resize:vertical;min-height:130px}.kos-ask-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;display:grid}.kos-ask-sidebar{flex-direction:column;gap:.85rem;min-width:0;max-height:calc(100vh - 140px);display:flex;position:sticky;top:1.5rem}.kos-ask-box{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:var(--kos-radius);flex-direction:column;min-height:0;padding:.9rem 1rem;display:flex;overflow:hidden;box-shadow:0 4px 16px -6px #0000000a}.kos-new-chat-box{flex:none;padding:.75rem .9rem}.kos-new-chat-box .kos-button--block{justify-content:center;align-items:center;gap:.5rem;width:100%;font-weight:600;display:flex}.kos-recent-box{flex:190px;min-height:140px;max-height:220px}.kos-reasoning-box{flex:1.3 260px;min-height:200px;max-height:310px}.kos-box-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.kos-box-header-title{align-items:center;gap:.45rem;display:flex}.kos-box-header-title h2,.kos-box-header-title h3{font:600 .96rem var(--kos-font-display);color:var(--kos-ink);letter-spacing:-.01em;margin:0}.kos-box-icon{color:var(--kos-muted)}.kos-box-count{background:var(--kos-surface-2);color:var(--kos-muted);border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.kos-recent-scroll-content{scrollbar-width:thin;scrollbar-color:var(--kos-line) transparent;flex-direction:column;flex:auto;gap:.3rem;padding-right:.3rem;display:flex;overflow-y:auto}.kos-recent-scroll-content::-webkit-scrollbar{width:4px}.kos-reasoning-scroll-content::-webkit-scrollbar{width:4px}.kos-recent-scroll-content::-webkit-scrollbar-thumb{background:var(--kos-line);border-radius:4px}.kos-reasoning-scroll-content::-webkit-scrollbar-thumb{background:var(--kos-line);border-radius:4px}.kos-session-item{color:var(--kos-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2.5px solid #0000;border-radius:0 4px 4px 0;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.45rem .6rem;font-size:.86rem;transition:background .15s,color .15s,border-left-color .15s;display:flex}.kos-session-item:hover{background:var(--kos-surface-2);color:var(--kos-ink)}.kos-session-item.is-active{border-left-color:var(--kos-blue);color:var(--kos-blue);background:color-mix(in srgb, var(--kos-blue) 8%, transparent);font-weight:500}.kos-chat-dot{background:var(--kos-line);border-radius:50%;flex-shrink:0;width:6px;height:6px}.kos-session-item.is-active .kos-chat-dot{background:var(--kos-blue)}.kos-chat-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kos-empty-hint{color:var(--kos-muted);margin:.5rem 0;font-size:.82rem;font-style:italic}.kos-activity-icon{color:var(--kos-blue)}.kos-activity-icon.is-pulsing{animation:1.5s ease-in-out infinite kos-pulse-glow}.kos-status-pill{text-transform:uppercase;letter-spacing:.04em;background:var(--kos-surface-2);color:var(--kos-muted);border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.kos-status-pill--running{background:color-mix(in srgb, var(--kos-blue) 15%, transparent);color:var(--kos-blue);animation:1.2s infinite alternate kos-pulse-badge}.kos-status-pill--success{color:#16a34a;background:#22c55e1f}.kos-reasoning-scroll-content{scrollbar-width:thin;scrollbar-color:var(--kos-line) transparent;flex-direction:column;flex:auto;gap:.6rem;padding-right:.3rem;display:flex;overflow-y:auto}.kos-reasoning-step{gap:.65rem;transition:opacity .2s;display:flex;position:relative}.kos-reasoning-step.is-pending{opacity:.45}.kos-reasoning-step.is-running{opacity:1}.kos-reasoning-step.is-completed{opacity:.92}.kos-step-indicator{flex-direction:column;flex-shrink:0;align-items:center;width:18px;display:flex}.kos-step-num{background:var(--kos-surface-2);width:17px;height:17px;color:var(--kos-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;font-weight:600;display:flex}.kos-step-icon--success{color:#16a34a}.kos-step-icon--spin{color:var(--kos-blue);animation:1s linear infinite kos-spin}.kos-btn-spin{animation:1s linear infinite kos-spin}.kos-step-line{background:var(--kos-line);flex:1;width:1.5px;min-height:12px;margin-top:4px}.kos-step-body{flex:1;min-width:0}.kos-step-heading{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.kos-step-title{color:var(--kos-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.kos-step-badge{background:var(--kos-surface-2);color:var(--kos-muted);border-radius:3px;flex-shrink:0;padding:.1rem .35rem;font-family:monospace;font-size:.65rem}.kos-reasoning-step.is-running .kos-step-badge{background:color-mix(in srgb, var(--kos-blue) 12%, transparent);color:var(--kos-blue)}.kos-step-detail{color:var(--kos-muted);margin:.15rem 0 0;font-size:.75rem;line-height:1.35}.kos-box-footer{background:color-mix(in srgb, var(--kos-blue) 6%, transparent);border:1px solid color-mix(in srgb, var(--kos-blue) 15%, transparent);color:var(--kos-ink);border-radius:4px;flex-shrink:0;align-items:center;gap:.4rem;margin-top:.6rem;padding:.4rem .55rem;font-size:.73rem;display:flex}.kos-sparkle-icon{color:var(--kos-blue);flex-shrink:0}@keyframes kos-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes kos-pulse-glow{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}}@keyframes kos-pulse-badge{0%{opacity:.7}to{opacity:1}}.kos-resource-picker{gap:.4rem;max-height:180px;display:grid;overflow:auto}.kos-resource-picker label{align-items:center;gap:.5rem;font-weight:500;display:flex}.kos-answer{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:4px;align-self:start;margin-top:2.5rem;padding:2rem}.kos-answer article+article{border-top:1px solid var(--kos-line);margin-top:1.25rem;padding-top:1.25rem}.kos-message-body{margin-top:.4rem}.kos-markdown-body{color:var(--kos-ink);font-size:.95rem;line-height:1.7}.kos-markdown-body .kos-md-p{margin:0 0 .85rem}.kos-markdown-body .kos-md-p:last-child{margin-bottom:0}.kos-markdown-body .kos-md-h2{font:700 1.25rem var(--kos-font-display);color:var(--kos-ink);letter-spacing:-.015em;border-bottom:1px solid var(--kos-line);margin:1.35rem 0 .65rem;padding-bottom:.3rem}.kos-markdown-body .kos-md-h3{font:600 1.12rem var(--kos-font-display);color:var(--kos-ink);letter-spacing:-.01em;margin:1.15rem 0 .5rem}.kos-markdown-body .kos-md-h4{font:600 1.02rem var(--kos-font-display);color:var(--kos-ink);margin:.95rem 0 .4rem}.kos-markdown-body .kos-md-list{margin:0 0 1rem;padding-left:1.4rem}.kos-markdown-body .kos-md-list--ul{list-style-type:disc}.kos-markdown-body .kos-md-list--ol{list-style-type:decimal}.kos-markdown-body .kos-md-list-item{margin-bottom:.45rem;line-height:1.6}.kos-markdown-body .kos-md-list-item:last-child{margin-bottom:0}.kos-markdown-body .kos-md-quote{border-left:3.5px solid var(--kos-blue);background:var(--kos-surface-2);color:var(--kos-muted);border-radius:0 4px 4px 0;margin:.85rem 0;padding:.65rem 1rem;font-style:italic}.kos-markdown-body .kos-md-code-block{color:#e2e8f0;background:#0f172a;border-radius:6px;margin:.85rem 0;padding:.85rem 1.1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.5;overflow-x:auto}.kos-md-code-inline{background:var(--kos-surface-2);color:#c026d3;border:1px solid var(--kos-line);border-radius:3px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em}.kos-md-strong{color:var(--kos-ink);font-weight:650}.kos-md-em{color:var(--kos-ink);font-style:italic}.kos-md-arrow{color:var(--kos-blue);padding:0 .15rem;font-family:system-ui,sans-serif;font-weight:700}.kos-md-math{background:color-mix(in srgb, var(--kos-blue) 6%, transparent);color:var(--kos-ink);border-radius:3px;padding:.1em .35em;font-family:Cambria Math,Times New Roman,serif;font-size:.95em;font-style:italic}.kos-md-citation-group{vertical-align:baseline;gap:.2rem;margin:0 .2rem;display:inline-flex}.kos-md-citation-badge{border:1px solid color-mix(in srgb, var(--kos-blue) 30%, transparent);background:color-mix(in srgb, var(--kos-blue) 10%, transparent);color:var(--kos-blue);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:.05rem .35rem;font-size:.75rem;font-weight:700;line-height:1.2;transition:all .15s;display:inline-flex}.kos-md-citation-badge:hover{background:var(--kos-blue);color:#fff;transform:translateY(-1px)}.kos-prompt-pills-bar{flex-direction:column;gap:.4rem;margin:.35rem 0 .5rem;display:flex}.kos-pills-title{color:var(--kos-muted);align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;display:inline-flex}.kos-pills-container{flex-wrap:wrap;gap:.45rem;display:flex}.kos-prompt-pill{background:var(--kos-surface-1);border:1px solid var(--kos-line);color:var(--kos-ink);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.78rem;font-weight:550;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.kos-prompt-pill:hover{background:var(--kos-surface-2);border-color:var(--kos-blue);color:var(--kos-blue);transform:translateY(-1px);box-shadow:0 2px 6px #0000000d}.kos-zen-toggle{border:1px solid var(--kos-line);border-radius:6px;gap:.35rem;padding:.4rem .75rem;font-size:.8rem}.kos-ask.kos-zen-mode .kos-ask-layout{grid-template-columns:1fr}.kos-ask.kos-zen-mode .kos-ask-stage{width:100%;max-width:960px;margin-inline:auto}.kos-message-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.kos-copy-btn{border:1px solid color-mix(in srgb, var(--kos-line) 80%, transparent);color:var(--kos-muted);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.74rem;font-weight:600;transition:all .15s;display:inline-flex}.kos-copy-btn:hover{background:var(--kos-surface-2);border-color:var(--kos-blue);color:var(--kos-blue)}.kos-text-success{color:#10b981}.kos-citations-section{border-top:1px solid var(--kos-line);margin-top:1rem;padding-top:.75rem}.kos-citations-heading{color:var(--kos-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;margin:0 0 .5rem;font-size:.78rem;font-weight:700;display:inline-flex}.kos-citation-details{border:1px solid var(--kos-line);background:var(--kos-surface-1);border-radius:6px;margin-bottom:.4rem;padding:.5rem .65rem;transition:all .3s}.kos-citation-details summary{cursor:pointer;color:var(--kos-ink);align-items:center;gap:.4rem;font-size:.83rem;font-weight:600;list-style:none;display:flex}.kos-citation-details summary::-webkit-details-marker{display:none}.kos-cit-num{color:var(--kos-blue);font-weight:700}.kos-cit-title{color:var(--kos-ink)}.kos-cit-excerpt{color:var(--kos-muted);border-top:1px dashed color-mix(in srgb, var(--kos-line) 80%, transparent);margin:.4rem 0 0;padding-top:.35rem;font-size:.84rem;line-height:1.55}.kos-citation-details.kos-citation-glow{border-color:var(--kos-blue);background:color-mix(in srgb, var(--kos-blue) 8%, var(--kos-surface-1));box-shadow:0 0 12px color-mix(in srgb, var(--kos-blue) 40%, transparent);transform:scale(1.01)}.kos-answer>p:not(.kos-kicker){color:#31444d;white-space:pre-line;line-height:1.7}.kos-answer h2{color:var(--kos-ink);font-family:var(--kos-font-display);margin-top:1.5rem;font-weight:700}.kos-answer details{border-top:1px solid var(--kos-line);padding:.75rem 0}.kos-answer summary{cursor:pointer;color:var(--kos-ink);font-size:.83rem;font-weight:700}.kos-answer details p{color:var(--kos-muted);font-size:.84rem;line-height:1.55}.kos-insight-numbers{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem;margin-bottom:2.5rem;display:grid}.kos-insight-numbers div{border-top:1px solid var(--kos-line);flex-direction:column;gap:.35rem;padding:1.2rem 0;display:flex}.kos-insight-numbers b{font:800 2.5rem/1 var(--kos-font-display);color:var(--kos-blue);display:block}.kos-insight-numbers span{color:var(--kos-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.kos-composition{max-width:560px}.kos-composition h2{color:var(--kos-ink);font-family:var(--kos-font-display);margin-bottom:1rem;font-weight:700}.kos-composition div{border-bottom:1px solid var(--kos-line);justify-content:space-between;padding:.85rem 0;display:flex}.kos-workspace header{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.kos-back{color:var(--kos-muted);align-items:center;gap:.4rem;margin-bottom:1.5rem;font-size:.83rem;text-decoration:none;transition:color .15s;display:inline-flex}.kos-back:hover{color:var(--kos-ink)}.kos-tabs{border-bottom:1px solid var(--kos-line);gap:.25rem;margin:2rem 0;display:flex;overflow-x:auto}.kos-tabs button{min-height:44px;font:600 .83rem var(--kos-font-display);color:var(--kos-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:.7rem 1rem;transition:color .15s,border-bottom-color .15s}.kos-tabs button:hover{color:var(--kos-ink)}.kos-tabs button.is-active{border-bottom-color:var(--kos-blue);color:var(--kos-blue)}.kos-workspace-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.kos-workspace-overview,.kos-reader,.kos-notes,.kos-related,.kos-activity{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:4px;max-width:850px;padding:clamp(1.25rem,4vw,2.5rem)}.kos-reader{white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;line-height:1.75;overflow:auto}.kos-notes{gap:1rem;display:grid}.kos-notes label{gap:.45rem;display:grid}.kos-notes textarea{resize:vertical;width:100%;min-height:100px}.kos-notes article{grid-template-columns:1fr auto;align-items:start;gap:.75rem;display:grid}.kos-notes article button{cursor:pointer;min-width:44px;min-height:44px;color:var(--kos-muted);background:0 0;border:0;transition:color .15s}.kos-notes article button:hover{color:#b91c1c}.kos-related{gap:1rem;display:grid}.kos-related>a{color:inherit;border-bottom:1px solid var(--kos-line);padding-bottom:1rem;text-decoration:none;transition:color .15s;display:block}.kos-related>a:hover h2{color:var(--kos-blue)}.kos-organize{gap:24px;max-width:860px;display:grid}.kos-suggestion-list{gap:18px;display:grid}.kos-suggestion-list fieldset{border:0;border-top:1px solid color-mix(in srgb, var(--kos-ink) 16%, transparent);gap:10px;padding:18px 0 0;display:grid}.kos-suggestion-list legend{margin-bottom:4px;padding:0;font-weight:700}.kos-suggestion-list label{border-bottom:1px solid color-mix(in srgb, var(--kos-ink) 8%, transparent);grid-template-columns:20px minmax(0,1fr) minmax(140px,1fr);align-items:center;gap:10px;padding:10px 0;display:grid}.kos-view-switcher{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:6px;gap:2px;padding:2px;display:inline-flex}.kos-view-btn{color:var(--kos-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.kos-view-btn:hover{color:var(--kos-ink)}.kos-view-btn.is-active{background:var(--kos-surface-2);color:var(--kos-blue);box-shadow:0 1px 3px #0000000f}.kos-library-counter{color:var(--kos-muted);margin-left:auto;font-size:.78rem}.kos-graph-container{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:8px;flex-direction:column;margin-top:1.5rem;display:flex;overflow:hidden;box-shadow:0 2px 12px #00000008}.kos-graph-toolbar{border-bottom:1px solid var(--kos-line);background:var(--kos-surface-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.kos-graph-legend{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.kos-legend-title{color:var(--kos-ink);align-items:center;gap:4px;margin-right:4px;font-size:.78rem;font-weight:700;display:inline-flex}.kos-legend-pill{border:1px solid var(--kos-line);background:var(--kos-surface);color:var(--kos-muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:.74rem;font-weight:600;transition:all .15s;display:inline-flex}.kos-legend-pill:hover,.kos-legend-pill.is-active{border-color:var(--kos-blue);color:var(--kos-blue);background:var(--kos-surface-2)}.kos-legend-dot{border-radius:50%;width:6px;height:6px}.kos-graph-stats{color:var(--kos-muted);align-items:center;gap:5px;font-size:.78rem;font-weight:550;display:inline-flex}.kos-graph-canvas-wrapper{background:radial-gradient(circle at center, var(--kos-surface-1) 0%, var(--kos-surface) 100%);justify-content:center;align-items:center;width:100%;min-height:520px;display:flex;position:relative;overflow:hidden}.kos-graph-svg{width:100%;height:100%;max-height:540px}.kos-graph-line{stroke:color-mix(in srgb, var(--kos-ink) 12%, transparent);stroke-width:1.2px;stroke-dasharray:4 3;transition:all .25s}.kos-graph-line.is-highlighted{stroke:var(--kos-blue);stroke-width:2.2px;stroke-dasharray:none}.kos-hub-circle{fill:var(--kos-blue);stroke:#fff;stroke-width:3px;filter:drop-shadow(0 4px 10px #3b82f659)}.kos-hub-title{fill:#fff;letter-spacing:.05em;font-size:9px;font-weight:800;font-family:var(--kos-font-display)}.kos-hub-sub{fill:#ffffffd9;font-size:7.5px;font-weight:600;font-family:var(--kos-font-display)}.kos-col-circle{fill:var(--kos-surface);stroke:var(--kos-line);stroke-width:1.5px;filter:drop-shadow(0 2px 6px #0000000f)}.kos-col-icon-text{font-size:11px}.kos-col-label{fill:var(--kos-ink);font-size:9.5px;font-weight:650;font-family:var(--kos-font-display)}.kos-node-circle{filter:drop-shadow(0 2px 6px #00000014);transition:all .2s cubic-bezier(.16,1,.3,1)}.kos-node-initial{letter-spacing:.04em;pointer-events:none;font-family:system-ui,sans-serif;font-size:7.5px;font-weight:800}.kos-node-label{fill:var(--kos-ink);font-size:9px;font-weight:600;font-family:var(--kos-font-display);pointer-events:none}.kos-node-aura{animation:1.5s infinite kos-pulse-glow}.kos-resource-node{transition:opacity .25s}.kos-resource-node.is-dimmed{opacity:.25}.kos-graph-tooltip{background:var(--kos-surface);border:1.5px solid var(--kos-blue);z-index:10;pointer-events:none;border-radius:8px;max-width:340px;padding:.85rem 1.1rem;animation:.18s kos-fade-in;position:absolute;bottom:20px;left:20px;box-shadow:0 8px 24px #0000001f}.kos-tooltip-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:.35rem;display:flex}.kos-tooltip-badge{border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:750}.kos-tooltip-status{color:var(--kos-muted);font-size:.72rem;font-weight:600}.kos-tooltip-title{font:700 .92rem var(--kos-font-display);color:var(--kos-ink);margin:0 0 .3rem;line-height:1.35}.kos-tooltip-hint{color:var(--kos-blue);margin:0;font-size:.76rem;font-weight:600}.kos-focus-hub{flex-direction:column;display:flex}.kos-topic-selector-bar{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.85rem;margin:1rem 0 1.5rem;padding:.85rem 1.2rem;display:flex}.kos-topic-bar-label{color:var(--kos-ink);align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.kos-topic-pills{flex-wrap:wrap;gap:.45rem;display:flex}.kos-topic-pill{border:1px solid var(--kos-line);background:var(--kos-surface);color:var(--kos-muted);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.kos-topic-pill:hover,.kos-topic-pill.is-active{background:var(--kos-surface-2);border-color:var(--kos-blue);color:var(--kos-blue);box-shadow:0 1px 4px #0000000d}.kos-focus-sidebar{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.kos-focus-sidebar-header{background:var(--kos-surface-1);border-bottom:1px solid var(--kos-line);justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.2rem;display:flex}.kos-sidebar-topic-info h3{font:700 .95rem var(--kos-font-display);color:var(--kos-ink);margin:0}.kos-ask-topic-link{background:color-mix(in srgb, var(--kos-blue) 12%, transparent);color:var(--kos-blue);border:1px solid color-mix(in srgb, var(--kos-blue) 25%, transparent);border-radius:4px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.74rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.kos-ask-topic-link:hover{background:var(--kos-blue);color:#fff}.kos-focus-resource-list{flex-direction:column;max-height:600px;padding:.4rem 0;display:flex;overflow-y:auto}.kos-focus-res-item{border:none;border-bottom:1px solid color-mix(in srgb, var(--kos-line) 60%, transparent);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;transition:all .15s;display:flex}.kos-focus-res-item:last-child{border-bottom:none}.kos-focus-res-item:hover{background:var(--kos-surface-1)}.kos-focus-res-item.is-active{background:var(--kos-surface-2);border-left:3px solid var(--kos-blue)}.kos-res-type-badge{background:var(--kos-surface-1);color:var(--kos-muted);border:1px solid var(--kos-line);border-radius:4px;padding:2px 5px;font-size:.68rem;font-weight:800}.kos-res-meta{flex:1;min-width:0}.kos-res-item-title{font:600 .85rem var(--kos-font-display);color:var(--kos-ink);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.kos-res-meta small{color:var(--kos-muted);font-size:.72rem}.kos-res-arrow{color:var(--kos-muted);opacity:.4}.kos-focus-res-item.is-active .kos-res-arrow{opacity:1;color:var(--kos-blue)}.kos-focus-main-panel{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:8px;min-height:600px;padding:1.5rem}.kos-focus-resource-banner{border-bottom:1px solid var(--kos-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.25rem;display:flex}.kos-banner-kicker{letter-spacing:.06em;color:var(--kos-muted);text-transform:uppercase;font-size:.72rem;font-weight:750}.kos-banner-title{font:700 1.35rem var(--kos-font-display);color:var(--kos-ink);margin:.2rem 0 0}.kos-banner-actions{gap:.5rem;display:flex}.kos-focus-tabs{border-bottom:1px solid var(--kos-line);flex-wrap:wrap;gap:.5rem;padding:.75rem 0 1.25rem;display:flex}.kos-focus-tab{border:1px solid var(--kos-line);background:var(--kos-surface);color:var(--kos-muted);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.kos-focus-tab:hover{color:var(--kos-ink);border-color:color-mix(in srgb, var(--kos-ink) 25%, transparent)}.kos-focus-tab.is-active{background:var(--kos-surface-2);color:var(--kos-blue);border-color:var(--kos-blue);box-shadow:0 1px 3px #0000000d}.kos-reader-pane{flex-direction:column;gap:1rem;padding-top:1rem;display:flex}.kos-reader-controls{background:var(--kos-surface-1);border:1px solid var(--kos-line);color:var(--kos-muted);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;font-size:.78rem;font-weight:600;display:flex}.kos-range-slider{max-width:200px;accent-color:var(--kos-blue)}.kos-reader-content{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:6px;max-height:550px;padding:1.5rem;overflow-y:auto}.kos-reader-content pre{font-family:var(--kos-font-body), system-ui, sans-serif;color:var(--kos-ink);white-space:pre-wrap;margin:0;font-size:.94rem;line-height:1.75}.kos-quiz-pane{flex-direction:column;gap:1.25rem;padding-top:1rem;display:flex}.kos-quiz-header{border-bottom:1px solid var(--kos-line);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.kos-quiz-header h3{font:700 1.1rem var(--kos-font-display);color:var(--kos-ink);margin:0}.kos-quiz-header p{color:var(--kos-muted);margin:.2rem 0 0;font-size:.78rem}.kos-quiz-score-badge{background:color-mix(in srgb, var(--kos-blue) 12%, transparent);color:var(--kos-blue);border:1px solid var(--kos-blue);border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:750}.kos-quiz-q-title{font:600 .95rem var(--kos-font-display);color:var(--kos-ink);margin:0 0 .85rem;line-height:1.45}.kos-q-number{color:var(--kos-blue);margin-right:.35rem;font-weight:750}.kos-quiz-opt{border:1px solid var(--kos-line);background:var(--kos-surface);text-align:left;cursor:pointer;color:var(--kos-ink);border-radius:6px;align-items:center;gap:.75rem;padding:.65rem .95rem;font-size:.86rem;transition:all .15s;display:flex}.kos-quiz-opt.is-selected{border-color:var(--kos-blue);background:color-mix(in srgb, var(--kos-blue) 8%, transparent)}.kos-quiz-opt.is-correct{color:#065f46;background:#10b9811f;border-color:#10b981;font-weight:600}.kos-quiz-opt.is-wrong{color:#991b1b;background:#ef44441f;border-color:#ef4444}.kos-opt-letter{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:4px;padding:2px 6px;font-size:.78rem;font-weight:750}.kos-quiz-explanation.is-correct-box{color:#065f46;background:#10b9811a;border-left:3px solid #10b981}.kos-quiz-explanation.is-wrong-box{color:#991b1b;background:#ef44441a;border-left:3px solid #ef4444}.kos-notes-pane{flex-direction:column;gap:1.5rem;padding-top:1rem;display:flex}.kos-add-note-box{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:8px;flex-direction:column;gap:.65rem;padding:1.15rem;display:flex}.kos-add-note-box h4{font:700 .9rem var(--kos-font-display);color:var(--kos-ink);margin:0}.kos-add-note-box textarea{border:1px solid var(--kos-line);resize:vertical;border-radius:6px;width:100%;padding:.65rem;font-family:inherit;font-size:.86rem}.kos-saved-notes-list{flex-direction:column;gap:.75rem;display:flex}.kos-note-card{border:1px solid var(--kos-line);background:var(--kos-surface);border-radius:6px;padding:.95rem 1.15rem}.kos-note-text{color:var(--kos-ink);white-space:pre-wrap;margin:0 0 .35rem;font-size:.88rem;line-height:1.6}.kos-guide-page{flex-direction:column;gap:2rem;display:flex}.kos-guide-hero{flex-direction:column;gap:.5rem;display:flex}.kos-guide-badge{letter-spacing:.08em;color:var(--kos-blue);background:color-mix(in srgb, var(--kos-blue) 10%, transparent);border:1px solid color-mix(in srgb, var(--kos-blue) 25%, transparent);border-radius:999px;align-items:center;gap:.4rem;width:fit-content;padding:.3rem .75rem;font-size:.76rem;font-weight:800;display:inline-flex}.kos-guide-checklist-card{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:10px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.kos-checklist-header{border-bottom:1px solid var(--kos-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.85rem;display:flex}.kos-checklist-header h3{font:700 1.15rem var(--kos-font-display);color:var(--kos-ink);margin:0}.kos-checklist-header p{color:var(--kos-muted);margin:.2rem 0 0;font-size:.82rem}.kos-checklist-progress{background:var(--kos-surface-2);color:var(--kos-blue);border:1px solid var(--kos-line);border-radius:999px;padding:.35rem .8rem;font-size:.82rem;font-weight:750}.kos-checklist-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.kos-check-item{background:var(--kos-surface);border:1px solid var(--kos-line);cursor:pointer;border-radius:8px;gap:.75rem;padding:1rem;transition:all .15s;display:flex}.kos-check-item:hover{border-color:var(--kos-blue);transform:translateY(-2px);box-shadow:0 3px 8px #0000000a}.kos-check-item.is-completed{background:color-mix(in srgb, #10b981 6%, var(--kos-surface));border-color:#10b981}.kos-check-active{color:#10b981}.kos-check-idle{color:var(--kos-muted);opacity:.5}.kos-check-info h4{font:700 .9rem var(--kos-font-display);color:var(--kos-ink);margin:0 0 .3rem}.kos-check-info p{color:var(--kos-muted);margin:0 0 .6rem;font-size:.76rem;line-height:1.45}.kos-check-link{color:var(--kos-blue);align-items:center;gap:.25rem;font-size:.74rem;font-weight:750;text-decoration:none;display:inline-flex}.kos-check-link:hover{text-decoration:underline}.kos-guide-sections-list{flex-direction:column;gap:1.5rem;display:flex}.kos-guide-section-card{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:10px;flex-direction:column;gap:1.25rem;padding:1.6rem;display:flex}.kos-guide-sec-header{align-items:flex-start;gap:1rem;display:flex}.kos-sec-icon-wrap{background:color-mix(in srgb, var(--kos-blue) 12%, transparent);width:48px;height:48px;color:var(--kos-blue);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.kos-sec-title-wrap{flex:1}.kos-guide-sec-tag{letter-spacing:.06em;color:var(--kos-blue);text-transform:uppercase;font-size:.68rem;font-weight:800}.kos-sec-title-wrap h2{font:700 1.25rem var(--kos-font-display);color:var(--kos-ink);margin:.2rem 0 .35rem}.kos-sec-title-wrap p{color:var(--kos-muted);margin:0;font-size:.85rem}.kos-sec-btn{flex-shrink:0}.kos-guide-steps-box{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:8px;padding:1.25rem}.kos-guide-steps-box h4{font:700 .88rem var(--kos-font-display);color:var(--kos-ink);margin:0 0 .75rem}.kos-guide-steps-box ul{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.kos-guide-steps-box li{color:var(--kos-ink);gap:.75rem;font-size:.86rem;line-height:1.6;display:flex}.kos-step-num{background:var(--kos-surface-2);border:1px solid var(--kos-line);width:22px;height:22px;color:var(--kos-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:.72rem;font-weight:750;display:inline-flex}.kos-guide-faq-card{background:var(--kos-surface-1);border:1px solid var(--kos-line);border-radius:10px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.kos-faq-header{color:var(--kos-ink);align-items:center;gap:.5rem;display:flex}.kos-faq-header h3{font:700 1.1rem var(--kos-font-display);margin:0}.kos-faq-list{flex-direction:column;gap:.65rem;display:flex}.kos-faq-item{border:1px solid var(--kos-line);background:var(--kos-surface);border-radius:6px;overflow:hidden}.kos-faq-question{text-align:left;width:100%;font:600 .88rem var(--kos-font-display);color:var(--kos-ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.85rem 1.1rem;display:flex}.kos-faq-arrow{color:var(--kos-muted);transition:transform .15s}.kos-faq-item.is-open .kos-faq-arrow{color:var(--kos-blue);transform:rotate(180deg)}.kos-faq-answer{color:var(--kos-muted);border-top:1px solid color-mix(in srgb, var(--kos-line) 50%, transparent);padding:0 1.1rem 1rem;font-size:.85rem;line-height:1.6}.kos-faq-answer p{margin:.75rem 0 0}.kos-topic-selector-bar{background:var(--kos-surface);border:1px solid var(--kos-line);box-shadow:0 1px 4px color-mix(in srgb, var(--kos-ink) 4%, transparent);border-radius:10px;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:.85rem 1.15rem;display:flex}.kos-topic-bar-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.kos-topic-bar-label{font:600 .86rem var(--kos-font-display), sans-serif;color:var(--kos-ink);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.kos-topic-pills-scroll-container{scrollbar-width:thin;scrollbar-color:var(--kos-line) transparent;padding-bottom:3px;overflow-x:auto}.kos-topic-pills-scroll-container::-webkit-scrollbar{height:4px}.kos-topic-pills-scroll-container::-webkit-scrollbar-thumb{background:var(--kos-line);border-radius:4px}.kos-topic-pills{flex-wrap:nowrap;align-items:center;gap:.55rem;min-width:max-content;display:flex}.kos-topic-pill-wrapper{background:color-mix(in srgb, var(--kos-line) 40%, transparent);border:1px solid var(--kos-line);font:500 .83rem var(--kos-font-body), sans-serif;color:var(--kos-ink);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:20px;align-items:center;gap:8px;padding:5px 8px 5px 12px;transition:all .15s cubic-bezier(.16,1,.3,1);display:inline-flex}.kos-topic-pill-wrapper:hover{background:color-mix(in srgb, var(--kos-blue) 12%, transparent);border-color:color-mix(in srgb, var(--kos-blue) 50%, var(--kos-line));transform:translateY(-1px)}.kos-topic-pill-wrapper.is-active{background:var(--kos-blue);color:#fff;border-color:var(--kos-blue);box-shadow:0 3px 10px color-mix(in srgb, var(--kos-blue) 32%, transparent)}.kos-topic-pill-title{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:600;overflow:hidden}.kos-topic-pill-count{background:color-mix(in srgb, var(--kos-ink) 8%, transparent);color:inherit;opacity:.9;border-radius:12px;padding:2px 7px;font-size:.72rem;font-weight:500}.kos-topic-pill-wrapper.is-active .kos-topic-pill-count{color:#fff;background:#ffffff38}.kos-topic-pill-delete-btn{color:inherit;opacity:.45;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;padding:3px;transition:all .12s;display:inline-flex}.kos-topic-pill-delete-btn:hover{opacity:1;background:color-mix(in srgb, var(--kos-red) 25%, transparent);color:var(--kos-red)}.kos-topic-pill-wrapper.is-active .kos-topic-pill-delete-btn:hover{color:#fff;background:#ffffff47}.kos-focus-stage-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.kos-focus-sidebar{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:10px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.kos-focus-sidebar-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.kos-sidebar-topic-info h3{margin:0 0 .25rem;font-size:1.05rem;line-height:1.3}.kos-sidebar-topic-info p{color:var(--kos-muted);margin:0;font-size:.78rem}.kos-status-bar-pill-row{flex-wrap:wrap;gap:.4rem;display:flex}.kos-sidebar-subnav{border-bottom:1px solid var(--kos-line);flex-direction:column;gap:.25rem;padding-bottom:.75rem;display:flex}.kos-subnav-btn{color:var(--kos-muted);font:500 .85rem var(--kos-font-display), sans-serif;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:all .12s;display:flex}.kos-subnav-btn:hover{background:color-mix(in srgb, var(--kos-line) 50%, transparent);color:var(--kos-ink)}.kos-subnav-btn.is-active{background:color-mix(in srgb, var(--kos-blue) 12%, transparent);color:var(--kos-blue);font-weight:600}.kos-concept-order-badge{border:1px solid var(--kos-line);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.kos-next-action-banner{background:color-mix(in srgb, var(--kos-blue) 8%, var(--kos-surface));border:1px solid color-mix(in srgb, var(--kos-blue) 30%, transparent);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:1.25rem;display:flex}.kos-next-action-tag{font:700 .72rem var(--kos-font-display), sans-serif;letter-spacing:.04em;color:var(--kos-blue);margin-bottom:.35rem;display:inline-block}.kos-next-action-info h3{margin:0 0 .3rem;font-size:1.15rem}.kos-next-action-info p{color:var(--kos-muted);max-width:580px;margin:0;font-size:.85rem}.kos-next-action-btns{flex-wrap:wrap;gap:.5rem;display:flex}.kos-concept-deepdive-pane,.kos-quiz-pane,.kos-evidence-map-pane,.kos-review-queue-pane,.kos-sources-pane{background:var(--kos-surface);border:1px solid var(--kos-line);border-radius:10px;padding:1.5rem}.kos-deepdive-header{border-bottom:1px solid var(--kos-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.kos-status-toggle-group{flex-wrap:wrap;gap:.4rem;display:flex}.kos-toggle-btn{border:1px solid var(--kos-line);color:var(--kos-muted);font:500 .8rem var(--kos-font-body), sans-serif;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:6px 11px;transition:all .13s;display:inline-flex}.kos-toggle-btn.is-checked{background:color-mix(in srgb, var(--kos-green) 12%, transparent);border-color:var(--kos-green);color:var(--kos-green);font-weight:600}.kos-toggle-btn.is-review{background:color-mix(in srgb, var(--kos-red) 12%, transparent);border-color:var(--kos-red);color:var(--kos-red);font-weight:600}.kos-toggle-btn.is-learning{background:color-mix(in srgb, var(--kos-blue) 12%, transparent);border-color:var(--kos-blue);color:var(--kos-blue);font-weight:600}.kos-deepdive-body{flex-direction:column;gap:1.25rem;display:flex}.kos-deepdive-card{background:color-mix(in srgb, var(--kos-line) 25%, transparent);border-radius:8px;padding:1.15rem}.kos-deepdive-card h4{margin:0 0 .5rem;font-size:.92rem}.kos-deepdive-card--accent{background:color-mix(in srgb, var(--kos-blue) 6%, transparent);border-left:3px solid var(--kos-blue)}.kos-deepdive-text{color:var(--kos-ink);margin:0;font-size:.92rem;line-height:1.6}.kos-deepdive-evidence-section{flex-direction:column;gap:.75rem;display:flex}.kos-evidence-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.kos-evidence-header h4{align-items:center;gap:6px;margin:0;font-size:.95rem;display:flex}.kos-ask-concept-link{font:600 .82rem var(--kos-font-display), sans-serif;color:var(--kos-blue);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.kos-ask-concept-link:hover{text-decoration:underline}.kos-evidence-list{flex-direction:column;gap:.75rem;display:flex}.kos-evidence-card{border:1px solid var(--kos-line);background:var(--kos-surface);border-radius:8px;padding:.9rem 1.1rem}.kos-evidence-card-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.kos-evidence-source-title{color:var(--kos-ink);font-size:.82rem;font-weight:600}.kos-evidence-open-btn{color:var(--kos-blue);align-items:center;gap:4px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.kos-evidence-quote{color:var(--kos-muted);border-left:2px solid var(--kos-line);margin:0;padding-left:.75rem;font-size:.85rem;font-style:italic;line-height:1.5}.kos-takeaway-box{background:color-mix(in srgb, var(--kos-line) 20%, transparent);border:1px dashed var(--kos-line);border-radius:8px;padding:1.1rem}.kos-takeaway-box h4{margin:0 0 .35rem;font-size:.9rem}.kos-takeaway-input-row{gap:.5rem;display:flex}.kos-takeaway-input-row input{flex:1}.kos-quiz-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.kos-quiz-score-badge{background:color-mix(in srgb, var(--kos-blue) 15%, transparent);color:var(--kos-blue);font:700 .95rem var(--kos-font-display), sans-serif;border-radius:6px;padding:8px 14px}.kos-quiz-question-list{flex-direction:column;gap:1.5rem;display:flex}.kos-quiz-card{border:1px solid var(--kos-line);background:var(--kos-surface);border-radius:8px;padding:1.25rem}.kos-quiz-q-title{margin:0 0 1rem;font-size:.95rem;line-height:1.4}.kos-q-number{color:var(--kos-blue);font-weight:700}.kos-quiz-options{flex-direction:column;gap:.5rem;display:flex}.kos-quiz-opt{border:1px solid var(--kos-line);background:var(--kos-surface);color:var(--kos-ink);font:inherit;text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:10px 14px;font-size:.88rem;transition:all .12s;display:flex}.kos-quiz-opt:hover:not(:disabled){border-color:var(--kos-blue);background:color-mix(in srgb, var(--kos-blue) 6%, transparent)}.kos-quiz-opt.is-selected{border-color:var(--kos-blue);background:color-mix(in srgb, var(--kos-blue) 12%, transparent);font-weight:600}.kos-quiz-opt.is-correct{border-color:var(--kos-green);background:color-mix(in srgb, var(--kos-green) 12%, transparent)}.kos-quiz-opt.is-wrong{border-color:var(--kos-red);background:color-mix(in srgb, var(--kos-red) 12%, transparent)}.kos-opt-letter{background:color-mix(in srgb, var(--kos-line) 60%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.78rem;font-weight:700;display:inline-flex}.kos-opt-text{flex:1}.kos-quiz-explanation{border-radius:6px;margin-top:1rem;padding:.9rem 1.1rem;font-size:.85rem;line-height:1.5}.kos-quiz-explanation.is-correct-box{background:color-mix(in srgb, var(--kos-green) 10%, transparent);border-left:3px solid var(--kos-green)}.kos-quiz-explanation.is-wrong-box{background:color-mix(in srgb, var(--kos-red) 10%, transparent);border-left:3px solid var(--kos-red)}.kos-quiz-source-link{justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.8rem;display:flex}.kos-quiz-evidence-quote{color:var(--kos-muted);border-left:2px solid var(--kos-line);margin:.5rem 0 0;padding-left:.6rem;font-size:.82rem;font-style:italic}.kos-quiz-actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.kos-map-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.25rem;display:grid}.kos-map-concept-node{border:1px solid var(--kos-line);background:var(--kos-surface);cursor:pointer;border-radius:8px;flex-direction:column;padding:1.15rem;transition:all .15s;display:flex}.kos-map-concept-node:hover{border-color:var(--kos-blue);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.kos-map-concept-node.is-active{border-color:var(--kos-blue);box-shadow:0 0 0 2px color-mix(in srgb, var(--kos-blue) 25%, transparent)}.kos-map-node-top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.kos-map-concept-node h4{margin:0 0 .4rem;font-size:.95rem}.kos-map-concept-node p{color:var(--kos-muted);flex:1;margin:0 0 .85rem;font-size:.82rem;line-height:1.45}.kos-map-node-footer{justify-content:flex-end;gap:.4rem;display:flex}.kos-queue-list{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.kos-queue-item-card{border:1px solid var(--kos-line);background:var(--kos-surface);border-radius:8px;padding:1.15rem}.kos-queue-item-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.kos-queue-item-header h4{margin:.35rem 0 .2rem;font-size:1rem}.kos-source-picker-list{border:1px solid var(--kos-line);border-radius:6px;flex-direction:column;gap:.5rem;max-height:220px;margin-top:.5rem;padding:.5rem;display:flex;overflow-y:auto}.kos-source-picker-item{border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:.84rem;display:flex}.kos-source-picker-item:hover{background:color-mix(in srgb, var(--kos-line) 40%, transparent)}@media (width<=900px){.kos-focus-stage-layout{grid-template-columns:1fr}.kos-focus-sidebar{position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
