:root{font:16px 'Nunito Sans',system-ui,sans-serif;color:#273b48;background:#f6eddb;--red:#ae3f49;--green:#367558;--border:#b99a70}*{box-sizing:border-box}body{margin:0;overflow-wrap:anywhere;background:radial-gradient(ellipse at top left,#fff8e8,transparent 70%),#f6eddb}button,input,select,summary{font:inherit;color:inherit}button,input,select{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:#fff9ec;padding:9px 12px}button{font-weight:800;cursor:pointer;overflow-wrap:anywhere}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,#stage:focus-visible{outline:3px solid #1982c4;outline-offset:3px}.primary{background:var(--red);color:#fff9ec;border-color:#84313b;box-shadow:0 3px 0 #84313b}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #84313b}[hidden]{display:none!important}h1,h2,h3{overflow-wrap:anywhere;font-family:Georgia,serif;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.8rem);margin:.3em 0}h2{font-size:1.6rem;margin-top:0}p,li,figcaption,label,strong{overflow-wrap:anywhere}p,li{line-height:1.5}li+li{margin-top:.7em}main,#game{max-width:1320px;margin:auto;padding:16px}.homeHeader{display:flex;gap:16px;align-items:center;margin-bottom:16px}.logo{object-fit:contain;flex-shrink:0}.homeHeader nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:1}.hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.heroCopy{padding:18px}.kicker{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.cover{width:100%;height:auto;display:block;border:7px solid #fff9ec;box-shadow:0 5px 20px #573b2024;border-radius:14px}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.actions>*{max-width:100%}#progress,#collectionProgress{color:var(--green);font-weight:900}.route{margin-top:30px}#route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chapter{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff8e7}.chapter img{width:100%;height:auto;display:block}.chapterCopy{padding:16px}.chapterCopy h3{margin:0 0 8px;font-size:1.35rem}.chapterCopy p{font-size:.95rem}.heatButtons{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:7px}.heatButtons button{padding:7px}.heatButtons .stamped{background:#dfe9d3;color:#285d45}.practiceSetup{border:1px dashed var(--border);border-radius:10px;padding:16px;margin-top:24px}summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:900;overflow-wrap:anywhere}.practiceRow{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.practiceRow label{flex:1;min-width:180px}label{display:grid;gap:6px;min-width:0}label select,label input{width:100%}#notice{font-size:.9rem;color:#735335}.gameHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;z-index:3;background:#f6eddbf5;padding:10px 0}.gameHeader>div{min-width:0}.gameHeader #pause{flex-shrink:0;white-space:nowrap}.gameHeader strong{font-size:1.12rem}.gameMeta{display:flex;gap:8px;flex-wrap:wrap;font-weight:800;font-size:.95rem}.gameMeta span{border-radius:6px;padding:4px 8px;background:#fff8e7}.playGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.33fr);gap:16px;align-items:start}.scene{min-width:0}#stage{position:relative;aspect-ratio:5/4;border:3px solid var(--border);border-radius:10px;overflow:hidden;touch-action:none;user-select:none;background:#fff0d1}canvas,svg{width:100%;height:100%;display:block}.sceneCaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin:8px 0}.sceneCaption small{color:#705c45}.steering{min-width:0;background:#fff8e7;border:1px solid var(--border);padding:12px;border-radius:12px}.ringCue{display:flex;align-items:center;gap:6px}.ringCue img{object-fit:contain;flex:0 0 90px;width:90px;height:77px;animation:ringBreath 2.8s ease-in-out infinite}.ringCue>div{min-width:0;flex:1}.ringCue p{margin:0;font-weight:800}progress{width:100%;height:12px;accent-color:var(--green)}.small{font-size:.88rem;line-height:1.45}.pad{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));gap:7px;max-width:250px;margin:10px auto}.pad button{min-height:48px;padding:7px;touch-action:none;font-size:1.25rem}.pad #padStop{font-size:.9rem}.fineSteer{border-top:1px solid #dbc8aa;margin-top:12px}.fineFields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fineFields label{font-size:.88rem;font-weight:800}.fineFields input{width:100%;min-width:0}.fineSteer .actions{margin-top:10px}#gameNotice{font-size:.9rem;color:#805433}dialog{border:2px solid var(--border);border-radius:14px;background:#fff8e7;color:inherit;max-width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:22px;overflow:auto;box-shadow:0 12px 60px #1f293b44}dialog::backdrop{background:#273b4870;backdrop-filter:blur(4px)}dialog h2{margin-bottom:16px}dialog p:last-child{margin-bottom:0}dialog .actions{margin-top:20px}dialog select{max-width:100%;width:100%}.toggle{display:flex;align-items:center;gap:10px;margin:10px 0;min-height:44px;cursor:pointer}.toggle input{width:24px;min-width:24px;min-height:24px;accent-color:var(--green)}#settings>label:not(.toggle){margin-top:16px}.bigPoints{font-size:1.8rem;font-weight:900;color:var(--red)}#collectionGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}#collectionGrid figure{margin:0;min-width:0;border:1px solid #dbc8aa;border-radius:8px;padding:6px;text-align:center;background:#f6eddb}#collectionGrid img{width:100%;height:auto;display:block}#collectionGrid figcaption{font-size:.8rem}#collectionGrid .locked img{filter:grayscale(1);opacity:.35}#collectionGrid small{display:block;margin-top:4px;color:var(--green)}#shelfGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#shelfGrid figure{margin:0;min-width:0}#shelfGrid img,#rewardImages img{max-width:100%;height:auto;border-radius:8px}.lockedShelf{height:110px;display:grid;place-items:center;background:#e4dac6;font-size:2.5rem}#rewardImages{display:flex;gap:10px;flex-wrap:wrap}#rewardImages img{width:220px}#tableMap{max-height:55vh;border:1px solid var(--border);background:#f6eddb}#standingsList p{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid #e0cdb0;padding-bottom:8px}#standingsList .self{font-weight:900;color:var(--red)}.reducedMotion .ringCue img{animation:none}@keyframes ringBreath{50%{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){body:not(.motionAllowed) .ringCue img{animation:none}}@media(max-width:900px){.hero{grid-template-columns:1fr}.heroCopy{padding:8px}.cover{max-width:760px}#route{grid-template-columns:1fr}.chapter{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr}.chapter img{height:100%;object-fit:cover}.playGrid{grid-template-columns:1fr}.steering{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.ringCue,.steering>p:not(#aimHint):not(#lastPacked){grid-column:1/-1}.pad{grid-column:1;grid-row:4/7;width:100%;max-width:220px}#aimHint,.fineSteer,#lastPacked{grid-column:2}.fineSteer{margin-top:0}.ringCue img{width:80px;height:68px;flex-basis:80px}}@media(max-width:480px){main,#game{padding:10px}.homeHeader{gap:8px;align-items:start}.logo{width:70px;height:60px}.homeHeader nav{gap:5px}.homeHeader button{font-size:.82rem;padding:7px}.chapter{display:block}.chapter img{height:auto}.chapterCopy{padding:12px}dialog{padding:16px}.gameMeta{gap:4px}.gameMeta span{padding:4px}.gameHeader strong{font-size:1rem}.steering{padding:8px}.fineFields{grid-template-columns:1fr}.pad{align-self:start}.ringCue img{width:76px;height:65px;flex-basis:76px}#collectionGrid{grid-template-columns:repeat(3,minmax(0,1fr))}#shelfGrid{grid-template-columns:1fr}#shelfGrid img{width:100%;max-width:350px}.homeHeader .logo{display:none}}@media(max-height:450px){.playGrid{grid-template-columns:minmax(0,1fr) minmax(200px,.45fr);gap:10px}.steering{display:block;padding:8px}#stage{max-width:480px}.pad{max-width:180px;gap:4px}.pad button{min-height:44px}.ringCue img{width:65px;height:55px;flex-basis:65px}.sceneCaption small{display:none}.gameHeader{padding:5px 0}}
