:root{color:#344a42;font-synthesis:none;--ink:#344a42;--green:#496e5c;--dark:#284c3d;--gold:#d5a65f;background:#f5f1e5;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at top,#fffcf0,#f4efe1 70%);min-width:300px;margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline-offset:3px;outline:3px solid #ba7c37}.app{max-width:1020px;margin:0 auto;padding:25px 26px 18px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-mark{color:#5b8066;background:#d8e7d7;border-radius:50%;place-items:center;width:50px;height:50px;font-size:33px;line-height:1;display:grid}.eyebrow,.card-kicker{letter-spacing:.19em;color:#829185;font-family:Georgia,serif;font-size:10px;font-weight:700}.brand h1{letter-spacing:.09em;margin:3px 0 0;font-size:clamp(22px,3vw,30px);font-weight:800}.help-button,.icon-button{color:#486657;background:#fffdf5;border:1px solid #cfd8c8;border-radius:100px;font-weight:700}.help-button{padding:10px 15px;font-size:13px}.game{background:#fffcf4;border:1px solid #e5dfce;border-radius:22px;padding:14px;box-shadow:0 12px 35px #564a3010}.dashboard{grid-template-columns:1fr 1.15fr 1fr;gap:9px;margin-bottom:11px;display:grid}.metric{background:#f4f5e9;border-radius:12px;flex-direction:column;gap:4px;min-height:75px;padding:10px 14px;display:flex;position:relative}.metric-label{color:#829082;letter-spacing:.08em;font-size:11px;font-weight:700}.metric strong{letter-spacing:.02em;font-family:Georgia,Yu Gothic,serif;font-size:20px;line-height:1.15}.metric small{color:#879485;font-family:Yu Gothic,sans-serif;font-size:12px}.metric-note{color:#97a397;font-size:10px}.wind-dots{gap:4px;display:flex;position:absolute;bottom:15px;right:15px}.wind-dots i{background:#dce5d5;border-radius:50%;width:9px;height:9px;display:block}.wind-dots i.on{background:#76a88b}.track{background:#e1e6d9;border-radius:20px;height:7px;overflow:hidden}.track>span{border-radius:inherit;background:#8cab81;width:0;height:100%;transition:width .12s linear;display:block}.flour-metric .track{margin-top:2px}.scene{background:#dcebe0;border-radius:14px;position:relative;overflow:hidden}.scene canvas{aspect-ratio:1000/510;width:100%;height:auto;display:block}.scene-label{color:#56715e;background:#fffcf1e8;border-radius:100px;padding:7px 11px;font-size:12px;font-weight:700;position:absolute;top:15px;left:15px;box-shadow:0 2px 8px #46614e16}.overlay{background:#273c2d40;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.overlay[hidden]{display:none}.overlay-card{text-align:center;background:#fffdf5f2;border-radius:18px;width:min(100%,380px);max-width:380px;padding:23px 27px;box-shadow:0 14px 40px #263e2940}.card-kicker{color:#98a391;margin:0 0 8px}.overlay h2{letter-spacing:.07em;margin:0 0 9px;font-size:clamp(20px,3.2vw,29px);line-height:1.35}.overlay p:not(.card-kicker):not(.result-amount){color:#708175;margin:0 0 15px;font-size:12px;line-height:1.9}.primary,.secondary{border:0;border-radius:100px;padding:12px 22px;font-weight:800}.primary{color:#fffdf2;background:#527a63;box-shadow:0 4px #365b47}.primary:hover{background:#446e57}.primary:active{transform:translateY(2px);box-shadow:0 2px #365b47}.primary span{margin-left:17px}.secondary{color:#597568;background:#edf1e7}.result-amount{color:#bc8846;margin:0;font-family:Georgia,serif}.result-amount strong{font-size:34px}.result-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.result-detail{margin-bottom:10px!important;font-size:11px!important}.control-panel{padding:17px 7px 2px}.control-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:11px;display:flex}.control-heading h2{letter-spacing:.06em;margin:2px 0 0;font-size:19px}.control-heading h2 small{color:#8a9c8d;font-size:13px;font-weight:500}.control-heading p{color:#839487;text-align:right;margin:0;font-size:12px;line-height:1.5}.sails{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.sail{color:#567260;text-align:left;background:#f9faf1;border:1px solid #dce4d6;border-radius:12px;grid-template-rows:1fr 1fr;grid-template-columns:36px 1fr;align-items:end;column-gap:8px;min-height:74px;padding:10px 12px;display:grid;position:relative}.sail strong{font-size:14px;line-height:1.2}.sail>span:not(.sail-icon){color:#93a293;align-self:start;margin-top:3px;font-size:10px}.sail[aria-pressed=true]{background:#e6f0df;border:2px solid #719b79;box-shadow:inset 0 0 0 2px #fffaf0}.sail:disabled{opacity:.67;cursor:default}.sail kbd{color:#a4b3a1;font:10px Georgia;position:absolute;top:8px;right:9px}.sail-icon{border-left:2px solid #8ba489;grid-row:1/3;align-self:center;width:30px;height:30px;position:relative;transform:rotate(20deg)}.sail-icon i{clip-path:polygon(0 0,100% 15%,85% 92%,0 100%);background:#c8dcc0;border:1px solid #91aa90;height:24px;display:block}.sail-small i{width:10px}.sail-medium i{width:18px}.sail-large i{width:25px}.strain-row{grid-template-columns:auto 1fr;align-items:center;gap:6px 14px;margin-top:13px;display:grid}.strain-row>div:first-child{white-space:nowrap;font-size:11px}.strain-row strong{color:#748a79}.strain-row #strain-label{color:#a5845d;margin-left:8px}.strain-track>span{background:#daa45f}.strain-track.danger>span{background:#d67758}.strain-row p{color:#98a49a;grid-column:1/-1;margin:0;font-size:10px}.mobile-only{display:none}footer{color:#a0aa9c;letter-spacing:.05em;justify-content:space-between;padding:13px 8px 0;font-size:10px;display:flex}footer span:first-child{letter-spacing:.14em;font-family:Georgia,serif}dialog{width:min(440px,100% - 30px);color:var(--ink);background:#fffcf4;border:0;border-radius:20px;padding:0;box-shadow:0 18px 60px #25382e50}dialog::backdrop{background:#243d31a8}.help-content{padding:25px}.help-top{justify-content:space-between;align-items:center;display:flex}.icon-button{width:34px;height:34px;font-size:24px;line-height:1}.help-content h2{margin:5px 0 15px}.help-content ol{margin:0 0 20px;padding-left:23px}.help-content li{color:#708175;margin:0 0 13px;padding-left:5px}.help-content li strong{color:#3f5d4d;font-size:14px}.help-content li p{margin:3px 0 0;font-size:12px;line-height:1.7}.help-content .primary{width:100%}#ready-panel,#result-panel{z-index:20;background:#243d3190;position:fixed}@media (min-width:861px){.game{grid-template-columns:minmax(0,1.75fr) minmax(255px,.85fr);gap:0 16px;display:grid}.dashboard{grid-column:1/-1}.scene{align-self:start}.control-panel{padding:4px 4px 0}.control-heading{display:block}.control-heading p{text-align:left;margin-top:6px}.sails{grid-template-columns:1fr;gap:6px}.sail{min-height:66px}.strain-row{grid-template-columns:1fr;gap:5px}.strain-row p{grid-column:auto}}@media (max-width:600px){.app{padding:13px 12px}.topbar{margin-bottom:11px}.brand-mark{width:39px;height:39px;font-size:27px}.brand{gap:8px}.brand h1{font-size:21px}.eyebrow{font-size:8px}.help-button{padding:8px 10px;font-size:12px}.help-button span{display:none}.game{border-radius:16px;padding:8px}.dashboard{gap:5px;margin-bottom:7px}.metric{min-height:68px;padding:8px}.metric-label{font-size:10px}.metric strong{font-size:16px}.metric small{font-size:10px}.wind-dots{gap:2px;bottom:10px;right:8px}.wind-dots i{width:6px;height:6px}.metric-note{font-size:8px}.scene{border-radius:10px}.scene-label{padding:5px 8px;font-size:10px;top:8px;left:8px}.overlay-card{max-width:290px;padding:13px 16px}.overlay h2{margin-bottom:5px;font-size:19px}.overlay p:not(.card-kicker):not(.result-amount){margin-bottom:8px;font-size:10px;line-height:1.55}.card-kicker{margin-bottom:3px;font-size:8px}.primary,.secondary{padding:9px 16px;font-size:12px}.result-amount strong{font-size:25px}.result-actions{gap:5px}.control-panel{padding:12px 3px 0}.control-heading{margin-bottom:8px}.control-heading h2{font-size:16px}.control-heading p{font-size:10px}.mobile-only{display:block}.sails{gap:5px}.sail{grid-template-columns:23px 1fr;column-gap:4px;min-height:69px;padding:7px 5px}.sail strong{font-size:12px}.sail>span:not(.sail-icon){font-size:9px}.sail-icon{transform-origin:0;transform:rotate(20deg)scale(.78)}.sail kbd{display:none}.strain-row{gap:5px 9px;margin-top:10px}.strain-row>div:first-child{font-size:10px}.strain-row p{font-size:9px}footer{padding-top:9px;font-size:9px}}@media (max-width:340px){.brand h1{font-size:19px}.wind-dots{display:none}.metric strong{font-size:14px}.sail strong{font-size:11px}.sail{grid-template-columns:19px 1fr}.control-heading p{font-size:9px}}
