.landing[data-rv=on] .rv{opacity:0;transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out);transform:translateY(16px)}.landing[data-rv=on] .rv.in{opacity:1;transform:none}.landing[data-rv=on] .tour-map>.rv:nth-child(2),.landing[data-rv=on] .steps>.rv:nth-child(2),.landing[data-rv=on] .role-grid>.rv:nth-child(2),.landing[data-rv=on] .trust-list>.rv:nth-child(2){transition-delay:60ms}.landing[data-rv=on] .tour-map>.rv:nth-child(3),.landing[data-rv=on] .steps>.rv:nth-child(3),.landing[data-rv=on] .role-grid>.rv:nth-child(3),.landing[data-rv=on] .trust-list>.rv:nth-child(3){transition-delay:.12s}.landing[data-rv=on] .tour-map>.rv:nth-child(4),.landing[data-rv=on] .role-grid>.rv:nth-child(4){transition-delay:.18s}.landing[data-rv=on] .tour-map>.rv:nth-child(5),.landing[data-rv=on] .role-grid>.rv:nth-child(5){transition-delay:.24s}.landing[data-rv=on] .tour-map>.rv:nth-child(6){transition-delay:.3s}.landing[data-rv=on] .tour-map>.rv:nth-child(7){transition-delay:.36s}.demo-bar{background:var(--ink);min-height:46px;color:var(--dark-ink);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:9px 24px;font-size:13.5px;line-height:1.6;display:flex}.demo-bar .demo-dot{border-radius:var(--r-circle);background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 24%,transparent);flex:none}.demo-bar b{color:var(--white);font-weight:500}.demo-bar button{border:1px solid var(--dark-line);color:var(--white);border-radius:var(--r-pill);background:0 0;align-items:center;gap:8px;min-height:32px;padding:3px 14px;font-size:13px;display:inline-flex}.demo-bar button:hover{background:var(--dark-bg-2);border-color:var(--blue)}.demo-bar button:active{transform:translateY(1px)}.demo-bar button:focus-visible{outline:2px solid var(--blue-soft);outline-offset:2px}.landing .button:active{transform:translateY(0)scale(.985)}.landing .brand:hover{opacity:.82}.landing .brand:active{opacity:.7}.public-nav nav a{position:relative}.public-nav nav a:after{content:"";border-radius:var(--r-pill);background:var(--blue-deep);transform-origin:50%;block-size:2px;transition:transform var(--dur-2) var(--ease);position:absolute;inset-block-end:0;inset-inline:0;transform:scaleX(0)}.public-nav nav a:hover:after{transform:scaleX(1)}.public-nav nav a:active,.public-nav .text-link:hover{color:var(--blue-deeper)}.public-nav .text-link:active{opacity:.8}.hero-band{background:var(--grad-hero) var(--paper);position:relative;overflow:hidden}.landing .hero{z-index:1;background:0 0;position:relative}.landing .hero-visual{z-index:1;position:relative}.hero-blob{--blob-size:clamp(300px,36vw,540px);--blob-color:var(--violet-tint);--blob-opacity:.38;--blob-blur:18px;inset-block-end:-18%;inset-inline-end:-10%}.hero-ring{block-size:clamp(230px,27vw,400px);inline-size:clamp(230px,27vw,400px);color:var(--blue);opacity:.17;inset-block-start:6%;inset-inline-start:-7%}.landing .hero-copy>*{animation:rise-in var(--dur-3) var(--ease-out) both}.landing .hero-copy>:first-child{animation-delay:40ms}.landing .hero-copy>:nth-child(2){animation-delay:.11s}.landing .hero-copy>:nth-child(3){animation-delay:.18s}.landing .hero-copy>:nth-child(4){animation-delay:.25s}.landing .hero-copy>:nth-child(5){animation-delay:.32s}.landing .hero-visual{animation:rise-in var(--dur-4) var(--ease-out) .2s both}.landing .hero-copy h1 em{color:var(--blue-deep)}.landing .trust-line{color:var(--slate);gap:10px 20px;font-size:13.5px}.landing .trust-line span{align-items:center;gap:8px;display:inline-flex}.landing .trust-line i{border-radius:var(--r-circle);background:var(--blue-tint);block-size:19px;inline-size:19px;color:var(--blue-deep);flex:none;place-items:center;display:inline-grid}.landing .trust-line i svg{block-size:11px;inline-size:11px;display:block}.landing .hero-visual{background:var(--grad-card);border-color:var(--line-soft);border-radius:var(--r-xl);box-shadow:var(--shadow-3),var(--shadow-accent);padding:26px}.landing .hero-visual:before{border-color:var(--line-soft)}.landing .score-orbit{border-block-start-color:var(--amber-line);border-inline-end-color:var(--blue)}.landing .insight{border-radius:var(--r-md)}.landing .insight .signal svg{block-size:17px;inline-size:17px;display:block}.insight button{border-radius:var(--r-pill);min-height:34px;padding:5px 12px}.insight button:hover{background:var(--white);color:var(--blue-deeper);box-shadow:var(--shadow-1)}.insight button:active{transform:translateY(1px)}.insight button:focus-visible{outline:2px solid var(--blue-deep);outline-offset:2px}.hero-cta-block{gap:14px;display:grid}.hero-cta-note{max-width:520px;color:var(--slate);font-size:14px;line-height:1.75}.hero-cta-note a{color:var(--blue-deep);border-block-end:1px solid var(--blue-soft)}.hero-cta-note a:hover{color:var(--blue-deeper);border-block-end-color:var(--blue-deep)}.hero-cta-note a:active{opacity:.8}.landing .proof{background:var(--cream);border-block-color:var(--line);padding:18px var(--pad-x);flex-wrap:wrap;gap:18px 64px}.landing .wave-divider{--wave-h:82px}.landing .wave-to-blue{--wave-from:var(--cream);--wave-to:var(--tint-blue);--wave-shape:var(--wave-soft)}.landing .wave-to-cream{--wave-from:var(--paper);--wave-to:var(--tint-cream);--wave-shape:var(--wave-tilt)}.band-tint{inline-size:100%}.warm-band{padding-block-end:var(--sec-y)}.landing .tour-entry>h2{margin-block-end:26px}.tour-entry-lede{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:56px;margin-block-end:46px;display:grid}.tour-entry-lede>p{max-width:660px;font-size:17.5px;line-height:1.8}.tour-entry-cta{justify-items:start;gap:10px;display:grid}.tour-entry-cta small{color:var(--slate);font-size:13px;line-height:1.6}.tour-map{border:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tour-map li{border:0}.tour-map li>button{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);width:100%;height:100%;min-height:206px;box-shadow:var(--shadow-1);font:inherit;color:inherit;text-align:start;transition:transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease),border-color var(--dur-2) var(--ease);flex-direction:column;align-items:flex-start;gap:9px;padding:18px 16px;display:flex}.tour-map li>button:hover{box-shadow:var(--shadow-3);border-color:var(--blue-soft);transform:translateY(-3px)}.tour-map li>button:active{box-shadow:var(--shadow-1);transform:translateY(0)scale(.99)}.tour-map li>button:focus-visible{outline:2px solid var(--blue-deep);outline-offset:3px}.tour-map .ts-num{border-radius:var(--r-pill);background:var(--blue-tint);block-size:27px;min-inline-size:34px;color:var(--blue-deep);justify-content:center;align-items:center;padding-inline:10px;font:300 15px Neue,DIN,sans-serif;display:inline-flex}.tour-map .ts-title{color:var(--ink);font-size:15.5px;font-weight:500;line-height:1.45}.tour-map .ts-hint{color:var(--slate);font-size:12.5px;line-height:1.65}.tour-map .ts-role{color:var(--quiet);align-items:center;gap:7px;margin-block-start:auto;padding-block-start:10px;font-size:12px;display:inline-flex}.tour-map .ts-role:before{content:"";border-radius:var(--r-circle);background:var(--blue-deep);border:0;flex:none;width:8px;height:8px}.tour-map li[data-role=student] .ts-num{background:var(--violet-tint);color:var(--violet-deep)}.tour-map li[data-role=student] .ts-role:before{background:var(--violet-deep)}.tour-map li[data-role=student]>button:hover{border-color:var(--violet-soft)}.tour-map li[data-role=parent] .ts-num{background:var(--rose-tint);color:var(--rose-deep)}.tour-map li[data-role=parent] .ts-role:before{background:var(--rose-deep)}.tour-map li[data-role=parent]>button:hover{border-color:var(--rose-soft)}.landing .steps{grid-template-columns:repeat(3,1fr);gap:22px}.landing .steps article{--step-hue:var(--blue);--step-ink:var(--blue-deep);background:var(--grad-card);border:1px solid var(--line);border-radius:var(--r-xl);min-height:0;box-shadow:var(--shadow-1);align-content:start;gap:0;padding:32px 30px;display:grid;position:relative;overflow:hidden}.landing .steps article:nth-child(2){--step-hue:var(--violet);--step-ink:var(--violet-deep)}.landing .steps article:nth-child(3){--step-hue:var(--teal);--step-ink:var(--teal-deep)}.landing .steps article:before{content:"";background:var(--step-hue);block-size:3px;position:absolute;inset-block-start:0;inset-inline:0}.landing .steps article:hover{box-shadow:var(--shadow-3);transform:translateY(-3px)}.landing .steps article>.icon-chip{margin-block-end:22px}.landing .steps article>.step-n{color:var(--step-ink);justify-self:start;width:max-content;margin-block-end:7px;font:300 13px Neue,DIN,sans-serif}.landing .steps article>h3{margin-block-end:11px;font-size:21px}.landing .steps p{max-width:340px}.landing .roles{margin-block-end:var(--sp-8);position:relative;overflow:hidden}.landing .roles .section-label{color:var(--blue-soft)}.landing .roles>h2{z-index:1;margin-block-end:16px;position:relative}.landing .roles .roles-note{max-width:780px;color:var(--dark-quiet);z-index:1;margin-block-end:46px;font-size:16px;line-height:1.8;position:relative}.landing .roles .roles-note b{color:var(--white);font-weight:500}.roles-ring{block-size:440px;inline-size:440px;color:var(--blue-soft);opacity:.16;inset-block-start:-150px;inset-inline-end:-130px}.landing .role-grid{z-index:1;gap:14px;position:relative}.landing .role-grid a{--hue:var(--blue);--hue-chip-bg:var(--blue-tint);--hue-chip-ink:var(--blue-deep);--hue-soft:var(--blue-soft);border:1px solid var(--dark-line);border-block-start:3px solid var(--hue);border-radius:var(--r-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--hue) 14%,var(--dark-bg-2)),color-mix(in srgb,var(--dark-bg-2) 58%,transparent));min-height:266px;transition:transform var(--dur-3) var(--ease),border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease);align-content:start;gap:12px;padding:26px 22px 24px;display:grid;position:relative}.landing .role-grid a[data-hue=violet]{--hue:var(--violet);--hue-chip-bg:var(--violet-tint);--hue-chip-ink:var(--violet-deep);--hue-soft:var(--violet-soft)}.landing .role-grid a[data-hue=rose]{--hue:var(--rose);--hue-chip-bg:var(--rose-tint);--hue-chip-ink:var(--rose-deep);--hue-soft:var(--rose-soft)}.landing .role-grid a[data-hue=teal]{--hue:var(--teal);--hue-chip-bg:var(--teal-tint);--hue-chip-ink:var(--teal-deep);--hue-soft:var(--teal-soft)}.landing .role-grid a[data-hue=graphite]{--hue:var(--dark-quiet);--hue-chip-bg:var(--stone);--hue-chip-ink:var(--graphite);--hue-soft:var(--dark-ink)}.landing .role-grid a:hover{border-color:var(--hue);background:linear-gradient(180deg,color-mix(in srgb,var(--hue) 24%,var(--dark-bg-2)),color-mix(in srgb,var(--dark-bg-2) 76%,transparent));transform:translateY(-3px)}.landing .role-grid a:active{transform:translateY(0)scale(.99)}.landing .role-grid a:focus-visible{outline:2px solid var(--blue-soft);outline-offset:3px}.landing .role-grid a>.role-chip{border-radius:var(--r-md);block-size:46px;inline-size:46px;font:inherit;background:var(--hue-chip-bg);color:var(--hue-chip-ink);transition:transform var(--dur-3) var(--ease);flex:none;place-items:center;margin-block-end:4px;display:inline-grid}.landing .role-grid a>.role-chip>svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;block-size:56%;inline-size:56%;display:block}.landing .role-grid a:hover>.role-chip{transform:translateY(-2px)}.landing .role-grid a>h3{font-size:19px}.landing .role-grid a>p{color:var(--dark-quiet)}.landing .role-grid a>.role-live{border:1px solid color-mix(in srgb,var(--hue) 52%,var(--dark-line));border-radius:var(--r-pill);width:max-content;max-width:100%;color:var(--dark-quiet);padding:3px 11px;font-size:11.5px;line-height:1.7}.landing .role-grid a:hover>.role-live{color:var(--dark-ink);border-color:var(--hue)}.landing .role-grid a>span:last-child{font:inherit;color:var(--hue-soft);margin-block-start:auto;padding-block-start:8px;font-size:19px}.landing .trust{grid-template-columns:.92fr 1.08fr;align-items:start;gap:72px}.landing .trust-list{border-block-start:0;gap:14px;display:grid}.landing .trust-list p{border:1px solid var(--line);background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-2);color:var(--slate);align-items:center;gap:16px;padding:22px 24px;font-size:16.5px;line-height:1.7;display:flex}.landing .trust-list b{color:var(--quiet);flex:none;align-self:center;font:300 13px Neue,DIN,sans-serif}.landing .trust-list p>span{flex:1;min-width:0}.landing .trust-list .icon-chip{flex:none}.landing .cta{margin-inline:var(--pad-x);padding:60px var(--pad-x);gap:20px}.landing .cta .cta-sub{color:var(--dark-accent-tint);max-width:560px;font-size:18px}.cta-actions{z-index:1;justify-items:center;gap:16px;margin-block-start:10px;display:grid;position:relative}.landing .cta .brand,.landing .cta>h2,.landing .cta .cta-sub{z-index:1;position:relative}.landing .cta .cta-alt{color:var(--dark-accent-tint);border-block-end:1px solid var(--blue-soft);padding-block-end:2px;font-size:15px}.landing .cta .cta-alt:hover{color:var(--white);border-block-end-color:var(--white)}.landing .cta .cta-alt:active{opacity:.85}.landing .cta .cta-alt:focus-visible{outline:2px solid var(--white);outline-offset:3px}.cta-ring-a{block-size:360px;inline-size:360px;color:var(--white);opacity:.13;inset-block-start:-140px;inset-inline-start:-90px}.cta-ring-b{block-size:520px;inline-size:520px;color:var(--white);opacity:.1;inset-block-end:-300px;inset-inline-end:-120px}.landing footer.site-footer{background:var(--paper);border-block-start:1px solid var(--line);height:auto;color:var(--quiet);padding:58px max(36px,50vw - 682px) 30px;font-size:14px;display:block}.foot-main{grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:44px;padding-block-end:34px;display:grid}.foot-brand{align-content:start;gap:14px;max-width:340px;display:grid}.foot-brand p{font-size:14.5px;line-height:1.75}.foot-seel{color:var(--slate);font-size:13.5px}.foot-seel a{color:var(--blue-deep)}.foot-seel a:hover{color:var(--blue-deeper);text-decoration:underline}.foot-seel a:active{opacity:.8}.foot-col{align-content:start;gap:11px;font-size:14px;display:grid}.foot-col b{color:var(--ink);font-size:13px;font-weight:500}.foot-col a,.foot-col button{width:max-content;color:var(--slate);font:inherit;text-align:start;border-radius:var(--r-xs);background:0 0;border:0;padding:0}.foot-col a:hover,.foot-col button:hover{color:var(--blue-deep)}.foot-col a:active,.foot-col button:active{color:var(--blue-deeper)}.foot-col a:focus-visible,.foot-col button:focus-visible{outline:2px solid var(--blue-deep);outline-offset:3px}.foot-col span{color:var(--slate)}.foot-base{border-block-start:1px solid var(--line-soft);color:var(--quiet);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block-start:22px;font-size:13px;display:flex}@media (max-width:1360px){.tour-map{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1240px){.tour-entry-lede{grid-template-columns:1fr;align-items:start;gap:28px}}@media (max-width:1100px){.landing .steps{grid-template-columns:repeat(3,1fr);gap:14px}.landing .steps article{min-height:0;padding:26px 22px}.landing .trust{grid-template-columns:1fr;gap:36px}.foot-main{grid-template-columns:1fr 1fr;gap:34px}.hero-ring{display:none}}@media (max-width:900px){.landing .steps{grid-template-columns:1fr;gap:16px}.tour-map{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.demo-bar{gap:10px;padding:10px 18px;font-size:13px}.landing .wave-divider{--wave-h:52px}.tour-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tour-map li>button{min-height:172px;padding:16px 14px}.hero-cta-note{max-width:none}.landing .proof{padding:16px var(--pad-x);gap:10px 22px;font-size:12.5px}.landing .cta{margin-inline:var(--pad-x);padding:46px 22px}.landing .roles{margin-block-end:var(--sp-7)}.landing .role-grid a{min-height:0}.landing footer.site-footer{padding:40px 22px 26px}.foot-main{grid-template-columns:1fr;gap:28px;padding-block-end:26px}.foot-base{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width:460px){.tour-map{grid-template-columns:1fr}.tour-map li>button{min-height:0}.landing .trust-list p{flex-wrap:wrap;gap:12px}}@media (prefers-reduced-motion:reduce){.landing[data-rv=on] .rv,.landing .rv{opacity:1;transform:none}.demo-bar button:active,.insight button:active,.landing .button:active,.tour-map li>button:active,.landing .role-grid a:active{transform:none}}
.role-card,.chip,.step-panel{--hue:var(--blue);--hue-deep:var(--blue-deep);--hue-soft:var(--blue-soft);--hue-tint:var(--blue-tint);--hue-tint-2:var(--blue-tint-2)}.role-card[data-hue=violet],.chip[data-hue=violet],.step-panel[data-hue=violet]{--hue:var(--violet);--hue-deep:var(--violet-deep);--hue-soft:var(--violet-soft);--hue-tint:var(--violet-tint);--hue-tint-2:var(--violet-tint-2)}.role-card[data-hue=rose],.chip[data-hue=rose],.step-panel[data-hue=rose]{--hue:var(--rose);--hue-deep:var(--rose-deep);--hue-soft:var(--rose-soft);--hue-tint:var(--rose-tint);--hue-tint-2:var(--rose-tint-2)}.role-card[data-hue=teal],.chip[data-hue=teal],.step-panel[data-hue=teal]{--hue:var(--teal);--hue-deep:var(--teal-deep);--hue-soft:var(--teal-soft);--hue-tint:var(--teal-tint);--hue-tint-2:var(--teal-tint-2)}.chip[data-hue=graphite]{--hue:var(--slate);--hue-deep:var(--graphite);--hue-soft:var(--border);--hue-tint:var(--line);--hue-tint-2:var(--stone)}.auth-page .auth-aside{padding:52px 60px}.auth-page .auth-aside:after{display:none}.auth-page .auth-aside .aside-copy{z-index:1;justify-items:start;gap:4px;display:grid;position:relative}.auth-page .auth-aside blockquote{border-inline-start:2px solid var(--blue-soft);color:var(--dark-ink)}.auth-page .auth-aside blockquote small{color:var(--dark-quiet)}.aside-ring-a{block-size:520px;inline-size:520px;color:var(--dark-accent-tint);opacity:.13;inset-block-end:-250px;inset-inline-start:-170px}.aside-ring-b{block-size:300px;inline-size:300px;color:var(--dark-accent-tint);opacity:.1;inset-block-start:-110px;inset-inline-end:-90px}.auth-page .auth-main{background:var(--grad-hero) var(--paper)}.auth-page .back-link{border-radius:var(--r-pill);background:color-mix(in srgb,var(--white) 72%,transparent);align-items:center;gap:8px;min-height:44px;padding-inline:14px;display:inline-flex}.auth-page .back-link:hover{background:var(--white);color:var(--blue-deeper);box-shadow:var(--shadow-1)}.auth-page .back-link:active{opacity:.82}.auth-page .auth-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);width:min(100%,520px);box-shadow:var(--shadow-3);gap:18px;padding:40px 42px}.auth-page .auth-card>h1{font-size:31px}.auth-page .auth-card>p{margin-block-end:8px}.auth-page .button:active,.signup-page .button:active{transform:translateY(0)scale(.985)}.login-form{gap:16px;display:grid}.field-err{color:var(--red-deep);font-size:13.5px;line-height:1.65}.field-err a{color:var(--blue-deep);font-weight:500}.field-err a:hover{color:var(--blue-deeper);text-decoration:underline}.auth-page .sso{border-radius:var(--r-pill)}.auth-page .sso:active{background:var(--blue-tint);transform:translateY(0)scale(.99)}.auth-page .ms-icon,.auth-page .g-icon{border-radius:var(--r-sm);background:var(--stone);block-size:30px;inline-size:30px;color:var(--blue-deep);place-items:center;font:500 15px Neue,DIN,sans-serif;display:inline-grid}.auth-page .note,.signup-page .note{font-size:14px}.auth-page .note svg,.signup-page .note svg{flex:none;margin-block-start:4px}.auth-page .note a,.signup-page .note a{color:var(--blue-deep);border-block-end:1px solid #0000;font-weight:500}.auth-page .note a:hover,.signup-page .note a:hover{color:var(--blue-deeper);border-block-end-color:currentColor}.signup-page .note b{color:var(--ink)}.below-panel{max-width:600px;margin:14px auto 0}.step-panel.wide+.below-panel{max-width:680px}.quick-entry{border-block-start:1px solid var(--line-soft);text-align:center;justify-items:center;gap:10px;padding-block-start:16px;display:grid}.quick-entry small{color:var(--slate);font-size:13.5px}.chip-row{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.chip{border:1px solid color-mix(in srgb,var(--hue) 30%,transparent);background:var(--hue-tint-2);border-radius:var(--r-pill);min-height:30px;color:var(--hue-deep);cursor:pointer;align-items:center;gap:6px;padding:3px 13px;font-size:13.5px;display:inline-flex}.chip:hover{border-color:var(--hue);background:var(--hue-tint);box-shadow:var(--shadow-1);transform:translateY(-1px)}.chip:active{box-shadow:none;transform:translateY(0)scale(.97)}.chip:focus-visible{outline:2px solid var(--hue-deep);outline-offset:2px}.chip .code{letter-spacing:.06em;font-size:12.5px}.auth-tour{border:1px solid var(--blue-soft);background:var(--blue-tint-2);border-radius:var(--r-lg);text-align:start;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 18px;display:flex}.auth-tour>div{flex:1;gap:4px;min-width:200px;display:grid}.auth-tour b{color:var(--ink);font-size:14.5px;font-weight:500}.auth-tour span{color:var(--slate);font-size:13.5px;line-height:1.65}.auth-tour .button.ghost{background:var(--white);flex:none}.auth-tour .button.ghost:hover{background:var(--white);border-color:var(--blue-soft)}.signup-tour{max-width:640px;margin:26px auto 0}.signup-topbar .top-tour{font:inherit;color:var(--slate);border-radius:var(--r-xs);background:0 0;border:0;padding:0;font-size:14.5px}.signup-topbar .top-tour:hover{color:var(--blue-deep)}.signup-topbar .top-tour:active{color:var(--blue-deeper)}.signup-topbar .top-tour:focus-visible{outline:2px solid var(--blue-deep);outline-offset:3px}.success-links{color:var(--quiet);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:14.5px;display:flex}.success-links a{color:var(--blue-deep)}.success-links a:hover{color:var(--blue-deeper);text-decoration:underline}.success-links a:active{opacity:.8}.signup-page{background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.signup-topbar{background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);border-block-end:1px solid var(--line);z-index:10;flex:none;align-items:center;gap:24px;min-height:66px;padding-inline:48px;display:flex;position:sticky;inset-block-start:0}.signup-topbar .top-links{align-items:center;gap:18px;margin-inline-start:auto;display:flex}.signup-topbar .top-links a{color:var(--slate);border-radius:var(--r-xs);font-size:14.5px}.signup-topbar .top-links a:hover{color:var(--blue-deep)}.signup-topbar .top-links a:active{color:var(--blue-deeper)}.signup-topbar .top-links a.strong{color:var(--ink);font-size:15.5px;font-weight:500}.signup-topbar .top-links a.strong:hover{color:var(--blue-deep)}.signup-main{background:var(--grad-hero) var(--paper);flex:1;justify-content:center;padding:52px 48px 96px;display:flex}.signup-wrap{z-index:1;width:100%;max-width:880px;position:relative}.signup-head{text-align:center;margin-block-end:34px}.signup-head h1{font-size:clamp(28px,3.4vw,36px)}.signup-head p{max-width:620px;margin-block-start:10px;margin-inline:auto;font-size:16.5px;line-height:1.7}.stepper{justify-content:center;align-items:center;margin-block-end:34px;display:flex}.stepper .s-item{color:var(--quiet);align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.stepper .s-dot{border-radius:var(--r-circle);background:var(--white);block-size:34px;inline-size:34px;color:var(--faint);border:1px solid var(--border);transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease);flex:none;justify-content:center;align-items:center;font:300 14px Neue,DIN,sans-serif;display:inline-flex}.stepper .s-item.current{color:var(--ink)}.stepper .s-item.current .s-dot{background:var(--grad-primary);color:var(--white);box-shadow:var(--shadow-accent);animation:pop-in var(--dur-3) var(--ease-spring) both;border-color:#0000}.stepper .s-item.done{color:var(--green-deep)}.stepper .s-item.done .s-dot{background:var(--green-deep);color:var(--white);border-color:#0000}.stepper .s-line{border-radius:var(--r-pill);background:var(--border);width:74px;height:3px;margin-inline:14px;position:relative;overflow:hidden}.stepper .s-line:after{content:"";border-radius:var(--r-pill);background:var(--green-deep);width:0;transition:width var(--dur-4) var(--ease);position:absolute;inset-block:0;inset-inline-start:0}.stepper .s-line.done:after{width:100%}.role-cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.role-card{border:1px solid var(--line);background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-1);text-align:start;cursor:pointer;font:inherit;transition:transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease),border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease);align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.role-card:hover{border-color:var(--hue);box-shadow:var(--shadow-2);transform:translateY(-3px)}.role-card:active{box-shadow:var(--shadow-1);transform:translateY(0)scale(.99)}.role-card:focus-visible{outline:2px solid var(--hue-deep);outline-offset:3px}.role-card.selected{border-color:var(--hue);background:var(--hue-tint-2);box-shadow:var(--shadow-2)}.role-icon{border-radius:var(--r-md);background:var(--hue-tint);block-size:48px;inline-size:48px;color:var(--hue-deep);box-shadow:var(--shadow-1);transition:transform var(--dur-3) var(--ease);flex:none;place-items:center;display:grid}.role-card:hover .role-icon{transform:translateY(-2px)}.role-body{flex:1;gap:6px;display:grid}.role-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.role-top b{font-size:18px}.role-tick{color:var(--hue-deep);display:inline-flex}.role-body p{font-size:14.5px;line-height:1.65}.role-hint{color:var(--hue-deep);font-size:13px;font-weight:500}.step1-actions{justify-content:center;margin-block-start:26px;display:flex}.step-panel{border:1px solid var(--line);background:var(--white);border-radius:var(--r-xl);box-shadow:var(--shadow-2);border-block-start:3px solid var(--hue);gap:18px;max-width:600px;margin-inline:auto;padding:34px 38px;display:grid}.step-panel.wide{max-width:680px}.panel-title{align-items:center;gap:12px;display:flex}.panel-title b{font-size:20px}.step-panel .help{margin-block-start:-8px;font-size:15px;line-height:1.7}.code-input{letter-spacing:.08em;text-align:left}.ltr-field{text-align:left}.code-note{align-items:flex-start}.code-note.warn{align-items:center}.code-note .swap{border:1px solid var(--amber-line);background:var(--amber-tint);color:var(--amber-deep);border-radius:var(--r-pill);min-height:32px;margin-inline-start:4px;padding:2px 12px;font-size:13px}.code-note .swap:hover{background:var(--amber-deep);border-color:var(--amber-deep);color:var(--white)}.code-note .swap:active{background:var(--amber-deeper);border-color:var(--amber-deeper);color:var(--white);transform:translateY(1px)}.code-note .swap:focus-visible{outline:2px solid var(--amber-deep);outline-offset:2px}.hint-chips{color:var(--slate);flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;display:flex}.size-chips{flex-wrap:wrap;gap:10px;display:flex}.size-chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--white);min-height:44px;color:var(--slate);cursor:pointer;align-items:center;padding-inline:18px;font-size:14.5px;display:inline-flex}.size-chip:hover{border-color:var(--blue-soft);color:var(--blue-deep);background:var(--blue-tint-2)}.size-chip:active{transform:translateY(1px)}.size-chip:focus-visible{outline:2px solid var(--blue-deep);outline-offset:2px}.size-chip.selected{background:var(--blue-tint);border-color:var(--blue-deep);color:var(--blue-deep);font-weight:500}.step-actions{gap:12px;margin-block-start:8px;display:flex}.step-actions .grow{flex:1}.success-panel{border:1px solid var(--green-soft);background:var(--grad-card);border-radius:var(--r-xl);box-shadow:var(--shadow-3);text-align:center;justify-items:center;gap:15px;max-width:560px;margin-inline:auto;padding:46px 40px;display:grid}.success-icon{border-radius:var(--r-circle);background:var(--green-tint);block-size:68px;inline-size:68px;color:var(--green-deeper);box-shadow:var(--shadow-1);animation:pop-in var(--dur-4) var(--ease-spring) both;place-items:center;display:grid;position:relative}.success-icon .confetti{inset-block-start:-7px;inset-inline-start:50%}.success-panel h2{font-size:24px}.success-panel>p{max-width:420px;font-size:16px;line-height:1.75}.bind-line{border:1px solid var(--line);background:var(--surface-1);border-radius:var(--r-md);color:var(--slate);text-align:start;width:100%;padding:13px 18px;font-size:14.5px;line-height:1.7}.bind-line b{color:var(--ink)}.bind-line .code{letter-spacing:.06em;color:var(--blue-deep);font-size:13px}.success-panel .restart{color:var(--blue-deep);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;padding:0;font-size:14.5px}.success-panel .restart:hover{color:var(--blue-deeper);text-decoration:underline}.success-panel .restart:active{opacity:.8}.success-panel .restart:focus-visible{outline:2px solid var(--blue-deep);outline-offset:3px}@media (max-width:1100px){.auth-page .auth-aside{padding-inline:36px}}@media (max-width:760px){.auth-page .auth-card{border-radius:var(--r-lg);padding:28px 22px}.signup-topbar{gap:14px;padding-inline:20px}.signup-main{padding:32px 20px 72px}.role-cards{grid-template-columns:1fr}.step-panel{border-radius:var(--r-lg);padding:26px 20px}.success-panel{border-radius:var(--r-lg);padding:32px 22px}.stepper .s-line{width:26px;margin-inline:10px}.stepper .s-dot{block-size:30px;inline-size:30px}}@media (max-width:560px){.signup-topbar{flex-wrap:wrap;row-gap:8px;min-height:0;padding-block:10px}.signup-topbar .top-links{justify-content:flex-start;gap:16px;width:100%;margin-inline-start:0;font-size:13.5px}.signup-topbar .top-links a,.signup-topbar .top-tour{font-size:13.5px}.signup-topbar .top-links a.strong{font-size:14px}.stepper .s-item:not(.current) .s-label{display:none}.step-actions{flex-wrap:wrap}.chip{min-height:44px;padding:8px 16px}.chip-row{gap:8px}}@media (prefers-reduced-motion:reduce){.chip:hover,.role-card:hover,.role-card:hover .role-icon,.size-chip:active,.code-note .swap:active,.auth-page .sso:active{transform:none}}
.workflow-rail{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 76%);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-1);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:8px 12px;display:flex}.rail-sep{border-radius:var(--r-pill);background:var(--line);block-size:2px;inline-size:22px;transition:background-color var(--dur-3) var(--ease);flex:none}.rail-sep.done{background:var(--green-soft)}.rail-step{border-radius:var(--r-pill);min-height:40px;color:var(--quiet);white-space:nowrap;transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease);align-items:center;gap:9px;padding-inline:7px 15px;font-size:13px;display:inline-flex}.rail-step i{border:1px solid var(--border);background:var(--white);border-radius:var(--r-circle);block-size:26px;inline-size:26px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease);direction:ltr;flex:none;place-items:center;font:300 12px Neue;display:grid}.rail-step.done{color:var(--green-deep)}.rail-step.done i{background:var(--green-tint);border-color:var(--green-line);color:var(--green-deeper)}.rail-step.current{color:var(--role-accent);background:var(--role-tint);box-shadow:var(--shadow-1);font-weight:500}.rail-step.current i{background:var(--grad-role);color:var(--white);box-shadow:var(--shadow-role);border-color:#0000}.step-gate{--empty-h:440px;gap:14px;padding:52px 32px;position:relative;overflow:hidden}.step-gate:before{content:"";z-index:0;pointer-events:none;aspect-ratio:1;background:var(--role-tint-2);border-radius:58% 42% 46% 54%/48% 52%;inline-size:280px;position:absolute;inset-block-start:-84px;inset-inline-end:-72px}.step-gate:after{content:"";z-index:0;pointer-events:none;aspect-ratio:1;background:var(--amber-tint-2);border-radius:38% 62% 63% 37%/54% 41% 59% 46%;inline-size:200px;position:absolute;inset-block-end:-80px;inset-inline-start:-60px}.step-gate>*{z-index:1;position:relative}.step-gate>span:first-child{background:var(--role-tint);block-size:64px;inline-size:64px;color:var(--role-accent);box-shadow:var(--shadow-1)}.step-gate h2{font-size:23px}.step-gate p{max-width:460px}.step-gate>small{color:var(--quiet);font-size:13px}.step-gate .workflow-rail{width:100%;margin-block-start:12px}.lib-value{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 66%);align-items:flex-start;gap:18px;margin-block-end:20px;display:flex}.lib-value>div{gap:8px;display:grid}.lib-value h2{font-size:20px}.lib-value p{max-width:780px}.lib-filters{gap:14px;margin-block-end:20px;display:grid}.lib-filter-row{grid-template-columns:1fr 1fr 1.4fr;gap:14px;display:grid}.lib-filter-foot{border-block-start:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block-start:12px;display:flex}.lib-filter-foot small{color:var(--quiet);font-size:12.5px}.lib-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-block-end:24px;display:grid}.lib-card{text-align:start;min-height:206px;font:inherit;color:inherit;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease);flex-direction:column;align-items:stretch;gap:10px;padding:20px;display:flex;position:relative}.lib-card:hover{border-color:var(--role-vivid);background:var(--role-tint-2);box-shadow:var(--shadow-3);transform:translateY(-3px)}.lib-card:active{box-shadow:var(--shadow-1);transform:translateY(0)scale(.99)}.lib-card:disabled{opacity:.55;box-shadow:var(--shadow-1);transform:none}.lib-card.featured{border-inline-start:3px solid var(--role-accent);background:linear-gradient(180deg,var(--role-tint-2),var(--white) 58%)}.lib-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.lib-card-head b{font-size:16px;line-height:1.45}.lib-flag{color:var(--bronze-deep);background:var(--bronze-tint);border:1px solid var(--bronze-line);border-radius:var(--r-pill);white-space:nowrap;padding:1px 10px;font-size:11.5px;font-style:normal}.lib-card-sub{color:var(--quiet);font-size:12.5px}.lib-tags{flex-wrap:wrap;gap:6px;display:flex}.lib-tags em{color:var(--slate);background:var(--stone);border-radius:var(--r-pill);padding:2px 10px;font-size:12px;font-style:normal}.lib-facts{border-block-start:1px solid var(--line-soft);color:var(--slate);flex-wrap:wrap;gap:14px;margin-block-start:auto;padding-block-start:12px;font-size:12.5px;display:flex}.lib-indexed{color:var(--green-deep);font-size:12px;line-height:1.6}.lib-real{width:max-content;max-width:100%;color:var(--green-deeper);background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--r-pill);padding:2px 10px;font-size:11.5px;line-height:1.7}.cur-realfile{border:1px solid var(--green-line);background:var(--green-tint);width:max-content;max-width:100%;color:var(--green-deeper);border-radius:var(--r-pill);flex-wrap:wrap;align-items:center;gap:7px;margin-block-start:10px;padding:4px 13px;font-size:12.5px;display:inline-flex}.pool-topup-note{color:var(--quiet);text-align:start;max-width:420px;font-size:12.5px;line-height:1.7}.lib-empty{--empty-h:280px;margin-block-end:24px}.lib-empty p{max-width:470px}.lib-empty>span:first-child{background:var(--role-tint);color:var(--role-accent)}.lib-fallback{background:linear-gradient(180deg,var(--cream),var(--white) 72%);border-color:var(--amber-soft)}.lib-fallback-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.lib-fallback-head>div{gap:6px;max-width:660px;display:grid}.lib-fallback-head .button{flex:none}.lib-fallback+.upload-layout{margin-block-start:20px}.lib-linking{text-align:center;justify-items:center;gap:14px;max-width:640px;margin:auto;padding:52px 32px;display:grid}.lib-linking-ring{border:3px solid var(--role-tint);border-block-start-color:var(--role-accent);border-radius:var(--r-circle);block-size:54px;inline-size:54px;animation:1s linear infinite lib-spin}.lib-linking p{max-width:470px}@keyframes lib-spin{to{transform:rotate(360deg)}}.cur-source{border:1px solid var(--line);background:var(--role-tint-2);border-radius:var(--r-md);color:var(--slate);flex-wrap:wrap;align-items:center;gap:9px;padding:11px 14px;font-size:13.5px;display:flex}.cur-source b{color:var(--ink)}.cur-source-dot{border-radius:var(--r-circle);background:var(--bronze-deep);flex:none;block-size:9px;inline-size:9px}.cur-source-dot.lib{background:var(--green-deep)}.cur-demo-note{color:var(--quiet);padding-block-start:10px;font-size:12.5px}.cur-change{border:1px solid var(--border);background:var(--white);width:100%;color:var(--slate);border-radius:var(--r-pill);min-height:44px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease);font-size:13.5px}.cur-change:hover{border-color:var(--role-vivid);background:var(--role-tint-2);color:var(--role-accent);box-shadow:var(--shadow-1)}.cur-change:active{transform:translateY(0)scale(.985)}.cur-confirm{flex-direction:column;align-items:stretch;gap:10px}.cur-confirm>b{font-size:14.5px}.cur-confirm p{font-size:13px;line-height:1.7}.cur-confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.cur-confirm-actions .button:active{transform:translateY(0)scale(.985)}.dropzone-input{display:none}.dropzone{transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),transform var(--dur-3) var(--ease)}.dropzone:hover{border-color:var(--blue-deep);background:var(--blue-tint)}.dropzone.dragging{border-style:solid;border-color:var(--blue-deep);background:var(--blue-tint);transform:scale(1.005)}.upload-file-error{width:100%}.upload-file-chip{border:1px solid var(--line);background:var(--stone);border-radius:var(--r-pill);width:max-content;max-width:100%;color:var(--slate);align-items:center;gap:8px;padding:4px 13px;font-size:12.5px;display:inline-flex}.upload-file-chip span{color:var(--quiet)}.demo-toggle{border:1px dashed var(--border);border-radius:var(--r-md);color:var(--quiet);cursor:pointer;transition:border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease);flex-direction:row;align-items:center;gap:10px;padding:11px 13px;font-size:13px;display:flex}.demo-toggle:hover,.demo-toggle:focus-within{border-color:var(--amber-line);color:var(--amber-deep);background:var(--amber-tint-2)}.demo-toggle input{width:16px;min-height:auto;accent-color:var(--amber-deep);flex:none}.upload-failed{border-color:var(--red-soft);max-width:640px;box-shadow:var(--shadow-2);justify-items:start;gap:12px;padding:32px;display:grid}.fail-icon{border-radius:var(--r-circle);background:var(--red-tint);block-size:48px;inline-size:48px;color:var(--red-deep);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red-deep) 16%,transparent);place-items:center;font-size:17px;display:grid}.fail-reason{color:var(--red-deep)}.fail-actions{flex-wrap:wrap;gap:10px;margin-block-start:6px;display:flex}.upload-failed>small{color:var(--quiet);border-block-start:1px solid var(--line-soft);width:100%;padding-block-start:12px;font-size:12.5px}.q-edit{gap:16px;display:grid}.q-edit textarea{font:inherit;color:inherit;border:1px solid var(--border);background:var(--white);border-radius:var(--r-sm);resize:vertical;outline:none;width:100%;min-height:64px;padding:11px 13px}.q-edit textarea:focus{border-color:var(--blue-deep);box-shadow:var(--ring)}.q-edit-options{gap:8px;display:grid}.q-edit-option{border:1px solid var(--line);background:var(--white);border-radius:var(--r-md);transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease);align-items:center;gap:10px;padding:9px 12px;display:flex}.q-edit-option:hover,.q-edit-option:focus-within{border-color:var(--blue-soft);background:var(--blue-tint-2)}.q-edit-option.correct{border-color:var(--green-line);background:var(--green-tint)}.q-edit-option.correct:hover,.q-edit-option.correct:focus-within{border-color:var(--green-deep);background:var(--green-tint)}.q-edit-option input[type=radio]{width:16px;min-height:auto;accent-color:var(--green-deep);cursor:pointer;flex:none}.q-edit-option i{border:1px solid var(--border);background:var(--white);border-radius:var(--r-circle);block-size:28px;inline-size:28px;color:var(--quiet);flex:none;place-items:center;font-size:13px;font-style:normal;display:grid}.q-edit-option.correct i{border-color:var(--green-deep);color:var(--green-deeper);background:var(--green-tint-2)}.q-edit-option input[type=text]{background:0 0;border:0;min-height:38px;padding:4px 2px}.q-edit-option input[type=text]:focus{box-shadow:none;border:0;outline:none}.q-edit-actions{border-block-start:1px solid var(--line);gap:10px;padding-block-start:14px;display:flex}.edited-tag{border:1px solid var(--bronze-line);border-radius:var(--r-pill);background:var(--bronze-tint);width:max-content;min-height:23px;color:var(--bronze-deep);align-items:center;padding:1px 10px;font-size:11.5px;display:inline-flex}.q-actions button{border-radius:var(--r-sm)}.q-actions button:hover{background:var(--role-tint-2);color:var(--role-accent)}.q-actions button.danger:hover{background:var(--red-tint-2);color:var(--red-deep)}.q-actions button:active,.demo-toggle:active,.step-gate .button:active,.q-edit-actions .button:active,.fail-actions .button:active,.success-state .button:active{transform:translateY(0)scale(.985)}.review-list .question-review{transition:box-shadow var(--dur-3) var(--ease),border-color var(--dur-2) var(--ease);position:relative;overflow:hidden}.review-list .question-review:hover{box-shadow:var(--shadow-2)}.review-list .question-review.flagged{border-color:var(--amber-soft);background:linear-gradient(180deg,var(--amber-tint-2),var(--white) 44%)}.review-list .question-review.flagged:before{content:"";background:var(--amber-line);inline-size:3px;position:absolute;inset-block:0;inset-inline-start:0}.q-index .q-kind{margin-block-start:2px}.task-link{color:var(--quiet);font:300 13px Neue}.success-state>span{background:var(--green-tint);color:var(--green-deeper)}.t-link{color:var(--role-accent);border-radius:var(--r-pill);background:0 0;border:0;align-items:center;gap:8px;min-height:34px;padding:4px 10px;font-size:13px;display:inline-flex}.t-link:hover{background:var(--role-tint-2);color:var(--blue-deeper)}.t-link:active{transform:translateY(0)scale(.97)}.t-hint{color:var(--amber-deep);font-size:12.5px;display:block}.t-intro-actions{flex-wrap:wrap;gap:10px;display:flex}.t-intro-select{color:var(--quiet);gap:5px;font-size:13px}.t-intro-select select{min-width:190px}.t-gate-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.t-metric-link{text-align:start;font:inherit;cursor:pointer;gap:6px}.t-metric-link em{color:var(--role-accent);white-space:nowrap;font-style:normal}.t-metric-link:hover{border-color:var(--role-soft,var(--blue-soft));box-shadow:var(--shadow-3)}.t-metric-link:hover em{color:var(--blue-deeper)}.t-metric-link:active{transform:translateY(0)scale(.99)}.gen-busy{color:var(--role-accent);font-size:13px}.pool-controls{gap:14px;margin-block-end:20px;display:grid}.pool-controls-row{grid-template-columns:1fr 1.6fr;gap:14px;display:grid}.pool-tabs{border-block-start:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-block-start:14px;display:flex}.pool-chips{flex-wrap:wrap;gap:8px;display:flex}.pool-chip{border:1px solid var(--border);background:var(--white);color:var(--slate);border-radius:var(--r-pill);min-height:40px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);align-items:center;gap:8px;padding:6px 15px;font-size:13px;display:inline-flex}.pool-chip i{color:var(--quiet);background:var(--stone);border-radius:var(--r-pill);text-align:center;min-inline-size:24px;transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease);direction:ltr;padding:1px 8px;font:300 12px Neue}.pool-chip:hover{border-color:var(--role-vivid);background:var(--role-tint-2);color:var(--role-accent)}.pool-chip.active{border-color:var(--role-accent);background:var(--role-tint);color:var(--role-accent);box-shadow:var(--shadow-1);font-weight:500}.pool-chip.active i{background:var(--role-accent);color:var(--white)}.pool-chip:active{transform:translateY(0)scale(.97)}.pool-list{gap:14px;display:grid}.pool-card{transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);grid-template-columns:34px 1fr 158px;align-items:start;gap:18px;display:grid;position:relative}.pool-card:hover{border-color:var(--role-vivid);box-shadow:var(--shadow-2)}.pool-card.picked,.bank-card.picked{border-color:var(--role-accent);background:linear-gradient(180deg,var(--role-tint-2),var(--white) 62%);box-shadow:var(--shadow-ring),var(--shadow-2);transform:translateY(-1px)}.pool-card.picked:before,.bank-card.picked:before{content:"";background:var(--grad-role);border-start-start-radius:var(--r-lg);border-end-start-radius:var(--r-lg);inline-size:4px;position:absolute;inset-block:-1px;inset-inline-start:-1px}.pool-pick{padding-block-start:4px}.pool-pick input{width:20px;min-height:auto;accent-color:var(--role-accent);cursor:pointer}.pool-body{gap:12px;min-width:0;display:grid}.pool-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pool-lesson{color:var(--quiet);font-size:12.5px}.pool-kind{color:var(--slate);background:var(--stone);border-radius:var(--r-pill);padding:2px 10px;font-size:12px}.pool-new{color:var(--green-deeper);background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--r-pill);padding:1px 10px;font-size:11.5px;font-style:normal}.pool-meta{border-block-start:1px solid var(--line);color:var(--quiet);flex-wrap:wrap;gap:16px;padding-block-start:12px;font-size:12px;display:flex}.pool-side{align-content:start;gap:8px;display:grid}.pool-side-label{color:var(--quiet);font-size:12px}.pool-tier{border:1px solid var(--border);background:var(--stone);border-radius:var(--r-md);gap:3px;padding:4px;display:grid}.pool-tier button{border-radius:var(--r-sm);min-height:36px;color:var(--slate);background:0 0;border:0;font-size:12.5px}.pool-tier button:hover{background:var(--role-tint-2);color:var(--role-accent)}.pool-tier button.active{background:var(--white);color:var(--role-accent);box-shadow:var(--shadow-1);font-weight:500}.pool-tier button:active{transform:scale(.97)}.pool-choose{border:1px solid var(--border);background:var(--white);color:var(--role-accent);border-radius:var(--r-pill);min-height:40px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);font-size:13px}.pool-choose:hover{border-color:var(--role-vivid);background:var(--role-tint-2);box-shadow:var(--shadow-1)}.pool-choose:active{transform:translateY(0)scale(.98)}.pool-card.picked .pool-choose{background:var(--role-tint);border-color:var(--role-accent);font-weight:500}.pool-empty{--empty-h:300px}.pool-empty p{max-width:460px}.pool-empty>span:first-child{background:var(--role-tint);color:var(--role-accent)}.pool-empty b,.bank-empty b,.lib-empty b{color:var(--ink);font-size:17px}.pool-bar,.bank-bar{flex-wrap:wrap;gap:16px}.pool-bar span,.bank-bar span{font-size:14px}.pool-bar>span{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pool-bar-actions,.bank-bar-actions{flex-wrap:wrap;gap:10px;display:flex}.pool-bar .button.light:hover,.bank-bar .button.light:hover{background:var(--blue-tint)}.pool-bar .button:active,.pool-empty .button:active{transform:translateY(0)scale(.985)}.assembly-count{border-radius:var(--r-pill);background:var(--role-accent);block-size:30px;min-inline-size:30px;color:var(--white);flex:none;place-items:center;padding-inline:9px;font:300 14px Neue;display:inline-grid}.pool-chip-rows{gap:8px;display:grid}.pool-manual{color:var(--amber-deep);background:var(--amber-tint);border:1px solid var(--amber-line);border-radius:var(--r-pill);padding:1px 10px;font-size:12px}.answer-box{border:1px solid var(--line);border-radius:var(--r-md);gap:6px;margin-block-end:10px;padding:13px 15px;display:grid}.answer-box small{color:var(--quiet);font-size:12px}.answer-box p{color:var(--graphite);font-size:14px;line-height:1.75}.answer-box.model{border-color:var(--green-soft);background:var(--green-tint-2)}.answer-box.model small{color:var(--green-deeper)}.fill-accept{color:var(--quiet);margin-block-end:10px;font-size:12.5px}.manual-grade-note{color:var(--amber-deep);margin-block-end:10px;font-size:12.5px}.q-kind{color:var(--slate);background:var(--stone);border-radius:var(--r-pill);text-align:center;width:max-content;padding:3px 10px;font-size:11.5px}.q-edit-static{font-weight:400}.q-edit-answer{gap:14px;display:grid}.q-edit-variants{gap:8px;display:grid}.q-edit-variants .field-label{margin-block-end:0}.q-edit-variant{gap:8px;display:flex}.q-edit-variant-remove{border:1px solid var(--line);background:var(--white);color:var(--quiet);border-radius:var(--r-pill);flex:none;min-height:46px;padding:0 16px;font-size:13px}.q-edit-variant-remove:hover{border-color:var(--red-soft);color:var(--red-deep);background:var(--red-tint-2)}.q-edit-variant-add{border:1px dashed var(--border);color:var(--role-accent);border-radius:var(--r-pill);background:0 0;width:max-content;min-height:44px;padding:0 16px;font-size:13px}.q-edit-variant-add:hover{border-color:var(--role-vivid);background:var(--role-tint-2);border-style:solid}.q-edit-variant-remove:active,.q-edit-variant-add:active{transform:translateY(0)scale(.98)}.assign-kind-mix{color:var(--slate);font-size:13px}.assign-written-note{margin-block-start:2px}.success-written{color:var(--amber-deep);max-width:520px;font-size:13.5px}.grading-panel{border-inline-start:3px solid var(--amber-line);background:linear-gradient(180deg,var(--amber-tint-2),var(--white) 32%);box-shadow:var(--shadow-2);margin-block-end:24px}.grading-progress{color:var(--amber-deep);white-space:nowrap;background:var(--amber-tint);border:1px solid var(--amber-line);border-radius:var(--r-pill);padding:5px 15px;font:300 15px Neue}.grading-item{border-block-start:1px solid var(--line);gap:14px;padding-block:18px;display:grid}.grading-item-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.grading-item-head .q-num{color:var(--quiet);flex:none;font:300 18px Neue}.grading-item-head h3{flex:1;min-width:220px;font-size:16px;line-height:1.6}.grading-max{color:var(--quiet);white-space:nowrap;font-size:12.5px}.grading-locked{color:var(--green-deeper);background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--r-pill);white-space:nowrap;padding:3px 13px;font-size:13px}.grading-compare{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grading-answer{border:1px solid var(--border);background:var(--white);border-radius:var(--r-md);align-content:start;gap:6px;padding:13px 15px;display:grid}.grading-answer small{color:var(--quiet);font-size:12px}.grading-answer p{color:var(--graphite);font-size:14px;line-height:1.8}.grading-answer.model{border-color:var(--green-soft);background:var(--green-tint-2)}.grading-answer.model small{color:var(--green-deeper)}.grading-controls{grid-template-columns:auto 1fr auto;align-items:end;gap:14px;display:grid}.grading-points-wrap{gap:7px;display:grid}.grading-points-label{color:var(--graphite);font-size:14px}.grading-points{border:1px solid var(--border);background:var(--stone);border-radius:var(--r-pill);gap:3px;width:max-content;padding:4px;display:flex}.grading-points button{border-radius:var(--r-pill);min-width:48px;min-height:40px;color:var(--slate);background:0 0;border:0;font:300 15px Neue}.grading-points button:hover{background:var(--white);color:var(--role-accent);box-shadow:var(--shadow-1)}.grading-points button.active{background:var(--grad-role);color:var(--white);box-shadow:var(--shadow-role)}.grading-points button:active{transform:scale(.97)}.grading-note input{min-height:44px}.grading-note-view{width:fit-content;max-width:100%}.grading-item.graded{opacity:.94}.grading-controls .button:active{transform:translateY(0)scale(.985)}.bank-filters{gap:14px;margin-block-end:20px;display:grid}.bank-filter-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.bank-filter-foot{border-block-start:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block-start:12px;display:flex}.bank-filter-foot small{color:var(--quiet);font-size:12.5px}.bank-list{gap:14px;display:grid}.bank-card{transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);grid-template-columns:34px 1fr 132px;align-items:start;gap:18px;display:grid;position:relative}.bank-card:hover{border-color:var(--role-vivid);box-shadow:var(--shadow-2)}.bank-pick{padding-block-start:4px}.bank-pick input{width:20px;min-height:auto;accent-color:var(--role-accent);cursor:pointer}.bank-body{gap:12px;min-width:0;display:grid}.bank-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bank-lesson{color:var(--quiet);font-size:12.5px}.bank-diff{color:var(--slate);background:var(--stone);border-radius:var(--r-pill);padding:2px 10px;font-size:12px}.bank-options>summary{cursor:pointer;color:var(--role-accent);border-radius:var(--r-sm);align-items:center;min-height:36px;font-size:13px;display:flex}.bank-options>summary:hover{color:var(--blue-deeper)}.bank-options[open]>summary,.bank-options .mini-options{margin-block-end:10px}.bank-explain{color:var(--slate);border-inline-start:2px solid var(--role-vivid);padding-inline-start:12px;font-size:13px}.bank-meta{border-block-start:1px solid var(--line);color:var(--quiet);flex-wrap:wrap;gap:16px;padding-block-start:12px;font-size:12px;display:flex}.bank-actions{align-content:start;gap:5px;display:grid}.bank-actions button{color:var(--role-accent);border-radius:var(--r-sm);background:0 0;border:0;min-height:38px;font-size:13px}.bank-actions button:hover{background:var(--role-tint-2)}.bank-actions button.danger{color:var(--red-deep)}.bank-actions button.danger:hover{background:var(--red-tint-2)}.bank-actions button:active{transform:translateY(0)scale(.97)}.bank-confirm{color:var(--red-deep);padding-block-start:6px;font-size:12.5px}.bank-empty{--empty-h:300px}.bank-empty p{max-width:420px}.bank-empty>span:first-child{background:var(--role-tint);color:var(--role-accent)}.bank-bar .button:active,.bank-empty .button:active{transform:translateY(0)scale(.985)}.assign-mode{grid-template-columns:1fr 1fr;gap:12px;display:grid}.assign-mode-option{text-align:start;border:1px solid var(--border);background:var(--white);border-radius:var(--r-lg);min-height:104px;box-shadow:var(--shadow-1);transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);align-content:start;justify-items:start;gap:7px;padding:16px 18px;display:grid}.assign-mode-option b{font-size:15px}.assign-mode-option small{color:var(--quiet);font-size:12.5px;line-height:1.6}.assign-mode-dot{border:1px solid var(--border);border-radius:var(--r-circle);block-size:18px;inline-size:18px;transition:border-color var(--dur-2) var(--ease),border-width var(--dur-2) var(--ease);display:block}.assign-mode-option:hover{border-color:var(--role-vivid);background:var(--role-tint-2);box-shadow:var(--shadow-2);transform:translateY(-2px)}.assign-mode-option.active{border-color:var(--role-accent);background:linear-gradient(180deg,var(--role-tint-2),var(--white) 62%);box-shadow:var(--shadow-ring),var(--shadow-2)}.assign-mode-option.active .assign-mode-dot{border-color:var(--role-accent);border-width:5px}.assign-mode-option:active{transform:translateY(0)scale(.99)}.assign-rules{gap:7px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.assign-rules li{align-items:center;gap:9px;display:flex}.assign-rules-note{margin-block-start:12px}.t-class-list{gap:10px;display:grid}.class-choice{transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease)}.class-choice:hover{border-color:var(--role-vivid);background:var(--role-tint-2)}.switch-row>span{gap:2px;display:grid}.switch-row small{color:var(--quiet);font-size:11.5px}.switch-row input:disabled{cursor:not-allowed;opacity:.6}.success-state>div{flex-wrap:wrap;justify-content:center}.heatmap-panel .panel-head{border-block-end:1px solid var(--line-soft);padding-block-end:16px}.legend{color:var(--quiet);background:var(--stone);border-radius:var(--r-pill);align-items:center;gap:5px;padding:5px 13px;font-size:12.5px;display:flex}.legend i{border-radius:var(--r-xs);block-size:15px;inline-size:15px}.heat-row strong{color:var(--graphite);align-self:center;font-size:12px}.heatmap span{box-shadow:inset 0 0 0 1px hsl(var(--shadow-tint)/.08)}.action-panel{background:linear-gradient(180deg,var(--amber-tint-2),var(--white) 52%)}.action-panel>strong,.diagnosis>strong{color:var(--amber-deep);font:300 50px Neue}.student-chips span{background:var(--red-tint);color:var(--red-deep)}.followup-table .table-row{grid-template-columns:1.3fr .6fr 1.2fr .9fr 1.2fr}.t-row-actions{flex-wrap:wrap;gap:6px;display:flex}.t-row-action{border:1px solid var(--border);background:var(--white);color:var(--role-accent);border-radius:var(--r-pill);min-height:36px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);padding:4px 14px;font-size:12.5px}.t-row-action:hover{border-color:var(--role-vivid);background:var(--role-tint-2);box-shadow:var(--shadow-1)}.t-row-action.ghost{color:var(--slate)}.t-row-action:active{transform:translateY(0)scale(.97)}.t-row-action:disabled{opacity:1;color:var(--green-deeper);border-color:var(--green-line);background:var(--green-tint)}.followup-detail{background:var(--role-tint-2);border-block-start:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:1fr 1fr auto;align-items:center;gap:18px;min-width:700px;padding:16px 12px;display:grid}.followup-detail b,.followup-detail p{font-size:13px}.grades-table{overflow:auto}.grades-table .table-row{grid-template-columns:1.5fr .8fr .7fr 1fr 1.2fr}.grades-table .grade-row{border-radius:var(--r-sm);transition:background-color var(--dur-2) var(--ease)}.grades-table .grade-row:hover{background:var(--role-tint-2)}.grades-table .grade-name{gap:2px;display:grid}.grades-table .grade-name small{color:var(--quiet);font-size:11.5px}.grades-table .grade-raw{color:var(--slate);font:300 15px Neue}.grades-table .grade-pct{font:400 16px Neue}.grades-table .grade-pct.green{color:var(--green-deep)}.grades-table .grade-pct.amber{color:var(--amber-deep)}.grades-table .grade-pct.red{color:var(--red-deep)}.grades-table .grade-dash{color:var(--faint)}.grades-table .grade-note{background:var(--bronze-tint-2);border:1px solid var(--bronze-soft);border-radius:var(--r-md);min-width:700px;color:var(--bronze-deep);flex-wrap:wrap;align-items:center;gap:16px;padding:11px 13px;font-size:12.5px;display:flex}.grades-table .grade-note b{font-size:12.5px}.grades-table .grade-note small{color:var(--slate);margin-inline-start:auto}.grades-table .grade-override{background:var(--stone);border-radius:var(--r-md);grid-template-columns:180px 1fr auto;align-items:end;gap:14px;min-width:700px;margin-block:6px;padding:18px 14px;display:grid}.grades-table .grade-override label{font-size:13px}.grades-table .grade-form-actions{gap:8px;display:flex}.grades-table .grade-override .t-hint{grid-column:1/-1}.grades-table .grade-override .button:active{transform:translateY(0)scale(.985)}@media (prefers-reduced-motion:reduce){.lib-linking-ring{animation:none}.q-actions button:active,.demo-toggle:active,.step-gate .button:active,.q-edit-actions .button:active,.fail-actions .button:active,.success-state .button:active,.t-link:active,.t-metric-link:active,.bank-actions button:active,.bank-bar .button:active,.bank-empty .button:active,.assign-mode-option:active,.assign-mode-option:hover,.t-row-action:active,.grades-table .grade-override .button:active,.lib-card:active,.lib-card:hover,.lib-empty .button:active,.cur-change:active,.cur-confirm-actions .button:active,.pool-chip:active,.pool-tier button:active,.pool-choose:active,.pool-bar .button:active,.pool-empty .button:active,.pool-card.picked,.bank-card.picked,.dropzone.dragging,.grading-points button:active,.grading-controls .button:active,.q-edit-variant-remove:active,.q-edit-variant-add:active{transform:none}}@media (max-width:1100px){.bank-filter-row,.lib-grid,.lib-filter-row{grid-template-columns:1fr 1fr}.pool-controls-row{grid-template-columns:1fr}}@media (max-width:760px){.step-gate{--empty-h:380px;padding:38px 18px}.step-gate:before,.step-gate:after{display:none}.lib-grid,.lib-filter-row{grid-template-columns:1fr}.lib-value{flex-direction:column;gap:12px}.lib-fallback-head{align-items:stretch}.lib-fallback-head .button{width:100%}.lib-linking{padding:36px 18px}.workflow-rail{border-radius:var(--r-lg);gap:2px;padding:8px}.rail-step{gap:7px;padding-inline:5px 11px;font-size:12px}.rail-sep{inline-size:10px}.fail-actions{flex-direction:column;align-items:stretch;width:100%}.upload-failed{padding:22px}.bank-filter-row{grid-template-columns:1fr}.bank-card{grid-template-columns:26px 1fr}.bank-actions{flex-wrap:wrap;grid-column:2;display:flex}.bank-bar{flex-direction:column;align-items:stretch;gap:10px}.pool-card{grid-template-columns:26px 1fr}.pool-side{flex-wrap:wrap;grid-column:2;align-items:center;gap:10px;display:flex}.pool-side-label{width:100%}.pool-tier{flex:1;display:flex}.pool-tier button{flex:1}.pool-bar{flex-direction:column;align-items:stretch;gap:10px}.pool-tabs{flex-direction:column;align-items:stretch}.pool-tabs .button{width:100%}.assign-mode{grid-template-columns:1fr}.gen-error{flex-direction:column;align-items:stretch}.grades-table .grade-override{grid-template-columns:1fr}.followup-detail{grid-template-columns:1fr;align-items:start}.grading-compare,.grading-controls{grid-template-columns:1fr}.grading-points{width:100%}.grading-points button{flex:1;min-width:auto}}
.dashboard[data-role=student],.quiz-page{--grad-role:linear-gradient(180deg,var(--role-accent),color-mix(in srgb,var(--role-accent) 72%,#000));--shadow-role:0 2px 6px color-mix(in srgb,var(--role-accent) 20%,transparent),0 12px 28px color-mix(in srgb,var(--role-accent) 16%,transparent);--ring-role:0 0 0 3px color-mix(in srgb,var(--role-accent) 30%,transparent);--shadow-ring:0 0 0 1px var(--role-accent)}.timer strong{font-variant-numeric:tabular-nums;background:var(--stone);border-radius:var(--r-pill);transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease);padding:2px 14px}.timer strong.low{color:var(--red-deep);background:var(--red-tint)}.timeout-note,.exam-final-note,.grading-done-note{width:fit-content;max-width:100%;margin-block-end:12px}.task-badges{flex-wrap:wrap;gap:8px;display:flex}.student-hero{box-shadow:var(--shadow-2);background:linear-gradient(180deg,var(--amber-tint-2),var(--white) 46%);position:relative;overflow:hidden}.student-hero>div:first-child,.student-hero .task-actions{z-index:1;position:relative}.student-hero.next-lesson{border-inline-start-color:var(--green-line);background:linear-gradient(180deg,var(--green-tint-2),var(--white) 46%)}.student-hero.remedial-task{border-inline-start-color:var(--role-vivid);background:linear-gradient(180deg,var(--role-tint-2),var(--white) 46%)}.student-hero.exam-task{border-inline-start-color:var(--red-line);background:linear-gradient(180deg,var(--red-tint-2),var(--white) 46%)}.student-hero:after{content:"";z-index:0;pointer-events:none;aspect-ratio:1;background:var(--role-tint-2);opacity:.7;border-radius:64% 36% 33% 67%/38% 62%;inline-size:250px;position:absolute;inset-block-start:-96px;inset-inline-end:-70px}.student-hero.next-lesson:after{background:var(--green-tint-2)}.student-hero.exam-task:after{background:var(--red-tint-2)}.exam-strip{border:1px solid var(--red-line);background:var(--red-tint-2);color:var(--red-deep);border-radius:var(--r-pill);width:fit-content;max-width:100%;padding:6px 15px;font-size:13px}.tasks-empty{--empty-h:330px;gap:14px;margin-block-end:24px}.tasks-empty>span:first-child{background:var(--role-tint);block-size:64px;inline-size:64px;color:var(--role-accent);box-shadow:var(--shadow-1);font-size:24px}.tasks-empty p{max-width:520px}.tasks-empty .task-actions{flex-wrap:wrap;justify-content:center}.summary-focus-note,.summary-exam-note{margin-block-end:14px}.summary-callout{background:linear-gradient(180deg,var(--role-tint),var(--role-tint-2) 78%);border-inline-start:3px solid var(--role-vivid);border-radius:var(--r-lg);padding:24px}.summary-callout span{color:var(--role-accent);font-weight:500}.lesson-summary details{border-radius:var(--r-md);transition:background-color var(--dur-2) var(--ease);padding-inline:10px}.lesson-summary details[open]{background:var(--role-tint-2)}.lesson-summary summary h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lesson-summary summary::-webkit-details-marker{display:none}.lesson-summary summary>span{border-radius:var(--r-circle);background:var(--role-tint);block-size:30px;inline-size:30px;color:var(--role-accent);transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease);place-items:center;font:300 13px Neue;display:grid}.lesson-summary details[open] summary>span{background:var(--grad-role);color:var(--white);box-shadow:var(--shadow-role)}.lesson-summary summary>b{color:var(--quiet);text-align:center;font-weight:400}.lesson-summary summary:hover>h3,.lesson-summary details[open] summary>b{color:var(--role-accent)}.kp-flag{background:var(--amber-tint);color:var(--amber-deep);border-radius:var(--r-pill);padding:2px 10px;font-size:12px;font-style:normal;font-weight:400}.summary-source{border-block-start:1px solid var(--line);color:var(--quiet);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-block-start:8px;padding-block-start:14px;font-size:13px;display:flex}.summary-next{border:1px solid var(--line);background:linear-gradient(180deg,var(--role-tint-2),var(--white) 70%);border-radius:var(--r-lg);box-shadow:var(--shadow-1);gap:12px;margin-block-start:18px;padding:18px 20px;display:grid}.summary-next>b{color:var(--role-accent);font-size:14px}.summary-next .task-actions{flex-wrap:wrap}.mini-chart span{border-start-start-radius:var(--r-sm);border-start-end-radius:var(--r-sm)}.mini-chart span.now{background:var(--grad-role);color:var(--white)}.mini-chart span.target{background:var(--green-tint);color:var(--green-deeper)}.mini-chart-labels{direction:ltr;gap:12px;padding-inline:12px;display:flex}.mini-chart-labels span{text-align:center;color:var(--quiet);flex:1;font-size:12px}.practice-focus{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 74%);border:1px solid var(--line);box-shadow:var(--shadow-1)}.practice-mistakes{margin-block-start:24px}.result-overlay .result-actions{flex-wrap:wrap}.student-review .question-review{transition:box-shadow var(--dur-3) var(--ease);grid-template-columns:80px 1fr}.student-review .question-review:hover{box-shadow:var(--shadow-2)}.review-filter{flex-wrap:wrap;gap:8px;margin-block-end:16px;display:flex}.review-filter button{border:1px solid var(--border);background:var(--white);color:var(--slate);border-radius:var(--r-pill);min-height:44px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease);padding:6px 18px;font-size:13.5px}.review-filter button:hover{border-color:var(--role-vivid);background:var(--role-tint-2);color:var(--role-accent)}.review-filter button:active{transform:translateY(0)scale(.97)}.review-filter button.on{border-color:var(--role-accent);background:var(--role-tint);color:var(--role-accent);box-shadow:var(--shadow-1);font-weight:500}.review-foot{flex-wrap:wrap;gap:10px;margin-block-start:20px;display:flex}.skill-rows{display:grid}.skill-row{border-block-start:1px solid var(--line-soft);border-radius:var(--r-sm);transition:background-color var(--dur-2) var(--ease);grid-template-columns:1fr 210px 54px;align-items:center;gap:16px;padding:11px 12px;display:grid}.skill-row:hover{background:var(--role-tint-2)}.skill-row:first-child{border-block-start:0}.skill-row>div{gap:2px;min-width:0;display:grid}.skill-row>div>span{font-size:15px}.skill-row em{color:var(--quiet);font-size:12px;font-style:normal}.skill-row em.live{color:var(--role-accent)}.skill-row>b{text-align:end;color:var(--graphite);font:300 16px Neue}.measure-panel{align-content:start;display:grid}.measure-list{margin:0;padding:0;list-style:none;display:grid}.measure-list li{border-block-start:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding-block:13px;display:flex}.measure-list li:first-child{border-block-start:0}.measure-list li>div{gap:2px;min-width:0;display:grid}.measure-list small{color:var(--quiet);font-size:12px}.measure-empty{gap:14px;display:grid}.measure-hint{border-block-start:1px solid var(--line-soft);color:var(--quiet);margin-block-start:14px;padding-block-start:12px;font-size:13px}.badges-panel,.badges-panel .badges{margin-block-start:0}.badges-panel .badges>div{border-radius:var(--r-lg);background:linear-gradient(180deg,var(--bronze-tint),var(--white) 62%);border-color:var(--bronze-line);box-shadow:var(--shadow-2);transition:transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease);gap:7px;padding:22px 16px;position:relative;overflow:hidden}.badges-panel .badges>div:not(.locked):hover{box-shadow:var(--shadow-3);transform:translateY(-3px)}.badges-panel .badges>div>span{border-radius:var(--r-circle);block-size:56px;inline-size:56px;color:var(--bronze-deep);background:var(--white);box-shadow:inset 0 0 0 1px var(--bronze-line),var(--shadow-1);place-items:center;font-size:26px;display:grid}.badges-panel .badges>div>b{font-size:15px}.badges-panel .badges .locked{opacity:1;border-style:dashed;border-color:var(--border);background:var(--stone);box-shadow:none}.badges-panel .badges .locked>span{color:var(--faint);background:var(--white);box-shadow:inset 0 0 0 1px var(--border)}.badges-panel .badges .locked>b,.badges-panel .badges small{color:var(--slate)}.badge-state{background:var(--green-tint);color:var(--green-deeper);border-radius:var(--r-pill);margin-block-start:4px;padding:2px 11px;font-size:12px;font-style:normal}.badge-state.seeded{background:var(--bronze-tint);color:var(--bronze-deep)}.badge-unlock{color:var(--quiet);margin-block-start:4px;font-size:12px;font-style:normal;line-height:1.6}.badges-cta{margin-block-start:20px}.activity-timeline{margin-block-start:4px}.activity-timeline p{color:var(--slate);margin-block:2px;font-size:13px}.quiz-page{--role-accent:var(--violet-deep);--role-tint:var(--violet-tint);--role-tint-2:var(--violet-tint-2);--role-vivid:var(--violet);--role-soft:var(--violet-soft)}.exam-banner{border-block-end:1px solid var(--red-soft);background:var(--red-tint-2);color:var(--red-deep);padding:11px 36px;font-size:13.5px}.quiz-page.exam .quiz-question{border-block-start:3px solid var(--red-line)}.quiz-page .quiz-question{box-shadow:var(--shadow-3)}.quiz-page .quiz-progress button{block-size:44px;inline-size:44px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-3) var(--ease)}.quiz-page .quiz-progress button.current{border-color:var(--role-accent);background:var(--grad-role);color:var(--white);box-shadow:var(--shadow-role)}.quiz-page .quiz-progress button:hover{border-color:var(--role-vivid);color:var(--role-accent)}.quiz-page .quiz-progress button.current:hover{color:var(--white)}.quiz-page .quiz-progress button:active{transform:scale(.94)}.quiz-page .quiz-options button{min-height:60px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease);padding:12px 18px}.quiz-page .quiz-options button>span{transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.quiz-page .quiz-options button.selected{border-color:var(--role-accent);background:var(--role-tint);box-shadow:var(--shadow-ring),var(--shadow-2)}.quiz-page .quiz-options button.selected>span{background:var(--grad-role);color:var(--white);border-color:#0000}.quiz-page .quiz-options button.selected>b{color:var(--role-accent);font-size:18px}.quiz-page .quiz-options button:active{background:var(--role-tint-2);transform:scale(.995)}.quiz-help{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 76%);box-shadow:var(--shadow-1)}.quiz-help>b{color:var(--role-accent)}.quiz-help.locked{background:var(--stone);border-style:dashed}.quiz-help.locked>b{color:var(--slate)}.help-locked{font-size:12.5px}.hint-body{animation:hint-in var(--dur-3) var(--ease-out) both}.hint-body p{font-size:14px;line-height:1.75}.hint-body small{color:inherit;opacity:.82;font-size:12px}.hint-count{color:var(--quiet);font-size:12px}@keyframes hint-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.submit-confirm{flex-direction:column;align-items:stretch;gap:10px;margin-block-start:18px}.submit-confirm>b{font-size:14.5px}.submit-confirm p{font-size:14px}.submit-confirm .task-actions{flex-wrap:wrap}.tf-options{grid-template-columns:1fr 1fr}.quiz-page .tf-options button{justify-content:center;gap:10px;min-height:84px;font-size:18px}.tf-options button>b{margin-inline-start:0}.written-note{border:1px solid var(--amber-soft);background:var(--amber-tint-2);color:var(--amber-deep);border-radius:var(--r-pill);width:fit-content;max-width:100%;margin-block-start:16px;padding:5px 15px;font-size:13px}.fill-field,.written-field{gap:8px;display:grid}.fill-field input{min-height:58px;font-size:16px}.fill-field small{color:var(--quiet);font-size:12.5px}.written-field textarea{font:inherit;color:inherit;border:1px solid var(--border);background:var(--white);border-radius:var(--r-md);resize:vertical;width:100%;min-height:180px;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease);padding:15px;line-height:1.8}.written-field textarea:hover{border-color:var(--role-soft,var(--violet-soft))}.written-field textarea:focus{border-color:var(--role-accent);box-shadow:var(--ring-role)}.result-overlay{box-shadow:var(--shadow-3);grid-template-columns:210px 1fr;gap:34px;position:relative;overflow:hidden}.result-overlay:after{content:"";z-index:0;pointer-events:none;aspect-ratio:1;background:var(--role-tint-2);border-radius:58% 42% 46% 54%/48% 52%;inline-size:300px;position:absolute;inset-block-start:-110px;inset-inline-end:-92px}.result-overlay>*{z-index:1;position:relative}.result-ring{border-radius:var(--r-circle);border:12px solid var(--ring-tint,var(--green-tint));border-block-start-color:var(--ring-line,var(--green-line));background:var(--white);block-size:168px;inline-size:168px;box-shadow:var(--shadow-2);align-content:center;place-items:center;gap:2px;margin-inline:auto;display:grid}.result-score{justify-items:center;gap:12px}.result-score>small{color:var(--quiet);font-size:12.5px}.result-ring strong{color:var(--ink);font:300 38px/1 Neue}.result-ring small{color:var(--quiet);font:300 13px Neue}.result-overlay.good{border-inline-start-color:var(--green-line)}.result-overlay.good .result-ring{--ring-tint:var(--green-tint);--ring-line:var(--green-line)}.result-overlay.fair{border-inline-start-color:var(--amber-line)}.result-overlay.fair .result-ring{--ring-tint:var(--amber-tint);--ring-line:var(--amber-line)}.result-overlay.low{border-inline-start-color:var(--red-line)}.result-overlay.low .result-ring{--ring-tint:var(--red-tint);--ring-line:var(--red-line)}.result-overlay.grading-pending{border-inline-start-color:var(--amber-line)}.result-overlay.grading-pending .result-ring{--ring-tint:var(--amber-tint);--ring-line:var(--amber-line)}.result-overlay.good .result-ring{animation:pop-in var(--dur-4) var(--ease-spring) both}.result-confetti{z-index:2;position:absolute;inset-block-start:34px;inset-inline-start:96px}.result-overlay h2{margin-block-end:6px;font-size:23px}.result-overlay>div:last-child{justify-items:start;gap:10px;display:grid}.result-overlay .result-actions{margin-block-start:8px}.grading-pending-note{flex-direction:column;align-items:stretch;gap:6px;margin-block-end:14px}.grading-pending-note b{font-size:14.5px}.grading-pending-note p{font-size:13.5px;line-height:1.7}.result-plan{margin-block:12px 4px}.answer-compare{grid-template-columns:1fr 1fr;gap:10px;display:grid}.answer-block{border:1px solid var(--line);background:var(--white);border-radius:var(--r-md);align-content:start;gap:6px;padding:13px 15px;display:grid}.answer-block small{color:var(--quiet);font-size:12px}.answer-block p{color:var(--graphite);font-size:14px;line-height:1.75}.answer-block.model{border-color:var(--green-soft);background:var(--green-tint-2)}.answer-block.model small{color:var(--green-deeper)}.answer-block.good{border-color:var(--green-soft)}.teacher-note{width:100%}.written-wait{color:var(--amber-deep);font-size:13px}.student-hero .button:active,.result-overlay .button:active,.practice-card .button:active,.weak-lesson .button:active,.quiz-page .button:active,.tasks-empty .button:active,.summary-next .button:active,.review-foot .button:active,.measure-empty .button:active,.badges-cta:active{transform:translateY(0)scale(.985)}.quiz-help button:hover{color:var(--violet-deeper);text-decoration:underline}.quiz-help button:active{opacity:.75}.quiz-help button:focus-visible,.lesson-summary summary:focus-visible{outline:2px solid var(--role-accent);outline-offset:2px;border-radius:var(--r-sm)}@media (max-width:900px){.skill-row{grid-template-columns:1fr 54px;row-gap:8px}.skill-row .progress{grid-area:2/1/auto/-1}.exam-banner{padding-inline:16px}}@media (max-width:760px){.summary-source{flex-direction:column;gap:6px}.student-review .question-review,.tf-options,.answer-compare{grid-template-columns:1fr}.student-hero:after,.result-overlay:after{display:none}.result-overlay{grid-template-columns:1fr;gap:22px}.result-confetti{display:none}.result-ring{border-width:10px;block-size:142px;inline-size:142px}.badges-panel .badges>div{min-height:auto}}@media (prefers-reduced-motion:reduce){.hint-body,.result-overlay.good .result-ring,.result-confetti .confetti{animation:none}.quiz-page .quiz-progress button:active,.quiz-page .quiz-options button:active,.badges-panel .badges>div:not(.locked):hover,.student-hero .button:active,.result-overlay .button:active,.practice-card .button:active,.weak-lesson .button:active,.quiz-page .button:active,.tasks-empty .button:active,.summary-next .button:active,.review-foot .button:active,.measure-empty .button:active,.badges-cta:active,.review-filter button:active{transform:none}}
.psr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-role=parent] .note.rose{--note-ink:var(--role-accent);--note-bg:var(--role-tint-2);--note-line:var(--rose-soft)}.child-card{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 132px);position:relative}.child-card.clickable{transition:border-color var(--dur-2) var(--ease),transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease)}.child-card.clickable:hover{border-color:var(--role-accent);box-shadow:var(--shadow-3);transform:translateY(-3px)}.child-card.clickable:active{transform:translateY(0)scale(.995)}.child-card.clickable:focus-within{border-color:var(--role-accent);box-shadow:var(--ring-role)}.child-card.live{border-inline-start:3px solid var(--role-accent)}.child-card .button{justify-self:start}.child-card .card-cta:after{content:"";border-radius:var(--r-lg);position:absolute;inset:0}.child-card .card-cta:active{transform:translateY(0)scale(.985)}.child-card>div>.badge{margin-inline-start:auto}.child-note{font-size:14.5px}.pchildren-foot{color:var(--slate);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-block-start:24px;font-size:14.5px;line-height:1.7;display:flex}.page-intro>.pchild-switch,.page-intro>.palert-tools{display:flex}.pchild-switch{width:max-content;margin-block-end:22px}.pchild-switch button{min-width:96px;padding-inline:18px}.pchild-switch button:hover,.pchild-switch button.active{color:var(--role-accent)}.page-intro .pchild-switch{margin-block-end:0}.pdiag-sub{color:var(--quiet);margin-block:6px 10px;font-size:13.5px;line-height:1.7}[data-role=parent] .skill-group{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--white);margin-block-start:16px;padding:14px 16px 4px}[data-role=parent] .skill-group>h3{color:var(--graphite);align-items:center;gap:9px;margin-block-end:4px;font-size:14px;display:flex}[data-role=parent] .skill-group>h3 i{border-radius:var(--r-circle);background:var(--green-deep);width:9px;height:9px;box-shadow:0 0 0 3px var(--green-tint);flex:none}[data-role=parent] .skill-group.weak>h3 i{background:var(--red-deep);box-shadow:0 0 0 3px var(--red-tint)}[data-role=parent] .skill-row{border-block-end:1px solid var(--line-soft);background:0 0;border-block-start:0;border-radius:0;grid-template-columns:minmax(140px,190px) 1fr 56px;align-items:center;gap:3px 14px;padding:11px 0;display:grid}[data-role=parent] .skill-group>.skill-row:last-child{border-block-end:0}[data-role=parent] .skill-row>span{color:var(--graphite);font-size:14.5px}[data-role=parent] .skill-row strong{text-align:end;color:var(--ink);direction:ltr;font:300 15px Neue}[data-role=parent] .skill-row small{color:var(--quiet);border-inline-start:2px solid var(--line);grid-column:1/-1;margin-block-start:2px;padding-inline-start:9px;font-size:12px}.skill-empty{color:var(--quiet);padding-block:10px;font-size:13.5px}.psupport .support-list{gap:12px;margin-block-start:14px;display:grid}.psupport .support-list>div{color:var(--slate);gap:11px;font-size:15px;line-height:1.7;display:flex}.psupport .support-list span{border-radius:var(--r-circle);background:var(--role-tint);block-size:26px;inline-size:26px;color:var(--role-accent);flex:none;place-items:center;margin-block-start:3px;font:300 13px Neue;display:grid}.psupport>.button{margin-block-start:18px}.ptrend-panel{margin-block-end:24px}.ptrend-note{color:var(--slate);margin-block-start:14px;font-size:14px;line-height:1.7}.subject-row.pending small{color:var(--quiet);grid-column:2;font-size:13px;line-height:1.6}.subject-row.pending>span,.subject-row.pending strong{color:var(--quiet)}.ptrend{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-block-start:20px;display:grid}.ptrend>div{border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(180deg,var(--role-tint-2),var(--white) 62%);border-block-start:3px solid var(--role-accent);align-content:start;gap:6px;padding:16px 18px;display:grid}.ptrend>div>span{color:var(--role-accent);align-items:center;gap:8px;font-size:12px;display:flex}.ptrend>div>span i{border-radius:var(--r-circle);background:var(--role-accent);flex:none;width:8px;height:8px}.ptrend>div>b{color:var(--ink);font-size:15px;line-height:1.5}.ptrend>div>small{color:var(--quiet);font-size:12.5px}.ptrend>div.pending{background:var(--surface-1);border-style:dashed;border-block-start-color:var(--border);border-block-start-style:solid}.ptrend>div.pending>span{color:var(--quiet)}.ptrend>div.pending>span i{border:1px solid var(--border);background:0 0}.ptrend>div.pending>b{color:var(--slate)}.pspark{background:var(--surface-1);border:1px solid var(--line-soft);border-radius:var(--r-md);margin-block-start:10px;padding:14px 12px 10px}.pspark svg{direction:ltr;width:100%;height:auto;display:block}.pspark-labels{margin-block-start:8px;display:flex}.pspark-labels span{text-align:center;color:var(--quiet);flex:1;font-size:12px}.pspark-labels span:last-child{color:var(--red-deep)}.pweek{margin-block-end:24px}.pweek-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-block-start:18px;display:grid}.pweek-grid>div{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--white);align-content:start;gap:11px;padding:18px 20px;display:grid}.pweek-grid h3{color:var(--graphite);align-items:center;gap:9px;font-size:14px;display:flex}.pweek-grid h3 i{border-radius:var(--r-circle);flex:none;width:9px;height:9px}.pweek-up h3 i{background:var(--green-deep);box-shadow:0 0 0 3px var(--green-tint)}.pweek-flat h3 i{background:var(--amber-line);box-shadow:0 0 0 3px var(--amber-tint)}.pweek-do{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 68%);border-color:#0000}.pweek-do h3 i{background:var(--role-accent);box-shadow:0 0 0 3px var(--role-tint)}.pweek-grid ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.pweek-grid li{color:var(--slate);gap:8px;font-size:14.5px;line-height:1.65;display:flex}.pweek-grid li:before{content:"—";color:var(--faint);flex:none}.pweek-do p{color:var(--graphite);font-size:15px;line-height:1.75}.pweek-foot{border-block-start:1px solid var(--line-soft);color:var(--quiet);flex-wrap:wrap;align-items:center;gap:14px;margin-block-start:16px;padding-block-start:16px;font-size:13px;display:flex}.pchat-overlay{background:color-mix(in srgb,var(--ink) 42%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:70;animation:pfade var(--dur-3) var(--ease);position:fixed;inset:0}.pchat-panel{background:var(--paper);border-inline-start:1px solid var(--line);width:min(430px,94vw);animation:pslide var(--dur-3) var(--ease-out);z-index:71;box-shadow:var(--shadow-4);border-start-start-radius:var(--r-xl);border-end-start-radius:var(--r-xl);flex-direction:column;display:flex;position:fixed;inset-block:0;inset-inline-end:0;overflow:hidden}@keyframes pfade{0%{opacity:0}}@keyframes pslide{0%{opacity:0;transform:translate(-28px)}}.pchat-head{border-block-end:1px solid var(--line);background:linear-gradient(180deg,var(--role-tint-2),var(--white));align-items:center;gap:12px;padding:16px 22px;display:flex}.pchat-head>div{flex:1;display:grid}.pchat-head>div>b{color:var(--ink)}.pchat-head small{color:var(--quiet);font-size:12px}.pchat-log{flex-direction:column;flex:1;gap:14px;padding:22px;display:flex;overflow-y:auto}.pchat-empty{color:var(--quiet);text-align:center;max-width:280px;margin:auto;font-size:14px;line-height:1.7}.pchat-msg{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);max-width:86%;box-shadow:var(--shadow-1);border-start-start-radius:var(--r-xs);align-self:flex-start;gap:5px;padding:12px 15px;display:grid}.pchat-msg.parent{background:var(--role-tint-2);box-shadow:var(--shadow-warm);border-color:#0000;border-start-start-radius:var(--r-lg);border-start-end-radius:var(--r-xs);align-self:flex-end}.pchat-msg p{color:var(--graphite);font-size:14.5px;line-height:1.7}.pchat-msg small{color:var(--quiet);font-size:11.5px}.pchat-typing{box-shadow:none;border-style:dashed}.pchat-typing p{color:var(--quiet);font-size:13.5px}.pchat-hint{color:var(--quiet);padding:0 22px 10px;font-size:12.5px;line-height:1.6}.pchat-form{border-block-start:1px solid var(--line);background:var(--white);box-shadow:0 -6px 18px hsl(var(--shadow-tint)/.05);gap:10px;padding:14px 22px;display:flex}.pchat-form input{flex:1}.pset-panel{align-content:start;display:grid}.pset-row{border-block-end:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:20px;padding-block:18px;display:flex}.pset-row>div:first-child{gap:4px;display:grid}.pset-row>div:first-child>b{color:var(--ink)}.pset-row small{color:var(--quiet);max-width:420px;font-size:13px;line-height:1.7}.pswitch-wrap{flex:none;align-items:center;gap:10px;display:flex}.pswitch-state{color:var(--quiet);text-align:center;min-width:42px;font-size:12.5px}.pswitch{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--stone);width:48px;height:28px;transition:background-color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease);flex:none;padding:0;position:relative}.pswitch i{border-radius:var(--r-circle);background:var(--white);width:22px;height:22px;box-shadow:var(--shadow-1),0 0 0 1px hsl(var(--shadow-tint)/.08);transition:transform var(--dur-3) var(--ease-spring);position:absolute;inset-block-start:2px;inset-inline-start:2px}.pswitch:hover{border-color:var(--role-accent)}.pswitch:focus-visible{outline:2px solid var(--role-accent);outline-offset:3px}.pswitch:active i{transform:scale(.92)}.pswitch.on{background:var(--role-accent);border-color:var(--role-accent);box-shadow:var(--shadow-role)}.pswitch.on:active i{transform:translate(-20px)scale(.92)}.pswitch.on i{transform:translate(-20px)}.pset-channel .segmented button{min-width:104px}.pset-channel .segmented button:hover,.pset-channel .segmented button.active{color:var(--role-accent)}.pset-note{color:var(--quiet);padding-block-start:16px;font-size:13px;line-height:1.7;display:block}.note.pset-preview{justify-items:start;gap:10px;margin-block-start:20px;padding:16px 18px;display:grid}.pset-preview p{font-size:14.5px;line-height:1.7}.pset-account{align-content:start;display:grid}.pset-id{border-block-end:1px solid var(--line-soft);align-items:center;gap:12px;padding-block:16px;display:flex}.pset-id>div{display:grid}.pset-id>div>b{color:var(--ink)}.pset-id small{color:var(--quiet);font-size:12.5px}.pset-kids-head{color:var(--quiet);padding-block-start:16px;font-size:13px;font-weight:400}.pset-kid{border-block-end:1px solid var(--line-soft);align-items:center;gap:12px;padding-block:14px;display:flex}.pset-kid>div{flex:1;min-width:0;display:grid}.pset-kid small{color:var(--quiet);font-size:12.5px}.pset-scope{margin-block-start:18px;line-height:1.75}.palert-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.palert-tools .segmented button{justify-content:center;align-items:center;gap:6px;min-width:130px;padding-inline:12px;display:inline-flex}.palert-tools .segmented button:hover,.palert-tools .segmented button.active{color:var(--role-accent)}.palert-tools .button:disabled:hover{background:var(--white);border-color:var(--border);box-shadow:var(--shadow-1);transform:none}.palert-group{color:var(--quiet);align-items:center;gap:12px;margin-block-start:10px;font-size:12.5px;font-weight:400;display:flex}.palert-group:first-child{margin-block-start:0}.palert-group:after{content:"";background:var(--line);flex:1;height:1px}.palert-title{color:var(--ink);align-items:center;gap:8px;display:flex}.palert-dot{border-radius:var(--r-circle);background:var(--role-accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--role-tint);flex:none}.alert-row{transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease)}.alert-row:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.alert-row.unread{border-inline-start:3px solid var(--role-accent);box-shadow:var(--shadow-2)}.alert-row.read{background:var(--paper);box-shadow:none}.alert-row.read .palert-title{color:var(--slate);font-weight:400}.alert-row.read .signal{opacity:.7}.alert-meta{color:var(--quiet);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.alert-meta em{color:var(--faint);font-style:normal}.palert-empty>.signal.green{background:var(--green-tint);color:var(--green-deeper);width:56px;height:56px}.palert-empty p{max-width:430px}.palert-off{color:var(--slate);font-size:14px;line-height:1.75}.pempty-icon>svg,.palert-empty>.signal>svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;block-size:26px;inline-size:26px;display:block}[data-role=parent] .plain-link{color:var(--role-accent);font-size:inherit;cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;padding:0}[data-role=parent] .plain-link:hover{color:var(--role-vivid);text-decoration:underline}[data-role=parent] .plain-link:active{opacity:.7}[data-role=parent] .plain-link:focus-visible{outline:2px solid var(--role-accent);outline-offset:2px}[data-role=parent] .note .plain-link{color:inherit;text-decoration:underline}.pwait{--empty-h:300px}.pwait p{max-width:460px}.pwait small{color:var(--quiet)}.pwait-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-block-start:8px;display:flex}.empty-state.pwait>span:first-child{background:var(--role-tint);color:var(--role-accent)}@media (max-width:900px){.pweek-grid{grid-template-columns:1fr}}@media (max-width:760px){.pset-row{flex-wrap:wrap}.skill-row{grid-template-columns:110px 1fr 48px}.pchild-switch{width:100%}.pchild-switch button{flex:1;min-width:0}.palert-tools{width:100%}.palert-tools .segmented{flex:1}.palert-tools .segmented button{min-width:0}.pchildren-foot{flex-direction:column;align-items:flex-start}.pchat-panel{border-radius:0;width:100vw}.skill-group{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.pchat-overlay,.pchat-panel{animation:none}.child-card.clickable:hover,.alert-row:hover{transform:none}}
.page-intro select{width:auto;min-width:190px}.quiet-note{color:var(--quiet);font-size:13px}.empty-note{color:var(--quiet);text-align:center;padding-block:18px;font-size:14px}[data-role=admin] .empty-state.slim{--empty-h:170px;gap:10px;padding:22px}[data-role=admin] .empty-state.slim>span:first-child{background:var(--role-tint);width:44px;height:44px;color:var(--role-accent)}[data-role=admin] .empty-state.slim>span:first-child>svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;block-size:22px;inline-size:22px;display:block}[data-role=admin] .empty-state.slim p{max-width:520px;font-size:14px}.class-bars{gap:12px;display:grid}.bar-row{border-radius:var(--r-md);transition:background-color var(--dur-2) var(--ease);grid-template-columns:minmax(150px,190px) 1fr 92px;align-items:center;gap:14px;margin-inline:-10px;padding:6px 10px;display:grid}.bar-row:hover{background:var(--role-tint-2)}.bar-row small{color:var(--quiet);font-size:12.5px}.bar-jump{font:inherit;color:var(--graphite);text-align:start;border-radius:var(--r-pill);background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;margin-inline-start:-10px;padding:6px 10px;font-size:15px;display:flex}.bar-jump:hover{background:var(--role-tint);color:var(--role-accent)}.bar-jump:focus-visible{outline:2px solid var(--role-accent);outline-offset:2px}.bar-jump:active{transform:translateY(0)scale(.985)}.bar-track{background:var(--stone);border-radius:var(--r-pill);height:24px;box-shadow:inset 0 0 0 1px hsl(var(--shadow-tint)/.05);direction:rtl;overflow:hidden}.bar-fill{border-radius:var(--r-pill);background:linear-gradient(90deg,var(--blue-deeper),var(--blue-deep));height:100%;transition:width var(--dur-4) var(--ease);justify-content:flex-end;align-items:center;padding-inline-end:10px;display:flex}.bar-fill.green{background:linear-gradient(90deg,var(--green-deeper),var(--green-deep))}.bar-fill.amber{background:linear-gradient(90deg,var(--amber-deeper),var(--amber-deep))}.bar-fill.red{background:linear-gradient(90deg,var(--red-deeper),var(--red-deep))}.bar-fill i{color:var(--white);font:300 12.5px Neue}.bar-trend{white-space:nowrap;text-align:end;font-size:13.5px}.trend-up{color:var(--green-deep)}.trend-down{color:var(--red-deep)}.trend-flat{color:var(--quiet)}.note.lowest-callout{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-block-start:20px;padding:13px 16px;font-size:14.5px;display:flex}.lowest-callout>span{flex:1;min-width:min(100%,280px)}.decision-list li>div{flex:1;min-width:0}.decision-go{border:1px solid var(--border);background:var(--white);color:var(--role-accent);border-radius:var(--r-pill);white-space:nowrap;min-height:36px;box-shadow:var(--shadow-1);flex:none;align-self:center;padding-inline:14px;font-size:13px}.decision-go:hover{background:var(--role-tint-2);border-color:var(--role-accent);box-shadow:var(--shadow-2);transform:translateY(-1px)}.decision-go:focus-visible{outline:2px solid var(--role-accent);outline-offset:2px}.decision-go:active{box-shadow:none;transform:translateY(0)scale(.985)}.decision-list li{align-items:center}.page-intro>.compare-modes{display:flex}.compare-modes{width:min(100%,280px)}.compare-modes button:hover,.compare-modes button.active{color:var(--role-accent)}.compare-modes button:focus-visible{outline:2px solid var(--role-accent);outline-offset:-2px}.compare-modes button:active{transform:scale(.985)}.table-row.compare-grid{grid-template-columns:1.1fr 1.4fr 1.6fr .7fr .8fr .8fr;min-width:760px}.table-row.teachers-grid{grid-template-columns:1.5fr .6fr .6fr 1.4fr .7fr .8fr .9fr .9fr;min-width:880px}[data-role=admin] .students-table .table-head{background:var(--stone);border-radius:var(--r-md);color:var(--slate)}[data-role=admin] .students-table .table-row:not(.table-head){border-radius:var(--r-sm);transition:background-color var(--dur-2) var(--ease)}[data-role=admin] .students-table .table-row:not(.table-head):hover{background:var(--role-tint-2)}[data-role=admin] .students-table .table-row.row-weak,.row-weak{background:color-mix(in srgb,var(--red-tint) 45%,var(--white))}[data-role=admin] .students-table .table-row.row-weak:hover{background:color-mix(in srgb,var(--red-tint) 45%,var(--white));box-shadow:inset 0 0 0 1px var(--red-line)}.compare-cell{align-items:center;gap:8px;display:flex}.compare-cell b{font:400 14.5px Neue}.mini-track{background:var(--line-soft);border-radius:var(--r-pill);direction:rtl;flex:none;width:56px;height:7px;overflow:hidden}.mini-track.wide{flex:1;width:auto;height:8px}.mini-fill{border-radius:var(--r-pill);background:linear-gradient(90deg,var(--blue-deeper),var(--blue-deep));height:100%;display:block}.mini-fill.green{background:linear-gradient(90deg,var(--green-deeper),var(--green-deep))}.mini-fill.amber{background:linear-gradient(90deg,var(--amber-deeper),var(--amber-deep))}.mini-fill.red{background:linear-gradient(90deg,var(--red-deeper),var(--red-deep))}.row-action{color:var(--role-accent);border-radius:var(--r-pill);white-space:nowrap;background:0 0;border:1px solid #0000;min-height:36px;padding-inline:12px;font-size:14px}.row-action:hover{background:var(--role-tint);border-color:var(--role-accent)}.row-action:focus-visible{outline:2px solid var(--role-accent);outline-offset:2px}.row-action:active{transform:scale(.985)}.row-action.danger{color:var(--red-deep)}.row-action.danger:hover{background:var(--red-tint);border-color:var(--red-deep)}.fair-note{color:var(--quiet);max-width:920px;font-size:14.5px;line-height:1.6}.teacher-drill{border-inline-start:3px solid var(--role-accent);margin-block:24px}.drill-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;margin-block-end:18px;display:flex}.drill-head>div:first-child{gap:6px;display:grid}.drill-head-side{align-items:center;gap:10px;display:flex}.drill-close{border:1px solid var(--border);background:var(--white);color:var(--quiet);border-radius:var(--r-circle);min-width:38px;min-height:38px;line-height:1}.drill-close:hover{background:var(--stone);color:var(--ink);border-color:var(--role-accent)}.drill-close:focus-visible{outline:2px solid var(--role-accent);outline-offset:2px}.drill-close:active{transform:scale(.94)}.drill-stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;margin-block-start:4px;padding-block:4px 0;display:grid}.drill-stats>div{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 70%);border:1px solid var(--line-soft);border-radius:var(--r-md);align-content:start;gap:5px;padding:14px 16px;display:grid}.drill-stats b{text-align:start;color:var(--ink);direction:ltr;font:300 30px/1 Neue}.drill-stats span{color:var(--quiet);font-size:12.5px;line-height:1.5}.drill-sub{margin-block:22px 12px;font-size:16px}.drill-classes{gap:6px;display:grid}.drill-class{color:var(--graphite);border-radius:var(--r-sm);transition:background-color var(--dur-2) var(--ease);grid-template-columns:minmax(150px,1.1fr) 1fr 52px 82px;align-items:center;gap:12px;margin-inline:-10px;padding:9px 10px;font-size:14px;display:grid}.drill-class:hover{background:var(--role-tint-2)}.drill-class small{color:var(--quiet);font-size:12.5px}.drill-class>b{text-align:start;font:400 14.5px Neue}.note.drill-read{margin-block-start:20px;font-size:14px}.drill-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-block-start:18px;display:flex}.report-builder .form-stack{align-content:start}.report-builder .check-grid{grid-template-columns:1fr}.report-builder .check-grid label{cursor:pointer;border-radius:var(--r-sm);transition:border-color var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.report-builder .check-grid label:hover{border-color:var(--role-accent);background:var(--role-tint-2)}.report-builder .check-grid label:focus-within{border-color:var(--role-accent);box-shadow:var(--ring-role)}.report-builder .check-grid label:has(input:checked){background:var(--role-tint-2);border-color:var(--role-accent)}.report-builder .check-grid label:active{transform:scale(.995)}.report-builder .check-grid input{accent-color:var(--role-accent);cursor:pointer}.builder-hint{margin-block-start:10px}.report-sheet{box-shadow:var(--shadow-3);border:1px solid var(--line-soft);align-content:start;padding:36px}.sheet-scope{color:var(--slate);margin-block-end:20px;font-size:14px}.report-sheet .report-metrics{border:0;gap:12px;margin-block-start:6px;padding-block:0}.report-metric{background:linear-gradient(180deg,var(--role-tint-2),var(--white) 74%);border:1px solid var(--line-soft);border-radius:var(--r-md);justify-items:start;gap:6px;padding:16px 18px;display:grid}.report-metric strong{color:var(--ink)}.report-metric small{color:var(--quiet);font-size:12.5px}.sheet-block{gap:12px;margin-block-start:26px;display:grid}.sheet-block h3{font-size:16px}.report-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.report-table th{background:var(--stone);color:var(--slate);text-align:start;border-block-end:1px solid var(--line);padding:9px 10px;font-weight:400}.report-table thead th:first-child{border-start-start-radius:var(--r-sm)}.report-table thead th:last-child{border-start-end-radius:var(--r-sm)}.report-table td{border-block-end:1px solid var(--line-soft);padding:9px 10px}.report-gaps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.report-gaps li{gap:4px;padding:12px 14px;display:grid}.report-gaps li b{color:inherit;font-size:14px}.report-gaps li>span{color:var(--slate);font-size:13px;line-height:1.7}.sheet-foot{border-block-start:1px solid var(--line-soft);color:var(--faint);justify-content:space-between;margin-block-start:28px;padding-block-start:14px;font-size:12.5px;display:flex}@media print{body{background:var(--white)}.dashboard>aside,.workspace>header,.page-intro,.no-print,.toast{display:none!important}.dashboard{min-height:auto;display:block}.workspace>main{max-width:none;padding:0}.content-grid.report-builder{margin:0;display:block}.report-preview.report-sheet{box-shadow:none;background:var(--white);border:0;min-height:auto;padding:12mm}.report-sheet *{box-shadow:none!important}.report-sheet .report-metrics{border-block:1px solid var(--line);gap:10px;padding-block:18px}.report-metric{background:var(--white);border:0;border-radius:0;padding:0}.report-table th{background:var(--white);border-block-end:1px solid var(--line)}.report-gaps li,.report-sheet .note{--note-bg:var(--white);--note-line:var(--line);--note-ink:var(--ink)}.report-sheet .note.edge,.report-gaps li{border-inline-start-width:1px;border-inline-start-color:var(--line)}.report-gaps li>span{color:var(--ink)}}@media (max-width:760px){.page-intro select,.compare-modes{width:100%;min-width:0}.bar-row{grid-template-columns:1fr 92px;gap:8px 14px}.bar-row>.bar-jump{grid-column:1/-1}.drill-class{grid-template-columns:1fr 52px 82px}.drill-class>span:first-child{grid-column:1/-1}.report-sheet{padding:20px}}@media (prefers-reduced-motion:reduce){.bar-fill{transition:none}.bar-jump:active,.decision-go:active,.decision-go:hover,.row-action:active,.drill-close:active,.compare-modes button:active,.report-builder .check-grid label:active{transform:none}}
