:root{--background:#f6f8f4;--surface:#fff;--surface-strong:#f0f6f4;--ink:#17211f;--muted:#60706b;--line:#d8e1dc;--line-strong:#aec2ba;--coef-a:#176f6b;--coef-b:#c45d38;--coef-c:#4867a8;--accent:#0f7b78;--accent-strong:#0a5653;--tile-positive:#8bd9c7;--tile-negative:#f1a8a0;--tile-core:#f7d879;--danger:#9b2638;--shadow:0 18px 42px #2336311f}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:linear-gradient(180deg, #ffffffe6, #f6f8f4f5), linear-gradient(90deg, #0f7b780f, #f7d8790f), var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer;border:0}.polypad-page{max-width:1500px;min-height:100vh;margin:0 auto;padding:24px}.app-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 7px;font-size:.76rem;font-weight:800}h1{letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,4.25rem);line-height:.94}.header-equation{border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);text-align:right;white-space:normal;background:#ffffffbd;border-radius:8px;max-width:100%;padding:14px 18px;font-size:clamp(1rem,2vw,1.45rem);font-weight:800}.studio-grid{grid-template-columns:minmax(270px,330px) minmax(420px,1fr) minmax(300px,370px);align-items:stretch;gap:16px;display:grid}.panel,.graph-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:8px}.panel{min-width:0;padding:16px}.controls-panel,.square-panel{flex-direction:column;gap:16px;display:flex}.panel-title,.graph-toolbar,.control-heading,.icon-row,.graph-actions,.graph-status,.proof-tabs,.square-summary,.metric-card{align-items:center;display:flex}.panel-title{color:var(--ink);gap:8px;font-weight:850}.graph-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.graph-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 14px}.graph-actions,.icon-row{gap:8px}.graph-actions button,.icon-row button{background:var(--surface-strong);border:1px solid var(--line);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.graph-actions button:hover,.icon-row button:hover{border-color:var(--line-strong);background:#e6f2ef;transform:translateY(-1px)}.control-stack{gap:14px;display:grid}.coefficient-control{border:1px solid var(--line);background:#f9fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.control-heading{gap:8px}.control-heading span:nth-child(2){color:var(--ink);min-width:18px;font-weight:850}.control-heading strong{margin-left:auto;font-size:.9rem}.swatch{border-radius:999px;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000001f}input[type=range]{accent-color:var(--accent);width:100%}.number-input{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:100%;min-width:0;padding:9px 10px}.number-input:focus{border-color:var(--accent);outline:3px solid #0f7b7824}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.preset-button{color:#453a12;background:#fff8df;border:1px solid #ead796;border-radius:8px;min-height:38px;padding:8px 10px;font-size:.88rem;font-weight:750}.preset-button:hover{background:#fff1bb}.metric-stack{gap:10px;display:grid}.metric-card{border:1px solid var(--line);background:#f7faf9;border-radius:8px;justify-content:space-between;gap:12px;min-height:54px;padding:12px}.metric-card span,.square-summary span,.proof-card span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.metric-card strong{color:var(--ink);text-align:right;font-size:.95rem}.graph-svg{aspect-ratio:1000/540;touch-action:none;width:100%;min-height:330px;display:block}.graph-bg{fill:#fbfdfb}.grid-line{stroke:#dfe8e4;stroke-width:1px}.axis-line{stroke:#51615c;stroke-width:2.4px}.tick-label{fill:#71817c;paint-order:stroke;stroke:#fbfdfb;stroke-width:5px;text-anchor:middle;font-size:18px;font-weight:650}.tick-label.y{text-anchor:start}.parabola-path{fill:none;filter:drop-shadow(0 8px 10px #0f7b7829);stroke:var(--accent);stroke-linecap:round;stroke-width:8px}.vertex-marker circle{fill:#fff;stroke:var(--coef-b);stroke-width:5px}.vertex-marker text,.root-marker text{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:6px;text-anchor:middle;font-size:24px;font-weight:850}.root-guide{stroke:#4867a847;stroke-dasharray:8 9;stroke-width:3px}.root-marker circle{cursor:ew-resize;fill:var(--coef-c);stroke:#fff;stroke-width:5px;transition:r .14s}.graph-status{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 14px;font-size:.86rem;font-weight:720}.graph-status span{align-items:center;gap:6px;display:inline-flex}.square-svg{border:1px solid var(--line);background:#fbfdfb;border-radius:8px;width:100%;display:block}.tile{stroke:#17211f52;stroke-width:2px}.x-square{fill:var(--tile-core)}.x-strip.positive,.corner.positive{fill:var(--tile-positive)}.x-strip.negative,.corner.negative{fill:var(--tile-negative)}.tile-label,.dimension-text{fill:var(--ink);text-anchor:middle;font-size:16px;font-weight:850}.tile-label.large{font-size:22px}.tile-label.small{font-size:11px}.dimension-line,.dimension-cap{fill:none;stroke:#667873;stroke-linecap:round;stroke-width:2px}.area-pill rect{stroke-width:1.5px}.area-pill text{text-anchor:middle;font-size:15px;font-weight:850}.area-pill.positive rect{fill:#e2f6ef;stroke:#84cbb6}.area-pill.positive text{fill:#0b605b}.area-pill.negative rect{fill:#fff0ef;stroke:#e1928a}.area-pill.negative text{fill:var(--danger)}.square-empty{border:1px dashed var(--line-strong);color:var(--muted);background:#fbfdfb;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:250px;display:flex}.proof-tabs{border:1px solid var(--line);background:#eef6f3;border-radius:8px;gap:4px;padding:4px}.proof-tabs button{color:var(--muted);background:0 0;border-radius:6px;flex:1;height:34px;font-weight:850}.proof-tabs button.active{color:var(--accent-strong);background:#fff;box-shadow:0 6px 16px #17211f1a}.proof-card{color:#fff;background:#17211f;border-radius:8px;gap:8px;padding:15px;display:grid}.proof-card span{color:#aee3d7}.proof-card strong{font-size:clamp(1rem,2vw,1.28rem);line-height:1.25}.proof-card p{color:#d7e3df;margin:0;line-height:1.45}.square-summary{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.square-summary div{justify-content:space-between;align-items:center;gap:12px;display:flex}.square-summary strong{color:var(--ink)}@media (max-width:1180px){.studio-grid{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.square-panel{grid-column:1/-1;grid-template-columns:minmax(260px,380px) minmax(260px,1fr);display:grid}.square-panel .panel-title{grid-column:1/-1}.square-summary{border-top:0;padding-top:0}}@media (max-width:800px){.polypad-page{padding:16px}.app-header{flex-direction:column;align-items:start}.header-equation{text-align:left;width:100%}.studio-grid,.square-panel{grid-template-columns:1fr}.graph-svg{min-height:270px}}@media (max-width:520px){.preset-grid{grid-template-columns:1fr}.metric-card{flex-direction:column;align-items:start}.metric-card strong{text-align:left}}.activity-page{color:var(--ink);background:linear-gradient(#ffffffb8,#f6f8f4f0),radial-gradient(circle at 0 0,#0f7b781f,#0000 34%),linear-gradient(120deg,#f7d87924,#4867a814);grid-template-columns:250px minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid}.activity-rail,.activity-card,.activity-equation,.visual-stage,.activity-footer{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:8px}.activity-rail{flex-direction:column;align-self:start;gap:14px;padding:14px;display:flex;position:sticky;top:18px}.rail-brand{color:var(--ink);align-items:center;gap:10px;display:flex}.rail-brand svg{color:var(--accent)}.rail-brand span,.rail-brand strong{display:block}.rail-brand span{font-weight:900}.rail-brand strong{color:var(--muted);font-size:.78rem}.progress-track{background:#e6efeb;border-radius:999px;height:9px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--accent), var(--coef-b));height:100%;transition:width .18s;display:block}.screen-list{gap:7px;display:grid}.screen-list button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#f8fbfa;border-radius:8px;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;min-height:42px;padding:8px;transition:background .16s,border-color .16s,transform .16s;display:grid}.screen-list button:hover,.screen-list button.active{border-color:var(--line-strong);background:#eef6f3;transform:translateY(-1px)}.screen-list button span{border:1px solid var(--line);color:var(--accent-strong);background:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:900;display:inline-flex}.screen-list button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.screen-list button svg{color:var(--accent)}.studio-link{color:#fff;background:#17211f;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:8px 10px;font-weight:850;text-decoration:none;display:inline-flex}.activity-shell{flex-direction:column;gap:16px;min-width:0;display:flex}.activity-header{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:end;gap:18px;display:grid}.activity-header h1{margin:0;font-size:clamp(2.25rem,5vw,5.2rem);line-height:.9}.activity-header p{color:var(--muted);max-width:760px;margin:12px 0 0;font-size:1.02rem;line-height:1.55}.activity-equation{gap:8px;padding:16px;display:grid}.activity-equation span,.activity-status,.screen-copy>p,.footer-hint,.tile-counter>span,.side-picker>div>span,.reflection-pickers>div>span,.substitute-visual small{color:var(--muted)}.activity-equation span{text-transform:uppercase;font-size:.74rem;font-weight:900}.activity-equation strong{color:var(--ink);font-size:clamp(1rem,2vw,1.45rem);line-height:1.2}.activity-card{gap:16px;min-height:660px;padding:16px;display:grid;overflow:hidden}.activity-card-top,.screen-actions,.activity-footer,.activity-status,.primary-action,.footer-hint{align-items:center;display:flex}.activity-card-top{justify-content:space-between}.activity-status{border:1px solid var(--line);background:#f7faf9;border-radius:999px;gap:7px;padding:7px 11px;font-size:.82rem;font-weight:850}.activity-status.complete{color:#0b605b;background:#e2f6ef}.screen-actions button,.activity-footer button{background:var(--surface-strong);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:9px 12px;font-weight:850;display:inline-flex}.screen-actions button{justify-content:center;width:40px;padding:0}.screen-layout{grid-template-columns:minmax(300px,.86fr) minmax(420px,1.14fr);align-items:stretch;gap:18px;min-height:560px;display:grid}.screen-copy{align-content:start;gap:14px;min-width:0;display:grid}.screen-copy h2{letter-spacing:0;margin:0;font-size:clamp(1.75rem,3vw,3rem);line-height:1}.screen-copy>p{margin:0;font-size:1.02rem;line-height:1.55}.visual-stage{align-content:center;min-height:440px;padding:18px;display:grid;overflow:hidden}.intro-screen .visual-stage{background:linear-gradient(180deg, #fff, #f7faf9), var(--surface)}.concept-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.concept-strip span{border:1px solid var(--line);color:var(--accent-strong);text-align:center;background:#eef6f3;border-radius:8px;min-height:42px;padding:10px;font-size:.85rem;font-weight:850}.counter-grid{gap:10px;display:grid}.tile-counter{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.tile-counter>span{text-transform:uppercase;font-size:.86rem;font-weight:850}.counter-actions{grid-template-columns:34px 42px 34px;align-items:center;gap:8px;display:grid}.counter-actions button{color:#fff;background:#17211f;border-radius:8px;height:34px;font-size:1.15rem;font-weight:900}.counter-actions strong{text-align:center;font-size:1.15rem}.tile-pile{align-content:center;gap:18px;min-height:360px;display:grid}.tile-group{flex-wrap:wrap;justify-content:center;gap:8px;min-height:58px;display:flex}.algebra-tile{border:2px solid #17211f3d;border-radius:8px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.x-square-tile{background:var(--tile-core);width:112px;height:112px;font-size:1.45rem}.x-tile{background:var(--tile-positive);width:100px;height:44px}.unit-tile{background:#f5efe0;width:38px;height:38px}.choice-grid,.choice-stack{gap:9px;display:grid}.choice-grid,.choice-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid button,.choice-stack button{border:1px solid var(--line);color:var(--ink);text-align:center;background:#f8fbfa;border-radius:8px;min-height:44px;padding:10px 12px;font-weight:800}.choice-stack button{text-align:left}.choice-grid button.selected,.choice-stack button.selected{color:#453a12;background:#fff8df;border-color:#d8bd5b;box-shadow:inset 0 0 0 2px #d8bd5b47}.feedback{color:#453a12;background:#fff8df;border:1px solid #ead796;border-radius:8px;padding:12px;font-weight:720;line-height:1.45}.feedback.good{color:#0b605b;background:#e2f6ef;border-color:#84cbb6}.rectangle-model{--unit-columns:4;grid-template-rows:34px minmax(130px,1fr) minmax(96px,auto);grid-template-columns:38px minmax(120px,1fr) minmax(120px,1fr);gap:8px;width:100%;max-width:520px;margin:auto;display:grid}.model-top-label,.model-left-label{color:var(--accent-strong);text-align:center;font-weight:900}.model-top-label{grid-column:2/4}.model-left-label{white-space:nowrap;grid-area:2/1/4;align-self:center;transform:rotate(-90deg)}.model-core,.model-x-column,.model-x-row,.model-unit-grid{border:2px solid #17211f3d;border-radius:8px}.model-core{background:var(--tile-core);grid-area:2/2;justify-content:center;align-items:center;min-height:150px;font-size:2rem;font-weight:900;display:flex}.model-x-column,.model-x-row{background:var(--tile-positive);gap:4px;padding:6px;display:grid}.model-x-column{grid-column:3;grid-template-columns:repeat(var(--unit-columns), minmax(28px, 1fr));grid-row:2}.model-x-row{grid-area:3/2}.model-x-column span,.model-x-row span,.model-unit-grid span{background:#ffffff61;border:1px solid #17211f24;border-radius:6px;justify-content:center;align-items:center;font-weight:850;display:flex}.model-unit-grid{grid-area:3/3;grid-template-columns:repeat(var(--unit-columns), minmax(24px, 1fr));background:#f5efe0;gap:4px;padding:6px;display:grid}.false-arrangement,.loose-tiles{text-align:center;align-content:center;gap:14px;min-height:420px;display:grid}.false-arrangement>span,.loose-tiles>span{color:var(--muted);font-weight:800}.drag-stage{align-content:center;overflow:auto}.drag-workspace{justify-items:center;gap:12px;display:grid}.drag-board{border:1px solid var(--line);touch-action:none;background:linear-gradient(90deg,#eef6f3d1 0 30%,#0000 30%),linear-gradient(#fbfdfb,#f7faf9);border-radius:8px;width:680px;height:430px;position:relative;overflow:hidden}.drag-board.complete{box-shadow:inset 0 0 0 3px #0f7b783d}.drag-board-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.75rem;font-weight:900;position:absolute;top:14px}.palette-label{left:18px}.target-label{left:248px}.drag-target,.drag-tile{border-radius:8px;justify-content:center;align-items:center;font-weight:900;display:flex;position:absolute}.drag-target{border:2px dashed var(--line-strong);color:#0000;background:#17211f0b}.drag-target.filled{background:#0f7b7814;border-color:#0f7b7847}.drag-target.xSquare{background:#f7d87938}.drag-target.xTile{background:#8bd9c72e}.drag-target.unit{background:#f5efe0c7}.drag-tile{color:var(--ink);cursor:grab;z-index:2;border:2px solid #17211f3d;font-size:1.05rem;transition:box-shadow .14s,transform .14s,width .14s,height .14s;box-shadow:0 10px 20px #17211f21}.drag-tile:active,.drag-tile.dragging{cursor:grabbing;z-index:8;transform:scale(1.03)}.drag-tile.snapped{box-shadow:0 4px 10px #17211f1a}.drag-tile.xSquare{background:var(--tile-core);font-size:1.7rem}.drag-tile.xTile{background:var(--tile-positive)}.drag-tile.xTile.vertical{writing-mode:vertical-rl}.drag-tile.unit{background:#f5efe0}.drag-toolbar{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:680px;display:flex}.drag-toolbar span{color:var(--muted);font-size:.85rem;font-weight:800}.drag-toolbar button{color:#fff;background:#17211f;border-radius:8px;flex:none;align-items:center;gap:7px;min-height:38px;padding:8px 11px;font-weight:850;display:inline-flex}.side-picker,.reflection-pickers{gap:14px;display:grid}.side-picker>div>span,.reflection-pickers>div>span{text-transform:uppercase;margin-bottom:8px;font-size:.8rem;font-weight:900;display:block}.equation-bridge{grid-template-columns:minmax(260px,1fr) minmax(180px,.75fr);gap:18px}.bridge-equation{color:#fff;background:#17211f;border-radius:8px;align-content:center;gap:10px;padding:18px;display:grid}.bridge-equation span{color:#aee3d7;text-transform:uppercase;font-size:.78rem;font-weight:900}.bridge-equation strong{font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.25}.root-entry{grid-template-columns:1fr 1fr;gap:12px;display:grid}.root-entry label{color:var(--muted);text-transform:uppercase;gap:8px;font-size:.8rem;font-weight:900;display:grid}.root-entry input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;min-width:0;padding:12px;font-size:1.25rem;font-weight:850}.zero-product{grid-template-columns:1fr 1fr;gap:14px}.zero-product div{color:#fff;text-align:center;background:#17211f;border-radius:8px;align-content:center;gap:12px;min-height:240px;padding:18px;display:grid}.zero-product span{color:#aee3d7;font-size:1.1rem;font-weight:900}.zero-product strong{font-size:clamp(2rem,5vw,4rem);line-height:1}.primary-action{color:#fff;background:#17211f;border-radius:8px;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;font-weight:850}.substitute-visual{gap:18px;display:grid}.substitute-equation{color:#fff;text-align:center;background:#17211f;border-radius:8px;padding:18px;font-size:clamp(1.1rem,2.6vw,2rem);font-weight:900;line-height:1.2}.cancel-balance{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;display:grid}.cancel-balance>div:not(.equals-zero){border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.cancel-balance strong{text-align:center}.balance-stack{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.balance-stack span{border-radius:5px;height:28px}.balance-stack.positive span{background:var(--gold);border:1px solid #d8bd5b}.balance-stack.negative span{background:var(--tile-negative);border:1px solid #d88a82}.equals-zero{color:var(--accent-strong);align-self:center;font-weight:900}.complete-square-visual{grid-template-columns:minmax(260px,1fr) minmax(180px,.55fr);align-items:center;gap:18px;display:grid}.square-build{grid-template-rows:minmax(130px,1fr) minmax(110px,.85fr);grid-template-columns:minmax(120px,1fr) minmax(110px,.85fr);gap:8px;display:grid}.square-main,.square-strip,.corner-grid{border:2px solid #17211f3d;border-radius:8px}.square-main{background:var(--tile-core);justify-content:center;align-items:center;font-size:2rem;font-weight:900;display:flex}.square-strip{background:var(--tile-positive);justify-content:center;align-items:center;font-size:1.25rem;font-weight:900;display:flex}.corner-grid{background:#fff9e6;grid-template-columns:repeat(3,1fr);gap:5px;padding:6px;display:grid}.corner-grid span{color:#9b7c15;background:#fff;border:1px dashed #d8bd5b;border-radius:6px;justify-content:center;align-items:center;font-weight:900;display:flex}.corner-grid span.given{background:var(--gold);color:var(--ink);border-style:solid}.corner-grid span.missing{color:#0b605b;background:#e2f6ef;border-style:solid;border-color:#84cbb6}.square-readout{color:#fff;background:#17211f;border-radius:8px;gap:10px;padding:16px;display:grid}.square-readout span{color:#aee3d7;text-transform:uppercase;font-size:.84rem;font-weight:900}.square-readout strong{font-size:1.05rem}.missing-slider{border:1px solid var(--line);color:var(--muted);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;font-weight:850;display:grid}.missing-slider input{accent-color:var(--accent);width:100%}.completion-equation{color:#fff;background:#17211f;border-radius:8px;gap:8px;padding:14px;display:grid}.completion-equation span,.completion-equation strong{font-weight:850;display:block}.reflection-pickers{grid-template-columns:1fr 1fr}textarea{border:1px solid var(--line);color:var(--ink);resize:vertical;background:#fff;border-radius:8px;width:100%;min-height:150px;padding:12px}textarea:focus,.root-entry input:focus{border-color:var(--accent);outline:3px solid #0f7b7824}.reflection-stage{color:#fff;text-align:center;background:#17211f;align-content:center;justify-items:center;gap:12px}.reflection-stage svg{color:var(--gold)}.reflection-stage h3{margin:0;font-size:1.35rem}.reflection-stage p{color:#d7e3df;max-width:420px;margin:0;font-size:1.1rem;line-height:1.5}.activity-footer{justify-content:space-between;gap:12px;padding:12px}.activity-footer button:disabled{cursor:not-allowed;opacity:.45}.footer-hint{text-align:center;gap:7px;font-size:.88rem;font-weight:780}@media (max-width:1180px){.activity-page{grid-template-columns:1fr}.activity-rail{position:static}.screen-list{grid-template-columns:repeat(5,minmax(0,1fr))}.screen-list button{grid-template-columns:28px minmax(0,1fr)}.screen-list button svg{display:none}}@media (max-width:920px){.activity-header,.screen-layout,.equation-bridge,.complete-square-visual,.reflection-pickers{grid-template-columns:1fr}.screen-layout{min-height:0}.visual-stage{min-height:360px}.screen-list{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-strip,.choice-grid,.choice-grid.compact,.root-entry{grid-template-columns:1fr}.activity-footer{flex-direction:column;align-items:stretch}.activity-footer button{justify-content:center}}@media (max-width:560px){.activity-page,.activity-card{padding:12px}.screen-list{grid-template-columns:1fr}.rectangle-model{grid-template-columns:30px minmax(90px,1fr) minmax(90px,1fr)}.cancel-balance,.zero-product{grid-template-columns:1fr}.equals-zero{justify-self:center}}.art-page{color:var(--ink);background:radial-gradient(circle at 16% 12%,#f7d87938,#0000 28%),radial-gradient(circle at 82% 16%,#2f6fbd2e,#0000 30%),linear-gradient(135deg,#f9fbfa 0%,#eef6f3 48%,#fff8df 100%);grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid}.art-dock,.mural-stage,.art-explain-panel,.discriminant-lens,.tile-sculpture{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:8px}.art-dock{flex-direction:column;align-self:start;gap:14px;padding:16px;display:flex;position:sticky;top:18px}.art-brand{align-items:center;gap:10px;display:flex}.art-brand svg{color:#a77b0c}.art-brand span,.art-brand strong,.art-equation-card span,.art-equation-card strong{display:block}.art-brand span{font-weight:950}.art-brand strong{color:var(--muted);font-size:.8rem}.art-equation-card{color:#fff;background:#17211f;border-radius:8px;gap:9px;padding:16px;display:grid}.art-equation-card span,.art-explain-panel span,.discriminant-lens span,.area-jewel span{letter-spacing:0;text-transform:uppercase;font-size:.74rem;font-weight:900}.art-equation-card span{color:#aee3d7}.art-equation-card strong{font-size:1.18rem;line-height:1.25}.art-control-stack{gap:11px;display:grid}.art-slider{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.art-slider span{color:var(--ink);align-items:center;gap:10px;font-weight:950;display:flex}.art-slider strong{color:var(--muted);margin-left:auto;font-size:.92rem}.art-slider input{accent-color:var(--accent);width:100%}.art-presets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.art-presets button,.art-reset,.art-links a{border-radius:8px;min-height:40px;padding:9px 10px;font-weight:850}.art-presets button{color:#453a12;background:#fff8df;border:1px solid #ead796}.root-composer{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.root-composer>span{color:var(--accent-strong);text-transform:uppercase;font-size:.74rem;font-weight:950}.root-composer .art-slider{background:#fff;padding:10px}.art-reset{color:#fff;background:#17211f;justify-content:center;align-items:center;gap:8px;display:inline-flex}.art-links{grid-template-columns:1fr 1fr;gap:8px;display:grid}.art-links a{border:1px solid var(--line);color:var(--accent-strong);text-align:center;background:#eef6f3;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.art-gallery{gap:16px;min-width:0;display:grid}.art-gallery-header{justify-content:space-between;align-items:end;gap:18px;display:flex}.art-gallery-header h1{max-width:900px;margin:0;font-size:clamp(2.35rem,5vw,5.6rem);line-height:.9}.gallery-meta{border:1px solid var(--line);color:var(--muted);background:#ffffffc7;border-radius:8px;flex:none;align-items:center;gap:8px;max-width:320px;padding:12px 14px;font-weight:820;display:flex}.gallery-meta svg{color:var(--accent)}.mural-stage{overflow:hidden}.mural-svg{aspect-ratio:980/620;width:100%;display:block}.mural-bg{fill:#fbfdfb}.mural-grid{stroke:#60706b2e;stroke-width:1px}.mural-axis{stroke:#17211f99;stroke-linecap:round;stroke-width:2.4px}.symmetry-line{stroke:#c45d3873;stroke-dasharray:8 9;stroke-width:3px}.curve-shadow{fill:none;filter:url(#soft-glow);stroke:#0f7b7873;stroke-linecap:round;stroke-width:24px}.family-curve{fill:none;stroke:#60706b38;stroke-linecap:round;stroke-width:3px}.art-curve{fill:none;stroke:url(#curve-gradient);stroke-linecap:round;stroke-width:8px}.vertex-aura{fill:#f7d87952;stroke:#c45d384d;stroke-width:2px}.vertex-node{fill:#fff;stroke:var(--coef-b);stroke-width:5px}.mural-label,.root-lantern text{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:6px;text-anchor:middle;font-size:18px;font-weight:950}.root-lantern line{stroke:#4867a859;stroke-dasharray:8 9;stroke-width:3px}.root-lantern circle{fill:var(--coef-c);stroke:#fff;stroke-width:5px}.complex-halo ellipse{fill:none;stroke:#4867a88f;stroke-width:4px}.complex-halo circle{fill:var(--coef-c);stroke:#fff;stroke-width:4px}.mural-formula rect,.mural-proof rect{fill:#17211fe6}.mural-formula text,.mural-proof text{fill:#d7e3df;font-size:16px;font-weight:800}.mural-formula text:first-of-type,.mural-proof text:first-of-type{fill:#aee3d7;text-transform:uppercase;font-size:13px;font-weight:950}.mural-formula .formula-large,.mural-proof .formula-large{fill:#fff;font-size:24px;font-weight:950}.art-insight-grid{grid-template-columns:minmax(220px,.75fr) minmax(320px,1.35fr) minmax(240px,.9fr) minmax(240px,.9fr);gap:16px;display:grid}.art-lab-grid{grid-template-columns:minmax(300px,1fr) minmax(300px,1fr) minmax(260px,.86fr);gap:16px;display:grid}.atlas-panel,.complex-plane-panel,.factor-loom{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;overflow:hidden}.atlas-panel,.complex-plane-panel{grid-template-rows:auto 1fr;display:grid}.atlas-copy{align-content:start;gap:8px;padding:16px 16px 12px;display:grid}.atlas-copy svg{color:var(--accent)}.atlas-copy span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:950}.atlas-copy strong{color:var(--ink);font-size:clamp(1.25rem,2.2vw,1.9rem);line-height:1.08}.atlas-copy p{color:var(--muted);margin:0;line-height:1.45}.atlas-svg,.complex-plane-svg{width:100%;display:block}.atlas-cell.real{fill:#4867a838}.atlas-cell.complex{fill:#f1a8a052}.atlas-cell.tangent{fill:#f7d87994}.atlas-axis,.plane-axis{stroke:#17211f8c;stroke-width:2px}.atlas-boundary{fill:none;stroke:#a77b0c;stroke-linecap:round;stroke-width:4px}.atlas-point{fill:#fff;stroke-width:5px}.atlas-point.real{stroke:var(--coef-c)}.atlas-point.double{stroke:#a77b0c}.atlas-point.complex{stroke:var(--danger)}.atlas-label,.plane-label{fill:var(--muted);font-size:16px;font-weight:900}.plane-bg{fill:#fbfdfb}.plane-grid{stroke:#60706b2e}.plane-root line{stroke:#4867a86b;stroke-dasharray:6 7;stroke-width:3px}.plane-root circle{fill:var(--coef-c);stroke:#fff;stroke-width:5px}.plane-root text{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:5px;text-anchor:middle;font-size:15px;font-weight:950}.factor-loom{align-content:stretch;gap:0;padding:16px;display:grid}.loom-row{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;align-content:center;gap:7px;min-height:72px;padding:12px;display:grid}.loom-row span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:950}.loom-row strong{color:var(--ink);overflow-wrap:anywhere;font-size:1rem;line-height:1.2}.loom-thread{background:linear-gradient(#0000,#0f7b7873,#0000);justify-self:center;width:3px;min-height:18px}.discriminant-lens,.art-explain-panel{align-content:start;gap:10px;min-height:210px;padding:16px;display:grid}.discriminant-lens svg,.art-explain-panel svg{color:var(--accent)}.discriminant-lens.real svg,.discriminant-lens.real strong{color:var(--coef-c)}.discriminant-lens.double svg,.discriminant-lens.double strong{color:#a77b0c}.discriminant-lens.complex svg,.discriminant-lens.complex strong{color:var(--danger)}.discriminant-lens span,.art-explain-panel span{color:var(--muted)}.discriminant-lens strong,.art-explain-panel strong{color:var(--ink);font-size:clamp(1.35rem,3vw,2.35rem);line-height:1.05}.discriminant-lens p,.art-explain-panel p{color:var(--muted);margin:0;line-height:1.5}.art-explain-panel.dark{color:#fff;background:#17211f}.art-explain-panel.dark span{color:#aee3d7}.art-explain-panel.dark strong{color:#fff}.art-explain-panel.dark p{color:#d7e3df}.tile-sculpture{grid-template-columns:minmax(220px,1fr) minmax(150px,.55fr);align-items:center;gap:16px;min-height:210px;padding:16px;display:grid}.sculpture-grid{--strip-size:72px;grid-template-columns:minmax(130px, 1fr) var(--strip-size);grid-template-rows:minmax(130px, 1fr) var(--strip-size);gap:6px;min-height:190px;display:grid}.sculpture-square,.sculpture-strip,.sculpture-corner{border:2px solid #17211f47;border-radius:8px;justify-content:center;align-items:center;font-weight:950;display:flex}.sculpture-square{background:var(--tile-core);font-size:2rem}.sculpture-strip{background:var(--tile-positive);writing-mode:vertical-rl;font-size:1rem}.sculpture-strip.bottom{writing-mode:horizontal-tb}.sculpture-strip.negative,.sculpture-corner.negative{background:var(--tile-negative)}.sculpture-corner{text-align:center;background:#f5efe0;font-size:.88rem}.area-jewel{text-align:center;border-radius:8px;align-content:center;justify-items:center;gap:8px;min-height:126px;padding:14px;display:grid}.area-jewel.positive{color:#0b605b;background:#e2f6ef}.area-jewel.negative{color:var(--danger);background:#fff0ef}.area-jewel strong{font-size:2.1rem;line-height:1}.sculpture-caption{color:var(--muted);grid-column:1/-1;gap:4px;display:grid}.sculpture-caption strong{color:var(--ink)}@media (max-width:1320px){.art-insight-grid,.art-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.factor-loom{grid-column:1/-1}}@media (max-width:980px){.art-page{grid-template-columns:1fr}.art-dock{position:static}.art-control-stack,.art-presets,.art-links{grid-template-columns:repeat(3,minmax(0,1fr))}.art-gallery-header{flex-direction:column;align-items:start}}@media (max-width:720px){.art-page{padding:12px}.art-control-stack,.art-presets,.art-links,.art-insight-grid,.art-lab-grid,.tile-sculpture{grid-template-columns:1fr}.factor-loom{grid-column:auto}.mural-svg{min-width:760px}.mural-stage{overflow-x:auto}}.nature-page{background:linear-gradient(135deg, #f7faf9 0%, #eef6f3 38%, #fff8df 100%), var(--background);color:var(--ink);grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid}.nature-dock,.fern-stage,.nature-panel,.nature-meta{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:8px}.nature-dock{flex-direction:column;align-self:start;gap:14px;padding:16px;display:flex;position:sticky;top:18px}.nature-brand{align-items:center;gap:10px;display:flex}.nature-brand svg,.nature-meta svg,.nature-panel svg{color:#19705b}.nature-brand span,.nature-brand strong{display:block}.nature-brand span{font-weight:950}.nature-brand strong{color:var(--muted);font-size:.8rem}.nature-formula{color:#fff;background:#17211f;border-radius:8px;gap:8px;padding:15px;display:grid}.nature-formula span,.nature-panel>span{color:#aee3d7;text-transform:uppercase;font-size:.74rem;font-weight:950}.nature-formula strong{font-size:1.05rem;line-height:1.25}.nature-slider{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.nature-slider span{color:var(--ink);align-items:center;gap:10px;font-weight:900;display:flex}.nature-slider strong{color:var(--muted);margin-left:auto;font-size:.9rem}.nature-slider input{accent-color:#19705b;width:100%}.palette-switcher{grid-template-columns:1fr 1fr;gap:8px;display:grid}.palette-switcher button,.nature-actions button,.nature-links a{border-radius:8px;min-height:40px;padding:9px 10px;font-weight:850}.palette-switcher button{border:1px solid var(--line);color:var(--ink);background:#f8fbfa}.palette-switcher button.active{color:#0b605b;background:#e2f6ef;border-color:#84cbb6}.nature-actions,.nature-links{gap:8px;display:grid}.nature-actions{grid-template-columns:1fr 1fr}.nature-actions button{color:#fff;background:#17211f;justify-content:center;align-items:center;gap:8px;display:inline-flex}.nature-links{grid-template-columns:repeat(3,minmax(0,1fr))}.nature-links a{border:1px solid var(--line);color:var(--accent-strong);text-align:center;background:#eef6f3;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nature-gallery{gap:16px;min-width:0;display:grid}.nature-header{justify-content:space-between;align-items:end;gap:18px;display:flex}.nature-header h1{max-width:900px;margin:0;font-size:clamp(2.4rem,5vw,5.8rem);line-height:.9}.nature-meta{color:var(--muted);flex:none;align-items:center;gap:8px;max-width:330px;padding:12px 14px;font-weight:820;display:flex}.fern-stage{aspect-ratio:16/9;min-height:560px;position:relative;overflow:hidden}.fern-stage canvas{width:100%;height:100%;display:block}.fern-stage-readout{color:#fff;background:#17211fd1;border:1px solid #ffffff29;border-radius:8px;gap:4px;padding:12px 14px;display:grid;position:absolute;bottom:16px;left:16px}.fern-stage-readout span{color:#aee3d7;text-transform:uppercase;font-size:.74rem;font-weight:950}.fern-stage-readout strong{font-size:1rem}.nature-grid{grid-template-columns:minmax(260px,.9fr) minmax(260px,.9fr) minmax(320px,1.2fr);gap:16px;display:grid}.nature-panel{align-content:start;gap:10px;min-height:240px;padding:16px;display:grid}.nature-panel>span{color:var(--muted)}.nature-panel strong{color:var(--ink);font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.08}.nature-panel p{color:var(--muted);margin:0;line-height:1.5}.nature-panel.dark{color:#fff;background:#17211f}.nature-panel.dark>span{color:#aee3d7}.nature-panel.dark strong{color:#fff}.nature-panel.dark p{color:#d7e3df}.nature-panel.wide{grid-column:span 2}.mini-fern-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:10px;display:grid}.mini-fern{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;min-height:150px;padding:8px}.mini-fern path{fill:none;stroke:#19705b;stroke-linecap:round;stroke-width:5px}.rule-stack{gap:8px;display:grid}.rule-card{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:5px;padding:10px;display:grid}.rule-card strong{font-size:1rem}.rule-card code{color:#0b605b;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem}.rule-card small{color:var(--muted);font-weight:760}@media (max-width:1180px){.nature-page{grid-template-columns:1fr}.nature-dock{position:static}.nature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.nature-page{padding:12px}.nature-header{flex-direction:column;align-items:start}.nature-grid,.nature-panel.wide,.palette-switcher,.nature-actions,.nature-links{grid-template-columns:1fr}.nature-panel.wide{grid-column:auto}.fern-stage{min-height:520px}}.amp-page{background:linear-gradient(135deg, #fbfdfb 0%, #eef6f3 42%, #fff8df 100%), var(--background);color:var(--ink);grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid}.amp-dock,.amp-card,.amp-meta{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px}.amp-dock{flex-direction:column;align-self:start;gap:14px;padding:16px;display:flex;position:sticky;top:18px}.amp-brand{align-items:center;gap:10px;display:flex}.amp-brand svg,.amp-meta svg,.amp-card-title svg{color:var(--accent)}.amp-brand span,.amp-brand strong{display:block}.amp-brand span{font-weight:950}.amp-brand strong{color:var(--muted);font-size:.8rem}.amp-equation-card{color:#fff;background:#17211f;border-radius:8px;gap:7px;padding:16px;display:grid}.amp-equation-card span,.amp-card-title span,.amp-readout-grid span,.amp-proof-steps span{text-transform:uppercase;font-size:.74rem;font-weight:950}.amp-equation-card span{color:#aee3d7}.amp-equation-card strong{font-size:1.25rem;line-height:1.2}.amp-equation-card small{color:#d7e3df;font-weight:800}.amp-slider{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.amp-slider span{color:var(--ink);align-items:center;gap:10px;font-weight:900;display:flex}.amp-slider strong{color:var(--muted);margin-left:auto;font-size:.92rem}.amp-slider input{accent-color:var(--accent);width:100%}.amp-presets,.amp-links{grid-template-columns:1fr 1fr;gap:8px;display:grid}.amp-presets button,.amp-reset,.amp-links a{border-radius:8px;min-height:40px;padding:9px 10px;font-weight:850}.amp-presets button{color:#453a12;background:#fff8df;border:1px solid #ead796}.amp-reset{color:#fff;background:#17211f;justify-content:center;align-items:center;gap:8px;display:inline-flex}.amp-links{grid-template-columns:repeat(3,minmax(0,1fr))}.amp-links a{border:1px solid var(--line);color:var(--accent-strong);text-align:center;background:#eef6f3;justify-content:center;align-items:center;font-size:.82rem;text-decoration:none;display:inline-flex}.amp-gallery{gap:16px;min-width:0;display:grid}.amp-header{justify-content:space-between;align-items:end;gap:18px;display:flex}.amp-header h1{max-width:980px;margin:0;font-size:clamp(2.3rem,5vw,5.75rem);line-height:.9}.amp-meta{color:var(--muted);flex:none;align-items:center;gap:8px;max-width:340px;padding:12px 14px;font-weight:820;display:flex}.amp-hero-grid{grid-template-columns:minmax(400px,1fr) minmax(460px,1.06fr);gap:16px;display:grid}.amp-card{gap:14px;min-width:0;padding:16px;display:grid}.amp-card-title{color:var(--ink);align-items:center;gap:8px;font-weight:950;display:flex}.amp-card-title span{color:var(--muted)}.amp-tile-rectangle{--amp-m:3;--amp-n:4;grid-template-rows:34px minmax(170px,1fr) minmax(120px,auto);grid-template-columns:36px minmax(150px,1fr) minmax(150px,1fr);gap:7px;min-height:390px;display:grid}.amp-side-label{color:var(--accent-strong);text-align:center;font-weight:950}.amp-side-label.top{grid-column:2/4}.amp-side-label.left{white-space:nowrap;grid-area:2/1/4;align-self:center;transform:rotate(-90deg)}.amp-x-square,.amp-x-strip,.amp-unit-grid{border:2px solid #17211f3d;border-radius:8px}.amp-x-square{background:var(--tile-core);grid-area:2/2;justify-content:center;align-items:center;font-size:2.2rem;font-weight:950;display:flex}.amp-x-strip{background:var(--tile-positive);gap:5px;padding:7px;display:grid}.amp-x-strip.horizontal{grid-area:2/3;grid-template-columns:repeat(var(--amp-n), minmax(26px, 1fr))}.amp-x-strip.vertical{grid-area:3/2;grid-template-columns:repeat(var(--amp-m), minmax(34px, 1fr))}.amp-x-strip span,.amp-unit-grid span{background:#ffffff75;border:1px solid #17211f24;border-radius:6px;justify-content:center;align-items:center;font-weight:900;display:flex}.amp-unit-grid{grid-area:3/3;grid-template-columns:repeat(var(--amp-n), minmax(24px, 1fr));background:#f5efe0;gap:5px;padding:7px;display:grid}.amp-readout-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.amp-readout-grid div{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:5px;padding:11px;display:grid}.amp-readout-grid span,.amp-proof-steps span{color:var(--muted)}.amp-readout-grid strong{color:var(--ink);font-size:1.15rem}.amp-artwork{align-content:start}.amp-bloom{aspect-ratio:1;width:100%;max-height:600px;display:block}.amp-bloom-bg{fill:#fbfdfb}.amp-bloom-polygon{fill:none;stroke:#17211f6b;stroke-width:2px}.amp-bloom-ray{fill:#4867a838;stroke:#4867a859;stroke-width:1px}.amp-bloom-petal{fill:url(#amp-petal-gradient);stroke:#ffffffb8;stroke-width:1.5px}.amp-bloom-core{fill:#17211f;stroke:#ffffffdb;stroke-width:6px}.amp-bloom-count,.amp-bloom-caption{fill:#fff;text-anchor:middle;font-weight:950}.amp-bloom-count{font-size:3.2rem}.amp-bloom-caption{font-size:1.1rem}.amp-bloom-caption.small{fill:#aee3d7;font-size:.92rem}.amp-lab-grid{grid-template-columns:minmax(420px,1.3fr) minmax(300px,.9fr) minmax(280px,.8fr);gap:16px;display:grid}.amp-panel-copy{color:var(--muted);margin:0;line-height:1.5}.amp-graph{aspect-ratio:680/360;border:1px solid var(--line);touch-action:none;border-radius:8px;width:100%;display:block}.amp-graph-bg{fill:#fbfdfb}.amp-grid-line{stroke:#60706b2e}.amp-axis{stroke:#17211f8c;stroke-linecap:round;stroke-width:2.4px}.amp-curve-shadow{fill:none;stroke:#0f7b7829;stroke-linecap:round;stroke-width:19px}.amp-curve{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-width:7px}.amp-vertex{fill:#fff;stroke:var(--coef-b);stroke-width:4px}.amp-root-handle line{stroke:#4867a85c;stroke-dasharray:7 8;stroke-width:3px}.amp-root-handle circle{cursor:ew-resize;fill:var(--coef-c);stroke:#fff;stroke-width:5px}.amp-root-handle text{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:5px;text-anchor:middle;font-size:20px;font-weight:950}.amp-proof-card,.amp-submission-card,.amp-prompt-card{align-content:start}.amp-proof-steps{gap:9px;display:grid}.amp-proof-steps div{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:6px;padding:12px;display:grid}.amp-proof-steps strong{color:var(--ink);font-size:1.05rem;line-height:1.22}.amp-submission-card ul{color:var(--muted);margin:0;padding-left:20px;line-height:1.5}.amp-submission-card li{margin-bottom:8px}.amp-prompt-card{color:#fff;background:#17211f}.amp-prompt-card .amp-card-title span,.amp-prompt-card .amp-card-title svg{color:#aee3d7}.amp-prompt-card strong{color:#fff;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.15}@media (max-width:1280px){.amp-hero-grid,.amp-lab-grid{grid-template-columns:1fr}}@media (max-width:980px){.amp-page{grid-template-columns:1fr}.amp-dock{position:static}.amp-header{flex-direction:column;align-items:start}.amp-presets{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:680px){.amp-page{padding:12px}.amp-presets,.amp-links,.amp-readout-grid{grid-template-columns:1fr}.amp-tile-rectangle{grid-template-columns:28px minmax(96px,1fr) minmax(120px,1fr);min-height:340px}}.sea-page{background:linear-gradient(135deg, #f7faf9 0%, #dff1f4 46%, #fff8df 100%), var(--background);color:var(--ink);grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid}.sea-dock,.sea-stage,.sea-panel,.sea-meta{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px}.sea-dock{flex-direction:column;align-self:start;gap:14px;padding:16px;display:flex;position:sticky;top:18px}.sea-brand{align-items:center;gap:10px;display:flex}.sea-brand svg,.sea-meta svg,.sea-panel svg{color:#2f89a2}.sea-brand span,.sea-brand strong{display:block}.sea-brand span{font-weight:950}.sea-brand strong{color:var(--muted);font-size:.8rem}.sea-formula{color:#fff;background:#17211f;border-radius:8px;gap:8px;padding:15px;display:grid}.sea-formula span,.sea-panel>span{text-transform:uppercase;font-size:.74rem;font-weight:950}.sea-formula span{color:#aee3d7}.sea-formula strong{font-size:1.05rem;line-height:1.25}.sea-view-toggle{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;display:grid}.sea-view-toggle legend{color:var(--muted);text-transform:uppercase;grid-column:1/-1;font-size:.74rem;font-weight:950}.sea-view-toggle label{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#f8fbfa;border-radius:8px;align-items:center;gap:8px;min-height:43px;padding:10px;font-size:.88rem;font-weight:900;display:inline-flex}.sea-view-toggle label.active{color:#235d6d;background:#e0f3f5;border-color:#8bbfcc}.sea-view-toggle input{accent-color:#2f89a2;flex:none}.sea-slider{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.sea-slider span{color:var(--ink);align-items:center;gap:10px;font-weight:900;display:flex}.sea-slider strong{color:var(--muted);margin-left:auto;font-size:.9rem}.sea-slider input{accent-color:#2f89a2;width:100%}.sea-palettes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sea-palettes button,.sea-actions button,.sea-links a{border-radius:8px;min-height:40px;padding:9px 10px;font-weight:850}.sea-palettes button{border:1px solid var(--line);color:var(--ink);background:#f8fbfa}.sea-palettes button.active{color:#235d6d;background:#e0f3f5;border-color:#8bbfcc}.sea-actions,.sea-links{gap:8px;display:grid}.sea-actions{grid-template-columns:1fr 1fr}.sea-actions button{color:#fff;background:#17211f;justify-content:center;align-items:center;gap:8px;display:inline-flex}.sea-motion-toggle{color:#fff;background:linear-gradient(135deg,#17211f,#235d6d);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-weight:850;display:inline-flex}.sea-export-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sea-export-actions button{color:#17211f;background:#fff8df;border:1px solid #e3bd78;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 10px;font-weight:900;display:inline-flex}.sea-export-status{border:1px solid var(--line);color:#235d6d;background:#eef6f3;border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:900}.sea-links{grid-template-columns:repeat(2,minmax(0,1fr))}.sea-links a{border:1px solid var(--line);color:var(--accent-strong);text-align:center;background:#eef6f3;justify-content:center;align-items:center;font-size:.82rem;text-decoration:none;display:inline-flex}.sea-gallery{gap:16px;min-width:0;display:grid}.sea-header{justify-content:space-between;align-items:end;gap:18px;display:flex}.sea-header h1{max-width:980px;margin:0;font-size:clamp(2.35rem,5vw,5.8rem);line-height:.9}.sea-meta{color:var(--muted);flex:none;align-items:center;gap:8px;max-width:320px;padding:12px 14px;font-weight:820;display:flex}.sea-stage{aspect-ratio:16/9;min-height:560px;position:relative;overflow:hidden}.sea-stage canvas{width:100%;height:100%;display:block}.sea-stage-3d{background:#e8f6f5}.sea-stage-3d .sea-main-three-scene{box-shadow:none;border:0;border-radius:0;width:100%;height:100%;min-height:100%;position:absolute;inset:0}.sea-stage-3d .sea-main-three-scene:before{content:"3D geometry view"}.sea-stage-3d .sea-three-labels{justify-content:flex-end;max-width:620px;top:16px;bottom:auto;left:auto}.sea-overlay{pointer-events:auto;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.sea-guide-wave,.sea-guide-shore,.sea-guide-cloud{fill:none;pointer-events:none;stroke-linecap:round}.sea-guide-wave{stroke:#ffffffb8;stroke-dasharray:10 10;stroke-width:4px}.sea-guide-shore{stroke:#fff8dfe0;stroke-width:5px}.sea-guide-cloud{stroke:#ffffffad;stroke-dasharray:8 9;stroke-width:4px}.sea-sample-layer{pointer-events:none}.sea-sample-buoy line{stroke:#152b2f59;stroke-linecap:round;stroke-width:2px}.sea-sample-buoy circle{filter:drop-shadow(0 8px 12px #0a202438);stroke:#ffffffdb;stroke-width:3px}.sea-sample-buoy.calm circle{fill:#7ed8cf}.sea-sample-buoy.rolling circle{fill:#ffd56b}.sea-sample-buoy.surge circle{fill:#f06f5f}.sea-sample-buoy.event circle{stroke:#17211f;stroke-width:4px}.sea-sample-buoy text{fill:#17211f;paint-order:stroke;stroke:#ffffffe0;stroke-width:6px;text-anchor:middle;font-size:18px;font-weight:950}.sea-handle{cursor:grab}.sea-handle circle{fill:#fff;filter:drop-shadow(0 7px 14px #17211f42);stroke:#2f89a2;stroke-width:5px}.sea-handle.active{cursor:grabbing}.sea-handle.active circle{fill:#fff8df;stroke:var(--coef-b)}.sea-handle text{fill:var(--ink);paint-order:stroke;pointer-events:none;stroke:#ffffffdb;stroke-width:6px;text-anchor:middle;font-size:17px;font-weight:950}.sea-readout{color:#fff;background:#17211fd1;border:1px solid #ffffff29;border-radius:8px;gap:4px;padding:12px 14px;display:grid;position:absolute;bottom:16px;left:16px}.sea-readout span{color:#aee3d7;text-transform:uppercase;font-size:.74rem;font-weight:950}.sea-readout small{color:#d7e3df;font-weight:800}.sea-equation-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.sea-equation-strip div{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;gap:6px;padding:13px;display:grid}.sea-equation-strip span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:950}.sea-equation-strip strong{color:var(--ink);overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.95rem}.sea-data-lab{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.sea-data-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;align-content:start;gap:12px;min-height:208px;padding:16px;display:grid}.sea-data-card.wide{grid-column:span 2}.sea-data-card.probability{color:#fff;background:linear-gradient(150deg,#17211f 0%,#235d6d 74%,#477d7b 100%)}.sea-data-card.investigation{background:#fff8df;border-color:#f7c04675}.sea-card-heading{color:#235d6d;text-transform:uppercase;align-items:center;gap:8px;font-size:.76rem;font-weight:950;display:flex}.sea-data-card.probability .sea-card-heading{color:#aee3d7}.sea-data-card>span,.sea-data-card p{color:var(--muted)}.sea-data-card.probability p{color:#d7e3df}.sea-data-card strong{color:var(--ink);font-size:clamp(1.08rem,1.7vw,1.55rem);line-height:1.14}.sea-data-card.probability strong,.sea-data-card.probability .sea-probability-score{color:#fff}.sea-data-card p{margin:0;line-height:1.48}.sea-dot-plot{background:linear-gradient(#f8fbfa,#eef7f6);border:1px solid #235d6d21;border-radius:8px;width:100%;min-height:190px}.sea-axis{stroke:#17211f6b;stroke-linecap:round;stroke-width:2.2px}.sea-tick{stroke:#235d6d21;stroke-dasharray:5 8}.sea-dot-plot text{fill:var(--muted);font-size:13px;font-weight:850}.sea-threshold-line{stroke:#f06f5f;stroke-dasharray:8 8;stroke-linecap:round;stroke-width:3px}.sea-threshold-label{fill:#b9463c;text-transform:uppercase;font-size:12px;font-weight:950}.sea-dot{stroke:#fff;stroke-width:2.4px}.sea-dot.calm{fill:#42bfb4}.sea-dot.rolling{fill:#f3bd3f}.sea-dot.surge{fill:#e95e4d}.sea-dot.event{filter:drop-shadow(0 5px 8px #e95e4d57);stroke:#17211f;stroke-width:3px}.sea-probability-score{letter-spacing:0;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:950;line-height:.9}.sea-probability-meter{background:#ffffff2e;border-radius:999px;height:13px;overflow:hidden}.sea-probability-meter span{background:linear-gradient(90deg,#aee3d7,#ffd56b,#f06f5f);height:100%;display:block}.sea-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sea-stat-grid div{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:3px;padding:10px;display:grid}.sea-stat-grid span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:950}.sea-stat-grid strong{color:#235d6d;font-size:1.42rem}.sea-bars{gap:12px;display:grid}.sea-bar-row{grid-template-columns:72px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.sea-bar-row span,.sea-bar-row strong{color:var(--ink);font-size:.86rem;font-weight:900}.sea-bar-row strong{text-align:right}.sea-bar-track{border:1px solid var(--line);background:#eef6f3;border-radius:999px;height:18px;overflow:hidden}.sea-bar-fill{height:100%;display:block}.sea-bar-fill.calm{background:#42bfb4}.sea-bar-fill.rolling{background:#f3bd3f}.sea-bar-fill.surge{background:#e95e4d}.sea-geometry-lab{color:#fff;background:radial-gradient(circle at 20% 18%,#aee3d738,#0000 28%),linear-gradient(135deg,#17211f 0%,#235d6d 58%,#f1d6a4 100%);border-radius:8px;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.25fr);gap:16px;min-height:520px;padding:18px;display:grid;overflow:hidden}.sea-geometry-scene-copy{align-content:center;gap:12px;min-width:0;display:grid}.sea-geometry-scene-copy .sea-card-heading{color:#aee3d7}.sea-geometry-scene-copy h2{color:#fff;margin:0;font-size:clamp(2rem,4vw,4.7rem);line-height:.92}.sea-geometry-scene-copy p{color:#d7e3df;max-width:520px;margin:0;font-size:1rem;line-height:1.55}.sea-three-scene{background:linear-gradient(#e8f6f5fa,#b9ddddf0),#e8f6f5;border:1px solid #ffffff70;border-radius:8px;min-height:410px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #17211f14}.sea-three-scene:before{color:#fff;content:"3D solid model";text-transform:uppercase;z-index:2;background:#17211fd1;border:1px solid #ffffff29;border-radius:999px;padding:8px 11px;font-size:.74rem;font-weight:950;position:absolute;top:16px;left:16px}.sea-three-scene canvas{position:absolute;inset:0}.sea-three-labels{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.sea-three-labels span{color:#fff;text-transform:uppercase;background:#17211fb8;border:1px solid #ffffff29;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:900}.sea-geometry-tools{grid-column:1/-1;grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);gap:16px;display:grid}.sea-geometry-sketch{background:#ffffffe6;border:1px solid #ffffff61;border-radius:8px;width:100%;min-height:260px}.sea-sketch-bg{fill:#eef6f3eb}.sea-sketch-shore{fill:none;stroke:#235d6d;stroke-linecap:round;stroke-width:6px}.sea-sketch-sail{fill:url(#sea-sail-sketch);stroke:#17211f;stroke-linejoin:round;stroke-width:4px}.sea-sketch-prism,.sea-sketch-edge,.sea-sketch-measure{fill:none;stroke-linecap:round}.sea-sketch-prism{stroke:#235d6d94;stroke-dasharray:9 8;stroke-width:3px}.sea-sketch-edge{stroke:#17211f6b;stroke-width:3px}.sea-sketch-angle{fill:none;stroke:#f06f5f;stroke-width:5px}.sea-sketch-measure{stroke:#4867a8;stroke-dasharray:8 7;stroke-width:3px}.sea-sketch-point{fill:#f3bd3f;stroke:#17211f;stroke-width:3px}.sea-geometry-sketch text{fill:#17211f;paint-order:stroke;stroke:#ffffffeb;stroke-width:5px;font-size:16px;font-weight:950}.sea-geometry-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sea-geometry-metrics div{color:var(--ink);background:#ffffffeb;border:1px solid #ffffff75;border-radius:8px;gap:7px;min-height:112px;padding:12px;display:grid}.sea-geometry-metrics svg{color:#235d6d}.sea-geometry-metrics span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:950}.sea-geometry-metrics strong{color:var(--ink);font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.12}.sea-geometry-prompt{background:#17211fc7;border:1px solid #ffffff2e;border-radius:8px;grid-column:1/-1;align-content:center;gap:8px;padding:16px;display:grid}.sea-geometry-prompt span{color:#aee3d7;text-transform:uppercase;font-size:.74rem;font-weight:950}.sea-geometry-prompt strong{color:#fff;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.14}.sea-geometry-prompt p{color:#d7e3df;margin:0;line-height:1.48}.sea-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.sea-panel{align-content:start;gap:10px;min-height:210px;padding:16px;display:grid}.sea-panel>span{color:var(--muted)}.sea-panel strong{color:var(--ink);font-size:clamp(1.18rem,2vw,1.7rem);line-height:1.12}.sea-panel p{color:var(--muted);margin:0;line-height:1.5}.sea-panel.dark{color:#fff;background:#17211f}.sea-panel.dark>span{color:#aee3d7}.sea-panel.dark strong{color:#fff}.sea-panel.dark p{color:#d7e3df}.sea-panel.wide{grid-column:span 1}.sea-rule-stack{gap:8px;display:grid}.sea-rule-stack code{border:1px solid var(--line);color:#235d6d;overflow-wrap:anywhere;background:#f8fbfa;border-radius:8px;padding:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;font-weight:800}.import-pack-page{background:linear-gradient(135deg, #f7faf9 0%, #dff1f4 50%, #fff8df 100%), var(--background);color:var(--ink);grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid}.import-pack-dock{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;flex-direction:column;align-self:start;gap:14px;padding:16px;display:flex;position:sticky;top:18px}.import-pack-workspace{gap:16px;min-width:0;display:grid}.import-pack-header{justify-content:space-between;align-items:end;gap:18px;display:flex}.import-pack-header h1{max-width:980px;margin:0;font-size:clamp(2.2rem,4.8vw,5.4rem);line-height:.9}.import-pack-status{color:#fff;background:#17211fdb;border:1px solid #ffffff29;border-radius:8px;flex:0 0 270px;padding:14px;font-weight:900;line-height:1.25}.import-pack-export-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.import-pack-export-grid button{border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);text-align:left;background:#ffffffeb;border-radius:8px;align-content:start;gap:8px;min-height:132px;padding:14px;display:grid}.import-pack-export-grid button svg{color:#2f89a2}.import-pack-export-grid button span{font-size:1rem;font-weight:950}.import-pack-export-grid button small{color:var(--muted);font-weight:800;line-height:1.35}.import-pack-guide{grid-template-columns:minmax(320px,1.12fr) repeat(3,minmax(220px,1fr));gap:12px;display:grid}.import-pack-guide-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;align-content:start;gap:10px;padding:16px;display:grid}.import-pack-guide-card.primary{color:#fff;background:#17211f}.import-pack-guide-card span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:950}.import-pack-guide-card.primary span{color:#aee3d7}.import-pack-guide-card h2,.import-pack-guide-card h3{margin:0;font-size:clamp(1.2rem,2vw,1.85rem);line-height:1.08}.import-pack-guide-card p,.import-pack-guide-card li{color:var(--muted);line-height:1.45}.import-pack-guide-card.primary p{color:#d7e3df}.import-pack-guide-card ol,.import-pack-guide-card ul{gap:7px;margin:0;padding-left:20px;display:grid}.import-pack-guide-card code{border:1px solid var(--line);color:#235d6d;background:#eef6f3;border-radius:5px;padding:1px 5px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86em;font-weight:850}.import-pack-preview-grid{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:16px;display:grid}.import-pack-preview{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.import-pack-canvas-shell{aspect-ratio:16/9;border-radius:8px;position:relative;overflow:hidden}.import-pack-canvas-shell canvas{width:100%;height:100%;display:block}.import-pack-three-scene{min-height:420px}.import-pack-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.import-pack-steps article,.import-pack-data div{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px}.import-pack-steps article{gap:8px;padding:16px;display:grid}.import-pack-steps article span{color:#fff;background:#17211f;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:950;display:inline-flex}.import-pack-steps strong{font-size:1.15rem}.import-pack-steps p{color:var(--muted);margin:0;line-height:1.48}.import-pack-data{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.import-pack-data div{gap:8px;min-height:118px;padding:14px;display:grid}.import-pack-data svg{color:#235d6d}.import-pack-data span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:950}.import-pack-data strong{font-size:clamp(1.15rem,2vw,1.75rem);line-height:1.1}@media (max-width:1180px){.sea-page,.import-pack-page,.import-pack-preview-grid,.import-pack-guide{grid-template-columns:1fr}.import-pack-dock{position:static}.import-pack-export-grid,.import-pack-data{grid-template-columns:repeat(2,minmax(0,1fr))}.sea-dock{position:static}.sea-info-grid,.sea-data-lab{grid-template-columns:repeat(2,minmax(0,1fr))}.sea-data-card.wide{grid-column:1/-1}.sea-geometry-lab,.sea-geometry-tools{grid-template-columns:1fr}.sea-three-scene{min-height:380px}}@media (max-width:760px){.sea-page{padding:12px}.sea-header,.import-pack-header{flex-direction:column;align-items:start}.import-pack-status{flex:none;width:100%}.sea-info-grid,.sea-equation-strip,.sea-data-lab,.sea-geometry-metrics,.sea-palettes,.sea-actions,.sea-view-toggle,.sea-export-actions,.sea-links,.import-pack-export-grid,.import-pack-steps,.import-pack-data{grid-template-columns:1fr}.sea-data-card.wide{grid-column:auto}.sea-stage{aspect-ratio:auto;height:520px;min-height:520px}.sea-geometry-lab{padding:14px}.sea-three-scene{min-height:330px}}
