*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}:root{--g-blur: 22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--bg)}.ambient i{position:absolute;width:52vmax;height:52vmax;border-radius:50%;filter:blur(70px);opacity:.9;will-change:transform;animation:drift 28s ease-in-out infinite alternate}.ambient i:nth-child(1){background:var(--wash-1);left:-14vmax;top:-16vmax}.ambient i:nth-child(2){background:var(--wash-2);right:-16vmax;bottom:-20vmax;animation-duration:34s;animation-direction:alternate-reverse}.ambient i:nth-child(3){background:var(--wash-3);right:4vmax;top:-10vmax;width:34vmax;height:34vmax;animation-duration:24s}.ambient i:nth-child(4){background:var(--sun);left:28vw;top:48vh;width:26vmax;height:26vmax;opacity:.35;animation-duration:38s}@keyframes drift{to{transform:translate3d(9vmax,7vmax,0) scale(1.14)}}.glass{position:relative;background:var(--g-tint);backdrop-filter:blur(var(--g-blur)) saturate(1.9);-webkit-backdrop-filter:blur(var(--g-blur)) saturate(1.9);border:1px solid var(--g-border);box-shadow:inset 0 1px 0 var(--g-edge),inset 0 -1px 0 var(--g-edge-2),0 12px 34px var(--g-shade);isolation:isolate}.glass.strong{background:var(--g-tint-strong);--g-blur: 34px}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--g-edge) 0%,transparent 28%,transparent 70%,var(--g-edge) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.glass:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(220px circle at var(--mx, 25%) var(--my, 0%),var(--g-shine),transparent 62%);opacity:.55;transition:opacity .3s ease;pointer-events:none;z-index:1;mix-blend-mode:soft-light}.glass:hover:after{opacity:1}.glass-hl:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(260px circle at var(--mx, 25%) var(--my, 0%),var(--g-shine),transparent 62%);opacity:0;transition:opacity .3s ease;pointer-events:none;mix-blend-mode:soft-light}.glass-hl:hover:after{opacity:1}.glass>*{position:relative;z-index:3}html.lg-refract .glass.refract{-webkit-backdrop-filter:url(#lg) blur(var(--g-blur)) saturate(1.9);backdrop-filter:url(#lg) blur(var(--g-blur)) saturate(1.9)}.card{position:relative;background:var(--g-card);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border:1px solid var(--g-border);border-radius:22px;box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow)}.liquid{position:relative;overflow:hidden;background:var(--grad);color:var(--on-primary);box-shadow:inset 0 1px #ffffff80,inset 0 -3px 8px var(--primary-deep),0 10px 24px var(--primary-glow)}.liquid:before{content:"";position:absolute;left:0;right:0;top:0;height:52%;background:linear-gradient(180deg,#ffffff61,#fff0);pointer-events:none}.toast{display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:11px 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--bg);background:color-mix(in srgb,var(--text) 82%,transparent);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:inset 0 1px #ffffff2e,var(--shadow-lg)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ambient i{animation:none}}@media(prefers-reduced-transparency:reduce){.glass,.card,.toast{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.glass,.card{background:var(--surface)!important}.glass:after{display:none}}:root{--ease: cubic-bezier(.2,.7,.2,1);--spring: cubic-bezier(.3,1.7,.5,1)}.btn{height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 14px var(--font);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform .18s var(--ease),box-shadow .25s,border-color .2s,background-color .2s}.btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.97)}.btn:disabled{cursor:default;transform:none}.btn.lg{height:48px;padding:0 24px;font-size:15px}.btn.block{width:100%}.btn.ghost{border-color:transparent;background:none;color:var(--muted)}.btn.ghost:hover{background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text);box-shadow:none}.btn.liquid{border:0;color:var(--on-primary);background:var(--grad)}.btn.liquid>*{position:relative;z-index:1}.btn.liquid:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skew(-20deg);transition:left .75s var(--ease);pointer-events:none}.btn.liquid:hover:after{left:130%}.btn.liquid:hover{box-shadow:inset 0 1px #ffffff80,inset 0 -3px 8px var(--primary-deep),0 14px 30px var(--primary-glow)}.btn.liquid.is-done{background:var(--success)}.btn .arrow{transition:transform .3s var(--spring)}.btn:hover .arrow{transform:translate(4px)}.btn.glassy{background:var(--g-tint);border-color:var(--g-border);box-shadow:inset 0 1px 0 var(--g-edge)}.btn.glassy:hover{background:var(--g-tint-strong)}.dots{display:inline-flex;gap:5px}.dots i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:dot-bounce 1s var(--ease) infinite}.dots i:nth-child(2){animation-delay:.12s}.dots i:nth-child(3){animation-delay:.24s}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.55}40%{transform:translateY(-5px);opacity:1}}.pop-in{animation:pop .38s var(--spring) both}@keyframes pop{0%{transform:scale(0);opacity:0}}.round{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--text);padding:0;font:inherit}.round svg{animation:spin-in .55s var(--spring)}@keyframes spin-in{0%{transform:rotate(-120deg) scale(.4);opacity:0}}.btn.sm{height:30px;padding:0 12px;font-size:12.5px;gap:6px}.btn:disabled:not(.liquid):not(.glassy){opacity:.5}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.btn,.btn:after,.dots i,.pop-in,.round svg{animation:none!important;transition:none!important}}.reveal{opacity:0;transition:opacity .85s var(--ease) var(--d, 0ms),transform .85s var(--ease) var(--d, 0ms)}.reveal-up{transform:translateY(36px)}.reveal-left{transform:translate(-44px)}.reveal-right{transform:translate(44px)}.reveal-scale{transform:scale(.93)}.reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.modal-paper.preview-paper{width:min(1100px,calc(100% - 32px))!important;max-width:none!important;height:min(88vh,960px);display:flex;flex-direction:column;overflow:hidden}.pv-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.pv-head h2{font-size:16px;margin:0}.pv-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.pv-image{max-width:100%;max-height:100%;margin:auto;object-fit:contain;display:block;padding:12px}.pv-video{width:100%;height:100%;background:#000}.pv-frame{flex:1;width:100%;border:0;background:#fff}.pv-text{margin:0;padding:20px;white-space:pre-wrap;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text)}.pv-table{padding:12px}.pv-center{flex:1;display:grid;place-items:center;gap:14px;padding:24px;align-content:center}.pv-body>.skel,.pv-body>div:has(>.skel){padding:20px}@media(max-width:640px){.modal-paper.preview-paper{width:100%!important;height:100%;max-height:none!important;margin:0!important;border-radius:0!important}.pv-wide{display:none}.pv-head .btn{min-width:44px;min-height:44px;justify-content:center}}.att-link{display:inline-flex;align-items:center;gap:6px;min-width:0;color:inherit;text-decoration:none}.grow-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed var(--border)}.grow-row:last-child{border-bottom:0}.grow-row .who{flex:1;min-width:0}.grow-row .who .b{overflow-wrap:anywhere}.read-log{list-style:none;margin:0;padding:0}.read-log li{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--border);font-size:13px}.read-log li:last-child{border-bottom:0}.read-log time{color:var(--muted);white-space:nowrap;margin-left:auto}.rec-section{display:flex;flex-direction:column;gap:10px}.rec-section h3{font-size:15px}.rec-plan{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px dashed var(--border)}.rec-plan:last-child{border-bottom:0}.rec-files{display:flex;flex-wrap:wrap;gap:6px}.shared-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}@media(max-width:640px){.grow-row,.read-log li{flex-wrap:wrap}.read-log time{margin-left:0;width:100%}}.fam-plans{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.fam-plan{width:100%;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color .2s var(--ease)}.fam-plan:hover{border-color:var(--accent)}.shared-list .th-card{padding:12px;box-shadow:none;background:var(--surface-2)!important}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.wday{display:flex;flex-direction:column;gap:6px;min-height:150px;padding:8px;border-radius:16px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 60%,transparent);min-width:0}.wday.today{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--lav-soft) 45%,var(--surface))}.wday-h{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--muted);padding:2px 4px 4px}.wday-h b{font-size:16px;color:var(--text)}.wday-h .pill{margin-left:auto;height:20px;font-size:11px}.wday-empty{padding:4px}.wlesson{display:flex;gap:6px;align-items:flex-start;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--border);animation:card-rise .35s var(--ease) both;animation-delay:calc(var(--i, 0) * 40ms);transition:border-color .2s,transform .25s var(--spring)}.wlesson:hover{border-color:var(--border-strong);transform:translateY(-1px)}.wlesson.done{background:color-mix(in srgb,var(--success) 8%,var(--surface))}.wlesson.done .wtitle{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text) 40%,transparent)}.wcheck{flex:none;width:24px;height:24px;margin-top:2px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--on-primary);padding:0;transition:background-color .2s,border-color .2s,transform .3s var(--spring)}.wcheck:hover{border-color:var(--success)}.wcheck[aria-pressed=true]{background:var(--success);border-color:var(--success);animation:pop .35s var(--spring)}.wcheck .ico{width:13px;height:13px;stroke-width:3}.wbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.wbody .subj{width:20px;height:20px;font-size:9px;border-radius:6px}.wtitle{overflow-wrap:anywhere}.plan-card{display:flex;flex-direction:column;gap:10px;text-align:left;font:inherit;color:inherit;cursor:pointer;animation:card-rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}.plan-card .bar{width:100%!important}.plan-card.add{align-items:center;justify-content:center;text-align:center;border-style:dashed;min-height:180px}.arow{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--border)}.arow:last-of-type{border-bottom:0}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.add-grid.two{grid-template-columns:minmax(0,1fr) auto}.subt.hl.done .input[aria-label="Lesson title"]{color:var(--muted)}@media(max-width:1100px){.week{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.week{grid-template-columns:minmax(0,1fr)}.wday{min-height:0}.wcheck{width:44px;height:44px;margin-top:0}.arow{flex-wrap:wrap}.add-grid,.add-grid.two{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.wlesson,.plan-card,.wcheck[aria-pressed=true]{animation:none}}.mode-seg button{display:inline-flex;align-items:center;gap:6px;height:36px}.mode-seg button:disabled{opacity:.45;cursor:default}.pv-topic{padding:16px 18px!important;display:flex;flex-direction:column;gap:10px;overflow:visible}.pv-h{display:flex;align-items:center;gap:10px}.pv-h h3{font-size:17px;font-weight:500;letter-spacing:-.01em}.pv-bar{width:100%!important;height:4px}.pv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vlesson{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:10px 4px;border-top:1px dashed var(--border)}.vlesson:first-child{border-top:0}.vlesson .wcheck{margin-top:0}.vlesson.done .vt{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text) 40%,transparent);color:var(--muted)}.vlesson.next{background:color-mix(in srgb,var(--sun-soft) 55%,transparent);border-radius:12px;border-top-color:transparent}.vlesson.next+.vlesson{border-top-color:transparent}.vbody{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left;border:0;background:none;padding:2px 0;font:inherit;color:inherit;cursor:pointer}.vbody:hover .vt{text-decoration:underline;text-underline-offset:3px}.vt{font-size:14.5px;font-weight:500;overflow-wrap:anywhere}.vd{font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vmeta{display:flex;align-items:center;gap:8px;flex:none}.vfiles{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:6px}.vfiles .att{text-decoration:none;color:inherit}.att.now{background:linear-gradient(135deg,var(--sun),var(--accent));color:var(--on-accent);border-color:transparent;font-weight:600}.add-bar{position:sticky;top:98px;z-index:5;margin:-6px -6px 4px;padding:12px;border-radius:18px;background:var(--g-tint-strong);backdrop-filter:blur(22px) saturate(1.8);-webkit-backdrop-filter:blur(22px) saturate(1.8);border:1px solid var(--g-border);box-shadow:inset 0 1px 0 var(--g-edge),0 10px 26px var(--g-shade)}.add-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.add-row .field,.add-row>.grow{margin:0}.add-row .grow{min-width:220px}.ab-min{width:92px}.add-row select{min-width:160px;max-width:240px}.add-row textarea{resize:none;min-height:40px}.pe-topic{overflow:visible}.pe-h{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;border-bottom:1px dashed var(--border)}.pe-h .input.bare{flex:1;font-size:15px}.pe-count{white-space:nowrap}.pe-list{display:flex;flex-direction:column;padding:4px 10px 8px 12px}.pe-row{padding:2px 0!important;gap:2px!important}.pe-line{display:flex;align-items:center;gap:6px;min-width:0}.pe-n{width:22px;flex:none;text-align:right;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.pe-line>.input.bare{flex:1;min-width:0}.pe-min{display:inline-flex;align-items:center;gap:2px;flex:none}.pe-min .input{width:58px;text-align:right}.pe-row.done .input[aria-label="Lesson title"]{color:var(--muted)}.pe-notes,.pe-preview,.pe-files,.pe-row .drop{margin-left:28px}.pe-preview{text-align:left;border:0;background:none;padding:0 0 4px;font:inherit;font-size:12.5px;color:var(--muted);cursor:text;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pe-files{padding-bottom:4px}.input.bare{height:36px;border-color:transparent;background:transparent;box-shadow:none;padding-inline:8px;transition:border-color .2s,background-color .2s}.input.bare:hover{border-color:var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent)}.input.bare:focus{border-color:var(--border-strong);background:var(--surface)}.mini-actions .btn.has{color:var(--text);position:relative}.mini-actions .btn.has:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.pe-line .mini-actions{opacity:.55;transition:opacity .2s}.pe-row:hover .mini-actions,.pe-row:focus-within .mini-actions{opacity:1}@media(max-width:860px){.add-bar{top:74px}}@media(max-width:640px){.add-bar{padding:8px;margin:-6px -6px 2px}.add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"target min" "main go";gap:6px;align-items:end}.add-bar .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.add-row .ab-target{grid-area:target;min-width:0}.add-row .ab-min{grid-area:min;width:76px}.add-row .ab-main{grid-area:main;min-width:0}.add-row .ab-go{grid-area:go;height:44px}.add-row:not(:has(.ab-min)) .ab-target{grid-column:1 / -1}.add-row select{max-width:none;width:100%;min-width:0}.pe-line{flex-wrap:wrap}.pe-line>.input.bare{flex:1 1 calc(100% - 30px)}.pe-line .mini-actions{opacity:1;margin-left:auto}.pe-notes,.pe-preview,.pe-files,.pe-row .drop{margin-left:0}.vlesson{grid-template-columns:auto minmax(0,1fr)}.vmeta{grid-column:2}.mode-seg{width:100%}.mode-seg button{flex:1;justify-content:center}}.own-subject{display:grid;gap:8px;margin-top:8px;padding:12px;border-radius:14px;border:1px dashed var(--border);background:var(--surface)}.own-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}.own-row .field{margin:0}@media(max-width:640px){.own-row{grid-template-columns:1fr}}.own-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px}.own-chip button{width:28px;height:28px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--muted);cursor:pointer}.own-chip button:hover,.own-chip button:focus-visible{background:var(--sun-soft, var(--surface));color:var(--text)}@media(max-width:640px){.own-chip button{width:44px;height:44px}}.kid-switch{display:flex;gap:8px;flex-wrap:wrap}.kid-switch button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 14px 4px 4px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.kid-switch button small{color:var(--muted);font-size:12px}.kid-switch button.all{padding-left:14px}.kid-switch button.on{background:var(--primary);border-color:transparent;color:var(--on-primary);box-shadow:0 8px 20px var(--primary-glow)}.kid-switch button.on small{color:inherit;opacity:.75}.kid-switch button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kid-teach{display:flex;align-items:flex-start;gap:16px}.kid-teach h2{font-size:24px;font-weight:400}.kt-subject{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 12px 4px 4px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer;transition:transform .3s var(--spring),border-color .2s var(--ease)}.kt-subject:hover{transform:translateY(-1px);border-color:var(--accent)}.kt-subject:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kt-subject small{color:var(--muted);font-size:12px}.kt-subject .kt-who{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.kt-subject.add{padding-left:12px;border-style:dashed;color:var(--muted)}@media(max-width:640px){.kid-switch{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.kid-switch::-webkit-scrollbar{display:none}.kid-switch button{flex:none}.kid-teach{gap:12px}.kt-subject{min-height:44px}}@media(prefers-reduced-motion:reduce){.kt-subject{transition:none}.kt-subject:hover{transform:none}}.teach-head{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:2px 4px 0}.teach-head h1{font-size:30px;font-weight:400;letter-spacing:-.03em;line-height:1.1;margin:0}.teach-head .teach-new{margin-left:auto}.kid-teach{align-items:center;padding-block:14px}.kid-teach h2{font-size:22px}.kt-stats{display:flex;gap:6px;flex:none}.kt-stat{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:92px;padding:8px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left}button.kt-stat{cursor:pointer;transition:border-color .2s var(--ease)}button.kt-stat:hover{border-color:var(--accent)}button.kt-stat:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kt-stat b{font-size:22px;font-weight:400;line-height:1.1}.kt-stat span{font-size:12px;color:var(--muted)}@media(max-width:960px){.kid-teach{flex-wrap:wrap}.kt-stats{width:100%}.kt-stat{flex:1;min-width:0}}@media(max-width:640px){.teach-head .kid-switch{order:3;width:100%}.teach-head h1{font-size:26px}}.year-notice{align-items:center;flex-wrap:wrap}.wt-row{flex-direction:column;align-items:stretch;gap:8px}.wt-under{padding-left:46px}.wt-under:empty{display:none}.wt-tutor-ico{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary);flex:none}.wt-invite{gap:10px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}@media(max-width:520px){.wt-under{padding-left:0}}.wt-row>.row{flex-wrap:wrap}@media(max-width:520px){.wt-row>.row .seg{order:3}}.th-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;position:relative}.th-list li{display:flex;gap:10px;align-items:flex-start;position:relative}.th-list li+li:before{content:"";position:absolute;left:13px;top:-10px;height:10px;border-left:2px solid var(--border)}.th-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary)}.vby{font-size:11.5px;color:var(--muted)}.eo-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.eo-list li{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.eo-list li>svg{color:var(--muted);flex:none}.dsec-in.eo{padding-top:14px;border-top:1px dashed var(--border)}.wt-under .row>.grow{flex:1 1 240px;min-width:0}.shell{--ease: cubic-bezier(.2,.7,.2,1);--spring: cubic-bezier(.3,1.7,.5,1);overflow-x:clip;display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;min-height:100vh;padding-block:14px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.shell button,.shell input{font:inherit;color:inherit}.shell h1,.shell h2,.shell h3{margin:0;text-wrap:balance}.shell p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}.b{font-weight:600}.row{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ico{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.ico.sm{width:15px;height:15px}.show-m{display:none!important}.shell .btn{height:38px;padding:0 16px;font-size:13.5px;gap:7px}.shell .btn.sm{height:30px;padding:0 12px;font-size:12.5px;gap:6px}.shell .btn.lg{height:48px;padding:0 24px;font-size:15px}.shell .top .btn{height:44px;padding:0 20px}.shell .btn.big-join{height:56px;padding:0 30px;font-size:16px}.btn.danger-outline{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.glow{animation:glow-pulse 2.6s ease-in-out infinite}@keyframes glow-pulse{50%{box-shadow:inset 0 1px #ffffff80,0 0 0 7px color-mix(in srgb,var(--primary) 16%,transparent),0 10px 24px var(--primary-glow)}}.rail{position:sticky;top:14px;z-index:10;height:calc(100vh - 28px);display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 0 14px;border-radius:28px;animation:rail-in .7s var(--ease) both}@keyframes rail-in{0%{opacity:0;transform:translate(-16px)}}.rail .logo{margin-bottom:22px;display:grid;place-items:center}.rail .logo svg{width:30px;height:30px;transition:transform .6s var(--spring)}.rail .logo:hover svg{transform:rotate(-12deg) scale(1.1)}.rail .logo .sun{transform-origin:12px 8px;animation:twinkle 3.2s ease-in-out infinite}.railnav{display:flex;flex-direction:column;gap:6px}.rail a,.rail button{position:relative;width:48px;height:48px;border-radius:50%;border:0;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer;text-decoration:none;transition:background-color .25s,color .25s,box-shadow .25s,transform .3s var(--spring)}.railnav a{animation:rail-item .5s var(--spring) both;animation-delay:calc(var(--i, 0) * 60ms + .2s)}@keyframes rail-item{0%{opacity:0;transform:scale(.5)}}.rail a:hover,.rail button:hover{background:var(--g-tint-strong);color:var(--text);transform:scale(1.06)}.rail a.on{background:var(--g-tint-strong);color:var(--primary);box-shadow:inset 0 1px 0 var(--g-edge),0 6px 16px var(--g-shade)}.rail a.on:before{content:"";position:absolute;left:-14px;top:50%;width:4px;height:20px;border-radius:0 4px 4px 0;background:var(--grad);transform:translateY(-50%);animation:grow-in .4s var(--spring)}@keyframes grow-in{0%{transform:translateY(-50%) scaleY(0)}}.rail a em,.bnav a em{position:absolute;top:5px;right:5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--grad);color:var(--on-primary);font-style:normal;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface);animation:pop .4s .6s var(--spring) both}.rail a:after,.rail button:after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translate(-6px,-50%);white-space:nowrap;background:var(--text);color:var(--bg);font-size:12px;font-weight:500;padding:5px 9px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s,transform .2s var(--ease);z-index:5}.rail a:hover:after,.rail a:focus-visible:after,.rail button:hover:after,.rail button:focus-visible:after{opacity:1;transform:translateY(-50%)}.main{display:flex;flex-direction:column;min-width:0}.top{position:sticky;top:14px;z-index:6;display:flex;align-items:center;gap:8px;min-height:72px;padding:12px;border-radius:24px;--g-blur: 26px;animation:top-in .7s var(--ease) both}@keyframes top-in{0%{opacity:0;transform:translateY(-14px)}}.hello{display:flex;align-items:center;gap:10px;padding:5px 16px 5px 5px;border-radius:999px;min-width:0;border:1px solid var(--g-border);background:color-mix(in srgb,var(--surface-2) 70%,transparent);box-shadow:inset 0 1px 0 var(--g-edge)}.hello .hn{font-size:15.5px;font-weight:600;letter-spacing:-.01em}.av{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:600;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.av.grad{width:40px;height:40px;border:0;background:linear-gradient(150deg,var(--primary),var(--primary-2) 70%,var(--pink));color:var(--on-primary);font-size:13px;transition:transform .5s var(--spring)}.hello:hover .av.grad{transform:rotate(-10deg) scale(1.06)}.iconbtn{width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--g-border);background:color-mix(in srgb,var(--surface) 55%,transparent);box-shadow:inset 0 1px 0 var(--g-edge);border-radius:50%;color:var(--text);position:relative;cursor:pointer;padding:0;transition:box-shadow .25s,transform .3s var(--spring)}.iconbtn:hover{box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow);transform:translateY(-2px)}.iconbtn:hover .ico{animation:wiggle .5s ease}@keyframes wiggle{25%{transform:rotate(-12deg)}75%{transform:rotate(10deg)}}.iconbtn .spin{display:grid;animation:spin-in .55s var(--spring)}.content{display:flex;flex-direction:column;gap:14px;padding:16px 0 24px;max-width:1440px;width:100%;animation:content-in .45s var(--ease) both}@keyframes content-in{0%{opacity:0;transform:translateY(10px)}}.phead{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:4px 4px 0}.phead h1{font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.15}.phead .sub{color:var(--muted);font-size:13px;margin-top:2px}.shell .card{padding:18px;min-width:0}.card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.card-h h3{font-size:16px;font-weight:600;letter-spacing:-.01em}.lift{transition:opacity .85s var(--ease) var(--d, 0ms),transform .85s var(--ease) var(--d, 0ms),translate .3s var(--ease),box-shadow .3s}.lift:hover{translate:0 -3px;box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow-lg)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{height:34px;padding:0 14px;border-radius:17px;border:1px solid var(--g-border);background:var(--g-tint);backdrop-filter:blur(14px) saturate(1.8);-webkit-backdrop-filter:blur(14px) saturate(1.8);box-shadow:inset 0 1px 0 var(--g-edge);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--text);cursor:pointer;transition:background-color .3s,color .3s,transform .3s var(--spring),box-shadow .3s}.chip small{color:var(--muted);font-size:11.5px;font-weight:500}.chip:hover{transform:translateY(-2px)}.chip:active{transform:scale(.95)}.chip.on{background:var(--text);border-color:var(--text);color:var(--bg);box-shadow:inset 0 1px #ffffff40,0 6px 16px var(--g-shade)}.chip.on small{color:inherit;opacity:.7}.empty{padding:28px 16px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.c2{grid-column:span 2}.r2{grid-row:span 2}.shell .hero{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;min-height:404px;background:linear-gradient(155deg,var(--g-card) 34%,color-mix(in srgb,var(--sun-soft) 80%,transparent) 100%)}.hero>*:not(.hart){position:relative;z-index:1}.hart{position:absolute;right:-48px;top:-18px;width:64%;max-width:380px;height:auto;pointer-events:none}.hart .orb{transform-box:fill-box;transform-origin:center;animation:orb-float 8s ease-in-out infinite}.hart .o2{animation-duration:6s;animation-delay:-2s}.hart .o3{animation-duration:7s;animation-delay:-4s}.hart .o4{animation-duration:5s;animation-delay:-1s}@keyframes orb-float{50%{transform:translate(6px,-10px) scale(1.04)}}.hart .orbit{transform-origin:196px 206px;animation:orbit 50s linear infinite}@keyframes orbit{to{transform:rotate(1turn)}}.boxlbl{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:7px 11px;border-radius:9px;background:var(--g-tint-strong);box-shadow:inset 0 1px 0 var(--g-edge),0 6px 16px var(--g-shade)}.htxt{margin-top:28px}.hsm{font-size:17px;color:var(--muted);font-weight:500}.hbig{font-size:48px;line-height:1.02;font-weight:700;letter-spacing:-.04em;max-width:10ch;margin-top:4px}.sugg{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.sg{padding:10px 13px;border-radius:14px;font-size:12.5px;font-weight:600;text-align:left;max-width:160px;line-height:1.3;cursor:pointer;transition:transform .35s var(--spring),box-shadow .3s}.sg:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow)}.ask{display:flex;align-items:center;gap:6px;padding:5px 5px 5px 16px;border-radius:999px;max-width:360px;transition:box-shadow .3s,transform .3s var(--ease)}.ask:focus-within{box-shadow:inset 0 1px 0 var(--g-edge),0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent),var(--shadow);transform:translateY(-1px)}.ask .input{flex:1;min-width:0;border:0;background:none;outline:none;height:36px;padding:0}.gbtn{width:38px;height:38px;flex:none;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;transition:transform .3s var(--spring)}.gbtn:hover{transform:scale(1.08) rotate(-8deg)}.wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px}.wl{display:flex;flex-direction:column;gap:3px;min-width:0}.wr{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.bignum{font-size:42px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.05}.bignum small{font-size:15px;font-weight:600;color:var(--muted);letter-spacing:0}.live{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:700;font-size:12.5px}.live:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 20%,transparent);animation:live-pulse 1.8s ease-in-out infinite}@keyframes live-pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--primary) 6%,transparent)}}.sgrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.sgrid i{aspect-ratio:1.3;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);transition:transform .45s var(--spring) calc(var(--d, 0ms) + var(--i) * 25ms + .2s),opacity .3s calc(var(--d, 0ms) + var(--i) * 25ms + .2s)}.sgrid i.d{background:linear-gradient(140deg,var(--lav-soft),var(--lav));box-shadow:inset 0 1px #ffffffa6,inset 0 -2px 4px var(--g-shade)}.sgrid i.d2{background:linear-gradient(140deg,var(--lav-soft),color-mix(in srgb,var(--sky) 80%,var(--lav)));box-shadow:inset 0 1px #ffffffa6,inset 0 -2px 4px var(--g-shade)}.sgrid i.m{background:linear-gradient(140deg,var(--pink-soft),var(--pink));box-shadow:inset 0 1px #ffffffa6}.sgrid i.now{background:linear-gradient(140deg,var(--sun),var(--accent));box-shadow:inset 0 1px #ffffff8c,0 6px 14px var(--primary-glow);animation:bead 2s ease-in-out 1.5s infinite}@keyframes bead{50%{scale:1.12}}.reveal .sgrid i{transform:scale(.3);opacity:0}.reveal.is-in .sgrid i{transform:none;opacity:1}.tile{position:relative;overflow:hidden;min-height:192px;display:flex;flex-direction:column;gap:2px}.tile h3,.w h3{font-size:16px;font-weight:600;letter-spacing:-.01em}.tart{position:absolute;right:-8px;bottom:-16px;width:46%;max-width:150px;height:auto;pointer-events:none;transition:transform .6s var(--spring)}.tile:hover .tart{transform:translate(-6px,-6px) rotate(-4deg) scale(1.05)}.roundbtn{margin-top:auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--text);position:relative;z-index:1;cursor:pointer;padding:0;transition:transform .35s var(--spring)}.tile:hover .roundbtn{transform:rotate(45deg)}.w{display:flex;flex-direction:column;gap:3px;min-height:254px}.wh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.wico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--primary);background:radial-gradient(circle at 30% 25%,var(--surface) 0%,var(--lav-soft) 75%);box-shadow:inset 0 0 0 1px var(--border),0 6px 14px color-mix(in srgb,var(--primary) 14%,transparent);transition:transform .5s var(--spring)}.lift:hover .wico{transform:rotate(-12deg) scale(1.08)}.kebab{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--muted);cursor:pointer;padding:0;transition:color .2s,transform .35s var(--spring)}.kebab:hover{color:var(--text);transform:rotate(45deg)}.ws{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.val{display:inline-flex;align-items:center;height:21px;padding:0 7px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.chart{margin-top:auto;padding-top:14px}.mc{display:block;width:100%;height:84px;overflow:visible}.axis{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);padding-top:14px}.axis span{position:relative}.axis span.on{color:var(--text);font-weight:600}.axis span.on:before{content:"";position:absolute;left:50%;top:-8px;width:22px;height:2px;border-radius:2px;background:var(--text);transform:translate(-50%)}.spark .line{stroke-dasharray:1;stroke-dashoffset:0}.spark .line.dashed{stroke-dasharray:.012 .02}.reveal .spark .line:not(.dashed){stroke-dashoffset:1}.reveal.is-in .spark .line:not(.dashed){stroke-dashoffset:0;transition:stroke-dashoffset 1.5s var(--ease) calc(var(--d, 0ms) + .25s)}.reveal .spark .line.dashed,.reveal .spark .area{opacity:0}.reveal.is-in .spark .line.dashed,.reveal.is-in .spark .area{opacity:1;transition:opacity .9s ease calc(var(--d, 0ms) + .5s)}.spark .dot{transform-box:fill-box;transform-origin:center}.reveal .spark .dot{transform:scale(0)}.reveal.is-in .spark .dot{transform:none;transition:transform .45s var(--spring) calc(var(--d, 0ms) + .45s + var(--i, 6) * 90ms)}.bars-mc rect{transform-box:fill-box;transform-origin:bottom;transition:opacity .2s}.reveal .bars-mc rect{transform:scaleY(0)}.reveal.is-in .bars-mc rect{transform:none;transition:transform .7s var(--spring) calc(var(--d, 0ms) + .15s + var(--i) * 35ms),opacity .2s}.bars-mc:hover rect{opacity:.5}.bars-mc:hover rect:hover{opacity:1}.ins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.insc{padding:12px;border-radius:16px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);box-shadow:inset 0 1px 0 var(--g-edge-2);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0;transition:transform .3s var(--ease),border-color .3s}.insc:hover{transform:translateY(-2px);border-color:var(--border-strong)}.insc .btn{margin-top:6px}.reveal .insc{opacity:0;translate:0 12px}.reveal.is-in .insc{opacity:1;translate:0 0;transition:opacity .5s var(--ease) calc(var(--d, 0ms) + .2s + var(--i) * .1s),translate .5s var(--ease) calc(var(--d, 0ms) + .2s + var(--i) * .1s),transform .3s var(--ease)}.lbl{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:5px;margin-bottom:4px}.lbl.pos{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.lbl.act{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.lbl.mon{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.lbl.box{background:var(--surface-2);border:1px solid var(--border);color:var(--text);margin:8px 0 0;display:inline-block;padding:4px 8px}.cps{display:flex;flex-direction:column;gap:8px}.cp{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);min-width:0;transition:transform .3s var(--ease),background-color .3s}.cp:hover{transform:translate(4px);background:var(--surface-2)}.cp .subj{width:32px;height:32px;font-size:10px}.subj{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:700;letter-spacing:.04em;background:radial-gradient(circle at 30% 25%,var(--surface),color-mix(in srgb,var(--sc) 18%,var(--surface)) 75%);color:var(--sc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc) 18%,var(--border))}.ring{width:18px;height:18px;border-radius:50%;border:2px dashed var(--warning);flex:none;animation:orbit 8s linear infinite}.okc{color:var(--success);display:inline-flex;align-items:center;gap:4px}.time{display:flex;flex-direction:column;flex:none}.time b{font-weight:700;font-variant-numeric:tabular-nums}.tutorc{display:flex;gap:14px;align-items:center}.tav{width:80px;height:88px;border-radius:18px;display:grid;place-items:center;font-size:24px;font-weight:700;color:var(--on-primary);background:linear-gradient(150deg,var(--primary),var(--primary-2) 60%,var(--pink));flex:none;transition:transform .5s var(--spring)}.lift:hover .tav{transform:rotate(-4deg) scale(1.04)}.avs{display:flex}.avs .av{margin-left:-8px;border:2px solid var(--surface);background:var(--lav-soft);color:var(--primary);font-size:10.5px;transition:transform .3s var(--spring),margin .3s var(--ease)}.avs .av:first-child{margin-left:0}.avs:hover .av{margin-left:2px}.avs .av:hover{transform:translateY(-4px)}.stars{display:inline-flex;align-items:center;gap:3px}.stars .star{fill:var(--accent);stroke:none}.reveal .stars .star{transform:scale(0)}.reveal.is-in .stars .star{transform:none;transition:transform .4s var(--spring)}.reveal.is-in .stars .star:nth-child(2){transition-delay:.08s}.reveal.is-in .stars .star:nth-child(3){transition-delay:.16s}.reveal.is-in .stars .star:nth-child(4){transition-delay:.24s}.reveal.is-in .stars .star:nth-child(5){transition-delay:.32s}.qt-wrap{display:flex}.qt{flex:1;display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;cursor:pointer}.qt:hover{border-color:var(--border-strong)}.qt:hover .kebab{transform:rotate(45deg);color:var(--text)}.qt .bignum{font-size:34px}.hw{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.hw:last-child{border-bottom:0}.cb{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--border-strong);display:grid;place-items:center;background:none;flex:none;padding:0;cursor:pointer;transition:transform .3s var(--spring),background-color .2s}.cb:hover{transform:scale(1.12)}.cb.on{background:var(--success);border-color:var(--success);color:var(--on-primary)}.cb .ico{width:13px;height:13px;stroke-width:3}.done-t{text-decoration:line-through;color:var(--muted)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px!important}.empty-state h2{font-size:20px;letter-spacing:-.015em}.empty-state p{max-width:420px}.empty-state .wico.big{width:64px;height:64px;animation:orb-float 4s ease-in-out infinite}.empty-state .wico.big .ico{width:26px;height:26px}.bnav{display:none}@media(max-width:1180px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.shell{grid-template-columns:minmax(0,1fr);padding-block:10px}.rail{display:none}.content{padding-bottom:104px}.hide-m{display:none!important}.show-m{display:grid!important}.top{top:10px;min-height:0;padding:8px;border-radius:22px}.iconbtn{width:40px;height:40px}.shell .top .btn{height:40px;padding:0 14px}.wide{grid-template-columns:minmax(0,1fr)}.bnav{display:flex;position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:20;background:var(--g-tint-strong);border-radius:24px;box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow-lg);padding:6px;justify-content:space-around;animation:bnav-in .6s var(--spring) both}@keyframes bnav-in{0%{transform:translateY(120%)}}.bnav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:10.5px;font-weight:600;padding:4px 6px;min-width:54px;min-height:46px;justify-content:center;border-radius:16px;text-decoration:none;transition:color .25s,background-color .25s,transform .3s var(--spring)}.bnav a:active{transform:scale(.92)}.bnav a.on{color:var(--primary);background:var(--surface)}.bnav a.on .ico{animation:hop .5s var(--spring)}@keyframes hop{40%{transform:translateY(-4px)}}.bnav a em{top:0;right:6px}}@media(max-width:640px){.bento{grid-template-columns:minmax(0,1fr)}.c2{grid-column:auto}.r2{grid-row:auto}.ins{grid-template-columns:minmax(0,1fr)}.hbig{font-size:40px}.shell .hero{min-height:380px}.hide-s{display:none!important}.hello{padding-right:12px}.phead h1{font-size:22px}.chip{height:44px}}@media(prefers-reduced-motion:reduce){.shell *,.shell *:before,.shell *:after{animation:none!important;transition:none!important}.reveal .sgrid i,.reveal .insc,.reveal .spark .dot,.reveal .bars-mc rect,.reveal .stars .star{opacity:1;transform:none;translate:none}.reveal .spark .line:not(.dashed){stroke-dashoffset:0}.reveal .spark .line.dashed,.reveal .spark .area{opacity:1}}@media(max-width:860px){body:has(.bnav) .MuiSnackbar-root{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}@media(max-width:640px){.phead{flex-direction:column;align-items:stretch}.phead h1.ell{white-space:normal}}.brand,.topnav{display:none}@media(min-width:1181px){.shell{grid-template-columns:minmax(0,1fr)}.rail{display:none}.main{align-items:center}.top,.content{width:100%;max-width:1440px}.brand{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 18px 0 8px;border-radius:999px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface) 40%,transparent);font-size:16px;font-weight:500;letter-spacing:-.01em;flex:none}.brand svg{width:28px;height:28px}.topnav{display:flex;gap:2px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--surface) 62%,transparent);border:1px solid var(--g-border);box-shadow:inset 0 1px 0 var(--g-edge);min-width:0;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav a{position:relative;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 15px;border-radius:999px;color:var(--text);font-size:13.5px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color .25s,color .25s,transform .3s var(--spring)}.topnav a:hover{background:var(--surface-2)}.topnav a.on{background:var(--grad);color:var(--on-primary);box-shadow:inset 0 1px #ffffff2e,0 6px 14px var(--primary-glow)}.topnav a em{min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-style:normal;font-size:10px;font-weight:700;display:grid;place-items:center}.top .hello{order:10;padding:2px;border:0;background:none;box-shadow:none}.top .hello>span:last-child{display:none}.top .cmdk{width:44px;padding:0;justify-content:center}.top .cmdk>:not(.ico){display:none}.top .cmdk:hover{width:44px}}@media(min-width:1181px)and (max-width:1599px){.top .clock{display:none}}.phead h1{font-size:34px;font-weight:400;letter-spacing:-.035em}.bignum{font-weight:300;letter-spacing:-.05em}.hbig{font-weight:400;letter-spacing:-.045em}@media(max-width:640px){.phead h1{font-size:26px}}.year-pill{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 10px 0 12px;border-radius:999px;border:1px solid var(--g-border);background:color-mix(in srgb,var(--surface) 62%,transparent);box-shadow:inset 0 1px 0 var(--g-edge);color:var(--text);font-size:13px;font-weight:600;flex:none;cursor:pointer}.year-pill select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0 16px 0 0;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 6px) 55%,calc(100% - 2px) 55%;background-size:4px 4px;background-repeat:no-repeat}.year-pill select:focus-visible{outline:none}.year-pill:focus-within{outline:2px solid var(--primary);outline-offset:2px}.year-pill.past{background:var(--sun-soft);border-color:var(--accent)}.year-pill select option{color:#1c1c1c}@media(max-width:640px){.year-pill{height:44px;padding:0 8px 0 10px}.year-pill .ico{display:none}}@media(min-width:1181px){.top{min-height:0;padding:7px 8px;border-radius:22px}.top .brand{height:40px}.top .iconbtn,.top .hello .av{width:40px;height:40px}.content{padding-top:12px}}.top{transition:transform .35s var(--ease),opacity .25s var(--ease)}.shell.tucked .top{animation:none;transform:translateY(calc(-100% - 24px));opacity:0;pointer-events:none}.shell.tucked .top:focus-within{transform:none;opacity:1;pointer-events:auto}.shell.tucked .add-bar{top:14px}@media(prefers-reduced-motion:reduce){.top{transition:none}}.side-label,.side-group,.side-only{display:none}@media(min-width:1181px){.shell.side-nav{grid-template-columns:236px minmax(0,1fr)}.shell.side-nav .main{align-items:stretch}.shell.side-nav .brand,.shell.side-nav .topnav{display:none}.shell.side-nav .rail{display:flex;align-items:stretch;gap:2px;padding:16px 10px 12px}.shell.side-nav .rail .logo{display:flex;align-items:center;gap:10px;padding:0 10px;margin-bottom:10px;font-size:16px;font-weight:500;letter-spacing:-.01em}.shell.side-nav .rail .logo svg{width:28px;height:28px}.shell.side-nav .side-only,.shell.side-nav .side-label{display:inline}.shell.side-nav .side-group{display:block;padding:14px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.shell.side-nav .railnav{gap:2px;overflow-y:auto;scrollbar-width:none}.shell.side-nav .railnav::-webkit-scrollbar{display:none}.shell.side-nav .rail a,.shell.side-nav .rail>button{width:auto;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;color:var(--text);font-size:13.5px;font-weight:500}.shell.side-nav .rail a:hover,.shell.side-nav .rail>button:hover{transform:none;background:var(--surface-2)}.shell.side-nav .rail a.on{background:var(--grad);color:var(--on-primary);box-shadow:inset 0 1px #ffffff2e,0 6px 14px var(--primary-glow)}.shell.side-nav .rail a.on:before,.shell.side-nav .rail a:after,.shell.side-nav .rail button:after{display:none}.shell.side-nav .rail a em{position:static;margin-left:auto;border:0;background:var(--accent);color:var(--on-accent);animation:none}.shell.side-nav .rail>button{color:var(--muted)}}.stack{display:flex;flex-direction:column;gap:12px}.span{grid-column:1 / -1}.num{font-variant-numeric:tabular-nums}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.r{text-align:right}.g2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:14px;align-items:start}.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px!important}.kpi .v{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi .l{font-size:12px;color:var(--muted)}.card.flush{padding:0!important;overflow:hidden}.card-h.pad{padding:16px 18px 0}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field>.label{font-size:12px;font-weight:600;color:var(--muted)}.topic,.topic *{box-sizing:border-box}.input,.select,textarea.input{box-sizing:border-box;height:40px;width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:0 12px;font:inherit;color:var(--text);transition:border-color .2s,box-shadow .25s,transform .2s var(--ease)}textarea.input{height:auto;padding:9px 12px;resize:vertical;line-height:1.45}.input:focus,.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent)}.input.bad,.select.bad{border-color:var(--danger);animation:nudge-x .35s}@keyframes nudge-x{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}.hint{font-size:12px;color:var(--muted)}.hint.bad{color:var(--danger);font-weight:600}.hint.good{color:var(--success);font-weight:600}.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fgrid .full{grid-column:1 / -1}.fgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.checkrow{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13.5px}.checkrow input{width:18px;height:18px;margin-top:1px;accent-color:var(--primary);flex:none}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px;background:var(--surface-2)}.seg button{height:32px;padding:0 14px;border:0;border-radius:999px;background:none;font-weight:600;font-size:13px;color:var(--muted);cursor:pointer;transition:background-color .25s,color .25s,box-shadow .25s}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.daypick{display:flex;gap:6px;flex-wrap:wrap}.daypick button{width:44px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-weight:600;font-size:12.5px;cursor:pointer;color:var(--text);transition:transform .25s var(--spring),background-color .2s}.daypick button.on{background:var(--grad);color:var(--on-primary);border-color:transparent;transform:translateY(-2px)}.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:11px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.plain:before{display:none}.pill.ok{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.pill.warn{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.pill.bad{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}.pill.pri{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--lav-soft);color:var(--primary)}.bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;min-width:48px}.bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--sun),var(--accent));transform-origin:left;animation:bar-in .9s var(--ease) both}@keyframes bar-in{0%{transform:scaleX(0)}}@keyframes grow-up{0%{transform:scaleY(0)}}.bar.full i{background:var(--success)}.bar.low i{background:var(--warning)}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;font-size:13px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border)}.notice .ico{color:var(--muted);margin-top:1px}.notice.warn{background:color-mix(in srgb,var(--warning) 10%,var(--surface))}.notice.warn .ico{color:var(--warning)}.notice.bad{background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.notice.bad .ico{color:var(--danger)}.notice.ok{background:color-mix(in srgb,var(--success) 9%,var(--surface))}.notice.ok .ico{color:var(--success)}.verified{color:var(--primary);display:inline-flex}.price{font-weight:700;font-size:15.5px;font-variant-numeric:tabular-nums}.price small{font-weight:500;font-size:12px;color:var(--muted)}.meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--muted)}.meta span{display:inline-flex;align-items:center;gap:5px}.stars-row{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:600}.stars-row .ico{width:13px;height:13px;fill:var(--accent);stroke:none}.tw{overflow-x:auto}table.dt{width:100%;border-collapse:collapse;font-size:13.5px}.dt th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.dt td{padding:8px 14px;height:52px;border-bottom:1px solid var(--border)}.dt tr:last-child td{border-bottom:0}.dt tbody tr{animation:row-in .45s var(--ease) both}.dt tbody tr:nth-child(2){animation-delay:.04s}.dt tbody tr:nth-child(3){animation-delay:.08s}.dt tbody tr:nth-child(4){animation-delay:.12s}.dt tbody tr:nth-child(5){animation-delay:.16s}.dt tbody tr:nth-child(n+6){animation-delay:.2s}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}.dt tbody tr.click{cursor:pointer;transition:background-color .15s}.dt tbody tr.click:hover td{background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.dt .r{text-align:right}.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.cc{position:relative;display:flex;flex-direction:column;gap:10px;padding:0;overflow:hidden;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--g-card);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border:1px solid var(--g-border);border-radius:22px;box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow);transition:transform .35s var(--ease),box-shadow .3s,border-color .2s;animation:card-rise .55s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms)}@keyframes card-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}}.cc:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow-lg);border-color:var(--border-strong)}.cc .thumb{position:relative;aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--lav-soft),var(--sky));overflow:hidden}.cc .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.cc:hover .thumb img{transform:scale(1.05)}.cc .thumb .subj{position:absolute;left:12px;bottom:12px;box-shadow:0 6px 14px var(--g-shade)}.cc .body{display:flex;flex-direction:column;gap:10px;padding:0 16px 16px;flex:1}.cc h3{font-size:15.5px;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin:0}.cc .foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--border);margin-top:auto}.thumb-ph{display:grid;place-items:center;width:100%;height:100%;color:var(--primary)}.thumb-ph .ico{width:34px;height:34px;opacity:.55}.opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;transition:border-color .2s,box-shadow .25s,transform .25s var(--ease)}.opt:hover:not(:disabled){border-color:var(--border-strong);transform:translate(3px)}.opt.on{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.opt:disabled{opacity:.55;cursor:not-allowed}.radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--border-strong);flex:none;display:grid;place-items:center}.opt.on .radio{border-color:var(--primary)}.opt.on .radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);animation:pop .3s var(--spring)}.steps{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.steps .s{display:flex;align-items:center;gap:6px;transition:color .3s}.steps .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;border:1.5px solid var(--border-strong);transition:background-color .3s,border-color .3s}.steps .s.on{color:var(--text);font-weight:600}.steps .s.on .n{border:0;background:var(--grad);color:var(--on-primary);animation:pop .35s var(--spring)}.steps .s.done .n{border-color:var(--success);background:var(--success);color:var(--on-primary)}.steps .sep{width:18px;height:1px;background:var(--border-strong)}.sumr{display:flex;justify-content:space-between;font-size:13.5px;padding:4px 0}.sumr.tot{font-weight:700;font-size:15px;border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.success-ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);animation:pop .5s var(--spring) both}.success-ic .ico{width:28px;height:28px;stroke-width:2.2}.MuiDrawer-paper.drawer-paper{background:var(--g-tint-strong)!important;backdrop-filter:blur(34px) saturate(1.9);-webkit-backdrop-filter:blur(34px) saturate(1.9);border:1px solid var(--g-border)!important;display:flex;flex-direction:column;overflow:hidden;color:var(--text)}.MuiDialog-paper.modal-paper{background:var(--g-tint-strong)!important;backdrop-filter:blur(34px) saturate(1.9);-webkit-backdrop-filter:blur(34px) saturate(1.9);border:1px solid var(--g-border);width:min(560px,calc(100% - 32px));margin:16px!important;color:var(--text)}.MuiBackdrop-root:not(.MuiBackdrop-invisible){background:color-mix(in srgb,var(--scrim, rgba(20,22,40,.28)) 70%,transparent)!important;backdrop-filter:blur(6px) saturate(1.2);-webkit-backdrop-filter:blur(6px) saturate(1.2)}.dh{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.dh h2{font-size:17px;margin:0}.db{flex:1;overflow:auto;padding:18px 20px;display:flex;flex-direction:column;gap:18px}.df{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border);flex-wrap:wrap}.mh{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.mb{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.mf{padding:12px 20px 18px;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--border);flex-wrap:wrap}.sec h4{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 8px}.ticks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.ticks li{display:flex;gap:8px;align-items:flex-start}.ticks li .ico{color:var(--success);margin-top:1px}.drawer-thumb{width:100%;aspect-ratio:16 / 9;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--lav-soft),var(--sky))}.drawer-thumb img{width:100%;height:100%;object-fit:cover}.topics{display:flex;flex-direction:column;gap:10px}.topic{border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 75%,transparent);overflow:hidden;animation:card-rise .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms)}.topic>summary,.topic-h{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}.topic>summary::-webkit-details-marker{display:none}.topic .tn{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--lav-soft);color:var(--primary);flex:none}.topic .chev{transition:transform .3s var(--ease);color:var(--muted)}.topic[open] .chev{transform:rotate(90deg)}.topic .subs{border-top:1px dashed var(--border);padding:6px 14px 12px 50px;display:flex;flex-direction:column}.subt{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px dashed var(--border)}.subt:last-child{border-bottom:0}.edit-grid{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px;align-items:end}.edit-grid .full{grid-column:1 / -1}.add-grid{display:grid;grid-template-columns:minmax(0,1fr) 96px auto;gap:10px;align-items:end}@media(max-width:640px){.add-grid{grid-template-columns:minmax(0,1fr) 84px}.add-grid>.btn{grid-column:1 / -1}}.att{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;color:var(--text);text-decoration:none;max-width:100%;transition:transform .25s var(--spring),border-color .2s}.att:hover{transform:translateY(-2px);border-color:var(--border-strong)}.att.locked{color:var(--muted);cursor:default}.att .ell{max-width:200px}.atts{display:flex;flex-wrap:wrap;gap:6px}.builder{display:grid;grid-template-columns:210px minmax(0,1fr) 310px;gap:14px;align-items:start}.btabs{display:flex;flex-direction:column;gap:2px;padding:8px!important}.btabs button{display:flex;align-items:center;gap:9px;height:40px;padding:0 12px;border:0;background:none;border-radius:999px;font:600 13.5px var(--font);color:var(--muted);text-align:left;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s}.btabs button:hover{background:var(--surface-2);color:var(--text)}.btabs button.on{background:var(--lav-soft);color:var(--primary)}.btabs .ck{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;flex:none;transition:background-color .3s,border-color .3s}.btabs .ck.ok{background:var(--success);border-color:var(--success);color:var(--on-primary);animation:pop .4s var(--spring)}.btabs .ck.ok .ico{width:11px;height:11px;stroke-width:3}.calc{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.sticky{position:sticky;top:104px}.editrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.mini-actions{display:flex;gap:2px}.mini-actions .btn{width:32px;padding:0!important}.saved{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.saved i{width:7px;height:7px;border-radius:50%;background:var(--success)}.saved.busy i{background:var(--warning);animation:live-pulse 1s infinite}.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;border:1.5px dashed var(--border-strong);border-radius:16px;background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--muted);font-size:13px;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s,transform .25s var(--ease)}.drop:hover,.drop.over{border-color:var(--primary);background:color-mix(in srgb,var(--lav-soft) 50%,transparent);transform:translateY(-1px)}.drop .prog{position:absolute;left:0;bottom:0;height:3px;background:var(--grad);transition:width .2s;border-radius:0 3px 3px 0}.thumb-edit{position:relative;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--lav-soft),var(--sky))}.thumb-edit img{width:100%;height:100%;object-fit:cover;animation:fade .5s ease}.msgs{display:grid;grid-template-columns:300px minmax(0,1fr);height:calc(100vh - 230px);min-height:460px}.tl{border-right:1px solid var(--border);overflow:auto}.ti{display:flex;gap:10px;padding:13px 16px;border:0;border-bottom:1px solid var(--border);background:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background-color .2s}.ti:hover{background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.ti.on{background:var(--lav-soft)}.ti .u{width:8px;height:8px;border-radius:50%;background:var(--primary);margin-top:6px;flex:none;animation:live-pulse 1.8s infinite}.conv{display:flex;flex-direction:column;min-width:0;min-height:0}.conv-h{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.conv-b{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.bub{max-width:78%;padding:10px 13px;font-size:13.5px;background:var(--surface-2);align-self:flex-start;border-radius:16px 16px 16px 5px;white-space:pre-wrap;overflow-wrap:anywhere;animation:bub-in .35s var(--spring) both}@keyframes bub-in{0%{opacity:0;transform:translateY(8px) scale(.96)}}.bub.me{align-self:flex-end;background:var(--grad);color:var(--on-primary);border-bottom-left-radius:16px;border-bottom-right-radius:5px}.bub time{display:block;font-size:11px;opacity:.7;margin-top:3px}.bub .who{display:block;font-size:11px;font-weight:700;opacity:.75;margin-bottom:2px}.conv-f{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.kid{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:var(--lav-soft);flex:none;box-shadow:inset 0 1px 0 var(--g-edge);transition:transform .45s var(--spring)}.kid.lg{width:64px;height:64px;font-size:32px}.kid.sm{width:32px;height:32px;font-size:16px}.kid.alt{background:var(--pink-soft)}.lift:hover .kid{transform:rotate(-8deg) scale(1.06)}.avatar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.avatar-grid button{aspect-ratio:1;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);font-size:26px;cursor:pointer;transition:transform .35s var(--spring),border-color .2s,box-shadow .2s}.avatar-grid button:hover{transform:translateY(-3px) rotate(-6deg)}.avatar-grid button.on{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.pinrow{display:flex;gap:10px}.pinrow input{width:52px;height:58px;text-align:center;font:800 24px var(--font);border-radius:14px}.photo{width:72px;height:72px;border-radius:22px;object-fit:cover;flex:none;background:var(--lav-soft)}.sk{position:relative;overflow:hidden;border-radius:12px;background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 70%,transparent),transparent);animation:shimmer 1.3s infinite}@keyframes shimmer{to{transform:translate(100%)}}.notes{width:min(380px,calc(100vw - 24px));max-height:min(520px,70vh);display:flex;flex-direction:column}.notes .list{overflow:auto}.note{display:flex;gap:10px;padding:12px 16px;border:0;border-bottom:1px solid var(--border);width:100%;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background-color .15s}.note:hover{background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.note.unread{background:color-mix(in srgb,var(--lav-soft) 55%,transparent)}.note .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);margin-top:6px;flex:none}.iconbtn .count{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--grad);color:var(--on-primary);font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface);animation:pop .4s var(--spring)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:96px 16px 40px}.auth-card{width:min(520px,100%);padding:28px;border-radius:28px;animation:card-in .8s var(--ease) both}.auth-card.auth-wide{width:min(640px,100%)}.auth-card h1{font-size:24px;font-weight:800;letter-spacing:-.025em;margin:0 0 4px}.rolepick{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rolepick button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface);text-align:left;font:inherit;color:inherit;cursor:pointer;transition:transform .35s var(--spring),border-color .2s,box-shadow .25s}.rolepick button:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow)}.rolepick button.on{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.rolepick .wico{width:44px;height:44px}.rolepick button:hover .wico{transform:rotate(-12deg) scale(1.08)}.rolepick .go{margin-top:auto;padding-top:4px;display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--primary)}.rolepick .go .ico{transition:transform .3s var(--spring)}.rolepick button:hover .go .ico{transform:translate(3px)}.strength{display:flex;gap:4px}.strength i{flex:1;height:4px;border-radius:2px;background:var(--surface-2);transition:background-color .3s}.strength.s1 i:nth-child(-n+1){background:var(--danger)}.strength.s2 i:nth-child(-n+2){background:var(--warning)}.strength.s3 i:nth-child(-n+3){background:var(--success)}.strength.s4 i{background:var(--success)}.invoice{padding:28px!important}.invoice table{width:100%;border-collapse:collapse;margin-top:16px}.invoice td{padding:8px 0;border-bottom:1px solid var(--border)}@media print{body *{visibility:hidden}.invoice,.invoice *{visibility:visible}.invoice{position:absolute;left:0;top:0;width:100%;background:#fff!important;color:#000!important;box-shadow:none!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.no-print{display:none!important}}@media(max-width:1180px){.builder{grid-template-columns:190px minmax(0,1fr)}.builder .bprev{grid-column:1 / -1}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.g2,.g3,.builder{grid-template-columns:minmax(0,1fr)}.btabs{flex-direction:row;overflow-x:auto}.btabs button{flex:none}.fgrid,.fgrid.three{grid-template-columns:minmax(0,1fr)}.msgs{grid-template-columns:minmax(0,1fr);height:auto}.tl{border-right:0;border-bottom:1px solid var(--border);max-height:240px}.conv-b{min-height:300px}.sticky{position:static}.avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.topic .subs{padding-left:14px}}@media(max-width:640px){.g4{grid-template-columns:minmax(0,1fr)}.auth-card{padding:22px 18px}.rolepick{grid-template-columns:minmax(0,1fr)}.input,.select{height:44px}}@media(prefers-reduced-motion:reduce){.cc,.topic,.bub,.dt tbody tr,.bar i,.success-ic,.steps .n,.opt .radio:after,.sk:after{animation:none!important}}.c3{grid-column:span 3}.c4{grid-column:1 / -1}.dhead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:4px 0 18px}.dhead h1{font-size:clamp(34px,5vw,58px);line-height:.95;font-weight:700;letter-spacing:-.045em}.dhead h1 em{font-style:normal;color:var(--muted);font-weight:500}.dhead .sub{color:var(--muted);font-size:14px;margin-top:8px}.dhead .tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ptabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);max-width:100%;overflow-x:auto;scrollbar-width:none}.ptabs::-webkit-scrollbar{display:none}.ptabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;min-height:36px;transition:color .2s,background .3s var(--ease),transform .3s var(--spring)}.ptabs button:hover{color:var(--text)}.ptabs button.on{background:var(--text);color:var(--bg)}.ptabs button:active{transform:scale(.96)}.delta{display:inline-flex;align-items:center;gap:2px;padding:3px 8px 3px 5px;border-radius:999px;font-size:12px;font-weight:700;background:var(--mint-soft);color:var(--success)}.delta.down{background:var(--pink-soft);color:var(--danger)}.delta .flip{transform:rotate(90deg)}.kpirow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.kpirow .bignum{font-size:clamp(30px,3.4vw,42px)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block}.legend i.dash{border-radius:2px;height:3px;width:14px;background:repeating-linear-gradient(90deg,var(--c) 0 4px,transparent 4px 7px)}.achart{position:relative;padding-top:34px}.achart-svg{display:block;width:100%;height:210px;overflow:visible;cursor:crosshair;touch-action:pan-y;border-radius:10px}.achart-svg:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.achart-grid{stroke:var(--border);stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.achart-line{stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s var(--ease) .15s forwards}.achart-line.dashed{stroke-width:1.6;stroke-dasharray:5 6;stroke-dashoffset:0;animation:fade .8s ease .4s both;opacity:.8}.achart-area{animation:fade 1s ease .5s both}.achart-cursor{stroke:var(--border-strong);stroke-dasharray:2 4;vector-effect:non-scaling-stroke;transition:all .25s var(--ease)}.achart-plot{position:relative}.achart-dot{position:absolute;width:13px;height:13px;translate:-50% -50%;border-radius:50%;background:var(--surface);border:3px solid var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent);pointer-events:none;transition:left .25s var(--ease),top .25s var(--ease)}.achart-tip{position:absolute;top:0;translate:-50% 0;display:flex;gap:6px;transition:left .25s var(--ease);pointer-events:none;z-index:1}.tip-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--text);color:var(--bg);box-shadow:var(--shadow)}.tip-pill i{width:7px;height:7px;border-radius:50%;background:var(--c)}.achart-x{position:relative;height:26px;margin-top:8px;font-size:11.5px;color:var(--muted)}.achart-x span{position:absolute;translate:-50% 0;white-space:nowrap;transition:opacity .2s}.achart-x span:first-child{translate:0 0}.achart-x span.on{padding:3px 10px;border-radius:999px;background:var(--text);color:var(--bg);font-weight:700;top:-3px;z-index:1}.hbars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;height:190px;align-items:end}.hbar{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:var(--muted);min-width:0}.hbar .col{flex:1;width:100%;max-width:38px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}.hbar .seg{display:grid;place-items:start center;border-radius:12px;transition:height .7s var(--spring),background .3s;animation:grow .8s var(--spring) calc(var(--i) * 60ms) both;transform-origin:bottom}.hbar .seg.top{background:var(--surface-2)}.hbar .seg.top i{width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--border-strong)}.hbar .seg.bottom{background:repeating-linear-gradient(135deg,var(--border-strong) 0 1.5px,transparent 1.5px 6px);border:1px solid var(--border)}.hbar.on .seg.top{background:var(--sun);color:var(--ink)}.hbar.on .seg.bottom{background:repeating-linear-gradient(135deg,var(--sun) 0 1.5px,transparent 1.5px 6px);border-color:var(--sun);color:var(--text)}.hbar .seg b{font-size:11px;padding-top:7px}.hbar .lbl-x{font-size:11.5px;font-weight:600}.hbar.on .lbl-x{color:var(--text)}.hbar:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:12px}@keyframes grow{0%{transform:scaleY(0)}}.mcal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.mcal-h{font-size:11px;color:var(--muted);padding-bottom:4px;font-weight:600}.mcal-d{position:relative;aspect-ratio:1;max-height:40px;display:grid;place-items:center;border-radius:999px;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;animation:fade .5s ease calc(var(--i) * 12ms) both}.mcal-d.out{color:var(--border-strong)}.mcal-d.on{background:var(--surface-2)}.mcal-d.on:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--primary)}.mcal-d.today{background:var(--text);color:var(--bg)}.mcal-d.today:after{background:var(--sun)}.dstrip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 8px;scrollbar-width:none}.dstrip::-webkit-scrollbar{display:none}.dstrip button{position:relative;flex:0 0 auto;min-width:58px;min-height:66px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:22px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;transition:background .3s var(--ease),color .2s,transform .35s var(--spring),border-color .2s;animation:rise .5s var(--ease) calc(var(--i) * 35ms) both}.dstrip button b{font-size:17px;color:var(--text);font-variant-numeric:tabular-nums}.dstrip button span{font-size:11px;font-weight:600}.dstrip button em{position:absolute;top:6px;right:7px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;font-size:10px;font-style:normal;font-weight:700;display:grid;place-items:center;background:var(--primary);color:var(--on-primary)}.dstrip button:hover{transform:translateY(-2px)}.dstrip button.on{background:var(--text);color:var(--bg);border-color:var(--text)}.dstrip button.on b{color:var(--bg)}.dstrip button.on em{background:var(--sun);color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.ring-wrap{position:relative;flex:0 0 auto}.ring-wrap svg{display:block}.ring-track{fill:none;stroke:color-mix(in srgb,var(--text) 9%,transparent)}.ring-arc{animation:ring 1.2s var(--ease) calc(.2s + var(--i) * .12s) both}.ring-mid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;align-content:center}.ring-mid b{font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1}.ring-mid small{font-size:11px;color:var(--muted);margin-top:4px}@keyframes ring{0%{stroke-dasharray:0 999}}.bubbles{position:relative;height:200px}.bubbles.empty{display:grid;place-items:center;color:var(--muted);font-size:12.5px;border:1px dashed var(--border);border-radius:14px;height:160px}.bubble{position:absolute;width:var(--d);aspect-ratio:1;translate:-50% -50%;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--c);color:var(--ink);animation:pop .8s var(--spring) calc(var(--i) * 90ms) both;transition:scale .3s var(--spring)}.bubble:hover{scale:1.06}.bubble.hatch{background:repeating-linear-gradient(135deg,var(--c) 0 1.5px,transparent 1.5px 6px);border:1.5px solid var(--c);color:var(--text)}.bubble b{font-size:15px;line-height:1}.bubble small{font-size:10.5px;font-weight:600;opacity:.75}@keyframes pop{0%{scale:0}}.dotgrid{display:grid;grid-template-columns:repeat(auto-fill,9px);gap:5px;flex:1 1 auto;min-width:60px}.dotgrid i{width:9px;height:9px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);animation:pop .5s var(--spring) calc(var(--i) * 25ms) both}.dotgrid i.on{background:var(--primary);border-color:transparent}.dotgrid i.wait{background:none;border:1.5px dashed var(--warning)}.usmap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(8,auto);gap:3px}.usmap .ust{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:0;background:var(--surface-2);transition:transform .3s var(--spring);animation:pop .5s var(--spring) calc(var(--i) * 20ms) both}.usmap .ust.has{background:color-mix(in srgb,var(--mint) calc(var(--a) * 100%),var(--surface-2))}.usmap .ust:hover{transform:scale(1.35);z-index:1}@media(min-width:1181px){.usmap .ust{font-size:8px;font-weight:700;color:var(--muted)}.usmap .ust.has{color:var(--ink)}}.rank{display:grid;gap:10px}.rank .r{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px}.rank .r .st{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--surface-2)}.rank .r .bar{height:6px}.shell .card.accent{color:var(--ink);border-color:transparent}.shell .card.accent .ws,.shell .card.accent .muted{color:color-mix(in srgb,var(--ink) 68%,transparent)}.shell .card.accent.mint{background:var(--mint)}.shell .card.accent.sun{background:var(--sun)}.shell .card.accent.lavc{background:var(--lav)}.shell .card.accent .btn:not(.liquid){background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink);border-color:transparent}.shell .card.accent .bignum{color:var(--ink)}.accent .cornerbtn{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--sun);border:0;cursor:pointer;transition:transform .35s var(--spring)}.accent.mint .cornerbtn{color:var(--mint)}.accent .cornerbtn:hover{transform:rotate(45deg)}.shell .card.accent{position:relative}.klasses{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.klass{border-radius:20px;padding:14px;background:var(--surface-2);border:1px solid var(--border);display:grid;gap:10px;animation:rise .5s var(--ease) calc(var(--i) * 60ms) both;transition:transform .35s var(--spring),box-shadow .3s}.klass:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.klass .t{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.klass .t b{font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}.klass h4{font-size:14px;font-weight:600;line-height:1.3}.klass .foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.klass.now{background:var(--text);color:var(--bg);border-color:var(--text)}.klass.now h4,.klass.now .t b{color:var(--bg)}.klass.now .t,.klass.now .xs{color:color-mix(in srgb,var(--bg) 70%,transparent)}.klass.now .dotgrid i{background:color-mix(in srgb,var(--bg) 18%,transparent);border-color:transparent}.klass.now .dotgrid i.on{background:var(--sun)}.daylist{display:grid;gap:8px}.daylist .dl{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:var(--surface-2);animation:rise .45s var(--ease) calc(var(--i) * 50ms) both}.daylist .dl .tm{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.daylist .dl .tm small{display:block;color:var(--muted);font-weight:500;font-size:10.5px}.carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:18px 4px 22px;margin:-18px -4px 0;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.ccard{position:relative;flex:0 0 clamp(220px,24vw,270px);scroll-snap-align:start;aspect-ratio:3 / 4;border-radius:28px;overflow:hidden;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:var(--on-primary);background:var(--surface-2);box-shadow:var(--shadow);transition:transform .5s var(--spring),box-shadow .3s;animation:rise .6s var(--ease) calc(var(--i) * 70ms) both}.ccard .thumb,.ccard .thumb>*{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.ccard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 35%,color-mix(in srgb,var(--ink) 82%,transparent) 100%)}.ccard .cbody{position:absolute;left:16px;right:16px;bottom:16px;z-index:1;display:grid;gap:6px}.ccard .cbody h3{font-size:18px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--on-primary)}.ccard .cbody .meta{font-size:12px;color:color-mix(in srgb,var(--on-primary) 84%,transparent)}.ccard .ctag{position:absolute;top:14px;left:14px;z-index:1;padding:6px 12px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--sun);color:var(--ink)}.ccard .cgo{position:absolute;top:12px;right:12px;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--on-primary);color:var(--ink);transition:transform .35s var(--spring)}.ccard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.ccard:hover .cgo{transform:rotate(45deg)}.ccard.feat{transform:rotate(-3deg);flex-basis:clamp(240px,27vw,300px)}.ccard.feat:hover{transform:rotate(0) translateY(-6px)}.ccard:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.ccard.add{display:grid;place-items:center;align-content:center;gap:10px;color:var(--text);background:var(--surface);border:1.5px dashed var(--border-strong);box-shadow:none;text-align:center}.ccard.add:after{display:none}.prog{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.prog .legend{flex-direction:column;gap:10px;font-size:12.5px}.prog .legend b{color:var(--text);margin-left:auto;padding-left:10px}.prog .legend span{display:flex;width:100%}.banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--sun-soft);margin-top:14px;font-size:13px}.banner .ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--sun);color:var(--ink)}@media(max-width:1180px){.c3{grid-column:span 2}}@media(max-width:640px){.c3,.c4{grid-column:auto}.achart-svg{height:170px}.hbars{height:160px}.dstrip button{min-width:52px}.ccard{flex-basis:72vw}.ccard.feat{flex-basis:76vw;transform:rotate(-2deg)}}@media(prefers-reduced-motion:reduce){.achart-line,.achart-area,.hbar .seg,.mcal-d,.dstrip button,.ring-arc,.bubble,.dotgrid i,.usmap .ust,.klass,.daylist .dl,.ccard{animation:none!important}.achart-line{stroke-dashoffset:0}.ccard.feat{transform:none}}.shell .card.accent{display:flex;flex-direction:column}.map-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:center}.discover-search{flex:1 1 260px;max-width:380px}.carousel>.cc{flex:0 0 clamp(240px,28vw,300px);scroll-snap-align:start}.ccard.sk{cursor:default}@media(max-width:640px){.map-split{grid-template-columns:minmax(0,1fr)}.discover-search{max-width:none}.carousel>.cc{flex-basis:78vw}}.klass.now .btn{background:color-mix(in srgb,var(--bg) 12%,transparent);color:var(--bg);border-color:color-mix(in srgb,var(--bg) 22%,transparent)}.klass.now .btn.liquid{color:var(--on-primary)}.viewsw{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.viewsw button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:0 14px;min-height:36px;border-radius:999px;cursor:pointer;transition:background .3s var(--ease),color .2s}.viewsw button:hover{color:var(--text)}.viewsw button.on{background:var(--text);color:var(--bg)}.cc .thumb .cc-status{position:absolute;top:12px;left:12px}.cc .thumb .cc-status .pill{background:var(--surface);box-shadow:0 4px 12px var(--g-shade)}.cc-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:12.5px;color:var(--muted)}.cc-facts span{display:inline-flex;align-items:center;gap:6px;min-width:0}.cc.cc-add{display:grid;place-items:center;align-content:center;gap:8px;min-height:280px;padding:24px;text-align:center;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:1.5px dashed var(--border-strong);box-shadow:none}.tthumb{flex:0 0 auto;width:64px;height:40px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,var(--lav-soft),var(--sky));display:grid;place-items:center}.tthumb img{width:100%;height:100%;object-fit:cover}.tthumb .thumb-ph{transform:scale(.6)}@media(max-width:640px){.viewsw button span{display:none}.viewsw button{padding:0 12px;min-width:44px;min-height:44px;justify-content:center}}.starline{display:inline-flex;gap:2px}.starline .ico{width:var(--s, 14px);height:var(--s, 14px);fill:var(--border-strong);stroke:none}.starline .ico.on{fill:var(--accent)}.starpick{display:inline-flex;gap:2px}.starpick button{width:44px;height:44px;display:grid;place-items:center;border:0;background:none;border-radius:12px;cursor:pointer;color:var(--border-strong);transition:transform .3s var(--spring),color .2s}.starpick button .ico{width:26px;height:26px;fill:currentColor;stroke:none}.starpick button.on{color:var(--accent)}.starpick button:hover{transform:scale(1.15) rotate(-6deg)}.starpick button:focus-visible{outline:2px solid var(--primary)}.reviews{display:grid;gap:14px}.revsum{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding:14px;border-radius:18px;background:var(--surface-2)}.revsum .avg{display:grid;justify-items:center;gap:4px;min-width:92px}.revsum .avg b{font-size:34px;line-height:1;font-weight:700;letter-spacing:-.03em}.breakdown{display:grid;gap:5px}.bk{display:grid;grid-template-columns:10px 14px minmax(0,1fr) 22px;align-items:center;gap:6px}.bk .ico{fill:var(--accent);stroke:none;width:12px;height:12px}.bk .bar{min-width:0;height:7px}.myrev{display:grid;gap:8px}.revform{display:grid;gap:8px;padding:12px;border-radius:16px;border:1px dashed var(--border-strong)}.revlist{display:grid;gap:10px}.rev{display:grid;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);animation:rise .45s var(--ease) calc(var(--i, 0) * 50ms) both}.rev p{margin:0}.rev.mine{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 6%,transparent)}@media(max-width:640px){.revsum{grid-template-columns:minmax(0,1fr)}}.students{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.shell .card.stu{display:grid;gap:14px;text-align:left;font:inherit;color:inherit;cursor:pointer;animation:rise .5s var(--ease) calc(var(--i, 0) * 45ms) both}.stu-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid var(--border)}.stu-stat{display:flex;align-items:center;gap:8px;min-width:0}.stu-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stu-kpis .kp{display:grid;justify-items:center;gap:8px;text-align:center;padding:12px 8px;border-radius:18px;background:var(--surface-2)}.timeline{display:grid;gap:0}.tl{position:relative;display:flex;gap:12px;padding:0 0 14px;animation:rise .45s var(--ease) calc(var(--i, 0) * 40ms) both}.tl:before{content:"";position:absolute;left:14px;top:30px;bottom:0;width:2px;background:var(--border)}.tl:last-child:before{display:none}.tl-dot{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--surface-2);color:var(--muted);border:2px solid var(--border)}.tl-dot.present{background:var(--mint-soft);color:var(--success);border-color:var(--success)}.tl-dot.late{background:var(--sun-soft);color:var(--warning);border-color:var(--warning)}.tl-dot.absent{background:var(--pink-soft);color:var(--danger);border-color:var(--danger)}.tl-sum{margin-top:6px;padding:8px 10px;border-radius:12px;background:var(--surface-2);white-space:pre-wrap}.kpis4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.shell .card.kpi-c{display:grid;gap:4px}.kpi-c b{font-size:26px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.cc.pod.p1{box-shadow:inset 0 1px 0 var(--g-edge),0 0 0 2px var(--sun),var(--shadow-lg)}.rankb{position:absolute;right:12px;top:12px;min-width:44px;height:44px;padding:0 8px;border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:16px;background:var(--ink);color:var(--sun)}.cc.pod.p2 .rankb,.cc.pod.p3 .rankb{color:var(--on-primary)}.tstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tstats>div{display:grid;gap:2px;padding:10px;border-radius:14px;background:var(--surface-2);min-width:0}.tstats b{font-size:15px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tstats span{font-size:11px;color:var(--muted)}.tav-img{border-radius:50%;object-fit:cover;flex:0 0 auto}.tav-img.ph{display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--grad);color:var(--on-primary)}.classhead,.tutorrow{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.classhead{border-bottom:1px solid var(--border)}.classhead:hover,.tutorrow:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.tutorrow{padding:12px;border-radius:16px;border:1px solid var(--border)}.cp.minirow{width:100%;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.dthumb{position:relative;aspect-ratio:16 / 7;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--lav-soft),var(--sky))}.dthumb img,.dthumb .thumb-ph{width:100%;height:100%;object-fit:cover;display:grid;place-items:center}.dthumb .cc-status{position:absolute;top:12px;left:12px}.dthumb .cc-status .pill{background:var(--surface)}@media(max-width:1180px){.kpis4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.podium{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.kpis4,.tstats{grid-template-columns:repeat(2,minmax(0,1fr))}.stu-kpis{grid-template-columns:minmax(0,1fr)}.stu-kpis .kp{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left}}.welcome{display:flex;flex-direction:column;gap:22px;margin:10px 0 8px}.welcome-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.welcome h1{font-size:clamp(36px,4.6vw,56px);font-weight:400;letter-spacing:-.045em;line-height:1}.welcome .sub{color:var(--muted);font-size:14px;margin-top:10px}.welcome .tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.welcome-row{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap}.wbars{flex:1 1 480px;display:flex;gap:6px;min-width:0}.wbar{flex:var(--w) 1 0;min-width:112px;display:flex;flex-direction:column;gap:8px;animation:wbar-in .7s var(--ease) both;animation-delay:calc(var(--i) * 80ms + .15s)}@keyframes wbar-in{0%{opacity:0;transform:translateY(8px)}}.wbar-l{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wbar-p{height:44px;border-radius:999px;display:flex;align-items:center;padding:0 16px;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.wbar-p.ink{background:var(--contrast);color:var(--on-contrast);box-shadow:inset 0 1px #ffffff2e,0 8px 18px var(--primary-glow)}.wbar-p.sun{background:linear-gradient(135deg,var(--sun),var(--accent));color:var(--on-accent);box-shadow:inset 0 1px #ffffff73}.wbar-p.stripe{color:var(--text);background:repeating-linear-gradient(-55deg,color-mix(in srgb,var(--text) 16%,transparent) 0 1.5px,transparent 1.5px 7px),color-mix(in srgb,var(--surface) 50%,transparent);border:1px solid var(--border)}.wbar-p.line{color:var(--text);border:1.5px solid var(--border-strong);background:color-mix(in srgb,var(--surface) 35%,transparent)}.wstats{display:flex;gap:30px;flex:none}.wstat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.wstat b{font-size:56px;font-weight:300;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}.wstat span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.wstat .ico{width:22px;height:22px;padding:4px;border-radius:50%;border:1px solid var(--border-strong)}.dsec{display:flex;flex-direction:column;gap:12px;margin-top:10px}.dsec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.dsec-h h2{font-size:28px;font-weight:400;letter-spacing:-.035em}.dhead h1{font-weight:400}@media(max-width:860px){.wstats{width:100%;justify-content:space-between;gap:12px}.wstat b{font-size:42px}}@media(max-width:640px){.wbars{flex-wrap:wrap;flex-basis:100%}.wbar{flex:1 1 40%}.wstat b{font-size:36px}}.ripple-layer{position:fixed;z-index:2000;overflow:hidden;pointer-events:none}.ripple{position:absolute;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 26%,transparent) 0%,color-mix(in srgb,var(--primary) 10%,transparent) 45%,transparent 70%);transform:scale(0);animation:ripple .65s var(--ease, ease-out) forwards}.ripple-layer.light .ripple{background:radial-gradient(circle,rgba(255,255,255,.45) 0%,rgba(255,255,255,.12) 45%,transparent 70%)}@keyframes ripple{to{transform:scale(1);opacity:0}}.shell .btn{transition:transform .25s var(--spring),box-shadow .25s,background-color .2s,color .2s,border-color .2s}.shell .btn:not(:disabled):hover{transform:translateY(-1px)}.shell .btn:not(:disabled):active,.shell .iconbtn:active,.shell .cp:active,.shell .opt:active{transform:scale(.96);transition-duration:.08s}.shell .btn:not(:disabled):hover .ico{animation:ico-nudge .45s var(--spring)}@keyframes ico-nudge{40%{transform:translate(2px) scale(1.12)}}.shell .btn.liquid:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 48%,transparent 62%);transform:translate(-120%)}.shell .btn.liquid{position:relative;overflow:hidden}.shell .btn.liquid:not(:disabled):hover:after{transform:translate(120%);transition:transform .8s var(--ease)}.shell .input,.shell .select{transition:border-color .2s,box-shadow .3s var(--ease),background-color .2s}.shell .input:focus,.shell .select:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.shell .pill{animation:pill-in .4s var(--spring) backwards}@keyframes pill-in{0%{opacity:0;transform:scale(.7)}}.shell .cp{transition:transform .3s var(--ease),background-color .25s,box-shadow .3s}.shell button.cp:hover,.shell .cp.minirow:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}.shell .cp>.ico:last-child{transition:transform .3s var(--spring)}.shell .cp:hover>.ico:last-child{transform:translate(3px)}.dt tbody tr{transition:background-color .2s}.dt tbody tr:hover{background:color-mix(in srgb,var(--lav-soft) 45%,transparent)}.dt tbody tr td:first-child>*{transition:transform .3s var(--ease)}.dt tbody tr:hover td:first-child>*{transform:translate(3px)}.dt tbody tr:hover .subj,.dt tbody tr:hover .tthumb{animation:pop-tilt .5s var(--spring)}@keyframes pop-tilt{50%{transform:rotate(-8deg) scale(1.1)}}.shell .notice{animation:notice-in .5s var(--ease) backwards}@keyframes notice-in{0%{opacity:0;transform:translateY(-6px)}}.drawer-paper .db>*{animation:rise .45s var(--ease) backwards}.drawer-paper .db>:nth-child(2){animation-delay:.04s}.drawer-paper .db>:nth-child(3){animation-delay:.08s}.drawer-paper .db>:nth-child(4){animation-delay:.12s}.drawer-paper .db>:nth-child(5){animation-delay:.16s}.drawer-paper .db>:nth-child(6){animation-delay:.2s}.drawer-paper .db>:nth-child(n+7){animation-delay:.24s}.cps>*{animation:rise .4s var(--ease) backwards}.cps>:nth-child(2){animation-delay:.03s}.cps>:nth-child(3){animation-delay:.06s}.cps>:nth-child(4){animation-delay:.09s}.cps>:nth-child(5){animation-delay:.12s}.cps>:nth-child(n+6){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.sec h4{position:relative}.chips .chip{animation:pill-in .4s var(--spring) backwards}.chips .chip:nth-child(2){animation-delay:.03s}.chips .chip:nth-child(3){animation-delay:.06s}.chips .chip:nth-child(n+4){animation-delay:.09s}.cmdk{display:flex;align-items:center;gap:9px;height:44px;width:min(340px,30vw);padding:0 8px 0 15px;border-radius:999px;border:1px solid var(--g-border);background:color-mix(in srgb,var(--surface) 55%,transparent);box-shadow:inset 0 1px 0 var(--g-edge);color:var(--muted);font-size:13.5px;cursor:pointer;transition:box-shadow .3s,transform .3s var(--spring),width .4s var(--ease)}.cmdk:hover{box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow);transform:translateY(-1px);width:min(380px,32vw)}.cmdk:hover .ico{animation:wiggle .5s ease}.cmdk .grow{text-align:left}kbd{font:600 11px var(--font);padding:3px 7px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--muted);box-shadow:0 1px 0 var(--border);white-space:nowrap}.cmdk-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--muted)}.cmdk-in input{border:0;outline:none;background:none;font:500 15px var(--font);color:var(--text);min-width:0;height:28px}.cmdk-list{max-height:min(420px,60vh);overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.cmdk-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border:0;border-radius:12px;background:none;font:500 14px var(--font);color:var(--text);text-align:left;cursor:pointer;animation:rise .3s var(--ease) calc(min(var(--i),10)*20ms) backwards}.cmdk-row.on{background:var(--lav-soft);color:var(--primary)}.cmdk-row>.ico:last-child{opacity:0;transform:translate(-4px);transition:opacity .2s,transform .25s var(--spring)}.cmdk-row.on>.ico:last-child{opacity:1;transform:none}.clock{display:flex;align-items:baseline;gap:6px;height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--g-border);background:color-mix(in srgb,var(--surface) 55%,transparent);box-shadow:inset 0 1px 0 var(--g-edge);align-items:center;white-space:nowrap;font-size:13px}.clock b{font-size:14px;letter-spacing:-.01em}.clock-d,.clock-z{color:var(--muted);font-size:12px}.clock-z{font-weight:700;padding:2px 6px;border-radius:6px;background:var(--lav-soft);color:var(--primary);font-size:10.5px;letter-spacing:.04em}@media(max-width:1180px){.clock-d{display:none}.cmdk{width:200px}.cmdk:hover{width:220px}}.pstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.pstat{position:relative;display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 14px;border-radius:20px;border:1px solid var(--g-border);background:var(--g-card);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow);text-align:left;font:inherit;color:inherit;overflow:hidden;animation:rise .5s var(--ease) calc(var(--i, 0) * 60ms) backwards;transition:transform .35s var(--spring),box-shadow .3s,border-color .2s}button.pstat{cursor:pointer}.pstat:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow-lg);border-color:var(--border-strong)}.pstat:before{content:"";position:absolute;right:-30px;top:-30px;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle,var(--tc-soft) 0%,transparent 70%);opacity:.9;transition:transform .6s var(--ease);pointer-events:none}.pstat:hover:before{transform:scale(1.4) translate(-10px,8px)}.psi{width:38px;height:38px;flex:none;border-radius:13px;display:grid;place-items:center;color:var(--tc);background:var(--tc-soft);box-shadow:inset 0 1px #ffffff80;transition:transform .5s var(--spring)}.pstat:hover .psi{transform:rotate(-10deg) scale(1.1)}.psb{display:flex;flex-direction:column;min-width:0;position:relative}.psv{font-size:22px;font-weight:650;letter-spacing:-.03em;line-height:1.1}.psl{font-size:12px;color:var(--muted);font-weight:600}.pss{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.psp{position:absolute;left:14px;right:14px;bottom:8px;height:3px;border-radius:3px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}.psp i{display:block;height:100%;border-radius:3px;background:var(--tc);transform-origin:left;animation:bar-in 1s var(--ease) .3s both}.t-lav{--tc: var(--primary);--tc-soft: var(--lav-soft)}.t-mint{--tc: var(--success);--tc-soft: var(--mint-soft)}.t-sun{--tc: var(--warning);--tc-soft: var(--sun-soft)}.t-pink{--tc: var(--danger);--tc-soft: var(--pink-soft)}.t-sky{--tc: var(--primary-2);--tc-soft: color-mix(in srgb, var(--sky) 45%, transparent)}.cmdk-row .psi{width:30px;height:30px;border-radius:10px;--tc: var(--primary);--tc-soft: var(--lav-soft)}.btabs-sep{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:12px 12px 4px;border-top:1px solid var(--border);margin-top:6px}.btabs .ck.ic{border:0;color:inherit}.builder .card.span2{grid-column:span 2}.sesgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.ses{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:18px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 70%,transparent);text-align:left;font:inherit;color:inherit;cursor:pointer;animation:rise .45s var(--ease) calc(min(var(--i, 0),16)*30ms) backwards;transition:transform .35s var(--spring),border-color .2s,box-shadow .3s}.ses:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow)}.ses.needs{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--sun-soft) 45%,transparent)}.sesn{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;font-size:12.5px;font-weight:700;background:var(--lav-soft);color:var(--primary);transition:transform .45s var(--spring)}.ses:hover .sesn{transform:rotate(-10deg) scale(1.1)}.ses.past .sesn{background:var(--grad);color:var(--on-primary)}.sesm{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11.5px;color:var(--muted)}.sesm>span{display:inline-flex;align-items:center;gap:4px}.sesm .ok{color:var(--success)}.sesm .warn{color:var(--warning)}.ccq{margin:0;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--lav-soft) 55%,transparent);font-size:12px;line-height:1.4;display:grid;gap:2px;transition:transform .35s var(--ease)}.cc:hover .ccq{transform:translate(3px)}.ccq cite{font-style:normal;font-size:11px;color:var(--muted);font-weight:600}.ell2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.split{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.split>aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:104px}@media(max-width:1180px){.split{grid-template-columns:minmax(0,1fr)}.split>aside{position:static}.builder .card.span2{grid-column:auto}}@media(max-width:640px){.pstats{grid-template-columns:repeat(2,minmax(0,1fr))}.pstat{min-height:68px;padding:10px 12px;gap:10px}.psi{width:32px;height:32px;border-radius:11px}.psv{font-size:18px}.sesgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.ripple,.shell .pill,.shell .notice,.drawer-paper .db>*,.cps>*,.chips .chip,.cmdk-row,.pstat,.psp i,.ses{animation:none!important}.shell .btn.liquid:after{display:none}}@media(prefers-reduced-transparency:reduce){.pstat{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface)}}.notice.testmode{background:color-mix(in srgb,var(--sun-soft) 70%,transparent);border-color:color-mix(in srgb,var(--warning) 35%,var(--border))}.ccard-pv{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:8px;aspect-ratio:1.7;max-width:340px;width:100%;margin:4px auto;padding:18px 20px;border-radius:20px;color:var(--on-primary);overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 55%,var(--ink)),var(--ink) 70%);box-shadow:0 18px 40px color-mix(in srgb,var(--primary) 28%,transparent),inset 0 1px #ffffff40;transform:perspective(700px) rotateX(8deg) scale(.97);transition:transform .6s var(--spring),background .6s}.ccard-pv.on{transform:perspective(700px) rotateX(0) scale(1);background:linear-gradient(135deg,var(--primary),var(--primary-2) 55%,var(--pink))}.ccard-pv:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translate(-100%);animation:card-shine 3.4s ease-in-out 1s infinite;pointer-events:none}@keyframes card-shine{0%,60%{transform:translate(-100%)}to{transform:translate(100%)}}.ccard-pv.mini{max-width:260px;padding:14px 16px;border-radius:16px;margin:0}.ccard-chip{width:36px;height:26px;border-radius:6px;background:linear-gradient(135deg,var(--sun-soft),var(--accent));box-shadow:inset 0 0 0 1px #00000026}.ccard-brand{position:absolute;right:18px;top:16px;font-weight:800;font-style:italic;letter-spacing:.02em;opacity:.9}.ccard-num{align-self:center;font-size:clamp(15px,4.4vw,19px);font-weight:600;letter-spacing:.12em;text-shadow:0 1px 2px rgba(0,0,0,.25)}.ccard-pv.mini .ccard-num{font-size:14px}.ccard-foot{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;opacity:.9}.paying-dot{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:var(--on-primary);animation:turn .8s linear infinite}.paid-burst{position:relative;animation:paid-pop .55s var(--spring) both}.paid-burst:before,.paid-burst:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid var(--success);opacity:0;animation:burst 1.2s var(--ease) .15s}.paid-burst:after{animation-delay:.4s}@keyframes burst{0%{transform:scale(.7);opacity:.8}to{transform:scale(1.9);opacity:0}}@keyframes paid-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.ccard-pv,.ccard-pv:after,.paying-dot,.paid-burst,.paid-burst:before,.paid-burst:after{animation:none!important;transition:none!important}}.grade-pick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px}.grade-pick button{height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}.grade-pick button.on{background:var(--primary);border-color:transparent;color:var(--on-primary)}.grade-pick button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(max-width:640px){.grade-pick button{height:44px}}.dt td.nowrap{white-space:nowrap}@media(max-width:640px){.grade-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.grade-chips::-webkit-scrollbar{display:none}.grade-chips .chip{flex:none}}.lp{min-height:100vh;overflow-x:clip}.lp a{color:inherit}.lp :focus-visible{outline:2px solid var(--primary);outline-offset:3px}.lp-header{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:20;width:min(1440px,calc(100% - 24px));height:72px;padding:0 12px 0 18px;border-radius:999px;display:flex;align-items:center;gap:10px;--g-blur: 26px;animation:header-in .8s var(--ease) both;transition:height .35s var(--ease),top .35s var(--ease),background-color .35s}.lp-header.is-scrolled{height:60px;top:8px;background:var(--g-tint-strong)}@keyframes header-in{0%{opacity:0;transform:translate(-50%,-24px)}}.lp-header>.lp-progress{position:absolute;left:28px;right:28px;bottom:0;height:2px;border-radius:2px;background:var(--grad);transform-origin:left;transform:scaleX(var(--sp, 0));z-index:4}.lp-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.02em;text-decoration:none;margin-right:8px}.lp-brand svg{width:32px;height:32px;transition:transform .6s var(--spring)}.lp-brand:hover svg{transform:rotate(-12deg) scale(1.08)}.lp-brand .sun{transform-origin:12px 8px;animation:twinkle 3.2s ease-in-out infinite}@keyframes twinkle{50%{transform:scale(1.35)}}.lp-nav{display:flex;gap:2px}.lp-nav a{padding:9px 14px;border-radius:999px;color:var(--muted);font-weight:600;font-size:13.5px;text-decoration:none;transition:color .2s,background-color .3s,box-shadow .3s}.lp-nav a:hover{color:var(--text)}.lp-nav a.is-active{color:var(--text);background:var(--g-tint-strong);box-shadow:inset 0 1px 0 var(--g-edge),0 6px 16px var(--g-shade)}.lp-grow{flex:1}.lp-hero{position:relative;max-width:1440px;min-height:100svh;margin:0 auto;padding:120px 40px 72px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}.lp-copy{min-width:0;transform:translate3d(0,calc(min(var(--sy, 0),900)*.12px),0);opacity:calc(1 - min(var(--sy, 0),900) / 1100)}.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;animation:rise .8s var(--ease) both}.lp-dot{width:8px;height:8px;border-radius:50%;background:var(--success);animation:ping 2.2s ease-out infinite}@keyframes ping{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 55%,transparent)}70%,to{box-shadow:0 0 0 9px transparent}}.lp-title{margin:20px 0 18px;font-size:clamp(34px,5vw,62px);line-height:1.04;letter-spacing:-.035em;font-weight:800}.lp-title .lp-w{display:inline-block;animation:rise .9s var(--ease) both;animation-delay:calc(var(--i) * 70ms + .12s)}@keyframes rise{0%{opacity:0;transform:translateY(.45em) rotate(2deg);filter:blur(6px)}}.lp-rot{position:relative;display:inline-grid;vertical-align:bottom;overflow:hidden;padding-bottom:.12em}.lp-rot>span{grid-area:1 / 1;color:var(--c);transform:translateY(105%);opacity:0;transition:transform .7s cubic-bezier(.65,0,.2,1),opacity .5s}.lp-rot>span.on{transform:none;opacity:1}.lp-rot>span.out{transform:translateY(-105%);opacity:0}.lp-swoosh{position:absolute;left:0;bottom:-.02em;width:100%;height:.22em;overflow:visible}.lp-swoosh path{fill:none;stroke:var(--c);stroke-width:6;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;animation:draw 1s .25s var(--ease) forwards;opacity:.55}@keyframes draw{to{stroke-dashoffset:0}}.lp-lead{max-width:540px;margin:0;font-size:17px;line-height:1.6;color:var(--muted);animation:rise .9s .55s var(--ease) both}.lp-marquee{margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);animation:rise .9s .7s var(--ease) both}.lp-marquee-track{display:flex;gap:10px;width:max-content;padding:6px 0 14px;animation:marquee 36s linear infinite}.lp-marquee:hover .lp-marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.lp-chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}.lp-chip i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 20%,transparent)}.lp-previews{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;align-items:start}.lp-par{--depth: 1;transform:translate3d(calc(var(--px, 0) * var(--depth) * 10px),calc(var(--py, 0) * var(--depth) * 8px + var(--sy, 0) * var(--depth) * -.05px),0);transition:transform .5s var(--ease)}.lp-par:nth-child(2){--depth: 1.8;margin-top:30px}.lp-par:nth-child(3){--depth: 1.3;margin-top:10px}.lp-float{padding:14px;border-radius:20px;animation:bob 6s ease-in-out var(--bd, 0s) infinite,fade 1s var(--fd, .9s) both}.lp-par:nth-child(2) .lp-float{--fd: 1.05s}.lp-par:nth-child(3) .lp-float{--fd: 1.2s}@keyframes fade{0%{opacity:0}}.lp-par:nth-child(2) .lp-float{--bd: -2s}.lp-par:nth-child(3) .lp-float{--bd: -4s}@keyframes bob{50%{transform:translateY(-9px)}}.lp-mini-k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lp-mini-t{margin:6px 0 2px;font-weight:700;font-size:14px}.lp-mini-s{font-size:12px;color:var(--muted)}.lp-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.lp-join{margin-top:10px;height:32px;padding:0 14px;font-size:12.5px;animation:glow 2.4s ease-in-out infinite}@keyframes glow{50%{box-shadow:inset 0 1px #ffffff80,0 0 0 6px color-mix(in srgb,var(--primary) 18%,transparent),0 10px 24px var(--primary-glow)}}.lp-seats{display:flex;gap:5px;margin-top:10px}.lp-seats i{width:16px;height:16px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border)}.lp-seats i.on{background:var(--grad);border:0;box-shadow:inset 0 1px #ffffff8c;animation:pop .5s var(--spring) both;animation-delay:calc(var(--i) * .14s + 1.2s)}.lp-seats i.next{border:1.5px dashed var(--primary);animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.18)}}.lp-clock{margin-top:6px;font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.lp-bar{height:6px;margin-top:8px;border-radius:3px;background:var(--surface-2);overflow:hidden}.lp-bar i{display:block;height:100%;border-radius:3px;background:var(--grad);transition:width 1s linear}.lp-cue{position:absolute;left:50%;bottom:20px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:12px;font-weight:600;text-decoration:none;opacity:calc(1 - var(--sy, 0) / 220)}.lp-cue svg{animation:nudge 1.6s ease-in-out infinite}@keyframes nudge{50%{transform:translateY(6px)}}.lp-signin{justify-self:end;width:100%;max-width:460px;padding:28px;border-radius:28px;overflow:hidden;animation:card-in 1s .2s var(--ease) both}@keyframes card-in{0%{opacity:0;transform:translateY(28px) scale(.96)}}.lp-shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.lp-halo{position:absolute;inset:auto -30% -40% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-2) 30%,transparent),transparent 70%);filter:blur(20px);animation:halo 9s ease-in-out infinite alternate;pointer-events:none}@keyframes halo{to{transform:translate(-30%,-20%) scale(1.2)}}.lp-signin h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.025em}.lp-signin .sub{margin:4px 0 20px;color:var(--muted)}.lp-wave{display:inline-block;transform-origin:70% 70%;animation:wave 2.4s 1.2s ease-in-out 2}@keyframes wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.lp-seg{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:20px;border-radius:999px;background:color-mix(in srgb,var(--surface-2) 75%,transparent);border:1px solid var(--border)}.lp-seg button{position:relative;z-index:1;height:40px;border:0;border-radius:999px;background:none;color:var(--muted);font:600 13.5px var(--font);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:color .25s}.lp-seg button[aria-selected=true]{color:var(--text)}.lp-seg-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--surface);box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow);transition:transform .5s cubic-bezier(.45,1.55,.4,1)}.lp-seg[data-tab=student] .lp-seg-thumb{transform:translate(100%)}.lp-panel{animation:panel-in .45s var(--ease) both}@keyframes panel-in{0%{opacity:0;transform:translate(var(--dir, 18px))}}.lp-form{display:flex;flex-direction:column;gap:14px}.lp-field .MuiOutlinedInput-root{transition:box-shadow .25s,transform .25s var(--ease)}.lp-field .MuiOutlinedInput-root.Mui-focused{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent);transform:translateY(-1px)}.lp-field .MuiInputAdornment-positionStart svg{color:var(--muted);transition:color .25s,transform .35s var(--spring)}.lp-field .Mui-focused .MuiInputAdornment-positionStart svg{color:var(--primary);transform:scale(1.12) rotate(-6deg)}.lp-ok{color:var(--success)}.lp-or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:600}.lp-or:before,.lp-or:after{content:"";flex:1;height:1px;background:var(--border)}.sso{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sso-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 12px;white-space:nowrap;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:700 14px var(--font);cursor:pointer;transition:transform .3s var(--spring),border-color .2s,box-shadow .25s}.sso-btn:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:var(--shadow-sm, 0 6px 18px color-mix(in srgb, var(--text) 10%, transparent))}.sso-btn:active:not(:disabled){transform:scale(.97)}.sso-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}.sso-btn:disabled{opacity:.6;cursor:default}.sso-btn svg{width:18px;height:18px;flex:none}.sso-btn .apple{fill:currentColor}.sso-gis{display:flex;align-items:center;justify-content:center;min-height:46px;min-width:0}.sso-gis iframe{color-scheme:normal}.sso-note{margin:0;font-size:12px;color:var(--muted);text-align:center}@media(max-width:420px){.sso{grid-template-columns:1fr}}.lp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-4px 0 -2px}.lp-link{border:0;background:none;padding:6px 2px;color:var(--primary);font:600 13px var(--font);cursor:pointer;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s var(--ease)}.lp-link:hover{background-size:100% 1.5px}.lp-hint{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:10px 12px;border-radius:14px;font-size:12.5px;color:var(--muted);background:color-mix(in srgb,var(--lav-soft) 60%,transparent)}.lp-hint b{color:var(--text)}.lp-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:12px;border-left:3px solid var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent);color:var(--text);font-size:13px;font-weight:600;animation:drop .3s var(--ease) both}.lp-error svg{color:var(--danger);flex:none}.lp-caps{display:flex;align-items:center;gap:6px;margin-top:-6px;font-size:12px;font-weight:600;color:var(--warning);animation:drop .25s var(--ease) both}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}.lp-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:12px 0 4px}.lp-done .lp-done-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:var(--on-primary);background:var(--success);animation:pop .5s var(--spring) both;box-shadow:0 0 color-mix(in srgb,var(--success) 40%,transparent)}.lp-done .lp-done-icon.mail{background:var(--grad)}.lp-done h3{margin:6px 0 0;font-size:18px}.lp-done p{margin:0;color:var(--muted)}.lp-who{margin:0 0 12px;text-align:center;font-weight:700;font-size:15px}.lp-avatars{display:flex;justify-content:center;gap:12px;margin-bottom:18px}.lp-avatar{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:96px;padding:10px 12px;border:1px solid transparent;border-radius:20px;background:none;color:var(--text);font:600 13.5px var(--font);cursor:pointer;transition:background-color .25s,border-color .25s}.lp-avatar small{font-size:11.5px;font-weight:500;color:var(--muted)}.lp-avatar .face{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:var(--lav-soft);box-shadow:inset 0 1px 0 var(--g-edge);transition:transform .45s var(--spring),box-shadow .3s}.lp-avatar:nth-child(2n) .face{background:var(--pink-soft)}.lp-avatar:hover .face{transform:translateY(-5px) rotate(-7deg)}.lp-avatar[aria-pressed=true]{background:color-mix(in srgb,var(--surface) 70%,transparent);border-color:var(--border)}.lp-avatar[aria-pressed=true] .face{box-shadow:0 0 0 3px var(--primary),0 10px 24px var(--g-shade);animation:jelly .6s var(--spring)}@keyframes jelly{30%{transform:scale(1.15,.88)}60%{transform:scale(.94,1.06)}}.lp-pin{display:flex;justify-content:center;gap:12px}.lp-pin input{width:58px;height:66px;border-radius:18px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font:800 28px var(--font);text-align:center;caret-color:var(--primary);transition:border-color .2s,box-shadow .25s,transform .25s var(--ease)}.lp-pin input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent);transform:translateY(-3px)}.lp-pin input.filled{animation:pop-sm .3s var(--spring);border-color:var(--primary)}@keyframes pop-sm{50%{transform:scale(1.1)}}.lp-pin.ok input{border-color:var(--success);animation:hop .5s var(--spring) both;animation-delay:calc(var(--i) * 70ms)}@keyframes hop{40%{transform:translateY(-10px)}}.lp-pin.bad{animation:shake .45s cubic-bezier(.36,.07,.19,.97)}.lp-pin.bad input{border-color:var(--danger)}.lp-pin-note{margin:12px 0 0;text-align:center;font-size:12.5px;color:var(--muted)}.lp-section{max-width:1200px;margin:0 auto;padding:104px 24px;scroll-margin-top:80px}.lp-kicker{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--primary)}.lp-h2{margin:10px 0 14px;font-size:clamp(30px,3.8vw,46px);line-height:1.08;letter-spacing:-.03em;font-weight:800}.lp-sub{max-width:620px;margin:0;font-size:16px;line-height:1.6;color:var(--muted)}.lp-center{text-align:center}.lp-center .lp-sub{margin:0 auto}.lp-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:56px}.lp-steps-line{position:absolute;top:46px;left:16%;right:16%;height:3px;border-radius:3px;background:var(--border)}.lp-steps-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--grad);transform-origin:left;transform:scaleX(clamp(0,calc((var(--p, 0) - .2) / .5),1))}.lp-step{--on: clamp(0, calc((var(--p, 0) - var(--at)) * 7), 1);position:relative;padding:24px;text-align:center;opacity:calc(.4 + var(--on) * .6);transform:translateY(calc((1 - var(--on)) * 22px))}.lp-step .num{position:relative;width:46px;height:46px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--muted);background:var(--surface);border:1px solid var(--border)}.lp-step .num:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;background:var(--grad);opacity:var(--on);transform:scale(calc(.5 + var(--on) * .5));box-shadow:0 8px 20px var(--primary-glow)}.lp-step .num span{position:relative;color:color-mix(in srgb,var(--on-primary) calc(var(--on) * 100%),var(--muted))}.lp-step .icon{width:56px;height:56px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;color:var(--primary);background:var(--lav-soft);transform:rotate(calc((1 - var(--on)) * -14deg)) scale(calc(.85 + var(--on) * .15))}.lp-step h3{margin:0 0 6px;font-size:17px}.lp-step p{margin:0;color:var(--muted)}.lp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px}.lp-tilt{height:100%;padding:26px;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .5s var(--ease),box-shadow .3s}.lp-tilt:hover{box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow-lg)}.lp-tilt .icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--on-primary);background:var(--grad);box-shadow:inset 0 1px #ffffff80,0 10px 22px var(--primary-glow);transition:transform .5s var(--spring)}.lp-tilt:hover .icon{transform:translateY(-4px) rotate(-8deg)}.lp-tilt h3{margin:18px 0 6px;font-size:19px;letter-spacing:-.015em}.lp-tilt p{margin:0 0 16px;color:var(--muted)}.lp-tilt ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.lp-tilt li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13.5px}.lp-tilt li svg{color:var(--success);flex:none}.lp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:28px;border-radius:28px}.lp-fact{padding:8px 14px}.lp-fact+.lp-fact{border-left:1px solid var(--border)}.lp-num{font-size:clamp(40px,5vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-fact p{margin:8px 0 0;color:var(--muted);font-weight:600;font-size:13.5px}.lp-safety{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}.lp-ring{position:relative;width:min(280px,70vw);aspect-ratio:1;margin:36px 0 0}.lp-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.lp-ring circle{fill:none;stroke-width:10}.lp-ring .bg{stroke:var(--border)}.lp-ring .fg{stroke:url(#ring-grad);stroke-linecap:round;stroke-dasharray:503;stroke-dashoffset:calc(503px*(1 - clamp(0,calc((var(--p, 0) - .1) / .6),1)))}.lp-ring .mid{position:absolute;top:22%;right:22%;bottom:22%;left:22%;border-radius:50%;display:grid;place-items:center;color:var(--primary);transform:scale(calc(.8 + clamp(0,var(--p, 0),1)/5)) rotate(calc(var(--p, 0) * 20deg - 10deg))}.lp-ring .mid svg{width:46%;height:46%;transform:none}.lp-ring .stop-a{stop-color:var(--primary)}.lp-ring .stop-b{stop-color:var(--primary-2)}.lp-list{display:grid;gap:14px}.lp-item{display:flex;gap:16px;padding:20px;border-radius:22px;transition:transform .3s var(--ease)}.lp-item:hover{transform:translate(6px)}.lp-item .icon{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;color:var(--primary);background:var(--lav-soft)}.lp-item h3{margin:0 0 4px;font-size:16px}.lp-item p{margin:0;color:var(--muted)}.lp-cta{position:relative;overflow:hidden;padding:56px 32px;border-radius:32px;text-align:center}.lp-cta:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--primary) 22%,transparent),transparent 40%,color-mix(in srgb,var(--pink) 30%,transparent),transparent 70%);animation:turn 14s linear infinite;pointer-events:none}@keyframes turn{to{transform:rotate(1turn)}}.lp-cta>*{position:relative}.lp-cta .actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}.lp-footer{max-width:1200px;margin:0 auto;padding:8px 24px 48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.lp-footer nav{display:flex;flex-wrap:wrap;gap:18px}.lp-footer a{text-decoration:none}.lp-footer a:hover{color:var(--text)}.lp-fab{position:fixed;right:24px;bottom:24px;z-index:15;display:flex;align-items:center;gap:12px;padding:6px 6px 6px 18px;border-radius:999px;font-weight:600;transform:translateY(140%);opacity:0;pointer-events:none;transition:transform .55s var(--spring),opacity .3s}.lp-fab.show{transform:none;opacity:1;pointer-events:auto}@media(max-width:1100px){.lp-previews .lp-par:nth-child(3){display:none}.lp-previews{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.lp-nav{display:none}.lp-hero{grid-template-columns:minmax(0,1fr);min-height:0;padding:108px 24px 48px;gap:28px}.lp-copy{transform:none;opacity:1}.lp-signin{justify-self:stretch;max-width:none}.lp-previews,.lp-cue{display:none}.lp-cards{grid-template-columns:1fr}.lp-safety{grid-template-columns:1fr;gap:28px}.lp-ring{display:none}.lp-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.lp-fact:nth-child(3){border-left:0}}@media(max-width:760px){.lp-steps{grid-template-columns:1fr;gap:6px;margin-top:36px}.lp-steps-line{top:24px;bottom:24px;left:46px;right:auto;width:3px;height:auto}.lp-steps-line:after{transform-origin:top;transform:scaleY(clamp(0,calc((var(--p, 0) - .1) / .6),1))}.lp-step{display:grid;grid-template-columns:46px 1fr;column-gap:18px;text-align:left;padding:16px 24px}.lp-step .num{margin:0;grid-row:span 3}.lp-step .icon{display:none}.lp-section{padding:72px 20px}}@media(max-width:600px){.lp-header{height:60px;padding:0 8px 0 14px}.lp-header .btn.create{display:none}.lp-hero{padding:92px 16px 36px}.lp-signin{padding:22px 18px;border-radius:24px}.lp-section{padding:64px 16px}.lp-facts{padding:20px 12px}.lp-fact{padding:4px 10px}.lp-cta{padding:40px 20px}.lp-pin{gap:10px}.lp-pin input{width:54px;height:62px}.lp-fab{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));justify-content:space-between}}@media(prefers-reduced-motion:reduce){.lp *,.lp *:before,.lp *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important}.lp-marquee-track{animation:none}.reveal{opacity:1;transform:none}}@media(prefers-reduced-transparency:reduce){.glass-hl:after{display:none}.lp-fab,.lp-header{background:var(--surface)!important}}.print-wrap{max-width:820px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:20px}.print-bar{display:flex;align-items:center;gap:8px}.print-sheet{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px}.print-sheet header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid currentColor;padding-bottom:10px}.print-sheet h1{font-size:26px;margin:0;letter-spacing:-.02em}.print-sheet h2{font-size:17px;margin:6px 0 0}.print-sheet table{width:100%;border-collapse:collapse;font-size:14px}.print-sheet th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid currentColor}.print-sheet td{padding:10px 8px;vertical-align:top;border-bottom:1px solid var(--border)}.print-sheet th:first-child,.print-sheet td:first-child{width:28%}.pmeta{font-size:12px;color:var(--muted)}.ptask{display:flex;gap:10px;align-items:flex-start;padding:3px 0}.pbox{flex:none;width:18px;height:18px;border:2px solid currentColor;border-radius:4px;margin-top:1px}.print-sheet footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}@media(max-width:640px){.print-sheet{padding:18px 14px}.print-sheet th:first-child,.print-sheet td:first-child{width:auto}}@media print{@page{size:letter;margin:14mm}body{background:Canvas!important;color:CanvasText!important}.no-print,.ambient{display:none!important}.print-wrap{max-width:none;padding:0;gap:0}.print-sheet{border:0;border-radius:0;padding:0;background:Canvas;color:CanvasText;min-height:250mm;break-after:page}.print-sheet:last-child{break-after:auto}.pmeta{color:CanvasText;opacity:.75}.print-sheet td{border-bottom-color:CanvasText}}.print-sheet h2{font-size:15px;margin:14px 0 0}.print-sheet .r{text-align:right}.print-sheet th.r,.print-sheet td.r{width:1%;white-space:nowrap}.print-sheet th:first-child.r,.print-sheet td:first-child.r{width:1%}.psum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.psum div{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}.psum b{font-size:26px;font-weight:400;letter-spacing:-.03em}.psum span{font-size:12px;color:var(--muted)}@media(max-width:640px){.psum{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.psum div{border-color:CanvasText}.psum span{color:CanvasText}.print-sheet h2{break-after:avoid}.print-sheet tr{break-inside:avoid}}.goal-card{display:flex;flex-direction:column;gap:10px}.goal-num{display:flex;align-items:baseline;gap:8px}.goal-num b{font-size:34px;font-weight:300;letter-spacing:-.04em;line-height:1}.goal-num span{color:var(--muted);font-size:13px}.goal-bar{width:100%!important;height:8px;margin:8px 0 6px}.goal-bar i{background:var(--accent)!important}.goal-bar.thin{height:4px;margin:0}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-w{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:2px}.cal-d{position:relative;height:64px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:6px 8px;cursor:pointer;text-align:left;transition:border-color .2s var(--ease)}.cal-d:hover:not(:disabled){border-color:var(--text)}.cal-d:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.cal-d:disabled{opacity:.35;cursor:default}.cal-n{font-size:13px;font-weight:600}.cal-m{font-size:10.5px;color:var(--muted)}.cal-d.k-taught{background:var(--sun-soft);border-color:var(--accent)}.cal-d.k-school{border-color:var(--text)}.cal-d.k-school:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--text)}.cal-d.k-off{background:var(--surface-2);border-style:dashed;color:var(--muted)}.cal-d.today .cal-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 4px;margin:-2px 0 0 -4px;border-radius:11px;background:var(--text);color:var(--bg)}.cal-x{min-height:44px}.cal-key{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.cal-key span{display:inline-flex;align-items:center;gap:6px}.cal-key i{width:12px;height:12px;border-radius:4px;border:1px solid var(--border);background:var(--surface)}.cal-key i.k-taught{background:var(--sun-soft);border-color:var(--accent)}.cal-key i.k-school{border-color:var(--text)}.cal-key i.k-off{background:var(--surface-2);border-style:dashed}.log-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.log-row:first-of-type{border-top:0}.log-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:12px;text-align:left;border:0;background:none;color:inherit;font:inherit;padding:4px;border-radius:10px;cursor:pointer}.log-main:hover:not(:disabled){background:var(--surface-2)}.log-main:disabled{cursor:default}.log-main:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.log-date{flex:none;width:40px;display:flex;flex-direction:column;align-items:center;line-height:1.1}.log-date b{font-size:20px;font-weight:400}.log-date span{font-size:11px;color:var(--muted)}.chip.sm{height:30px;padding:0 10px;font-size:12.5px}.chip.kid-chip{padding-left:3px}.chip-gap{width:6px}.db .stack>.label{font-size:12px;font-weight:600;color:var(--muted)}@media(max-width:640px){.cal{gap:3px}.cal-d{height:44px;padding:4px 5px;border-radius:9px}.cal-m{display:none}.cal-w{font-size:10px;letter-spacing:0}}.join-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.join-card{width:min(520px,100%);padding:32px!important;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.join-card h1{font-size:30px;font-weight:400;letter-spacing:-.035em;line-height:1.1;margin:0}.join-card p{margin:0}@media(max-width:640px){.join-card{padding:22px!important}.join-card h1{font-size:24px}}.who-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.who-opt{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:16px;min-height:44px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .3s var(--spring)}.who-opt:hover{transform:translateY(-2px)}.who-opt:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.who-opt.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 10px 24px var(--primary-glow)}.who-tick{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);opacity:0;transform:scale(.6);transition:opacity .2s var(--ease),transform .3s var(--spring)}.who-opt.on .who-tick{opacity:1;transform:scale(1)}@media(max-width:640px){.who-pick{grid-template-columns:1fr}.who-opt{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px}.who-opt .small{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.who-opt,.who-tick{transition:none}.who-opt:hover{transform:none}}.ambient i{opacity:.75}.ambient i:nth-child(4){opacity:.4}.top,.rail,.bnav{--g-blur: 30px}.bnav{backdrop-filter:blur(30px) saturate(1.9);-webkit-backdrop-filter:blur(30px) saturate(1.9)}.card{background:var(--g-card)}.card:has(table),.card:has(.dt),.card.solid{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}.MuiDialog-paper.modal-paper,.drawer-paper,.MuiDrawer-paper,.MuiPopover-paper.modal-paper,.MuiMenu-paper{background:var(--g-tint-strong)!important;backdrop-filter:blur(34px) saturate(1.9)!important;-webkit-backdrop-filter:blur(34px) saturate(1.9)!important;border:1px solid var(--g-border)!important;box-shadow:inset 0 1px 0 var(--g-edge),var(--shadow-lg)!important}.liquid,.btn.liquid{background:var(--primary)!important;box-shadow:inset 0 1px #ffffff47,inset 0 -2px 6px var(--primary-deep),0 8px 20px var(--primary-glow)!important}.liquid:before{background:linear-gradient(180deg,#fff3,#fff0)!important}.btn.liquid:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 88%,var(--surface))!important}.chip.on{background:var(--text)!important;border-color:var(--text)!important}.pills button.on,.ptabs button.on,.seg button.on,.viewsw button.on{box-shadow:none!important}.av.grad,.tav{background:var(--primary)!important;color:var(--on-primary)!important}.subj{background:color-mix(in srgb,var(--sc) 12%,var(--surface))!important}.sgrid i.d{background:var(--lav-soft)!important;box-shadow:none!important}.sgrid i.d2{background:color-mix(in srgb,var(--sky) 60%,var(--surface))!important;box-shadow:none!important}.sgrid i.m{background:var(--pink-soft)!important;box-shadow:none!important}.sgrid i.now{background:var(--accent)!important;box-shadow:none!important}.bar i{background:var(--accent)!important}.wbar-p.sun{background:var(--accent)!important;box-shadow:none!important}.att.now,.ccard-chip{background:var(--accent)!important}.shell .hero{background:var(--g-card)!important}.wico{background:color-mix(in srgb,var(--surface) 70%,transparent)!important;box-shadow:inset 0 0 0 1px var(--g-border),inset 0 1px 0 var(--g-edge)!important}.pstat:before{display:none!important}.ccard-pv.on{background:var(--primary)!important}.ccard-pv:after{display:none!important}.lp-halo,.lp-cta:before{display:none!important}.cc .thumb,.drawer-thumb,.thumb-edit,.tthumb,.dthumb{background:var(--surface-2)!important}.ripple{background:color-mix(in srgb,var(--text) 10%,transparent)!important}@media print{.ambient{display:none!important}.glass,.card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important;box-shadow:none!important}}.liquid,.btn.liquid{box-shadow:inset 0 1px #ffffff4d,0 0 0 1px color-mix(in srgb,var(--primary) 70%,transparent),0 8px 26px var(--primary-glow)!important}.topnav a.on,.rail a.on,.bnav a.on,.shell.side-nav .rail a.on{box-shadow:0 0 18px var(--primary-glow)!important}.bar i,.wbar-p.sun,.sgrid i.now,.att.now{box-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent)!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent)}.top,.card,.glass{border-color:color-mix(in srgb,var(--primary) 12%,var(--g-border))!important}@media(min-width:1181px)and (max-width:1439px){.topnav a{padding:0 10px;font-size:13px}}
