/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:4px;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--leading-tight:1.2;--leading-snug:1.3;--leading-normal:1.4;--leading-relaxed:1.5;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--text-11:11px;--text-12:12px;--text-13:13px;--text-14:14px;--text-15:15px;--text-16:16px;--text-17:17px;--text-18:18px;--text-20:20px;--text-22:22px;--text-24:24px;--text-25:25px;--text-28:28px;--text-32:32px;--leading-body:1.45}}@layer base{:root{--em:#0071e3;--em-soft:#e8f1fc;--em-mid:#7fb5f0;--em-ink:#0058b0;--gold:#ff9f0a;--gold-soft:#fff4e0;--gold-ink:#8a5a00;--rose:#fdecea;--rose-ink:#c4271b;--ease:cubic-bezier(.22, .8, .24, 1);--field:#fff;--line-strong:#d2d2d7;--faint:#8e8e93;--hover:#ececf0;--hair:#0000001f;--glass:#f9f9f9e6;--toast:#1d1d1feb;--inverse:#1d1d1f;--on-inverse:#fff;--sk1:#ececf0;--sk2:#f6f6f8;--gb-hl2:#ececf0;--danger:#ff3b30;--em-bright:#0a84ff;--ok-bright:#34c759;--em-wash:#0071e30d;--em-wash2:#0071e314;--rose-line:#f5c6c2;--violet:#6b5bd6;--chart-1:#0071e3;--chart-2:#b25e00;--chart-3:#6b5bd6;--violet-soft:#ece8fb;--violet-ink:#5b4bc4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5f7;--card:#fff;--line:#e8e8ed;--sand:#e8e8ed;--sand2:#f2f2f7;--ink:#1d1d1f;--muted:#6e6e73;--nav:calc(80px + env(safe-area-inset-bottom));--shadow:none;--ok:#248a3d;--ok-soft:#e6f6ea;--gb-hl:#f5f5f7}@media (width>=1024px){:root{--side:248px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--card:#1c1c1e;--field:#2c2c2e;--line:#38383a;--line-strong:#48484a;--sand:#2c2c2e;--sand2:#242426;--ink:#f5f5f7;--muted:#98989f;--faint:#7c7c82;--hover:#2c2c2e;--hair:#ffffff1f;--em:#0a84ff;--em-soft:#0b2742;--em-mid:#3d7fd1;--em-ink:#6cb2ff;--em-bright:#409cff;--em-wash:#0a84ff14;--em-wash2:#0a84ff24;--gold:#ff9f0a;--gold-soft:#3a2808;--gold-ink:#ffc662;--rose:#3a1714;--rose-ink:#ff7a6e;--rose-line:#6b2a24;--danger:#ff453a;--ok:#30d158;--ok-soft:#0e2e18;--ok-bright:#30d158;--violet:#8e7cff;--chart-1:#0a84ff;--chart-2:#cc7f00;--chart-3:#8e7cff;--violet-soft:#26213f;--violet-ink:#b9adff;--glass:#1c1c1ee0;--toast:#3a3a3cf5;--inverse:#f5f5f7;--on-inverse:#1d1d1f;--sk1:#1c1c1e;--sk2:#2a2a2d;--gb-hl:#232326;--gb-hl2:#2a2a2d}}@layer components{*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}html,body{background:var(--bg);margin:0}html{scrollbar-gutter:stable}body{-webkit-font-smoothing:antialiased;background:var(--bg);letter-spacing:-.011em;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:clip}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}::-webkit-scrollbar-corner{background:0 0}button,textarea,input,select{color:inherit;font-family:inherit}button{transition:transform .15s var(--ease), background-color .2s, color .2s, box-shadow .2s}button:active{transform:scale(.97)}@keyframes inR{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}@keyframes inL{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}h1{letter-spacing:-.03em;margin:0;font-size:32px;font-weight:700;line-height:1.12}textarea{background:var(--field);resize:none;border:1.5px solid var(--line);border-radius:16px;outline:none;width:100%;min-height:90px;padding:12px;font-size:16px;line-height:1.4}textarea:focus,select:focus{border-color:var(--em)}select{background:var(--field);border:1.5px solid var(--line);border-radius:14px;outline:none;width:100%;min-height:46px;padding:0 12px;font-size:15px}@keyframes b{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}a{color:inherit}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width>=1024px){body{background:var(--bg)}}@keyframes dpIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes tipIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}input[type=checkbox]{appearance:none;border:1.5px solid var(--faint);background:var(--field) center/14px no-repeat;cursor:pointer;vertical-align:middle;border-radius:6px;flex:none;width:20px;height:20px;margin:0;transition:background-color .18s,border-color .18s}input[type=checkbox]:checked{background-color:var(--em);border-color:var(--em);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}input[type=checkbox]:focus-visible{outline:2px solid var(--em);outline-offset:2px}label:has(>input[type=checkbox]){cursor:pointer;align-items:center;gap:8px;min-height:44px;display:inline-flex}:root[data-theme=dark] input[type=checkbox]{background-color:var(--field);border-color:var(--line-strong)}input,textarea,select,button{color:inherit}input,textarea{color:var(--ink)}@keyframes focusPulse{0%{box-shadow:0 0 0 6px var(--em-soft)}to{box-shadow:0 0 0 2px var(--em)}}.shell{overflow:clip}.app{background:var(--bg);max-width:430px;min-height:100dvh;margin:0 auto;position:relative}.screen{min-height:100dvh;animation:inR .36s var(--ease) backwards;flex-direction:column;display:flex}.screen .body>*{animation:rise .5s var(--ease) backwards}.screen .body>:nth-child(2){animation-delay:40ms}.screen .body>:nth-child(3){animation-delay:80ms}.screen .body>:nth-child(4){animation-delay:.12s}.screen .body>:nth-child(5){animation-delay:.16s}.screen .body>:nth-child(6){animation-delay:.2s}.screen .body>:nth-child(n+7){animation-delay:.24s}@media (prefers-reduced-motion:reduce){.screen,.screen .body>*{animation:none}}.body{flex-direction:column;flex:1;gap:12px;padding:34px 20px 28px;display:flex}.has-nav .body{padding-bottom:calc(var(--nav) + 12px)}.sub{color:var(--muted);margin-top:6px;font-size:15px}.row{align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.tabbar{z-index:20;opacity:1;transition:transform .45s var(--ease), opacity .3s;left:50%;bottom:calc(8px + env(safe-area-inset-bottom));border:.5px solid var(--hair);background:var(--glass);-webkit-backdrop-filter:saturate(1.8)blur(20px);backdrop-filter:saturate(1.8)blur(20px);border-radius:26px;width:calc(100% - 20px);max-width:430px;height:64px;padding:6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px -14px #00000059}body.kb .tabbar{opacity:0;pointer-events:none;transform:translate(-50%,140%)}body.off .screen .body{padding-top:44px}.tabbar a{z-index:1;letter-spacing:-.1px;min-width:0;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;font-size:10.5px;font-weight:600;text-decoration:none;transition:color .2s;display:flex;position:relative}.tabbar a>svg{transition:transform .25s var(--ease)}.tabbar a:active>svg{transform:scale(.86)}.tabbar a.active{color:var(--em)}.tabbar .brand{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cols{flex-direction:column;gap:12px;display:flex}.cols>.stack{gap:12px}@media (width>=640px){.app{max-width:none}.body{width:100%;max-width:760px;margin:0 auto;padding:36px 32px 32px}.has-nav .body{padding-bottom:calc(var(--nav) + 24px)}.tabbar{max-width:520px;bottom:calc(14px + env(safe-area-inset-bottom));height:66px}}@media (width>=1024px){.shell.with-side{padding-left:var(--side)}.tabbar{width:var(--side);border:0;border-right:.5px solid var(--hair);max-width:none;height:auto;box-shadow:none;background:var(--glass);border-radius:0;flex-direction:column;align-items:stretch;gap:4px;padding:28px 14px;top:0;bottom:0;left:0;transform:none}body.kb .tabbar{opacity:1;pointer-events:auto;transform:none}.tabbar .brand{color:var(--ink);align-items:center;gap:10px;padding:0 10px 22px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.tabbar a{height:46px;color:var(--muted);border-radius:14px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:0 14px;font-size:15px;font-weight:600}.tabbar a:hover{background:var(--hover)}.tabbar a.active{background:var(--em-soft);color:var(--em-ink)}.tabbar a.brand,.tabbar a.brand:hover{height:auto;color:var(--ink);background:0 0;padding:4px 10px 22px;font-size:17px;font-weight:700}.tabbar .spacer{flex:1}.has-nav .body{padding-bottom:40px}.body{max-width:none;padding:44px 40px 40px}.narrow .body{max-width:640px}.cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.cols.c3{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.cols>.stack{gap:16px}.shell:not(.with-side)~.toast{left:50%}}.head-actions{align-items:center;gap:8px;display:flex}.tabbar a.side-only{display:none}@media (width>=1024px){.tabbar a.side-only{display:flex}}.tabbar .side-logout{display:none}@media (width>=1024px){.tabbar .side-logout{height:46px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:12px;margin-top:auto;padding:0 14px;font-size:15px;font-weight:600;display:flex}.tabbar .side-logout:hover{background:var(--hover);color:var(--danger)}}.tabbar .brand svg{stroke:none}.pill{border-radius:999px;align-items:center;gap:6px;font-weight:700;display:inline-flex}.coins{background:var(--sand2);color:var(--ink);padding:8px 12px;font-size:16px}.stack{flex-direction:column;gap:12px;display:flex}.stack-s{flex-direction:column;gap:6px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.t12{font-size:12px}.t13{font-size:13px}.t14{font-size:14px}.t15{font-size:15px}.t16{font-size:16px}.t17{font-size:17px}.t18{font-size:18px}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card{background:var(--card);box-shadow:none;animation:rise .32s var(--ease) backwards;border:0;border-radius:22px;padding:16px}.role{background:var(--card);text-align:left;cursor:pointer;width:100%;color:inherit;box-shadow:none;border:0;border-radius:22px;align-items:center;gap:14px;padding:16px;display:flex}.role.off{box-shadow:none;cursor:default;border:1.5px dashed var(--line-strong);background:0 0}.role .ic{border-radius:16px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.role b{font-size:17px;display:block}.role span.d{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.35;display:block}.hero{background:var(--inverse);color:var(--on-inverse);box-shadow:none;border-radius:26px;flex-direction:column;gap:10px;padding:20px;display:flex}.bar{background:var(--sand);border-radius:999px;height:10px}.bar i{background:var(--gold);border-radius:999px;height:100%;display:block}.note{border-radius:16px;padding:12px;font-size:14px;line-height:1.45}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chip{color:var(--em-ink);background:var(--em-soft);border:0;border-radius:999px;padding:7px 12px;font-family:inherit;font-size:14px;font-weight:600}button.chip{cursor:pointer}.badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.b-school{background:var(--em);color:#fff}.b-wait{background:var(--gold-soft);color:var(--gold-ink)}.stat{background:var(--sand2);color:var(--muted);border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:700}.refcard{background:var(--sand2);border-radius:18px;align-items:flex-start;gap:10px;padding:12px;font-size:14px;line-height:1.4;display:flex}.kpi{flex-direction:column;gap:4px;padding:14px;display:flex}.kpi b{letter-spacing:-.02em;font-size:28px;line-height:1.1}.banner{width:100%;max-width:430px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;text-align:center;z-index:70;transition:transform .4s var(--ease);background:var(--inverse);color:var(--on-inverse);font-size:14px;font-weight:600;position:fixed;top:0;left:50%;transform:translate(-50%,-110%)}.banner.show{transform:translate(-50%)}.badge.b-school,.b-school{background:var(--em);color:#fff}.stat.done{background:var(--ok-soft);color:var(--ok)}.bar i{background:var(--em)}.clickable{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit}.tagpill{padding:5px 10px;font-size:12px}.tagpill.gold{color:var(--gold-ink);background:var(--gold-soft)}.tagpill.rose{color:var(--rose-ink);background:var(--rose)}.tagpill.green{color:var(--ok);background:var(--ok-soft)}.tagpill.blue{color:#fff;background:var(--em)}.ico-tile{border-radius:14px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.tint-blue{background:var(--em-soft);color:var(--em-ink)}.tint-gold{background:var(--gold-soft);color:var(--gold-ink)}.tint-rose{background:var(--rose);color:var(--rose-ink)}.tint-gray{background:var(--sand);color:var(--ink)}.tint-violet{background:var(--violet-soft);color:var(--violet-ink)}.tint-green{background:var(--ok-soft);color:var(--ok)}.skeleton{background:linear-gradient(90deg, var(--sk1) 25%, var(--sk2) 50%, var(--sk1) 75%);background-size:200% 100%;border-radius:22px;min-height:120px;animation:1.2s infinite sk}.err-card{background:var(--rose);color:var(--rose-ink)}.chart{align-items:flex-end;gap:8px;height:150px;padding-top:6px;display:flex}@media (width>=640px){.banner{max-width:none}}@media (width>=1024px){.span2{grid-column:1/-1}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.chart{height:200px}.card.clickable:hover,.role:hover{background:var(--hover)}}@media (prefers-reduced-motion:reduce){.card{animation:none!important}}.tagpill.gray{color:var(--muted);background:var(--sand2)}.chip.pick{cursor:pointer;background:var(--card);color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line);border:0}.chip.pick.on{background:var(--em);color:#fff;box-shadow:none}.chip.pick.free,.free-dot{position:relative}.chip.pick.free{color:var(--ink);padding-left:20px}.chip.pick.free:before,.free-dot{content:"";background:var(--ok);border-radius:50%;width:7px;height:7px;display:inline-block}.chip.pick.free:before{margin-top:-3.5px;position:absolute;top:50%;left:9px}.chip.pick.taken{opacity:.65}.chip-who{margin-left:6px;font-size:11px;font-weight:500}.risk-chip{cursor:pointer;background:var(--sand2);color:var(--ink);border:0;padding:6px 10px;font-size:12px}.risk-chip:hover{background:var(--em-soft);color:var(--em-ink)}.notice{border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;font-size:14px;display:flex}.notice.rose{background:var(--rose);color:var(--rose-ink)}:root[data-theme=dark] .card.clickable:hover,:root[data-theme=dark] .role:hover{background:var(--hover)}:root[data-theme=dark] .hero{color:#f5f5f7;background:#1c1c1e}.tint-dot{vertical-align:-1px;border-radius:50%;width:12px;height:12px;margin-right:6px;display:inline-block}.card.focus{scroll-margin-top:calc(16px + env(safe-area-inset-top));box-shadow:0 0 0 2px var(--em);animation:focusPulse 1.6s var(--ease) 1}.btn{cursor:pointer;white-space:nowrap;background:var(--em);color:#fff;min-height:48px;transition:transform .15s var(--ease), background-color .22s, color .22s, box-shadow .22s, opacity .22s;border:0;border-radius:999px;align-self:flex-start;padding:13px 20px;font-size:15px;font-weight:600}:has(>.btn)>.back-btn{min-height:48px}.back-btn{min-height:44px;color:var(--em-ink);background:var(--em-soft);cursor:pointer;white-space:nowrap;transition:transform .15s var(--ease), background-color .22s, color .22s, box-shadow .22s, opacity .22s;border:0;border-radius:999px;align-self:flex-start;padding:0 16px;font-size:14px;font-weight:600}.back-btn:disabled{opacity:.45;cursor:default}.nav-back{min-height:36px;font:inherit;color:var(--em);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-self:flex-start;align-items:center;gap:2px;margin-left:-6px;padding:0 8px 0 0;font-size:16px;font-weight:600;display:inline-flex}.nav-back:active{opacity:.55}a.back-btn,a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.post-acts{align-items:center;margin:-4px 0 -6px -8px;display:flex}.like-btn{min-height:40px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:15px;font-weight:600;display:flex}.like-btn:active svg{transform:scale(.85)}.like-btn svg{transition:transform .15s var(--ease)}.like-btn.on{color:#ff3159}.like-btn.on svg{fill:currentColor;animation:heartPop .42s var(--ease)}@keyframes heartPop{0%{transform:scale(.6)}45%{transform:scale(1.25)}to{transform:scale(1)}}.post-more{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-6px -8px -6px 0;display:flex}.post-more:hover{background:var(--hover)}.cbtn{border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.cbtn.call{background:var(--em);color:#fff}.cbtn.mail{background:var(--sand2);color:var(--ink)}.btn.full{text-align:center;align-self:stretch;min-height:54px;margin-top:auto;font-size:16px}.btn[disabled]{background:var(--sand2);color:var(--faint);cursor:default}.sbtn{cursor:pointer;width:100%;min-height:52px;transition:transform .15s var(--ease), background-color .22s, color .22s, box-shadow .22s, opacity .22s;border:0;border-radius:999px;font-size:16px;font-weight:700}.sbtn.pri{background:var(--em);color:#fff}.sbtn.dng{background:var(--danger);color:#fff}.sbtn.sec{background:var(--sand2);color:var(--ink)}.hero .btn{background:var(--on-inverse);color:var(--inverse)}.btn.em,.sbtn.pri{background:var(--em);color:#fff}.sbtn.dng{background:var(--danger)}.link-btn{color:var(--em);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.btn.em[disabled],.btn.em:disabled{background:var(--sand2);color:var(--faint);cursor:default}.sbtn:disabled{opacity:.45;cursor:default}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex}.icon-btn:hover:not(:disabled),.icon-btn:active:not(:disabled){background:var(--hover);color:var(--ink)}:is(.icon-btn:has(>[data-icon=trash]):hover:not(:disabled),.icon-btn:has(>[data-icon=trash]):active:not(:disabled)){background:var(--rose);color:var(--rose-ink)}.icon-btn:disabled{cursor:default;opacity:.6}@media (width<=639px){.btn,.back-btn{white-space:normal}}.btn:active:not(:disabled),.back-btn:active:not(:disabled),.sbtn:active:not(:disabled){transform:scale(.96)}.btn:hover:not(:disabled),.back-btn:hover:not(:disabled){filter:brightness(1.04)}label.back-btn,label.btn{justify-content:center;align-items:center;display:inline-flex}.btn.danger,.btn.em.danger{background:var(--danger);color:#fff}.row>.btn,.row>.back-btn{align-self:auto}.disclose{color:var(--em-ink);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:4px 0;font-size:14px;font-weight:600;display:flex}:root[data-theme=dark] .hero .btn{color:#1d1d1f;background:#f5f5f7}.back-btn.danger{color:var(--rose-ink);background:var(--rose)}@supports (color:color-mix(in lab, red, red)){.back-btn.danger{background:color-mix(in srgb, var(--rose) 14%, transparent)}}.credential-overlay{z-index:120;background:#0000006b;padding:20px;animation:.2s both fadeIn;position:fixed;inset:0;overflow:auto}.credential-sheet{background:var(--field);border-radius:18px;max-width:900px;margin:0 auto;padding:20px;box-shadow:0 20px 60px #00000038}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.credential-card{border:1.5px solid var(--line);break-inside:avoid;border-radius:12px;padding:12px}.credential-line{border-top:.5px solid var(--hair);justify-content:space-between;align-items:baseline;gap:8px;margin-top:7px;padding-top:6px;font-size:13px;display:flex}.credential-line span{color:var(--muted)}.credential-line b{letter-spacing:.02em;font-size:15px}@media (width<=639px){.credential-grid{grid-template-columns:1fr}.credential-overlay{padding:0}.credential-sheet{min-height:100%;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));border-radius:0}}.codes-grid{color:var(--ink);grid-template-columns:repeat(2,1fr);gap:6px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;display:grid}.credential-overlay>.credential-sheet{animation:popIn .3s var(--ease) backwards}@media (prefers-reduced-motion:reduce){.credential-overlay,.credential-overlay>.credential-sheet{animation:none!important}}.sw{background:var(--line-strong);cursor:pointer;border:0;border-radius:999px;flex:none;width:46px;height:28px;transition:background-color .25s;position:relative}.sw i{width:22px;height:22px;transition:transform .25s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.sw.on i{transform:translate(18px)}.codein{border:2px solid var(--line-strong);background:var(--field);letter-spacing:.12em;text-align:center;text-transform:uppercase;border-radius:18px;outline:none;width:100%;min-height:60px;padding:0 16px;font-size:24px;font-weight:700}.codein:focus{border-color:var(--em)}.codein.err{border-color:var(--danger);background:var(--rose)}.cbrow{text-align:left;background:var(--card);border:1px solid var(--line);cursor:pointer;width:100%;color:inherit;border-radius:18px;align-items:flex-start;gap:12px;padding:14px;display:flex}.cbx{border:2px solid var(--line-strong);background:var(--field);border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;transition:background-color .2s,border-color .2s;display:flex}.cbx svg{opacity:0;transition:opacity .2s}.cbrow.on .cbx{background:var(--em);border-color:var(--em)}.cbrow.on .cbx svg{opacity:1}.radio{text-align:left;background:var(--card);border:2px solid var(--line);cursor:pointer;width:100%;color:inherit;border-radius:18px;align-items:center;gap:12px;padding:12px 14px;font-size:16px;font-weight:600;display:flex}.radio.on{border-color:var(--em);background:var(--em-soft)}.sw.on{background:var(--ok-bright)}.input{border:1.5px solid var(--line);background:var(--field);border-radius:14px;outline:none;width:100%;min-height:46px;padding:0 12px;font-size:16px}.input:focus{border-color:var(--em)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.form-err{color:var(--rose-ink);min-height:20px;font-size:14px;line-height:1.4}.locked{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex}.gradepick{gap:6px;display:flex}.gradepick button{border:1.5px solid var(--line);background:var(--field);cursor:pointer;border-radius:12px;width:40px;height:40px;font-size:16px;font-weight:700}.gradepick button.on{background:var(--em);border-color:var(--em);color:#fff}.time-in{text-align:center;font-variant-numeric:tabular-nums;min-height:42px;padding:0 6px;font-weight:600}.input.bad{border-color:var(--danger)}.bad-text{color:var(--rose-ink)}.form-err:not(:empty){animation:shake .32s var(--ease)}@media (prefers-reduced-motion:reduce){.form-err{animation:none!important}}.search-field{border:1.5px solid var(--line);background:var(--field);min-width:200px;min-height:44px;color:var(--muted);border-radius:14px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field:focus-within{border-color:var(--em)}.search-field input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:15px}.search-field button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px;display:flex}.field-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.field-row:not(.nowrap)>.field.grow{flex:180px;min-width:0}.field-row.nowrap{flex-wrap:nowrap}.field-row>.btn,.field-row>.back-btn{align-self:auto;min-height:46px}.dp{position:relative}.dp-field{border:1.5px solid var(--line);background:var(--field);width:100%;min-height:46px;color:var(--ink);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:10px;padding:0 14px;font-size:15px;display:flex}.dp-field.compact{gap:6px;padding:0 10px}.dp-field svg{color:var(--muted);flex:none}.dp-field.on{border-color:var(--em)}.dp-pop{z-index:450;background:var(--card);width:320px;max-width:calc(100vw - 32px);box-shadow:0 18px 50px -12px #00000059, 0 0 0 .5px var(--hair);animation:dpIn .16s var(--ease);border-radius:20px;padding:14px;position:fixed}.dp-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dp-head b{font-size:16px}.dp-head .dp-title{background:0 0;width:auto;padding:0 12px;font-size:16px;font-weight:700}.dp-head .dp-title:hover{background:var(--sand2)}.dp-grid[hidden]{display:none}.dp-years{grid-template-columns:repeat(4,1fr);gap:4px;max-height:252px;display:grid;overflow:auto}.dp-years button{min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:12px;font-size:15px;font-weight:600}.dp-years button:hover{background:var(--sand2)}.dp-years button.sel{background:var(--em);color:#fff}.dp-head button{background:var(--sand2);width:36px;height:36px;color:var(--ink);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;display:flex}.dp-head button:disabled{opacity:.3;cursor:default}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-wd{color:var(--muted);text-align:center;text-transform:uppercase;padding:6px 0;font-size:11px;font-weight:700}.dp-wd.we{color:var(--rose-ink);opacity:.7}.dp-day{aspect-ratio:1;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:12px;font-size:15px;font-weight:600;position:relative}.dp-day.we{color:var(--rose-ink)}.dp-day:hover:not(:disabled){background:var(--sand2)}.dp-day.today{box-shadow:inset 0 0 0 1.5px var(--em)}.dp-day.sel{background:var(--em);color:#fff;box-shadow:none}.dp-day:disabled{color:var(--faint);cursor:default}.dp-quick{border-top:.5px solid var(--hair);gap:6px;margin-top:10px;padding-top:10px;display:flex}.dp-quick button{background:var(--sand2);min-height:36px;color:var(--ink);cursor:pointer;border:0;border-radius:12px;flex:1;font-size:14px;font-weight:600}.dp-quick button.act{background:var(--em-soft);color:var(--em-ink)}.dp-field>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sel{width:100%;position:relative}.sel-field{min-height:46px;font-size:15px}.sel-field:disabled{opacity:.5;cursor:default}.sel-pop{z-index:300;background:var(--card);box-shadow:0 18px 50px -12px #00000059, 0 0 0 .5px var(--hair);animation:dpIn .16s var(--ease);transform-origin:top;border-radius:16px;flex-direction:column;padding:6px;display:flex;position:fixed;overflow:hidden}.sel-opt{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:8px;padding:10px 12px;font-size:15px;display:flex}.sel-opt.hl{background:var(--sand2)}.sel-opt.on{color:var(--em-ink);font-weight:600}.sel-opt:disabled{opacity:.4;cursor:default}.sel-list{min-height:0;overflow:auto}.sel-search{border:1.5px solid var(--line);border-radius:11px;outline:none;flex:none;min-height:38px;margin:2px 2px 6px;padding:0 10px;font-size:15px}.sel-search:focus{border-color:var(--em)}.tabs,.quick,.ttabs,.seg,.chip-row{scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.chip-row::-webkit-scrollbar{display:none}.seg{background:var(--sand);border-radius:18px;gap:4px;max-width:100%;padding:4px;display:flex;position:relative;overflow-x:auto}@media (width>=640px){.seg{width:max-content}}.seg button{white-space:nowrap;min-height:40px;color:var(--muted);cursor:pointer;transition:transform .15s var(--ease), background-color .22s, color .22s, box-shadow .22s, opacity .22s;background:0 0;border:0;border-radius:14px;flex:1 0 auto;padding:0 16px;font-size:14px;font-weight:600}.seg button:focus:not(:focus-visible),.tabs button:focus:not(:focus-visible){outline:none}.seg button:focus-visible,.tabs button:focus-visible{outline:2px solid var(--em);outline-offset:-2px}.seg button.act{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000001f}.tabs{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{border:1px solid var(--line);background:var(--card);min-height:42px;color:var(--muted);cursor:pointer;transition:transform .15s var(--ease), background-color .22s, color .22s, box-shadow .22s, opacity .22s;border-radius:999px;flex:none;padding:0 16px;font-size:14px;font-weight:600}.tabs button.act{background:var(--em);border-color:var(--em);color:#fff}.quick{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.quick::-webkit-scrollbar{display:none}.quick button{border:1px solid var(--line-strong);background:var(--card);min-height:38px;color:var(--em-ink);cursor:pointer;border-radius:999px;flex:none;padding:0 14px;font-size:14px;font-weight:600}.tabs button,.quick button{background:var(--field);color:var(--ink);border:0}.tabs button.act{background:var(--inverse);color:var(--on-inverse)}.seg button.act{background:var(--field)}.ttabs{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.ttabs::-webkit-scrollbar{display:none}.ttabs button{background:var(--field);min-height:40px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:flex}.ttabs button.act{background:var(--inverse);color:var(--on-inverse)}.ttabs .cnt{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-flex}.seg button,.subtabs button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.subtabs .cnt{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-flex}.seg>button{z-index:1;position:relative}.seg[data-ind]:before{content:"";width:var(--ind-w);transform:translateX(var(--ind-x));background:var(--card);border-radius:14px;position:absolute;top:4px;bottom:4px;left:0;box-shadow:0 1px 3px #00000029}.seg[data-ind=on]:before{transition:transform .38s var(--ease), width .38s var(--ease)}.seg[data-ind]>button.act{box-shadow:none;background:0 0}.tabs button:active,.seg button:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.seg[data-ind=on]:before{transition:none}}:root[data-theme=dark] .seg button.act,:root[data-theme=dark] .seg[data-ind]:before{background:#636366}:root[data-theme=dark] .seg{background:var(--sand2)}.weeknav{background:var(--card);border-radius:22px;align-items:center;gap:8px;max-width:460px;padding:6px;display:flex;box-shadow:0 1px 2px #0000000d}.weeknav-arrow{background:var(--sand);width:44px;height:44px;color:var(--ink);cursor:pointer;border:0;border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.weeknav-arrow:active{transform:scale(.94)}.weeknav-mid{flex-direction:column;flex:1;align-items:center;gap:1px;min-width:0;display:flex}.weeknav-now{background:var(--sand);height:44px;color:var(--ink);cursor:pointer;border:0;border-radius:16px;flex:none;padding:0 14px;font-size:14px;font-weight:600}.weeknav-now:disabled{color:var(--muted);cursor:default;background:0 0}.daystrip{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;display:grid}.daystrip button{background:var(--card);cursor:pointer;color:var(--ink);border:0;border-radius:18px;flex-direction:column;align-items:center;gap:1px;padding:8px 0 6px;display:flex}.daystrip span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.daystrip b{font-size:19px;line-height:1.2}.daystrip i{color:var(--muted);min-height:14px;font-size:11px;font-style:normal}.daystrip button.today b{color:var(--em)}.daystrip button.off{opacity:.5}.daystrip button.act{background:var(--em);color:#fff}.daystrip button.act span,.daystrip button.act i,.daystrip button.act.today b{color:#ffffffe6}@media (width>=640px){.daystrip{display:none}}.week-nav{background:var(--sand2);border-radius:14px;align-self:flex-start;align-items:center;gap:4px;padding:4px;display:flex}.week-nav button{min-width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0 10px;font-size:14px;font-weight:600;display:flex}.week-nav button:hover:not(:disabled){background:var(--card)}.week-nav button:disabled{cursor:default;color:var(--muted)}.week-nav b{white-space:nowrap;text-align:center;min-width:128px;padding:0 8px;font-size:15px}.week-nav .today{background:var(--card);margin-left:4px}.week-nav .today:disabled{background:0 0}.typing{gap:4px;padding:6px 2px;display:flex}.typing i{background:var(--faint);border-radius:50%;width:7px;height:7px;animation:1s infinite b}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.toast{left:50%;bottom:calc(110px + env(safe-area-inset-bottom));color:#fff;text-align:center;opacity:0;pointer-events:none;max-width:calc(100% - 40px);transition:opacity .3s, transform .4s var(--ease);z-index:200;background:var(--toast);border-radius:999px;padding:12px 18px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%,16px)}.toast.show{opacity:1;transform:translate(-50%)}.tip{background:var(--card);border:1px solid var(--line);border-radius:20px;align-items:flex-start;gap:12px;padding:14px;font-size:15px;line-height:1.45;display:flex}@media (width>=640px){.toast{bottom:calc(100px + env(safe-area-inset-bottom))}}@media (width>=1024px){.toast{bottom:32px;left:calc(50% + var(--side,0px)/2)}}.sheet-back{opacity:0;pointer-events:none;z-index:60;background:#00000073;transition:opacity .3s;position:fixed;inset:0}.sheet-back.open{opacity:1;pointer-events:auto}.sheet{background:var(--card);width:100%;max-width:430px;padding:12px 20px calc(24px + env(safe-area-inset-bottom));z-index:61;transition:transform .45s var(--ease);border-radius:26px 26px 0 0;flex-direction:column;gap:12px;max-height:88vh;display:flex;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%,105%)}.sheet.open{transform:translate(-50%)}.sheet .grab{background:var(--line-strong);border-radius:999px;flex:none;align-self:center;width:44px;height:5px}.reason{text-align:left;border:1.5px solid var(--line);background:var(--field);cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:0 16px;font-size:16px;font-weight:600;display:flex}@media (width>=640px){.sheet{max-width:520px}}@media (width>=1024px){.sheet{opacity:0;pointer-events:none;max-height:80vh;transition:transform .35s var(--ease), opacity .25s;border-radius:26px;padding:24px;top:50%;bottom:auto;transform:translate(-50%,-46%)scale(.98)}.sheet.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.sheet .grab{display:none}.reason:hover{border-color:var(--em)}}.dlg-back{z-index:400;opacity:0;background:#0006;justify-content:center;align-items:center;padding:16px;transition:opacity .2s;display:flex;position:fixed;inset:0}.dlg-back.open{opacity:1}.dlg{background:var(--card);width:100%;max-width:400px;animation:dlgIn .32s var(--ease) both;transition:transform .22s var(--ease), opacity .2s;border-radius:24px;flex-direction:column;gap:12px;padding:22px;display:flex;box-shadow:0 20px 60px #00000040}.dlg-back:not(.open) .dlg{opacity:0;transform:scale(.94)}@keyframes dlgIn{0%{opacity:0;transform:scale(.92)}}.dlg-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.dlg-actions .btn,.dlg-actions .back-btn{align-self:auto;min-height:44px;padding:0 18px}.dlg-choices{flex-direction:column;gap:8px;margin-top:4px;display:flex}.dlg-choices .back-btn{align-self:stretch}.dlg-choice{border:1.5px solid var(--line);background:var(--card);min-height:46px;color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;padding:0 14px;font-size:15px;font-weight:600}.dlg-choice:hover{background:var(--sand2)}.dlg-choice.danger{color:var(--danger)}@media (width<=639px){.dlg-back{align-items:flex-end}.dlg{border-radius:24px 24px 18px 18px;animation-name:dlgUp}.dlg-back:not(.open) .dlg{opacity:1;transform:translateY(110%)}@keyframes dlgUp{0%{transform:translateY(110%)}}}:root[data-theme=dark] .sheet .grab{background:var(--line-strong)}.avatar{background:var(--em-soft);width:44px;height:44px;color:var(--em-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-pick{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:relative}.avatar-cam{background:var(--card);width:24px;height:24px;box-shadow:0 0 0 2px var(--bg);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px}.bell{background:var(--card);cursor:pointer;width:44px;height:44px;color:var(--ink);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.bell-n{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:4px;right:2px}.notif{border-top:.5px solid var(--hair);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.notif .dotn{background:var(--em);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.notif.read .dotn{background:0 0}.acc-item{background:var(--sand2);min-height:52px;color:var(--ink);cursor:pointer;text-align:left;border:0;border-radius:16px;align-items:center;gap:12px;padding:0 16px;font-size:16px;font-weight:600;display:flex}.acc-item.danger{color:var(--danger)}.logo{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:9px;font-size:19px;line-height:1;display:inline-flex}.logo b{font-weight:800}.logo span{color:var(--muted);margin-left:-4px;font-weight:600}a.acc-item{text-decoration:none}.post-photo{object-fit:cover;background:var(--sand2);border-radius:16px;width:100%;max-height:520px;display:block}.post-photo-preview{align-self:flex-start;position:relative}.post-photo-preview img{object-fit:cover;border-radius:14px;max-width:220px;max-height:220px;display:block}.post-photo-preview .icon-btn{color:#fff;background:#0000008c;position:absolute;top:6px;right:6px}.lesson{border-top:.5px solid var(--hair);align-items:center;gap:12px;padding:10px 0;display:flex}.rk{border-radius:16px;align-items:center;gap:12px;height:50px;padding:0 10px;display:flex}.rk.me{background:var(--em-soft)}.pl{background:var(--sand2);width:28px;height:28px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.pl.g{background:var(--gold-soft);color:var(--gold-ink)}.ini{background:var(--sand);width:34px;height:34px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.opt{width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;border:1.5px solid var(--line);background:var(--field);border-radius:16px;justify-content:space-between;align-items:center;padding:0 16px;font-size:17px;font-weight:700;display:flex}.opt.bad{background:var(--rose);border-color:var(--danger);color:var(--rose-ink)}.opt small{font-size:13px;font-weight:700}.prod{background:var(--card);box-shadow:none;border:0;border-radius:22px;flex-direction:column;gap:8px;padding:12px;display:flex}.pimg{border-radius:16px;justify-content:center;align-items:center;height:96px;display:flex;overflow:hidden}.pbtn{color:#fff;cursor:pointer;background:var(--em);border:0;border-radius:999px;min-height:44px;font-size:14px;font-weight:700}.pbtn[disabled]{background:var(--sand2);color:var(--muted);cursor:default}.compose{flex-direction:column;gap:12px;display:flex}.compose textarea{background:0 0;border:0;border-radius:0;flex:1;min-width:0;min-height:44px;max-height:260px;padding:11px 0 0;font-size:16px;line-height:1.4}.compose textarea::placeholder{color:var(--muted)}.compose-bar{border-top:.5px solid var(--hair);align-items:center;gap:8px;padding-top:10px;display:flex}.compose-more{opacity:0;transition:grid-template-rows .32s var(--ease), margin-top .32s var(--ease), opacity .2s;grid-template-rows:0fr;margin-top:-12px;display:grid}.compose-more.open{opacity:1;grid-template-rows:1fr;margin-top:0}.compose-more>div{flex-direction:column;gap:10px;min-height:0;display:flex;overflow:hidden}.compose-tool{background:var(--sand2);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.post{flex-direction:column;gap:10px;display:flex}.feed-list{flex-direction:column;gap:14px;display:flex}@media (width>=1024px){.feed-list{columns:2 360px;column-gap:16px;display:block}.feed-list>*{break-inside:avoid;margin-bottom:16px}}@media (width>=1280px){.feed-list{columns:3 360px}}.post .meta{align-items:center;gap:10px;display:flex}.tcard{text-align:left;cursor:pointer;width:100%;color:inherit;align-items:center;gap:12px;display:flex}.dot{background:var(--em-soft);width:44px;height:44px;color:var(--em-ink);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.up{color:var(--em);font-size:12px;font-weight:700}.col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.col i{background:var(--em-mid);transform-origin:bottom;width:100%;animation:grow .7s var(--ease) both;border-radius:10px 10px 4px 4px;display:block}.col.last i{background:var(--em)}.col span{color:var(--muted);font-size:11px;font-weight:600}.col em{font-size:12px;font-style:normal;font-weight:700}.risk{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.sm{cursor:pointer;border:0;border-radius:999px;flex:none;min-height:40px;padding:0 14px;font-size:13px;font-weight:700}.sm.ok{background:var(--em);color:#fff}.sm.no{background:var(--sand2);color:var(--muted)}.sm.done{background:var(--em-soft);color:var(--em-ink);cursor:default}.step{animation:inR .4s var(--ease) both;flex-direction:column;flex:1;gap:14px;display:flex}@media (width>=1024px){.screen.onb{justify-content:center;align-items:center;padding:40px 24px}.screen.onb>.body{background:var(--card);border-radius:28px;flex:none;width:100%;max-width:520px;min-height:0;padding:28px 36px 36px}.screen.onb .step{flex:none}.screen.onb .step>.btn.full{margin-top:8px}.screen.onb .step :is(.role,.cbrow,.tip,.card){background:var(--sand2)}}.pbtn[disabled]{background:var(--sand2);color:var(--faint)}.pbtn.done{background:var(--ok-soft);color:var(--ok)}.opt.ok{background:var(--ok-soft);border-color:var(--ok-bright);color:var(--ok)}.pimg:has(>img){aspect-ratio:4/3;height:auto}.pimg img{object-fit:contain;width:100%;height:100%;display:block}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=640px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.opt:hover{border-color:var(--em)}}.reward-list{flex-direction:column;display:flex}.reward-item{border:0;border-top:.5px solid var(--hair);color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;padding:10px 0;display:flex}.reward-item:first-child{border-top:0}.reward-item.off{opacity:.55}.reward-item .pimg{border-radius:14px;flex:none;width:56px;height:56px}.reward-form{background:var(--sand2);border-radius:16px;padding:14px}.reward-photo{cursor:pointer;border:0;flex:none;width:96px;height:96px;padding:0}.opt.picked{border-color:var(--em);background:var(--em-soft);color:var(--em-ink)}.practice-item{background:var(--sand2);border-radius:16px;padding:14px}.tcard.off{opacity:.55}.hw-group{color:var(--muted);padding:0 4px;font-size:13px;font-weight:700}.hw-group.late{color:var(--rose-ink)}.hw-item{border:0;border-top:.5px solid var(--hair);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:10px 0;display:flex}.hw-item:first-child{border-top:0}.hw-item:active{opacity:.6}.hw-letter{border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.hw-file{background:var(--sand2);min-height:44px;color:var(--ink);border-radius:12px;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.hw-attach{border:1.5px dashed var(--line-strong);min-height:48px;color:var(--em-ink);font:inherit;cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.hw-attach:active{background:var(--em-wash2)}.hw-school-ico{background:var(--gold-soft);width:44px;height:44px;color:var(--gold-ink);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.hw-done{border:1.5px solid var(--line);min-height:50px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:600;transition:background .2s,border-color .2s;display:flex}.hw-done .sched-check{width:24px;height:24px;transition:background .2s, border-color .2s, transform .2s var(--ease)}.hw-done:active .sched-check{transform:scale(.85)}.hw-done.on{border-color:var(--ok);background:var(--ok)}@supports (color:color-mix(in lab, red, red)){.hw-done.on{background:color-mix(in srgb, var(--ok) 10%, transparent)}}.seg-count{background:var(--sand2);border-radius:999px;margin-left:6px;padding:0 6px;font-size:12px}.chat-screen{left:0;right:0;top:var(--vv-top,0px);height:var(--vh,100dvh);min-height:0;padding-bottom:var(--nav);flex-direction:row;position:fixed;overflow:hidden}body.kb .chat-screen{padding-bottom:0}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-head{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:.5px solid var(--hair);background:var(--glass);-webkit-backdrop-filter:saturate(1.8)blur(20px);backdrop-filter:saturate(1.8)blur(20px);flex:none;align-items:center;gap:10px;display:flex}.chat-icon-btn{width:40px;height:40px;color:var(--em);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.chat-icon-btn:hover{background:var(--hover)}.chat-icon-btn:active{opacity:.6}.chat-icon-btn.sm{width:32px;height:32px;color:var(--muted)}.msgs{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex-direction:column;flex:1;gap:3px;min-height:0;padding:14px 14px 10px;display:flex;overflow-y:auto}.chat-day{background:var(--sand2);color:var(--muted);border-radius:999px;align-self:center;margin:12px 0 8px;padding:3px 10px;font-size:12px;font-weight:600}.m{max-width:86%;animation:rise .3s var(--ease) both;align-items:flex-end;gap:8px;display:flex}.m.last{margin-bottom:8px}.m.bot{align-self:flex-start}.m.me{align-self:flex-end}.mini{flex:none;width:28px;height:28px}.bub{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px;padding:9px 13px 8px;font-size:15.5px;line-height:1.42;position:relative}.bot .bub{background:var(--field);border-bottom-left-radius:8px}.me .bub{background:linear-gradient(160deg, var(--em-bright,var(--em)), var(--em));color:#fff;border-bottom-right-radius:8px}.m:not(.last).bot .bub{border-bottom-left-radius:20px}.m:not(.last).me .bub{border-bottom-right-radius:20px}.bub.queued{opacity:.6}.bub-time{float:right;opacity:.6;font-variant-numeric:tabular-nums;margin:6px 0 -3px 10px;font-size:11px;line-height:1}.bub-img{object-fit:cover;border-radius:14px;width:calc(100% + 16px);max-width:100%;max-height:280px;margin:-4px -8px 6px;display:block}.bub-file{color:inherit;background:#7f7f7f26;border-radius:12px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;font-weight:600;text-decoration:none;display:flex}.chat-suggest{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:16px;display:grid}.chat-suggest button{border:.5px solid var(--hair);background:var(--card);color:inherit;font:inherit;text-align:left;cursor:pointer;animation:popIn .3s var(--ease) backwards;border-radius:16px;flex-direction:column;gap:2px;padding:12px;display:flex}.chat-suggest button:active{transform:scale(.97)}.chat-suggest b{font-size:14px;line-height:1.25}.chat-suggest span{color:var(--muted);font-size:12px}.inputbar{background:var(--glass);border-top:.5px solid var(--hair);-webkit-backdrop-filter:saturate(1.8)blur(20px);backdrop-filter:saturate(1.8)blur(20px);flex:none;padding:8px 12px 10px}.send{align-items:flex-end;gap:8px;display:flex}.send-attach{background:var(--sand2);width:40px;height:40px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.send-field{background:var(--field);border:1.5px solid var(--line);border-radius:22px;flex:1;align-items:flex-end;min-width:0;transition:border-color .2s;display:flex}.send-field:focus-within{border-color:var(--em)}.send-field textarea{background:0 0;border:0;border-radius:0;flex:1;min-width:0;min-height:41px;max-height:120px;padding:10px 4px 10px 14px;font-size:16px;line-height:1.35}.send-go{background:var(--em);cursor:pointer;width:32px;height:32px;transition:opacity .2s, transform .2s var(--ease);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:0 4px 4px 0;display:flex}.send-go:disabled{opacity:.3;cursor:default}.send-go:not(:disabled):active{transform:scale(.88)}.chat-side{z-index:30;width:min(320px,86vw);padding:calc(16px + env(safe-area-inset-top)) 12px calc(var(--nav) + 8px);background:var(--bg);border-right:.5px solid var(--hair);transition:transform .32s var(--ease);flex-direction:column;gap:10px;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.chat-side.open{transform:none;box-shadow:20px 0 50px -20px #00000073}.chat-scrim{z-index:25;background:#00000059;animation:.2s fadeIn;position:fixed;inset:0}.chat-side-head{align-items:center;padding:0 4px;display:flex}.chat-new{background:var(--em-soft);min-height:44px;color:var(--em-ink);font:inherit;cursor:pointer;border:0;border-radius:14px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.chat-list{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.chat-row{border-radius:14px;align-items:center;gap:4px;padding-right:4px;display:flex}.chat-row.on{background:var(--sand2)}.chat-row-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:1px;padding:9px 4px 9px 12px;display:flex}.chat-row-main b{font-size:15px}.chat-row-main span{color:var(--muted);font-size:13px}.chat-row-time{color:var(--faint);flex:none;align-self:flex-start;padding-top:11px;font-size:11px}.chat-side-note{color:var(--muted);margin:0;padding:0 6px;font-size:11.5px;line-height:1.35}@media (width>=640px){.chat-screen{padding-bottom:calc(66px + 22px + env(safe-area-inset-bottom))}.msgs,.inputbar>*{width:100%;max-width:760px;margin-left:auto;margin-right:auto}}@media (width>=1024px){.chat-screen{left:var(--side);height:100dvh;padding-bottom:0;top:0}.chat-side{background:0 0;flex:none;width:300px;padding-bottom:16px;position:static;transform:none}.chat-scrim,.chat-menu{display:none}}.lrow{text-align:left;cursor:pointer;width:100%;min-height:56px;color:inherit;border:0;border-top:.5px solid var(--hair);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:15px;font-weight:600;display:flex}.lrow.dng{color:var(--danger)}.sched{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=640px){.sched{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.sched{grid-template-columns:repeat(3,minmax(0,1fr))}}.sched-day{flex-direction:column;gap:8px;display:flex}.sched-day.past>*{opacity:.6}.sched-day.today{box-shadow:inset 0 0 0 1.5px var(--em)}.sched-head{align-items:baseline;gap:8px;display:flex}.sched-today{background:var(--em);color:#fff;border-radius:999px;align-self:center;padding:3px 10px;font-size:12px;font-weight:700}.sched-off{background:var(--sand2);color:var(--muted);border-radius:14px;align-items:center;gap:10px;padding:12px;font-size:14px;display:flex}.sched-lesson{width:calc(100% + 16px);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;margin:0 -8px;padding:10px 8px;transition:background-color .2s;display:flex}.sched-lesson:hover{background:var(--hover)}.sched-lesson:active{background:var(--em-wash2)}.sched-lesson.live{background:var(--em-soft)}.sched-lesson.done{opacity:.55}.sched-time{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;width:42px;display:flex}.sched-time b{font-size:15px}.sched-time span{color:var(--muted);font-size:12px}.sched-bar{border-radius:4px;flex:none;align-self:stretch;width:4px;min-height:34px}.sched-progress{background:var(--em-mid);border-radius:4px;height:4px;margin-top:8px;overflow:hidden}.sched-progress i{background:var(--em);border-radius:4px;height:100%;display:block}.sched-break{color:var(--faint);padding:2px 0 2px 54px;font-size:11.5px}.sched-due{border-top:.5px solid var(--hair);flex-direction:column;gap:4px;margin-top:4px;padding-top:10px;display:flex}.sched-due-row{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.sched-due-row:disabled{cursor:default}.sched-check{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.sched-check.on{border-color:var(--ok);background:var(--ok)}.res-row{border-top:.5px solid var(--hair)}.res-row:first-child{border-top:0}.res-head{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:12px 0;display:flex}.res-grades{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.res-table{flex-direction:column;margin-top:8px;display:flex}.res-tr{border-top:.5px solid var(--hair);align-items:center;gap:6px;min-height:38px;display:flex}.res-tr:first-child{border-top:0;min-height:24px}.res-td{flex:none;justify-content:center;width:34px;display:flex}@media (width<=639px){.sched-day:not(.sel){display:none}}.cal-list{padding-top:4px;padding-bottom:4px}.cal-row{border-top:.5px solid var(--hair);align-items:center;gap:12px;padding:12px 0;display:flex}.cal-row:first-child{border-top:0}.cal-dot{background:var(--em);border-radius:50%;flex:none;width:10px;height:10px}.cal-row.break .cal-dot{background:var(--ok)}.cal-row.holiday .cal-dot{background:var(--gold)}.cal-row.break b,.cal-row.holiday b{font-weight:600}.cal-row.now{background:var(--em-wash);border-radius:12px;margin:0 -12px;padding-left:12px;padding-right:12px}.sched-n{background:var(--sand2);width:22px;height:22px;color:var(--muted);border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.sched-lesson.live .sched-n{background:var(--em);color:#fff}.sched-break{padding-left:88px}.lesson-hero,.hw-hero{border-radius:24px;flex-direction:column;gap:6px;padding:16px 18px 18px;display:flex}.lesson-n{background:var(--card);border-radius:8px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 6px;display:inline-flex}.lesson-subject{color:var(--ink);font:inherit;letter-spacing:-.02em;text-align:left;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:28px;font-weight:800;display:inline-flex}.lesson-subject svg{opacity:.4}.lesson-status{background:var(--card);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.lesson-status.live{background:var(--em);color:#fff}.lesson-status.soon{color:var(--em-ink)}.hw-line{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;display:flex}.hw-line:disabled{cursor:default}.work-tag-row{align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.work-tag{border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.work-tag.lg{border-radius:12px;min-width:36px;height:36px;font-size:14px}.drop{text-align:center;border:2px dashed var(--line-strong);cursor:pointer;background:var(--sand2);border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;transition:background-color .2s,border-color .2s;display:flex}.drop:hover{background:var(--sand);border-color:var(--em)}.drop input{display:none}.file{border-top:.5px solid var(--hair);align-items:center;gap:12px;padding:12px 0;display:flex}.fic{border-radius:14px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:11px;font-weight:800;display:flex}.grade{background:var(--em);color:#fff;border-radius:16px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:flex}.tbl-row{border-top:.5px solid var(--hair);align-items:center;gap:10px;padding:10px 0;animation:.25s both fadeIn;display:flex}.filepill{color:var(--em-ink);background:var(--em-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:6px 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.delta-down{color:var(--rose-ink);font-size:12px;font-weight:700}.gb-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gb-terms button:disabled{opacity:.35;cursor:default}.gb-wrap{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 220px);padding:0;overflow:auto}.gb{border-collapse:separate;border-spacing:0;min-width:100%;font-size:14px}.gb th,.gb td{border-bottom:.5px solid var(--hair);text-align:center;white-space:nowrap;padding:0}.gb thead th{z-index:2;background:var(--card);border-bottom:1px solid var(--hair);height:44px;position:sticky;top:0}.gb .gb-name{z-index:1;background:var(--card);text-align:left;text-overflow:ellipsis;border-right:1px solid var(--hair);min-width:180px;max-width:220px;padding:0 14px;font-weight:600;position:sticky;left:0;overflow:hidden}.gb thead tr.gb-months th.gb-month{height:24px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:.5px solid var(--hair);text-overflow:clip;text-align:left;max-width:0;padding-left:8px;font-size:11px;font-weight:700;overflow:hidden}.gb thead tr.gb-months th.gb-month+th.gb-month,.gb .gb-month-start{border-left:1px solid var(--hair)}.gb thead tr.gb-days th{height:40px;top:24px}.gb-col button{padding:5px 0 4px}.gb-col button>span:last-child{font-variant-numeric:tabular-nums;font-size:12px}.gb thead .gb-name{z-index:3;color:var(--muted);font-size:12px;font-weight:600}.gb tbody .gb-name{height:44px}.gb tbody .gb-name .muted{width:20px;font-size:12px;font-weight:500;display:inline-block}.gb tbody tr.on .gb-name{background:var(--hover)}.gb-col button{width:100%;min-width:var(--gb-col,46px);cursor:pointer;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;font-weight:600;display:flex}.gb-col.planned button>span:last-child{text-underline-offset:3px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.gb td.gb-planned{background-image:repeating-linear-gradient(135deg, transparent 0 6px, var(--hair) 6px 7px)}.gb td.gb-planned .gb-cell{cursor:default}.gb-col.ahead button{opacity:.45}.gb td.gb-ahead .gb-cell{cursor:default;opacity:.5}.gb-col button:disabled{cursor:default}.gb-col.on button{color:var(--em-ink)}.gb-kind{color:var(--ink);background:var(--sand2);border-radius:6px;justify-content:center;align-items:center;min-width:18px;padding:1px 5px;font-size:11px;font-weight:800;display:inline-flex}.gb-cell{width:100%;min-width:var(--gb-col,46px);height:43px;color:var(--muted);cursor:pointer;background:0 0;border:0;outline:none;justify-content:center;align-items:center;gap:2px;font-size:16px;font-weight:700;display:flex;position:relative}@media (hover:hover){.gb-cell:hover{background:var(--hover)}}.gb-cell.act{box-shadow:inset 0 0 0 1.5px var(--em);background:0 0;border-radius:8px}.gb-cell.g5{color:var(--ok);font-weight:800}.gb-cell.g4{color:var(--em-ink);font-weight:700}.gb-cell.g3{color:var(--gold-ink);font-weight:600}.gb-cell.g2,.gb-cell.g1{color:var(--rose-ink);font-weight:500}.gb-cell.has-note:after{content:"";background:var(--em);border-radius:50%;width:5px;height:5px;position:absolute;top:7px;right:8px}.gb-cell .gb-grade{justify-content:center;align-items:center;min-width:20px;display:inline-flex}.gb-cell .gb-grade.gb-dot{color:var(--rose-ink);font-size:28px;font-weight:900;line-height:0}.gb-cell .gb-att{color:#fff;letter-spacing:0;border-radius:4px;align-self:flex-end;margin-bottom:12px;padding:0 3px;font-size:9px;font-weight:800;line-height:12px}.gb-cell .gb-att:only-child{align-self:center;margin:0}.gb-cell .gb-att.np{background:var(--rose-ink)}.gb-cell .gb-att.op{background:var(--gold-ink)}.gb-cell .gb-att.up{background:var(--em-ink)}.gb-cell .gb-att.sick{background:var(--violet)}.hr-row{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;width:calc(100% + 12px);margin:0 -6px;padding:10px 6px;position:relative}.hr-row:before{content:"";border-top:.5px solid var(--hair);position:absolute;top:0;left:6px;right:6px}@media (hover:hover){.hr-row:hover{background:var(--hover)}.hr-row:hover:before,.hr-row:hover+.hr-row:before{border-color:#0000}}.hr-row>svg{color:var(--faint);flex:none}.hr-row .gb-mark{font-variant-numeric:tabular-nums;flex:none;width:40px;font-size:13px;font-weight:700}.hr-main{flex-direction:column;min-width:0;display:flex}.hr-tags{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.hr-att{color:#fff;white-space:nowrap;border-radius:6px;align-items:center;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.hr-att.weak{color:var(--rose-ink);background:var(--rose)}.hr-att.np{background:var(--rose-ink)}.hr-att.up{background:var(--em-ink)}.hr-att.op{background:var(--gold-ink)}.hr-att.sick{background:var(--violet)}.attpick{flex:none;align-items:center;gap:4px;display:flex}.attpick button{border:1.5px solid var(--line);background:var(--field);min-width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;padding:0 7px;font-size:12px;font-weight:800}.attpick button.on.np{background:var(--rose-ink);border-color:var(--rose-ink);color:#fff}.attpick button.on.op{background:var(--gold-ink);border-color:var(--gold-ink);color:#fff}.attpick button.on.up{background:var(--em-ink);border-color:var(--em-ink);color:#fff}.attpick button.on.sick{background:var(--violet);border-color:var(--violet);color:#fff}.attpick button.on.clear{background:var(--sand2);border-color:var(--muted);color:var(--ink)}.attpick button:disabled{opacity:.45;cursor:default}.att-row .att-note{margin-top:2px;font-size:11px;font-weight:600;line-height:1.3;display:block}.att-note.np{color:var(--rose-ink)}.att-note.op{color:var(--gold-ink)}.att-note.up{color:var(--em-ink)}.profile-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:8px 10px;display:grid}.gb .gb-sum{font-variant-numeric:tabular-nums;border-left:1px solid var(--hair);padding:0 12px;font-weight:700}.gb thead .gb-sum{color:var(--muted);font-size:12px}.gb .gb-fill{border-left:0;width:100%}.gb .gb-fill.gb-empty{border-left:1px solid var(--hair)}.gb .gb-empty{vertical-align:top;white-space:normal}.gb .gb-empty>div{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.gb .gb-empty .btn{align-self:center;margin-top:8px}.gb-mark{background:var(--sand2);width:30px;height:30px;color:var(--muted);transition:transform .15s var(--ease), background-color .22s, color .22s, box-shadow .22s, opacity .22s;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.gb-mark.g5{background:var(--ok-soft);color:var(--ok)}.gb-mark.g4{background:var(--em-soft);color:var(--em-ink)}.gb-mark.g3{background:var(--gold-soft);color:var(--gold-ink)}.gb-mark.g2{background:var(--rose);color:var(--rose-ink)}.gb-final{font:inherit;cursor:pointer;border:0;font-weight:700}.gb-final.manual{box-shadow:inset 0 0 0 2px}.gb-edit{z-index:5;flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 30px -12px #00000059}.gb-edit .gradepick button:disabled{opacity:.35}.gb-legend{line-height:1.5}.gb-short{display:none}@media (hover:none){.gb-hint{display:none}}@media (width<=639px){.gb .gb-name{min-width:118px;max-width:130px;padding:0 10px;font-size:13px}.gb-full{display:none}.gb .gb-sum{padding:0 6px;font-size:13px}.gb-mark{width:26px;height:26px}.gb-short{display:inline}.gb-wrap{max-height:none}}.topic-box{position:relative}.topic-list{z-index:20;background:var(--card);box-shadow:0 18px 40px -12px #0000004d, 0 0 0 .5px var(--hair);border-radius:16px;max-height:300px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.topic-list button{text-align:left;width:100%;min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.topic-list button:hover{background:var(--sand2)}.topic-list button.done{color:var(--muted)}.topic-list button.done svg{color:var(--ok)}.topic-chip{background:var(--em-soft);color:var(--em-ink);cursor:pointer;text-align:left;border:0;border-radius:12px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.3}.topic-chip .muted{color:var(--em-ink);opacity:.65;font-weight:500}.plan-list{flex-direction:column;gap:2px;margin:0;padding:0 0 0 22px;font-size:14px;display:flex}.plan-list button{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:14px}.plan-list li.done button{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);-webkit-text-decoration-color:var(--faint);-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.plan-list li.next button{color:var(--em-ink);font-weight:700}.plan-list li::marker{color:var(--muted);font-size:12px}.lesson-topic{color:var(--ink);opacity:.8;margin:1px 0;line-height:1.3}@media (hover:hover){.gb tbody tr:hover>*{background-color:var(--gb-hl)}.gb tbody tr:hover>.gb-name{background-color:var(--gb-hl2)}}.gb th[data-tip]{position:sticky}.gb th[data-tip]:hover:after{content:attr(data-tip);white-space:pre;z-index:5;background:var(--inverse);color:var(--on-inverse);text-align:center;pointer-events:none;animation:tipIn .14s var(--ease);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.35;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px -8px #0006}.gb th[data-tip]:last-child:hover:after{left:auto;right:4px;transform:none}@media (prefers-reduced-motion:reduce){.tbl-row{animation:none!important}}.meal-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;display:flex}.meal-who{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.meal-acts{flex-wrap:wrap;gap:6px;display:flex}.meal-btn{background:var(--sand2);min-height:36px;color:var(--muted);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:500}.meal-btn.on{font-weight:700}.meal-btn.paid{background:var(--em-soft);color:var(--em-ink)}.meal-btn.free{background:var(--ok-soft);color:var(--ok)}.gb tbody tr>.gb-empty,.gb tbody tr:hover>.gb-empty{background-color:var(--card)}.ktp-layout{align-items:start;gap:16px;display:grid}@media (width>=1024px){.ktp-layout{grid-template-columns:minmax(340px,2fr) minmax(0,3fr)}.ktp-card{position:sticky;top:16px}}.ktp-tree{flex-direction:column;gap:2px;display:flex}.ktp-sec{border-radius:12px;align-items:center;gap:4px;display:flex}.ktp-sec-name{min-width:0;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:8px;padding:6px 8px;font-size:15px;font-weight:700;line-height:1.3;display:flex}.ktp-chev{color:var(--muted);transition:transform .2s var(--ease);flex:none;display:inline-flex}.ktp-chev.open{transform:rotate(90deg)}.ktp-sec-tools{flex:none;gap:2px;display:flex}@media (width<=639px){.ktp-sec{flex-wrap:wrap}.ktp-sec-name{flex-basis:100%}.ktp-sec-tools{margin:-6px 0 2px auto}}.ktp-sec-tools .icon-btn{width:32px;height:32px;min-height:32px;font-size:14px}.ktp-sec-tools .icon-btn[disabled]{opacity:.3}.ktp-lessons{border-left:1.5px solid var(--hair);flex-direction:column;margin:0 0 6px 15px;padding-left:8px;display:flex}.ktp-lesson{width:100%;min-height:38px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:baseline;gap:8px;padding:9px 10px;font-size:14px;line-height:1.35;display:flex}.ktp-lesson.static{cursor:default}.ktp-lesson.on{background:var(--sand2);font-weight:600}.ktp-lesson.add{color:var(--em-ink);align-items:center;font-weight:600}@media (hover:hover){.ktp-sec-name:hover,.ktp-lesson:not(.static):hover{background:var(--sand2)}}.tt-day{padding-bottom:8px}.tt-slot{border:0;border-top:.5px solid var(--hair);text-align:left;cursor:pointer;width:calc(100% + 16px);min-height:56px;color:var(--ink);transition:transform .15s var(--ease), background-color .22s, color .22s, box-shadow .22s, opacity .22s;background:0 0;border-radius:12px;align-items:center;gap:10px;margin:0 -8px;padding:6px 8px;display:flex}.tt-slot:hover{background:var(--sand2)}.tt-slot.empty{color:var(--muted);min-height:44px;font-size:14px}.tt-slot.empty .tt-add{opacity:0;transition:opacity .15s}.tt-slot.empty:hover .tt-add,.tt-slot.empty:focus-visible .tt-add{opacity:1;color:var(--em)}@media (hover:none){.tt-slot.empty .tt-add{opacity:1}}.tt-n{width:18px;color:var(--muted);text-align:center;flex:none;font-size:12px;font-weight:700}.tt-time{width:42px;color:var(--muted);flex:none;font-size:13px;font-weight:600}.tt-warn{color:var(--gold-ink)}.bells{flex-direction:column;display:flex}.bell-row{border-top:.5px solid var(--hair);grid-template-columns:28px 84px 84px 1fr 36px;align-items:center;gap:8px;padding:6px 0;display:grid}.bell-row.head{color:var(--muted);border-top:0;padding-bottom:2px;font-size:12px;font-weight:600}.bl-n{text-align:center;font-size:15px;font-weight:800}.th-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.th-cell{background:var(--sand2);border-radius:14px;align-items:center;gap:6px;padding:6px 8px;display:flex}.th-cell .input{text-align:center;width:100%;min-width:0;min-height:38px;padding:0 8px}@media (width<=639px){.bell-row{grid-template-columns:22px 70px 70px 1fr 32px;gap:6px}.th-grid{grid-template-columns:1fr}}.c-gray{background:var(--sand2);color:var(--ink)}.c-dark{background:var(--inverse);color:var(--on-inverse)}.c-blue{background:var(--em-soft);color:var(--em-ink)}.c-gold{background:var(--gold-soft);color:var(--gold-ink)}.c-green{background:var(--ok-soft);color:var(--ok)}.c-rose{background:var(--rose);color:var(--rose-ink)}.c-violet{background:var(--violet-soft);color:var(--violet-ink)}.year-row{border-bottom:.5px solid var(--hair);grid-template-columns:minmax(120px,1fr) minmax(160px,1fr) minmax(160px,1.2fr) auto;align-items:center;gap:8px;padding:6px 0;display:grid}@media (width<=639px){.year-row{grid-template-columns:1fr 1fr}}.settings{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:16px;display:grid}.settings-nav{background:var(--card);border-radius:22px;flex-direction:column;gap:4px;padding:8px;display:flex;position:sticky;top:12px}.settings-nav button{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.settings-nav button span{color:var(--muted);font-size:12px}.settings-nav button:hover{background:var(--sand2)}.settings-nav button.act{background:var(--em-soft)}.settings-nav button.act b{color:var(--em-ink)}.settings-body{min-width:0}@media (width<=1023px){.settings{grid-template-columns:1fr}.settings-nav{border-radius:18px;flex-direction:row;padding:4px;position:static;overflow-x:auto}.settings-nav button{flex:none;padding:8px 12px}.settings-nav button span{display:none}}.subj-class{border-top:.5px solid var(--hair)}.subj-class-head{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:10px 4px;display:flex}.subj-class-head b{flex:none;width:64px}.subj-class-head b.wide{text-overflow:ellipsis;white-space:nowrap;width:140px;overflow:hidden}.subj-class-head>span{min-width:0}.subj-class-head>svg{color:var(--faint);flex:none;transition:transform .2s}.subj-class.open .subj-class-head>svg{transform:rotate(90deg)}.subj-class-body{padding:4px 4px 14px}.plan-topics{flex-direction:column;gap:6px;display:flex}.plan-row{align-items:center;gap:2px;display:flex}.plan-row .input{flex:1;min-width:0;min-height:40px;padding:8px 12px}.plan-row .icon-btn{flex:none;width:32px;height:32px}.plan-n{text-align:right;flex:none;width:24px;padding-right:6px}.survey-row{text-align:left;font:inherit;color:inherit;cursor:pointer;border:0;flex-direction:column;gap:10px;width:100%;display:flex}.survey-row:hover{background:var(--hover)}.survey-bar{background:var(--sand2);border-radius:999px;min-width:40px;height:8px;overflow:hidden}.survey-bar>div{background:var(--em);height:100%;transition:width .3s var(--ease);border-radius:999px}.survey-opt{flex-direction:column;gap:4px;display:flex}.survey-text{background:var(--sand2);border-radius:12px;padding:8px 12px;line-height:1.4}.load-block{background:var(--sand2);border-radius:16px;flex-direction:column;gap:8px;padding:12px;display:flex}.rule-title{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;min-width:0;padding:0;font-size:15px;font-weight:600}.rule-value{color:var(--muted);align-items:center;gap:2px;font-weight:600;display:flex}.rule-value .input{text-align:center;width:72px;min-height:38px;padding:0 8px}.points-row{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border-bottom:0;border-left:0;border-right:0}.points-row:hover{background:var(--sand2)}.points-bal{text-align:right;min-width:56px}.points-total{background:var(--em-soft);border-radius:16px;justify-content:space-between;align-items:baseline;padding:14px 16px;display:flex}.points-total b{color:var(--em-ink);font-size:28px}.news-signer{background:var(--sand2);color:inherit;font:inherit;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:12px;padding:10px 12px;display:flex}.news-row{border-top:.5px solid var(--hair);align-items:center;gap:10px;padding:8px 0;display:flex}.news-thumb{object-fit:cover;background:var(--sand2);border-radius:10px;flex:none;width:44px;height:44px}.news-more{color:var(--em);font:inherit;cursor:pointer;background:0 0;border:0;align-self:center;margin-top:4px;padding:6px;font-size:14px;font-weight:600}.tt-classes{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.tt-classes::-webkit-scrollbar{display:none}.tt-classes button{background:var(--card);min-width:84px;color:var(--ink);cursor:pointer;text-align:left;border:0;border-radius:14px;flex-direction:column;flex:none;align-items:flex-start;gap:1px;padding:8px 14px;transition:background-color .2s,color .2s;display:flex}.tt-classes button b{font-size:15px}.tt-classes button span{color:var(--muted);white-space:nowrap;font-size:12px}.tt-classes button:hover{background:var(--hover)}.tt-classes button.act{background:var(--inverse);color:var(--on-inverse)}.tt-classes button.act span{color:var(--on-inverse);opacity:.7}.tt-board{flex-direction:column;gap:14px;display:flex}.tt-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.tt-facts{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:13px;display:flex}.tt-facts span+span:before{content:"·";color:var(--faint);margin-right:12px}.tt-top .week-nav{align-self:auto}.tt-top .week-nav .today{white-space:nowrap}@media (width<=639px){.tt-top .week-nav{width:100%}.tt-top .week-nav b{flex:1;min-width:0}}.tt-empty{background:var(--sand2);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.tt-grid{align-items:stretch;gap:6px}.tt-dayhead{border-radius:12px;flex-direction:column;padding:4px 8px 6px;display:flex}.tt-dayhead b{font-size:15px}.tt-dayhead span{color:var(--muted);font-size:12px}.tt-dayhead.today{background:var(--em-wash2)}.tt-dayhead.today b{color:var(--em)}.tt-cell{min-width:0;display:flex}.tt-cell>*{flex:1;min-width:0}.tt-bell{font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;padding:6px 4px;display:flex}.tt-bell b{font-size:17px;line-height:1.1}.tt-bell span{color:var(--muted);font-size:12px;line-height:1.3}.tt-bell span+span{color:var(--faint)}.tt-stack{flex-direction:column;gap:4px;display:flex}.tt-lesson{--tone:var(--em);--tone-soft:var(--em-soft);background:var(--tone-soft);width:100%;min-height:72px;color:var(--ink);text-align:left;cursor:pointer;transition:transform .15s var(--ease), filter .2s;border:0;border-radius:12px;flex-direction:column;gap:1px;padding:8px 10px 8px 13px;display:flex;position:relative;overflow:hidden}.tt-lesson:before{content:"";background:var(--tone);width:4px;position:absolute;top:0;bottom:0;left:0}.tt-lesson:hover{filter:brightness(.97)}:root[data-theme=dark] .tt-lesson:hover{filter:brightness(1.15)}.tt-lesson:active{transform:scale(.98)}.tt-lesson.tone-ok{--tone:var(--ok);--tone-soft:var(--ok-soft)}.tt-lesson.tone-gold{--tone:var(--gold);--tone-soft:var(--gold-soft)}.tt-lesson.tone-violet{--tone:var(--violet);--tone-soft:var(--violet-soft)}.tt-lesson.tone-rose{--tone:var(--rose-ink);--tone-soft:var(--rose)}.tt-lesson.off{opacity:.55}.tt-lesson.off .tt-subj{text-decoration:line-through}.tt-subj{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0;font-size:14px;line-height:1.25;display:flex}.tt-group{background:var(--card);color:var(--muted);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}.tt-meta,.tt-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tt-note{color:var(--gold-ink);font-weight:600}.tt-free{border:1px dashed var(--line);width:100%;min-height:72px;color:var(--faint);cursor:pointer;opacity:.6;background:0 0;border-radius:12px;justify-content:center;align-items:center;font-size:13px;transition:opacity .15s,color .15s,border-color .15s,background-color .15s;display:flex}.tt-free.sm{min-height:30px}.tt-free:hover:not(:disabled),.tt-free:focus-visible{opacity:1;color:var(--em);border-color:var(--em-mid);background:var(--em-wash)}.tt-free:disabled{cursor:default}.tt-days{background:var(--sand2);border-radius:16px;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:4px;display:grid}.tt-days button{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:0;padding:6px 0;display:flex;position:relative}.tt-days button span{color:var(--muted);font-size:12px}.tt-days button b{font-variant-numeric:tabular-nums;font-size:17px}.tt-days button i{min-height:14px;color:var(--faint);font-size:11px;font-style:normal}.tt-days button.today b,.tt-days button.today span{color:var(--em)}.tt-days button.act{background:var(--card)}.tt-line{grid-template-columns:56px minmax(0,1fr);gap:8px;padding:3px 0;display:grid}.tt-line .tt-free,.tt-line .tt-lesson{min-height:60px}.tt-line+.tt-line{border-top:.5px solid var(--hair);padding-top:6px}.tt-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.tt-more{background:var(--sand2);height:34px;color:var(--ink);cursor:pointer;border:0;border-radius:10px;flex:none;padding:0 14px;font-size:13px;font-weight:600}.tt-more:hover{background:var(--hover)}.reports{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.reports-nav{flex-direction:column;gap:14px;display:flex;position:sticky;top:12px}.reports-group{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 10px 4px;font-size:12px;font-weight:700}.reports-nav button{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:12px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.reports-nav button b{font-size:14px}.reports-nav button span{color:var(--muted);font-size:12px}.reports-nav button:hover{background:var(--sand2)}.reports-nav button.act{background:var(--card);box-shadow:0 1px 3px var(--hair)}.rep-scroll{margin:0 -4px;overflow-x:auto}.rep-table{border-collapse:collapse;width:100%;font-size:14px}.rep-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--card);padding:8px;font-size:12px;font-weight:600;position:sticky;top:0}.rep-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 8px}.rep-table .num{text-align:right;font-variant-numeric:tabular-nums}.rep-table tr.rk-subtotal td{background:var(--sand2);font-weight:600}.rep-table tr.rk-total td{background:var(--em-soft);color:var(--em-ink);font-weight:700}.rep-table tr.rk-group td{border-bottom:0;padding-top:16px;font-weight:700}.rep-table tr.drill{cursor:pointer}.rep-table tr.drill:hover td{background:var(--sand2)}@media (width<=1023px){.reports{grid-template-columns:1fr}.reports-nav{flex-direction:row;gap:8px;padding-bottom:4px;position:static;overflow-x:auto}.reports-nav>div{flex-direction:row;flex:none;align-items:center;gap:4px;display:flex}.reports-group{display:none}.reports-nav button{background:var(--sand2);white-space:nowrap;padding:8px 12px}.reports-nav button span{display:none}}.audit-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.audit-filters .dash{color:var(--muted);display:none}.audit-filters .search-field{grid-column:1/-1;min-width:0;min-height:50px}.audit-filters .audit-go{grid-column:1/-1;gap:8px;display:flex}.audit-filters .audit-go .btn{flex:1}@media (width>=640px){.audit-filters{grid-template-columns:156px auto 156px minmax(0,1fr) auto}.audit-filters .dash{display:block}.audit-filters .search-field,.audit-filters .audit-go{grid-column:auto}.audit-filters .audit-go .btn{flex:none}}.audit-day{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:10px 0 2px;font-size:12px;font-weight:700}.audit-row{border-radius:14px;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:12px;margin:0 -12px;padding:10px 12px;transition:background-color .18s;display:grid}.audit-row.pick{cursor:pointer;grid-template-columns:22px 52px minmax(0,1fr)}.audit-row.pick:hover{background:var(--sand)}.audit-row.on,.audit-row.on:hover{background:var(--em-soft)}.audit-row input{width:18px;height:18px;accent-color:var(--em);margin:2px 0 0}.audit-time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;line-height:1.4}.audit-time small{color:var(--muted);font-size:11px;font-weight:500;display:block}.audit-what{font-size:15px;font-weight:600;line-height:1.35}.audit-who{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.audit-bar{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;background:var(--inverse);max-width:calc(100vw - 32px);color:var(--on-inverse);animation:audit-bar-in .25s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:8px 8px 8px 18px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000047}.audit-bar b{white-space:nowrap;font-size:14px}.audit-bar .btn{white-space:nowrap;min-height:40px;padding:8px 16px;font-size:14px}.audit-bar .x{width:40px;height:40px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:grid}@keyframes audit-bar-in{0%{opacity:0;transform:translate(-50%,12px)}}.school-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;align-items:center;gap:12px;padding:12px 4px;display:flex}.school-row:hover{background:var(--sand2)}.school-ico{background:var(--em-soft);width:44px;height:44px;color:var(--em-ink);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.school-ico.off{background:var(--sand2);color:var(--muted)}.school-meta{flex:none;align-items:center;gap:12px;display:flex}.school-meta span{align-items:center;gap:4px;display:inline-flex}.school-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.school-stat{background:var(--sand2);color:var(--em-ink);border-radius:16px;flex-direction:column;gap:2px;padding:12px;display:flex}.school-stat b{color:var(--ink);font-size:22px}.dir-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.cred-box{background:var(--em-soft);color:var(--ink);border-radius:16px;padding:14px}.cred-line{justify-content:space-between;gap:12px;font-size:15px;display:flex}.cred-line b{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (width<=639px){.school-meta{display:none}}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.-left-1\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:0}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}.-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-0\.75{margin-top:calc(var(--spacing) * .75)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-5\.5{margin-top:calc(var(--spacing) * 5.5)}.mt-auto{margin-top:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.-ml-2\.5{margin-left:calc(var(--spacing) * -2.5)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[2\/1\]{aspect-ratio:2}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-9\.5{height:calc(var(--spacing) * 9.5)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-15{height:calc(var(--spacing) * 15)}.h-full{height:100%}.max-h-70{max-height:calc(var(--spacing) * 70)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-none{max-height:none}.min-h-0{min-height:0}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-12\.5{min-height:calc(var(--spacing) * 12.5)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-15{min-height:calc(var(--spacing) * 15)}.min-h-17\.5{min-height:calc(var(--spacing) * 17.5)}.min-h-20{min-height:calc(var(--spacing) * 20)}.w-1{width:var(--spacing)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-9\.5{width:calc(var(--spacing) * 9.5)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-15{width:calc(var(--spacing) * 15)}.w-17\.5{width:calc(var(--spacing) * 17.5)}.w-24{width:calc(var(--spacing) * 24)}.w-27\.5{width:calc(var(--spacing) * 27.5)}.w-30{width:calc(var(--spacing) * 30)}.w-full{width:100%}.max-w-85{max-width:calc(var(--spacing) * 85)}.max-w-95{max-width:calc(var(--spacing) * 95)}.max-w-140{max-width:calc(var(--spacing) * 140)}.max-w-205{max-width:calc(var(--spacing) * 205)}.min-w-0{min-width:0}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-12{min-width:calc(var(--spacing) * 12)}.min-w-13{min-width:calc(var(--spacing) * 13)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-50{min-width:calc(var(--spacing) * 50)}.flex-1{flex:1}.flex-\[1_1_220px\]{flex:220px}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[1fr_90px\]{grid-template-columns:1fr 90px}.grid-cols-\[minmax\(0\,140px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,140px) minmax(0,1fr)}.grid-cols-\[repeat\(auto-fill\,_minmax\(130px\,_1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.grid-cols-\[repeat\(auto-fill\,_minmax\(150px\,_1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.self-center{align-self:center}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:2147483647px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-card{border-color:var(--card)}.bg-em{background-color:var(--em)}.bg-em-soft{background-color:var(--em-soft)}.bg-gold-soft{background-color:var(--gold-soft)}.bg-ink{background-color:var(--ink)}.bg-inverse{background-color:var(--inverse)}.bg-line-strong{background-color:var(--line-strong)}.bg-rose{background-color:var(--rose)}.bg-sand2{background-color:var(--sand2)}.bg-transparent{background-color:#0000}.bg-white\/20{background-color:oklab(100% 0 5.96046e-8/.2)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4\.5{padding:calc(var(--spacing) * 4.5)}.p-5{padding:calc(var(--spacing) * 5)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-1\.75{padding-inline:calc(var(--spacing) * 1.75)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.75{padding-block:calc(var(--spacing) * .75)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-1\.25{padding-block:calc(var(--spacing) * 1.25)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4\.5{padding-block:calc(var(--spacing) * 4.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-0{padding-left:0}.pl-7{padding-left:calc(var(--spacing) * 7)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-11{font-size:var(--text-11)}.text-12{font-size:var(--text-12)}.text-13{font-size:var(--text-13)}.text-14{font-size:var(--text-14)}.text-15{font-size:var(--text-15)}.text-16{font-size:var(--text-16)}.text-17{font-size:var(--text-17)}.text-18{font-size:var(--text-18)}.text-20{font-size:var(--text-20)}.text-22{font-size:var(--text-22)}.text-24{font-size:var(--text-24)}.text-25{font-size:var(--text-25)}.text-28{font-size:var(--text-28)}.text-\[12\.5px\]{font-size:12.5px}.text-\[19px\]{font-size:19px}.text-\[30px\]{font-size:30px}.text-\[36px\]{font-size:36px}.text-\[52px\]{font-size:52px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-body{--tw-leading:var(--leading-body);line-height:var(--leading-body)}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.wrap-anywhere{overflow-wrap:anywhere}.wrap-break-word{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-em{color:var(--em)}.text-em-ink{color:var(--em-ink)}.text-gold-ink{color:var(--gold-ink)}.text-inherit{color:inherit}.text-ink{color:var(--ink)}.text-muted{color:var(--muted)}.text-ok{color:var(--ok)}.text-on-inverse{color:var(--on-inverse)}.text-rose-ink{color:var(--rose-ink)}.text-white{color:#fff}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.first-letter\:uppercase:first-letter{text-transform:uppercase}@media (width>=640px){.sm\:w-auto{width:auto}.sm\:max-w-\[420px\]{max-width:420px}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto_auto\]{grid-template-columns:1fr auto auto}.sm\:self-start{align-self:flex-start}.sm\:text-32{font-size:var(--text-32)}}@media (width>=1024px){.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:max-w-160{max-width:calc(var(--spacing) * 160)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
