:root{font-family:'Trebuchet MS',ui-rounded,system-ui,sans-serif;color:#2e4434;background:#6e8653;--ink:#304b38;--forest:#355b42;--paper:#f8f1d9;--gold:#efbc5b;--line:#c7c9a7}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{user-select:none;-webkit-user-select:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;font-weight:700;border:0;touch-action:manipulation}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #d99a30;outline-offset:3px}button:active:not(:disabled){transform:translateY(2px)}a{color:inherit}h1,h2,h3,p{margin:0}h2{font-size:30px;letter-spacing:-1px}h3{font-size:18px}.game{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden}#stage{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px;cursor:grab}body.holding #stage{cursor:grabbing}.game-hud{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;gap:16px;pointer-events:none}.game-hud button{pointer-events:auto}.game-logo{filter:drop-shadow(0 2px 0 #f7f2cf66)}.game-logo>span{font-size:9px;letter-spacing:5px;font-weight:900;margin-left:3px;color:#5c774b}.game-logo h1{font-size:30px;line-height:.97;letter-spacing:-1.4px;color:#335037;position:relative}.logo-leaf{font-size:22px;position:absolute;right:-20px;top:26px;color:#bd8c36}.location{text-align:center;font-size:9px;font-weight:800;letter-spacing:2px;padding-top:8px;opacity:.75}.location small{display:block;letter-spacing:.3px;font-size:10px;margin-top:8px;font-weight:400}.hud-right{display:flex;align-items:center;gap:9px}.bank{display:flex;align-items:center;gap:10px;background:#fbefd2;border:2px solid #6f7049;border-radius:14px 14px 18px 14px;padding:8px 18px 8px 9px;box-shadow:0 4px 0 #46603e44;min-width:105px;transform:rotate(2deg)}.bank strong{display:block;font-size:23px;line-height:1.1}.bank small{font-size:8px;letter-spacing:2px;font-weight:900;color:#917740}.bell-icon{font-size:27px;background:#e9b652;border:2px solid #8c7238;border-radius:14px 14px 8px 8px;width:32px;height:35px;text-align:center;line-height:31px;transform:rotate(-9deg);color:#815e2d;box-shadow:inset 3px 2px 0 #ffe5a5}.round-button{width:38px;height:38px;border-radius:50%;background:#f3edcfbd;border:2px solid #71815a;box-shadow:0 3px 0 #3c573235;font-size:18px}.mode-switch{position:absolute;top:113px;left:24px;display:flex;border:1px solid #85946d;border-radius:9px;overflow:hidden;background:#e7e9c998}.mode{background:none;padding:8px 11px;font-size:11px;color:#65815a}.mode.active{background:#486b4d;color:#f9f3d8}.field-controls{position:absolute;top:106px;right:24px;display:flex;gap:5px;align-items:center}.glass{background:#f8f4db99;border:1px solid #9aa7808c;border-radius:7px;font-size:10px;padding:8px 10px;color:#526d45}.glass.active{background:#eff0d3;border-color:#7d9467}.speed-control select{border:1px solid #9aa7808c;background:#f8f4dbb0;color:#526d45;border-radius:7px;padding:7px;font-size:11px}.flight-stats{pointer-events:none;position:absolute;top:168px;left:26px;display:flex;align-items:end;gap:20px;color:#3e5b3d;text-shadow:0 1px #eef0cc}.flight-stats>div>span{display:block;font-size:8px;letter-spacing:1.6px;font-weight:800;margin-bottom:3px}.flight-stats strong{font-size:23px;font-weight:600;letter-spacing:-.7px}.flight-stats em{font-size:12px;font-style:normal;font-weight:400;opacity:.7}.flight-stats .distance-stat strong{font-size:37px}.detail-stat{display:none}body.show-details .detail-stat{display:block}.launch-prompt{position:absolute;left:50%;bottom:113px;transform:translateX(-50%);text-align:center;pointer-events:none;width:min(420px,85%);color:#fdf3cd;text-shadow:0 2px 3px #314c3270;transition:opacity .2s}.launch-prompt>strong{display:block;font-size:25px;letter-spacing:-.5px;margin:7px 0 12px}.launch-prompt>span:first-child{font-size:9px;letter-spacing:2px;font-weight:700}.launch-prompt>span:last-child{display:block;font-size:11px;margin-top:9px;line-height:1.5;min-height:17px}.charge-track{height:12px;width:210px;margin:auto;border:2px solid #3c5233;background:#2b49296b;border-radius:12px;box-shadow:0 1px 0 #e6dfb138;overflow:hidden}.charge-track i{display:block;width:100%;transform:scaleX(0);transform-origin:left;height:100%;background:linear-gradient(90deg,#f0c35f,#f9e9a1);border-radius:10px}.holding .charge-track{box-shadow:0 0 20px #ffd97133}.holding .launch-prompt>strong{color:#ffe6a0}.in-flight .charge-track{visibility:hidden}.in-flight .launch-prompt{opacity:.85}.volunteer-tag{position:absolute;bottom:29px;left:25px;display:flex;align-items:center;color:#f1efd1;gap:5px;pointer-events:none;font-size:11px}.volunteer-tag canvas{width:67px;height:47px;filter:drop-shadow(0 3px 2px #354b35aa)}.game-dock{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:10px}.game-dock button{background:#ebd5a0;border:2px solid #65583b;border-radius:10px;color:#554d32;padding:12px 19px;box-shadow:inset 0 2px #fff1c4,0 5px 0 #494e32,0 8px 8px #2b42242b;min-width:100px;font-size:13px;position:relative}.game-dock button>span{font-size:21px;display:inline-block;vertical-align:-2px;margin-right:7px;color:#856a3f}.game-dock .shop-dock{background:#edbf62;transform:rotate(-2deg)}.game-dock small{position:absolute;top:-9px;right:-7px;font-size:7px;letter-spacing:1px;background:#b75d41;color:#fff1cf;border:1px solid #83452e;padding:3px 5px;border-radius:4px;transform:rotate(9deg)}
.primary,.secondary,.reroll,.buy{padding:12px 18px;border-radius:9px;font-size:13px;border:2px solid #3f5438;box-shadow:0 3px 0 #283e2e;color:#fff2c9;background:#50734b}.primary:hover{background:#638451}.secondary{background:#eee1b7;color:#5a6344;border-color:#8d9167;box-shadow:0 3px 0 #7a805b}.wide{width:100%;margin-top:12px}.micro,.panel-intro{font-size:11px;line-height:1.6;color:#829071;margin-top:9px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:800;color:#7f906b;margin-bottom:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.close{position:absolute;right:18px;top:15px;width:35px;height:35px;border-radius:50%;background:#e2dfbb;color:#60704e;font-size:23px;z-index:2;border:1px solid #aeb28c}.close:hover{background:#d2d8ad}dialog{border:3px solid #5f724e;border-radius:20px;background:var(--paper);color:#3c5136;padding:28px;width:min(610px,calc(100% - 24px));max-height:calc(100dvh - 32px);box-shadow:0 8px 0 #354d30,0 30px 90px #1b301f66;overscroll-behavior:contain}dialog::backdrop{background:#203c2acf;backdrop-filter:blur(5px)}dialog h2{padding-right:25px;margin-bottom:18px}dialog p,dialog li{font-size:13px;line-height:1.7;color:#758464;margin:10px 0}dialog a{font-size:12px}.workshop-panel{padding:0;width:min(1030px,calc(100% - 48px));height:min(820px,calc(100dvh - 60px));max-height:calc(100dvh - 60px);overflow:hidden;box-shadow:0 9px 0 #354d30,0 35px 100px #172c2270}.panel-title{padding:22px 30px 12px;display:flex;gap:18px;align-items:center}.panel-title h2{margin:0;font-size:29px}.panel-title .eyebrow{margin:0 0 5px;font-size:8px}.small-badge{font-size:9px;padding:7px 9px;background:#dfe5c4;border:1px solid #b9c19a;border-radius:8px}.tabs{display:flex;padding:0 30px;gap:7px;border-bottom:2px solid #d7d8b7}.tabs button{font-size:12px;background:none;padding:12px 24px;border-radius:9px 9px 0 0;color:#82906e;position:relative;bottom:-2px;border:2px solid transparent}.tabs button.active{background:#e5e9ce;border-color:#b1bd93;border-bottom-color:#e5e9ce;color:#3f5b37}[role=tabpanel]{padding:22px 30px;overflow:auto;height:calc(100% - 133px);scrollbar-width:thin;scrollbar-color:#bdc7a1 transparent;overscroll-behavior:contain}.volunteer{display:flex;align-items:center;gap:10px;background:#e5e9d0;border:1px solid #cad1b0;border-radius:12px;padding:3px 13px;margin-bottom:15px}.volunteer canvas{width:81px;height:66px}.volunteer label{display:block;font-size:8px;letter-spacing:1.5px;color:#869570;margin-bottom:5px;font-weight:700}.volunteer select{border:0;background:none;font-size:18px;font-weight:700;color:#46613e;width:100%}.volunteer span{display:block;font-size:11px;color:#86946e;margin-top:4px}#buildParts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.part-group{border:1px solid #ccd1b0;border-radius:9px;padding:12px;background:#f6f1dd}.part-group label{display:flex;justify-content:space-between;gap:4px;font-size:10px;font-weight:700;color:#879373;margin-bottom:6px}.part-group label span{font-size:7px;font-weight:400}.part-group select{width:100%;border:0;background:none;color:#42603c;font-size:13px;font-weight:700;margin-left:-3px}.part-group p{font-size:10px;line-height:1.5;margin:6px 0 0;color:#899275}.tuning{margin-top:18px;background:#e8e9d1;border-radius:10px;padding:13px 16px}.tuning summary{font-size:13px;font-weight:700;cursor:pointer}.tuning summary span{float:right}.tuning>p{font-size:11px}#tuningFields{display:grid;grid-template-columns:1fr 1fr;gap:7px 25px}.tune-row{display:grid;grid-template-columns:1fr 110px 18px;align-items:center;gap:7px;font-size:11px;color:#738463}.tune-row input{width:100%;border:1px solid #bcc6a1;background:#f9f4dd;padding:9px 6px;border-radius:6px;color:#3c5c34;text-align:right;font-size:12px}.tune-row span:last-child{font-size:10px}.build-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0;padding:14px 0;border-top:1px dashed #bec8a5;border-bottom:1px dashed #bec8a5}.build-summary>div{font-size:10px;color:#84946d}.build-summary strong{display:block;font-size:14px;color:#4f6e42;margin-top:6px}.warning{padding:9px 12px;border-left:3px solid #c29643;background:#eddfba;color:#967337;font-size:11px!important;margin:5px 0!important}.text-button{background:none;color:#587047;font-size:11px;padding:8px}.block-label{display:block;font-size:11px;color:#7b8d66;margin:14px 0}.block-label input,.block-label select{display:block;width:100%;padding:11px;border:1px solid #bec7a5;background:#fff9e5;border-radius:7px;color:#4e6b40;font-size:13px;margin-top:6px}.blueprint{display:flex;gap:10px;align-items:center;border-bottom:1px solid #ccd2b2;padding:14px 0}.blueprint>span{flex:1;font-size:14px}.blueprint small{display:block;font-size:10px;color:#81916b;margin-top:5px}.file-actions{display:flex;justify-content:space-between;margin-top:20px}.file-label{cursor:pointer;display:inline-block}.file-label input{display:none}#creativePresets{margin-top:22px;padding-top:20px;border-top:1px dashed #bac5a1}#blueprintsPanel{max-width:650px;margin:auto}
/* A little card table: chunky edges, paper faces, original canvas miniatures. */
#shopPanel{background:radial-gradient(ellipse at 50% 20%,#637d56,#3f644b);color:#f5eac7}.shop-welcome{display:flex;align-items:center;gap:15px;margin:-6px 0 14px}.shop-welcome canvas{width:95px;height:68px;filter:drop-shadow(0 3px 0 #28483388)}.shop-welcome h3{font-size:27px;letter-spacing:-.7px;color:#ffedb9}.shop-welcome .eyebrow{font-size:8px;letter-spacing:1.5px;color:#bfcda1;margin:0 0 4px}.shop-welcome p:last-child{font-size:11px;color:#c3d0a8;margin:5px 0 0}.shop-bank{margin-left:auto;white-space:nowrap;font-size:12px;color:#f2d287}.shop-bank b{font-size:24px}.shelf-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:12px;font-size:9px;letter-spacing:2px;color:#d3dcb5;font-weight:800}.shelf-heading small{color:#a8bf9a;font-weight:400;font-size:8px;letter-spacing:1px;margin-left:10px}.reroll{background:#d3a858;color:#4f4930;border-color:#b58943;box-shadow:0 4px 0 #80673c;font-size:12px;letter-spacing:0;min-width:160px}.shop-deal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.shop-deal:has(> :nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.shop-card{--card-accent:#7f9c65;display:flex;flex-direction:column;background:#f3ecd2;color:#3c533b;border:3px solid #d9d6b7;border-radius:12px;padding:9px;box-shadow:0 6px 0 #213b2b88,inset 0 0 0 1px #fff6df;position:relative;transform:rotate(-1deg);animation:deal .3s ease-out both}.shop-card:nth-child(even){transform:rotate(1deg)}.shop-card:hover{border-color:#f1d38d;translate:0 -3px}.shop-card .slot-tag{font-size:7px;letter-spacing:1.2px;text-transform:uppercase;color:#879474;font-weight:700;display:flex;justify-content:space-between}.shop-card .slot-tag span{color:#a78a4a}.shop-card canvas{width:100%;height:85px;background:radial-gradient(ellipse,#edf1d7,#d8dfbf);border:1px solid #bbc7a2;border-radius:7px;margin:7px 0}.shop-card h3{font-size:15px;letter-spacing:-.3px;line-height:1.1;margin:3px 0 4px;min-height:31px}.shop-card p{font-size:10px;line-height:1.5;color:#879173;margin:4px 0 12px;flex:1}.buy{padding:9px 6px;font-size:12px;background:#e4b75b;color:#70542c;border-color:#b59147;box-shadow:0 3px 0 #a58a48;width:100%;margin-top:auto}.buy.owned{background:#c9d2af;color:#61734d;border-color:#95a47c;box-shadow:none}.shop-card.sold{opacity:.65}.special-shelf{border-top:1px dashed #a4b98c55;margin-top:24px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.special-shelf .shop-card{display:grid;grid-template-columns:85px 1fr;column-gap:12px;transform:rotate(-1deg);background:#ebd6a3;border-color:#cab878;padding:12px}.special-shelf .slot-tag{grid-column:2}.special-shelf canvas{grid-row:1/5;margin:0;height:112px;align-self:center;background:#e4c98c;border-color:#c1a268}.special-shelf h3{min-height:0;margin:2px 0}.special-shelf p{margin:3px 0 10px;font-size:10px}.special-shelf .buy{grid-column:2}.pack-card{background:#d9b9a4!important;border-color:#bd907b!important;transform:rotate(1deg)!important}.pack-card canvas{background:#cfa88d!important;border-color:#af8974!important}.shop-footnote{font-size:9px!important;color:#acc19a!important;text-align:center;margin:20px 0 0!important}.pack-choices{border:2px dashed #d7c389;border-radius:12px;padding:20px;margin-top:22px;background:#294b3a}.pack-choices h3{color:#fae6ae;text-align:center;font-size:20px}.pack-choices>p{color:#b9cca3;text-align:center;font-size:10px;margin:5px 0 18px}.pack-choices .shop-deal{grid-template-columns:repeat(3,minmax(0,1fr));max-width:650px;margin:auto}.empty-shelf{padding:22px;border:2px dashed #9db58a66;border-radius:12px;font-size:12px;grid-column:1/-1;color:#d6dfbc}.settings-row{display:flex;align-items:center;gap:10px;margin:17px 0;font-size:12px;flex-wrap:wrap}.settings-row input[type=range]{flex:1;accent-color:#5a7b47}.settings-row select{padding:8px;border:1px solid #b7c29d;background:#faf3d9;border-radius:6px}dialog hr{border:0;border-top:1px dashed #bcc7a2;margin:24px 0}.settings-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:24px}.settings-links a{font-size:10px;color:#87936c}#saveEnabled{accent-color:#5a7b47}#saveStatus{font-size:11px}#creativeWeather label{display:block;margin:15px 0;font-size:12px}#creativeWeather input[type=number]{width:90px;background:#faf3d9;border:1px solid #bcc7a2;padding:7px;border-radius:5px}.result-card{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-1deg);width:360px;max-width:90%;padding:28px;background:#faf0d2;border:3px solid #7b8557;border-radius:18px;box-shadow:0 8px 0 #425438,0 15px 55px #203b3944;text-align:center}.result-card h2{font-size:29px}.result-card p:not(.eyebrow){font-size:12px;line-height:1.6;color:#84906a;margin:14px 0 22px}.result-card .primary{width:100%}.result-card .secondary{font-size:11px;padding:9px}#resultNumbers{font-size:29px;color:#788644;font-weight:800;margin:20px 0 10px}.log-row{display:grid;grid-template-columns:1fr auto;gap:6px;padding:13px 0;border-bottom:1px solid #ccd2b2;font-size:13px}.log-row small{grid-column:1/-1;font-size:10px;color:#889574}#toast{position:fixed;bottom:94px;left:50%;transform:translateX(-50%);z-index:30;background:#f6eac3;color:#50623c;padding:13px 20px;border:2px solid #84936a;border-radius:10px;max-width:90vw;box-shadow:0 5px 0 #3f593b;font-size:12px;pointer-events:none}.creative .mode.active{background:#5d6783}.creative .bank{background:#e4e5da}.in-flight .game-dock{opacity:.8}[hidden]{display:none!important}@keyframes deal{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:750px){.game-hud{left:17px;right:17px;top:max(16px,env(safe-area-inset-top))}.game-logo h1{font-size:25px}.game-logo>span{font-size:7px}.location{display:none}.bank{padding:7px 12px 7px 7px;min-width:86px;gap:7px}.bank strong{font-size:20px}.bell-icon{width:27px;height:30px;line-height:26px;font-size:23px}.round-button{width:33px;height:33px;font-size:16px}.hud-right{gap:6px}.mode-switch{top:99px;left:17px}.mode{font-size:10px;padding:7px 9px}.field-controls{top:144px;left:17px;right:auto;gap:5px}.glass{font-size:9px;padding:7px 8px}.speed-control select{font-size:10px;padding:6px}.flight-stats{top:197px;left:20px;gap:18px}.flight-stats .distance-stat strong{font-size:31px}.flight-stats strong{font-size:21px}.flight-stats>div>span{font-size:7px}.detail-stat{display:none!important}.launch-prompt{bottom:120px}.launch-prompt>strong{font-size:22px}.launch-prompt>span:last-child{font-size:10px}.game-dock{gap:8px;bottom:max(23px,env(safe-area-inset-bottom))}.game-dock button{min-width:91px;padding:10px 15px;font-size:11px}.game-dock button>span{font-size:20px;margin-right:0;display:block;margin-bottom:3px}.volunteer-tag{bottom:215px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;gap:3px}.volunteer-tag canvas{width:50px;height:35px}.workshop-panel{width:calc(100% - 18px);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px);border-radius:15px}.panel-title{padding:20px 18px 12px;gap:10px}.panel-title h2{font-size:23px}.panel-title .eyebrow{font-size:6px}.small-badge{font-size:7px;padding:5px 6px}.close{top:12px;right:12px;width:30px;height:30px;font-size:20px}.tabs{padding:0 13px;gap:3px}.tabs button{padding:11px 18px;font-size:11px}[role=tabpanel]{padding:18px 15px;height:calc(100% - 122px)}#buildParts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.part-group{padding:10px}.part-group select{font-size:12px}.part-group label{font-size:8px}.part-group label span{display:none}.part-group p{font-size:9px}#tuningFields{grid-template-columns:1fr;gap:8px}.build-summary{grid-template-columns:1fr 1fr}.tune-row input{font-size:16px;padding:7px}.block-label input,.block-label select{font-size:16px}.shop-welcome{gap:7px;margin:0 0 17px}.shop-welcome canvas{width:60px;height:52px}.shop-welcome h3{font-size:20px;letter-spacing:-.6px}.shop-welcome .eyebrow{font-size:6px;letter-spacing:1px}.shop-welcome p:last-child{font-size:9px}.shop-bank{font-size:8px}.shop-bank b{font-size:18px;display:block}.shelf-heading{font-size:8px;letter-spacing:1px;gap:6px}.shelf-heading small{display:block;margin:4px 0 0;font-size:7px}.reroll{padding:9px 12px;min-width:140px;font-size:10px}.shop-deal,.shop-deal:has(> :nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.shop-card{padding:8px;border-width:2px}.shop-card h3{font-size:14px;min-height:30px}.shop-card canvas{height:80px}.shop-card p{font-size:9px}.shop-card .buy{font-size:11px;padding:9px}.special-shelf{grid-template-columns:1fr;gap:17px;margin-top:22px;padding-top:18px}.special-shelf .shop-card{grid-template-columns:80px 1fr}.special-shelf canvas{height:103px}.special-shelf h3{font-size:16px}.special-shelf p{font-size:10px}.pack-choices{padding:13px}.pack-choices .shop-deal{grid-template-columns:1fr}.pack-choices .shop-card{display:grid;grid-template-columns:80px 1fr;gap:6px 12px}.pack-choices canvas{grid-column:1;grid-row:1/4}.pack-choices h3{font-size:17px}.result-card{padding:23px;width:330px}.result-card h2{font-size:27px}.result-card p:not(.eyebrow){font-size:11px}#resultNumbers{font-size:26px}dialog{padding:25px 20px}.settings-row .secondary{font-size:10px;padding:10px}#toast{font-size:11px;bottom:105px;width:max-content;max-width:85vw}.in-flight .volunteer-tag{display:none}}
@media(max-height:530px) and (min-width:751px){.game-logo h1{font-size:23px}.mode-switch{top:95px}.field-controls{top:94px}.flight-stats{top:142px}.launch-prompt{bottom:85px}.launch-prompt>strong{font-size:20px;margin:4px 0 8px}.game-dock{bottom:15px}.game-dock button{padding:8px 16px}.workshop-panel{height:calc(100dvh - 26px);max-height:calc(100dvh - 26px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.shop-card:hover{translate:none}}
/* The shop uses the whole landscape table; portrait shelves scroll independently. */
@media(min-width:751px){.workshop-panel:has(#shopTab.active) .panel-title{padding-top:13px;padding-bottom:7px}.workshop-panel:has(#shopTab.active) .panel-title h2{font-size:25px}.workshop-panel:has(#shopTab.active) [role=tabpanel]{height:calc(100% - 113px)}#shopPanel{padding:12px 26px}.shop-welcome{margin:0 0 8px;gap:12px}.shop-welcome canvas{width:70px;height:45px}.shop-welcome h3{font-size:23px}.shop-welcome p:last-child{margin:2px 0 0;font-size:10px}.shelf-heading{margin-bottom:12px}.reroll{padding:9px 15px}.shop-deal{gap:13px}.shop-card canvas{height:65px;margin:5px 0}.shop-card h3{min-height:28px;font-size:14px}.shop-card p{font-size:10px;line-height:1.4;margin:3px 0 8px;color:#6d7b5a}.shop-card .buy{padding:7px}.special-shelf{margin-top:18px;padding-top:13px;gap:17px}.special-shelf .shop-card{grid-template-columns:57px 1fr 105px;padding:9px;column-gap:9px;min-height:94px}.special-shelf .slot-tag{grid-column:2;grid-row:1}.special-shelf h3{grid-column:2;grid-row:2;font-size:15px}.special-shelf p{grid-column:2;grid-row:3;font-size:9px;margin-bottom:0}.special-shelf canvas{grid-column:1;grid-row:1/4;height:70px}.special-shelf .buy{grid-column:3;grid-row:1/4;align-self:center;font-size:10px}.shop-footnote{margin-top:12px!important;font-size:8px!important}.pack-choices .shop-card h3{font-size:16px}.pack-choices .shop-card canvas{height:80px}}
@media(max-width:360px){.game-logo h1{font-size:21px}.hud-right{gap:4px}.round-button{width:30px;height:30px}.bank{min-width:72px;padding-right:9px}.bank strong{font-size:18px}.mode{font-size:9px}.glass{padding:8px 7px}.game-dock button{min-width:83px;padding:10px 12px}.volunteer-tag{bottom:205px}.launch-prompt{bottom:114px}.launch-prompt>strong{font-size:20px}.small-badge{display:none}.shop-welcome canvas{width:46px;height:43px}.shop-welcome h3{font-size:18px}.shop-deal{gap:12px 8px}.shop-card{padding:6px}.shop-card h3{font-size:13px}}
.workshop-panel[open]{display:flex;flex-direction:column}.workshop-panel .panel-title,.workshop-panel .tabs{flex-shrink:0}.workshop-panel [role=tabpanel]{flex:1;min-height:0;height:auto!important}.workshop-panel #blueprintsPanel{width:100%}
.game-logo h1{text-shadow:0 1px #edf0cb,1px 0 #edf0cb66,-1px 0 #edf0cb66}@media(max-width:750px){.glass,.speed-control select{min-height:40px}.round-button{min-height:36px;min-width:36px}}@media(max-width:360px){.hud-right{gap:3px}.game-hud{left:14px;right:14px}.game-logo h1{font-size:20px}}
.shop-card canvas{object-fit:contain}.game-logo{background:#f2e7c2e8;border:2px solid #7b8860;border-radius:12px 10px 13px 9px;padding:8px 13px;box-shadow:0 4px 0 #38533445;transform:rotate(-2deg)}.game-logo h1{font-size:27px;color:#3e593c;text-shadow:none}.logo-leaf{right:-9px;top:27px;font-size:15px}.game-logo>span{font-size:7px}.flight-stats{padding:10px 14px;background:#edf0cdd6;border:1px solid #98a679;border-radius:10px;box-shadow:0 3px 0 #3b563326}.flight-stats>div>span{color:#78835a;text-shadow:none}.flight-stats strong{color:#3e5839;text-shadow:none}@media(min-width:751px){.launch-prompt{bottom:94px}.launch-prompt>strong{margin-top:4px;margin-bottom:9px}}@media(max-width:750px){.game-logo{padding:7px 10px}.game-logo h1{font-size:21px}.logo-leaf{right:-7px;top:21px;font-size:12px}.flight-stats{padding:8px 11px;gap:16px}.flight-stats .distance-stat strong{font-size:28px}.flight-stats strong{font-size:20px}}@media(max-width:360px){.game-logo{padding:7px 9px}.game-logo h1{font-size:19px}.game-logo>span{font-size:6px}.flight-stats{top:194px}}
#stage:focus-visible{outline:none}#stage:focus-visible~.launch-prompt .charge-track{border-color:#bda361}
/* A fitted machine beside a real card table, in both screen orientations. */
.workshop-panel{width:min(1300px,calc(100% - 24px));height:calc(100dvh - 28px);max-height:none}
.workshop-layout{display:grid;grid-template-columns:38% 62%;height:100%;min-height:0}.workshop-tools{display:flex;flex-direction:column;min-height:0;min-width:0}.workshop-tools .panel-title,.workshop-tools .tabs{flex-shrink:0}.workshop-tools [role=tabpanel]{flex:1;min-height:0;height:auto!important;padding:18px 22px}
.rig-preview{position:relative;overflow:hidden;border-right:3px solid #70845b;background:#d5dfba;min-width:0;min-height:0}.rig-preview canvas{width:100%;height:100%;display:block}.preview-heading{position:absolute;left:22px;top:24px;z-index:1}.preview-heading>span{display:block;font-size:8px;letter-spacing:2px;color:#637c4c}.preview-heading>strong{display:block;font-size:25px;margin-top:6px;color:#3e5839}.preview-readouts{position:absolute;left:18px;right:18px;bottom:69px;display:flex;flex-wrap:wrap;gap:6px}.preview-readouts>span{background:#f1e5bedb;border:1px solid #a3ab7a;border-radius:6px;padding:6px 8px;font-size:11px;color:#52653e}.fitted-notice{position:absolute;bottom:20px;left:18px;right:18px;border:2px solid #c5b66f;border-radius:9px;padding:10px;background:#f5e0a1;color:#62512b;font-size:12px;box-shadow:0 3px #4a5b3166;text-align:center}.fitted-notice.pop{animation:fitted .6s cubic-bezier(.2,.85,.3,1.4)}.equip-pop{animation:fit-glow .6s ease-out}.panel-title{padding:21px 22px 12px}.panel-title h2{font-size:24px}.tabs{padding:0 22px}.tabs button{padding:10px 15px}.shop-welcome{gap:10px}.shop-welcome canvas{width:64px;height:52px}.shop-welcome h3{font-size:22px}.shop-welcome .eyebrow{font-size:7px}.shop-bank b{font-size:22px}.shop-deal,.shop-deal:has(> :nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shop-card{border:3px solid #e0ce98;border-radius:11px;background:linear-gradient(135deg,#fff6d8,#ecdfb8);box-shadow:0 5px #253e2b,0 0 0 1px #375335,inset 0 0 0 1px #fff8de;padding:10px;transition:transform .15s,border-color .15s}.shop-card:nth-child(2n){animation-delay:.045s}.shop-card:nth-child(3){animation-delay:.09s}.shop-card:nth-child(4){animation-delay:.135s}.shop-card canvas{height:69px;max-height:69px;background:radial-gradient(ellipse,#e3e9b8a8,transparent 75%)}.shop-card h3{font-size:16px}.shop-card p{font-size:10px;line-height:1.45;margin:5px 0 10px;min-height:30px}.shop-card .buy{background:#e4b356;color:#5b4629;border-color:#a87f3d;box-shadow:0 3px #7b6537;min-height:39px;font-size:12px}.shop-card.sold{border-color:#90b78a}.shop-card.sold .buy{background:#c0d1a5;color:#536a44;opacity:1}.special-shelf{grid-template-columns:1fr;gap:15px;margin-top:20px}.special-shelf .shop-card{display:grid;grid-template-columns:67px 1fr auto;column-gap:10px;align-items:center}.special-shelf .slot-tag{grid-column:1/-1}.special-shelf canvas{grid-column:1;grid-row:2/4;width:67px;height:62px}.special-shelf h3{grid-column:2;grid-row:2}.special-shelf p{grid-column:2;grid-row:3;min-height:0}.special-shelf .buy{grid-column:3;grid-row:2/4;max-width:140px;padding:9px;font-size:11px}.shelf-heading{margin-bottom:15px}.shop-footnote{font-size:10px!important}.shop-card .slot-tag{font-size:7px}
#buildParts{grid-template-columns:1fr;gap:9px}.part-group{padding:0;border:2px solid #c3caa3;box-shadow:0 3px #d3d7b8;overflow:hidden}.part-group>summary{display:flex;align-items:center;gap:10px;padding:5px 11px;list-style:none;cursor:pointer}.part-group>summary::-webkit-details-marker{display:none}.part-group>summary canvas{width:67px;height:40px;object-fit:contain}.part-group>summary>span:nth-child(2){flex:1}.part-group>summary small{display:block;font-size:9px;letter-spacing:.5px;color:#849269}.part-group>summary strong{display:block;font-size:13px;margin-top:3px}.part-chevron{font-size:18px;color:#9aa87a}.part-group>p{padding:0 15px 9px}.part-group[open]{background:#e6ebd0;border-color:#92a578}.part-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px 12px 13px}.equipment-choice{padding:4px 5px 9px;border:2px solid #c3cba2;border-radius:9px;background:#f6f0d7;display:flex;align-items:center;flex-direction:column;gap:3px;text-align:center;min-width:0;box-shadow:0 3px #ccd1ac;font-size:11px}.equipment-choice canvas{width:100%;max-width:100px;height:49px;object-fit:contain}.equipment-choice small{font-weight:400;font-size:9px;color:#788765}.equipment-choice[aria-pressed=true]{border-color:#618650;background:#e4ecbe;box-shadow:0 3px #607e4f}.equipment-choice[aria-pressed=true]::after{content:'FITTED';font-size:7px;letter-spacing:1px;color:#5b7c42}.animal-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:17px}.volunteer strong{font-size:18px}.starter-actions{display:flex;gap:9px;margin-bottom:12px}.starter-actions button{flex:1;font-size:11px;padding:10px 5px}.tune-row{grid-template-columns:1fr 90px 17px}#tuningFields{grid-template-columns:1fr}.build-summary{grid-template-columns:1fr 1fr}.preview-heading,.preview-readouts,.fitted-notice{pointer-events:none}.launch-kick .flight-stats{animation:score-kick .4s ease-out}.launch-kick .launch-prompt>strong{animation:soar .45s ease-out}
@keyframes fitted{0%{transform:translateY(15px) scale(.94);opacity:0}65%{transform:translateY(-3px) scale(1.03)}100%{transform:none;opacity:1}}@keyframes fit-glow{0%{filter:brightness(1.22)}100%{filter:brightness(1)}}@keyframes score-kick{0%{transform:scale(.95)}45%{transform:scale(1.05)}100%{transform:none}}@keyframes soar{0%{transform:translateY(9px);opacity:.4}100%{transform:none;opacity:1}}
@media(max-width:750px){.workshop-panel{width:calc(100% - 12px);height:calc(100dvh - 12px);border-radius:15px;margin:6px;padding:0}.workshop-layout{grid-template-columns:1fr;grid-template-rows:min(29dvh,230px) minmax(0,1fr)}.rig-preview{border-right:0;border-bottom:3px solid #70845b}.preview-heading{top:12px;left:13px}.preview-heading>span{font-size:6px;letter-spacing:1px}.preview-heading>strong{font-size:16px;margin-top:4px}.preview-readouts{left:auto;right:12px;top:47px;bottom:auto;max-width:114px;display:block}.preview-readouts>span{display:block;font-size:8px;padding:4px;margin-bottom:4px}.fitted-notice{bottom:9px;left:12px;right:12px;padding:5px;font-size:10px}.panel-title{padding:12px 15px 5px}.panel-title .eyebrow{display:none}.panel-title h2{font-size:20px}.tabs{padding:0 15px}.tabs button{font-size:11px;padding:8px 13px}.workshop-tools [role=tabpanel]{padding:15px 14px}.workshop-panel .close{top:9px;right:9px;width:30px;height:30px}.shop-welcome{margin:-3px 0 12px}.shop-welcome h3{font-size:18px}.shop-welcome canvas{width:43px;height:40px}.shop-welcome .eyebrow,.shop-welcome p:last-child{display:none}.shop-bank b{font-size:19px}.shop-bank{font-size:10px}.reroll{min-width:0;padding:9px;font-size:11px}.shelf-heading{gap:7px;letter-spacing:1px;font-size:8px}.shelf-heading small{display:block;margin:3px 0 0}.shop-deal{gap:13px 10px}.shop-card{padding:8px}.shop-card h3{font-size:13px}.shop-card canvas{height:59px}.shop-card p{font-size:9px}.special-shelf .buy{max-width:99px}.special-shelf .shop-card{grid-template-columns:51px 1fr auto;column-gap:7px}.special-shelf canvas{width:51px}.special-shelf h3{font-size:12px}.volunteer span{font-size:10px}.animal-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.part-options{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-choice{font-size:10px}.equipment-choice small{font-size:8px}.shop-card .buy{font-size:11px;min-height:36px;padding:7px}.starter-actions button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.shop-card,.fitted-notice.pop,.equip-pop,.launch-kick .flight-stats,.launch-kick .launch-prompt>strong{animation:none!important;transition:none!important}}
.preview-heading{background:#f2e7c5de;padding:9px 12px;border:1px solid #a1af7b;border-radius:9px;box-shadow:0 3px #71805830}.shop-card{animation-fill-mode:backwards}.rig-preview .preview-heading{max-width:calc(100% - 35px)}@media(max-width:750px){.preview-heading{padding:6px 9px;max-width:55%!important}.preview-heading>strong{font-size:14px}}
@media(max-width:750px){.preview-readouts{left:12px;right:auto;top:65px;max-width:106px}.preview-readouts>span{background:#f1e5beeb;font-size:8px}}
.preview-warning{position:absolute;left:18px;right:18px;bottom:112px;font-size:11px!important;line-height:1.4!important;background:#f3dfb5ed;border-left:3px solid #b07743;padding:8px;color:#83542f!important;pointer-events:none}@media(max-width:750px){.preview-warning{left:124px;right:9px;bottom:35px;font-size:8px!important;line-height:1.2!important;padding:4px}}

.bumper-combo{position:absolute;right:22px;top:190px;padding:10px 14px;border:2px solid #617447;border-radius:12px;background:#fff0b8;color:#4d603b;font-weight:900;font-size:13px;box-shadow:0 4px 0 #5d704544;pointer-events:none;animation:combo-pop .3s ease-out}@keyframes combo-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:600px){.bumper-combo{right:10px;top:190px;font-size:10px;padding:7px}}

#gameZoomOut,#gameZoomIn{min-width:28px;padding-left:8px;padding-right:8px}#treeCamera[aria-pressed="true"]{background:#d7e7b5;color:#35523a}@media(max-width:600px){.field-controls #labelsToggle,.field-controls #followToggle{display:none}.field-controls{gap:4px}.field-controls button{padding-left:7px;padding-right:7px}}
/* Keep loading instructions below the physical stand and basket. */
.preparing .volunteer-tag{display:none}.preparing .launch-prompt{bottom:93px;max-width:440px}.preparing .launch-prompt>strong{font-size:17px;margin:3px 0 6px}.preparing #phaseBadge{display:none}.preparing #launchStatus{font-size:10px}.preparing .charge-track{height:6px;margin:7px auto}
@media(max-width:750px){.preparing .launch-prompt{bottom:100px;max-width:90vw}.preparing .launch-prompt>strong{font-size:15px}.preparing #launchStatus{font-size:9px}.preparing .charge-track{margin:5px auto}.preparing #toast{bottom:170px}}

.loading-tip{position:fixed;z-index:35;left:50%;bottom:190px;transform:translateX(-50%);box-sizing:border-box;width:min(360px,calc(100vw - 32px));padding:12px 16px;border:2px solid #65543c;border-radius:12px;background:#fff0cc;color:#3b3428;box-shadow:0 5px 0 #2c342b55;font-size:13px;line-height:1.4;pointer-events:none}.loading-tip strong{display:block;margin-bottom:3px}.loading-tip[hidden]{display:none}

.launcher-control{margin:8px auto;width:min(260px,80vw);pointer-events:auto}.launcher-control #launchButton{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 18px;border:2px solid #58412d;border-radius:11px;background:linear-gradient(#f8db8b,#dba24e);color:#3e3024;box-shadow:0 4px 0 #725334;font-size:15px;touch-action:none;user-select:none}.launcher-control #launchButton:active{transform:translateY(3px);box-shadow:0 1px 0 #725334}.launcher-control #launchButton:disabled{opacity:.6;cursor:default}.launcher-control .charge-track{width:100%;margin:8px 0!important;height:9px!important;box-sizing:border-box}.in-flight .launcher-control{display:none}.loading-tip{bottom:230px}.launcher-control #launchButton:focus-visible{outline:3px solid #fff1b3;outline-offset:3px}

.preparing .weapon-tray{display:none}

/* Shared Play surface: slim Y-only altitude map. */
#altitudeStrip{display:block;position:absolute;right:9px;top:94px;width:44px;height:min(64dvh,540px);z-index:2;pointer-events:none;filter:drop-shadow(0 2px 2px #203c2a55)}
@media(max-width:600px){#altitudeStrip{width:38px;right:7px;height:min(64dvh,510px)}}
@media(max-height:420px){#altitudeStrip{top:76px;height:calc(100dvh - 92px)}}

/* Three-card shop presentation; inventory remains in the Build tab. */
#shopItems{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-pages{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-pages span{font-size:12px}.shop-pages button{min-height:40px}.workshop-panel .shop-card p{font-size:12px;line-height:1.5}.workshop-panel .shop-card .slot-tag{font-size:9px}
@media(max-width:750px){#shopItems{grid-template-columns:1fr}.workshop-panel .shop-card p{font-size:12px}.workshop-panel .shop-card h3{font-size:16px}.workshop-panel .shop-card .buy{min-height:42px;font-size:13px}}

.door-upgrade{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;margin:10px 0;border:1px solid #a1ad83;border-radius:12px;background:#edf0d7}.door-upgrade h3{margin:0}.door-upgrade p{margin:0;flex:1;font-size:12px}.door-upgrade[hidden]{display:none}
