:root{color-scheme:light;font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,sans-serif;background:#f4f7fb;color:#172033}*{box-sizing:border-box}html,body{min-width:0;min-height:100%;margin:0;overflow-x:hidden}body{background:radial-gradient(circle at 8% 7%,rgba(59,130,246,.17),transparent 32rem),radial-gradient(circle at 93% 42%,rgba(139,92,246,.14),transparent 28rem),#f4f7fb}button,input{font:inherit}.both-sides-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 2rem}.both-sides-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin:1rem 0 1.1rem}.eyebrow,.subtitle,.local-note{margin:0}.eyebrow{color:#1d4ed8;font-size:.84rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}h1{max-width:900px;margin:.4rem 0 .35rem;font-size:clamp(1.65rem,3.5vw,3.15rem);line-height:1.06}.subtitle{color:#5b6475;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:750}.local-note{flex:none;padding:.55rem .75rem;border:1px solid rgba(15,118,110,.22);border-radius:999px;background:rgba(255,255,255,.8);color:#0f766e;font-size:.82rem;font-weight:750;white-space:nowrap}.both-sides-board{min-height:490px;display:grid;align-content:center;justify-items:center;gap:.8rem;padding:clamp(1rem,3vw,2rem);border:1px solid rgba(86,97,118,.17);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 22px 60px rgba(44,54,83,.12);overflow:hidden}.hero-equation{margin:0;color:#1e3a8a;font-size:clamp(1.8rem,5vw,3.6rem);font-weight:920;letter-spacing:-.04em}.source-stage{display:grid;justify-items:center;gap:.6rem;width:min(100%,940px)}.source-equation{margin:0;color:#475569;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:820}.equation-trays{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;width:100%}.equation-tray{position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:150px;padding:2.1rem .7rem 1.8rem;border:2px solid #cbd5e1;border-radius:22px;background:#f8fafc}.tray-label{position:absolute;top:.55rem;left:.7rem;color:#64748b;font-size:.72rem;font-weight:820;text-transform:uppercase;letter-spacing:.08em}.shared-x-group{--remove-progress:0;--remove-lift:0px;display:flex;gap:.25rem;padding:.35rem;border:3px solid transparent;border-radius:14px;opacity:calc(1 - var(--remove-progress));transform:translateY(var(--remove-lift))}.both-sides-board[data-state="decompose"] .shared-x-group,.both-sides-board[data-state="removing"] .shared-x-group,.both-sides-board[data-state="explore"] .shared-x-group,.both-sides-board[data-state="conclusion"] .shared-x-group{border-color:#8b5cf6;background:#ede9fe}.shared-x-tile,.remaining-x-tile,.constant-tile{display:grid;place-items:center;min-width:2.55rem;min-height:3.3rem;border-radius:10px;font-weight:900}.shared-x-tile{background:#8b5cf6;color:white}.remaining-x-tile{background:#2563eb;color:white}.remaining-x-group{display:flex;gap:.2rem}.constant-tile{background:#fbbf24;color:#78350f}.constant-wide{min-width:3.5rem}.plus,.equals{color:#64748b;font-size:1.5rem;font-weight:900}.shared-label{position:absolute;bottom:.35rem;color:#6d28d9;font-size:.82rem;opacity:0}.both-sides-board[data-state="decompose"] .shared-label,.both-sides-board[data-state="removing"] .shared-label,.both-sides-board[data-state="explore"] .shared-label,.both-sides-board[data-state="conclusion"] .shared-label{opacity:1}.reduced-card,.explore-card,.conclusion-card{width:min(100%,720px);border-radius:17px}.reduced-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#dcfce7;color:#166534}.reduced-card strong{font-size:clamp(1.35rem,3vw,2rem)}.explore-card{display:grid;gap:.35rem;padding:.75rem 1rem;background:#f8fafc}.explore-card label{display:flex;justify-content:space-between;font-weight:760}.explore-card input{width:100%;min-height:44px;accent-color:#8b5cf6}.range-scale{display:flex;justify-content:space-between;color:#64748b}.conclusion-card{padding:.85rem 1rem;background:#ede9fe;color:#4c1d95;text-align:center}.conclusion-card h2,.conclusion-card p{margin:0}.conclusion-card h2{margin-bottom:.25rem;font-size:1rem;text-transform:uppercase;letter-spacing:.12em}.conclusion-card p{font-size:clamp(1.05rem,2.2vw,1.4rem);font-weight:820}.both-sides-insight{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1rem;padding:.85rem 1rem;border:1px solid rgba(86,97,118,.16);border-radius:20px;background:rgba(255,255,255,.88)}.insight-text{margin:0;color:#334155;font-weight:760}.both-sides-controls{display:flex;gap:.6rem}.primary-button,.reset-button{min-height:48px;padding:.7rem 1rem;border:0;border-radius:14px;cursor:pointer;font-weight:820}.primary-button{background:#2563eb;color:white}.reset-button{background:#e2e8f0;color:#334155}.primary-button:disabled{cursor:wait;opacity:.48}button:focus-visible,input:focus-visible,a:focus-visible{outline:4px solid rgba(37,99,235,.25);outline-offset:3px}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width: 640px){.both-sides-shell{width:min(100% - 1rem,1120px);padding-top:.7rem}.both-sides-header{display:grid;gap:.7rem}.local-note{justify-self:start}.both-sides-board{min-height:560px;border-radius:20px}.equation-trays{grid-template-columns:1fr}.equals{line-height:.7}.equation-tray{width:100%;min-height:125px}.reduced-card{display:grid}.both-sides-insight{grid-template-columns:1fr}.both-sides-controls{width:100%}.both-sides-controls button{flex:1}}
@media (max-width: 360px){.both-sides-board{min-height:590px;padding:.7rem}.equation-tray{gap:.25rem;padding-inline:.35rem}.shared-x-tile,.remaining-x-tile{min-width:1.85rem}.both-sides-controls{display:grid}}
@media (orientation: landscape) and (max-height: 820px){.both-sides-shell{padding-top:.55rem}.both-sides-header{margin-block:.55rem .7rem}.both-sides-board{min-height:350px;padding:.7rem 1rem}.equation-tray{min-height:110px;padding-top:1.7rem}.shared-x-tile,.remaining-x-tile,.constant-tile{min-height:2.6rem}}
@media (min-width: 1500px){.both-sides-shell{width:min(1280px,calc(100% - 4rem))}.both-sides-board{min-height:540px}.source-stage{width:min(100%,1080px)}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
