*{box-sizing:border-box}:root{--background:#f7f7fb;--surface:#fff;--surface-strong:#eef1f6;--text:#21252d;--muted:#5f6877;--line:#d8deea;--primary:#245caa;--primary-dark:#174783;--positive:#159a8c;--negative:#d95555;--warning:#d89028;--purple:#6f5fbf}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.48;transform:none}a{color:inherit;text-decoration:none}.app-page{min-height:100vh;padding:24px}.home-page{align-content:center;gap:28px;display:grid}.brand-block{max-width:980px}.brand-mark{border:2px solid var(--text);background:var(--surface);min-width:84px;min-height:84px;color:var(--text);border-radius:8px;place-items:center;font-size:1.4rem;font-weight:900;display:inline-grid}.brand-title{letter-spacing:0;margin:18px 0 8px;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.95}.brand-subtitle{max-width:720px;color:var(--muted);margin:0;font-size:1.25rem;line-height:1.5}.launch-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;width:min(100%,1120px);display:grid}.launch-button,.big-button,.tool-button,.small-button{border:2px solid var(--line);background:var(--surface);min-height:56px;color:var(--text);cursor:pointer;letter-spacing:0;border-radius:8px;justify-content:center;align-items:center;font-weight:800;transition:transform .14s,border-color .14s,background-color .14s;display:inline-flex}.launch-button{min-height:112px;padding:22px;font-size:1.3rem;box-shadow:0 12px 28px #21252d14}.launch-button:hover,.big-button:hover,.tool-button:hover,.small-button:hover{border-color:var(--primary);transform:translateY(-1px)}.tool-header{z-index:10;border-bottom:2px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f7fbf0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.tool-title{margin:0;font-size:1.35rem}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tool-button{min-width:112px;padding:12px 16px}.small-button{min-width:88px;min-height:48px;padding:10px 14px}.tool-button.active,.small-button.active,.small-button.primary,.big-button.primary,.tool-button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.danger{border-color:var(--negative);color:var(--negative)}.danger:hover{background:#fff1f1}.status-pill{border:2px solid var(--line);background:var(--surface);min-height:40px;color:var(--muted);border-radius:8px;align-items:center;padding:8px 12px;font-size:.95rem;font-weight:800;display:inline-flex}.board-shell{min-height:calc(100vh - 74px);padding:18px;display:grid}.whiteboard-shell{padding:0}.whiteboard-area{background:#fff;height:calc(100vh - 78px);position:relative;overflow:hidden}.whiteboard-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.manipulative-board{border:2px solid var(--line);background:linear-gradient(90deg, #d8deea73 1px, transparent 1px), linear-gradient(0deg, #d8deea73 1px, transparent 1px), var(--surface);background-size:40px 40px;border-radius:8px;min-height:calc(100vh - 128px);position:relative;overflow:hidden}.algebra-shell{gap:14px}.expression-panel{border:2px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(260px,1fr) auto auto auto;align-items:end;gap:12px;padding:14px;display:grid}.expression-field{min-width:0}.equation-display{z-index:1;border:2px solid var(--line);min-height:64px;color:var(--text);pointer-events:none;background:#ffffffeb;border-radius:8px;place-items:center;font-size:2rem;font-weight:900;display:grid;position:absolute;top:22px;left:24px;right:24px}.tile-equals-sign{z-index:1;border:3px solid var(--text);width:72px;height:72px;color:var(--text);pointer-events:none;background:#fffffff0;border-radius:8px;place-items:center;font-size:3.4rem;font-weight:900;line-height:1;display:grid;position:absolute;top:238px;left:50%;transform:translate(-50%)}.tile,.fraction-bar{color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border:2px solid #00000029;border-radius:8px;place-items:center;font-weight:900;display:grid;position:absolute;box-shadow:0 10px 18px #21252d24}.tile:active,.fraction-bar:active{cursor:grabbing}.tile.selected,.fraction-bar.selected{outline:4px solid var(--warning);outline-offset:3px;box-shadow:0 12px 22px #21252d33}.tile.positive{background:var(--positive)}.tile.negative{background:var(--negative)}.tile.unit{width:58px;height:58px}.tile.x{width:64px;height:142px}.tile.x2{width:122px;height:122px}.fraction-board{--whole-width:min(720px, calc(100vw - 88px));align-content:start;gap:14px;padding:24px;display:grid}.fraction-ruler{width:min(var(--whole-width), 100%);border:2px dashed var(--line);height:48px;color:var(--muted);border-radius:8px;place-items:center;margin:0 auto;font-weight:800;display:grid}.fraction-stage{border:2px solid var(--line);background:linear-gradient(90deg, #d8deea7a 1px, transparent 1px), linear-gradient(0deg, #d8deea7a 1px, transparent 1px), var(--surface);background-position:24px 24px;background-size:40px 62px;border-radius:8px;min-height:calc(100vh - 210px);position:relative;overflow:hidden}.fraction-bar{height:46px;overflow:hidden}.fraction-label{z-index:1;position:relative}.form-page{gap:20px;max-width:980px;margin:0 auto;padding:24px;display:grid}.form-panel,.responses-panel,.timer-panel{border:2px solid var(--line);background:var(--surface);border-radius:8px;gap:16px;padding:20px;display:grid}.field{gap:8px;font-weight:800;display:grid}.text-input,.text-area{border:2px solid var(--line);width:100%;color:var(--text);border-radius:8px;padding:14px 16px;font-size:1.08rem}.text-area{resize:vertical;min-height:118px}.code-card{border:2px solid var(--text);background:var(--surface-strong);border-radius:8px;place-items:center;width:fit-content;min-width:176px;padding:16px 22px;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:2.3rem;font-weight:900;display:inline-grid}.responses-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.response-item{border:2px solid var(--line);background:#fbfcff;border-radius:8px;gap:6px;padding:14px;display:grid}.response-name{color:var(--primary-dark);font-weight:900}.response-answer{margin:0;font-size:1.12rem}.history-item{padding:0}.history-button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;gap:6px;padding:14px;display:grid}.history-button:hover{background:var(--surface-strong)}.history-meta{color:var(--muted);font-size:.95rem;font-weight:800}.timer-page{place-items:center;min-height:calc(100vh - 74px);padding:24px;display:grid}.timer-panel{justify-items:center;width:min(100%,680px)}.timer-display{font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:clamp(4rem,15vw,9rem);font-weight:900;line-height:1}.timer-inputs{grid-template-columns:repeat(2,minmax(140px,1fr));gap:12px;width:100%;display:grid}.timer-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.number-line-page{gap:18px;padding:18px;display:grid}.number-line-controls{border:2px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;padding:16px;display:grid}.number-line-stage{border:2px solid var(--line);background:var(--surface);border-radius:8px;align-content:center;gap:34px;min-height:calc(100vh - 230px);padding:34px;display:grid}.number-line-row{gap:18px;display:grid}.number-line-label{color:var(--primary-dark);font-size:1.4rem;font-weight:900}.number-line-track{cursor:pointer;touch-action:none;height:150px;position:relative}.number-line-axis{background:var(--text);border-radius:999px;height:6px;position:absolute;top:68px;left:0;right:0}.number-line-tick{width:1px;position:absolute;top:40px;transform:translate(-50%)}.number-line-tick-mark{background:var(--text);border-radius:999px;width:4px;height:62px;display:block}.number-line-tick-label{color:var(--muted);white-space:nowrap;font-size:.95rem;font-weight:800;position:absolute;top:72px;left:50%;transform:translate(-50%)}.number-line-marker{border:2px solid var(--primary-dark);background:var(--primary);color:#fff;border-radius:8px;place-items:center;min-width:70px;height:52px;font-weight:900;display:grid;position:absolute;top:6px;transform:translate(-50%);box-shadow:0 10px 20px #21252d2e}.number-line-marker:after{background:var(--primary);content:"";border-radius:999px;width:6px;height:22px;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.big-button{min-width:140px;min-height:64px;padding:14px 22px;font-size:1.1rem}@media (max-width:700px){.app-page,.form-page,.board-shell,.timer-page{padding:14px}.tool-header{position:relative}.tool-button,.small-button,.big-button,.toolbar,.timer-actions{width:100%}.timer-inputs,.expression-panel,.number-line-controls{grid-template-columns:1fr}.fraction-board{--whole-width:calc(100vw - 60px);padding:14px}}
