﻿:root{color-scheme:dark;--bg: #12141a;--panel: #1c2028;--ink: #e8e6e1;--muted: #9aa3b2;--grid: #2a303a;--accent: #7dd3fc;--field: #0d0f14;--line: #3d4754;--button: #2a3340;--button-hover: #354050;--button-quiet: #243044;--ok: #86efac;--miss: #fecaca;--miss-strong: #fca5a5;--warn: #fde68a;--gold: #fcd34d;--code: #c4b5fd;--placeholder: #6b7280;--danger-bg: #4c1d1d;--danger-line: #fb7185;--danger-well: #1f1214;--danger-line-deep: #7f1d1d;--danger-hover: #2a1416;--stone: #292524;--stone-ink: #e7e5e4;--stone-line: #57534e;--stone-line-hover: #a8a29e;--stone-line-soft: #78716c;--stone-field: #0c0a09;--on-bright: #0d0f14;--message-edge: #fff;--hover-wash: rgb(255 255 255 / 8%);--chrome-shadow: 0 1px 2px rgb(0 0 0 / 90%), 0 0 10px rgb(13 15 20 / 95%);--key-num-bg: #3a4452;--key-num-ink: #f8fafc;--key-num-line: #64748b;--key-fn-bg: #2b2547;--key-fn-ink: #ddd6fe;--key-fn-line: #6d5fb3;--key-op-bg: #0c3a52;--key-op-ink: #bae6fd;--key-op-line: #2f7aa3;--key-ctl-bg: #4a2617;--key-ctl-ink: #fed7aa;--key-ctl-line: #a4573a;--key-go-bg: #7dd3fc;--key-go-ink: #0d0f14;--key-go-line: #bae6fd;--key-unit-bg: #133a2a;--key-unit-ink: #bbf7d0;--key-unit-line: #2f8a5f;--key-var-bg: #4a1838;--key-var-ink: #fbcfe8;--key-var-line: #b34d8c}html[data-theme=light]{color-scheme:light;--bg: #f4f2ec;--panel: #ffffff;--ink: #1c1917;--muted: #57534e;--grid: #d6d3cd;--accent: #0369a1;--field: #ffffff;--line: #c8c4bb;--button: #e7e5e0;--button-hover: #d6d3cd;--button-quiet: #e7e5e0;--ok: #166534;--miss: #991b1b;--miss-strong: #b91c1c;--warn: #92400e;--gold: #b45309;--code: #5b21b6;--placeholder: #6b7280;--danger-bg: #fef2f2;--danger-line: #b91c1c;--danger-well: #fef2f2;--danger-line-deep: #b91c1c;--danger-hover: #fee2e2;--stone: #f5f5f4;--stone-ink: #1c1917;--stone-line: #a8a29e;--stone-line-hover: #57534e;--stone-line-soft: #d6d3d1;--stone-field: #ffffff;--message-edge: #1c1917;--hover-wash: rgb(0 0 0 / 6%);--chrome-shadow: none;--key-num-bg: #ffffff;--key-num-ink: #1c1917;--key-num-line: #a8a29e;--key-fn-bg: #ede9fe;--key-fn-ink: #4c1d95;--key-fn-line: #a78bfa;--key-op-bg: #e0f2fe;--key-op-ink: #075985;--key-op-line: #7dd3fc;--key-ctl-bg: #ffedd5;--key-ctl-ink: #9a3412;--key-ctl-line: #fdba74;--key-go-bg: #0369a1;--key-go-ink: #ffffff;--key-go-line: #075985;--key-unit-bg: #dcfce7;--key-unit-ink: #14532d;--key-unit-line: #4ade80;--key-var-bg: #fce7f3;--key-var-ink: #831843;--key-var-line: #f472b6}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 ui-sans-serif,system-ui,sans-serif}.app-shell{height:100dvh;display:grid;grid-template-columns:minmax(0, 1fr);overflow:hidden}.app-shell--with-side{grid-template-columns:minmax(0, 4fr) minmax(10rem, 1fr)}.app-main{container-type:inline-size;min-width:0;min-height:0;height:100%;overflow:auto;position:relative}.app-main__body{padding:calc(.8cqi + 1.25*clamp(.85rem,2cqi,1.4rem) + .5rem) 1.25rem 2rem}@container (max-width: 640px){.app-main__body{padding-top:calc(.8cqi + 2.5*clamp(.85rem,2cqi,1.4rem) + .4rem)}}.app-main__body--flush{padding:0}.app-side{min-width:0;min-height:0;height:100%;overflow:auto;background:var(--panel);border-left:1px solid var(--grid);padding:18px 18px 28px}.app-side__copy{margin:0}.app-side__copy var{font-style:italic;font-family:"Times New Roman",Times,serif}.app-chrome{position:sticky;top:0;z-index:30;height:0;overflow:visible;pointer-events:none}.app-chrome__bar{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);align-items:start;position:relative;padding:.8cqi 1.2cqi 0;pointer-events:none;text-shadow:var(--chrome-shadow)}.site-menu{justify-self:start;position:relative;z-index:3;pointer-events:auto;text-shadow:none}.site-menu__panel{position:absolute;top:calc(100% + 4px);left:-4px;min-width:14rem;max-height:min(75vh,36rem);overflow-y:auto;padding:10px 12px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.site-menu__panel[hidden]{display:none}.site-menu__panel::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.site-menu__panel .home-nav__links{display:block;margin:0}.site-menu__loading{margin:0;color:var(--muted)}.app-chrome__bar a.app-wordmark{justify-self:start;z-index:2;pointer-events:auto;text-decoration:none;padding:2px 4px;margin:-2px -4px;border-radius:8px}.app-chrome__bar a.app-wordmark:hover{background:var(--hover-wash)}.app-chrome__bar a.app-wordmark:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-chrome__title{position:absolute;left:0;right:0;top:.8cqi;margin:0;padding-inline:max(22cqi,9.5rem);text-align:center;font-size:clamp(.85rem,2cqi,1.4rem);font-weight:650;line-height:1.25;text-wrap:balance;pointer-events:none}.app-wordmark{display:flex;align-items:center;gap:.4em;font-weight:700;font-size:clamp(.8rem,1.7cqi,1.3rem);white-space:nowrap;line-height:1.05;letter-spacing:-0.01em;color:var(--ink);text-align:left}.app-wordmark__filter{position:absolute;width:0;height:0;overflow:hidden}.app-wordmark__logo{display:block;flex:none;height:1.15em;width:1.9368421053em;object-fit:cover;object-position:center;filter:url("#wordmark-knock-white")}.app-menu{position:relative;z-index:1;pointer-events:auto;text-shadow:none}.app-menu>summary{list-style:none;cursor:pointer;padding:2px 4px;margin:-2px -4px;border-radius:8px}.app-menu>summary::-webkit-details-marker{display:none}.app-menu>summary:hover,.app-menu[open]>summary{background:var(--hover-wash)}.app-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-menu__panel{position:absolute;top:calc(100% + 6px);left:0;z-index:1;min-width:11rem;display:grid;gap:2px;margin:0;padding:6px;background:var(--panel);border:1px solid var(--grid);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.45)}.app-menu--end .app-menu__panel{left:auto;right:0}.app-menu__panel a,.app-menu__panel button{display:block;width:100%;text-align:left;background:rgba(0,0,0,0);color:var(--ink);border:0;border-radius:8px;padding:8px 10px;font:inherit;cursor:pointer;text-decoration:none}.app-menu__panel a:hover,.app-menu__panel button:hover{background:var(--button)}.app-menu__panel a:focus-visible,.app-menu__panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-menu__panel a[aria-current=page]{color:var(--accent)}.app-menu__action{margin:0}.app-menu__identity{margin:0;padding:6px 10px 4px;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.app-chrome__account{position:relative;z-index:1;pointer-events:auto;justify-self:end;display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;grid-column:2;width:max-content;max-width:max(30cqi,9rem);min-width:0}.app-account__name{display:block;max-width:100%;white-space:normal;overflow-wrap:break-word;line-height:1.05;text-align:right;color:var(--ink);font-size:clamp(.8rem,1.8cqi,1.15rem);font-weight:650}.app-chrome__account .app-account__name{margin-inline:0}@supports(position-anchor: --account-name){.app-account__name,.app-chrome__sign-in{anchor-name:--account-name}}.app-chrome__sign-in{color:var(--accent);font-size:clamp(.8rem,1.8cqi,1.15rem);font-weight:650;text-decoration:none;padding:2px 4px}.app-chrome__sign-in:hover{text-decoration:underline}.app-chrome__sign-in:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-chrome__account>.app-menu,.app-chrome__account>.app-chrome__sign-in{min-width:0}.app-theme{flex:none;display:grid;place-items:center;width:28px;height:28px;margin-top:-4px;padding:0;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:6px;text-shadow:none;cursor:pointer}.app-theme:hover{color:var(--ink);background:var(--button-hover)}.app-theme:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-theme__moon{display:none}html[data-theme=light] .app-theme__sun{display:none}html[data-theme=light] .app-theme__moon{display:block}.auth,.sheet{max-width:28rem;display:grid;gap:12px}.auth__form,.sheet__form{display:grid;gap:12px}.auth__form label,.sheet__form label{display:grid;gap:4px;color:var(--muted);font-size:.82rem}.auth__form input,.sheet__form input{background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}.auth__form input::placeholder,.sheet__form input::placeholder{color:var(--placeholder)}.auth__form input:focus-visible,.sheet__form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth__form input[type=submit],.sheet__form input[type=submit]{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;justify-self:start}.auth__form input[type=submit]:hover,.sheet__form input[type=submit]:hover{background:var(--button-hover)}.field__hint{color:var(--muted);font-size:.78rem}.form__alert{color:var(--miss);margin:0}.form__alert p{margin:0}.form__notice{color:var(--ok);margin:0}.sheet__login{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.sheet__login dt{color:var(--muted)}.sheet__login dd{margin:0}.sheet a,.auth a{color:var(--accent)}@media(orientation: portrait){.app-shell:not(.app-shell--with-side){height:auto;min-height:100dvh;overflow:visible}.app-shell--with-side{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden}.app-shell--with-side .app-main{flex:0 0 auto;height:auto;max-height:80dvh;min-height:0;overflow:auto}.app-shell--with-side .app-main__body--flush{height:auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}.app-shell--with-side .lesson-page__main,.app-shell--with-side .expression-page{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;height:auto}.app-shell--with-side .balance-beam{flex:0 0 auto;min-height:0;height:auto;grid-template-rows:auto}.app-shell--with-side.lesson-page .balance-beam{grid-template-rows:auto;gap:0}.app-shell--with-side .balance-beam__canvas{width:100%;height:auto;min-height:0;max-height:none}.app-shell--with-side .app-side{flex:1 1 auto;height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;border-left:0;border-top:1px solid var(--grid);padding:8px 12px 10px;font-size:.85rem;line-height:1.3;columns:2;column-gap:1rem;column-fill:balance}.app-shell--with-side .app-side h2{margin:0 0 .25rem;font-size:1rem}.app-shell--with-side .app-side p{margin:0 0 .35rem}.app-shell--with-side .app-side h2{break-after:avoid}.app-shell--with-side .app-side h2,.app-shell--with-side .app-side p,.app-shell--with-side .app-side li,.app-shell--with-side .app-side ol,.app-shell--with-side .app-side ul{break-inside:avoid}.app-shell--with-side .app-side section,.app-shell--with-side .app-side .lesson-page__table,.app-shell--with-side .app-side .lesson-page__keyboard,.app-shell--with-side .app-side .app-side__copy{break-inside:avoid}.app-shell--with-side .app-side:has([data-lesson-note]){columns:auto;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;font-size:.75rem;line-height:1.2}.app-shell--with-side .app-side:has([data-lesson-note]) h2{font-size:.85rem;margin-bottom:.15rem}.app-shell--with-side .app-side .lesson-notes:has([data-lesson-note]){flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:6px;align-content:start}.app-shell--with-side .app-side [data-lesson-note]{padding:2px 4px;margin:0;min-width:0}.app-shell--with-side .app-side .lesson-notes__success{grid-column:1/-1}}@media(orientation: portrait)and (min-width: 720px){.app-shell--with-side .app-side{columns:3}}input[type=email],input[type=password]{background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px}input[type=submit]{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer}.app-menu__panel a.app-menu__skool{display:flex;align-items:center;gap:6px;box-sizing:border-box;white-space:nowrap}.skool-wordmark--menu{width:auto;height:.95em;padding:2px 4px;background:#fff;border-radius:4px;box-sizing:content-box}.app-menu__panel:has(.app-menu__skool){min-width:max-content}.balance-beam{--beam: #c4a574;--beam-edge: #8a6a3e;--pin: #c9d0d8;--pin-edge: #6b7380;--anvil: #5c6570;--pan: #7a8490;--cg: #f0c14a;--cl: #6ee7b7;--contact: #fb7185;max-width:1100px;margin:0 auto;padding:8px 16px 24px;display:grid;gap:12px}.balance-beam__intro{padding:8px 4px 0}.balance-beam__intro h1{font-size:1.15rem;font-weight:650;margin:0 0 6px}.balance-beam__sub{color:var(--muted);font-size:.92rem;max-width:70ch;margin:0}.balance-beam__canvas{width:100%;height:auto;background:var(--field);border-radius:12px;border:1px solid var(--grid);display:block;touch-action:none;cursor:pointer}.lesson-page .balance-beam__canvas,.expression-page .balance-beam__canvas,.scale-page .balance-beam__canvas{border:0;border-bottom:1px solid var(--grid);border-radius:0}.balance-beam__canvas.is-grabbable{cursor:grab}.balance-beam__canvas.is-forbidden{cursor:not-allowed}.balance-beam__canvas.is-panning{cursor:grabbing}.balance-beam__controls [hidden]{display:none !important}.balance-beam__controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:12px 14px}.balance-beam__controls label{color:var(--muted);font-size:.82rem;display:flex;align-items:center;gap:8px}.balance-beam__controls input[type=range]{width:140px}.balance-beam__controls select{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:4px 8px}.balance-beam__controls button{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer}.balance-beam__controls button:hover{background:var(--button-hover)}.balance-beam__hold.is-held{background:var(--danger-bg);border-color:var(--danger-line);color:var(--miss)}.balance-beam__readout{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.9rem}.scale-page .balance-beam{max-width:none;margin:0;padding:0}.scale-page .balance-beam__controls{margin:12px 16px 24px}.balance-beam__notes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.balance-beam__notes article:last-child:nth-child(odd){grid-column:1/-1}@media(max-width: 800px){.balance-beam__notes{grid-template-columns:1fr}}.balance-beam__notes article{background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:14px 16px}.balance-beam__notes h2{font-size:.95rem;margin:0 0 8px}.balance-beam__notes p,.balance-beam__notes li{color:var(--muted);font-size:.88rem}.balance-beam__notes code{color:var(--code);font-size:.84em}.balance-beam__notes ul{margin:0;padding-left:1.15rem}.balance-beam__notes kbd{font-family:ui-monospace,monospace;color:var(--ink)}.lesson-page .balance-beam__stage:not(.is-focus)>.balance-beam__view{top:auto;right:auto;bottom:4px;left:50%;transform:translateX(-50%)}.lesson-page .balance-beam--shared-table .balance-beam__stage:not(.is-focus)>.balance-beam__view{left:4px;transform:none}.catalog{max-width:960px;margin:0 auto;display:grid;gap:16px}.catalog__header{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}.catalog h2{margin:0 0 12px;font-size:.95rem}.catalog__lead{margin:0;color:var(--muted);max-width:70ch}.catalog__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.catalog__list li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:12px 14px}.catalog__list code,.catalog__lead code{color:var(--code);font-size:.84em}.catalog__muted{color:var(--muted);margin-left:8px;font-size:.85rem}.catalog__badge{margin-left:8px;font-size:.75rem;color:var(--ok);border:1px solid #166534;border-radius:999px;padding:1px 8px}.catalog__actions{display:flex;gap:12px;align-items:center}.catalog__actions a,.catalog a{color:var(--accent);text-decoration:none}.catalog__card{background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:14px 16px}.catalog__form{display:grid;gap:16px}.catalog__grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:12px}.catalog__grid label,.catalog__form label{display:grid;gap:4px;color:var(--muted);font-size:.82rem}.catalog input[type=text],.catalog input[type=number]{background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}.catalog__fields{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:10px 16px;margin:0}.catalog__fields dt{color:var(--muted);font-size:.78rem}.catalog__fields dd{margin:0}.catalog__button{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;text-decoration:none;display:inline-block}.catalog__button:hover{background:var(--button-hover)}.catalog__button--danger{background:var(--danger-bg);border-color:var(--danger-line);color:var(--miss)}.catalog__notice{color:var(--ok);margin:0}.catalog__alert{color:var(--miss);margin:0}.catalog__alert p{margin:0 0 4px}@media(max-width: 700px){.catalog__list li{flex-direction:column;align-items:flex-start}}.feedback-admin__filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.feedback-admin__filters label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.feedback-admin__filters select{background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit}.feedback-admin__count{margin:0 0 0 auto}.feedback-admin__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.feedback-admin__item{display:grid;grid-template-columns:1fr auto;gap:6px 12px;background:var(--panel);border:1px solid var(--grid);border-left:3px solid var(--grid);border-radius:12px;padding:12px 14px}.feedback-admin__item.is-unread{border-left-color:var(--accent)}.feedback-admin__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:.85rem;color:var(--muted)}.feedback-admin__user{color:var(--ink);font-weight:600}.feedback-admin__rating{color:var(--gold);letter-spacing:1px}.feedback-admin__rating-off{color:#4b5563}.feedback-admin__no-rating{color:var(--muted);letter-spacing:normal}.feedback-admin__comment{grid-column:1;color:var(--ink)}.feedback-admin__comment p{margin:0 0 .4em}.feedback-admin__comment p:last-child{margin-bottom:0}.feedback-admin__mark-form{grid-column:2;grid-row:1/span 2;align-self:start;margin:0}.feedback-admin__mark{background:none;color:var(--accent);border:1px solid var(--grid);border-radius:8px;padding:4px 10px;font:inherit;font-size:.8rem;cursor:pointer}.feedback-admin__mark:hover{border-color:var(--accent)}.tools-index__about{margin:4px 0 0}.tools-index .catalog__list a{font-weight:600}.diagrams__rename{display:flex;gap:6px;align-items:center}.diagrams__rename input[type=text]{width:14em}.diagrams .button_to{margin:0}.expression-page{max-width:none;margin:0;display:grid;gap:16px;padding:0 0 24px}.expression-page .balance-beam{max-width:none;margin:0;padding:0}.expression-page .expression-page__work{margin-inline:16px}.expression-page__work{background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:14px 16px;display:grid;gap:12px}.expression-page__actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.expression-page__actions button{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.4em .85em;font-size:max(1.25rem,2.8cqi);font-weight:700;cursor:pointer}.expression-page__actions button:hover{background:var(--button-hover)}.expression-page__result{margin:0;min-height:1.3em;color:var(--muted)}.expression-page__result.is-match{color:var(--ok)}.expression-page__result.is-miss{color:var(--miss)}.expression-page__result.is-help{color:var(--warn)}.math-pad__field{min-height:max(3.2rem,2em);background:var(--field);border:1px solid var(--line);border-radius:10px;padding:.4em .5em;font:max(1.45rem, 3.2cqi)/1.2 "Times New Roman",Times,serif;color:var(--ink);text-align:center;cursor:text}.math-pad__field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.28)}.math-pad__placeholder{color:var(--muted);font-size:.75em;font-style:italic}.math-pad__caret{display:none;width:2px;height:1.15em;margin-left:1px;background:var(--accent);vertical-align:-0.12em;animation:math-pad-blink 1s step-end infinite}.math-pad__field:focus .math-pad__caret{display:inline-block}@keyframes math-pad-blink{50%{opacity:0}}.math-pad__field var{font-style:italic}.math-pad__eq,.math-pad__op{padding:0 .28em;font-style:normal}.math-pad__keys{display:grid;grid-template-columns:repeat(8, minmax(0, 1fr));gap:6px;margin-top:10px}.math-pad__key{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 0;cursor:pointer;font:1.05rem/1 ui-sans-serif,system-ui,sans-serif}.math-pad__key--symbol{font-family:"Times New Roman",Times,serif;font-style:italic;font-size:1.2rem}.math-pad__key:hover{background:var(--button-hover)}.math-pad.is-locked .math-pad__keys{display:none}.math-pad.is-locked .math-pad__field{cursor:default;box-shadow:none}.math-live-pad math-field{display:block;width:100%;min-height:max(3.2rem,2em);box-sizing:border-box;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:.4em .5em;font-size:max(1.45rem,3.2cqi);color:var(--ink);--caret-color: var(--accent);--selection-background-color: rgba(125, 211, 252, 0.35);--contains-highlight-background-color: #1a2330;--placeholder-color: var(--muted)}.math-live-pad math-field:focus,.math-live-pad math-field:focus-within{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.28)}.math-live-pad math-field::part(container){position:relative}.math-live-pad math-field::part(content),.math-live-pad math-field::part(placeholder){justify-content:center;text-align:center}.math-live-pad math-field::part(menu-toggle){display:none}.math-live-pad math-field::part(virtual-keyboard-toggle){position:absolute;right:4px;top:50%;transform:translateY(-50%)}.math-live-pad.is-locked math-field::part(virtual-keyboard-toggle){display:none}.equation-sides--terms{position:relative;width:100%;min-height:max(4.6rem,7cqi)}.equation-sides--terms.is-placed>.equation-sides__term{position:absolute;top:50%;left:0;transform:translate(-50%, -50%)}.equation-sides__term{min-width:0}.equation-sides__term--symbol{width:4.6rem}.equation-sides__term--op,.equation-sides__term--eq{width:3.4rem}.equation-sides__term--amount,.equation-sides__term--right{width:6.2rem}.equation-sides--terms math-field{width:100%;box-sizing:border-box;font-size:max(1.45rem,3.2cqi);min-height:max(3.2rem,2em);padding:.2em .25em}.equation-sides--terms .term-field{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:max(3.2rem,2em);margin:0;padding:.12em .08em;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink);caret-color:var(--accent);font:max(1.5rem, 3.4cqi)/1.15 "Times New Roman",Times,serif;text-align:center;appearance:none}.equation-sides--terms .term-field:focus{outline:none}.equation-sides--terms math-field.is-guided,.equation-sides--terms .term-field.is-guided{border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.9)}.equation-sides--terms .term-field-pad.is-locked .term-field{cursor:default;box-shadow:none}.equation-sides--terms math-field::part(virtual-keyboard-toggle){display:none}.MLK__rows>.MLK__row .w30{width:calc(3*var(--_keycap-width) - var(--_keycap-gap))}.expression-table{display:grid;gap:12px;justify-items:center}.expression-table__grid{border-collapse:collapse;margin:0 auto;font:max(1.45rem, 3.2cqi)/1.2 "Times New Roman",Times,serif;color:var(--ink)}.expression-table__places th{font:.72rem/1.2 ui-sans-serif,system-ui,sans-serif;font-weight:500;color:var(--muted);text-align:center;padding:0 8px 8px;border:0}.expression-table__carry td,.expression-table__annotation{font-size:.95rem;line-height:1;color:var(--accent);text-align:center;padding:0 8px 6px;border:0;vertical-align:bottom;min-width:2.2em}.expression-table__cell{min-width:2.8em;padding:.4em .45em;text-align:center;background:var(--field);border:1px solid var(--line);vertical-align:middle}.expression-table__cell[data-role=op],.expression-table__cell[data-role=eq],.expression-table__cell[data-col-role=op],.expression-table__cell[data-col-role=eq]{min-width:1.8em;padding:.4em .25em}.expression-table__cell[data-col-role=term]{min-width:2.8em}.expression-table__cell[data-role=empty]{min-width:2.2em}.expression-table__cell[data-invisible]{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);color:rgba(0,0,0,0);box-shadow:none;pointer-events:none}.expression-table__row[data-kind=result] .expression-table__cell{border-top:3px solid #fff}.expression-table__fade{animation:expression-term-fade 8s linear infinite}.expression-table__cell[data-fade-from=hidden] .expression-table__fade{animation-delay:-4s}@keyframes expression-term-fade{0%,37.5%{opacity:1}50%,87.5%{opacity:0}100%{opacity:1}}@media(prefers-reduced-motion: reduce){.expression-table__fade{animation:none}}.expression-table__row[data-kind=result] .expression-table__cell[data-editable]:focus{box-shadow:inset 0 3px 0 var(--message-edge),0 0 0 3px rgba(125,211,252,.28)}.expression-table__cell var{font-style:italic}.expression-table__cell[data-editable]{cursor:text}.expression-table__cell[data-editable]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.28)}.expression-table__cell:focus .math-pad__caret{display:inline-block}.expression-table .math-pad__keys{width:100%;max-width:36rem}.expression-table.expression-table--placed{display:block;width:min(100%,var(--expression-table-width, 100%));margin-inline:auto}.expression-table--placed .expression-table__grid{width:100%;table-layout:fixed}.expression-table--placed .expression-table__spacer{border:0;padding:0;background:rgba(0,0,0,0)}.expression-table--placed .expression-table__row[data-kind=result]>.expression-table__cell,.expression-table--placed .expression-table__row[data-kind=result]>.expression-table__spacer{border-top:3px solid #fff}.expression-table--placed .expression-table__cell{min-width:0;padding-inline:.12em;background:rgba(0,0,0,0);border:0}.expression-table--placed .expression-table__cell[data-invisible]{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);box-shadow:none}.expression-table--placed .term-field{display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;padding:.15em .05em;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,0);box-shadow:none;min-height:2.2em;color:inherit;caret-color:var(--accent);font:inherit;text-align:center;appearance:none}.expression-table--placed .term-field:focus{outline:none}.expression-table--placed .term-field.is-guided{border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.9)}.expression-table--placed .term-field.is-correct{border-color:var(--ok);box-shadow:0 0 0 3px rgba(134,239,172,.55)}@media(max-width: 700px){.math-pad__keys{grid-template-columns:repeat(4, minmax(0, 1fr))}}.app-shell.lesson-page .app-main__body--flush{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}.lesson-page__main{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;flex:0 1 auto;min-width:0;min-height:0;height:auto;padding:0}.lesson-page__main>:not(.balance-beam):not(.lesson-page__stage):not(.lesson-page__check):not(.lesson-page__ask):not(.lesson-guess-badge):not(.lesson-page__assist):not(.lesson-page__corner){padding-inline:16px}.lesson-page__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lesson-page__stage{position:relative;flex:0 0 auto;width:100%;min-width:0}.lesson-page .balance-beam{max-width:none;margin:0;padding:0;min-height:0;height:auto;flex:0 0 auto;display:grid;grid-template-rows:auto;gap:0;overflow:visible}.lesson-page .balance-beam__canvas{width:100%;height:auto;min-height:0}.lesson-page__instructions{max-width:42rem;margin:0 auto;color:var(--ink)}.lesson-page__instructions>:first-child{margin-top:0}.lesson-page__instructions>:last-child{margin-bottom:0}.lesson-page__instructions h1,.lesson-page__instructions h2,.lesson-page__instructions h3{font-size:1.15rem;font-weight:650;margin:1rem 0 .4rem}.lesson-page__instructions p,.lesson-page__instructions ul,.lesson-page__instructions ol{margin:.6rem 0 0}.lesson-page__instructions a{color:var(--accent)}.lesson-page__check{display:none}.lesson-page__check:not([hidden]){position:absolute;z-index:25;top:calc(.8cqi + max(.8rem,3.05cqi)*1.5 + 10px);right:1.2cqi;display:block;width:max-content;margin:0;pointer-events:auto}@supports(position-anchor: --account-name){.lesson-page__check:not([hidden]){position-anchor:--account-name;top:calc(anchor(bottom) + 10px)}}.lesson-page__check button{background:#15803d;color:#f0fdf4;border:1px solid var(--ok);border-radius:8px;padding:.4em .85em;font-size:max(1.25rem,2.8cqi);font-weight:700;cursor:pointer}.lesson-page__check button:hover{background:#166534}.lesson-page__check.is-attention button{animation:lesson-check-attention 5s ease-in-out infinite}@keyframes lesson-check-attention{0%,68%,100%{background:#15803d;box-shadow:0 0 0 0 rgba(134,239,172,0)}78%,90%{background:#4ade80;box-shadow:0 0 0 4px rgba(134,239,172,.95),0 0 18px rgba(74,222,128,.8)}}@media(prefers-reduced-motion: reduce){.lesson-page__check.is-attention button{animation:none;background:#22c55e;box-shadow:0 0 0 3px var(--ok)}}.lesson-page__check button:focus-visible{outline:2px solid var(--ok);outline-offset:3px}a.lesson-page__check.lesson-page__next{background:#0369a1;color:#f0f9ff;border:1px solid var(--accent);border-radius:8px;padding:.4em .85em;font-size:max(1.25rem,2.8cqi);font-weight:700;line-height:normal;text-decoration:none;cursor:pointer}a.lesson-page__check.lesson-page__next:hover{background:#075985}a.lesson-page__check.lesson-page__next:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-page__ask{position:absolute;z-index:3;left:0;top:0;transform:translateX(-50%);display:none;flex-direction:column;align-items:center;gap:.45rem;width:max-content;margin:0;padding:0;pointer-events:none}.lesson-page__ask:not([hidden]){display:flex}.lesson-page__relations{display:flex;gap:.12em;pointer-events:auto}.lesson-page__ask .lesson-page__relations button{min-width:0;min-height:0;padding:.04em .08em;line-height:.9;font-size:1em;font-weight:700;background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:.16em;font-family:"Times New Roman",Times,serif;cursor:pointer}.lesson-page__ask .lesson-page__relations button:hover{background:var(--button-hover)}.lesson-page__ask .lesson-page__relations button[aria-pressed=true]:not(.is-correct){border-color:var(--accent)}.lesson-page__ask .lesson-page__relations button.is-correct,.lesson-page__ask .lesson-page__relations button.is-correct:hover{background:#15803d;color:#f0fdf4;border-color:var(--ok)}.lesson-page__ask a.lesson-page__next:not([hidden]){display:inline-block;pointer-events:auto;background:#0369a1;color:#f0f9ff;border:1px solid var(--accent);border-radius:8px;padding:.4em .85em;font-size:max(1.25rem,2.8cqi);font-weight:700;line-height:normal;text-decoration:none;cursor:pointer}.lesson-page__ask a.lesson-page__next[hidden]{display:none}.lesson-page__ask a.lesson-page__next:hover{background:#075985}.lesson-page__ask a.lesson-page__next:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-page__corner{position:absolute;z-index:25;top:calc(.8cqi + 2.1*max(.8rem,2.9cqi) + 8px);left:1.2cqi;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:max-content;margin:0;pointer-events:none}.lesson-page__assist{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:max-content;margin:0;pointer-events:auto}.lesson-page__assist button,.lesson-page__assist a{background:rgba(13,15,20,.72);color:#e7e5e4;border:1px solid rgba(231,229,228,.55);border-radius:8px;padding:.28em .65em;font-size:max(.95rem,1.8cqi);font-weight:600;line-height:normal;text-decoration:none;cursor:pointer}.lesson-page__assist button:hover,.lesson-page__assist a:hover{background:rgba(28,32,40,.92);color:#fff}.lesson-page__assist button:focus-visible,.lesson-page__assist a:focus-visible{outline:2px solid #e7e5e4;outline-offset:3px}.lesson-feedback{position:relative;pointer-events:auto}.lesson-feedback__toggle{background:rgba(13,15,20,.45);color:var(--muted);border:1px solid rgba(154,163,178,.35);border-radius:8px;padding:.2em .55em;font:inherit;font-size:max(.78rem,1.35cqi);font-weight:500;line-height:normal;cursor:pointer}.lesson-feedback__toggle:hover,.lesson-feedback__toggle[aria-expanded=true]{color:var(--ink);border-color:rgba(231,229,228,.55)}.lesson-feedback__toggle:focus-visible,.lesson-feedback__panel :focus-visible{outline:2px solid #e7e5e4;outline-offset:2px}.lesson-feedback__panel{position:absolute;z-index:30;top:0;left:calc(100% + .5rem);display:grid;gap:.5rem;width:min(20rem,70vw);padding:.7rem .8rem;background:rgba(13,15,20,.95);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.35);color:var(--ink);font-size:.9rem}.lesson-feedback__panel[hidden]{display:none}.lesson-feedback__label{color:var(--muted);font-size:.85rem}.lesson-feedback__comment{width:100%;box-sizing:border-box;min-height:4.5rem;resize:vertical;padding:.45rem .55rem;background:var(--bg);color:var(--ink);border:1px solid var(--grid);border-radius:8px;font:inherit}.lesson-feedback__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lesson-feedback__rating{display:flex;gap:.1rem}.lesson-feedback__star{padding:0 .1rem;background:none;border:0;color:#4b5563;font-size:1.15rem;line-height:1;cursor:pointer}.lesson-feedback__star:hover,.lesson-feedback__star.is-on{color:var(--gold)}.lesson-feedback__send{padding:.25em .8em;background:var(--panel);color:var(--ink);border:1px solid rgba(231,229,228,.55);border-radius:8px;font:inherit;font-weight:600;cursor:pointer}.lesson-feedback__send:disabled{opacity:.6;cursor:progress}.lesson-feedback__status{margin:0;color:var(--muted);font-size:.85rem}.lesson-feedback__status:empty{display:none}.lesson-feedback__status.is-error{color:var(--miss-strong)}.lesson-feedback__panel.is-thanked>:not(.lesson-feedback__status){display:none}.lesson-feedback__panel.is-thanked{width:max-content}.lesson-feedback__panel.is-thanked .lesson-feedback__status{color:var(--ink)}.lesson-legend{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.lesson-page__assist .lesson-legend>button{font-size:max(.8rem,1.45cqi);font-weight:500;color:#a8a29e;border-color:rgba(231,229,228,.28)}.lesson-legend__panel{min-width:12rem;max-width:22rem;padding:.5rem .7rem;background:rgba(13,15,20,.92);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.35);font-size:max(.85rem,1.5cqi)}.lesson-legend__panel[hidden]{display:none}.lesson-legend__table{border-collapse:collapse;width:100%}.lesson-legend__table td{padding:.18rem .35rem;vertical-align:middle}.lesson-legend__picture,.lesson-legend__letter{width:1%;white-space:nowrap}.lesson-legend__picture svg{display:block;width:1.3em;height:1.3em}.lesson-legend__name{color:#e7e5e4}.lesson-legend__letter{text-align:center;font-family:"Times New Roman",Times,serif;font-size:1.15em}.lesson-fix{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:40rem;margin:0 auto;padding:calc(6rem + 4cqi) 1rem 1rem;color:#e7e5e4;font-size:max(1.05rem,2cqi)}.lesson-fix__message{max-width:30em;margin:0;overflow-wrap:break-word;line-height:1.4;text-align:center}.lesson-fix .lesson-naming__ok{margin:.4rem 0 0;font-size:max(1.15rem,2.4cqi)}.lesson-fix.is-clear .lesson-naming__ok{border-color:#0369a1;background:#0369a1;color:#fff}.lesson-fix.is-clear .lesson-fix__message{color:#bbf7d0}.lesson-clash__table{border-collapse:collapse;width:auto}.lesson-clash__table td{padding:.22rem .4rem;vertical-align:middle}.lesson-clash__picture,.lesson-clash__letter{width:0;white-space:nowrap}.lesson-clash__picture svg{display:block;width:1.3em;height:1.3em}.lesson-clash__table tr.is-conflict td{background:rgba(253,230,138,.14)}.lesson-clash__table tr.is-conflict td:first-child{box-shadow:inset 2px 0 0 var(--warn)}.lesson-clash__input{box-sizing:border-box;min-width:0;max-width:100%;padding:.15rem .3rem;border:1px solid var(--stone-line-soft);border-radius:6px;background:var(--stone-field);color:inherit;font:inherit;font-family:"Times New Roman",Times,serif;font-size:1.3em;text-align:center}.lesson-clash__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.28)}.lesson-clash__input--letter{width:2.2em;font-style:italic}.lesson-clash__input--name{field-sizing:content;width:auto;min-width:4em;max-width:min(24em,100vw - 1.5rem - 9rem)}.lesson-clash__input[readonly]{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);box-shadow:none;color:#a8a29e}.lesson-clash__input.is-conflict{border-color:var(--warn);box-shadow:0 0 0 3px rgba(253,230,138,.4)}.lesson-clash__help{margin:.45rem 0 0;color:#a8a29e}.lesson-clash__help[hidden]{display:none}.lesson-legend__empty{margin:0;color:var(--muted)}.lesson-guess-badge{display:none;position:absolute;z-index:24;top:calc(.8cqi + 2.1*max(.8rem,2.9cqi) + 8px);left:1.2cqi;margin:0;padding:5px 12px 7px;background:rgba(13,15,20,.9);border:1px solid var(--line);border-radius:12px;pointer-events:none;text-align:left;box-shadow:0 8px 20px rgba(0,0,0,.35)}.lesson-page__corner .lesson-guess-badge{position:static;top:auto;left:auto}@media(orientation: portrait){.lesson-page__main:has(.lesson-page__assist button):has(.lesson-page__assist a):has(.lesson-guess-badge:not([hidden])) .balance-beam__canvas{margin-top:4rem}}.lesson-guess-badge:not([hidden]){display:grid;gap:1px}.lesson-guess-badge.is-outlined{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}.lesson-outline{display:inline-block;padding:.08em .35em;border-radius:10px;box-shadow:0 0 0 3px var(--accent)}.lesson-guess-badge__label{font-size:max(.68rem,1.35cqi);font-weight:650;line-height:1.1;color:var(--muted)}.lesson-guess-badge__math{font:max(1.15rem, 2.5cqi)/1.15 "Times New Roman",Times,serif;color:var(--ink)}.lesson-guess-badge__math var{font-style:italic}.lesson-check-message[hidden]{display:none !important}.lesson-check-message{position:absolute;z-index:4;box-sizing:border-box;width:max-content;display:none;margin:0;background:var(--panel);color:var(--ink);border:2px solid var(--message-edge);border-radius:12px;padding:.55em .75em .6em;font-size:max(1.05rem,2.2cqi);line-height:1.3;text-align:center;overflow-wrap:break-word;box-shadow:0 8px 20px rgba(0,0,0,.35);pointer-events:auto;cursor:pointer}.lesson-check-message:not([hidden]){display:block}.lesson-check-message:not(.is-placed){visibility:hidden}.lesson-check-message__text{margin:0;font-size:1em;white-space:pre-line}.lesson-check-message.is-success{border:2px solid var(--accent)}.lesson-check-message__text.is-miss{color:var(--miss)}.lesson-check-message__text.is-help{color:var(--warn)}.lesson-page__success{display:none;background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:18px 20px;gap:12px;max-width:42rem;margin:0 auto;text-align:center}.lesson-page__success:not([hidden]){display:grid}.lesson-page__success h2{margin:0;font-size:1.25rem;font-weight:650}.lesson-page__success p{margin:0;color:var(--muted)}.lesson-page__next{justify-self:center;background:var(--button);color:var(--accent);border:1px solid var(--line);border-radius:8px;padding:8px 20px;text-decoration:none;font-weight:650}.lesson-page__next:hover{background:var(--button-hover)}.lesson-page__work{max-width:36rem;width:100%;margin:0 auto}.lesson-page__work--sides{max-width:none;background:var(--field);border:0;border-radius:0;padding:4px 0 12px}.lesson-page__main:has(.lesson-page__work--sides){background:var(--field)}.lesson-page__main:has(.lesson-page__work--sides) .balance-beam__canvas{border-bottom:0}.lesson-page .lesson-page__main>.lesson-page__work.lesson-page__work--sides.expression-page__work{padding:4px 0 12px}.lesson-page__work--sides .expression-page__result,.lesson-page__work--sides .lesson-page__success{margin-inline:16px}.lesson-page__work--sides .expression-page__result{text-align:center}.lesson-page__work--sides .expression-page__result:empty{min-height:0}.lesson-page__work--sides .lesson-page__check button{background:#15803d;color:#f0fdf4;border:1px solid var(--ok);border-radius:8px;padding:.4em .85em;font-size:max(1.25rem,2.8cqi);font-weight:700}.lesson-page__work--sides .lesson-page__check button:hover{background:#166534}.lesson-page__work .expression-page__actions{justify-content:center}.lesson-page__work.is-complete .math-pad__keys,.lesson-page__work.is-complete .expression-page__actions{display:none}.lesson-guess{display:grid;gap:10px;justify-items:center}.lesson-guess__label{font-size:max(1.15rem,2.6cqi);font-weight:650}.lesson-guess__row{display:flex;flex-wrap:nowrap;gap:12px;align-items:stretch;justify-content:center}.lesson-guess__label,.lesson-guess__eq{display:inline-flex;align-items:center}.lesson-guess__eq{font:max(1.45rem, 3.2cqi)/1.2 "Times New Roman",Times,serif}.lesson-guess__eq var{font-style:italic}.lesson-guess__blank{box-sizing:border-box;width:max(6.2rem,2.9em);min-height:max(3.2rem,2em);background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.35em .25em;font:max(1.45rem, 3.2cqi)/1.2 "Times New Roman",Times,serif;text-align:center}.lesson-guess__blank:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.28)}.lesson-guess__blank.is-correct{border-color:var(--ok);box-shadow:0 0 0 3px rgba(134,239,172,.55)}.lesson-guess button{box-sizing:border-box;display:inline-flex;align-items:center;background:#0369a1;color:#f0f9ff;border:1px solid var(--accent);border-radius:10px;padding:.4em .85em;font-size:max(1.05rem,2.2cqi);font-weight:650;cursor:pointer}.lesson-guess button[hidden]{display:none}.lesson-guess button:hover{background:#075985}.lesson-guess button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-reflect{display:grid;gap:10px;justify-items:center;text-align:center;font-size:max(1rem,2.2cqi);padding:8px 16px 24px}.lesson-reflect p{margin:0}.lesson-reflect__choice{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.3em .7em;margin:0 .25em;font-size:max(1.05rem,2.2cqi);cursor:pointer}.lesson-reflect__choice:hover{background:var(--button-hover)}.lesson-reflect__choice[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.lesson-page__table--side{padding:12px 0 0;background:rgba(0,0,0,0);border:0;border-radius:0}.lesson-page__side .expression-table__grid{font-size:1.15rem}.lesson-page__side .expression-table__cell{min-width:1.7em;padding:6px 5px}.lesson-page__keyboard:empty{display:none}.lesson-page__keyboard:not(:empty){margin-bottom:14px}.app-shell.lesson-page:has(.lesson-keypad) .app-side>:not(.lesson-page__keyboard){display:none}@media(orientation: portrait){.app-shell--with-side.lesson-page:has(.lesson-keypad) .app-main{max-height:calc(100dvh - 176px - 18px - 16px - env(safe-area-inset-bottom, 0px))}.app-shell--with-side.lesson-page:has(.lesson-keypad) .app-side{flex:0 0 auto;columns:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom, 0px));background:var(--panel);border-top:1px solid var(--grid)}}.lesson-page__keyboard:has(.lesson-keypad){margin:0}.lesson-keypad__keys{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:6px}.lesson-keypad__key{min-height:44px;padding:0;background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;font:1.35rem/1 ui-sans-serif,system-ui,sans-serif;touch-action:manipulation;cursor:pointer}.lesson-keypad__key--symbol{font-family:"Times New Roman",Times,serif;font-style:italic;font-size:1.5rem}.lesson-keypad__key--wide{grid-column:span 2}.lesson-keypad__key:active{background:var(--button-hover)}.lesson-page__keyboard{--keyboard-background: transparent;--keyboard-border: transparent;--keyboard-padding-top: 0px;--keyboard-padding-horizontal: 0px;--keycap-gap: 4px;--keycap-height: 44px;--keycap-font-size: 24px;--keycap-glyph-size: 26px;--keycap-glyph-size-lg: 28px;--keycap-width: min(52px, calc((100cqw - 4 * var(--keycap-gap)) / 5));--keycap-text: var(--ink);--keycap-background: var(--button);--keycap-background-hover: var(--button-hover);--keycap-secondary-text: var(--ink);--keycap-secondary-background: var(--button-quiet);--keycap-secondary-background-hover: var(--button-hover);--keycap-secondary-border: var(--line);--keycap-secondary-border-bottom: var(--line)}.lesson-page__keyboard .ML__keyboard{position:static;height:auto;overflow:visible}.lesson-page__keyboard .ML__keyboard.is-visible>.MLK__backdrop{position:relative;bottom:auto;height:auto;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;padding:0;background:rgba(0,0,0,0)}.lesson-page__keyboard .MLK__plate{position:relative;top:auto;left:auto;width:100%}.lesson-page__keyboard .MLK__rows>.MLK__row .action,.lesson-page__keyboard .MLK__rows>.MLK__row .left,.lesson-page__keyboard .MLK__rows>.MLK__row .right,.lesson-page__keyboard .MLK__rows>.MLK__row .bottom{padding:0;align-items:center;justify-content:center;font-size:var(--keycap-font-size);line-height:1}.lesson-page__placeholder{color:var(--muted);font-size:.92rem;display:grid;gap:12px}.lesson-page__placeholder [hidden]{display:none !important}.lesson-page__placeholder p{margin:0}.lesson-notes [hidden]{display:none !important}.lesson-notes section+section{margin-top:18px}.lesson-notes h2{margin:0 0 8px;font-size:1rem;font-weight:650}.lesson-notes [data-lesson-note]{border-radius:10px;padding:8px 10px;margin-inline:-10px}.lesson-notes [data-lesson-note] p{margin:0}.lesson-notes [data-lesson-note].is-guided{box-shadow:0 0 0 2px var(--accent)}.lesson-notes h2+ol{margin-top:0}.lesson-notes ol{margin:0;padding-left:1.2rem;display:grid;gap:8px}.lesson-notes li{padding-left:.2rem}.lesson-notes__math{margin:6px 0 0;font:1.2rem/1.3 "Times New Roman",Times,serif;color:var(--ink)}.lesson-notes__success{column-span:all}.lesson-notes__success p{margin:0 0 10px}.lesson-notes__success p:last-child{margin-bottom:0}.lesson-notes__math var{font-style:italic}.balance-beam__controls[hidden]{display:none !important}.lesson-naming{display:grid;gap:14px;justify-items:center}.lesson-naming__question{margin:0;font-size:max(1.15rem,2.4cqi);text-align:center}.lesson-naming__row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}.lesson-naming__label{color:var(--muted)}.lesson-naming__swatch{width:1.6em;height:1.6em;border-radius:4px;background:var(--swatch);border:1px solid var(--line)}.lesson-naming__fixed,.lesson-naming__unit-hint{font:max(1.45rem, 3.2cqi)/1.2 "Times New Roman",Times,serif}.lesson-naming__unit-hint{color:var(--muted);font-size:max(1.05rem,2.2cqi)}.lesson-naming__unit-hint[hidden]{display:none}.lesson-naming var{font-style:italic}.lesson-naming__blank{box-sizing:border-box;width:max(6.2rem,2.9em);min-height:max(3.2rem,2em);background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.35em .25em;font:max(1.45rem, 3.2cqi)/1.2 "Times New Roman",Times,serif;font-style:italic;text-align:center}.lesson-naming__blank--letter{width:max(3.6rem,1.8em)}.lesson-naming__blank--name{width:auto;max-width:100%;flex-shrink:0;font-style:normal;field-sizing:content;min-width:max(12rem,7em)}.lesson-naming__lazy{flex-basis:100%;margin:0;font-size:max(1.15rem,2.4cqi);line-height:2.3;text-align:center}.lesson-naming__lazy[hidden]{display:none}.lesson-naming__blank--inline{width:1.7em;min-height:0;margin:0 .1em;padding:.05em .1em;font-size:1.3em;vertical-align:middle}.lesson-naming__keep{white-space:nowrap}.lesson-naming__ok{margin-left:.4em;padding:.15em .8em;border:1px solid var(--stone-line);border-radius:6px;background:var(--stone);color:var(--stone-ink);font:inherit;line-height:1.4;cursor:pointer}.lesson-naming__ok:hover{border-color:var(--stone-line-hover)}.lesson-naming__ok[hidden]{display:none}.lesson-naming__row>.lesson-naming__ok{margin-left:0;font-size:max(1.15rem,2.4cqi)}.lesson-naming__ok:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-naming__fix{margin:0;color:var(--muted);font-size:max(.85rem,1.5cqi);text-align:center}.lesson-naming__fix[hidden]{display:none}.lesson-naming__fix a{color:var(--muted)}.lesson-naming__fix a:hover,.lesson-naming__fix a:focus-visible{color:var(--ink)}.lesson-naming__blank:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.28)}.lesson-naming__blank.is-correct{border-color:var(--ok);box-shadow:0 0 0 3px rgba(134,239,172,.55)}.lesson-naming__blank.is-conflict{border-color:var(--warn);box-shadow:0 0 0 3px rgba(253,230,138,.4)}.lesson-naming__story{max-width:36em}.lesson-naming__after{margin:0;max-width:36em;text-align:center;color:var(--muted)}.lesson-naming__offer{margin:0}.lesson-naming__question[hidden],.lesson-naming__explain[hidden],.lesson-naming__measurement[hidden]{display:none}.lesson-page__main--bare{padding-top:calc(.8cqi + 2.1*max(.8rem,2.9cqi) + 1.5rem)}@media(orientation: portrait){.lesson-page__main--bare{padding-top:calc(.8cqi + 2.1*max(.8rem,2.9cqi) + 8px)}.lesson-page__main--bare>.lesson-page__corner{position:static;flex-direction:row;flex-wrap:wrap;padding-inline:1.2cqi;margin-bottom:.75rem}.lesson-page__main--bare .lesson-page__assist{flex-direction:row;flex-wrap:wrap;align-items:center}}html[data-theme=light] .lesson-page__assist button,html[data-theme=light] .lesson-page__assist a{background:rgba(255,255,255,.88);color:var(--ink);border-color:rgba(28,25,23,.28)}html[data-theme=light] .lesson-page__assist button:hover,html[data-theme=light] .lesson-page__assist a:hover{background:#fff;color:var(--ink)}html[data-theme=light] .lesson-page__assist button:focus-visible,html[data-theme=light] .lesson-page__assist a:focus-visible{outline-color:var(--accent)}html[data-theme=light] .lesson-page__assist .lesson-legend>button,html[data-theme=light] .lesson-clash__input[readonly],html[data-theme=light] .lesson-clash__help{color:var(--muted)}html[data-theme=light] .lesson-feedback__toggle{background:rgba(255,255,255,.72);border-color:rgba(28,25,23,.18)}html[data-theme=light] .lesson-feedback__toggle:hover,html[data-theme=light] .lesson-feedback__toggle[aria-expanded=true]{border-color:rgba(28,25,23,.35)}html[data-theme=light] .lesson-feedback__toggle:focus-visible{outline-color:var(--accent)}html[data-theme=light] .lesson-feedback__panel,html[data-theme=light] .lesson-legend__panel{background:var(--panel);color:var(--ink)}html[data-theme=light] .lesson-feedback__panel :focus-visible{outline-color:var(--accent)}html[data-theme=light] .lesson-feedback__send{border-color:var(--line)}html[data-theme=light] .lesson-legend__name,html[data-theme=light] .lesson-fix{color:var(--ink)}.lesson-naming__say{flex-basis:100%;margin:0;font-size:max(1rem,1.9cqi);text-align:center}.lesson-naming__together{flex-basis:100%;margin:0;font-size:max(1.15rem,2.4cqi);font-weight:650;text-align:center}.lesson-naming__say[hidden],.lesson-naming__together[hidden],.lesson-naming__term[hidden]{display:none}.lesson-naming__term{font:italic max(1.45rem, 3.2cqi)/1.2 "Times New Roman",Times,serif}.lesson-naming__measurement{flex-basis:100%;margin:0 0 .25em;font:italic max(3.2rem, 9cqi)/1.1 "Times New Roman",Times,serif;text-align:center}.lesson-naming__explain{max-width:40em;font-size:max(1rem,1.9cqi);line-height:1.4;text-align:left}.lesson-naming__explain p{margin:0 0 .5em}.lesson-naming__explain p:last-child{margin-bottom:0}.lesson-naming__explain em{font-style:italic}.lesson-naming__explain var{font:italic 1.1em/1 "Times New Roman",Times,serif}.lesson-naming__unnamed{flex-basis:100%;margin:0;color:var(--muted)}.lesson-naming__unnamed[hidden]{display:none}.lesson-naming__unnamed a{color:var(--accent)}.lesson-naming__offer a{color:var(--accent)}.zoom-demo-page{touch-action:pan-x pan-y}.zoom-demo-page:has(.zoom-region--zoomed){touch-action:none}.zoom-demo.zoom-region--zoomed{cursor:grab;user-select:none}.zoom-demo.zoom-region--dragging{cursor:grabbing}.zoom-demo.zoom-region--zoomed .zoom-demo__content{will-change:transform}.app-shell--tool.app-shell.zoom-demo-page{height:auto;min-height:100dvh;overflow:visible}.zoom-demo-page .app-main{height:auto;overflow:visible;grid-template-rows:auto auto}.app-shell--tool .tool-page>.zoom-demo.zoom-demo{display:block;position:relative;grid-column:1/-1;grid-row:2;align-self:start;min-width:0}.zoom-demo__about{max-width:40em;margin:.25rem auto .75rem;line-height:1.5}.zoom-demo.zoom-region--zoomed{overflow:clip}.zoom-demo__figure{display:block;width:100%;height:auto;max-width:900px;margin:0 auto}.zoom-demo__figure text{fill:#e7e5e4;text-anchor:middle;font-family:inherit}.zoom-demo__figure .zoom-demo__tiny{font-size:8px;fill:#a8a29e}.zoom-demo__figure .zoom-demo__note{font-size:11px}.zoom-demo__figure .zoom-demo__label{font-size:20px;font-weight:700;fill:#1c1917}.zoom-demo__figure .zoom-demo__label--small{font-size:15px}.zoom-demo__figure .zoom-demo__equation{font-size:15px;font-weight:600}.zoom-demo__beam{stroke:#d6d3d1;stroke-width:5;stroke-linecap:round}.zoom-demo__post{fill:#57534e}.zoom-demo__ticks line{stroke:#a8a29e;stroke-width:1}.zoom-demo__weight{fill:#fbbf24;stroke:#92400e;stroke-width:1.5}.zoom-demo__weight--x{fill:#7dd3fc;stroke:#075985}.zoom-demo__grid line{stroke:#3f3f46;stroke-width:.75}.zoom-demo__triangle polygon{fill:rgba(134,239,172,.25);stroke:#86efac;stroke-width:2}.zoom-demo__right-angle{fill:none;stroke:#86efac;stroke-width:1}.zoom-demo__text{max-width:40em;margin:1rem auto 5rem;line-height:1.5}.zoom-demo__buttons{position:fixed;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:4px;padding:4px;border-radius:8px;background:rgba(20,23,30,.85);color:#fff}.zoom-demo__buttons button{min-width:40px;min-height:40px;font-size:1.1rem;touch-action:manipulation}.zoom-demo__level{min-width:3.2em;text-align:center;font-size:.85rem}.zoom-demo__debug{position:fixed;left:8px;bottom:calc(60px + env(safe-area-inset-bottom));z-index:31;margin:0;padding:6px 8px;border-radius:6px;background:rgba(0,0,0,.75);color:#a7f3d0;font:11px/1.35 ui-monospace,monospace;pointer-events:none;white-space:pre}.home-index{max-width:1440px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:start;gap:16px}.lesson-card{display:grid;gap:10px;width:min(100%,20rem);padding:10px;background:var(--panel);border:1px solid var(--grid);border-radius:12px;color:inherit;text-decoration:none}.lesson-card:hover{border-color:var(--accent)}.lesson-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-card__label{text-align:center;font-size:1.05rem;font-weight:650}.lesson-card .balance-beam{max-width:none;margin:0;padding:0;pointer-events:none}.lesson-card .balance-beam__canvas{border-radius:8px}.home-index--account{margin-top:16px;padding-top:16px;border-top:1px solid var(--grid)}.home-index--account .lesson-card{min-height:5rem}.lesson-card__text{display:grid;gap:4px}.lesson-card__about{color:var(--muted);font-size:.82rem;text-align:center}.lesson-card__skool{display:grid;place-items:center;aspect-ratio:16/9;background:#fff;border-radius:8px}.skool-wordmark{display:block;width:60%;height:auto}.lesson-card__observer{display:block;width:100%;aspect-ratio:4/3;background:#eef2f6}.lesson-card__observer-paper{fill:#fff}.lesson-card__observer-grid line{stroke:#dbe7f5;stroke-width:1}.lesson-card__observer-major line{stroke:#94b4d4;stroke-width:1.25}.lesson-card__observer-ruler{fill:#f8fafc}.lesson-card__observer-ticks line{stroke:#1e293b;stroke-width:1}.lesson-card__observer-mark line{stroke:#c2410c;stroke-width:2}.lesson-card__unit-circle{display:block;width:100%;aspect-ratio:4/3;background:#fffef8}.lesson-card__unit-circle .lesson-card__uc-grid line{stroke:#d6e4ef;stroke-width:.75}.lesson-card__unit-circle .lesson-card__uc-axes line{stroke:#333;stroke-width:1.25}.lesson-card__unit-circle .lesson-card__uc-circle{fill:none;stroke:#222;stroke-width:1.25}.lesson-card__unit-circle .lesson-card__uc-square{fill-opacity:.18;stroke-opacity:.7;stroke-width:1}.lesson-card__unit-circle .lesson-card__uc-square--cos{fill:#1f77b4;stroke:#1f77b4}.lesson-card__unit-circle .lesson-card__uc-square--sin{fill:#d62728;stroke:#d62728}.lesson-card__unit-circle .lesson-card__uc-square--hyp{fill:#7b2cbf;stroke:#7b2cbf}.lesson-card__unit-circle .lesson-card__uc-cos{stroke:#1f77b4;stroke-width:2.5}.lesson-card__unit-circle .lesson-card__uc-sin{stroke:#d62728;stroke-width:2.5}.lesson-card__unit-circle .lesson-card__uc-hyp{stroke:#7b2cbf;stroke-width:2.5}.lesson-card__unit-circle .lesson-card__uc-arc{fill:none;stroke:#ff7f0e;stroke-width:1.5}.lesson-card__unit-circle .lesson-card__uc-point{fill:#7b2cbf}.lesson-card__unit-circle .lesson-card__uc-labels text{font:bold 9px system-ui,sans-serif;fill:#222;text-anchor:middle}.lesson-card__graph{display:block;width:100%;aspect-ratio:4/3;background:#fff}.lesson-card__graph-grid line{stroke:#e5e7eb;stroke-width:1}.lesson-card__graph-axes line{stroke:#6b7280;stroke-width:1.5}.lesson-card__graph .lesson-card__graph-line{stroke-width:3;stroke-linecap:round}.lesson-card__tree{display:block;width:100%;aspect-ratio:4/3;background:#fff}.lesson-card__tree-edges line{stroke:#9ca3af;stroke-width:2.5;stroke-linecap:round}.lesson-card__tree-nodes circle{stroke:#fff;stroke-width:2}.home-layout{display:grid;grid-template-columns:minmax(170px, 210px) minmax(0, 1fr);gap:24px;align-items:start}.home-layout__main{display:grid;gap:16px;min-width:0}.home-nav{font-size:.95rem}.app-shell--home .app-chrome{position:relative}.home-layout--with-side{grid-template-columns:minmax(170px, 210px) minmax(0, 1fr) minmax(220px, 280px)}.home-aside{min-width:0}.home-aside .home-index{display:block}.home-aside .next-card{width:100%;box-sizing:border-box}@media(max-width: 1100px){.home-layout--with-side{grid-template-columns:minmax(170px, 210px) minmax(0, 1fr)}.home-layout--with-side .home-nav{grid-column:1;grid-row:1/span 2}.home-layout--with-side .home-aside{grid-column:2;grid-row:1}.home-layout--with-side .home-layout__main{grid-column:2;grid-row:2}}.home-nav__toggle{display:none}.home-nav__section+.home-nav__section{margin-top:14px}.home-nav__heading{margin:0 0 4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.home-nav ul{list-style:none;margin:0;padding:0}.home-nav a{display:block;padding:4px 6px;border-radius:4px;color:inherit;text-decoration:none}.home-nav a:hover{text-decoration:underline}.home-nav a:focus-visible{outline:3px solid var(--focus, #2a6fdb);outline-offset:1px}.home-nav a[aria-current=page]{font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width: 720px){.home-layout,.home-layout--with-side{grid-template-columns:1fr;gap:12px}.home-layout--with-side .home-aside{grid-column:1;grid-row:1}.home-layout--with-side .home-nav{grid-column:1;grid-row:2}.home-layout--with-side .home-layout__main{grid-column:1;grid-row:3}.home-nav{position:static}.home-nav__toggle{display:inline-block;padding:6px 14px;font:inherit}.home-nav__links{display:none;margin-top:8px}.home-nav--open .home-nav__links{display:block}}.app-chrome .app-chrome__title.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.student-badge{--size: 1.6rem;display:inline-grid;place-items:center;flex:0 0 auto;width:var(--size);height:var(--size);border-radius:50%;background:var(--student-color, #60a5fa);color:var(--on-bright);font-size:calc(var(--size)*.55);font-weight:700;line-height:1;text-shadow:none;vertical-align:middle}.student-badge--small{--size: 1.4em;margin-right:.3em;font-size:.6em}.app-chrome__account .app-account__name{display:flex;align-items:center;justify-content:flex-end;gap:.35em}.app-account__label{min-width:0}.student-badge--corner{font-size:.62em;--size: 1.75em}.student-badge--medium{--size: 2.6rem}.student-badge--large{--size: 4.5rem}.app-menu__students{display:grid;gap:2px;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid var(--grid)}.app-menu__panel .app-menu__student{display:flex;align-items:center}.app-menu__panel .app-menu__student .student-badge--small{font-size:.75em;--size: 1.5em}.app-menu__panel .app-menu__student[aria-current=true]{color:var(--accent)}.learners{display:grid;justify-items:center;gap:1.5rem;padding-top:2rem}.learners__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.learners__form{margin:0}.learners__choice{display:grid;justify-items:center;gap:.5rem;width:8rem;padding:1rem .5rem;background:rgba(0,0,0,0);color:var(--ink);border:1px solid rgba(0,0,0,0);border-radius:14px;font:inherit;cursor:pointer}.learners__choice:hover{background:var(--panel);border-color:var(--grid)}.learners__choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.learners__name{font-size:1.1rem;font-weight:600;overflow-wrap:anywhere}.learners__manage{color:var(--muted);font-size:.85rem}.students__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.students__row{display:flex;align-items:center;gap:10px;padding:6px 0}.students__who{display:grid;gap:1px;min-width:0}.students .students__name{color:var(--ink);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.students .students__name:hover{text-decoration:underline}.students__meta{color:var(--muted);font-size:.8rem}.students__edit{margin-left:auto}.students__about{display:flex;align-items:center;gap:10px;margin:0}.students__actions{display:flex;gap:16px;margin:4px 0 0}.students .students__danger-link{color:var(--miss-strong)}.students__names{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.students__names dt{color:var(--muted)}.students__names dd{margin:0}.students__feedback{list-style:none;margin:0;padding:0;display:grid;gap:8px}.students__feedback li{display:grid;gap:2px}.students__warning{border:1px solid var(--danger-line-deep);border-radius:10px;padding:10px 14px;background:var(--danger-well)}.students__warning p{margin:0 0 6px}.students__warning ul{margin:0 0 6px;padding-left:1.2rem}.sheet__form .students__confirm{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:.9rem}.students__confirm input{margin-top:3px}.students__heading{margin:12px 0 0;font-size:1rem}.student-pick{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0}.student-pick legend{color:var(--muted);font-size:.82rem;margin-bottom:4px;padding:0}.sheet__form .student-pick__swatch{display:block;cursor:pointer}.student-pick__input{position:absolute;opacity:0;pointer-events:none}.student-pick__color,.student-pick__emoji{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:2px solid rgba(0,0,0,0)}.student-pick__color{background:var(--student-color)}.student-pick__emoji{font-size:1.1rem;background:var(--field)}.student-pick__emoji--none{font-size:.75rem;color:var(--muted)}.student-pick__input:checked+span{border-color:var(--ink)}.student-pick__input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.students__remove{justify-self:start;background:rgba(0,0,0,0);color:var(--miss-strong);border:1px solid var(--danger-line-deep);border-radius:8px;padding:6px 10px;font:inherit;cursor:pointer}.students__remove:hover{background:var(--danger-hover)}.compass{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.compass [hidden]{display:none !important}.compass__canvas{flex:1;width:100%;min-height:0;display:block;border:1px solid var(--grid);border-radius:12px;cursor:crosshair;touch-action:none}.compass__controls{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.compass__controls select,.compass__controls button,.compass__menu>summary{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.compass__controls select:hover,.compass__controls button:hover,.compass__menu>summary:hover,.compass__menu[open]>summary{background:var(--button-hover)}.compass__controls button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.compass__controls button:disabled{opacity:.45;cursor:default}.compass__locking{display:inline-flex;gap:8px;align-items:center}.compass__controls label{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:.88rem}[data-control=radius] input{width:6rem;background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font:inherit}[data-control=radius] input[aria-invalid=true]{border-color:var(--danger-line)}[data-control=radius] input[readonly]{opacity:.7}.compass__menu{position:relative}.compass__menu>summary{list-style:none;user-select:none}.compass__menu>summary::-webkit-details-marker{display:none}.compass__menu>summary::after{content:" ▾";color:var(--muted)}.compass__menu-items{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px;background:var(--panel);border:1px solid var(--grid);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.45);white-space:nowrap}.compass__notice{color:var(--muted);font-size:.88rem}.compass__notice:empty{display:none}.compass--preview{pointer-events:none}.compass--preview .compass__canvas{flex:none;aspect-ratio:1100/560;height:auto;border:0;border-radius:8px}.compass__start{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:.88rem}.compass__signin,.compass__menu-link{color:var(--accent);text-decoration:none;font-size:.88rem}.compass__menu-link{padding:4px 2px}.compass__puzzle{display:flex;flex-direction:column;gap:6px;padding-top:6px}.compass__puzzle[hidden]{display:none}.compass__puzzle-controls{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.compass__puzzle-info{margin:0;font-size:.95rem}.compass__puzzle-key{display:inline-flex;gap:4px;align-items:center;font-size:.9rem}.compass__swatch{display:inline-block;width:14px;height:14px;border-radius:3px}.compass__swatch--piece{background:rgba(231,111,81,.6);border:1px solid #c4502f}.compass__swatch--target{background:rgba(42,157,143,.5);border:1px solid #1f7a6f;margin-left:6px}.compass--making .compass__controls [data-tool][aria-pressed=true]{border-color:var(--line);color:var(--ink)}.compass__puzzle{flex:none}.app-shell--tool .compass__puzzle{grid-column:1/-1;grid-row:3;max-height:48vh;overflow-y:auto}.compass__swatch--in-place{background:rgba(138,111,209,.6);border:1px solid #5f45a8;margin-left:6px}.compass__puzzle button,.compass__play .dissection__controls button{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.compass__puzzle button:hover{background:var(--button-hover)}.compass__puzzle button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.compass__puzzle button:disabled{opacity:.45;cursor:default}.compass__puzzle a{color:var(--accent)}.compass__puzzle-info,.compass__puzzle-key{color:var(--ink)}.compass__play-area{display:flex;min-height:0;flex:1}.app-shell--tool .compass__play-area{grid-column:1/-1;grid-row:2;height:100%;align-self:stretch}.compass__play{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.compass__play .dissection__canvas{flex:1;min-height:0}.compass__play .dissection__controls{color:var(--ink)}.compass__play button:hover{background:var(--button-hover)}.compass__play button:disabled{opacity:.45;cursor:default}.compass__play .compass__play-back{border-color:var(--accent);color:var(--accent)}.compass__exercise{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 10px;font-size:.95rem}.compass__exercise[hidden]{display:none}.compass__prompt{font-weight:600}.compass__status:empty{display:none}.dissection{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.dissection [hidden]{display:none !important}.dissection__canvas{flex:1;width:100%;min-height:0;display:block;background:#fff;border:1px solid var(--grid);border-radius:12px;touch-action:none}.dissection__canvas:focus-visible{outline:2px solid var(--accent)}.dissection__controls{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.dissection__controls button,.dissection__controls select,.dissection__menu>summary{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.dissection__controls button:hover,.dissection__menu>summary:hover,.dissection__menu[open]>summary{background:var(--button-hover)}.dissection__controls button:disabled{opacity:.45;cursor:default}.dissection__controls label{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:.88rem}.dissection__menu{position:relative}.dissection__menu>summary{list-style:none;user-select:none}.dissection__menu>summary::-webkit-details-marker{display:none}.dissection__menu>summary::after{content:" ▾";color:var(--muted)}.dissection__menu-items{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px;background:var(--panel);border:1px solid var(--grid);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.45);white-space:nowrap}.dissection__menu-link{color:var(--accent);text-decoration:none;font-size:.88rem;padding:4px 2px}.dissection__notice{color:var(--muted);font-size:.88rem}.dissection__notice:empty,.dissection__status:empty{display:none}.dissection__status{margin-left:auto;color:var(--accent);font-weight:650}.dissection__moves{color:var(--muted);font-size:.88rem;font-variant-numeric:tabular-nums}.dissection__status:empty+.dissection__moves{margin-left:auto}.dissection--preview{pointer-events:none}.dissection--preview .dissection__canvas{flex:none;aspect-ratio:1100/560;height:auto;border:0;border-radius:8px}.dissection__puzzle{min-width:0;max-width:100%}.dissection__puzzle select{min-width:0;max-width:100%}.dissection__credit{margin:4px 2px 0;color:var(--muted);font-size:.78rem;font-style:italic;opacity:.8}.dissection__note{color:var(--ink);font-size:.9rem;line-height:1.45}.dissection__note>summary{cursor:pointer;color:var(--muted);font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}.dissection__note-title{font-size:1rem;margin:0 0 6px}.dissection__note-body p{margin:0 0 8px}.dissection__idea{margin:4px 0 10px;padding:6px 8px;border:1px solid var(--grid);border-radius:8px}.dissection__idea>summary{cursor:pointer;color:var(--muted);font-size:.85rem}.dissection__idea[open]>summary{margin-bottom:4px}.dissection__idea p{margin:0}.dissection__note-source{color:var(--muted);font-size:.78rem;font-style:italic}.dissection__note-source a{color:inherit}.plotter{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px, 380px) 1fr;gap:14px}.plotter__side{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.plotter__heading{margin:4px 0 0;font-size:.95rem}.plotter__hint{margin:0;color:var(--muted);font-size:.85rem}.plotter__functions{list-style:none;margin:0;padding:0;display:grid;gap:8px}.plotter__function{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px 8px;background:var(--panel);border:1px solid var(--grid);border-radius:10px;padding:8px}.plotter__color{width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer}.plotter__formula{display:flex;align-items:center;gap:6px;min-width:0}.plotter__formula span{color:var(--muted);white-space:nowrap}.plotter__formula input,.plotter__sequence input{min-width:0;width:100%;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit}.plotter__formula input[aria-invalid=true]{border-color:var(--danger-line)}.plotter__show{color:var(--muted);font-size:.82rem;display:inline-flex;gap:4px;align-items:center}.plotter__value{grid-column:2/-1;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.plotter__value:empty{display:none}.plotter__error{grid-column:1/-1;margin:0;color:var(--miss);font-size:.85rem}.plotter__button,.plotter__remove{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.plotter__button:hover,.plotter__remove:hover{background:var(--button-hover)}.plotter__remove{padding:2px 8px}.plotter__side>.plotter__button{justify-self:start;align-self:flex-start}.plotter__help{color:var(--muted);font-size:.85rem}.plotter__help summary{cursor:pointer}.plotter__help ul{margin:6px 0 0;padding-left:18px}.plotter__help code{color:var(--code)}.plotter__sequence{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.plotter__sequence label{display:inline-flex;gap:4px;align-items:center;color:var(--muted);font-size:.85rem}.plotter__sequence input{width:5.5em}.plotter__table-actions{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.plotter__notice{color:var(--muted);font-size:.85rem}.plotter__table-wrap{overflow:auto;max-height:40vh;border:1px solid var(--grid);border-radius:10px}.plotter__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.9rem}.plotter__table th,.plotter__table td{padding:4px 8px;text-align:right;border-bottom:1px solid var(--grid)}.plotter__table th{position:sticky;top:0;background:var(--panel);font-weight:600}.plotter__table tbody:empty::after{content:"No points yet.";display:block;padding:8px;color:var(--muted)}.plotter__graph{display:flex;flex-direction:column;gap:6px;min-height:0}.plotter__graph-bar{display:flex;gap:8px;align-items:center;justify-content:space-between}.plotter__readout{margin:0;color:var(--muted);font-size:.88rem;font-variant-numeric:tabular-nums}.plotter__canvas{flex:1;width:100%;height:0;min-height:320px;display:block;background:#fff;border:1px solid var(--grid);border-radius:12px;touch-action:none;cursor:crosshair}@media(max-width: 760px){.plotter{grid-template-columns:1fr}.plotter__graph{order:-1}.plotter__canvas{height:60vh;min-height:0;flex:none}.plotter__side{overflow:visible}}.app-shell--tool .tool-page>.plotter.plotter{display:grid;grid-column:1/-1;grid-row:2;align-self:stretch;height:100%}@media(max-width: 760px){.app-shell--tool.app-shell:has(.plotter){height:auto;overflow:visible}.app-shell--tool.app-shell:has(.plotter) .app-main{height:auto;overflow:visible;grid-template-rows:auto auto}.app-shell--tool .tool-page>.plotter.plotter{height:auto}}.plotter__save{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.88rem}.plotter__save a{color:var(--accent);text-decoration:none}.plotter__line{grid-column:1/-1;margin:0;color:var(--muted);font-size:.85rem}.plotter__graph-bar{flex-wrap:wrap}.plotter__crossings{margin:0;flex-basis:100%;color:var(--ink);font-size:.85rem}.plotter__guess{margin:8px 0}.plotter__guess>summary{cursor:pointer;font-weight:600}.plotter__guess-table{width:auto;margin:6px 0}.plotter__guess-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.plotter__guess-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.plotter__guess-result{margin:6px 0 0;min-height:1.2em;font-size:.9rem}.plotter__guess-result[data-kind=right]{color:var(--ok);font-weight:600}.plotter__guess-result[data-kind=wrong]{color:var(--miss-strong)}.plotter__guess-result[data-kind=close]{color:var(--gold)}.unit-circle-tool__group{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;padding:2px 8px 4px;border:1px solid var(--line);border-radius:6px}.unit-circle-tool__group legend{padding:0 4px;color:var(--muted);font-size:.8rem}.unit-circle-tool__group label,.unit-circle-tool__option{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.unit-circle-tool__group label input,.unit-circle-tool__option input{accent-color:var(--accent)}.unit-circle-tool__stage{grid-column:1/-1;grid-row:2;display:flex;gap:0;width:100%;height:100%;min-width:0;min-height:0;align-self:stretch}.unit-circle-tool__circle{flex:1 1 auto;width:auto;height:100%;min-width:0;min-height:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.unit-circle-tool__circle:not([grid-theme]){--uc-bg: var(--field);--uc-minor: var(--grid);--uc-major: var(--line);--uc-axis: var(--muted);--uc-text: var(--ink);--uc-circle: var(--ink);--uc-panel: color-mix(in srgb, var(--panel) 90%, transparent);--uc-hyp: #c084fc;--uc-cos: #60a5fa;--uc-sin: #f87171;--uc-tan: #4ade80;--uc-arc: #fb923c}html[data-theme=light] .unit-circle-tool__circle:not([grid-theme]){--uc-minor: #d6e4ef;--uc-major: #9fbbd3;--uc-hyp: #7b2cbf;--uc-cos: #1f77b4;--uc-sin: #d62728;--uc-tan: #2ca02c;--uc-arc: #ff7f0e}.unit-circle-tool__settings{width:fit-content;max-width:95vw;height:fit-content;max-height:90dvh;margin:auto;overflow:auto;box-sizing:border-box;padding:14px 18px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:10px}.unit-circle-tool__settings::backdrop{background:rgba(0,0,0,.5)}.unit-circle-tool__settings:focus{outline:none}.unit-circle-tool__settings h2{margin:0;font-size:1.1rem}.unit-circle-tool__settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.unit-circle-tool__close{background:none;border:0;padding:2px 4px;font:inherit;font-size:.9rem;color:var(--muted);border-radius:4px;cursor:pointer}.unit-circle-tool__close:focus{outline:none}.unit-circle-tool__close:hover,.unit-circle-tool__close:focus-visible{color:var(--ink);text-decoration:underline}.unit-circle-tool__settings-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px}.unit-circle-tool__settings .unit-circle-tool__group{flex-direction:column;align-items:flex-start;flex:0 0 auto;width:max-content;max-width:100%;box-sizing:border-box}.unit-circle-tool__toggle{font:inherit;font-size:.9rem;padding:4px 10px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;cursor:pointer}.unit-circle-tool__toggle span{display:inline-block;transition:transform .15s}.unit-circle-tool__toggle[aria-expanded=true] span{transform:rotate(180deg)}.unit-circle-tool__sidebar{flex:0 0 auto;width:var(--uc-sidebar-width, min(42rem, 45%));min-width:14rem;max-width:calc(100% - 16rem);display:flex;flex-direction:column;gap:8px;min-height:0;padding:8px;box-sizing:border-box;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px}.unit-circle-tool__sidebar[hidden]{display:none}.unit-circle-tool__sidebar-actions{display:flex;gap:6px}.unit-circle-tool__sidebar-actions button{font:inherit;font-size:.85rem;padding:3px 10px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;cursor:pointer}.unit-circle-tool__table-wrap{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:auto;container-type:inline-size}.unit-circle-tool__splitter{flex:0 0 10px;align-self:stretch;cursor:col-resize;touch-action:none;position:relative;border-radius:4px;background:color-mix(in srgb, var(--line) 35%, transparent)}.unit-circle-tool__splitter::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:36px;transform:translate(-50%, -50%);background:radial-gradient(circle, var(--muted) 1.5px, transparent 2px) center/4px 7px repeat-y}.unit-circle-tool__splitter:hover,.unit-circle-tool__splitter:focus-visible,.unit-circle-tool__splitter.is-dragging{background:color-mix(in srgb, var(--accent, #4a90d9) 25%, transparent);outline:none}.unit-circle-tool__splitter[hidden]{display:none}.unit-circle-tool--resizing{cursor:col-resize;user-select:none}.unit-circle-tool__table{width:100%;border-collapse:separate;border-spacing:0;font-size:calc(clamp(.62rem,2.1cqi,.85rem)*var(--uc-label-scale, 1));font-variant-numeric:tabular-nums}.unit-circle-tool__table th,.unit-circle-tool__table td{padding:2px clamp(1px,.6cqi,6px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:right}.unit-circle-tool__table td{white-space:nowrap}.unit-circle-tool__table thead{position:sticky;top:0;z-index:1}.unit-circle-tool__table thead th{background:var(--panel);text-align:center;white-space:normal;overflow-wrap:anywhere;border-top:1px solid var(--line)}.unit-circle-tool__table thead tr:nth-child(2) th{border-top:0;color:var(--muted);font-weight:500}.unit-circle-tool__table tr>:first-child{border-left:1px solid var(--line)}.unit-circle-tool__table .unit-circle-tool__row{cursor:pointer}.unit-circle-tool__table .unit-circle-tool__row:hover{background:color-mix(in srgb, var(--accent, #4a90d9) 12%, transparent)}.unit-circle-tool__table .unit-circle-tool__row:focus-visible{outline:2px solid var(--accent, #4a90d9);outline-offset:-2px}.unit-circle-tool__table .unit-circle-tool__row[aria-selected=true]{background:color-mix(in srgb, var(--accent, #4a90d9) 28%, transparent);font-weight:600}.unit-circle-tool__table .unit-circle-tool__row--blank td[data-given]{font-weight:600}.unit-circle-tool__table .unit-circle-tool__row--blank td:not([data-given]){color:rgba(0,0,0,0)}.unit-circle-tool__table td button{background:none;border:0;color:var(--muted);cursor:pointer}.unit-circle-tool__table .unit-circle-tool__empty{text-align:center;color:var(--muted);white-space:normal}@media(max-width: 700px){.unit-circle-tool__stage{flex-direction:column;gap:8px}.unit-circle-tool__sidebar{width:auto;max-width:none;min-width:0;max-height:45%}.unit-circle-tool__splitter{display:none}.unit-circle-tool__circle{flex:1 1 0;height:auto}}.unit-circle-tool__icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--ink);background:var(--panel);border:1px solid #888;border-radius:6px;cursor:pointer}.unit-circle-tool__icon:focus-visible{outline:3px solid var(--accent, #4a90d9)}.unit-circle-tool__icon[aria-pressed=true]{background:color-mix(in srgb, var(--accent, #4a90d9) 25%, var(--panel))}.unit-circle-tool__position form{display:grid;gap:.75rem;min-width:16rem}.unit-circle-tool__position h2{margin:0;font-size:1.1rem}.unit-circle-tool__position [data-position-section]{display:grid;gap:.5rem}.unit-circle-tool__position [data-position-section][hidden]{display:none}.unit-circle-tool__position fieldset{display:flex;gap:1rem;border:0;padding:0;margin:0}.unit-circle-tool__position input[type=text]{width:8em}.unit-circle-tool__position-error{margin:0;min-height:1.2em;color:#d62728;font-weight:600}.area-observer{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px, 380px) 1fr;gap:14px}.area-observer [hidden]{display:none !important}.area-observer__side{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.area-observer__hint,.area-observer__note,.area-observer__way{color:var(--muted)}.area-observer__hint,.area-observer__note{margin:0;font-size:.85rem}.area-observer__note:empty{display:none}.area-observer__way{font-weight:450;font-size:.85rem}.area-observer__button{justify-self:start;align-self:flex-start;background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.area-observer__button:hover{background:var(--button-hover)}.area-observer__ruler{margin:0;min-width:0;display:grid;gap:8px;background:var(--panel);border:1px solid var(--grid);border-radius:10px;padding:8px 10px 10px}.area-observer__ruler legend{padding:0 4px;font-weight:650}.area-observer__marking{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.area-observer__lines-label{margin:0;font-weight:650}.area-observer__remove{background:rgba(0,0,0,0);color:var(--muted);border:none;padding:2px 0;font:inherit;font-size:.85rem;cursor:pointer}.area-observer__remove:hover{color:var(--ink)}.area-observer__button:disabled{opacity:.45;cursor:default}.area-observer__marking label{display:inline-flex;gap:4px;align-items:center}.area-observer__step{display:inline-flex;gap:4px;align-items:center}.area-observer__step input,.area-observer__marks textarea{min-width:0;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:4px 6px;font:inherit}.area-observer__step input{width:4.2em}.area-observer__step input[aria-invalid=true],.area-observer__marks textarea[aria-invalid=true]{border-color:var(--danger-line)}.area-observer__marks{display:grid;gap:4px}.area-observer__marks textarea{width:100%;resize:vertical}.area-observer__error{margin:0;color:var(--miss);font-size:.85rem}.area-observer__error:empty{display:none}.area-observer__stage{display:flex;flex-direction:column;gap:6px;min-height:0}.area-observer__readout{margin:0;color:var(--muted);font-size:.88rem;font-variant-numeric:tabular-nums}.area-observer__canvas{flex:1;width:100%;height:0;min-height:320px;display:block;background:#fff;border:1px solid var(--grid);border-radius:12px;touch-action:none;cursor:crosshair}@media(max-width: 760px){.area-observer{grid-template-columns:1fr}.area-observer__stage{order:-1}.area-observer__canvas{height:60vh;min-height:0;flex:none}.area-observer__side{overflow:visible}}.app-shell--tool .tool-page>.area-observer.area-observer{display:grid;grid-column:1/-1;grid-row:2;align-self:stretch;height:100%}@media(max-width: 760px){.app-shell--tool.app-shell:has(.area-observer){height:auto;overflow:visible}.app-shell--tool.app-shell:has(.area-observer) .app-main{height:auto;overflow:visible;grid-template-rows:auto auto}.app-shell--tool .tool-page>.area-observer.area-observer{height:auto}}.area{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.area [hidden]{display:none !important}.area__controls{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.area__controls button{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.area__controls button:hover{background:var(--button-hover)}.area__status{margin-left:auto;color:var(--accent);font-weight:650}.area__status:empty{display:none}.area__paper{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;padding:1em;background:#fff;color:#222;border:1px solid var(--grid);border-radius:12px;font-size:clamp(1.25rem,4.5vmin,2.6rem)}.area-diagram__grid{border-collapse:collapse;font-size:1em}.area-diagram__grid th,.area-diagram__grid td{min-width:2.5em;height:2.4em;padding:.1em .3em}.area-diagram__area{border:2px solid #444}.area-diagram__across{font-weight:600;vertical-align:bottom}.area-diagram__down{font-weight:600;text-align:right}.area-diagram__input{font:inherit;width:4em;padding:.05em .15em;box-sizing:border-box;color:#222;background:#fff;border:1px solid #aaa;border-radius:4px}.area-diagram__input:focus-visible{outline:2px solid #0284c7;outline-offset:1px}.area-diagram__math{font-size:1em;min-width:6em;padding:0 .15em;border:1px solid #aaa;border-radius:4px}[data-state=correct]>.area-diagram__input,[data-state=correct]>math-field{border-color:#2a7a2a;background:#eaf7ea}[data-state=incorrect]>.area-diagram__input,[data-state=incorrect]>math-field{border-color:#b33;background:#fbeaea}.area-diagram__total{font-size:1em;margin:.6em 0 0;text-align:center}.area-diagram__math-static{display:inline-block;font-size:1em;border:none;background:rgba(0,0,0,0)}.area-diagram__math::part(menu-toggle),.area-diagram__math::part(virtual-keyboard-toggle),.area-diagram__math-static::part(menu-toggle),.area-diagram__math-static::part(virtual-keyboard-toggle){display:none}.area-diagram__keyboard{padding:0 .3rem;font-size:1.1rem;line-height:1.6rem;border:1px solid #aaa;border-radius:4px;background:#fff;color:#446;cursor:pointer}.area-diagram__keyboard[hidden]{display:none}.area-diagram{--ad-align: center;--ad-justify: center}.area-diagram[data-align=left]{--ad-align: left;--ad-justify: flex-start}.area-diagram[data-align=right]{--ad-align: right;--ad-justify: flex-end}.area-diagram__grid th,.area-diagram__grid td,.area-diagram__input{text-align:var(--ad-align)}.area-diagram__math::part(content),.area-diagram__math-static::part(content){justify-content:var(--ad-justify);text-align:var(--ad-align)}[data-size=content]>.area-diagram__math,[data-size=expected]>.area-diagram__math{min-width:2em;display:inline-block}[data-size=content]>.area-diagram__math{width:auto}.area-diagram__math::part(container){min-height:0}.area--preview{pointer-events:none}.area--preview .area__paper{flex:none;aspect-ratio:1100/560;padding:.4em;border:0;border-radius:8px;font-size:.85rem}.abacus{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.abacus [hidden]{display:none !important}.abacus__canvas{flex:1;width:100%;min-height:0;display:block;background:var(--panel);border:1px solid var(--grid);border-radius:12px;touch-action:manipulation}.abacus__canvas:focus-visible{outline:2px solid var(--accent)}.abacus__controls{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.abacus__controls button{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.abacus__controls button:hover{background:var(--button-hover)}.abacus__readout{margin-left:auto;color:var(--ink);font-size:1.15rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.abacus__readout:empty{display:none}.abacus--preview{pointer-events:none}.abacus--preview .abacus__canvas{flex:none;aspect-ratio:1100/560;height:auto;border:0;border-radius:8px}.abacus--preview .abacus__readout{margin:0;text-align:center;font-size:.95rem}.trebuchet{isolation:isolate;display:flex;flex-direction:column;flex:1;min-height:0;--panel-width: 19rem;--line: #2a3650;--panel: #0b1222;--button: #1d2942;--button-hover: #2a3958;--border: #7f8cab;--accent: #d9a441;--accent-hover: #e8b65a;--accent-text: #1a1206;--tint-shot: #3b4a6b;--tint-tower: #5a4630;--tint-look: #3d3a5c;--tint-view: #2f4f4f;--tint-next: #34493a;--next-ready: #1f9e3f;--next-glow: #5fdc7a;background:#060b1a;color:#e5e7eb;color-scheme:dark;border-radius:8px;overflow:hidden}.trebuchet[data-theme=day]{--line: #d4d7dd;--panel: #fafafa;--button: #e9ecf1;--button-hover: #dde2ea;--border: #5b6475;--accent: #b4561c;--accent-hover: #c8642a;--accent-text: #fff;--tint-shot: #dfe6f2;--tint-tower: #efe4d4;--tint-look: #e6e2f1;--tint-view: #dcebe8;--tint-next: #e0eedf;--next-ready: #22a845;--next-glow: #3fc25e;background:#fff;color:#1f2937;color-scheme:light}.trebuchet [hidden]{display:none !important}.trebuchet button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font:inherit;padding:.4rem .7rem;border:1px solid var(--border);border-radius:.4rem;background:var(--button);color:inherit;font-weight:500;cursor:pointer}.trebuchet button:hover:not(:disabled){background:var(--button-hover)}.trebuchet button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.trebuchet button:disabled{opacity:.5;cursor:default}.trebuchet .trebuchet__launch{font-weight:700;background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.trebuchet .trebuchet__launch:hover:not(:disabled){background:var(--accent-hover)}.trebuchet__icon{width:1.05em;height:1.05em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.trebuchet .trebuchet__sun{display:none}.trebuchet[data-theme=night] .trebuchet__sun{display:inline}.trebuchet[data-theme=night] .trebuchet__moon{display:none}.trebuchet__body{position:relative;flex:1;min-height:0;display:flex;overflow:hidden;border-radius:8px;background:var(--panel)}.trebuchet__panel{flex:0 0 var(--panel-width);box-sizing:border-box;overflow-y:auto;padding:.75rem .9rem .85rem;display:flex;flex-direction:column;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--panel);font-size:.92rem}.trebuchet__settings{display:flex;flex-direction:column;gap:.9rem}.trebuchet__param{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:center;gap:.15rem .5rem}.trebuchet__param>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trebuchet__value{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.trebuchet__value>input{box-sizing:border-box;width:4.6rem;padding:.15rem .25rem;font:inherit;font-size:.9rem;font-variant-numeric:tabular-nums;text-align:right;color:inherit;background:var(--button);border:1px solid var(--line);border-radius:.3rem;-moz-appearance:textfield;appearance:textfield}.trebuchet__value>input:hover{border-color:var(--border)}.trebuchet__value>input:focus{outline:none;border-color:#c4a574}.trebuchet__value>input::-webkit-outer-spin-button,.trebuchet__value>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.trebuchet__unit{width:1.2rem;opacity:.7;font-size:.85rem}.trebuchet .trebuchet__nudge{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;min-height:0;padding:0;font-size:1rem;line-height:1;flex:none;touch-action:manipulation}.trebuchet__param>input{grid-column:1/-1;width:100%;margin:.2rem 0 0;accent-color:#c4a574}.trebuchet__check{display:flex;gap:.4rem;align-items:center;cursor:pointer}.trebuchet__check>input{margin:0;accent-color:#c4a574}.trebuchet[data-theme=day] :is(.trebuchet__param,.trebuchet__check)>input{accent-color:#b4561c}.trebuchet__actions{display:flex;flex-direction:column;gap:.35rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}.trebuchet__row{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;align-items:center}.trebuchet__actions .trebuchet__row--look{grid-template-columns:minmax(0, 1fr) auto}.trebuchet__row>button{width:100%;min-width:0;padding-left:.3rem;padding-right:.3rem;white-space:nowrap}.trebuchet__row>.trebuchet__check{display:inline-flex;justify-content:flex-start;padding:.3rem .4rem;white-space:nowrap}.trebuchet [data-control=reload]{background:var(--tint-shot)}.trebuchet [data-control=rebuild]{background:var(--tint-tower)}.trebuchet [data-control=newTarget]{background:var(--tint-next)}.trebuchet__row--look>button,.trebuchet__row--look>.trebuchet__check{background:var(--tint-look);border-radius:.4rem}.trebuchet__row--look>.trebuchet__check{border:1px solid var(--line)}.trebuchet__row--look>[data-control=units]{width:auto;padding:.3rem .45rem}.trebuchet .trebuchet__row--look>[data-control=units][aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.trebuchet .trebuchet__row--look>[data-control=units][aria-pressed=true]:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);filter:none}.trebuchet .trebuchet__theme{position:absolute;z-index:4;top:.5rem;left:.5rem;touch-action:manipulation;background:var(--tint-look);box-shadow:0 1px 3px rgba(0,0,0,.35)}.trebuchet__dock{position:absolute;z-index:4;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:end;gap:.4rem .5rem;box-sizing:border-box;padding:.5rem .55rem calc(.5rem + env(safe-area-inset-bottom, 0px));pointer-events:none}.trebuchet__dock-actions,.trebuchet__views{pointer-events:auto}.trebuchet__dock-actions{display:flex;flex-wrap:wrap-reverse;align-items:flex-start;gap:.35rem;min-width:0}.trebuchet__dock-actions>button{flex:none;touch-action:manipulation}@media(min-width: 641px){.trebuchet[data-panel=open] .trebuchet__dock{left:var(--panel-width)}}.trebuchet__views{width:max-content;max-width:100%;display:flex;gap:.3rem;margin:0;padding:.3rem .5rem .5rem;border:1px solid var(--border);border-radius:.4rem;min-width:0;box-sizing:border-box;justify-self:end;background:color-mix(in srgb, var(--tint-view) 45%, transparent)}.trebuchet__dock .trebuchet__views{background:color-mix(in srgb, var(--panel) 88%, var(--tint-view))}.trebuchet__dock-actions>button,.trebuchet__dock .trebuchet__views{box-shadow:0 1px 3px rgba(0,0,0,.35)}.trebuchet__views>legend{padding:0 .3rem;font-size:.8rem;font-weight:600;background:var(--panel);border-radius:.2rem}.trebuchet__views>button{flex:0 0 auto;flex-direction:column;gap:.1rem;min-width:0;padding:.38rem .2rem;font-size:.78rem;white-space:nowrap;touch-action:manipulation;background:var(--tint-view)}.trebuchet__views .trebuchet__icon{width:1.2em;height:1.2em}.trebuchet :is(.trebuchet__row,.trebuchet__views,.trebuchet__dock-actions)>button:hover:not(:disabled),.trebuchet__theme:hover:not(:disabled){filter:brightness(1.12)}.trebuchet[data-theme=day] :is(.trebuchet__row,.trebuchet__views,.trebuchet__dock-actions)>button:hover:not(:disabled),.trebuchet[data-theme=day] .trebuchet__theme:hover:not(:disabled){filter:brightness(0.95)}.trebuchet[data-next=ready] [data-control=newTarget]{background:var(--next-ready);color:#fff;border-color:var(--next-glow);font-weight:600;box-shadow:0 0 6px 0 var(--next-glow);animation:trebuchet-next-pulse 3s ease-in-out infinite}@keyframes trebuchet-next-pulse{50%{box-shadow:0 0 10px 1px var(--next-glow)}}@media(prefers-reduced-motion: reduce){.trebuchet[data-next=ready] [data-control=newTarget]{animation:none}}.trebuchet__stage{position:relative;z-index:0;flex:1;min-width:0;min-height:0;display:flex}.trebuchet__canvas{flex:1;min-width:0;min-height:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.trebuchet__canvas.is-dragging{cursor:grabbing}.trebuchet__sky{position:absolute;top:.6rem;left:50%;z-index:2;transform:translateX(-50%);max-width:calc(100% - 12.5rem);display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .8rem;border-radius:.5rem;text-align:center;pointer-events:none;background:rgba(6,11,26,.55);color:#f3f4f6;text-shadow:0 1px 2px rgba(0,0,0,.6)}.trebuchet[data-theme=day] .trebuchet__sky{background:rgba(255,255,255,.72);color:#1f2937;text-shadow:none}.trebuchet__sky:not(:has(:not(:empty))){display:none}.trebuchet__status{font-weight:600;font-size:1.05rem}.trebuchet__readout{opacity:.8;font-size:.85rem;font-variant-numeric:tabular-nums}.trebuchet__status:empty,.trebuchet__readout:empty{display:none}@media(max-width: 640px){.trebuchet__body{display:grid;grid-template-rows:minmax(0, 1fr) auto;grid-template-columns:minmax(0, 1fr)}.trebuchet__stage{grid-row:1/-1;grid-column:1}.trebuchet__dock{position:relative;grid-row:2;grid-column:1;left:auto;right:auto;bottom:auto;gap:.3rem;padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom, 0px));container-type:inline-size}.trebuchet__dock-actions{gap:.3rem}.trebuchet__dock-actions>button,.trebuchet__theme{padding:.35rem .5rem}.trebuchet__views{gap:.2rem;padding:.15rem .25rem .2rem;position:relative}.trebuchet__views>legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.trebuchet__views>button{font-size:.68rem;padding:.15rem .12rem}.trebuchet__dock-actions>button:is([data-control=reload],[data-control=rebuild],[data-control=newTarget])>span,.trebuchet__views>button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.trebuchet__dock-actions>button:is([data-control=reload],[data-control=rebuild],[data-control=newTarget]),.trebuchet__views>button{width:2.75rem;padding-left:0;padding-right:0}.trebuchet__dock-actions>button:is([data-control=reload],[data-control=rebuild],[data-control=newTarget]) .trebuchet__icon,.trebuchet__views .trebuchet__icon{width:1.25rem;height:1.25rem}.trebuchet:not([data-panel=open]) .trebuchet__panel{display:none}.trebuchet[data-panel=open] .trebuchet__panel{grid-row:1;grid-column:1;z-index:3;position:relative;justify-self:stretch;width:auto;max-height:none;min-height:0;border-right:0;border-bottom:0}.trebuchet[data-panel=open] .trebuchet__dock{background:var(--panel);border-top:1px solid var(--line);pointer-events:auto}.trebuchet[data-panel=open] .trebuchet__views{display:none}.trebuchet__dock-actions>button,.trebuchet__views>button,.trebuchet__theme{min-height:2.75rem}}@media(max-height: 560px){.trebuchet__panel{padding:.3rem .45rem .35rem}.trebuchet__settings{gap:.2rem}.trebuchet__actions{margin-top:.25rem;padding-top:.25rem}.trebuchet__param{display:flex;flex-wrap:nowrap;align-items:center;gap:.25rem}.trebuchet__param>span:first-child{flex:1 1 auto;min-width:0}.trebuchet__param>input[type=range]{display:none}.trebuchet__value{flex:none;gap:.12rem}.trebuchet .trebuchet__nudge{width:2.25rem;height:2.25rem;font-size:1.15rem}.trebuchet__value>input{width:3.5rem;padding:.1rem .15rem}.trebuchet__unit{width:1.2rem}}@media(max-height: 560px)and (orientation: landscape){.trebuchet__settings{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .4rem;align-items:start}.trebuchet__param{flex-direction:column;align-items:stretch;gap:.08rem;min-width:0}.trebuchet__param>span:first-child{flex:none}.trebuchet__value{width:100%}.trebuchet__value>input{flex:1 1 auto;width:auto;min-width:0}.trebuchet__settings>.trebuchet__check{min-width:0}}@container (max-width: 21rem){.trebuchet__dock-actions>button{padding-left:.35rem;padding-right:.35rem}.trebuchet__views>button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.trebuchet__views>button{width:1.75rem;padding-left:0;padding-right:0}.trebuchet__views .trebuchet__icon{width:1.15rem;height:1.15rem}.trebuchet__dock-actions>button:is([data-control=reload],[data-control=rebuild],[data-control=newTarget]){width:2.25rem}}.trebuchet--preview{pointer-events:none}.trebuchet--preview .trebuchet__body{flex:none;aspect-ratio:1100/560}.proof{display:grid;gap:8px}.proof:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.proof__controls{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.proof__controls button,.proof__index{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:none}.proof__controls button:hover,.proof__index:hover{background:var(--button-hover)}.proof__controls button:disabled{opacity:.45;cursor:default}.proof__counter{color:var(--muted);font-size:.88rem;font-variant-numeric:tabular-nums}.proof__stage{display:grid;grid-template-columns:minmax(0, 1fr) minmax(16rem, 26rem);gap:16px;min-height:0}.proof__figure{min-height:0;background:var(--panel);border:1px solid var(--grid);border-radius:12px;display:flex}.proof__svg{width:100%;height:100%;max-height:100%}.proof__svg text{font-family:inherit}.proof__text{overflow:auto}.proof__title{font-size:1.15rem;margin:4px 0 10px}.proof__steps{margin:0;padding-left:1.4rem;font-size:1.02rem;line-height:1.5}.proof__credit{margin-top:14px;color:var(--muted);font-size:.8rem;font-style:italic}.proof__note{margin-top:18px;padding-top:10px;border-top:1px solid var(--grid);font-size:.9rem;line-height:1.45}.proof__note>summary{cursor:pointer;color:var(--muted);font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}.proof__note p{margin:0 0 8px}.proof__note-source{color:var(--muted);font-size:.78rem;font-style:italic}.proof__note-source a{color:inherit}@media(max-width: 760px){.proof__stage{grid-template-columns:minmax(0, 1fr);grid-template-rows:minmax(0, 1fr) auto}}.proof--preview{pointer-events:none}.proof--preview .proof__stage{grid-template-columns:minmax(0, 1fr)}.proof--preview .proof__figure{aspect-ratio:4/3;border-radius:8px}.lesson-card__note{color:var(--muted);font-size:.82rem;text-align:center}.app-shell--tool.app-shell{height:100dvh;min-height:0;overflow:hidden}.app-shell--tool .app-main{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;grid-template-rows:auto minmax(0, 1fr);align-items:center;gap:6px 14px;height:100dvh;padding:6px 10px 10px;overflow:hidden}.app-shell--tool .app-chrome,.app-shell--tool .app-chrome__bar,.app-shell--tool .app-main__body,.app-shell--tool .tool-page,.app-shell--tool .tool-page>[data-controller]{display:contents}.app-shell--tool .app-chrome__bar>.site-menu{grid-column:1;grid-row:1;align-self:start;margin-top:6px}.app-shell--tool .app-wordmark{font-size:.95rem;line-height:1.2;white-space:nowrap;text-shadow:none;color:inherit;text-decoration:none}.app-shell--tool .app-wordmark br{display:none}.app-shell--tool .app-chrome__account{grid-column:3;grid-row:1;align-self:start;margin-top:6px;width:auto;max-width:none;text-shadow:none}.app-shell--tool .app-account__name,.app-shell--tool .app-chrome__sign-in{font-size:.95rem}.app-shell--tool .app-account__name{max-width:14rem}.app-shell--tool .compass__controls,.app-shell--tool .dissection__controls,.app-shell--tool .area__controls,.app-shell--tool .abacus__controls,.app-shell--tool .balance-beam__controls,.app-shell--tool .proof__controls{grid-column:2;grid-row:1;min-width:0}.app-shell--tool .compass__canvas,.app-shell--tool .dissection__canvas,.app-shell--tool .area__paper,.app-shell--tool .abacus__canvas,.app-shell--tool .trebuchet__body,.app-shell--tool .balance-beam__canvas,.app-shell--tool .proof__stage{grid-column:1/-1;grid-row:2;width:100%;height:100%;min-height:0;align-self:stretch}.app-shell--tool .balance-beam__controls{padding:0;gap:6px 12px;background:none;border:0;border-radius:0}.app-shell--tool .balance-beam__canvas{border:0;border-radius:8px}.app-shell--tool .balance-beam__stage{grid-column:1/-1;grid-row:2;width:100%;height:100%;min-height:0;align-self:stretch}.app-shell--tool .balance-beam__stage>.balance-beam__canvas{display:block;width:100%;height:100%}.app-shell--tool .balance-beam__link{color:inherit;font-size:.9rem}.tool-file{position:relative}.tool-file>summary{list-style:none;user-select:none;background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:inherit;font-size:.9rem;cursor:pointer}.tool-file>summary::-webkit-details-marker{display:none}.tool-file>summary::after{content:" ▾";color:var(--muted)}.tool-file>summary:hover,.tool-file[open]>summary{background:var(--button-hover)}.tool-file__items{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px;background:var(--panel);border:1px solid var(--grid);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.45);white-space:nowrap}.trebuchet__panel .tool-file__items{position:static;margin-top:4px;box-shadow:none}.tool-file__link{color:var(--accent);text-decoration:none;font-size:.88rem;padding:4px 2px}.tool-file__status{color:var(--muted);font-size:.88rem}.tool-file__status:empty{display:none}.diagrams-menu__list{display:flex;flex-direction:column;gap:4px;max-height:16rem;max-width:18rem;margin:0;padding:0;overflow:auto;list-style:none}.diagrams-menu__list button{max-width:18rem;overflow:hidden;text-align:left;text-overflow:ellipsis}.diagrams-menu__empty{color:var(--muted);padding:4px 2px;font-size:.88rem}.tool-page__about,.app-shell--tool .app-chrome__title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media print{.app-shell--tool:has(.compass){height:auto;overflow:visible}.app-shell--tool:has(.compass) .app-main{height:auto;overflow:visible}.app-shell--tool .compass__canvas{width:100%;height:auto;max-width:100%;align-self:start;object-fit:contain}}.app-shell--tool .dissection__credit{grid-column:1/-1;grid-row:2;align-self:end;justify-self:start;margin:0 0 8px 12px;position:relative;z-index:1;pointer-events:none}.app-shell--tool .dissection__note{grid-column:3;grid-row:2;align-self:stretch;width:17rem;min-height:0;overflow:auto;padding:2px 2px 8px}.app-shell--tool .app-main:has(.dissection__note:not([hidden])) .dissection__canvas,.app-shell--tool .app-main:has(.dissection__note:not([hidden])) .dissection__credit{grid-column:1/3}@media(max-width: 760px){.app-shell--tool .app-main:has(.dissection__note:not([hidden])){grid-template-rows:auto minmax(0, 1fr) auto}.app-shell--tool .dissection__note{grid-column:1/-1;grid-row:3;width:auto;max-height:40dvh}.app-shell--tool .app-main:has(.dissection__note:not([hidden])) .dissection__canvas,.app-shell--tool .app-main:has(.dissection__note:not([hidden])) .dissection__credit{grid-column:1/-1}}.app-shell--tool .app-chrome__account{display:flex;align-items:flex-start;gap:8px}.app-fullscreen{position:relative;flex:none}.app-fullscreen[hidden]{display:none}.app-fullscreen__button{display:grid;place-items:center;width:28px;height:28px;margin-top:-4px;padding:0;color:var(--muted);background:none;border:1px solid var(--grid);border-radius:6px;cursor:pointer}.app-fullscreen__button:hover{color:var(--ink);border-color:var(--line)}.app-fullscreen__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-fullscreen__exit{display:none}.app-fullscreen--on .app-fullscreen__enter{display:none}.app-fullscreen--on .app-fullscreen__exit{display:block}.app-fullscreen__hint{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:min(16rem,80vw);padding:10px 12px;background:var(--panel);color:var(--ink);border:1px solid var(--grid);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.4);font-size:.88rem;line-height:1.35;text-align:left}.app-fullscreen__hint[hidden]{display:none}.app-fullscreen__hint p{margin:0 0 8px}.app-fullscreen__dismiss{float:right;padding:3px 12px;color:var(--ink);background:var(--button);border:1px solid var(--line);border-radius:6px;font:inherit;cursor:pointer}.app-shell{padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px)}.app-shell--tool .app-main{height:calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))}.app-shell--tool .app-main:has(.steelyard-guess) :is(.balance-beam__canvas,.balance-beam__stage){grid-column:1/3}.app-shell--tool .steelyard-guess{grid-column:3;grid-row:2;align-self:center;justify-self:stretch;margin:0;max-width:21rem}@media(max-width: 899px)and (max-aspect-ratio: 1/1){.app-shell--tool .app-main:has(.steelyard-guess){grid-template-rows:auto minmax(0, 1fr) auto}.app-shell--tool .app-main:has(.steelyard-guess) :is(.balance-beam__canvas,.balance-beam__stage){grid-column:1/-1}.app-shell--tool .steelyard-guess{grid-column:1/-1;grid-row:3;max-width:none;padding:6px 8px}.steelyard-guess__list{gap:3px}.steelyard-guess__actions{margin-top:6px}}.steelyard-guess{padding:8px 10px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:.9rem}.steelyard-guess[hidden]{display:none}.steelyard-guess button{background:var(--button);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:3px 10px;cursor:pointer;font:inherit}.steelyard-guess button:hover:not(:disabled){background:var(--button-hover)}.steelyard-guess button:disabled{opacity:.55;cursor:default}.steelyard-guess__title{margin:0 0 6px;color:var(--muted)}.steelyard-guess__list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.steelyard-guess__form{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0}.steelyard-guess__swatch{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:3px;color:#1c1406;font-weight:600}.steelyard-guess__label{display:inline-flex;align-items:center;gap:4px}.steelyard-guess__input{width:4.2em;padding:2px 4px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;font:inherit;text-align:right}.steelyard-guess__result{min-width:6em;color:var(--muted)}.steelyard-guess__result[data-verdict=right]{color:var(--ok)}.steelyard-guess__result[data-verdict=close]{color:var(--gold)}.steelyard-guess__actions{display:flex;gap:6px;margin-top:8px}.steelyard-guess__hint{margin:8px 0 0;color:var(--muted);line-height:1.35}@media(max-height: 500px){.app-shell--tool .steelyard-guess{padding:6px 8px;max-width:17rem}.steelyard-guess__list{gap:3px}.steelyard-guess__actions{margin-top:6px}}.series-index{max-width:40rem;margin:0 auto}.series-index__summary{margin:0 0 1rem;color:var(--muted)}.series-index__lessons{display:grid;gap:10px;margin:0;padding:0;list-style:none}.series-index__lesson{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:1rem;padding:12px 14px;background:var(--panel);border:1px solid var(--grid);border-radius:12px;color:inherit;text-decoration:none}.series-index__lesson:hover{border-color:var(--accent)}.series-index__lesson:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.series-index__number,.series-index__pages{color:var(--muted);font-size:.9rem}.series-index__number{min-width:4.5em}.series-index__title{font:italic 1.4rem/1.2 "Times New Roman",Times,serif}.series-index__name{display:block;color:var(--muted);font:.9rem/1.3 system-ui,sans-serif}.series-index__name[hidden]{display:none}.series-index__lesson--coming{opacity:.55;border-style:dashed}.series-index__lesson--coming:hover{border-color:var(--grid)}.identity-write{display:contents}.lesson-page__main:has(.identity-write__work),.lesson-page__main:has(.identity-find__work){background:var(--field)}.lesson-page__main:has(.identity-write__work) .balance-beam__canvas,.lesson-page__main:has(.identity-find__work) .balance-beam__canvas{border-bottom:0}.lesson-page .lesson-page__main>.identity-write__work,.identity-write__work{max-width:none;padding:4px 0 16px}.identity-write__row{position:relative;display:flex;justify-content:center;gap:2rem;min-height:2.6em;font:italic max(1.6rem, 3.6cqi)/1.2 "Times New Roman",Times,serif}.identity-write__row.is-placed{display:block}.identity-write__blank{width:2.2em;min-height:2.2em;box-sizing:border-box;margin:0;padding:.1em;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,0);color:inherit;caret-color:var(--accent);font:inherit;text-align:center;appearance:none}.identity-write__row.is-placed .identity-write__blank{position:absolute;top:0;transform:translateX(-50%)}.identity-write__blank:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.9)}.identity-write__blank.is-correct{border-color:var(--ok);box-shadow:0 0 0 3px rgba(134,239,172,.55)}.identity-fill__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3em .4em;margin:0;font:italic clamp(1.3rem, min(3.6cqi, 5dvh), 2.6rem)/1.2 "Times New Roman",Times,serif;text-align:center}.identity-find{display:contents}.lesson-page .lesson-page__main>.identity-find__work,.identity-find__work{max-width:none;padding:4px 0 16px}.identity-find__found{display:flex;flex-wrap:wrap;justify-content:center;gap:.4em 1.4em;min-height:1.3em;margin:0;padding:0;list-style:none;font:italic clamp(1.3rem, min(3.4cqi, 5dvh), 2.4rem)/1.3 "Times New Roman",Times,serif}.identity-find__pair{color:var(--ok);border-radius:8px;padding:0 .25em;transition:background-color .3s ease}.identity-find__pair.is-again{background:rgba(134,239,172,.22)}.identity-read{display:flex;flex-direction:column;align-items:center;gap:.8rem;max-width:40em;padding-block:.5rem 1rem}.identity-read__written{margin:0;font:italic clamp(2rem, min(7cqi, 9dvh), 6rem)/1.1 "Times New Roman",Times,serif;text-align:center}.identity-read__written--long{font-size:clamp(1.4rem,min(3.6cqi,5.5dvh),3rem);text-wrap:balance}.identity-read__explain,.identity-read__name{font-size:clamp(.9rem,min(1.9cqi,2.8dvh),1.6rem);line-height:1.4}.identity-read__explain p,.identity-read__name p{margin:0 0 .5em}.identity-read__name{color:var(--muted)}.identity-read__name em{color:var(--ink)}.identity-read__ok{font-size:max(1.15rem,2.4cqi);text-decoration:none}.home-index:has(.lesson-card+.lesson-card){display:flex;flex-wrap:wrap;gap:16px}.home-index:has(.lesson-card+.lesson-card) .lesson-card{grid-template-rows:1fr auto;align-items:center}.identity-write__blank--sum{width:4.6em}.binary-count{display:contents}.binary-count__row{font-size:clamp(1.1rem,min(2.8cqi,4.5dvh),2rem);font-style:normal}.binary-count__table{width:calc(100% - 16px);margin:0 8px;table-layout:fixed;border-collapse:collapse;border:2px solid #94a3b8;font-size:clamp(1.1rem,min(2.8cqi,4.5dvh),2rem);font-style:normal}.binary-count__table th,.binary-count__table td{border:1px solid #94a3b8;text-align:center;padding:0}.binary-count__table th{padding:.15em 0;font-size:.7em;font-style:italic;font-weight:normal;color:#e2e8f0}.binary-count__table .binary-count__cell--equals{color:#e2e8f0}.binary-count__table .binary-count__gap{background-color:rgba(148,163,184,.1);padding:0}.binary-count__table .binary-count__gap--left{border-right:none}.binary-count__table .binary-count__gap--right{border-left:none}.binary-count__table .binary-count__cell--equals{border-left:none;border-right:none}.binary-count__cell{height:2.6em;padding:.3em .4em !important}.binary-count__blank{display:block;width:100%;min-height:2em;box-sizing:border-box;margin:0;padding:.1em;border:1.5px solid rgba(226,232,240,.55);border-radius:4px;background:rgba(255,255,255,.08);color:inherit;font:inherit;text-align:center}.binary-count__blank:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.9)}.binary-count__cell:focus-within{background-color:rgba(125,211,252,.18) !important}.binary-count__blank.is-correct{border-color:var(--ok);background:rgba(134,239,172,.14);box-shadow:0 0 0 2px rgba(134,239,172,.55)}.binary-count__table .binary-count__cell--equals{background-color:rgba(148,163,184,.1)}.binary-count__table .binary-count__cell--g,.binary-record .binary-col--g{background-color:rgba(170,154,252,.22)}.binary-count__table .binary-count__cell--a,.binary-record .binary-col--a{background-color:rgba(236,132,183,.22)}.binary-count__table .binary-count__cell--b,.binary-record .binary-col--b{background-color:rgba(240,142,84,.22)}.binary-count__table .binary-count__cell--c,.binary-record .binary-col--c{background-color:rgba(177,178,57,.22)}.binary-count__table .binary-count__cell--d,.binary-record .binary-col--d{background-color:rgba(35,199,157,.22)}.lesson-page__check button.binary-count__test-out{display:block;margin:8px 0 0 auto;background:rgba(0,0,0,0);color:#bae6fd;border-color:var(--accent);font-size:max(.95rem,2cqi);font-weight:600}.lesson-page__check button.binary-count__test-out[hidden]{display:none}.lesson-page__check button.binary-count__test-out:hover{background:rgba(125,211,252,.15)}.binary-record{border-collapse:collapse;margin:10px 0 0;font:clamp(0.85rem, 3dvh, 1.2rem)/1.1 "Times New Roman",Times,serif;font-variant-numeric:tabular-nums}.binary-record th,.binary-record td{min-width:1.2em;padding:1px 5px;border:1px solid #64748b;text-align:center}.binary-record{border:2px solid #94a3b8;background:rgba(148,163,184,.08)}.binary-record thead th{border-bottom:2px solid #94a3b8;background:rgba(148,163,184,.18)}.binary-record th{font-style:italic;font-weight:normal;color:#e2e8f0}.binary-record tbody tr:last-child td{color:var(--ok)}.binary-record[hidden]{display:none}.binary-record .is-focus-column{background:rgba(96,165,250,.22);box-shadow:inset 0 0 0 1px #60a5fa}@media(orientation: portrait){.app-shell--with-side .app-side:has(.binary-record){columns:auto;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:0 1.2rem}.app-side:has(.binary-record) .binary-record{margin:0}}.binary-table{max-width:48em}.binary-table__tables{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 2rem}.binary-table__table{border-collapse:collapse;font:clamp(0.95rem, min(2.2cqi, 3.2dvh), 1.6rem)/1.15 "Times New Roman",Times,serif;font-variant-numeric:tabular-nums}.binary-table__table th,.binary-table__table td{padding:.12em .45em;border:1px solid var(--grid);text-align:center;transition:border-color 1.2s ease,padding 1.6s ease,font-size 1.6s ease}.binary-table__table th{font-style:italic;font-weight:normal;color:var(--muted)}.binary-table__table.is-closed th,.binary-table__table.is-closed td{border-color:rgba(0,0,0,0)}.binary-table__table.is-closed .binary-table__digit{padding-inline:0;border-inline-width:0}.binary-table__table.is-closed th.binary-table__digit{font-size:.72em}.binary-table__words{opacity:0;transition:opacity .8s ease;display:flex;flex-direction:column;align-items:center;gap:.6rem}.binary-table__words.is-shown{opacity:1}.binary-table__joke{margin:.4em 0 0;padding-top:.5em;border-top:1px solid var(--grid);font:italic clamp(0.95rem, min(2cqi, 2.8dvh), 1.5rem)/1.35 "Times New Roman",Times,serif;text-align:center}@media(prefers-reduced-motion: reduce){.binary-table__table th,.binary-table__table td,.binary-table__words{transition:none}}@media(orientation: landscape)and (max-height: 520px){.binary-table{flex-direction:row;align-items:center;justify-content:center;gap:1.5rem;max-width:none}.binary-table__words{flex:0 1 22em}}.binary-add__table{display:flex;justify-content:center;font-size:clamp(1rem,min(2.6cqi,3.6dvh),1.8rem)}.binary-add__table .expression-table__grid{font:inherit;font-family:"Times New Roman",Times,serif}.binary-add__table .expression-table__places th{font-size:.8em;font-style:italic;font-weight:normal;color:var(--muted)}.binary-add__table .expression-table__cell{min-width:1.8em;padding:.15em .3em;text-align:center}.binary-add__table input.term-field{width:1.5em;box-sizing:border-box;margin:0;padding:.05em;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,0);color:inherit;caret-color:var(--accent);font:inherit;text-align:center}.binary-add__table input.term-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.9)}.binary-add__table.is-locked{pointer-events:none}.binary-sums{margin:10px 0 0;padding:0;list-style:none;font:clamp(0.95rem, 3dvh, 1.3rem)/1.3 "Times New Roman",Times,serif;font-variant-numeric:tabular-nums}.binary-sums li:last-child{color:var(--ok)}.binary-sums[hidden]{display:none}.binary-add__table [data-kind=carry] .expression-table__cell{padding-top:0;padding-bottom:0}.binary-add__table [data-kind=carry] input.term-field{font-size:.7em;width:1.6em;border-style:dashed;color:var(--miss-strong)}.binary-add__table.is-waiting{opacity:.35;pointer-events:none}.binary-words{display:flex;flex-direction:row;flex-wrap:wrap;max-width:54em;align-items:center;justify-content:center;gap:1em 2.5em}.binary-words__sum{border-collapse:collapse;font:clamp(1.2rem, min(4.5cqi, 5.5dvh), 2.6rem)/1.15 "Times New Roman",Times,serif;font-variant-numeric:tabular-nums}.binary-words__sum td{min-width:.9em;padding:0 .1em;text-align:center}.binary-words__carry td{font-size:.6em;color:var(--miss-strong);vertical-align:bottom}.binary-words__result td{border-top:2px solid currentColor}.binary-words__result td:first-child{border-top:0}.binary-words__words{flex:0 1 26em}.binary-words .identity-read__explain p,.binary-words .identity-read__name p{margin-bottom:.4em}.series-index__finished{margin:0 0 1rem;padding:.6rem .8rem;border:1px solid var(--accent);border-radius:.5rem}.series-index__done{color:var(--accent)}.series-wrap-up{max-width:40rem;margin:0 auto;padding:1rem}.series-wrap-up__title{margin:0 0 .5rem}.series-wrap-up__intro{margin:0 0 .75rem}.series-wrap-up__learned{margin:0 0 1rem;padding-left:1.2rem}.series-wrap-up__learned li{margin:0 0 .5rem}.series-wrap-up__name{display:block}.series-wrap-up__about{color:var(--muted)}.series-wrap-up__next{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}@media(max-height: 500px){.series-wrap-up{padding:.25rem .75rem;max-width:none}.series-wrap-up__title{font-size:1.1rem;margin-bottom:.25rem}.series-wrap-up__intro{margin-bottom:.4rem}.series-wrap-up__learned{display:grid;grid-template-columns:repeat(auto-fit, minmax(17rem, 1fr));column-gap:1.5rem;margin-bottom:.5rem;font-size:.85rem;line-height:1.25}.series-wrap-up__learned li{margin-bottom:.3rem}}@media(max-width: 420px){.series-wrap-up__learned{font-size:.9rem;line-height:1.3}.series-wrap-up__learned li{margin-bottom:.35rem}}@media(orientation: portrait)and (max-width: 760px){.app-shell--with-side:has(.binary-count) .app-main{max-height:88dvh}.app-shell--with-side:has(.binary-count) .app-side{padding:4px 10px;font-size:.75rem}.app-shell--with-side:has(.binary-count) .app-side h2{font-size:.85rem;margin:0}.app-shell--with-side:has(.binary-count) .app-side p{margin:0}.app-shell--with-side:has(.binary-count) .app-chrome__bar{padding-top:.35cqi}.app-shell--with-side:has(.binary-count) .app-chrome__title{font-size:.9rem;top:.35cqi}.app-shell--with-side:has(.binary-count) .identity-write__work{padding:2px 0 6px}}@media(max-height: 500px){.app-shell--with-side:has(.binary-count){grid-template-columns:minmax(0, 6fr) minmax(7.5rem, 1fr)}.app-shell--with-side:has(.binary-count) .app-side{padding:6px 8px;font-size:.75rem}.app-shell--with-side:has(.binary-count) .app-chrome__title{font-size:.85rem}.app-shell--with-side:has(.binary-count) .identity-write__work{padding:0 0 4px}}@media(orientation: portrait)and (max-width: 760px),(max-height: 500px){.binary-count__table{font-size:.95rem}.binary-count__table th{padding:.02em 0}.binary-count__cell{height:1.9em;padding:.12em .25em !important}.binary-count__blank{min-height:1.45em}.binary-record{margin-top:6px;font-size:.8rem}.binary-record th,.binary-record td{padding:0 4px}}.binary-count__instruction{margin:.3em 0 0;font-weight:600;color:#e2e8f0}.binary-count__instruction--sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.binary-count__work{transition:opacity .45s ease}.binary-count__work.is-waiting-balance{opacity:0;pointer-events:none;transition:opacity .2s ease}@media(prefers-reduced-motion: reduce){.binary-count__work,.binary-count__work.is-waiting-balance{transition:none}}.binary-add-split{padding:0;margin-top:0;position:relative;z-index:1;pointer-events:none}.binary-add-split table{pointer-events:auto}.binary-add-one{width:calc(100% - 16px);margin:0 8px}.binary-add-split__op{color:#e2e8f0;background-color:rgba(148,163,184,.1);padding:0 !important}.binary-add-one .binary-add-split__row--bottom>td:not([rowspan]){border-bottom:3px solid #e2e8f0}.binary-add-one .binary-count__gap{background-color:rgba(148,163,184,.1);padding:0}.binary-add-one .binary-count__cell--equals{background-color:rgba(148,163,184,.1)}.binary-add-one__sum .binary-count__blank{min-height:3.2em}.binary-add-split__work{transition:opacity .45s ease}.binary-add-split__work.is-waiting-balance{opacity:0;pointer-events:none;transition:opacity .2s ease}.binary-add-split .is-locked,.binary-add-split.is-locked{pointer-events:none}@media(prefers-reduced-motion: reduce){.binary-add-split__work,.binary-add-split__work.is-waiting-balance{transition:none}}@media(orientation: portrait)and (max-width: 760px){.binary-add-split{margin-top:1.4em}.binary-add-one__sum .binary-count__blank{min-height:2.6em}}.binary-add-one input.is-blank{visibility:hidden}.binary-add-note{position:fixed;left:50%;transform:translateX(-50%);z-index:5;width:min(30em,100% - 24px);padding:.8em 1.1em;background:#f8fafc;color:#0f172a;border:3px solid #60a5fa;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.35);text-align:center;font-size:1.05rem;line-height:1.4}.binary-add-note p{margin:0 0 .7em}.binary-add-note__ok{font-size:1.05rem;font-weight:700;padding:.35em 1.6em;border-radius:8px;border:0;background:#15803d;color:#fff;cursor:pointer}.binary-add-note__ok:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}@media(max-width: 480px){.binary-add-note{font-size:.95rem;padding:.6em .8em}}.videos{max-width:1200px;margin:0 auto}.videos__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:16px}.video-card{display:grid;gap:6px;color:inherit;text-decoration:none}.video-card__thumb{position:relative;display:block;border-radius:10px;overflow:hidden;border:1px solid var(--grid);aspect-ratio:16/9}.video-card__thumb img{display:block;width:100%;height:100%;object-fit:cover}.video-card:hover .video-card__thumb,.video-card:focus-visible .video-card__thumb{border-color:var(--accent)}.video-card__time{position:absolute;right:6px;bottom:6px;padding:1px 6px;border-radius:4px;background:rgba(0,0,0,.75);color:#fff;font-size:.75rem}.video-card__title{font-size:.95rem;line-height:1.3}.video-card__date{color:var(--muted);font-size:.8rem}.video-page{display:flex;flex-direction:column;gap:12px;height:calc(100dvh - 7rem);min-height:24rem}.video-page__player{flex:none;width:min(100%,(100dvh - 16rem)*16/9);min-width:min(100%,320px);aspect-ratio:16/9;margin:0 auto}.video-page__player iframe{width:100%;height:100%;border:0;border-radius:10px;background:#000}.video-page__transcript{flex:1 1 auto;min-height:6rem;overflow-y:auto;list-style:none;margin:0 auto;padding:0 4px;width:100%;max-width:72ch;line-height:1.5}.video-page__transcript li{display:grid;grid-template-columns:4.5em 1fr;gap:8px;padding:2px 0}.video-page__transcript li.is-playing span{color:var(--accent)}.video-page__time{color:var(--muted);font-variant-numeric:tabular-nums;text-decoration:none}.video-page__time:hover,.video-page__time:focus-visible{color:var(--accent);text-decoration:underline}.video-page__none{color:var(--muted);text-align:center}.video-page__side{font-size:.9rem}.video-page__side h2{font-size:.95rem;margin:0 0 6px}.video-page__side ul{margin:0 0 12px;padding-left:1.1em}.video-page__group,.video-page__date{color:var(--muted);font-size:.8rem}.video-page__description{color:var(--muted);overflow-wrap:anywhere}.lesson-videos{margin-top:1rem;font-size:.8rem;color:var(--muted)}.lesson-videos ul{list-style:none;margin:2px 0 0;padding:0}.lesson-videos a{color:inherit}.lesson-videos a:hover{color:var(--accent)}.lesson-videos__label{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.video-links__alert{color:var(--miss-strong);margin:0}.video-links__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.video-links__video{background:var(--panel);border:1px solid var(--grid);border-radius:12px;padding:10px 14px;display:grid;gap:6px}.video-links__video.is-current{border-color:var(--accent)}.video-links__head{display:flex;gap:12px;align-items:center}.video-links__head img{border-radius:6px}.video-links__pages{list-style:none;margin:0;padding:0;display:grid;gap:4px}.video-links__pages li{display:flex;gap:8px;align-items:center}.video-links__remove-form{display:inline}.video-links__remove{font-size:.75rem}.video-links__add{display:flex;gap:8px;flex-wrap:wrap}.video-links__add select{max-width:100%}.lesson-card__video{display:block;aspect-ratio:16/9;border-radius:8px;overflow:hidden}.lesson-card__video img{display:block;width:100%;height:100%;object-fit:cover}.video-page__more{color:var(--muted)}.video-page__more a{color:inherit}.video-page__more a:hover{color:var(--accent)}.puzzle-index__jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}.puzzle-index__category{scroll-margin-top:16px}.puzzle-index__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 220px), 1fr));gap:12px}.index-card{display:grid;grid-template-columns:60px 1fr;grid-template-rows:auto 1fr;column-gap:12px;align-items:start;min-height:60px;padding:10px 12px;border:1px solid #4a5262;border-radius:8px;color:var(--ink);text-decoration:none;background:var(--bg)}.index-card:hover{border-color:var(--accent)}.index-card:hover .index-card__name{text-decoration:underline}.index-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.index-card__thumb{grid-row:1/span 2;width:60px;height:60px;background:#fff;border-radius:6px}.index-card__name{font-weight:600;color:var(--ink)}.index-card__line{color:var(--muted);font-size:.9rem}.index-card:not(:has(.index-card__thumb)){grid-template-columns:1fr}.thumb__shape{fill:#c9d8f2;stroke:#3d5a8a;stroke-width:1;stroke-linejoin:round}.thumb__line{fill:none;stroke:#3d5a8a;stroke-width:1.5}.thumb__point{fill:#3d5a8a}.thumb__grid line{stroke:#dfe3ea;stroke-width:.75}.tool-nav{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.tool-nav__current{font-weight:600}.unit-circle-tool__stage{position:relative}.calculator-page{max-width:44rem;margin:0 auto;padding:0 12px}.calculator{display:grid;gap:10px;color:var(--ink)}.calculator__title{margin:0;font-size:1.1rem}.calculator__label{font-weight:600}.calculator__line{display:flex;gap:6px;flex-wrap:wrap}.calculator__input{flex:1 1 14rem;min-width:0;font:inherit;font-size:1.25rem;padding:10px 12px;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px}.calculator__input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.calculator__input[aria-invalid=true]{border-color:var(--danger-line)}.calculator__button,.calculator__key{font:inherit;min-height:44px;padding:6px 12px;border-radius:8px;cursor:pointer;background:var(--button);color:var(--ink);border:1px solid var(--line)}.calculator__button:hover,.calculator__key:hover{background:var(--button-hover)}.calculator__button:focus-visible,.calculator__key:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.calculator__button--quiet{background:var(--button-quiet);justify-self:start}.calculator__result{font-size:1.6rem;font-variant-numeric:tabular-nums;min-height:2rem;word-break:break-all}.calculator__error{margin:0;min-height:1.2rem;color:var(--miss-strong)}.calculator__keys{display:flex;flex-wrap:wrap;gap:6px}.calculator__key{min-width:44px}.calculator__angle{display:flex;gap:14px;border:0;padding:0;margin:0}.calculator__angle legend{float:left;margin-right:8px}.calculator__panel{border:1px solid var(--line);border-radius:8px;padding:6px 10px}.calculator__panel summary{cursor:pointer;font-weight:600;min-height:32px}.calculator__hint{color:var(--muted);margin:6px 0}.calculator__memory{display:grid;grid-template-columns:repeat(auto-fill, minmax(11rem, 1fr));gap:6px}.calculator__memory-row{display:flex;align-items:center;gap:6px}.calculator__memory-row label{min-width:1.5rem}.calculator__memory-input{width:100%;min-width:0;font:inherit;padding:6px;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:6px}.calculator__check-pick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.calculator__check-pick select{font:inherit;min-height:40px}.calculator__check{font-variant-numeric:tabular-nums;margin:6px 0}.calculator__check[data-match=true]{color:var(--ok)}.calculator__history-title{margin:4px 0 0;font-size:1rem}.calculator__history{margin:0;padding-left:0;list-style:none;display:grid;gap:4px;max-height:18rem;overflow:auto}.calculator__history-entry{width:100%;text-align:left;font:inherit;font-variant-numeric:tabular-nums;padding:6px 10px;cursor:pointer;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px}.calculator__history-entry:hover,.calculator__history-entry:focus-visible{border-color:var(--accent)}.calculator--embedded{font-size:.95rem}.calculator--embedded .calculator__result{font-size:1.3rem}.unit-circle-tool__calc{position:absolute;left:8px;bottom:8px;z-index:5;max-width:min(28rem,100% - 16px);max-height:calc(100% - 16px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 10px}.unit-circle-tool__calc>summary{cursor:pointer;font-weight:600;min-height:36px;display:flex;align-items:center}.unit-circle-tool__exact{display:grid;grid-template-columns:repeat(3, auto);gap:2px 14px;margin:6px 0 10px;font-variant-numeric:tabular-nums}.unit-circle-tool__exact div{display:flex;gap:6px}.unit-circle-tool__exact dt{font-weight:600}.unit-circle-tool__exact dd{margin:0;word-break:break-all}@media(max-width: 600px){.unit-circle-tool__calc{position:static;max-width:none;max-height:none}}.lesson-card__calculator{display:block;width:100%;aspect-ratio:4/3;height:auto;background:#fffef8}.lesson-card__calc-field{fill:#fff;stroke:#2563eb;stroke-width:2}.lesson-card__calc-expr{fill:#222;font:600 17px system-ui,sans-serif}.lesson-card__calc-answer{fill:#2563eb;font:700 24px system-ui,sans-serif}.calculator__memory-row,.calculator__captures li{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.calculator__captures{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:4px;max-height:12rem;overflow:auto}.calculator__slot{font:inherit;font-variant-numeric:tabular-nums;min-height:36px;padding:4px 8px;cursor:pointer;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:6px}.calculator__slot:hover,.calculator__slot:focus-visible{border-color:var(--accent)}.calculator__slot--capture{font-weight:700;background:var(--button)}.unit-circle-tool__capture{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;color:var(--muted)}.written-calculator-page{max-width:72rem}.written-calculator{gap:12px;grid-template-columns:minmax(0, 46rem) minmax(14rem, 22rem);align-items:start;justify-content:center}.written-calculator__main{display:grid;gap:8px;min-width:0}.written-calculator__sidebar{display:grid;gap:8px;min-width:0}.written-calculator__definitions{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}.written-calculator__definition{display:grid;grid-template-columns:3rem auto minmax(0, 1fr) auto;gap:4px 8px;align-items:center}.keypad__key.written-calculator__var{min-height:40px;padding:2px 6px}.written-calculator__var-eq{font-size:1.2rem;color:var(--muted)}.written-calculator__definition-body{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;grid-column:3}.written-calculator__definition--empty .written-calculator__definition-body{color:var(--muted)}.written-calculator__store-bar{display:flex;align-items:center;gap:8px;margin-bottom:6px}.written-calculator__store-bar .calculator__hint{margin:0;flex:1}.keypad__key.written-calculator__store-key{min-width:56px;min-height:48px;flex:none}.written-calculator__definition-value{font-variant-numeric:tabular-nums;font-weight:600}.written-calculator__definition-forget{grid-column:4;font:inherit;min-width:32px;min-height:32px;border-radius:6px;border:1px solid var(--key-ctl-line);background:var(--key-ctl-bg);color:var(--key-ctl-ink);cursor:pointer}.written-calculator__definition-error{grid-column:1/-1;margin:0;font-size:.85rem;color:var(--miss-strong)}.written-calculator__history-entry--assign{color:var(--muted)}.written-calculator__history-bar{display:flex;justify-content:flex-end}.written-calculator__clear-history{min-height:28px;padding:2px 8px;font-size:.8rem}@media(max-width: 760px){.written-calculator{grid-template-columns:minmax(0, 1fr)}}.written-calculator__display{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--field)}.written-calculator__history{list-style:none;margin:0;padding:0;max-height:11rem;min-height:2.5rem;overflow-y:auto;display:grid;align-content:end;gap:2px}.written-calculator__history-entry{display:flex;width:100%;justify-content:flex-end;align-items:center;gap:4px;text-align:right;background:none;border:0;color:var(--ink);padding:2px 4px;border-radius:6px;cursor:pointer;font:inherit}.written-calculator__history-entry:hover,.written-calculator__history-entry:focus-visible{background:var(--line)}.written-calculator__field{display:block;width:100%;box-sizing:border-box;font-size:1.6rem;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper, transparent);color:var(--ink)}.written-calculator__field:focus-within{outline:2px solid var(--accent, #36c);outline-offset:2px}.written-calculator__field::part(virtual-keyboard-toggle),.written-calculator__field::part(menu-toggle){display:none}.written-calculator__result{text-align:right;font-size:1.3rem;min-height:1.6em;font-variant-numeric:tabular-nums}.written-calculator__error{text-align:right;margin:0;min-height:0}.written-calculator .calculator__memory>.calculator__hint{grid-column:1/-1}.keypad{display:grid;grid-template-columns:repeat(var(--keypad-columns, 8), minmax(0, 1fr));gap:6px}.keypad__key{min-height:48px;min-width:0;padding:4px 2px;font:inherit;font-size:1.05rem;border-radius:8px;cursor:pointer;touch-action:manipulation;background:var(--key-bg);color:var(--key-ink);border:1px solid var(--key-line)}.keypad__key:hover{filter:brightness(1.12)}.keypad__key:active{transform:translateY(1px)}.keypad__key:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.keypad__key--num{--key-bg: var(--key-num-bg);--key-ink: var(--key-num-ink);--key-line: var(--key-num-line);font-size:1.25rem;font-weight:700}.keypad__key--fn{--key-bg: var(--key-fn-bg);--key-ink: var(--key-fn-ink);--key-line: var(--key-fn-line);font-size:.95rem}.keypad__key--op{--key-bg: var(--key-op-bg);--key-ink: var(--key-op-ink);--key-line: var(--key-op-line);font-size:1.35rem;font-weight:700}.keypad__key--unit{--key-bg: var(--key-unit-bg);--key-ink: var(--key-unit-ink);--key-line: var(--key-unit-line);font-size:1.15rem;font-weight:600}.keypad__key--var{--key-bg: var(--key-var-bg);--key-ink: var(--key-var-ink);--key-line: var(--key-var-line);font-weight:700;font-style:italic;font-family:"Times New Roman",serif;font-size:1.2rem}.keypad__key--ctl{--key-bg: var(--key-ctl-bg);--key-ink: var(--key-ctl-ink);--key-line: var(--key-ctl-line);font-weight:600}.keypad__key--go{--key-bg: var(--key-go-bg);--key-ink: var(--key-go-ink);--key-line: var(--key-go-line);font-size:1.6rem;font-weight:800}.keypad--secondary{margin:6px 0;max-width:20rem}.keypad--secondary[hidden]{display:none}@media(max-width: 480px){.keypad{gap:4px}.keypad__key{min-height:44px;font-size:.9rem}.keypad__key--fn{font-size:.8rem}}
