.pg-run{display:flex;flex-direction:column;gap:18px;padding:4px 0 2px}.pg-head{display:flex;align-items:center;gap:14px}.pg-orb{position:relative;flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.pg-orb:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);animation:spin 1.1s linear infinite}.pg-orb svg{animation:pg-breathe 1.8s ease-in-out infinite}@keyframes pg-breathe{50%{transform:scale(1.15);opacity:.75}}.pg-title{font-weight:700;font-size:17px}.pg-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.pg-steps li{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-weight:500;transition:color .25s}.pg-steps .ic{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);background:var(--card);color:#fff;transition:background .25s,border-color .25s}.pg-steps li.done{color:var(--ink-2)}.pg-steps li.done .ic{background:var(--ok);border-color:var(--ok)}.pg-steps li.cur{color:var(--ink);font-weight:600}.pg-steps li.cur .ic{border-color:var(--accent-soft);border-top-color:var(--accent);animation:spin .9s linear infinite}.pg-bar{position:relative;height:6px;border-radius:3px;background:var(--line-2);overflow:hidden}.pg-bar>i{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width .6s ease-out}.pg-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:pg-sweep 1.4s ease-in-out infinite}@keyframes pg-sweep{0%{background-position:-40% 0}to{background-position:140% 0}}@media(prefers-reduced-motion:reduce){.pg-orb:after,.pg-orb svg,.pg-steps li.cur .ic,.pg-bar:after{animation:none}}.modal:has(.pr-wrap){width:min(1080px,100%)}.modal:has(.pr-wrap) .modal-head,.modal:has(.ph-grid) .modal-head{position:sticky;top:-22px;z-index:2;margin:-22px -22px 0;padding:22px 22px 12px;background:var(--card)}.modal:has(.pr-wrap) .modal-foot,.modal:has(.ph-grid) .modal-foot{position:sticky;bottom:-22px;z-index:2;margin:0 -22px -22px;padding:12px 22px 18px;background:var(--card);border-top:1px solid var(--line)}.pr-part{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);overflow:hidden}.pr-part.same{border-style:dashed}.pr-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:10px 14px;background:var(--paper);border-bottom:1px solid var(--line-2)}.pr-name{font-size:14.5px}.pr-cols{display:grid;grid-template-columns:1fr 1fr}.pr-cols.one{grid-template-columns:1fr}.pr-col{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px 14px 14px;outline:none;transition:background .12s,box-shadow .12s}.pr-col+.pr-col{border-left:1px solid var(--line-2)}.pr-col.pickable{cursor:pointer}.pr-col.pickable:hover{background:var(--accent-soft-2)}.pr-col.pickable:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-soft)}.pr-col.on{background:var(--accent-soft-2);box-shadow:inset 0 0 0 2px var(--accent)}.pr-col.pickable:not(.on) .pr-body{opacity:.5}.pr-pick{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.pr-col.on .pr-pick{color:var(--accent-ink)}.pr-act{margin-left:auto;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-2)}.pr-col.on .pr-act{color:var(--accent-ink)}.pr-radio{flex:none;width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:var(--card)}.pr-col.on .pr-radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--card)}.pr-body{transition:opacity .12s;min-width:0}.pr-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.55;color:var(--ink);max-height:340px;overflow:auto}.pr-stage-title .pr-text{font-weight:600}.pr-text mark,.pr-del,.pr-ins{border-radius:2px;padding:0 1px}.pr-text mark.del,.pr-del{background:var(--danger-soft);color:var(--danger);text-decoration:line-through;text-decoration-thickness:1px}.pr-text mark.ins,.pr-ins{background:var(--ok-soft);color:#1f6b40}.pr-missing{font-size:13.5px;color:var(--ink-3);font-style:italic}.pr-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14px}@media(max-width:720px){.pr-cols{grid-template-columns:1fr}.pr-col+.pr-col{border-left:0;border-top:1px solid var(--line-2)}.pr-text{max-height:260px}}@media(max-width:640px){.modal:has(.pr-wrap) .modal-foot,.modal:has(.ph-grid) .modal-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.modal:has(.pr-wrap) .modal-foot .btn,.modal:has(.ph-grid) .modal-foot .btn{flex:1 1 auto}}.ph-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.ph-list{display:flex;flex-direction:column;gap:4px;position:sticky;top:52px;max-height:calc(100vh - 220px);overflow:auto}.ph-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;border:1px solid transparent;border-radius:var(--r-sm);background:none;text-align:left;color:var(--ink);font:inherit}.ph-item b{font-size:14px}.ph-item:hover{background:var(--paper)}.ph-item.on{background:var(--accent-soft-2);border-color:var(--accent)}.ph-view{min-width:0;padding-left:18px;border-left:1px solid var(--line-2)}@media(max-width:720px){.ph-grid{grid-template-columns:1fr}.ph-list{position:static;max-height:200px;border:1px solid var(--line);border-radius:var(--r-sm);padding:4px}.ph-view{padding-left:0;border-left:0}}.lab3{--glass: #4F676D;--grid: #E9F0EE;--heat: #E2680F;--heat-ink: #A6470A;--heat-soft: #FFF1E4;container-type:inline-size;display:flex;flex-direction:column;gap:18px;min-width:0}.lab3 button:focus-visible,.lab3 input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lab3 .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.lab3-bench{background:var(--card);border:1px solid var(--line);border-radius:var(--r);scroll-margin-top:12px}.lab3-eq{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:22px 26px 20px;border-bottom:1px solid var(--line-2)}.lab3-eq-in{display:flex;align-items:flex-end;gap:10px 18px;flex-wrap:wrap;min-width:0}.lab3-yield{display:flex;align-items:flex-end;gap:10px 18px;min-width:0}.lab3-slot{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-width:150px;min-height:66px;padding:0 30px 9px 2px;border-bottom:2px solid var(--ink)}.lab3-slot.is-empty{border-bottom:2px dashed #C3D0CE}.lab3-f{font-size:40px;font-weight:650;line-height:1.02;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.lab3-n{font-size:13.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch}.lab3-ph{font-size:16px;font-weight:500;color:var(--ink-3);line-height:1.3}.lab3-q{font-size:34px;font-weight:500;color:#c3d0ce;line-height:1}.lab3-x{position:absolute;top:2px;right:0;width:26px;height:26px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer}.lab3-x:hover{background:var(--line-2);color:var(--ink)}.lab3-op{font-size:30px;font-weight:400;color:var(--ink-3);padding-bottom:26px;line-height:1}.lab3-arrow{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink-2);padding-bottom:30px}.lab3-arrow.is-no{color:var(--ink-3)}.lab3-cond{font-size:15px;font-weight:600;color:var(--heat-ink);min-height:19px;line-height:19px}.lab3-result{min-width:180px;padding-right:2px}.lab3-result.is-filled{border-bottom-color:var(--accent)}.lab3-result.is-filled .lab3-f{color:var(--accent-ink)}.lab3-result.is-heat{border-bottom-color:var(--heat);border-bottom-style:solid}.lab3-plus{color:var(--ink-3);font-weight:400}.lab3-warm{display:inline-flex;align-items:center;gap:6px;color:var(--heat-ink);font-weight:600}.lab3-clear{flex:none;margin-bottom:4px}.lab3-body{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr)}.lab3-rig{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 22px 20px;border-right:1px solid var(--line-2);border-radius:0 0 0 var(--r);background-color:#fcfdfd;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:14px 14px;background-position:-1px -1px}.lab3-rig-svg{display:block;width:100%;max-width:330px;height:auto;overflow:visible}.lab3-burner{display:flex;align-items:center;gap:12px;width:100%;max-width:316px;height:56px;padding:0 12px 0 8px;border:1px solid #C9D5D3;border-radius:var(--r-sm);background:var(--card);color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.lab3-burner:hover:not(:disabled){border-color:var(--ink-3)}.lab3-burner:disabled{cursor:not-allowed;color:var(--ink-3);background:var(--line-2)}.lab3-burner-ico{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--line-2);color:var(--ink-2);flex:none}.lab3-burner-txt{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2}.lab3-burner-txt b{font-size:15px;font-weight:650}.lab3-burner-txt small{font-size:13px;color:var(--ink-3)}.lab3-lever{position:relative;flex:none;width:50px;height:26px;border-radius:var(--r-sm);background:#d9e2e0;box-shadow:inset 0 1px 2px #16262a2e;transition:background .2s}.lab3-lever i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:3px;background:#fff;box-shadow:0 1px 2px #16262a4d;transition:transform .22s cubic-bezier(.3,.7,.2,1)}.lab3-burner.is-on{border-color:var(--heat);background:var(--heat-soft)}.lab3-burner.is-on .lab3-burner-ico{background:#ffe0c2;color:var(--heat-ink)}.lab3-burner.is-on .lab3-burner-txt small{color:var(--heat-ink);font-weight:600}.lab3-burner.is-on .lab3-lever{background:var(--heat)}.lab3-burner.is-on .lab3-lever i{transform:translate(24px)}.lab3-burner.is-wanted{border-color:var(--heat);animation:lab3-want 1.6s ease-in-out infinite}@keyframes lab3-want{0%,to{box-shadow:0 0 #e2680f00}50%{box-shadow:0 0 0 5px #e2680f2e}}.lab3-notes{padding:24px 28px 26px;min-width:0}.lab3-protocol{display:flex;flex-direction:column;gap:16px;max-width:none}.lab3-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.lab3-title h3{margin:0;font-size:24px;font-weight:650;letter-spacing:-.015em}.lab3-condition{font-size:14px;font-weight:600;color:var(--heat-ink)}.lab3-equation{font-size:25px;font-weight:600;letter-spacing:-.005em;padding:12px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);overflow-wrap:anywhere}.lab3-sec{display:flex;flex-direction:column;gap:8px}.lab3-label{font-size:13px;font-weight:600;color:var(--ink-3)}.lab3-obs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 18px}.lab3-obs li{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--ink);min-width:0;animation:lab3-in .4s ease-out both}.lab3-glyph{flex:none;color:var(--ink-2)}.lab3-note{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}.lab3-prods{display:flex;flex-wrap:wrap;gap:8px}.lab3-prod{position:relative;display:inline-flex;align-items:baseline;gap:8px;height:44px;padding:0 14px 0 18px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);cursor:pointer;overflow:hidden;animation:lab3-in .45s ease-out both}.lab3-prod .chem{font-size:18px;font-weight:650;align-self:center}.lab3-prod small{font-size:13px;color:var(--ink-2);align-self:center}.lab3-prod:before,.lab3-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sw);box-shadow:inset -1px 0 #16262a1f}.lab3-prod.is-clear:before,.lab3-tile.is-clear:before{background:repeating-linear-gradient(135deg,#D3DEDC 0 1.5px,transparent 1.5px 4px)}.lab3-prod:hover:not(:disabled){border-color:var(--accent)}.lab3-prod:disabled{cursor:default}.lab3-alts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--ink-3)}.lab3-alts>span{margin-right:4px}.lab3-lead{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}.lab3-lead b{color:var(--accent-ink);font-weight:650}.lab3-status{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-sm);background:var(--line-2);color:var(--ink-2)}.lab3-status .lab3-glyph{margin-top:2px}.lab3-status b{display:block;font-size:17px;color:var(--ink);margin-bottom:2px}.lab3-status p{margin:0;font-size:14.5px;line-height:1.5}.lab3-status.is-heat{background:var(--heat-soft)}.lab3-status.is-heat b{color:var(--heat-ink)}.lab3-plate{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));border-top:1px solid var(--line-2)}.lab3-plate>div{padding:10px 14px 10px 0;border-bottom:1px solid var(--line-2);min-width:0}.lab3-plate dt{font-size:12.5px;color:var(--ink-3);margin-bottom:2px}.lab3-plate dd{margin:0;font-size:15px;font-weight:550}.lab3-plate .num{font-variant-numeric:tabular-nums}.lab3-tries{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--ink-3)}.lab3-try{height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);font-size:16px;font-weight:600;color:var(--ink);cursor:pointer}.lab3-try:hover{border-color:var(--accent);color:var(--accent-ink)}.lab3-shelf{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.lab3-find{position:sticky;top:var(--top-h, 0px);z-index:6;display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 24px 16px;background:#fffffff5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line-2);border-radius:var(--r) var(--r) 0 0}.lab3-search{position:relative;display:flex;align-items:center;width:min(680px,100%)}.lab3-search input{width:100%;height:58px;padding:0 52px 0 54px;border:1.5px solid #B8C8C6;border-radius:var(--r-sm);background:#fff;font:inherit;font-size:18px;color:var(--ink);box-shadow:0 12px 28px -22px #0e6f6a8c;transition:border-color .12s,box-shadow .12s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.lab3-search input::-webkit-search-cancel-button{display:none}.lab3-search input::placeholder{color:var(--ink-3)}.lab3-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.lab3-search-ico{position:absolute;left:18px;color:var(--ink-2);pointer-events:none}.lab3-search-x{position:absolute;right:10px;width:36px;height:36px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer}.lab3-search-x:hover{background:var(--line-2);color:var(--ink)}.lab3-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.lab3-picking{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;width:100%;font-size:14px;color:var(--ink-2)}.lab3-picking-f{font-size:17px;font-weight:650;color:#fff;background:var(--ink);padding:3px 10px;border-radius:var(--r-sm)}.lab3-picking-t{max-width:60ch;text-align:center}.lab3-groups{display:flex;flex-direction:column;gap:20px;padding:18px 24px 26px}.lab3-gh{display:flex;align-items:baseline;gap:8px;margin-bottom:9px;font-size:14px;font-weight:650;color:var(--ink-2)}.lab3-gh span{font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}.lab3-tiles{display:flex;flex-wrap:wrap;gap:6px}.lab3-tile{position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 13px 0 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;overflow:hidden;transition:opacity .15s,border-color .12s,background .12s}.lab3-tile small{font-size:13px;font-weight:500;color:var(--ink-3);max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab3-tile:hover{border-color:var(--ink-3)}.lab3-tile.is-can{border-color:var(--accent);background:var(--accent-soft-2);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}.lab3-tile.is-can small{color:var(--accent-ink)}.lab3-tile.is-dim{opacity:.34}.lab3-tile.is-dim:hover{opacity:.8}.lab3-tile.is-on{background:var(--ink);border-color:var(--ink);color:#fff}.lab3-tile.is-on small{color:#c9d5d3}.lab3-bench-line{stroke:#c7d3d1;stroke-width:1}.lab3-hose{fill:none;stroke:#b65a36;stroke-width:5;stroke-linecap:round}.lab3-metal{fill:#e8eeed;stroke:var(--glass);stroke-width:1.3}.lab3-collar{fill:#cfd9d8}.lab3-tripod line{stroke:var(--glass);stroke-width:3;stroke-linecap:round}.lab3-burner-g.is-click{cursor:pointer}.lab3-bflame{opacity:0;transform:scaleY(.2);transform-box:fill-box;transform-origin:50% 100%;transition:opacity .25s,transform .35s cubic-bezier(.3,.7,.2,1)}.is-hot .lab3-bflame{opacity:1;transform:none;animation:lab3-bflicker .14s ease-in-out infinite alternate}@keyframes lab3-bflicker{0%{transform:scaleY(1)}to{transform:scale(1.03,.93)}}.lab3-gauze-glow{opacity:0;transition:opacity 1.2s ease}.is-hot .lab3-gauze-glow{opacity:1}.lab3-shimmer path{fill:none;stroke:#f0a15f;stroke-width:1.4;stroke-linecap:round;opacity:0}.is-hot .lab3-shimmer path{animation:lab3-shimmer 2.2s ease-in-out infinite}@keyframes lab3-shimmer{0%{opacity:0;transform:translateY(6px)}40%{opacity:.55}to{opacity:0;transform:translateY(-34px)}}.lab3-glass{fill:none;stroke:var(--glass);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.lab3-shine{stroke:#fff;stroke-width:3.5;stroke-linecap:round;opacity:.85}.lab3-shine.thin{stroke-width:1.6;opacity:.6}.lab3-grad line{stroke:var(--glass);stroke-width:1}.lab3-grad text{font-size:9.5px;font-weight:600;fill:#7d9095;font-variant-numeric:tabular-nums}.lab3-mercury{transform-box:fill-box;transform-origin:50% 100%;transition:transform 2.6s cubic-bezier(.3,.6,.2,1)}@starting-style{.lab3-liquid{translate:0 200px}}.lab3-liquid{translate:0 0;transition:transform .9s cubic-bezier(.3,.7,.2,1),translate .9s cubic-bezier(.3,.7,.2,1)}.lab3-liq{transition:fill .8s ease}.lab3-liq.is-turning{animation:lab3-turn 2.2s .5s ease-in-out both}@keyframes lab3-turn{0%{fill:var(--c0)}to{fill:var(--c1)}}.lab3-meniscus{fill:none;stroke:#16262a38;stroke-width:1.2}.lab3-cloudy{opacity:0;animation:lab3-cloud 2.4s .6s ease-out both}@keyframes lab3-cloud{to{opacity:.62}}.lab3-turbid{opacity:0;animation:lab3-turbid 4.8s .2s ease-in-out both}@keyframes lab3-turbid{0%{opacity:0}22%{opacity:.55}to{opacity:.06}}.lab3-pcloud{opacity:0;transform-box:fill-box;transform-origin:50% 50%;animation:lab3-pcloud 4.6s .25s ease-in-out both}@keyframes lab3-pcloud{0%{opacity:0;transform:translateY(calc(var(--dy) * -.8)) scale(.25,.2)}25%{opacity:.9;transform:translateY(calc(var(--dy) * -.3)) scaleY(.8)}60%{opacity:.55;transform:translateY(0) scaleX(1.1)}to{opacity:0;transform:translateY(calc(var(--dy) * .7)) scale(1.2,.4)}}.lab3-flake{stroke:#16262a29;stroke-width:.5;opacity:0;animation:lab3-fall 3.2s ease-in both}@keyframes lab3-fall{0%{opacity:0;transform:translateY(0)}18%{opacity:.95;transform:translateY(0)}85%{opacity:.9}to{opacity:0;transform:translateY(var(--fall))}}.lab3-settled{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);animation:lab3-settle 2.6s 1.4s cubic-bezier(.3,.6,.3,1) forwards;stroke:#16262a52;stroke-width:.9}@keyframes lab3-settle{to{transform:scaleY(1)}}.lab3-bubble{fill:#ffffffbf;stroke:#16262a59;stroke-width:.9;opacity:0;animation:lab3-rise 1.8s ease-in infinite}@keyframes lab3-rise{0%{opacity:0;transform:translateY(0)}12%{opacity:1}92%{opacity:1}to{opacity:0;transform:translateY(calc(var(--rise) * -1))}}.lab3-gas{transition:opacity 1.4s .6s ease}.lab3-gas.is-used{opacity:0}.lab3-mol{opacity:.7;animation:lab3-drift 4s ease-in-out infinite alternate}@keyframes lab3-drift{0%{transform:translate(-6px,4px)}to{transform:translate(6px,-5px)}}.lab3-gas-new{opacity:0;animation:lab3-gasin 3s .8s ease-out forwards}@keyframes lab3-gasin{to{opacity:.28}}.lab3-plume{fill:none;stroke-width:10;stroke-linecap:round;opacity:0;animation:lab3-plume 3s 1s ease-out infinite}@keyframes lab3-plume{0%{opacity:0;transform:translateY(10px)}40%{opacity:.22}to{opacity:0;transform:translateY(-20px)}}.lab3-grain{stroke:#16262a66;stroke-width:1;transition:fill .6s}.lab3-grain.is-turning{animation:lab3-solid 2.4s .6s ease-in-out forwards}@keyframes lab3-solid{to{fill:var(--c1)}}.lab3-solid.is-shrink{transform-box:fill-box;transform-origin:50% 100%;animation:lab3-shrink 6s .6s ease-in-out forwards}@keyframes lab3-shrink{to{transform:scale(.72,.55)}}.lab3-solid.is-glow{animation:lab3-glow 1.1s .4s ease-in-out infinite alternate}@keyframes lab3-glow{0%{filter:drop-shadow(0 0 0 rgba(255,138,43,0))}to{filter:drop-shadow(0 0 6px rgba(255,138,43,.95)) brightness(1.25)}}.lab3-newsolid{stroke:#16262a4d;transform-box:fill-box;transform-origin:50% 100%;animation:lab3-settle 2.4s .8s ease-out both;transform:scaleY(0)}.lab3-drop{fill:#aad2e4d9;stroke:#16262a40;stroke-width:.6;opacity:0;animation:lab3-in .8s ease-out both}.lab3-flame{animation:lab3-flame-in .5s ease-out both}.lab3-flame>path:nth-child(2),.lab3-flame>path:nth-child(3){transform-box:fill-box;transform-origin:50% 100%;animation:lab3-flick .18s ease-in-out infinite alternate}.lab3-flame>path:nth-child(3){animation-duration:.23s}@keyframes lab3-flame-in{0%{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:none}}@keyframes lab3-flick{0%{transform:scale(1) skew(-1.5deg)}to{transform:scale(.95,1.07) skew(1.5deg)}}.lab3-spark{animation:lab3-spark .9s ease-out infinite}@keyframes lab3-spark{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-26px)}}.lab3-puff{opacity:0;transform-box:fill-box;transform-origin:50% 50%;animation:lab3-puff 2.8s ease-out infinite}@keyframes lab3-puff{0%{opacity:0;transform:translateY(0) scale(.5)}25%{opacity:.75}to{opacity:0;transform:translateY(-92px) scale(2.1)}}.lab3-flash{opacity:0;transform-box:fill-box;transform-origin:50% 50%;animation:lab3-flash .9s .35s ease-out both}@keyframes lab3-flash{0%{opacity:0;transform:scale(.2)}18%{opacity:1}to{opacity:0;transform:scale(1.6)}}.lab3-vessel.is-bang{animation:lab3-shake .45s .4s ease-in-out both}@keyframes lab3-shake{0%,to{transform:none}20%{transform:translate(-2.5px,-1px)}40%{transform:translate(2.5px)}60%{transform:translate(-1.5px,1px)}80%{transform:translate(1px)}}.lab3-appear{animation:lab3-in .5s .35s ease-out both}.lab3-protocol>*{animation:lab3-in .35s ease-out both}@keyframes lab3-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@container (max-width: 760px){.lab3-body{grid-template-columns:1fr}.lab3-rig{border-right:0;border-bottom:1px solid var(--line-2);border-radius:0;padding:6px 16px 16px}.lab3-rig-svg{max-width:280px}.lab3-notes{padding:18px 18px 20px}.lab3-eq{padding:16px 18px;flex-wrap:wrap}.lab3-f{font-size:32px}.lab3-slot{min-width:120px;min-height:56px}.lab3-op{padding-bottom:22px}.lab3-arrow{padding-bottom:24px}}@container (max-width: 520px){.lab3-eq{padding:14px}.lab3-eq-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;gap:6px 10px}.lab3-slot{min-width:0}.lab3-op{font-size:24px;padding-bottom:20px}.lab3-yield{grid-column:1 / -1;display:flex;align-items:flex-end;gap:12px;margin-top:4px}.lab3-arrow{flex:none;padding-bottom:14px}.lab3-arrow svg{width:40px}.lab3-result{flex:1 1 0;min-width:0}.lab3-result .lab3-f{white-space:normal;font-size:26px}.lab3-f{font-size:28px}.lab3-ph{font-size:14px}.lab3-slot{min-height:50px;padding-right:26px}.lab3-clear{margin-left:auto}.lab3-find{padding:14px 12px 12px}.lab3-search input{height:52px;font-size:16px;padding-left:46px}.lab3-search-ico{left:14px}.lab3-picking{font-size:13px}.lab3-groups{padding:14px 12px 18px}.lab3-tile{height:38px;font-size:15px;padding:0 11px 0 14px}.lab3-title h3{font-size:21px}.lab3-equation{font-size:20px}}@container (max-width: 760px){.lab3-find{position:static}}@media(max-height:700px){.lab3-find{position:static}}.lab3.is-compact{gap:0}.lab3.is-compact .lab3-bench{border:0}.lab3.is-compact .lab3-eq{padding:6px 0 10px}.lab3.is-compact .lab3-eq-in{display:flex;gap:6px 10px}.lab3.is-compact .lab3-yield{display:contents}.lab3.is-compact .lab3-slot{min-width:60px;min-height:36px;padding:0 2px 5px}.lab3.is-compact .lab3-f{font-size:20px}.lab3.is-compact .lab3-n,.lab3.is-compact .lab3-cond{display:none}.lab3.is-compact .lab3-ph{font-size:13px}.lab3.is-compact .lab3-q{font-size:20px}.lab3.is-compact .lab3-op{font-size:18px;padding-bottom:8px}.lab3.is-compact .lab3-arrow{padding-bottom:10px;grid-column:auto}.lab3.is-compact .lab3-arrow svg{width:30px}.lab3.is-compact .lab3-result{grid-column:auto;min-width:70px}.lab3.is-compact .lab3-body{grid-template-columns:120px minmax(0,1fr)}.lab3.is-compact .lab3-rig{padding:0 6px 0 0;border:0;background:none}.lab3.is-compact .lab3-notes{padding:4px 0 0 10px}.lab3.is-compact .lab3-protocol{gap:8px}.lab3.is-compact .lab3-title h3{font-size:15px}.lab3.is-compact .lab3-equation{font-size:14px;padding:6px 0}.lab3.is-compact .lab3-obs{grid-template-columns:1fr;gap:3px}.lab3.is-compact .lab3-obs li,.lab3.is-compact .lab3-lead,.lab3.is-compact .lab3-status p{font-size:13px}.lab3.is-compact .lab3-status{padding:8px 10px}.lab3.is-compact .lab3-status b{font-size:14px}@media(prefers-reduced-motion:reduce){.lab3 *,.lab3 *:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.lab3 .lab3-bubble{animation:none!important;opacity:.9}.lab3 .lab3-mol,.lab3 .lab3-puff,.lab3 .lab3-spark,.lab3 .lab3-shimmer path,.lab3 .lab3-plume{animation:none!important}.lab3 .lab3-puff{opacity:.45}.lab3 .lab3-flake,.lab3 .lab3-pcloud{animation:none!important;opacity:0}}@font-face{font-family:Onest;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/onest-cbc5c553.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/onest-18c7b203.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/onest-881eb477.woff2) format("woff2");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-209F,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Onest;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/onest-23d453c5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/onest-49b3b333.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-4956ec7b.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-6276a2f5.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-f626b95c.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-891951df.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-d9bec114.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-792ab826.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-79cb4c6b.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-89d4f8e4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-62213be8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-e17cfd15.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-db5ff4db.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrainsmono-83c005d4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-b67b0f50.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-405b30a5.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-45f989df.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-d824d807.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-0e523e4b.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-c57d9ca3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-2a2d9c22.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-ddb8c660.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/unbounded-f25c38d2.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/unbounded-e30bf6a6.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/unbounded-845e1c9f.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Unbounded;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/unbounded-22f9b928.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.sl-frame{position:relative;width:100%;aspect-ratio:16 / 9;container-type:inline-size;overflow:hidden;background:#fff;border-radius:4px;flex:none}.sl{position:absolute;top:0;right:0;bottom:0;left:0;--su: .0625cqw ;font-family:Onest,system-ui,sans-serif;color:#16262a;font-size:calc(32 * var(--su));line-height:1.28;text-align:left}.sl-el{position:absolute}.sl-text{display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:100%;padding:calc(8 * var(--su)) calc(12 * var(--su));overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;counter-reset:ol}.sl-text.va-m{justify-content:center}.sl-text.va-b{justify-content:flex-end}.sl-text .sp{margin:0 0 .3em;min-height:1.28em;position:relative}.sl-text .sp:last-child{margin-bottom:0}.sl-text .sp.li-ul,.sl-text .sp.li-ol{padding-left:1.25em}.sl-text .sp.li-ul:before{content:"•";position:absolute;left:.3em;color:#0e6f6a;font-weight:700}.sl-text .sp:not(.li-ol){counter-reset:ol}.sl-text .sp.li-ol{counter-increment:ol}.sl-text .sp.li-ol:before{content:counter(ol) ".";position:absolute;left:0;color:#0e6f6a;font-weight:700;font-variant-numeric:tabular-nums}.sl sub,.sl sup{font-size:.68em;line-height:0}.sl-ph{color:#a6b3b6}.sl-img{width:100%;height:100%}.sl-img img{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.deck-card{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.deck-thumb{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:6px;background:none;overflow:hidden;transition:border-color .12s,box-shadow .12s}.deck-thumb:hover{border-color:var(--accent)}.deck-thumb.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.deck-thumb .sl-frame{border-radius:0;pointer-events:none}.deck-thumb>span{position:absolute;left:6px;bottom:6px;min-width:20px;height:20px;padding:0 5px;border-radius:4px;background:#16262ab8;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;white-space:nowrap}.deck-stage{display:flex;flex-direction:column;gap:12px;min-width:0;width:100%}.deck-slide-wrap{position:relative;width:100%}.room>*{min-width:0}.deck-main{border:1px solid var(--line);box-shadow:var(--shadow)}.slide-side-arrow{position:absolute;z-index:1;top:50%;width:42px;height:42px;transform:translateY(-50%);border-color:#16262a24;background:#fffffff0;box-shadow:var(--shadow)}.btn.slide-side-arrow{transition:background .12s,border-color .12s}.btn.slide-side-arrow:active{transform:translateY(-50%)}.slide-side-arrow.left{left:12px}.slide-side-arrow.right{right:12px}.slide-side-arrow:disabled{opacity:.38}.deck-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deck-count{font-weight:700;min-width:56px;text-align:center}.deck-strip{position:relative;display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:2px 2px 6px;scroll-snap-type:x proximity}.deck-strip .deck-thumb{width:132px;flex:none;scroll-snap-align:start}.speaker-notes{position:absolute;z-index:2;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(154,111,32,.28);border-radius:var(--r-sm);background:#fffaebf7;box-shadow:var(--shadow-lg);pointer-events:auto}.speaker-notes-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:3px 4px 3px 10px;color:var(--warm);cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.speaker-notes-head .btn{flex:none}.speaker-notes-body{flex:1 1 auto;min-height:0;overflow:auto;padding:2px 10px 10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.speaker-notes-resize{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px 0 0;background:#9a6f201f;color:var(--warm);cursor:nwse-resize;touch-action:none}.speaker-notes-resize:hover{background:#9a6f2038}.presenter{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:default}.presenter-stage{position:relative;flex:1 1 auto;width:100%;display:grid;place-items:center;min-height:0}.presenter-slide{width:min(100vw,calc(100dvh * 16 / 9));border-radius:0}.presenter.bar-on{cursor:default}.presenter:not(.bar-on){cursor:none}.presenter-bar{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fffffff0;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-lg);transition:opacity .2s;font-size:14px}.presenter-bar .tnum{font-weight:700;padding:0 6px}.presenter:not(.bar-on) .presenter-bar{opacity:0;pointer-events:none}@media(max-width:520px){.slide-side-arrow{width:36px;height:36px}.slide-side-arrow.left{left:6px}.slide-side-arrow.right{right:6px}}.sle{display:flex;flex-direction:column;height:calc(100dvh - 32px);min-height:520px;margin:-12px -16px -32px;gap:10px}.sle-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sle-title{min-width:0}.sle-title b{display:block;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sle-save{font-size:13px;color:var(--ink-3);min-width:92px;text-align:right}.sle-save.error{color:var(--danger)}.sle-tools{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:4px 6px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm)}.tb-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:32px;height:32px;padding:0 7px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink);font-size:13px;font-weight:600}.tb-btn:hover:not(:disabled){background:var(--line-2)}.tb-btn.on,.tb-btn.open{background:var(--accent-soft);color:var(--accent-ink)}.tb-btn:disabled{opacity:.4;cursor:default}.tb-glyph{font-size:15px;line-height:1;font-family:Onest,sans-serif}.tb-glyph sub,.tb-glyph sup{font-size:10px}.tb-swatch{position:absolute;left:7px;right:7px;bottom:3px;height:3px;border-radius:1px;box-shadow:inset 0 0 0 1px #0000001f}.tb-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.tb-dd .dd-btn,.tb-dd>button{height:32px}.tb-font{width:150px}.tb-size{width:70px}.tb-pop{position:fixed;z-index:120;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-lg);padding:10px;max-width:calc(100vw - 16px)}.swatches{display:grid;grid-template-columns:repeat(6,26px);gap:6px}.swatch{width:26px;height:26px;border-radius:4px;border:1px solid rgba(22,38,42,.18);padding:0}.swatch.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent)}.swatch-mini{width:14px;height:14px;border-radius:3px;border:1px solid rgba(22,38,42,.18);flex:none}.layout-grid{display:grid;grid-template-columns:repeat(2,150px);gap:10px}.layout-opt{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid var(--line);border-radius:6px;background:none;font-size:13px;font-weight:600;text-align:left}.layout-opt:hover{border-color:var(--accent)}.layout-opt .sl-frame{border:1px solid var(--line-2);pointer-events:none}.layout-opt .sl-el{outline:1px dashed #b9c6c8}.sle-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:172px minmax(0,1fr);gap:12px}.sle-thumbs{overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:2px 4px 12px 2px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sle-thumbs.dragging{cursor:grabbing}.sle-thumbs.dragging .sle-thumb{transition:transform .22s cubic-bezier(.2,.8,.2,1)}.sle-thumbs.dragging .sle-thumb.lifted{transition:none;z-index:10}.sle-thumbs.dragging .sle-thumb-acts{visibility:hidden}.sle-thumb{position:relative;display:grid;grid-template-columns:18px 1fr;gap:4px;align-items:start}.sle-thumb .n{font-size:12px;color:var(--ink-3);font-weight:600;text-align:right;padding-top:2px}.sle-thumb-btn{padding:0;border:1px solid var(--line);border-radius:4px;background:none;overflow:hidden;display:block;transition:transform .15s,box-shadow .15s;-webkit-user-drag:none}.sle-thumb.lifted .sle-thumb-btn{transform:scale(1.04);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 14px 30px -10px #16262a73;cursor:grabbing}.sle-thumb-btn .sl-frame{border-radius:0;pointer-events:none}.sle-thumb.on .sle-thumb-btn{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sle-thumb-acts{grid-column:2;display:flex;gap:2px;justify-content:flex-end}.sle-thumb-acts button{width:24px;height:24px;border:0;border-radius:4px;background:none;color:var(--ink-2);display:grid;place-items:center;padding:0}.sle-thumb-acts button:hover:not(:disabled){background:var(--line-2);color:var(--ink)}.sle-thumb-acts button:disabled{opacity:.35}.sle-thumb-add{margin-left:22px;height:40px;border:1px dashed var(--line);border-radius:4px;background:none;color:var(--ink-2);display:grid;place-items:center;flex:none}.sle-thumb-add:hover{border-color:var(--accent);color:var(--accent)}.sle-main{min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}.sle-stage{flex:1 1 auto;min-height:0;display:grid;place-items:center;background:var(--line-2);border-radius:var(--r-sm);overflow:hidden}.sle-frame{box-shadow:0 1px 3px #16262a1f,0 12px 32px -16px #16262a4d;overflow:visible;touch-action:none}.sle-frame>.sl{overflow:visible}.sle-el{cursor:move;touch-action:none}.sle-el:hover:not(.sel){outline:1px dashed rgba(14,111,106,.55)}.sle-el.blank:not(.sel){outline:1px dashed #c3ccce}.sle-el.sel{outline:2px solid var(--accent);z-index:5}.sle-el.editing{cursor:text}.sle-edit{outline:none;cursor:text;user-select:text;-webkit-user-select:text}.sle-edit:focus{outline:none}.sle-h{position:absolute;width:11px;height:11px;background:#fff;border:2px solid var(--accent);border-radius:2px;z-index:6;touch-action:none}.sle-h.h-nw{left:-6px;top:-6px;cursor:nwse-resize}.sle-h.h-n{left:calc(50% - 6px);top:-6px;cursor:ns-resize}.sle-h.h-ne{right:-6px;top:-6px;cursor:nesw-resize}.sle-h.h-e{right:-6px;top:calc(50% - 6px);cursor:ew-resize}.sle-h.h-se{right:-6px;bottom:-6px;cursor:nwse-resize}.sle-h.h-s{left:calc(50% - 6px);bottom:-6px;cursor:ns-resize}.sle-h.h-sw{left:-6px;bottom:-6px;cursor:nesw-resize}.sle-h.h-w{left:-6px;top:calc(50% - 6px);cursor:ew-resize}.sle-guide{position:absolute;background:#d9480f;z-index:7;pointer-events:none}.sle-guide.v{top:0;bottom:0;width:1px}.sle-guide.h{left:0;right:0;height:1px}.sle-notes textarea{min-height:52px;resize:vertical;font-size:14px}.sle-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:#fff;padding:8px 14px;border-radius:6px;font-size:14px;z-index:90}@media(max-width:900px){.sle{height:auto;min-height:0;margin:0}.sle-head .sle-save{min-width:0;order:5;flex-basis:100%;text-align:left}.sle-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.sle-tools::-webkit-scrollbar{display:none}.tb-btn{flex:none}.tb-label{display:none}.sle-body{display:flex;flex-direction:column-reverse}.sle-stage{height:calc((100vw - 32px)*.5625 + 24px);flex:none}.sle-thumbs{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding-bottom:6px}.sle-thumb{width:132px;flex:none;grid-template-columns:1fr}.sle-thumb .n{display:none}.sle-thumb-acts{grid-column:1}.sle-thumb-add{margin:0;width:56px;height:74px}.presenter-notes{top:auto;bottom:76px;right:8px;left:8px;max-width:none;max-height:26vh;font-size:12px}}@media(max-width:640px){.deck-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(max-width:360px){.deck-card{grid-template-columns:minmax(0,1fr)}}.presenter.notes-on .presenter-slide{width:min(100vw,calc(62dvh * 16 / 9))}.presenter.notes-on .presenter-notes{position:static;flex:0 1 auto;width:min(calc(100% - 24px),1100px);max-width:none;max-height:24dvh;margin:8px 12px}.presenter.notes-on .presenter-bar{position:static;transform:none;flex:none;margin:8px}:root{--paper: #F6F8F7;--card: #FFFFFF;--ink: #16262A;--ink-2: #4B5F64;--ink-3: #8A9A9E;--line: #DCE5E3;--line-2: #EDF2F1;--accent: #0E6F6A;--accent-ink: #0A5551;--accent-soft: #DDF1EE;--accent-soft-2: #EEF8F6;--warm: #C98A1B;--warm-soft: #FBF0D6;--danger: #B6412E;--danger-soft: #FBE4DF;--ok: #2E8B57;--ok-soft: #DFF3E7;--violet: #6B5BD2;--violet-soft: #ECE8FB;--sky: #2F7FD1;--sky-soft: #E2EEFB;--shadow: 0 1px 2px rgba(22, 38, 42, .04), 0 8px 24px -16px rgba(22, 38, 42, .18);--shadow-lg: 0 24px 60px -24px rgba(22, 38, 42, .35);--r: 12px;--r-sm: 4px;--r-btn: 4px;--r-xs: 6px;--font: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--side-w: 236px;--top-h: 0px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}#root{min-height:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em;text-wrap:balance}h1{font-size:26px;line-height:1.2}h2{font-size:19px;line-height:1.3}h3{font-size:16px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:13px}.tnum{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1 1 auto;min-width:0}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media(max-width:900px){.grid.two,.grid.three,.grid.four,.grid.auto{grid-template-columns:1fr}}.mt{margin-top:14px}.mt-lg{margin-top:28px}.mb{margin-bottom:14px}.only-mobile{display:none}@media(max-width:900px){.hide-mobile{display:none!important}.only-mobile{display:initial}}.shell{display:grid;grid-template-columns:var(--side-w) 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;padding:18px 14px;display:flex;flex-direction:column;gap:18px;background:var(--card);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--accent);display:grid;place-items:center;color:#fff;flex:none}.brand b{font-size:15px;letter-spacing:-.01em;display:block;line-height:1.1}.brand span{font-size:12px;color:var(--ink-3)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);color:var(--ink-2);font-weight:500;font-size:14px}.nav a:hover{background:var(--line-2);text-decoration:none;color:var(--ink)}.nav a.active{background:var(--accent-soft);color:var(--accent-ink)}.nav a .ico{width:20px;height:20px;flex:none;opacity:.85}.nav-sep{height:1px;background:var(--line-2);margin:6px 8px}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.user-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);background:var(--paper)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.user-card b{display:block;font-size:13px;line-height:1.2}.user-card span{font-size:12px;color:var(--ink-3)}.main{position:relative;min-width:0;max-width:100%;padding:18px 32px 48px}.role-student .main{padding:18px 44px 48px}.shell-topline{min-height:42px;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:16px}.shell-topline.has-live-lesson{justify-content:space-between}.shell-topline:empty{display:none}.page{width:100%;min-width:0;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.page.narrow{max-width:760px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head .lead{color:var(--ink-2);margin-top:4px;max-width:64ch}.page-title-link{color:inherit;text-decoration:none;text-underline-offset:4px}.page-title-link:hover{color:var(--accent-ink);text-decoration:underline}.topic-heading{min-width:0;max-width:100%}.topic-switch{display:flex;align-items:center;gap:10px;margin-top:10px;max-width:min(520px,100%)}.topic-switch>.dd{min-width:220px}.kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.tabbar{display:none}.workspace-tools{position:relative;z-index:35;flex:none}.notification-tray{position:relative;z-index:81}.notification-trigger{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink-2);box-shadow:var(--shadow);transition:border-color .15s,background .15s,color .15s}.notification-trigger:hover,.notification-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft-2);color:var(--accent-ink)}.notification-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid var(--paper);border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:1}.notification-panel{position:absolute;top:50px;right:0;z-index:82;width:min(420px,calc(100vw - 24px));max-height:min(78dvh,680px);overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow-lg)}.notification-backdrop{display:none}.notification-heading{min-height:56px;padding:8px 16px 8px 18px;border-bottom:1px solid var(--line-2)}.notification-heading b{font-size:15px}.notification-list{max-height:min(calc(78dvh - 56px),624px);overflow:auto;overscroll-behavior:contain;padding:0 18px}.notification-item{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid var(--line-2)}.notification-item:last-child{border-bottom:0}.notification-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ink-3);font-size:11px}.notification-kind{font-weight:600}.notification-title{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.5;font-weight:650}.notification-status{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);font-size:11px}.notification-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.notification-status.running{color:var(--accent-ink)}.notification-status.done{color:var(--ok, #18835c)}.notification-status.failed,.notification-status.rejected{color:var(--danger)}.notification-notice{padding:10px 12px;background:var(--paper);border-left:2px solid var(--line);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.notification-notice p{margin:0;color:var(--ink-2)}.notification-notice span{display:block;margin-top:4px;color:var(--ink-3)}.notification-bar{height:4px;overflow:hidden;border-radius:2px;background:var(--line-2)}.notification-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .3s ease}.notification-progress{gap:8px;flex-wrap:wrap;font-size:11px}.notification-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 22px;color:var(--ink-2);text-align:center}.notification-empty>.ico{color:var(--ink-3)}.notification-empty b{color:var(--ink);font-size:14px}.notification-empty span{max-width:34ch;color:var(--ink-3);font-size:12px}.notification-error{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;color:var(--danger);text-align:center}.notification-topic-link{display:block;color:var(--ink);text-decoration:none}.notification-topic-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr);min-width:0;width:100%;overflow-x:clip}.side{display:none}.main{padding:20px 20px 92px}.role-student .main{padding:20px 24px 92px}.tabbar{position:fixed;left:0;right:0;bottom:0;width:100%;max-width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--card);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:30}.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;color:var(--ink-3);font-size:11px;font-weight:600;border:0;background:none;border-radius:var(--r-sm)}.tabbar a.active,.tabbar button.active{color:var(--accent)}.tabbar .ico{width:22px;height:22px}.workspace-tools{top:auto;right:auto}.notification-trigger{width:40px;height:40px}}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#f6f8f7b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40}.sheet{position:fixed;top:0;bottom:0;right:0;width:min(320px,86vw);background:var(--card);box-shadow:var(--shadow-lg);z-index:41;padding:18px 14px;display:flex;flex-direction:column;gap:14px;overflow:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}.card.pad-sm{padding:14px}.card.flat{box-shadow:none}.card.soft{background:var(--accent-soft-2);border-color:transparent}.card.warm{background:var(--warm-soft);border-color:transparent}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-title h2,.card-title h3{font-size:15px;font-weight:700}.list{display:flex;flex-direction:column}.list>*+*{border-top:1px solid var(--line-2)}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0}.list-row:first-child{padding-top:0}.list-row:last-child{padding-bottom:0}.list-row .body{flex:1 1 auto;min-width:0}.list-row .title{font-weight:600;display:block}.list-row .sub{font-size:13px;color:var(--ink-2);display:block;margin-top:1px}.set-item-row{display:grid;grid-template-columns:32px 24px minmax(0,1fr) 32px;align-items:start;gap:10px}.set-item-row.read-only{grid-template-columns:24px minmax(0,1fr)}.set-item-row>.body{width:100%;min-width:0}.set-item-row .set-item-question{font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}.task-answer-preview{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:7px 10px;border-radius:var(--r-xs);background:var(--accent-soft-2)}.task-answer-preview>.small{flex:none;font-weight:600}.task-answer-preview>div{min-width:0;overflow-wrap:anywhere}.task-answer-value{display:inline-block;margin-right:10px}.clickable{cursor:pointer}.clickable:hover{background:var(--line-2)}.link-row{display:block;color:inherit;border-radius:var(--r-sm);margin:0 -8px;padding:10px 8px}.link-row:hover{background:var(--line-2);text-decoration:none}.kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.kpi .n{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.kpi .l{font-size:13px;color:var(--ink-2)}.empty{text-align:center;padding:34px 16px;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:10px}.empty .ico{width:36px;height:36px;color:var(--ink-3)}.empty b{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:600;font-size:14px;white-space:nowrap;transition:background .12s,border-color .12s,transform .08s}.btn:hover{background:var(--line-2);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.soft{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.btn.soft:hover{background:#cdeae5}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--line-2);color:var(--ink)}.btn.danger{color:var(--danger);border-color:var(--danger-soft);background:var(--card)}.btn.danger:hover{background:var(--danger-soft)}.btn.warm{background:var(--warm-soft);border-color:transparent;color:#8a5e0e}.btn.sm{height:32px;padding:0 10px;font-size:13px}.btn.lg{height:46px;padding:0 20px;font-size:15px}.btn.icon{width:38px;padding:0}.btn.icon.sm{width:32px}.btn .ico{width:18px;height:18px}.btn.block{width:100%}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);font-size:15px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.phone-input:focus::placeholder{color:var(--ink);opacity:1}.input:disabled,.select:disabled,.textarea:disabled{background:var(--line-2);color:var(--ink-3);border-color:var(--line);cursor:not-allowed;-webkit-text-fill-color:var(--ink-3);opacity:1}.input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;font-size:20px;text-align:center;height:52px}.textarea{height:auto;min-height:96px;padding:10px 12px;resize:vertical;line-height:1.45}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234B5F64' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:13px;font-weight:600;color:var(--ink-2)}.field .hint{font-size:12.5px;color:var(--ink-3)}.field .err{font-size:12.5px;color:var(--danger)}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.check input{width:18px;height:18px;accent-color:var(--accent);margin:0}.switch{position:relative;width:40px;height:24px;border-radius:12px;background:var(--line);border:0;transition:background .15s;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(16px)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip.sm{height:26px;padding:0 9px;font-size:12px}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--line-2);color:var(--ink-2)}.tag.accent{background:var(--accent-soft);color:var(--accent-ink)}.tag.warm{background:var(--warm-soft);color:#8a5e0e}.tag.danger{background:var(--danger-soft);color:var(--danger)}.tag.ok{background:var(--ok-soft);color:#1f6b40}.tag.violet{background:var(--violet-soft);color:#4e3fb0}.tag.sky{background:var(--sky-soft);color:#1f5ea3}.tag.outline{background:transparent;border:1px solid var(--line)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{flex:none;padding:10px 12px;border:0;background:none;color:var(--ink-2);font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs a:hover,.tabs button:hover{color:var(--ink);text-decoration:none}.tabs a.active,.tabs button.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.seg{display:inline-flex;padding:3px;border-radius:var(--r-sm);background:var(--line-2);gap:2px}.seg button{height:30px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font-weight:600;font-size:13px}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #00000014}.progress{height:6px;border-radius:3px;background:var(--line-2);overflow:hidden}.progress>i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.progress.warm>i{background:var(--warm)}.progress.danger>i{background:var(--danger)}.ring{--p: 0;--c: var(--accent);width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--line-2) 0);display:grid;place-items:center;flex:none}.ring>span{width:40px;height:40px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.ring.lg{width:76px;height:76px}.ring.lg>span{width:60px;height:60px;font-size:17px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line)}.table td{padding:10px;border-bottom:1px solid var(--line-2);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.skeleton{background:linear-gradient(90deg,var(--line-2) 25%,#F4F7F6 50%,var(--line-2) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:var(--r-sm);min-height:14px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-wrap{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:60;pointer-events:none}.toast{pointer-events:auto;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);animation:rise .2s ease-out;max-width:min(92vw,480px)}.toast.err{background:var(--danger)}.toast.ok{background:var(--ok)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#16262a52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:grid;place-items:center;padding:16px}.modal{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border-radius:16px;box-shadow:var(--shadow-lg);padding:22px;display:flex;flex-direction:column;gap:16px;animation:pop .16s ease-out}.modal.wide{width:min(880px,100%)}@keyframes pop{0%{opacity:0;transform:scale(.98) translateY(6px)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-body{display:contents}.modal-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:640px){.modal-back{align-items:end;padding:0}.modal{border-radius:16px 16px 0 0;max-height:92vh}}.ico{width:20px;height:20px;flex:none}.dot{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block;flex:none}.dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.hr{height:1px;background:var(--line-2);margin:4px 0}.chem{font-variant-numeric:tabular-nums}.chem sub{font-size:.72em;line-height:0}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);font-weight:500}.banner.warm{background:var(--warm-soft);color:#8a5e0e}.banner.danger{background:var(--danger-soft);color:var(--danger)}.banner.ok{background:var(--accent-soft, #E3F5F1);color:var(--accent-ink, #12695E)}.lesson-return{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:0 2px 8px #12263f0d}.lesson-return-info{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0}.lesson-return-live{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-size:12px;font-weight:700;text-transform:uppercase}.lesson-return-live i{width:8px;height:8px;border-radius:50%;background:var(--ok)}.lesson-return-title{overflow:hidden;color:var(--ink);font-size:18px;font-weight:650;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.lesson-return-title:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.lesson-return-time{color:var(--ink-2);font-variant-numeric:tabular-nums}.lesson-return-action{flex:none}.calendar-lesson-title{padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:650;text-align:left;text-decoration:none;text-underline-offset:3px;cursor:pointer}.calendar-lesson-title:hover{color:var(--accent-ink);text-decoration:underline}.lesson-topic-link,.sle-topic-link{color:inherit;text-decoration:none;text-underline-offset:3px}.lesson-topic-link:hover,.sle-topic-link:hover{text-decoration:underline}.topic-add-test{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:14px;border:1px dashed var(--line);border-radius:var(--r);color:var(--accent-ink);background:var(--accent-soft);font-weight:650;text-decoration:none}.topic-add-test:hover{border-color:var(--accent)}.lesson-term{height:auto;min-height:22px;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}@media(max-width:520px){.lesson-return{min-height:0;flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.lesson-return-info{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:auto;flex:none}.lesson-return-live{gap:4px;white-space:nowrap;font-size:10px}.lesson-return-live i{width:7px;height:7px}.lesson-return-action{width:100%;justify-content:center}.lesson-return-title{min-width:0;font-size:14px}.lesson-return-time{font-size:12px}.lesson-head .lesson-topic-row{align-items:flex-start;gap:10px}.lesson-head .lesson-topic-title,.student-lesson-title{font-size:18px}.lesson-head .lesson-end-button{align-self:flex-start}}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:radial-gradient(1200px 600px at 20% 10%,#DDF1EE 0%,transparent 60%),radial-gradient(900px 500px at 80% 90%,#FBF0D6 0%,transparent 55%),var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:40px;position:relative;overflow:hidden}.login-art .big{font-size:clamp(30px,4vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.05;max-width:14ch}.login-art .sub{color:var(--ink-2);max-width:40ch;margin-top:14px;font-size:16px}.login-form{display:grid;place-items:center;padding:32px 20px}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:18px}.molecule{position:absolute;right:-40px;bottom:-40px;width:420px;height:420px;opacity:.9}@media(max-width:900px){.login-wrap{grid-template-columns:1fr}.login-art{min-height:220px;padding:24px 20px}.molecule{width:220px;height:220px;right:-30px;bottom:-40px;opacity:.6}.login-art .sub{display:none}}.grade-tabs{display:flex;gap:6px;flex-wrap:wrap}.grade-tab{height:40px;min-width:56px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:700;font-size:15px;color:var(--ink-2)}.grade-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.quarter{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.quarter:first-of-type{border-top:0;padding-top:0}.quarter-label .q{font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.quarter-label .n{font-size:13px;color:var(--ink-3);margin-top:2px}.topic-list{display:grid;gap:8px}.topic-card{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:inherit}.topic-card:hover{text-decoration:none;border-color:var(--accent);box-shadow:var(--shadow)}.topic-card-main{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.topic-card-main:hover{color:inherit;text-decoration:none}.topic-card.drop-before{box-shadow:0 -2px 0 var(--accent)}.topic-card.drop-after{box-shadow:0 2px 0 var(--accent)}.topic-card.is-dragging,.sortable-row.is-dragging{opacity:.55}.drag-handle{flex:none;cursor:grab;touch-action:none;color:var(--ink-3)}.drag-handle:active{cursor:grabbing}.topic-unhide{flex:none;border:0;background:none;padding:4px}.topic-card .idx{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.topic-card .t{font-weight:600}.topic-card .m{font-size:12.5px;color:var(--ink-3);display:flex;gap:10px;margin-top:2px;flex-wrap:wrap}.sortable-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.sortable-row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.sortable-row{position:relative}@media(max-width:900px){.quarter{grid-template-columns:1fr;gap:10px}}.solve-head{position:sticky;top:var(--top-h);z-index:10;background:var(--paper);padding:8px 0 12px;display:flex;align-items:center;gap:12px}.q-nav{display:flex;flex-wrap:wrap;gap:6px}.q-nav button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:600;font-size:13px;color:var(--ink-2)}.q-nav button.cur{border-color:var(--ink);color:var(--ink)}.q-nav button.ans{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.q-nav button.ok{background:var(--ok-soft);color:#1f6b40;border-color:transparent}.q-nav button.bad{background:var(--danger-soft);color:var(--danger);border-color:transparent}.q-nav button.part{background:var(--warm-soft);color:#8a5e0e;border-color:transparent}.q-text{font-size:17px;line-height:1.5}.q-context{padding:14px 16px;border-left:3px solid var(--accent);background:var(--accent-soft-2);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:14.5px;line-height:1.55}.options{display:grid;gap:8px}.option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);text-align:left;width:100%;font-size:15px;line-height:1.4}.option:hover{border-color:var(--ink-3)}.option .k{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ink-2);flex:none}.option.on{border-color:var(--accent);background:var(--accent-soft-2)}.option.on .k{background:var(--accent);border-color:var(--accent);color:#fff}.option.right{border-color:var(--ok);background:var(--ok-soft)}.option.right .k{background:var(--ok);border-color:var(--ok);color:#fff}.option.wrong{border-color:var(--danger);background:var(--danger-soft)}.option.wrong .k{background:var(--danger);border-color:var(--danger);color:#fff}.option:disabled{cursor:default}.match-grid{display:grid;gap:8px}.match-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.timer{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;font-weight:700;padding:6px 10px;border-radius:8px;background:var(--card);border:1px solid var(--line)}.timer.low{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}.result-hero{display:flex;align-items:center;gap:20px;padding:22px;border-radius:16px;background:var(--card);border:1px solid var(--line);flex-wrap:wrap}.chem-kbd{display:flex;flex-wrap:wrap;gap:6px}.chem-kbd button{height:34px;min-width:34px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:600}.cal-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.cal-month-info,.cal-actions,.cal-month-title,.cal-month-nav{display:flex;align-items:center}.cal-month-info{gap:16px;min-width:0}.cal-date-mark{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:72px;min-height:64px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:0 2px 6px #12263f0a}.cal-date-mark span{width:100%;padding:5px 4px 3px;color:var(--ink-3);font-size:11px;font-weight:700;letter-spacing:.06em;text-align:center}.cal-date-mark b{width:100%;padding:3px 4px 6px;background:var(--accent-soft);color:var(--accent-ink);font-size:22px;line-height:1;text-align:center}.cal-heading{min-width:0}.cal-month-title{gap:8px;flex-wrap:wrap}.cal-month-title h1{margin:0}.cal-month-title .cal-month-picker{min-width:0;min-height:0;height:auto;padding:0 2px 0 0;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:capitalize}.cal-month-title .cal-month-picker:hover,.cal-month-title .cal-month-picker.open{border-color:transparent;background:transparent;color:var(--accent-ink)}.cal-month-title .cal-month-picker .dd-chev{width:15px;height:15px;color:var(--ink-3)}.cal-month-title .cal-year-picker{min-width:76px}.cal-heading p{margin:3px 0 0;color:var(--ink-3);font-size:14px}.cal-actions{justify-content:flex-end;gap:14px}.cal-month-nav{gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.cal-month-nav .btn{min-width:36px}.cal-month-nav .btn:not(.ghost){margin:0 2px}.cal-plan-button{min-height:42px}.calendar-card{overflow:hidden;border-color:var(--line)}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:36px repeat(6,minmax(104px,1fr));gap:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--card)}.topic-select{display:flex;align-items:center;gap:6px;min-width:0}.topic-select>.dd{flex:1 1 auto;min-width:0}.curriculum-topic-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-4px 0 14px}.topic-match-panel{display:grid;gap:8px;padding:12px;border:1px solid var(--accent-soft);border-radius:var(--r);background:var(--accent-soft-2)}.topic-match-title{font-size:13px;font-weight:700;color:var(--accent-ink)}.topic-match-list{display:grid;gap:6px}.topic-match-sentinel{height:2px}.topic-match{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:inherit}.topic-match:hover{text-decoration:none;border-color:var(--accent)}.topic-match .grow{display:grid;gap:2px}@media(max-width:520px){.topic-select{flex-wrap:wrap}.topic-select>.dd{flex-basis:100%}.topic-select>.btn{flex:1;justify-content:center}}.cal-wd{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:6px 8px;border-bottom:1px solid var(--line)}.cal-day{min-width:0;min-height:104px;padding:9px;border:0;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);border-radius:0;background:var(--card);display:flex;flex-direction:column;gap:5px;text-align:left;cursor:pointer}.cal-day:nth-child(7n){border-right:0}.cal-day:nth-last-child(-n+7){border-bottom:0}.cal-day:hover{position:relative;z-index:1;box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.selected{background:var(--accent-soft-2);box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.out{background:var(--paper)}.cal-day.out .cal-day-number{color:var(--ink-3);opacity:.72}.cal-day .d{min-height:27px;font-size:13px;font-weight:600;color:var(--ink-2);display:flex;justify-content:space-between;align-items:flex-start}.cal-day-number{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%}.cal-day.today .cal-day-number{background:var(--accent);color:#fff}.cal-ev{font-size:12px;font-weight:600;padding:3px 7px;border-radius:6px;background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-ev.planned{background:var(--sky-soft);color:#1f5ea3}.cal-ev.live{background:var(--warm-soft);color:#8a5e0e}.cal-ev.more{background:transparent;color:var(--ink-3)}@media(max-width:900px){.cal{grid-template-rows:34px repeat(6,minmax(72px,1fr))}.cal-day{min-height:72px;padding:6px}.cal-ev{display:none}.cal-day .dots{display:flex;gap:3px;flex-wrap:wrap}.cal-day .dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);display:block}.cal-day .dots i.planned{background:var(--sky)}.cal-day .dots i.live{background:var(--warm)}}@media(max-width:520px){.cal-page-head{align-items:flex-start;gap:14px}.cal-month-info{gap:10px}.cal-date-mark{width:54px;min-height:56px}.cal-date-mark span{font-size:9px}.cal-date-mark b{font-size:19px}.cal-month-title h1{font-size:21px}.cal-heading p{font-size:12px}.cal-actions{width:100%;justify-content:space-between;gap:8px}.cal-month-nav{gap:0}.cal-month-nav .btn{min-width:32px}.cal-plan-button{flex:1;justify-content:center;min-height:40px}.cal{grid-template-rows:30px repeat(6,minmax(52px,1fr))}.cal-wd{padding:4px 1px;font-size:10px}.cal-day{min-height:52px;padding:4px 3px;gap:2px}.cal-day .d{min-height:24px;font-size:11px}.cal-day-number{width:23px;height:23px}}.cal-day .dots{display:none}.room{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}@media(max-width:1000px){.room{grid-template-columns:1fr}}.member{display:flex;align-items:center;gap:10px;padding:10px 0}.member+.member{border-top:1px solid var(--line-2)}.member .name{font-weight:600;flex:1;min-width:0}.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.act-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);font-weight:600;font-size:13px;color:var(--ink-2)}.act-btn:hover{text-decoration:none;border-color:var(--ink-3)}.act-btn.on{border-color:var(--accent);background:var(--accent-soft-2);color:var(--accent-ink)}.act-btn .ico{width:24px;height:24px}.board{position:relative;width:100%;aspect-ratio:16 / 10;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;touch-action:none}.board canvas{width:100%;height:100%;display:block}.reaction-pop{position:fixed;left:50%;top:24%;transform:translate(-50%);animation:pop .25s ease-out;z-index:70;pointer-events:none;display:flex;flex-direction:column;align-items:center}.lab{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}@media(max-width:1000px){.lab{grid-template-columns:1fr}}.ptable{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:3px}.el{aspect-ratio:1;border-radius:6px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:700;cursor:grab;padding:0;line-height:1;position:relative}.el:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:var(--ink-3);z-index:2}.el small{font-size:8px;font-weight:500;color:var(--ink-3);margin-top:2px}.el.metal{background:#f3f7ff}.el.nonmetal{background:#fff7e9}.el.noble{background:#f6eeff}.el.metalloid{background:#eef9f2}.el.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.bench{min-height:300px;border-radius:16px;background:linear-gradient(180deg,#fff,#f6f8f7);border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:16px}.beaker{position:relative;width:150px;height:170px;border:3px solid #B9C7C4;border-top:0;border-radius:0 0 26px 26px;background:#fff9;overflow:visible;flex:none;margin-top:44px}.beaker:before{content:"";position:absolute;left:-8px;right:-8px;top:-2px;height:3px;border-radius:2px;background:#b9c7c4}.beaker .liquid,.beaker .precip{border-radius:0 0 23px 23px;overflow:hidden}.beaker .liquid{position:absolute;left:0;right:0;bottom:0;height:58%;background:#cfe9f7;transition:background .5s,height .4s}.beaker .bubbles i{position:absolute;bottom:0;width:8px;height:8px;border-radius:50%;background:#ffffffe6;animation:bubble 1.6s linear infinite}@keyframes bubble{0%{transform:translateY(0) scale(.8);opacity:.9}to{transform:translateY(-110px) scale(1.2);opacity:0}}.beaker .precip{position:absolute;left:6px;right:6px;bottom:0;height:22px;border-radius:10px 10px 0 0;background:#fff;opacity:0;transition:opacity .6s}.beaker.has-precip .precip{opacity:1}.beaker .flame{position:absolute;left:50%;top:-34px;transform:translate(-50%);width:36px;height:48px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#FFE28A,#F59E0B 60%,transparent 70%);animation:flicker .4s infinite alternate}@keyframes flicker{0%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1.08,1.15)}}.beaker .smoke{position:absolute;left:50%;top:-10px;width:60px;height:60px;transform:translate(-50%);background:radial-gradient(circle,rgba(255,255,255,.9),transparent 70%);animation:rise 1.4s infinite}.formula-big{font-size:34px;font-weight:700;letter-spacing:-.01em}.formula-big sub{font-size:.6em}.slot{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:10px;border:1px dashed var(--line);background:var(--card);min-width:64px;min-height:44px;justify-content:center;font-weight:700;font-size:20px}.slot.filled{border-style:solid}.slot .sub-ctl{display:inline-flex;flex-direction:column;gap:2px}.slot .sub-ctl button{width:18px;height:14px;border:0;background:var(--line-2);border-radius:3px;font-size:10px;line-height:1;padding:0}.eq-line{font-size:20px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eq-line .arrow{color:var(--ink-3)}.react-card{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:var(--r);border:1px solid var(--line);background:var(--card)}.react-card .eff{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.subst{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:var(--card);font-weight:600;cursor:pointer}.subst:hover{border-color:var(--accent)}.subst.on{border-color:var(--accent);background:var(--accent-soft-2)}.subst .c{width:10px;height:10px;border-radius:3px;border:1px solid rgba(0,0,0,.08)}@media print{.side,.tabbar,.btn,.solve-head{display:none!important}.main{padding:0}}@media(max-width:900px){.grid.three.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid.four.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpis .kpi{padding:10px 12px}.kpis .kpi .n{font-size:20px}.kpis .kpi .l{font-size:12px}}a.card,.card a.link-row{color:inherit}a.card:hover{text-decoration:none;border-color:var(--accent)}.dd{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);font-size:15px;text-align:left;transition:border-color .12s,box-shadow .12s;max-width:100%}.dd.block{width:100%}.dd.sm{height:32px;font-size:13px;padding:0 8px 0 10px}.dd:hover{border-color:var(--ink-3)}.dd.open,.dd:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dd.is-empty .dd-label{color:var(--ink-3)}.dd:disabled{opacity:.6}.dd-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-chev{color:var(--ink-3);flex:none;transition:transform .15s}.dd.open .dd-chev{transform:rotate(180deg)}.dd-menu{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);z-index:80;padding:6px;max-height:380px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;animation:pop .12s ease-out}.dd-search{display:flex;align-items:center;gap:8px;padding:4px 8px 8px;border-bottom:1px solid var(--line-2);margin-bottom:4px}.dd-search input{flex:1;border:0;background:transparent;font:inherit;outline:none;min-width:0}.dd-list{overflow:auto;flex:1 1 auto;min-height:0;overscroll-behavior:contain}.dd-search{flex:none}.dd-filter-wrap{flex:none;padding:0 4px 7px;margin-bottom:5px;border-bottom:1px solid var(--line-2)}.dd-filter{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--card);color:var(--ink-2);text-align:left;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.dd-filter:hover,.dd-filter.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft-2)}.dd-filter-check{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:#fff;flex:none}.dd-filter.on .dd-filter-check{background:var(--accent);border-color:var(--accent)}.dd-group{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 4px}.dd-item .grow{min-width:0;overflow-wrap:anywhere}.dd-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;background:none;border-radius:8px;text-align:left;font-size:14.5px;color:var(--ink)}.dd-item.hi{background:var(--line-2)}.dd-item.on{color:var(--accent-ink);font-weight:600}.dd-item.off{opacity:.45;cursor:default}.dd-hint{display:block;font-size:12px;color:var(--ink-3);font-weight:400}.dd-empty{padding:14px;color:var(--ink-3);font-size:14px;text-align:center}.dd-tools{display:flex;gap:6px;flex-wrap:wrap;flex:none;padding:0 4px 6px;margin-bottom:4px;border-bottom:1px solid var(--line-2)}.dd-tools button,.dd-mini{height:26px;padding:0 9px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--card);color:var(--ink-2);font-size:12.5px;font-weight:600;white-space:nowrap;flex:none}.dd-tools button:hover,.dd-mini:hover{border-color:var(--accent);color:var(--accent-ink)}.dd-secrow{display:flex;align-items:center;gap:6px;padding-right:4px}.dd-head{display:flex;align-items:center;gap:6px;width:100%;min-width:0;border:0;background:none;border-radius:var(--r-btn);text-align:left;color:var(--ink)}.dd-head .grow{min-width:0;overflow-wrap:anywhere}.dd-head.hi{background:var(--line-2)}.dd-head.sec{padding:9px 8px;font-size:14.5px;font-weight:700}.dd-head.grp{padding:7px 8px 7px 28px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.dd-n{margin-left:auto;padding-left:8px;font-size:12px;font-weight:600;color:var(--ink-3);letter-spacing:0;font-variant-numeric:tabular-nums}.dd-fold{flex:none;color:var(--ink-3);transition:transform .15s}.dd-fold.shut{transform:rotate(-90deg)}.dd-item.nested{padding-left:50px}.sheet-menu{position:fixed;left:0;right:0;bottom:0;width:auto;max-width:100vw;border-radius:16px 16px 0 0;max-height:70vh;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.set-picker-list{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:0 12px;overscroll-behavior:contain}.set-picker-grade+.set-picker-grade{border-top:1px solid var(--line)}.set-picker-grade h4{position:sticky;top:0;z-index:1;margin:0 -12px;padding:8px 12px;background:var(--card);color:var(--ink-2);font-size:13px}.set-picker-topic h5{margin:4px 0;color:var(--ink-3);font-size:12px;font-weight:600}.set-picker-loading{min-height:8px;padding:8px 0;text-align:center;color:var(--ink-3);font-size:12px}.set-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0}.set-picker-option{display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:6px;border:1px solid transparent;border-radius:var(--r-btn);background:transparent;text-align:left}.set-picker-option:hover,.set-picker-row.selected .set-picker-option,.set-picker-option.selected{background:var(--accent-soft-2);border-color:var(--accent-soft)}.set-picker-copy{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.set-picker-copy .title,.set-picker-copy .sub{overflow-wrap:anywhere}.set-picker-check{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;color:#fff}.set-picker-row.selected .set-picker-check{background:var(--accent);border-color:var(--accent)}.set-picker-edit{justify-self:end}.bank-search{width:100%;margin:0}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap .input{padding-right:44px}.password-toggle{position:absolute;right:3px;width:34px;height:32px;padding:0}.input.password-valid{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok)}.input.password-invalid{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.settings-plan{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--accent-soft);border-radius:var(--r);background:linear-gradient(135deg,var(--accent-soft-2),var(--card) 72%)}.settings-plan-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:var(--r-sm);color:var(--accent);background:var(--card)}.settings-plan-copy{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;gap:3px}.settings-plan-copy>b{font-size:17px}.settings-plan-link{flex:none}.dt{padding:10px;display:block}.dt-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dt-wd{font-size:11px;font-weight:700;color:var(--ink-3);text-align:center;text-transform:uppercase;padding:4px 0}.dt-day{height:36px;border:0;border-radius:8px;background:none;font-size:14px;font-weight:500;color:var(--ink)}.dt-day:hover{background:var(--line-2)}.dt-day.out{color:var(--ink-3)}.dt-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.dt-day.on{background:var(--accent);color:#fff}.dt-day:disabled{opacity:.35}.dt-time{border-top:1px solid var(--line-2);margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:6px}.dt-hours{display:flex;flex-wrap:wrap;gap:4px}.login{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.login-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(1160px,100%);margin:0 auto;padding:18px 20px}.login-brand{color:inherit;text-decoration:none}.lang-seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--line-2)}.lang-seg button{height:30px;padding:0 11px;border:1px solid transparent;border-radius:7px;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink-3)}.lang-seg button.on{background:var(--card);border-color:var(--accent);color:var(--accent-ink)}.login-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:48px 16px 40px}.login-card{width:min(520px,100%);display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:32px 28px 26px;background:var(--card);border:1px solid var(--line);border-radius:14px}.login-card h1{margin:0;text-align:center;font-size:30px;letter-spacing:-.02em}.login-card .sub{margin:-10px 0 4px;text-align:center;color:var(--ink-2);font-size:15px}.atoms{display:flex;justify-content:center;gap:10px;margin-bottom:4px}.atoms i{width:22px;height:22px;border-radius:50%;box-shadow:inset -3px -4px 6px #0000002e,inset 2px 2px 4px #ffffff73}.atoms .a1{background:#0e6f6a}.atoms .a2{background:#c98a1b}.atoms .a3{background:#d0563f}.atoms .a4{background:#3e78c4}.atoms .a5{background:#4c5a60}.pin-boxes{position:relative;display:flex;justify-content:center;gap:10px;margin:8px 0 10px;cursor:text}.pin-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;border:0;font-size:16px;caret-color:transparent}.pin-box{width:54px;height:64px;display:grid;place-items:center;border:2px solid var(--line);border-radius:10px;background:var(--paper);font-size:28px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;transition:border-color .12s,box-shadow .12s,background .12s}.pin-box.filled{background:var(--card);border-color:#a9cfca}.pin-boxes:focus-within .pin-box.cur{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);background:var(--card)}.keypad{display:grid;grid-template-columns:repeat(3,96px);gap:10px;justify-content:center;margin:6px 0 4px}.keypad button{height:62px;border:1px solid var(--line);border-radius:12px;background:var(--card);font:inherit;font-size:24px;font-weight:700;color:var(--ink);box-shadow:0 1px #16262a0f}.keypad button:active{background:var(--line-2);transform:translateY(1px)}.keypad button.soft{border-color:transparent;background:none;box-shadow:none;font-size:14px;font-weight:600;color:var(--ink-3);display:grid;place-items:center}.keypad button:disabled{opacity:.45}.login-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2)}.login-field .input{height:48px;font-size:16px}.pw{position:relative;display:block}.pw .input{width:100%;padding-right:46px}.pw .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--ink-3)}.pw .eye:hover{background:var(--line-2);color:var(--ink)}.login-err{padding:10px 12px;border-radius:10px;background:var(--danger-soft, #FBE7E3);color:var(--danger, #B23B2A);font-size:14px;font-weight:600;text-align:center}.login-btn{height:50px;border:0;border-radius:10px;background:var(--ink);color:#fff;font:inherit;font-size:16px;font-weight:700;margin-top:6px;display:grid;place-items:center}.login-btn:hover:not(:disabled){background:#0b1719}.login-btn:disabled{background:#8e9a9c;cursor:not-allowed}.login-btn .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.login-switch{align-self:center;border:0;background:none;padding:6px;font:inherit;font-size:15px;font-weight:700;color:var(--accent-ink)}.login-switch:hover{text-decoration:underline}@media(max-width:640px){.login-head{padding:14px 16px}.login-main{padding:16px 12px 28px}.login-card{padding:26px 18px 22px}.login-card h1{font-size:26px}.pin-box{width:44px;height:56px;font-size:24px}.pin-boxes{gap:8px}.keypad{grid-template-columns:repeat(3,1fr);width:100%}.keypad button{height:64px}}.lab2{display:flex;flex-direction:column;gap:16px}.lab2-stage{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px}.lab2-eq{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lab-slot{position:relative;min-width:150px;min-height:64px;padding:8px 34px 8px 14px;border:1.5px dashed var(--line);border-radius:12px;display:flex;flex-direction:column;justify-content:center;background:var(--paper);font-weight:700;font-size:22px}.lab-slot small{font-size:12px;font-weight:500;color:var(--ink-2)}.lab-slot.filled{border-style:solid;border-color:var(--accent);background:var(--accent-soft-2)}.lab-slot.result{min-width:190px;border-color:var(--line);background:var(--card)}.lab-slot.result.filled{border-color:var(--ok);background:var(--ok-soft)}.lab-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--ink-3);display:grid;place-items:center}.lab-x:hover{background:var(--line-2);color:var(--ink)}.lab2-plus,.lab2-arrow{color:var(--ink-3);font-size:22px;font-weight:600}.warm-text{color:#8a5e0e;font-size:15px;display:inline-flex;align-items:center;gap:6px}.lab2-scene{display:flex;gap:20px;align-items:flex-start;min-height:180px}.lab2-equation{font-size:22px;font-weight:700}.lab2-palette{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px 18px}.lab2-groups{display:flex;flex-direction:column;gap:10px;margin-top:10px}.lab2-chips{display:flex;flex-wrap:wrap;gap:6px}.subst.can{border-color:var(--accent);background:var(--accent-soft-2);box-shadow:0 0 0 2px var(--accent-soft)}.subst.dim{opacity:.35}.subst:disabled{cursor:default}.lab2-info{display:flex;flex-direction:column;gap:8px;padding:12px 18px;background:var(--card);border:1px solid var(--line);border-radius:12px}.beaker.reacting .liquid{animation:swirl 1.2s ease-in-out}@keyframes swirl{0%{filter:brightness(1.15)}to{filter:none}}.lab2.compact .lab2-stage{padding:12px}.lab2.compact .lab-slot{min-width:90px;min-height:48px;font-size:16px;padding:6px 28px 6px 10px}@media(max-width:640px){.lab2-scene{flex-direction:column}.lab-slot{min-width:120px;flex:1}}.md{font-size:16px;line-height:1.6;max-width:72ch}.md h2{font-size:20px;margin:22px 0 8px;letter-spacing:-.01em}.md h3{font-size:17px;margin:18px 0 6px}.md h4{font-size:15px;margin:14px 0 4px}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:3px 0}.md code{font-family:var(--mono);font-size:.92em;background:var(--line-2);padding:1px 5px;border-radius:4px}.md blockquote{margin:10px 0;padding:8px 14px;border-left:3px solid var(--accent);background:var(--accent-soft-2);border-radius:0 8px 8px 0}.md.big{font-size:18px;max-width:80ch}.stages{display:flex;flex-direction:column;gap:0;position:relative}.stage{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line-2)}.stage:first-child{border-top:0}.stage .min{font-weight:700;color:var(--accent-ink);font-size:14px;padding-top:2px}.stage .k{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.stage .ttl{font-weight:600;margin:2px 0}.stage .txt{color:var(--ink-2);font-size:14.5px;line-height:1.5}.stage.cur{background:var(--accent-soft-2);margin:0 -12px;padding:10px 12px;border-radius:10px;border-top-color:transparent}.qa{border-top:1px solid var(--line-2);padding:10px 0}.qa:first-child{border-top:0}.qa .q{font-weight:600}.qa .a{color:var(--ink-2);margin-top:4px;font-size:14.5px}.topic-card.hidden-topic{opacity:.5}.topic-card .order{display:flex;flex-direction:column;gap:2px}.link{color:var(--accent-ink);cursor:pointer;font-weight:600}.link:hover{text-decoration:underline}.md-table-wrap{overflow-x:auto;margin:6px 0 12px}.md-table{border-collapse:collapse;font-size:15px;min-width:60%}.md-table th,.md-table td{border:1px solid var(--line);padding:7px 12px;text-align:left;vertical-align:top}.md-table th{background:var(--accent-soft-2);font-weight:600}.field,.grid>*,.card{min-width:0}.dd{min-width:0}@media(max-width:640px){.list-row{flex-wrap:wrap;row-gap:8px}.list-row>.body{flex:1 1 100%;min-width:0}.list-row>.row{flex-wrap:wrap}}@media(max-width:640px){.card-title{flex-wrap:wrap;row-gap:8px}.card-title>*{min-width:0}.row.between{flex-wrap:wrap;row-gap:8px}}.lesson-new{--ln-ink: #0B3B38;--ln-text: #3F6662;--ln-line: #CDE6E2;padding:24px 28px;border:1px solid var(--ln-line);border-radius:18px;background:radial-gradient(120% 140% at 0% 0%,#d3eeea,#d3eeea00 60%),linear-gradient(110deg,#e3f4f1,#f1f9f7 48%,#fff);color:var(--ln-ink)}.lesson-new h2{display:flex;align-items:center;gap:10px;margin:0;font-size:22px;font-weight:700;letter-spacing:-.015em;color:var(--ln-ink)}.lesson-new .step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;flex:none}.lesson-new-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.lesson-new-head .link{font-size:14px;white-space:nowrap;border:0;background:none;padding:0}.lesson-new-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.lesson-new-search{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--ln-line);border-radius:10px;background:#fff;color:var(--ln-text);flex:1 1 240px;max-width:360px}.lesson-new-search input{border:0;outline:0;font:inherit;background:transparent;flex:1;min-width:0;color:var(--ink)}.grade-pill{height:34px;padding:0 12px;border:1px solid var(--ln-line);border-radius:999px;background:#fffc;font:inherit;font-size:13.5px;font-weight:600;color:var(--ln-ink)}.grade-pill span{color:var(--ln-text);font-weight:500;margin-left:2px}.grade-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.grade-pill.on span{color:#fffc}.picked-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.picked-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:13px;font-weight:600}.lesson-new-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;max-height:420px;margin:-6px;padding:6px;overflow:auto;list-style:none}.lesson-pick{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border:1px solid var(--ln-line);border-radius:12px;background:#ffffffd9;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s,box-shadow .12s,background .12s}.lesson-pick:hover{border-color:#9fd1ca;background:#fff}.lesson-pick.on{border-color:var(--accent);background:#fff;box-shadow:inset 0 0 0 1px var(--accent),0 4px 12px -6px #0e6f6a73}.lesson-pick input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.lesson-pick:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.lesson-pick .ava{position:relative;flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;font-size:14px;transition:background .12s,color .12s}.lesson-pick.on .ava{background:var(--accent);color:#fff}.lesson-pick .ava .online{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--ok);border:2px solid #fff}.lesson-pick .lp-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.lesson-pick .lp-main b{overflow:hidden;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.lesson-pick .lp-main span{overflow:hidden;font-size:12.5px;color:var(--ln-text);text-overflow:ellipsis;white-space:nowrap}.lesson-pick .check{flex:none;display:grid;place-items:center;width:22px;height:22px;border:1.5px solid #9FD1CA;border-radius:50%;background:#fff;color:transparent;transition:background .12s,border-color .12s}.lesson-pick.on .check{border-color:var(--accent);background:var(--accent);color:#fff}.lesson-new-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--ln-text)}.lesson-new-empty p{margin:0}.lesson-new-topic{display:flex;flex-direction:column;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--ln-line)}.lesson-new-topic .dd{background:#fff;height:46px;font-size:15.5px;border-color:var(--ln-line)}.topic-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;color:var(--ln-text)}.topic-note .ok{display:inline-flex;align-items:center;gap:6px;color:var(--accent-ink);font-weight:600}.lesson-new-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--ln-line)}.lesson-new-foot .count{font-size:14px;color:var(--ln-text)}.lesson-start-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border:0;border-radius:12px;background:var(--accent);color:#fff;font:inherit;font-size:16px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px #0b3b3824,0 6px 14px -6px #0e6f6a8c;transition:background .15s,transform .15s}.lesson-start-btn:hover:not(:disabled){background:var(--accent-ink)}.lesson-start-btn:active:not(:disabled){transform:translateY(1px)}.lesson-start-btn:focus-visible{outline:3px solid var(--ln-ink);outline-offset:3px}.lesson-start-btn:disabled{background:#a9d3ce;box-shadow:none;cursor:not-allowed}.lesson-start-btn .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.lesson-new{padding:18px 16px}.lesson-new h2{font-size:19px}.lesson-new-foot{flex-direction:column-reverse;align-items:stretch}.lesson-new-foot .count{text-align:center}.lesson-start-btn{width:100%}}.side{gap:14px;padding:16px 12px}.side-profile{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.side-profile .grow{min-width:0}.side-profile b{display:block;font-size:13.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-profile .grow span{display:block;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-foot{border-top:1px solid var(--line);margin:auto -12px 0;padding:14px 12px 0}.side-links{display:flex;flex-direction:column;gap:2px}.side-links .lang-seg{align-self:flex-start;margin:0 4px 8px}.side-links a,.side-links>button{display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:var(--r-sm);background:none;font:inherit;font-size:14px;font-weight:500;color:var(--ink-2);text-align:left;text-decoration:none}.side-links a:hover,.side-links>button:hover{background:var(--line-2);color:var(--ink)}.side-links .ico{width:20px;height:20px;opacity:.85}.sheet .side-profile{margin:4px 0 8px}.hero-lesson{--hl-ink: #0B3B38;--hl-text: #3F6662;--hl-line: #CDE6E2;display:flex;align-items:center;gap:24px;padding:28px 32px;border:1px solid var(--hl-line);border-radius:16px;background:radial-gradient(120% 140% at 0% 0%,#d3eeea,#d3eeea00 60%),linear-gradient(110deg,#e3f4f1,#f1f9f7 48%,#fff);margin-bottom:28px}.hero-lesson.is-live{background:radial-gradient(120% 140% at 0% 0%,#fbe9c7,#fbe9c700 60%),linear-gradient(110deg,#fcf1dc,#fdf8ee 48%,#fff);border-color:#efd9ae}.hero-copy{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.hero-kicker{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.is-live .hero-kicker{color:#8a5e0e}.live-dot{width:8px;height:8px;border-radius:50%;background:#d0563f;box-shadow:0 0 #d0563f80;animation:livePulse 1.6s infinite}@keyframes livePulse{70%{box-shadow:0 0 0 8px #d0563f00}to{box-shadow:0 0 #d0563f00}}.hero-lesson h2{margin:0;font-size:34px;letter-spacing:-.025em;line-height:1.1;color:var(--hl-ink)}.hero-lesson p{margin:0;max-width:58ch;color:var(--hl-text);font-size:15.5px;line-height:1.5}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.hero-chips span{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--hl-line);border-radius:8px;background:#fff;font-size:13.5px;font-weight:500;color:var(--hl-ink)}.hero-btn{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 26px;margin-top:8px;border-radius:10px;background:var(--accent);color:#fff;font-size:16px;font-weight:700;text-decoration:none;box-shadow:0 1px 2px #0b3b3824,0 6px 14px -6px #0e6f6a8c}.hero-btn:hover{background:var(--accent-ink);text-decoration:none;color:#fff}.is-live .hero-btn{background:#b26e0a;box-shadow:0 6px 14px -6px #b26e0a8c}.hero-art{flex:none;width:260px;height:180px}.hero-art .bub{animation:rise2 2.4s ease-in infinite}.hero-art .b2{animation-delay:.8s}.hero-art .b3{animation-delay:1.5s}@keyframes rise2{0%{transform:translateY(0);opacity:.9}to{transform:translateY(-60px);opacity:0}}@media(prefers-reduced-motion:reduce){.hero-art .bub,.live-dot{animation:none}}.home-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.sec-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:21px;letter-spacing:-.015em}.home-section-link{color:inherit}.home-section-link:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.sec-head .count{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 6px;border-radius:6px;background:var(--line-2);font-size:12px;font-weight:700;color:var(--ink-2)}.card.pad-0{padding:0;overflow:hidden}.sec-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;color:var(--ink-2);font-size:14.5px}.sec-empty p{margin:0}.person-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-2);color:inherit;text-decoration:none}.person-row:hover{background:var(--paper);text-decoration:none}.person-row .ava{position:relative;flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--line-2);font-weight:700;font-size:14px;color:var(--ink)}.person-row .ava i{position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;border-radius:50%;background:#c9d2d1;border:2px solid #fff}.person-row .ava i.on{background:var(--ok)}.person-row .time{flex:none;width:48px;font-weight:700}.person-row .pr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.person-row .pr-main b{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row .pr-main span{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row .pr-main em{font-style:normal;color:var(--danger)}.more-link{display:inline-flex;align-items:center;gap:4px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none}.more-link:hover{text-decoration:none;color:var(--accent-ink)}.level-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line-2)}.level-row:last-child{border-bottom:0}.level-name{flex:none;width:74px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none}.level-pills{display:flex;flex-wrap:wrap;gap:6px}.level-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:13px;color:var(--ink);text-decoration:none}.level-pill b{font-weight:700}.level-pill span{color:var(--ink-3)}.level-pill:hover{border-color:var(--accent);text-decoration:none}@media(max-width:900px){.home-cols{grid-template-columns:minmax(0,1fr)}.hero-lesson{padding:20px 18px}.hero-art{width:120px;height:84px;align-self:flex-start}.hero-lesson h2{font-size:26px}.hero-btn{width:100%;justify-content:center}}@media(max-width:520px){.hero-art{display:none}}.grade-badge{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.grade-badge span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.grade-badge b{font-size:18px;color:var(--accent-ink)}.stat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px}.stat{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);min-width:0}.stat b{font-size:26px;letter-spacing:-.02em;line-height:1}.stat span{font-size:13px;font-weight:600;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat .si{color:var(--accent);flex:none}.stat .si.warm{color:var(--warm)}.stat .si.ok{color:var(--ok)}.tool-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:inherit;text-decoration:none}.tool-row:hover{border-color:var(--accent);text-decoration:none}.tool-row .ti{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--line-2);color:var(--ink)}.tool-row .pr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tool-row .pr-main b{font-size:15px;font-weight:600}.tool-row .pr-main span{font-size:13px;color:var(--ink-3)}@media(max-width:640px){.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{flex-direction:column;align-items:flex-start;gap:4px;padding:12px}.stat:nth-child(3){grid-column:1 / -1;flex-direction:row;align-items:center}.stat b{font-size:22px}.stat span{font-size:12px;white-space:normal}}.btn,.chip,.grade-pill,.picked-chip,.level-pill,.hero-chips span,.hero-btn,.lesson-start-btn,.login-btn,.keypad button,.pin-box,.lang-seg,.lang-seg button,.grade-tab,.q-nav button,.chem-kbd button,.dd,.seg,.seg button,.act-btn,.subst,.grade-badge,.tool-row,.side-links a,.side-links>button,.nav a,.sec-head .btn,.walk-step,.dd-item,.dt-day,.tabbar a,.option,.lesson-pick,.person-row .ava,.tool-row .ti,.stat,.side-profile,.pw .eye,.topic-card,.topic-card .idx{border-radius:var(--r-btn)}.member-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.member-chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--card);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.member-chip:hover{border-color:var(--accent);text-decoration:none;color:var(--accent-ink)}.member-chip .mc-dot{width:8px;height:8px;border-radius:50%;background:#c9d2d1;flex:none}.member-chip.on .mc-dot{background:var(--ok);box-shadow:0 0 0 3px #2f7d4c26}.member-chip .ico{color:var(--ink-3)}.report-share{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:18px 20px 20px;background:linear-gradient(110deg,var(--accent-soft) 0%,var(--accent-soft-2) 48%,var(--card) 100%);border:1px solid #C5E3DE;border-radius:var(--r);scroll-margin-top:80px}.report-share-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.report-share h2{font-size:20px;color:var(--accent-ink)}.report-share>p{max-width:70ch}.report-share-url{display:flex;gap:8px;align-items:stretch}.report-share-url .input{flex:1;min-width:0;height:44px;font-size:14px;color:var(--ink-2);background:var(--card);text-overflow:ellipsis}.report-share-url .btn{flex:none;height:44px}.report-share-actions{gap:8px}.report-share-actions .btn.disabled{opacity:.5;pointer-events:none}.btn.btn-wa{background:#1fa855;border-color:#1fa855;color:#fff}.btn.btn-wa:hover{background:#1a9149;border-color:#1a9149;color:#fff}@media(max-width:520px){.report-share{padding:16px 14px}.report-share-url{flex-direction:column}.report-share-url .input{flex:none}.report-share-url .btn{width:100%}.report-share-actions .btn{flex:1 1 100%}}.report-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--line)}.report-top .rt-right{display:flex;align-items:center;gap:12px;min-width:0}@media(max-width:520px){.report-top{padding:8px 12px}.report-top .rt-title{display:none}}.live-member{flex-wrap:wrap;row-gap:6px}.live-member .name{font-weight:600;color:var(--ink);min-width:110px}.cells{display:flex;flex-wrap:wrap;gap:3px;flex:1 1 160px;min-width:0}.cells .cell{width:14px;height:14px;border-radius:3px;background:var(--line-2);border:1px solid var(--line);display:block}.cells .cell.ok{background:var(--ok);border-color:var(--ok)}.cells .cell.bad{background:var(--danger);border-color:var(--danger)}.cells .cell.part{background:var(--warm);border-color:var(--warm)}.cells .cell.wait{background:var(--violet-soft);border-color:var(--violet)}.timer.watch{color:var(--ink-2);font-weight:600;padding:4px 8px}.hw-cells{flex:0 1 auto;max-width:220px}@media(max-width:640px){.hw-cells{flex-basis:100%;max-width:none}}.lesson-head .conn-row{gap:10px}.lesson-head>div:first-child{width:100%;min-width:0}.lesson-head .lesson-topic-row{display:flex;align-items:center;justify-content:flex-start;gap:16px;width:100%;margin-top:6px}.lesson-head .lesson-topic{flex:1 1 0;min-width:0;gap:8px}.lesson-head .lesson-topic-title{min-width:0;margin:0;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;overflow-wrap:anywhere}.lesson-head .lesson-topic-link{text-decoration:none}.lesson-head .lesson-end-button{flex:none;align-self:center}.lesson-head .conn-row .timer.watch{font-size:15px;background:var(--line-2);border-color:transparent}.student-lesson-head>div:first-child{min-width:0}.student-lesson-title{margin-top:4px;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;overflow-wrap:anywhere}.conn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-3)}.conn.on{color:var(--ok)}.lesson-live{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:4px}.live-dot.ok{background:var(--ok);box-shadow:0 0 #2e8b5773;animation:livePulseOk 1.8s infinite}.live-dot.big{width:12px;height:12px}@keyframes livePulseOk{0%{box-shadow:0 0 #2e8b5773}70%{box-shadow:0 0 0 8px #2e8b5700}to{box-shadow:0 0 #2e8b5700}}.lesson-live .timer.watch{font-size:15px;background:var(--line-2);border-color:transparent}.ends-in{font-size:13px;font-weight:600;color:var(--ink-2)}.ends-in.soon{color:var(--danger)}.lesson-topic{margin-top:6px;gap:8px;font-size:15px}.link-btn{border:0;background:none;padding:4px 6px;color:var(--accent);font-weight:600;font-size:13px}.link-btn:hover{text-decoration:underline}.end-soon-clock{display:inline-flex;align-items:center;gap:8px;font-size:30px;font-weight:800;color:var(--danger)}@media(prefers-reduced-motion:reduce){.live-dot.ok{animation:none}}@media(max-width:520px){.set-item-row{grid-template-columns:28px 20px minmax(0,1fr) 28px;gap:7px}.set-item-row.read-only{grid-template-columns:20px minmax(0,1fr)}.set-item-row>.body{flex:initial}.task-answer-preview{flex-direction:column;gap:2px}}@media(max-width:640px){.main{padding:18px 16px calc(88px + env(safe-area-inset-bottom))}.role-student .main{padding:18px 18px calc(88px + env(safe-area-inset-bottom))}.role-teacher .main>.shell-topline:not(.has-live-lesson){position:absolute;top:12px;right:16px;min-height:0;margin:0;z-index:41}.role-teacher .main:has(>.page>.page-head .kicker)>.shell-topline:not(.has-live-lesson){top:30px}.role-teacher .main:has(>.page>.cal-page-head)>.shell-topline:not(.has-live-lesson){top:18px}.role-teacher .main>.page>.page-head>:first-child{padding-right:48px}.role-teacher .shell-topline.has-live-lesson{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:start;justify-content:initial;gap:8px}.role-teacher .shell-topline.has-live-lesson .notification-tray{grid-column:2;grid-row:1}.role-teacher .shell-topline.has-live-lesson .lesson-return{grid-column:1;grid-row:1}.notification-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:block;border:0;padding:0;background:#16262a38;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80}.notification-panel{position:fixed;top:calc(env(safe-area-inset-top,0px) + 70px);right:12px;left:12px;width:auto;max-height:min(72dvh,680px);border-radius:14px}.notification-list{max-height:min(calc(72dvh - 56px),624px)}.page{gap:16px}.page-head{gap:10px}.page-head h1{font-size:23px}.card{padding:16px}.btn{max-width:100%;height:auto;min-height:38px;padding-top:8px;padding-bottom:8px;line-height:1.25;white-space:normal}.btn.sm{min-height:32px;padding-top:6px;padding-bottom:6px}.btn.lg{min-height:46px}.btn.icon{height:38px;min-height:38px;padding:0}.btn.icon.sm{height:32px;min-height:32px}.modal-back{padding-top:env(safe-area-inset-top)}.modal{width:100%;max-height:min(92vh,900px);max-height:min(92dvh,900px);padding:18px 16px calc(16px + env(safe-area-inset-bottom));gap:14px;overflow:hidden}.modal-head,.modal-foot{flex:none}.modal-head h2{min-width:0;overflow-wrap:anywhere;font-size:18px}.modal-body{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-foot{padding-top:10px;border-top:1px solid var(--line-2);background:var(--card)}.modal .row{flex-wrap:wrap}.modal .row>.input,.modal .row>.select,.modal .row>.dd,.modal .row>.textarea{flex:1 1 180px;width:auto;min-width:0}.dd-menu.sheet-menu{max-height:min(72vh,640px);max-height:min(72dvh,640px);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.dd-item{min-height:44px;align-items:flex-start;padding:11px 10px}.dd-head{min-height:44px}.dd-head.sec{align-items:center}.dd-item.nested{padding-left:22px}.dd-tools{gap:8px}.dd-tools button,.dd-mini{height:auto;min-height:32px;white-space:normal;text-align:left}.cal-selects{width:100%}.cal-selects label:first-child{min-width:0}.cal-selects .dd{width:100%;min-width:0}.set-picker-list{padding:0 8px}.set-picker-row{grid-template-columns:minmax(0,1fr);gap:4px}.set-picker-option{gap:7px}.set-picker-edit{justify-self:start;margin-left:6px}.settings-plan{flex-wrap:wrap;align-items:flex-start}.settings-plan-copy{flex-basis:calc(100% - 60px)}.settings-plan-link{margin-left:56px}.person-row{gap:8px;padding:10px 12px}.level-row{align-items:flex-start;gap:8px;padding:10px 12px}.level-name{width:64px}}@media(max-width:380px){.main{padding-right:14px;padding-left:14px}.role-student .main{padding-right:16px;padding-left:16px}.card{padding:14px}.grade-tabs{gap:4px}.grade-tab{min-width:0;padding:0 10px}.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.program-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:inherit;min-width:0}.program-card:hover{text-decoration:none;border-color:var(--accent);box-shadow:var(--shadow)}.program-title{font-size:16px;line-height:1.3}.program-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tri-cell{position:relative;display:block;min-width:0}.tri-lang{position:absolute;top:7px;right:8px;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);pointer-events:none}.tri-cell .input{padding-right:34px}.tri-cell .textarea{padding-top:22px}.tri-cell.missing .input,.tri-cell.missing .textarea{border-color:var(--warm)}@media(max-width:760px){.tri{grid-template-columns:1fr}}.kpis .kpi .l .faint{font-size:12px}.sale-banner{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--r);color:#fff;background:linear-gradient(115deg,#0a5551,#0e7f78 45%,#2f6fe0 120%);box-shadow:var(--shadow)}.sale-banner:after{content:"";position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.22),transparent);pointer-events:none}.sale-banner b{display:block;font-size:17px}.sale-banner span:not(.sale-badge){display:block;font-size:13.5px;opacity:.88;margin-top:2px}.sale-badge{flex:none;display:inline-grid;place-items:center;padding:8px 12px;border-radius:var(--r-btn, 4px);background:#fff;color:var(--accent-ink, #0a5551);font-weight:800;font-size:20px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.sale-badge.sm{padding:2px 7px;font-size:12.5px;background:var(--accent-soft);color:var(--accent-ink)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.plan-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);transition:border-color .15s,box-shadow .15s,transform .15s}.plan-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.plan-card.popular{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.plan-card.current{background:var(--accent-soft, #eaf6f4);border-color:var(--accent)}.plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.plan-flag{font-size:12px;font-weight:700;padding:3px 8px;border-radius:4px;background:var(--accent);color:#fff}.plan-flag.ok{background:var(--ink)}.plan-price{display:flex;flex-direction:column;gap:2px}.plan-old{font-size:14px;color:var(--ink-3);text-decoration:line-through;text-decoration-color:#c6553a;text-decoration-thickness:2px;font-variant-numeric:tabular-nums}.plan-now{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.plan-per{font-size:14px;color:var(--ink-2);white-space:nowrap}.plan-save{font-size:13px;font-weight:600;color:#2f7d4c}.plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2);flex:1}.plan-list li{padding-left:18px;position:relative}.plan-list li:before{content:"";position:absolute;left:2px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.plan-card,.plan-price,.sale-banner .grow{min-width:0}.billing-status .grow{min-width:0;overflow-wrap:anywhere}.billing-status{flex-wrap:wrap}.sale-banner .grow{overflow-wrap:anywhere}.plan-top .kicker{min-width:0;overflow-wrap:anywhere}.plan-price .row{flex-wrap:wrap;row-gap:6px}@media(max-width:560px){.sale-banner{align-items:flex-start;gap:12px;padding:14px}.sale-badge{font-size:17px}.billing-status{align-items:flex-start}.billing-status>.grow{flex-basis:100%}.billing-status>.tag{margin-left:auto}.plan-card{gap:12px;padding:16px}.plan-now{font-size:30px}.plan-per{white-space:normal}}.grade-tabs{flex-wrap:wrap}.grade-sep{width:1px;align-self:stretch;margin:4px;background:var(--line)}.program-tab{display:inline-flex;align-items:center;gap:6px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-tab{display:inline-flex;align-items:center;gap:6px;border-style:dashed!important;color:var(--accent-ink)}.program-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.scope-pick{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:inherit}.scope-pick:hover{border-color:var(--accent);box-shadow:var(--shadow)}.scope-pick b,.scope-pick .small{display:block}.plan-flag{white-space:nowrap;flex:none}.plan-price .row{flex-wrap:wrap;row-gap:4px}.side{height:100vh;height:100dvh;overflow:hidden}.side>.nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -4px;padding:0 4px;scrollbar-width:thin}.side>.side-foot{flex:none;margin-top:0}.sheet{overflow:hidden;height:100dvh;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.sheet>.nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sheet>.hr{flex:none;margin:0 -14px}.sheet>.side-links{flex:none}.topic-match-list{grid-auto-rows:82px;min-height:0;max-height:346px;overflow-y:scroll;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ink-3) var(--line-2);scrollbar-gutter:stable}.topic-match{min-height:0}.topic-match b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topic-switch .dd{min-width:0;width:auto;background:transparent;border-color:transparent;color:var(--accent-ink);padding-left:0;font-size:13px}.topic-switch .dd:hover,.topic-switch .dd.open{background:transparent;border-color:transparent;color:var(--accent)}.lesson-test-link{font-weight:650;color:var(--ink);text-underline-offset:3px}.lesson-test-link:hover{color:var(--accent);text-decoration:underline}.lesson-materials{min-width:0}.lesson-materials summary{cursor:pointer;font-weight:600}
