body{margin:0;background:radial-gradient(circle at top,rgb(255 244 208 / .82),transparent 30%),linear-gradient(180deg,#f3f9ff,#deecff 48%,#f5ece0)}.reach-lab{--ink: rgb(17 35 63);--muted: rgb(84 102 134);--line: rgb(45 73 118 / .14);--panel: rgb(255 255 255 / .84);--cream: rgb(255 247 232);--sky: rgb(228 241 255);--accent: rgb(203 98 44);--accent-deep: rgb(127 53 19);--good: rgb(18 121 74);--warn: rgb(184 109 23);min-height:100vh;padding:1rem 1rem 7rem;color:var(--ink);font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif}.reach-lab h1,.reach-lab h2,.reach-lab h3,.reach-lab p{margin:0}.hero-card,.panel{width:min(1180px,100%);margin:0 auto;border-radius:30px;border:1px solid var(--line);background:var(--panel);box-shadow:0 22px 80px #274a7a29;backdrop-filter:blur(18px)}.hero-card{display:grid;gap:1.25rem;padding:1.5rem;background:radial-gradient(circle at top right,rgb(255 255 255 / .85),transparent 34%),linear-gradient(135deg,#fffcf4eb,#e8f4ffe0)}.eyebrow{margin-bottom:.45rem;color:#1f589d;font-size:.82rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero-copy h1{font-size:clamp(2rem,4.3vw,3.5rem);line-height:.96}.lede{max-width:52rem;margin-top:.85rem;color:var(--muted);font-size:1.03rem;line-height:1.6}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem}.hero-chip{display:grid;gap:.45rem;padding:1rem;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#f7fbff,#fff6e6)}.hero-chip p{color:#34496d;font-size:.92rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-chip strong{font-size:clamp(2rem,4vw,2.8rem);line-height:1}.hero-chip span{color:var(--muted);line-height:1.5}.builder-grid,.game-grid{display:grid;gap:1rem;width:min(1180px,100%);margin:1rem auto 0}.builder-grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}.game-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.panel{padding:1.3rem}.panel-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.panel-head h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.02}.panel-note,.summary-label,.selected-copy,.word-visibility,.mode-readout p{color:var(--muted);line-height:1.5}.count-pill{white-space:nowrap;border-radius:999px;padding:.55rem .85rem;background:#e9f0fc;color:#163d71;font-weight:900}.word-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:.9rem;align-items:end}.reach-lab label{display:grid;gap:.42rem;font-weight:800}.reach-lab label span{font-size:.92rem}.reach-lab input{width:100%;padding:.85rem .95rem;border:2px solid rgb(184 201 230);border-radius:18px;background:#fffffff5;color:var(--ink);font:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.reach-lab input:focus{outline:none;border-color:#2263a9;box-shadow:0 0 0 4px #2263a924;transform:translateY(-1px)}.form-side-note{grid-column:1 / -1;display:grid;gap:.2rem;margin-top:.2rem;padding:.85rem 1rem;border-radius:18px;background:linear-gradient(180deg,#f4f8ff,#fff6ea);border:1px solid var(--line);font-size:.92rem}.message{min-height:1.5rem;margin-top:1rem;font-weight:900;color:var(--ink)}.message[data-tone=success]{color:var(--good)}.message[data-tone=warning]{color:var(--warn)}.button-row,.button-stack{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.button-stack{margin-top:1.1rem}.primary-button,.secondary-button,.ghost-button,.mode-button,.remove-button,.word-select{font:inherit}.primary-button,.secondary-button,.ghost-button,.mode-button,.remove-button{cursor:pointer;border:0;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary-button,.secondary-button,.ghost-button{padding:.9rem 1.25rem;font-size:.98rem;font-weight:900}.primary-button{color:#fff;background:linear-gradient(135deg,#185ca0,#0c7ea4);box-shadow:0 14px 28px #185ca03d}.secondary-button{color:#193565;background:#e7effa}.ghost-button{color:var(--accent-deep);background:#ffeedf}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.mode-button:hover,.remove-button:hover{transform:translateY(-2px)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.summary-card,.selected-card,.word-card,.mode-readout{border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,#fffffff5,#f5f9ffeb)}.summary-card{padding:.95rem}.summary-card strong{display:block;margin-top:.4rem;font-size:1.05rem;line-height:1.35}.selected-summary{margin-bottom:1rem}.selected-card,.mode-readout{padding:1rem}.selected-card h3,.mode-readout h3{margin-bottom:.5rem;font-size:1.15rem;line-height:1.2}.mode-chip-row,.mini-chip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.mode-chip,.mini-chip{border-radius:999px;padding:.4rem .65rem;background:#e8eef7;color:#445572;font-size:.85rem;font-weight:900}.mode-chip.is-hit,.mini-chip.is-hit{background:#e0f9e9;color:#0a673e}.saved-words{display:grid;gap:.8rem;max-height:34rem;overflow:auto;padding-right:.15rem}.word-card{padding:.85rem}.word-card.is-selected{box-shadow:0 0 0 2px #2465ac2e}.word-card-top{display:flex;gap:.75rem;justify-content:space-between;align-items:flex-start}.word-select{display:grid;gap:.18rem;flex:1;border:0;padding:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.word-select strong{font-size:1rem}.word-select span{color:var(--muted);font-size:.9rem}.remove-button{padding:.5rem .8rem;color:var(--accent-deep);background:#fff0e4;font-size:.88rem;font-weight:900}.summary-empty{padding:1rem;border-radius:20px;border:1px dashed rgb(45 73 118 / .18);color:var(--muted);background:#fbfcffc7}.stage-panel{overflow:hidden}.stage-viewport{position:relative;height:min(78vh,780px);overflow:auto;border-radius:26px;border:1px solid var(--line);background:radial-gradient(circle at top right,rgb(255 255 255 / .28),transparent 30%),linear-gradient(180deg,#e0ebf8,#f4f9ff 32%,#fdf7ec);scroll-behavior:smooth}.stage-world{position:relative;min-width:420px}.word-layer{position:absolute;inset:0}.player-figure{position:absolute;left:3.5rem;width:48px;border-radius:14px;background:linear-gradient(180deg,#141414,#050505);box-shadow:0 14px 24px #0000002e,inset 0 0 0 1px #ffffff0f;transform-origin:center center;transition:transform .2s ease,border-radius .2s ease;z-index:2}.player-point{display:none;position:absolute;top:var(--point-offset, -160px);left:calc(100% - 4px);width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:24px solid rgb(5 5 5)}.player-figure.is-jumping{animation:square-jump .65s ease}@keyframes square-jump{0%,to{transform:translateY(0)}45%{transform:translateY(calc(var(--jump-rise, 0px) * -1))}}.player-figure[data-mode=liftPoint] .player-point,.player-figure[data-mode=pointReach] .player-point,.player-figure[data-mode=pointTop] .player-point{display:block}.player-figure[data-mode=jumpReach] .player-point,.player-figure[data-mode=jumpTop] .player-point,.player-figure[data-mode=liftTop] .player-point,.player-figure[data-mode=body] .player-point{display:none}.stage-word{position:absolute;left:9rem;width:auto;height:auto;border:0;padding:0;background:transparent;text-align:left;cursor:pointer}.stage-word-label{position:absolute;left:0;top:0;transform:none;padding:0;border-radius:0;background:transparent;color:#0f1f37;font-size:1rem;font-weight:800;white-space:nowrap;transition:transform .2s ease,color .2s ease}.stage-word.is-selected .stage-word-label{color:#b86d17;transform:translate(.25rem)}.stage-word.is-reachable .stage-word-label{color:#12794a}.mode-buttons{display:grid;gap:.75rem}.mode-button{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.95rem 1rem;background:#f0f5fd;color:#1b3866;font-weight:900;box-shadow:inset 0 0 0 1px #2d497614}.mode-button strong{font-size:1.1rem}.mode-button.is-active{color:#fff;background:linear-gradient(135deg,#df6830,#276fb2);box-shadow:0 16px 28px #276fb23d}.play-message{margin-top:1rem;padding:.95rem 1rem;border-radius:20px;background:linear-gradient(180deg,#f8fbff,#fff9ef);border:1px solid var(--line)}@media (max-width: 980px){.builder-grid,.game-grid{grid-template-columns:1fr}.stage-viewport{height:min(70vh,660px)}}@media (max-width: 720px){.reach-lab{padding-inline:.75rem}.hero-card,.panel{padding:1rem;border-radius:24px}.word-form{grid-template-columns:1fr}.panel-head{flex-direction:column}.stage-world{min-width:320px}}
