.game-menu[open],.game-stage .game-menu[open]{position:fixed;inset:12px;margin:auto;box-sizing:border-box;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:28px;border:1px solid #967b9e;border-radius:14px;background:#2c2637;color:#f0e7d7}
.game-menu::backdrop{background:#10091cb0}.game-menu h2{font:600 28px var(--serif);margin:0 32px 20px 0}.game-menu p{font:15px/1.6 var(--sans)}
.game-menu .dialog-close{min-width:44px;min-height:44px}.game-menu .button{min-height:44px}.game-menu a{color:#e9bb82}
.release-notes{font:14px/1.6 var(--sans);color:#dccbe7;margin-bottom:24px}.release-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #67516c}.release-heading h3{margin:0;color:#efab73;font:600 24px var(--serif)}.release-heading time{font-size:12px;color:#bfb2c2}.release-notes h4{color:#e9d393;font-size:14px;margin:22px 0 6px}.release-notes ul{margin:0;padding-left:20px}.release-notes li+li{margin-top:7px}
.controls-list{margin:0 0 22px;font:14px/1.4 var(--sans)}.controls-list>div{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;padding:10px 0;border-bottom:1px solid #67516c66}.controls-list dt{font-weight:600;color:#e9d393}.controls-list dd{margin:0;color:#dccbe7}
.resolve-unlock{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px auto 0;max-width:100%;font:600 20px var(--sans);color:#f5d99b}.resolve-unlock[hidden]{display:none}.resolve-unlock .card-art{display:block;flex:none;width:62px;height:96px}
@media(max-width:560px){.game-menu[open]{padding:20px}.game-menu h2{font-size:24px}.controls-list{font-size:12px}.controls-list>div{gap:12px}.resolve-unlock{font-size:17px;gap:12px}.header nav{flex-wrap:wrap;justify-content:flex-end}.header nav .quiet{font-size:11px;padding:6px}.title-screen .header{height:auto;min-height:57px}}
@media(max-width:560px){.playing .header{height:auto;min-height:26px;flex-shrink:0}.header .brand{flex-shrink:0}.header nav{min-width:0;row-gap:0}.header nav .quiet{white-space:nowrap}.release-notes{font-size:13px}}
@media(orientation:landscape) and (max-height:520px){.header nav .quiet{height:26px;min-height:26px;box-sizing:border-box;padding:4px 6px;font-size:10px}.resolve-unlock{position:absolute;right:12px;top:50%;transform:translateY(-50%);flex-direction:column;width:150px;font-size:16px;margin:0}.resolve-unlock .card-art{width:44px;height:68px}}

.game-menu .support-link{text-decoration:underline;text-underline-offset:3px}
.how-details{margin:14px 0;border-top:1px solid #67516c;padding-top:10px}.how-details summary{cursor:pointer;padding:10px 0;font-weight:600}.how-details h3{font-size:14px;margin:14px 0 6px}.how-details dl{margin:0}.how-details dl div{padding:5px 0}.how-details dt{font-size:12px;color:#f4d4a7}.how-details dd{margin:2px 0 0;font-size:12px;line-height:1.4;color:#d3c8d7}
.join-panel .tutorial-toggle{display:flex;align-items:center;gap:8px;min-height:44px;margin:8px 0 0;font:12px var(--sans);letter-spacing:0;text-transform:none;cursor:pointer}.join-panel .tutorial-toggle input{width:17px;height:17px;margin:0;accent-color:#efac73}
.sunrise-countdown{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:41;pointer-events:none;color:#f6e3ba;background:#27232bd9;border:1px solid #e0bf6a44;border-radius:16px;padding:5px 12px;font:12px var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
.plant-tutorial{position:absolute;inset:0;z-index:21;pointer-events:none;overflow:hidden}.plant-tutorial p{position:absolute;top:50px;left:50%;transform:translateX(-50%);width:max-content;max-width:85%;margin:0;padding:6px 10px;border-radius:8px;background:#27232be8;color:#f6e3ba;text-align:center;font:12px/1.4 var(--sans)}
#tutorial-spot{position:absolute;transform:translate(-50%,-50%);border:2px dashed #ffe2a0;background:#ffe2a033;border-radius:50%;box-shadow:0 0 20px #ffe2a055;animation:tutorial-pulse 1.2s ease-in-out infinite}
#tutorial-arrow{position:absolute;transform:translateX(-50%);color:#ffe2a0;font:bold 28px/1 var(--sans);text-shadow:0 2px 4px #201d2a;animation:tutorial-pulse 1.2s ease-in-out infinite}
@keyframes tutorial-pulse{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){#tutorial-arrow,#tutorial-spot{animation:none}}

.resolve-unlock{gap:24px;font-size:17px}
.resolve-unlock-card{display:flex;align-items:center;flex-direction:column;gap:6px;min-width:0;text-align:center}
.resolve-unlock-card small{font:10px/1.3 var(--sans);max-width:160px}
@media(max-width:560px){.resolve-unlock{gap:14px;font-size:13px}.resolve-unlock .card-art{width:44px;height:68px}.resolve-unlock-card small{font-size:9px;max-width:130px}}
@media(orientation:landscape) and (max-height:520px){.resolve-unlock{right:8px;width:180px;flex-direction:row;gap:10px;font-size:11px}.resolve-unlock .card-art{width:32px;height:50px}.resolve-unlock-card small{font-size:8px;max-width:85px}}
.joystick-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:center;padding:12px 0 20px;border-bottom:1px solid #67516c}
.joystick-setting label{font:600 14px var(--sans);letter-spacing:0;color:#f0e7d7}.joystick-setting output{display:inline-block;margin-left:8px;color:#e9c99a;font-variant-numeric:tabular-nums}
.joystick-setting input{width:100%;min-width:0;min-height:44px;accent-color:#c69fe2;grid-column:1}
:root{--joystick-size:88px;--joystick-diameter:min(var(--joystick-size),45dvh,calc(100vw - 120px))}
.joystick-preview,#joystick{width:var(--joystick-diameter);height:var(--joystick-diameter)}
.joystick-preview{position:relative;grid-column:2;grid-row:1 / span 2;border:2px solid #c6b89d99;border-radius:50%;background:#272331a6;box-shadow:inset 0 0 12px #0005}
.joystick-preview span,#joystick-knob{position:absolute;width:41%;height:41%;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #ece0b7;border-radius:50%;background:#c4b78abb}
.key-bindings{display:grid;gap:8px}.key-binding{display:grid;grid-template-columns:minmax(0,1fr) 112px 112px;gap:8px;align-items:center;font-size:13px}
.key-binding select{width:100%;min-width:0;min-height:44px;padding:6px;border:1px solid #927b9d;border-radius:6px;background:#382c45;color:#f0e7d7;font:inherit}
.key-binding select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.key-binding select:only-of-type{grid-column:2 / -1}
.controls-actions{display:flex;justify-content:space-between;gap:12px}.controls-actions .button{width:auto;min-height:44px}
.game-menu .controls-status{font-size:12px;min-height:18px;color:#e9c99a}
@media(max-width:560px){.key-binding{grid-template-columns:minmax(0,1fr) 85px 85px;gap:5px;font-size:12px}.joystick-setting{gap:8px}.controls-actions .button{font-size:12px}}
@media(max-width:900px),(pointer:coarse) and (max-height:600px){
 .plant-hud,.plant-hud.expanded-plants{max-width:min(280px,calc(100% - var(--joystick-diameter) - 24px))}
}
