/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-outline-style:solid}::backdrop{--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.cursor-move{cursor:move}.resize{resize:both}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--ink:#17253b;--muted:#647083;--paper:#f5f0e5;--paper-2:#ece4d5;--blue:#245cd7;--coral:#d65d45;--green:#26735e;--line:#d4cbbb;--white:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}html:has(.lesson-active){scroll-behavior:auto}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,textarea,input,select{font:inherit}button{color:inherit}.app{background:var(--paper);min-height:100vh}.site-header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f0e5f5;align-items:center;height:70px;padding:0 3.5vw;display:flex;position:sticky;top:0}.brand{cursor:pointer;letter-spacing:.13em;white-space:nowrap;background:0 0;border:0;align-items:center;gap:11px;font-size:12px;font-weight:800;display:flex}.brand em{color:var(--muted);font-style:normal;font-weight:600}.brand-mark{width:33px;height:33px;color:var(--paper);background:var(--ink);letter-spacing:-.08em;place-items:center;font-family:Georgia,serif;font-size:15px;display:grid}.site-header nav{height:100%;margin-left:5vw;display:flex}.site-header nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 18px;font-size:13px;font-weight:650;position:relative}.site-header nav button.active{color:var(--ink)}.site-header nav button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:0;left:16px;right:16px}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.header-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;padding:9px 12px;font-size:12px;font-weight:700}.review-count b{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;margin-right:6px;display:inline-grid}.header-actions .exam{background:var(--ink);color:#fff;border-color:var(--ink)}.header-actions .exam.active{background:var(--coral);border-color:var(--coral)}.exam-banner{color:#fff8ef;background:#301d19;justify-content:center;gap:20px;padding:9px 4vw;font-size:13px;display:flex}.exam-banner span{opacity:.75}.exam-mode .policy-note,.exam-mode .evaluative,.exam-mode .theorem-drawer{display:none!important}.page{max-width:1380px;margin:0 auto;padding:0 5vw}.eyebrow{color:var(--blue);letter-spacing:.19em;text-transform:uppercase;font-size:11px;font-weight:850}.hero-grid{grid-template-rows:auto auto auto auto 1fr;grid-template-columns:1.05fr .95fr;column-gap:5vw;min-height:600px;padding:9vh 0 6vh;display:grid;position:relative}.hero-grid .eyebrow,.hero-grid h1,.hero-copy,.hero-grid>.primary,.hero-grid>.quiet{grid-column:1}.hero-grid h1{letter-spacing:-.055em;margin:24px 0 16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,6vw,90px);font-weight:400;line-height:.94}.hero-grid h1 em{color:var(--coral);font-style:italic}.hero-copy{color:#415068;max-width:560px;margin:8px 0 30px;font-family:Georgia,serif;font-size:20px;line-height:1.55}.primary{background:var(--blue);color:#fff;cursor:pointer;border:0;padding:14px 18px;font-weight:750;box-shadow:0 8px 22px #245cd729}.primary:disabled{box-shadow:none;cursor:not-allowed;background:#aab2be}.primary.large{width:max-content;padding:16px 20px}.primary span{margin-left:18px}.quiet{color:var(--muted);margin-top:12px;font-size:11px}.hero-figure{background:radial-gradient(circle,#ffffffa6,#0000 65%);grid-area:1/2/6;align-self:center;min-height:420px;position:relative}.mirror-axis{border-left:1px dashed #7f8792;width:1px;position:absolute;top:8%;bottom:8%;left:50%}.mirror-axis:after{content:"ℓ";font-family:Georgia,serif;font-style:italic;position:absolute;top:-23px;left:-4px}.css-triangle{border-top:140px solid #0000;border-bottom:145px solid #0000;width:0;height:0;position:absolute;top:80px}.left-triangle{filter:drop-shadow(0 0 1px var(--blue));border-right:175px solid #245cd721;right:50%}.right-triangle{filter:drop-shadow(0 0 1px var(--coral));border-left:175px solid #d65d4524;left:50%}.css-triangle i,.css-triangle b,.css-triangle span{font-size:13px;font-style:normal;position:absolute}.left-triangle i{top:-157px;left:162px}.left-triangle b{top:134px;left:162px}.left-triangle span{top:43px;left:-18px}.right-triangle i{top:-157px;left:-175px}.right-triangle b{top:134px;left:-175px}.right-triangle span{top:43px;left:8px}.arc-note{color:var(--muted);font-family:Georgia,serif;font-style:italic;line-height:1.7;position:absolute;bottom:18px;right:5%}.today-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.today-strip article{border-right:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:22px 28px;display:grid}.today-strip article:last-child{border:0}.today-strip strong{font-size:13px;display:block}.today-strip small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.today-strip button{text-align:left;color:var(--blue);cursor:pointer;background:0 0;border:0;grid-column:1/3;padding:4px 0;font-size:11px;font-weight:750}.stat-number{font-family:Georgia,serif;font-size:40px}.mini-ring{border:4px solid var(--blue);border-right-color:var(--line);border-radius:50%;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.calibration{font-family:Georgia,serif;font-size:34px}.calibration span{font-size:14px}.path-preview{grid-template-columns:.8fr 1.2fr;align-items:center;gap:7vw;max-width:1380px;min-height:520px;margin:0 auto;padding:90px 5vw;display:grid}.path-copy h2,.section-heading h1{letter-spacing:-.035em;margin:16px 0;font-family:Georgia,serif;font-size:clamp(35px,4vw,55px);font-weight:400;line-height:1.05}.path-copy p{color:var(--muted);max-width:450px;line-height:1.7}.path-copy button,.museum-grid article button{color:var(--blue);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:8px 0;font-weight:750}.constellation{min-height:380px;position:relative}.constellation:before{content:"";opacity:.45;background:linear-gradient(25deg,#0000 49.7%,#aab2bd 50%,#0000 50.3%),linear-gradient(-18deg,#0000 49.7%,#aab2bd 50%,#0000 50.3%);position:absolute;inset:45px 40px}.concept{flex-direction:column;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex;position:absolute}.concept>div{background:var(--paper);border:1px solid #aeb5bf;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.concept>div:after{content:"";background:repeating-linear-gradient(45deg,#dbe4fb,#dbe4fb 3px,#fff 3px 6px);border-radius:50%;width:38px;height:38px;position:absolute}.concept span{z-index:1}.concept small{white-space:nowrap}.concept.level-3>div,.concept.level-4>div{border:5px solid var(--blue)}.concept.level-3>div:after,.concept.level-4>div:after{background:var(--blue)}.concept.level-3 span,.concept.level-4 span{color:#fff}.concept.level-0{opacity:.55}.concept-0{top:145px;left:0}.concept-1{top:40px;left:20%}.concept-2{top:130px;left:40%}.concept-3{top:20px;left:60%}.concept-4{top:130px;left:78%}.concept-5{top:260px;left:22%}.concept-6{top:285px;left:49%}.concept-7{top:270px;left:80%}.concept-8{top:180px;left:58%}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:24px 4vw;font-size:11px;display:flex}.studio-page{min-height:calc(100vh - 70px)}.lesson-topbar{border-bottom:1px solid var(--line);background:var(--white);grid-template-columns:auto 220px 1fr auto;align-items:center;gap:18px;height:86px;padding:0 3.5vw;display:grid}.back-button{cursor:pointer;background:0 0;border:0;font-size:20px}.lesson-topbar>div:nth-child(2){flex-direction:column;gap:5px;display:flex}.lesson-topbar strong{font-family:Georgia,serif;font-size:17px}.evidence-pill{color:#9e3e2c;border:1px solid #e1a794;padding:8px 10px;font-size:11px;font-weight:700}.stage-track{justify-content:center;align-items:center;display:flex}.stage-track button{color:#9199a4;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;width:76px;padding-top:25px;font-size:9px;font-weight:750;position:relative}.stage-track button:before{content:"";background:#d5d8dc;height:1px;position:absolute;top:10px;left:0;right:0}.stage-track button i{background:var(--white);z-index:1;border:2px solid #b6bbc2;border-radius:50%;width:11px;height:11px;position:absolute;top:5px;left:calc(50% - 5px)}.stage-track button.active{color:var(--blue)}.stage-track button.active i{border-color:var(--blue);background:var(--blue)}.lab-grid{grid-template-columns:minmax(480px,1.45fr) minmax(360px,.75fr);min-height:calc(100vh - 156px);display:grid}.canvas-panel{border-right:1px solid var(--line);background:#ebe5da;flex-direction:column;min-width:0;display:flex}.canvas-toolbar{height:50px;color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 22px;font-size:11px;display:flex}.canvas-toolbar button{cursor:pointer;background:0 0;border:0;padding:8px;font-size:11px}.canvas-toolbar button.on{background:var(--ink);color:#fff}.geometry-canvas{touch-action:none;cursor:crosshair;flex:1;width:100%;min-height:390px;display:block}.canvas-legend{min-height:50px;color:var(--muted);border-top:1px solid var(--line);background:var(--paper);align-items:center;gap:20px;padding:12px 20px;font-size:10px;display:flex}.canvas-legend i{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.blue-dot{background:var(--blue)}.coral-dot{background:var(--coral)}.visual-warning{color:#8d5f28;margin-left:auto}.task-panel{background:var(--white);flex-direction:column;padding:6vh 3.5vw 30px;display:flex}.task-index{color:var(--coral);letter-spacing:.15em;font-size:10px;font-weight:800}.task-index span{color:var(--muted);margin-left:12px}.task-panel h2{letter-spacing:-.035em;margin:22px 0 10px;font-family:Georgia,serif;font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.08}.task-panel>p{color:var(--muted);font-size:13px;line-height:1.5}.choice-list{margin:20px 0}.choice-list button{border:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-bottom:0;align-items:center;gap:10px;width:100%;padding:14px;font-size:12px;display:flex}.choice-list button:last-child{border-bottom:1px solid var(--line)}.choice-list button i{border:1px solid #9aa3ae;border-radius:50%;width:14px;height:14px}.choice-list button.selected{border-color:var(--blue);color:#163e9c;background:#eef3ff}.choice-list button.selected i{background:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 3px #eef3ff}.field-label{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}.task-panel textarea{background:var(--paper);border:1px solid var(--line);resize:vertical;width:100%;min-height:85px;margin-top:8px;padding:12px;font-family:Georgia,serif}.task-actions{justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px;display:flex}.ghost{border:1px solid var(--line);cursor:pointer;background:0 0;padding:12px 14px;font-size:12px;font-weight:650}.ghost kbd{border:1px solid var(--line);margin-left:7px;padding:2px 5px}.hint-card{border-left:3px solid var(--coral);background:#f9ede7;margin-top:12px;padding:12px;font-family:Georgia,serif;font-size:13px;line-height:1.5}.hint-card span{color:var(--coral);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;font-family:ui-sans-serif,sans-serif;font-size:9px;font-weight:800;display:block}.policy-note{text-align:right;color:var(--muted);margin-top:9px;font-size:9px;display:block}.proof-page{padding-top:55px;padding-bottom:80px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:40px;display:flex}.section-heading>div>p{color:var(--muted);max-width:600px;line-height:1.6}.mode-switch{border:1px solid var(--line);display:flex}.mode-switch button,.museum-filter button{cursor:pointer;background:0 0;border:0;padding:10px 13px;font-size:11px}.mode-switch button.active,.museum-filter button.active{background:var(--ink);color:#fff}.proof-layout{border:1px solid var(--line);background:var(--white);grid-template-columns:240px 1fr 270px;min-height:570px;display:grid}.facts-ledger,.theorem-drawer{border-right:1px solid var(--line);padding:25px}.theorem-drawer{border-right:0;border-left:1px solid var(--line)}.facts-ledger h3,.theorem-drawer h3{margin:0 0 25px;font-family:Georgia,serif;font-size:20px;font-weight:400}.facts-ledger>div{border-left:3px solid var(--green);margin-bottom:22px;padding:5px 0 5px 12px}.facts-ledger>div.visual-only{border-color:#999}.facts-ledger span,.theorem-card span{letter-spacing:.13em;color:var(--green);font-size:9px;font-weight:800;display:block}.facts-ledger p{margin:5px 0;font-family:Georgia,serif;font-size:13px;line-height:1.5}.facts-ledger small{color:var(--muted);line-height:1.5}.proof-canvas{background:radial-gradient(circle,#e2ddd3 1px,#0000 1px) 0 0/20px 20px;flex-direction:column;justify-content:center;padding:45px;display:flex}.proof-node{background:var(--white);border:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;max-width:620px;margin:0 auto 28px;padding:15px;display:grid;position:relative;box-shadow:0 5px 16px #17253b0f}.proof-node:not(:last-of-type):after{content:"↓";color:var(--muted);position:absolute;bottom:-24px;left:50%}.proof-node.supported{border-left:4px solid var(--green)}.proof-node.open{border-left:4px solid #c98a29}.proof-node.invalid{border-left:4px solid var(--coral)}.node-number{background:#eff1f3;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.proof-node strong{font-family:Georgia,serif;font-size:14px;display:block}.proof-node span{color:var(--green);margin-top:5px;font-size:10px;display:block}.proof-node select{border:1px solid var(--line);background:var(--paper);width:100%;margin-top:8px;padding:7px;font-size:11px;display:block}.node-status{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:9px}.skeptic,.proof-success{border-left:3px solid var(--coral);background:#f9e8e3;max-width:620px;margin:0 auto 20px;padding:14px 16px;font-size:12px;line-height:1.5}.proof-success{border-color:var(--green);background:#e7f2ec}.proof-success-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.proof-success-actions button{border:1px solid var(--line);background:var(--white);cursor:pointer;min-width:44px;min-height:44px;padding:0 12px;font-weight:700}.skeptic strong,.proof-success strong{text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:10px;display:block}.proof-actions{justify-content:flex-end;gap:10px;width:100%;max-width:620px;margin:0 auto;display:flex}.theorem-drawer input{border:1px solid var(--line);background:var(--paper);width:100%;margin-bottom:20px;padding:10px;font-size:11px}.theorem-card{border:1px solid var(--line);margin-bottom:12px;padding:14px}.theorem-card strong{margin-top:6px;font-family:Georgia,serif;font-size:14px;line-height:1.4;display:block}.theorem-card p{color:var(--muted);font-size:10px;line-height:1.4}.theorem-card.muted{opacity:.65}.museum-page{padding-top:70px;padding-bottom:100px}.museum-filter{border:1px solid var(--line);display:flex}.museum-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.museum-grid article{background:var(--white);border:1px solid var(--line);flex-direction:column;min-height:330px;padding:24px;display:flex}.museum-grid article.resolved{opacity:.62}.exhibit-top{letter-spacing:.1em;justify-content:space-between;font-size:9px;font-weight:800;display:flex}.exhibit-top em{color:var(--coral);letter-spacing:0;font-style:normal}.museum-grid blockquote{margin:45px 0 20px;font-family:Georgia,serif;font-size:23px;line-height:1.35}.error-type{color:#9e3e2c;text-transform:uppercase;letter-spacing:.08em;background:#f7e6e0;width:max-content;padding:5px 7px;font-size:9px;font-weight:800}.museum-grid p{color:var(--muted);font-size:12px;line-height:1.6}.museum-grid article button{width:max-content;margin-top:auto}@media (max-width:980px){.site-header{padding:0 18px}.site-header nav button{padding:0 8px}.review-count{display:none}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-figure{display:none}.today-strip{grid-template-columns:1fr}.today-strip article{border-right:0;border-bottom:1px solid var(--line)}.path-preview{grid-template-columns:1fr}.constellation{margin-top:20px}.lesson-topbar{grid-template-columns:auto 1fr auto}.stage-track{display:none}.lab-grid{grid-template-columns:1fr}.canvas-panel{border-right:0;min-height:520px}.task-panel{min-height:600px;padding:40px}.proof-layout{grid-template-columns:190px 1fr}.theorem-drawer{display:none}.museum-grid{grid-template-columns:1fr}.proof-canvas{padding:28px}.section-heading{align-items:flex-start;gap:20px}}@media (max-width:680px){.site-header{flex-wrap:wrap;height:auto;min-height:62px;padding:10px 14px}.brand em,.header-actions{display:none}.site-header nav{order:3;width:100%;height:38px;margin:4px 0 -10px;overflow-x:auto}.site-header nav button{white-space:nowrap;flex:1;font-size:11px}.hero-grid{padding-top:65px}.hero-grid h1{font-size:53px}.hero-copy{font-size:17px}.today-strip article{padding:18px 8px}.path-preview{padding-top:65px;overflow:hidden}.constellation{transform-origin:0 0;width:115%;height:340px;transform:scale(.85)}.lesson-topbar{height:72px;padding:0 14px}.lesson-topbar .eyebrow,.evidence-pill{display:none}.lab-grid{min-height:auto}.canvas-panel{min-height:410px}.geometry-canvas{min-height:320px}.canvas-toolbar span,.visual-warning{display:none}.canvas-legend{gap:10px}.task-panel{min-height:590px;padding:35px 20px}.task-actions{flex-direction:column-reverse}.task-actions button{width:100%}.proof-page,.museum-page{padding:45px 18px}.section-heading{display:block}.mode-switch,.museum-filter{width:max-content;margin-top:24px}.proof-layout{display:block}.facts-ledger{border-right:0;border-bottom:1px solid var(--line)}.proof-canvas{padding:30px 12px}.proof-node{grid-template-columns:auto 1fr}.node-status{grid-column:2}.museum-grid blockquote{margin-top:30px}.exam-banner{text-align:center;display:block}.exam-banner span{margin-top:3px;display:block}footer{line-height:1.7;display:block}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}:is(html:has(.lesson-active),body:has(.lesson-active)){height:100%;overflow:hidden}.app.lesson-active{height:100svh;overflow:hidden}.lesson-workspace{background:var(--paper);flex-direction:column;height:100svh;display:flex;overflow:hidden}.lesson-app-bar{min-height:48px;height:calc(48px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 12px 0;border-bottom:1px solid var(--line);z-index:8;background:#fffdf8f5;flex:none;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.save-actions{flex-direction:column;justify-content:center;align-items:flex-end;min-width:44px;display:flex}.start-over{min-width:44px;min-height:44px;color:var(--blue);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 4px;font-size:11px;font-weight:700}.lesson-app-bar h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Georgia,serif;font-size:17px;font-weight:400;overflow:hidden}.lesson-back,.lesson-app-bar .exam{border:1px solid var(--line);cursor:pointer;background:0 0;min-width:44px;min-height:44px;padding:0 12px;font-size:13px;font-weight:700}.lesson-app-bar .exam{color:var(--ink);border-color:var(--line);background:0 0}.lesson-app-bar .exam.active{background:var(--coral);color:#fff;border-color:var(--coral)}.save-state{color:var(--muted);white-space:nowrap;margin:0;font-size:11px}.lesson-workspace button,.lesson-workspace select{min-width:44px;min-height:44px}.lesson-workspace textarea{min-height:44px}.lesson-main{flex-direction:column;flex:1;min-height:0;display:flex}.board-stage{background:#ebe5da;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.board-stage .geometry-canvas{touch-action:none;cursor:grab;width:100%;height:100%;min-height:0;display:block;position:absolute;inset:0}.board-stage[data-dock=prove] .geometry-canvas,.geometry-canvas.cursor-prove{cursor:pointer}.board-stage[data-dock=construct] .geometry-canvas,.geometry-canvas.cursor-construct{cursor:crosshair}.flow-tabs{z-index:4;width:max-content;max-width:min(100% - 24px,560px);position:absolute;top:6px;left:50%;transform:translate(-50%)}.flow-tabs ol{gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.flow-tabs button{border:1px solid var(--line);background:var(--white);white-space:nowrap;cursor:pointer;min-width:44px;min-height:44px;padding:0 12px;font-size:12px;font-weight:700}.flow-tabs button.current{background:var(--ink);color:#fff;border-color:var(--ink)}.flow-status{text-align:center;color:var(--muted);margin:4px 0 0;font-size:12px}.next-action-chip{background:var(--white);border:1px solid var(--ink);text-align:center;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:0;padding:0 14px;font-size:16px;font-weight:650;display:flex}.surface-tabs{z-index:6;left:var(--task-tab-x,var(--dock-thickness,64px));top:var(--task-tab-y,var(--board-inset-top,44px));gap:6px;display:flex;position:absolute}.surface-tabs .task-tab,.surface-tabs .hint-tab{position:relative;top:auto;left:auto}.hint-tab{border:1px solid var(--line);background:var(--white);cursor:pointer;min-width:44px;min-height:44px;padding:0 12px;font-size:13px;font-weight:750}.tool-dock{z-index:5;background:var(--white);border:1px solid var(--line);display:flex;position:absolute}.tool-dock button,.construct-sheet button,.dock-menu button{cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:11px;display:flex}.tool-dock button.on,.construct-tools button.on{background:var(--ink);color:#fff}.tool-dock button:disabled,.construct-sheet button:disabled,.view-controls button:disabled{opacity:.45;cursor:not-allowed}.dock-toolbar{gap:4px;display:flex}.tool-icon{place-items:center;width:20px;height:20px;display:grid}.tool-label{font-size:13px;font-weight:750;line-height:1.1}.tool-dock button{position:relative}.tool-dock button.suggested{box-shadow:inset 0 0 0 2px var(--blue)}.tool-dock button.suggested:after{content:"";background:var(--blue);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:8px}.tool-sub{opacity:.8;font-size:10px;font-weight:650}.tool-dock[data-side=left]{top:var(--board-inset-top,44px);width:var(--dock-thickness,64px);padding:8px 6px;padding-left:max(6px, env(safe-area-inset-left,0px));flex-direction:column;bottom:0;left:0}.tool-dock[data-side=left] .dock-toolbar{flex-direction:column;align-items:center}.tool-dock[data-side=left] .dock-mode{width:52px;min-width:52px;height:52px;min-height:52px}.tool-dock[data-side=left] .dock-aux{width:52px;min-width:44px;min-height:44px}.tool-dock[data-side=bottom]{min-height:52px;padding:4px 8px;padding-bottom:max(4px, env(safe-area-inset-bottom,0px));flex-direction:row;align-items:stretch;bottom:0;left:0;right:0}.tool-dock[data-side=bottom] .dock-toolbar{flex-direction:row;flex:1;align-items:stretch}.tool-dock[data-side=bottom] .dock-mode{flex:1;min-width:44px;min-height:52px}.tool-dock[data-side=bottom] .dock-aux{flex:none;min-width:44px;min-height:52px}.dock-menu{z-index:6;background:var(--white);border:1px solid var(--line);padding:4px;position:absolute;box-shadow:0 8px 24px #17253b14}.tool-dock[data-side=left] .dock-menu{bottom:8px;left:calc(100% + 8px)}.tool-dock[data-side=bottom] .dock-menu{bottom:calc(100% + 8px);right:8px}.dock-menu button{min-width:44px;min-height:44px;padding:0 14px;font-weight:700}.construct-sheet{z-index:6;background:var(--white);border:1px solid var(--line);flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;box-shadow:0 8px 24px #17253b14}.construct-sheet[data-side=left]{left:calc(var(--dock-thickness,64px) + 8px);width:min(280px, calc(100% - var(--dock-thickness,64px) - 24px));bottom:8px}.construct-sheet[data-side=bottom]{left:8px;right:8px;bottom:calc(var(--dock-thickness,52px) + 8px)}.construct-status{color:var(--ink);margin:0;font-size:13px;line-height:1.4}.construct-tools{gap:6px;display:flex}.construct-tools button{border:1px solid var(--line);flex:1;min-width:44px;min-height:44px}.construct-cancel{border:1px solid var(--line);min-width:44px;min-height:44px;font-weight:700}.sticker{z-index:6;background:var(--white);border:1px solid var(--line);position:absolute;box-shadow:0 8px 24px #17253b14}.teaching-surface{z-index:6;left:var(--surface-x,0px);top:var(--surface-y,0px);width:var(--surface-w,320px);height:var(--surface-h,auto);max-height:var(--surface-h,42%);flex-direction:column;display:flex;position:absolute;overflow:auto}.teaching-surface.keyboard-open{top:auto;bottom:var(--keyboard-inset,0px);height:auto;max-height:var(--conjecture-max-height,42%)}.teaching-surface .sticker{width:100%;height:100%;max-height:none;position:relative;top:auto;left:auto;overflow:auto}.teaching-surface,.proof-sticker,.task-tab{transition:width .18s,height .18s,left .18s,top .18s}.task-tab{z-index:6;left:var(--task-tab-x,var(--dock-thickness,64px));top:var(--task-tab-y,var(--board-inset-top,44px));border:1px solid var(--line);background:var(--white);cursor:pointer;min-width:44px;min-height:44px;padding:0 12px;font-size:13px;font-weight:750;position:absolute}.figure-proof-switch{z-index:7;left:50%;top:calc(var(--board-inset-top,44px) + 4px);gap:6px;display:flex;position:absolute;transform:translate(-50%)}.figure-proof-switch button{border:1px solid var(--line);background:var(--white);min-width:44px;min-height:44px;font-weight:750}.figure-proof-switch button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.problem-sticker{padding:12px}.problem-sticker.collapsed{width:auto;max-height:none;padding:8px}.chip-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;min-width:44px;min-height:44px;margin-bottom:8px;padding:8px 12px}.problem-sticker .task-index{color:var(--coral);letter-spacing:.15em;font-size:10px;font-weight:800}.problem-sticker h2{margin:12px 0 8px;font-family:Georgia,serif;font-size:clamp(22px,3vw,32px);font-weight:400;line-height:1.1}.problem-sticker p{color:var(--ink);font-size:16px;line-height:1.45}.problem-sticker textarea{background:var(--paper);border:1px solid var(--line);resize:vertical;width:100%;min-height:72px;margin-top:8px;padding:12px;font-family:Georgia,serif;font-size:16px}.commit-prediction{min-height:44px}.commit-help{color:var(--muted);margin:8px 0 0;font-size:13px}.prediction-choices{border:0;margin:16px 0;padding:0}.prediction-choices legend{margin-bottom:8px;font-size:16px;font-weight:700}.prediction-choices label{border:1px solid var(--line);cursor:pointer;border-bottom:0;align-items:center;gap:10px;min-height:44px;padding:8px 12px;font-size:16px;display:flex}.prediction-choices label:last-of-type{border-bottom:1px solid var(--line)}.prediction-choices label.selected{background:#eef3ff}.prediction-choices input{width:18px;height:18px;accent-color:var(--blue)}.field-label{letter-spacing:0;text-transform:none;margin-top:8px;font-size:16px;font-weight:650;display:block}.measure-sticker{top:var(--measure-y,calc(var(--board-inset-top,44px) + 8px));left:var(--measure-x,auto);width:var(--measure-w,min(280px, calc(100% - 24px)));padding:8px;right:auto}.measure-sticker[data-placement=proof-header]{width:auto;min-width:44px;box-shadow:none;background:0 0;border:0;padding:0 8px 0 0;position:relative;top:auto;left:auto;right:auto}.measure-toggle{border:1px solid var(--line);background:var(--paper);cursor:pointer;width:100%;min-height:44px;font-size:13px;font-weight:750}.measure-toggle.locked{background:var(--white)}.measure-explain,.measure-observed{margin:8px 0 0;font-size:13px;line-height:1.45}.hint-sticker{padding:12px}.hint-sticker h2{margin:0 0 8px;font-family:Georgia,serif;font-size:20px;font-weight:400}.hint-progress{margin:0 0 8px;font-size:12px;font-weight:750}.hint-progress span{color:var(--muted);margin-left:8px}.hint-status,.hint-instructions{margin:8px 0;font-size:16px;line-height:1.45}.hint-status{border-left:3px solid var(--ink);padding-left:10px}.earlier-hints{margin-top:8px}.earlier-hints summary{cursor:pointer;align-items:center;min-width:44px;min-height:44px;font-size:16px;font-weight:700;display:flex}.explore-tag{z-index:4;left:calc(var(--board-inset-left,64px) + 12px);bottom:calc(var(--board-inset-bottom,0px) + 12px);background:var(--white);border:1px dashed var(--ink);align-items:center;min-height:44px;margin:0;padding:8px 12px;font-size:14px;display:flex;position:absolute}.board-live{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.proof-sticker{flex-direction:column;display:flex;overflow:hidden}.sheet-tabs{flex:none;display:flex}.sheet-tabs .proof-tab{flex:1}.proof-tab{border:0;border-bottom:1px solid var(--line);background:var(--paper-2);cursor:pointer;min-width:44px;min-height:44px;font-size:12px;font-weight:750}.proof-sticker[data-side=right]{top:var(--proof-y,var(--board-inset-top,44px));left:var(--proof-x,auto);width:var(--proof-w,min(380px, var(--proof-extent,360px)));height:var(--proof-h,auto);bottom:auto;right:auto}.proof-sticker[data-side=right].collapsed{width:44px;height:var(--proof-h,100%)}.proof-sticker[data-side=right].collapsed .sheet-tabs{flex-direction:column;height:100%}.proof-sticker[data-side=right].collapsed .proof-tab{writing-mode:vertical-rl;border-bottom:0;flex:1;height:auto;transform:rotate(180deg)}.proof-sticker[data-side=bottom]{left:var(--proof-x,0);right:auto;top:var(--proof-y,auto);width:var(--proof-w,100%);height:var(--proof-h,min(48%, var(--proof-extent,48%)));bottom:auto}.proof-sticker[data-side=bottom][data-snap=full]{height:var(--proof-h,min(65%, calc(100% - var(--board-inset-top,44px))))}.proof-sticker[data-side=bottom][data-snap=working]{height:var(--proof-h,min(48%, var(--proof-extent,48%)))}.proof-sticker[data-side=bottom].collapsed{height:44px}.proof-sticker-body{flex:1;min-height:0;padding:12px 14px 20px;overflow:auto}.proof-sticker .section-heading{align-items:flex-start;gap:12px;margin-bottom:12px}.proof-sticker .section-heading h2{margin:8px 0 0;font-family:Georgia,serif;font-size:22px;font-weight:400}.proof-sticker .proof-layout{border:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.proof-sticker .facts-ledger{border-bottom:1px solid var(--line);padding:14px}.proof-sticker .proof-canvas{padding:16px 12px}.proof-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.proof-step{border:1px solid var(--line);background:var(--white);padding:10px}.proof-step.supported{border-left:4px solid var(--green)}.proof-step.open{border-left:4px solid #c98a29}.proof-step.invalid{border-left:4px solid var(--coral)}.proof-step-main{grid-template-columns:auto 1fr auto;align-items:start;gap:10px;display:grid}.proof-steps.two-column .proof-step-main{grid-template-columns:auto 1fr 1fr auto}.proof-steps.paragraph .proof-step-main span{display:none}.highlight-figure{border:1px solid var(--line);background:var(--paper);cursor:pointer;min-width:44px;min-height:44px;margin-top:8px;font-size:13px;font-weight:700}.theorem-fieldset{border:1px solid var(--line);flex-direction:column;gap:0;margin:16px 0 0;padding:12px;display:flex}.theorem-fieldset legend{padding:0 6px;font-size:16px;font-weight:700}.theorem-fieldset label,.prove-reason-card label{border:1px solid var(--line);cursor:pointer;border-bottom:0;align-items:center;gap:10px;min-height:44px;padding:8px 10px;font-size:16px;display:flex}.theorem-fieldset label:last-of-type,.prove-reason-card label:last-of-type{border-bottom:1px solid var(--line)}.theorem-fieldset label.selected,.prove-reason-card label.selected{background:#eef3ff}.theorem-fieldset input,.prove-reason-card input{width:18px;height:18px;accent-color:var(--blue)}.theorem-fieldset .primary,.prove-reason-card .primary{min-height:44px;margin-top:12px}.sss-remaining{margin:8px 0;font-size:16px}.prove-prompt{z-index:5;left:50%;top:calc(var(--board-inset-top,44px) + 52px);background:var(--white);border:1px solid var(--ink);align-items:center;gap:8px;max-width:min(520px,100% - 24px);min-height:44px;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%)}.prove-prompt p{margin:0;font-size:16px}.prove-reason-card{z-index:6;left:var(--reason-x,50%);top:var(--reason-y,calc(var(--board-inset-top,44px) + 108px));width:var(--reason-w,min(360px, calc(100% - 24px)));background:var(--white);border:1px solid var(--line);padding:12px;position:absolute;box-shadow:0 8px 24px #17253b14}.proof-sticker-body .prove-reason-card{width:auto;box-shadow:none;position:relative;top:auto;left:auto}.prove-reason-card fieldset{border:0;margin:0;padding:0}.prove-reason-card legend{margin-bottom:8px;font-size:16px;font-weight:700}.pair-alert{z-index:6;left:50%;bottom:calc(var(--board-inset-bottom,0px) + 56px);border-left:3px solid var(--coral);background:#f9e8e3;max-width:min(520px,100% - 24px);margin:0;padding:10px 12px;font-size:14px;position:absolute;transform:translate(-50%)}.exam-script{max-width:720px;margin:0 auto 16px;font-family:Georgia,serif}.figure-details h3{margin:16px 0 8px;font-size:16px}.figure-summary,.figure-next{margin:0 0 10px;font-size:16px;line-height:1.45}.figure-object-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.figure-object-list li{gap:6px;display:flex}.figure-object-list button,.nudge-pad button{border:1px solid var(--line);background:var(--paper);cursor:pointer;min-width:44px;min-height:44px;font-size:14px;font-weight:700}.figure-object-list button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.vertex-controller{border:1px dashed var(--ink);min-height:44px;padding:10px;font-size:16px}.nudge-pad{grid-template-columns:repeat(4,minmax(44px,1fr));gap:6px;margin-top:8px;display:grid}.figure-reason,.figure-construct{border:1px solid var(--line);margin:12px 0;padding:12px}.figure-reason label,.figure-construct label{border:1px solid var(--line);cursor:pointer;border-bottom:0;align-items:center;gap:10px;min-height:44px;padding:8px 10px;font-size:16px;display:flex}.figure-reason label:last-of-type,.figure-construct label:last-of-type{border-bottom:1px solid var(--line)}.figure-reason label.selected,.figure-construct label.selected{background:#eef3ff}.figure-reason .primary,.figure-construct .primary{margin-top:12px}.figure-observations{margin-top:16px}.figure-observations ul{margin:0;padding-left:1.2em;font-size:16px}.figure-proof-outline{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.view-controls{z-index:5;left:var(--view-x,auto);top:var(--view-y,auto);flex-direction:column;gap:6px;display:flex;position:absolute;bottom:auto;right:auto}.view-controls button{border:1px solid var(--line);background:var(--white);cursor:pointer;min-width:44px;min-height:44px;padding:0 8px;font-size:16px;font-weight:700}.board-stage[data-orientation=portrait] .flow-tabs{width:auto;max-width:none;left:8px;right:8px;transform:none}.board-stage[data-orientation=portrait] .surface-tabs,.board-stage[data-orientation=portrait] .task-tab{top:0;left:auto;right:8px}.board-stage[data-orientation=portrait] .explore-tag{left:12px;bottom:calc(var(--board-inset-bottom,0px) + 12px)}@media (max-width:680px){.lesson-app-bar{grid-template-columns:minmax(0,1fr) auto auto}.save-state{font-size:11px}.lesson-app-bar h1{font-size:15px}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
