:root{--chrome-bg:#f2f1ee;--canvas-bg:#faf9f7;--panel-border:#e3e1dc;--surface-white:#fff;--text-primary:#2b2a28;--text-secondary:#6b6864;--accent:#3d6b5e;--accent-soft:#3d6b5e1f;--snap-flash:#b0783c;--grid-dot:#dddbd6;--eyebrow:#8a5a28;--paint-red:#c1462f;--ink-soft:#57544f;--font-ui:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--font-figure:"STIX Two Text", serif;--font-marker:"Permanent Marker", cursive;--font-script:"Caveat", cursive;--shadow-float:0 4px 16px #2b2a281a;--tp-type-caption:.6875rem;--tp-type-control:.75rem;--tp-type-body:.8125rem;--tp-type-title:.9375rem;--tp-type-headline:1.375rem}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{font:450 13px/1.4 var(--font-ui);color:var(--text-primary);background:var(--chrome-bg);overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}@keyframes cmp-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.cmp-cap{cursor:pointer;border-bottom:1px dotted var(--text-secondary)}.cmp-cap:hover{color:var(--accent);border-bottom-color:var(--accent)}.rail-tool-group .rail-fold{color:var(--ink-soft);transition:color .12s}.rail-tool-group:hover .rail-fold{color:var(--accent)}.sk-range{appearance:none;background:var(--panel-border);cursor:pointer;border-radius:3px;height:4px}.sk-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 3px #2b2a284d}.sk-range::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 3px #2b2a284d}.worksheet-items-sheet{border:0;border-left:1px solid var(--panel-border);background:var(--chrome-bg);width:min(92vw,340px);max-width:none;height:calc(100dvh - 44px);max-height:none;color:var(--text-primary);flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:44px 0 0 auto;box-shadow:-12px 0 32px #2b2a2833}.worksheet-items-sheet::backdrop{background:#2b2a2857}.worksheet-items-sheet button{min-width:44px;min-height:44px}.worksheet-items-sheet input,.worksheet-items-sheet math-field{min-height:44px}.worksheet-studio-shell{z-index:50;background:var(--canvas-bg);min-width:0;min-height:0;color:var(--text-primary);flex-direction:column;display:flex;position:fixed;inset:0}.worksheet-studio-header{border-bottom:1px solid var(--panel-border);background:var(--chrome-bg);align-items:center;gap:16px;min-height:56px;padding:0 12px;display:flex}.worksheet-studio-title{flex-direction:column;gap:2px;min-width:150px;display:flex}.worksheet-studio-title>h1{font:600 var(--tp-type-title)/1.2 var(--font-figure);margin:0}.worksheet-studio-title>small{max-width:220px;color:var(--text-secondary);font:500 var(--tp-type-caption)/1.2 var(--font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.worksheet-studio-nav{border:1px solid var(--panel-border);border-radius:5px;min-width:0;display:flex;overflow-x:auto}.worksheet-studio-nav button{border:0;border-left:1px solid var(--panel-border);min-width:72px;min-height:32px;color:var(--text-secondary);cursor:pointer;font:550 var(--tp-type-control)/1.2 var(--font-ui);background:#fff;padding:0 12px}.worksheet-studio-nav button:first-child{border-left:0}.worksheet-studio-nav button[aria-pressed=true]{background:var(--accent);color:#fff}.worksheet-studio-nav button:disabled{color:var(--panel-border);cursor:not-allowed}.worksheet-studio-private{color:var(--text-secondary);font:500 10px var(--font-mono);white-space:nowrap;margin-left:auto}.worksheet-studio-private span{color:var(--accent)}.teacher-pack{background:var(--canvas-bg);min-width:0;min-height:0;color:var(--text-primary);flex:1;grid-template-rows:minmax(0,1fr);display:grid}.tp-eyebrow{color:var(--eyebrow);font:600 10px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;display:block}.tp-build{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;min-height:44px;font:550 .875rem/1.2 var(--font-ui);border-radius:6px;padding:0 16px;transition:background-color .16s,border-color .16s,color .16s}.tp-build:hover{background:#315b50;border-color:#315b50}.tp-build:disabled{border-color:var(--panel-border);background:var(--panel-border);color:var(--text-secondary);cursor:not-allowed}.tp-workspace{min-height:0;display:block}.tp-zone{width:100%;min-width:0;height:100%;min-height:0;display:none}.tp-blueprint,.tp-package{background:var(--surface-white);padding:24px;overflow-y:auto}.tp-blueprint.is-active{width:min(100%,640px);margin:0 auto;display:block}.tp-package{flex-direction:column;padding-bottom:184px;position:relative}.tp-package.is-active{width:min(100%,640px);margin:0 auto;display:flex}.tp-zone-heading{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.tp-zone-heading>span{color:var(--eyebrow);font:600 10px/1.4 var(--font-mono)}.tp-zone-heading h2{font:600 var(--tp-type-headline)/1.2 var(--font-figure);letter-spacing:-.01em}.tp-zone-heading p{color:var(--text-secondary);font-size:var(--tp-type-control);margin-top:4px;line-height:1.45}.tp-field{gap:8px;display:grid}.tp-field>span{font-size:var(--tp-type-control);font-weight:600;line-height:1.4}.tp-section-title h3{font:600 var(--tp-type-title)/1.3 var(--font-figure);letter-spacing:-.01em}.tp-field input,.tp-field select,.tp-points{border:1px solid var(--panel-border);width:100%;min-height:44px;color:var(--text-primary);font:500 var(--tp-type-body)/1.4 var(--font-ui);background:#fff;border-radius:5px;padding:0 12px}.tp-mono{font-family:var(--font-mono)!important;font-size:11px!important}.tp-plan-summary{background:var(--accent-soft);border:1px solid #3d6b5e47;flex-direction:column;justify-content:center;gap:4px;min-height:56px;margin-top:16px;padding:8px 12px;display:flex}.tp-plan-summary.has-error{background:#c1462f14;border-color:#c1462f57}.tp-plan-summary strong{font-size:var(--tp-type-body);line-height:1.35}.tp-plan-summary span{color:var(--text-secondary);font-size:var(--tp-type-caption);line-height:1.45}.tp-section{border-top:1px solid var(--panel-border);margin-top:32px;padding-top:24px}.tp-section-title{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.tp-section-title span{color:var(--text-secondary);font:500 var(--tp-type-caption)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.tp-family-table{border-top:1px solid var(--panel-border)}.tp-family-row{border-bottom:1px solid var(--panel-border);grid-template-columns:minmax(0,1fr) 88px 44px;align-items:center;gap:8px;min-height:64px;display:grid}.tp-family-row>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.tp-family-row strong{font-size:var(--tp-type-control);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.35;overflow:hidden}.tp-family-row span{color:var(--text-secondary);font-size:var(--tp-type-caption);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.tp-stepper{border:1px solid var(--panel-border);border-radius:5px;grid-template-columns:28px 30px 28px;height:44px;display:grid;overflow:hidden}.tp-stepper button{color:var(--text-primary);cursor:pointer;font:16px var(--font-ui);background:0 0;border:0}.tp-stepper button:hover{background:var(--accent-soft)}.tp-stepper button:disabled{color:var(--panel-border);cursor:not-allowed}.tp-stepper output{border-right:1px solid var(--panel-border);border-left:1px solid var(--panel-border);font:600 var(--tp-type-caption)/1.2 var(--font-mono);font-variant-numeric:tabular-nums;place-items:center;display:grid}.tp-points{text-align:center;font-variant-numeric:tabular-nums;height:44px;min-height:44px;padding:0 4px}.tp-difficulty-list{gap:12px;display:grid}.tp-difficulty-list label{color:var(--text-secondary);font-size:var(--tp-type-caption);grid-template-columns:72px 1fr 36px;align-items:center;gap:8px;line-height:1.35;display:grid}.tp-difficulty-list input{width:100%;accent-color:var(--accent)}.tp-difficulty-list output{color:var(--text-primary);font:500 var(--tp-type-caption)/1.2 var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.tp-two-up{grid-template-columns:1fr 1fr;gap:16px;display:grid}.tp-two-up .tp-field{min-width:0}.tp-two-up+.tp-field{margin-top:24px}.tp-proof{background:var(--canvas-bg);grid-template-rows:56px minmax(0,1fr) 72px;overflow:hidden}.tp-proof.is-active{display:grid}.tp-proof-toolbar{border-bottom:1px solid var(--panel-border);background:var(--chrome-bg);align-items:center;gap:16px;padding:0 16px;display:flex}.tp-segmented,.tp-version-tabs{border:1px solid var(--panel-border);border-radius:5px;display:flex;overflow:hidden}.tp-segmented button,.tp-version-tabs button{border:0;border-left:1px solid var(--panel-border);min-width:44px;min-height:32px;color:var(--text-primary);cursor:pointer;font:550 var(--tp-type-control)/1.2 var(--font-ui);background:#fff}.tp-segmented button:first-child,.tp-version-tabs button:first-child{border-left:0}.tp-segmented button[aria-pressed=true],.tp-version-tabs button[aria-pressed=true]{background:var(--accent);color:#fff}.tp-page-count{color:var(--text-secondary);font:500 var(--tp-type-caption)/1.3 var(--font-mono);font-variant-numeric:tabular-nums;margin-left:auto}.tp-canvas{min-height:0;padding:24px;overflow:auto}.tp-paper{aspect-ratio:612/792;width:min(100%,680px);box-shadow:var(--shadow-float);background:#fff;border-radius:3px;margin:0 auto;overflow:hidden}.tp-paper-svg,.tp-paper-svg>svg{width:100%;height:100%}.tp-rendering,.tp-empty-proof{height:100%;color:var(--text-secondary);text-align:center;place-content:center;gap:8px;display:grid}.tp-empty-proof strong{color:var(--text-primary);font:600 var(--tp-type-headline)/1.2 var(--font-figure)}.tp-page-nav{justify-content:space-between;align-items:center;gap:16px;width:min(100%,680px);margin:16px auto 0;display:flex}.tp-page-nav>div{gap:4px;display:flex}.tp-page-nav button{border:1px solid var(--panel-border);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;font:500 var(--tp-type-control)/1.2 var(--font-ui);background:#fff;border-radius:5px}.tp-page-nav button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.tp-page-nav button:disabled{color:var(--panel-border);cursor:not-allowed}.tp-proof-inspector{border-top:1px solid var(--panel-border);background:var(--surface-white);justify-content:space-between;align-items:center;gap:24px;padding:8px 16px;display:flex}.tp-proof-inspector>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.tp-proof-inspector strong{font-size:var(--tp-type-control);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.tp-answer-preview{color:var(--text-secondary);font-size:var(--tp-type-caption);line-height:1.35}.tp-inspector-actions{gap:8px;display:flex}.tp-inspector-actions button{border:1px solid var(--panel-border);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;font:550 var(--tp-type-control)/1.2 var(--font-ui);background:#fff;border-radius:5px;padding:0 12px}.tp-inspector-actions button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:#3d6b5e61}.tp-inspector-actions button:disabled{color:var(--panel-border);cursor:not-allowed}.tp-version-count{align-items:center;gap:12px;display:flex}.tp-version-count strong{font-size:var(--tp-type-control)}.tp-readiness-list{border-top:1px solid var(--panel-border);margin-top:16px}.tp-readiness-list>div{border-bottom:1px solid var(--panel-border);min-height:40px;font-size:var(--tp-type-control);justify-content:space-between;align-items:center;display:flex}.tp-ready{color:var(--accent);font:550 var(--tp-type-caption)/1.2 var(--font-mono)}.tp-check-list{gap:12px;display:grid}.tp-check-list>div{min-height:32px;font-size:var(--tp-type-control);grid-template-columns:16px 1fr auto;align-items:center;gap:8px;display:grid}.tp-check{background:var(--accent);color:#fff;width:16px;height:16px;font-size:var(--tp-type-caption);border-radius:2px;place-items:center;font-weight:600;display:grid}.tp-check-list small{color:var(--text-secondary);font:500 var(--tp-type-caption)/1.2 var(--font-mono)}.tp-manifest{color:var(--text-secondary);font:500 var(--tp-type-caption)/1.4 var(--font-mono);gap:8px;display:grid}.tp-manifest span:before{content:"└ ";color:var(--panel-border)}.tp-filename{overflow-wrap:anywhere;color:var(--text-secondary);font-size:var(--tp-type-caption);margin-top:16px;line-height:1.4}.tp-package-action{border-top:1px solid var(--panel-border);background:var(--chrome-bg);gap:12px;padding:16px 24px;display:grid;position:absolute;bottom:0;left:0;right:0}.tp-package-action .tp-build{width:100%}.tp-package-action>p{color:var(--text-secondary);font:500 var(--tp-type-caption)/1.3 var(--font-mono);text-align:center}.tp-package-status{flex-direction:column;gap:4px;display:flex}.tp-package-status strong{color:var(--paint-red);font-size:var(--tp-type-control)}.tp-package-status.is-ready strong{color:var(--accent)}.tp-package-status span{color:var(--text-secondary);font-size:var(--tp-type-caption);line-height:1.4}@media (width<=720px){.worksheet-studio-header{gap:8px;padding:0 8px}.worksheet-studio-private{display:none}.worksheet-studio-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.worksheet-studio-nav{flex:1}.worksheet-studio-nav button{min-width:70px;padding:0 8px}.tp-blueprint,.tp-package{padding:24px 16px}.tp-family-row{grid-template-columns:minmax(0,1fr) 88px 44px}.tp-proof{grid-template-rows:auto minmax(0,1fr) auto}.tp-proof-toolbar{flex-wrap:wrap;gap:8px;min-height:104px;padding:8px 12px}.tp-page-count{width:100%;margin-left:0}.tp-canvas{padding:16px 12px}.tp-proof-inspector{flex-direction:column;align-items:stretch;gap:8px;padding:12px}.tp-inspector-actions{grid-template-columns:repeat(4,1fr);display:grid}.tp-inspector-actions button{min-width:0;padding:0 4px}.tp-page-nav>button:first-child,.tp-page-nav>button:last-child{display:none}.tp-page-nav{justify-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
