:root{--ink:#102620;--board:#183d32;--chalk:#f5f0df;--gold:#f0c96a;--muted:#b9ccc3;--line:#416355}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}
body[data-view="studio"]{background:#e8e9df;color:var(--ink);padding:clamp(16px,4vw,40px)}
.studio{max-width:900px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#497061}
h1{font-size:clamp(32px,5vw,52px);line-height:1.04;margin:10px 0}.intro{max-width:65ch;line-height:1.55;color:#486258}
.studio-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:26px}.panel{background:#fff;border:1px solid #c8d4cb;border-radius:20px;padding:22px;box-shadow:0 12px 36px #143c2910}
label{display:block;font-size:13px;font-weight:800;margin:16px 0 6px}.field{width:100%;border:1px solid #a6b7ad;border-radius:10px;background:#fbfcf8;padding:12px;color:var(--ink);outline-color:#4c8e72}.field:focus{border-color:#4c8e72}textarea.field{resize:vertical;min-height:78px}.steps-field{min-height:185px!important;line-height:1.65}
.hint{font-size:13px;line-height:1.5;color:#60766a;margin:5px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.primary,.secondary{border:0;border-radius:11px;padding:12px 17px;font-weight:800}.primary{background:var(--board);color:#fff}.secondary{background:#e6eee8;color:var(--ink)}.controls{display:flex;gap:10px;margin-top:18px}.controls button{flex:1}.status{padding:18px;border-radius:14px;background:#f2f5ef;font-weight:700}.error{color:#9d332d;min-height:20px;font-size:14px;font-weight:700}.capture-note{font-size:14px;line-height:1.6;color:#4a6256}
body[data-view="stage"]{background:#091b17;display:grid;place-items:center;min-height:100vh;overflow:hidden}
.board{position:relative;display:flex;flex-direction:column;overflow:hidden;width:min(100vw,56.25vh);height:min(100vh,177.778vw);background:radial-gradient(circle at 50% 25%,#245343 0,var(--board) 58%,#102a23 100%);border:clamp(5px,1vw,14px) solid #9b7652;box-shadow:inset 0 0 70px #081b1699,0 0 70px #0009;color:var(--chalk);padding:7% 7% 12%}
.board.horizontal{width:min(100vw,177.778vh);height:min(100vh,56.25vw);padding:4.5% 7% 5%}
.board:after{content:"";pointer-events:none;position:absolute;inset:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}
.board-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:clamp(11px,1.7vmin,20px);font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);padding-top:5%;border-bottom:2px solid #d9e5d655;padding-bottom:4%}
.board.horizontal .board-top{padding-top:0;padding-bottom:2%}.board-top span:last-child{color:var(--muted);white-space:nowrap;font-size:.8em}
.problem-label{font-size:clamp(12px,1.9vmin,23px);font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-top:7%}
.problem{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,8vmin,76px);line-height:1.18;font-weight:700;margin:2% 0 4%;overflow-wrap:anywhere;white-space:pre-wrap;text-shadow:0 0 12px #f5f0df33}
.horizontal .problem-label{margin-top:3%}.horizontal .problem{font-size:clamp(28px,5.2vmin,70px);margin-bottom:2%}
.steps{display:flex;flex-direction:column;gap:3%;overflow-y:auto;min-height:0;scrollbar-width:none;padding:1% 1% 2%}.steps::-webkit-scrollbar{display:none}
.stage-step{display:grid;grid-template-columns:2em 1fr;gap:4%;padding:3% 0;border-top:1px solid #d9e5d644;animation:write-in .38s ease-out both}.step-number{color:var(--gold);font-size:clamp(12px,2.2vmin,24px);font-weight:800;padding-top:.3em}
.stage-math{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,6.4vmin,62px);font-weight:700;line-height:1.17;overflow-wrap:anywhere;white-space:pre-wrap}.stage-note{margin-top:.3em;font-size:clamp(16px,2.7vmin,26px);line-height:1.3;color:var(--muted);white-space:pre-wrap}
.answer{margin-top:auto;padding:4% 5%;border:2px solid var(--gold);border-radius:14px;background:#102d26;font-size:clamp(22px,4.2vmin,56px);font-family:Georgia,"Times New Roman",serif;font-weight:700;color:var(--gold);overflow-wrap:anywhere;animation:write-in .35s ease-out both}.answer[hidden]{display:none}.answer small{display:block;font:800 .4em system-ui;letter-spacing:.16em;margin-bottom:6px}
.board-foot{position:absolute;bottom:3%;left:7%;right:7%;font-size:clamp(11px,1.6vmin,18px);letter-spacing:.08em;color:var(--muted);display:flex;justify-content:space-between}
@keyframes write-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.studio-grid{grid-template-columns:1fr}.panel{padding:18px}}
