/* Full-window playfield for the orchard and underground chapter. */
body.orchard-world{background:#173e50 url('./assets/art/cherry-orchard-v17.png') center/cover fixed no-repeat}
.orchard-play.shell{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden}
.orchard-play .game-card{position:absolute;inset:0;filter:none}
.orchard-play .stage{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.orchard-play .stage:before{content:'';position:absolute;inset:0;background:linear-gradient(#09283f40,transparent 16%,transparent 85%,#09283f55);pointer-events:none}
.orchard-play .stage canvas{position:relative;width:100%;height:100%}
.orchard-play .topbar{position:absolute;z-index:5;left:390px;right:22px;top:15px;height:56px;display:flex;justify-content:space-between;padding:0;gap:16px;pointer-events:none}
.orchard-play .topbar>*{pointer-events:auto}
.orchard-play .brand,.orchard-play .game-stats>.level-stat{display:none}
.orchard-play .game-stats{gap:10px}
.orchard-play .game-stats>div{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:8px 16px;min-width:108px;border:2px solid #badfdac9;border-radius:17px;background:#173e5ce8;box-shadow:0 4px #0b273d88,inset 0 1px #ffffff35;backdrop-filter:blur(12px)}
.orchard-play .game-stats span{font-size:10px;color:#d0ebe7;font-weight:600}
.orchard-play .game-stats strong{color:#fff4c1;font-size:23px;line-height:1.1}
.orchard-play .game-stats .hearts{font-size:23px;color:#ff938f;letter-spacing:2px}
.orchard-play .top-actions{gap:8px;align-items:center}
.orchard-play .icon-button{width:44px;height:44px;border:2px solid #bcdfd9c9;border-radius:14px;background:#173e5ce8;box-shadow:0 4px #0b273d88;color:#f7fbe9;font-size:23px;backdrop-filter:blur(12px)}
.orchard-play .icon-button:hover{background:#376a73}
.orchard-play #journey-open{width:91px;font-size:19px;display:flex;align-items:center;justify-content:center;gap:6px}
.orchard-play #journey-open:after{content:'Obóz';font-size:12px;font-weight:850}
.orchard-play .stage-hud{z-index:4;position:absolute;inset:15px auto auto 22px;gap:12px;align-items:stretch}
.orchard-play .mission-pill{width:228px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:10px 16px;background:#f0fcf4f2;border:2px solid #b1ded0;border-radius:17px;box-shadow:0 4px #1b5a5688;color:#24465c}
.orchard-play #mission-name{font-size:18px;letter-spacing:-.4px;font-weight:900}
.orchard-play .mission-pill small{font-size:10px;color:#4b807e}
.orchard-play .harvest-pill{position:relative;min-width:112px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 12px 12px;background:#fff4d5f5;border:2px solid #ffdb88;border-radius:17px;box-shadow:0 4px #81663477;color:#714b24;font-size:17px}
.orchard-play #fruit-icon{font-size:29px;filter:drop-shadow(0 2px 1px #a4553340)}
.harvest-track{display:none}.orchard-play .harvest-track{display:block;position:absolute;height:4px;left:12px;right:12px;bottom:6px;border-radius:8px;background:#d5caa6;overflow:hidden}.harvest-track b{display:block;height:100%;background:#5bb293;width:0;transition:width .2s;border-radius:inherit}
.orchard-play .danger-pill{position:fixed;left:22px;bottom:20px;border:2px solid #f3c2afb3;border-radius:14px;padding:10px 14px;background:#432e4eea;box-shadow:0 4px #172f4070;color:#ffe4c5;font-size:11px;z-index:4}
.orchard-play .danger-pill.urgent{background:#a82b49;border-color:#ffbf9b}
.orchard-play .game-footer{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:10px 15px;border:1px solid #bbdfd550;border-radius:13px;background:#173b4ce6;backdrop-filter:blur(10px);z-index:4;gap:15px;white-space:nowrap}
.orchard-play .keyboard-hint{color:#e3f2e4;font-size:10px}
.orchard-play kbd{color:#fff4cf;border-color:#b8dacc70;background:#8cb5a72b}
.orchard-play .bestiary-link{display:none}
.orchard-play #depth-view{font-size:10px;color:#ffdf93}
.orchard-play .control-panel{position:absolute;right:22px;bottom:20px;display:flex;padding:0;z-index:5}
.orchard-play .control-panel .dpad,.orchard-play .touch-hint{display:none}
.orchard-play .fire{width:67px;height:67px;border-radius:22px;border:3px solid #fff1b6;box-shadow:0 5px #976123;background:linear-gradient(#ffe587,#efb83e);color:#62441f;font-size:12px;gap:0}
.orchard-play .fire span{font-size:25px}
.orchard-play .footnote{display:none}
.orchard-play .toast{top:auto;bottom:78px;padding:10px 22px;background:#fff6d9f5;color:#684d2f;border:2px solid #edcc8d;border-radius:14px;font-weight:750}
.orchard-play .overlay{background:#14384c30;backdrop-filter:blur(4px)}
.orchard-play .overlay-inner{background:#effaf4f5;border:3px solid #acd8ce;border-radius:27px;color:#22445a;box-shadow:0 8px #244e6188,0 20px 60px #091f4380;padding:28px 30px}
.orchard-play .overlay p{color:#527587}.orchard-play .overlay h2{font-weight:900}.orchard-play .overlay-icon{color:#d8a83b}.orchard-play .overlay .journey{display:none}
.orchard-play .start{background:linear-gradient(#ffe991,#f4ca53);border:2px solid #fff3b8;box-shadow:0 4px #bd8634;color:#604720;border-radius:14px;font-weight:900;font-size:16px}
@media(max-width:1050px){
.orchard-play .topbar{left:328px;right:14px;gap:8px;top:12px}
.orchard-play .stage-hud{top:12px;left:14px;gap:8px}.orchard-play .mission-pill{width:192px;padding:8px 12px}.orchard-play #mission-name{font-size:16px}.orchard-play .harvest-pill{min-width:99px;padding:7px 9px 12px;font-size:15px}
.orchard-play .game-stats>div{min-width:82px;padding:8px 11px}.orchard-play .game-stats strong{font-size:19px}.orchard-play .game-stats .hearts{font-size:19px}.orchard-play .top-actions{gap:5px}.orchard-play #journey-open{width:45px}.orchard-play #journey-open:after{display:none}.orchard-play .icon-button{width:39px;height:39px}
.orchard-play .game-footer{bottom:18px;gap:9px}.orchard-play .keyboard-hint{font-size:9px}.orchard-play .keyboard-hint span{padding:0 3px}.orchard-play .danger-pill{font-size:10px;left:14px;bottom:18px;padding:9px}.orchard-play .fire{width:58px;height:58px}.orchard-play .control-panel{right:14px;bottom:18px}
}
@media(max-width:760px){
.orchard-play .topbar{left:14px;right:14px;top:78px;height:42px;flex-wrap:nowrap;align-items:center}.orchard-play .game-stats{order:0;width:auto;gap:7px;padding:0}.orchard-play .game-stats>div{padding:5px 10px;min-width:78px;border-radius:12px}.orchard-play .game-stats span{font-size:8px}.orchard-play .game-stats strong,.orchard-play .game-stats .hearts{font-size:17px}.orchard-play .icon-button{height:36px;width:36px;border-radius:11px}.orchard-play #journey-open{width:36px}
.orchard-play .stage-hud{left:14px;right:14px;top:13px;gap:9px}.orchard-play .mission-pill{flex:1;width:auto}.orchard-play #mission-name{font-size:17px}.orchard-play .harvest-pill{min-width:104px}
.orchard-play .stage{top:126px;bottom:192px;height:auto;min-height:210px}
.orchard-play .game-card{inset:0}
.orchard-play .stage-hud{position:fixed}
.orchard-play .control-panel{display:flex;left:20px;right:20px;bottom:35px;justify-content:space-between;align-items:center;pointer-events:none}
.orchard-play .control-panel>*{pointer-events:auto}.orchard-play .control-panel .dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,39px);gap:4px}.orchard-play .dir{border:2px solid #a9dcd1;border-radius:13px;background:#21566ceb;box-shadow:0 4px #113349;color:#eaffdd;font-size:15px}.orchard-play .dir.is-held{background:#f1d778;color:#344e50}.orchard-play .dpad-center{color:#c1e4d9}.orchard-play .fire{height:76px;width:76px;border-radius:50%;font-size:13px}
.orchard-play .danger-pill{bottom:172px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:7px 12px;font-size:10px}.orchard-play .game-footer{bottom:9px;padding:4px 12px;border:0;background:#173b4cb0}.orchard-play .keyboard-hint{display:none}.orchard-play .toast{position:fixed;bottom:218px;white-space:normal;width:max-content;max-width:90%;font-size:11px}.orchard-play .overlay{position:fixed;z-index:7}
}
@media(pointer:coarse) and (min-width:761px){.orchard-play .control-panel{left:14px;right:14px;pointer-events:none;justify-content:space-between}.orchard-play .control-panel>*{pointer-events:auto}.orchard-play .control-panel .dpad{display:grid;grid-template-columns:repeat(3,35px);grid-template-rows:repeat(3,35px)}.orchard-play .keyboard-hint{display:none}.orchard-play .danger-pill{bottom:140px}}
@media(orientation:landscape) and (max-height:600px){
.orchard-play .stage{inset:0;height:100%;min-height:0}.orchard-play .topbar{top:9px;left:300px;right:9px;height:41px}.orchard-play .stage-hud{top:9px;left:9px;right:auto}.orchard-play .mission-pill{width:176px;flex:none;padding:6px 10px}.orchard-play #mission-name{font-size:13px}.orchard-play .mission-pill small{font-size:8px}.orchard-play .harvest-pill{min-width:96px;font-size:13px}.orchard-play #fruit-icon{font-size:22px}
.orchard-play .game-stats{width:auto;order:0;gap:6px}.orchard-play .game-stats>div{padding:5px 9px;min-width:65px}.orchard-play .game-stats span{display:none}.orchard-play .game-stats strong,.orchard-play .game-stats .hearts{font-size:16px}.orchard-play .icon-button,.orchard-play #journey-open{width:32px;height:32px;font-size:17px}.orchard-play .top-actions{margin:0;gap:5px}.orchard-play .game-footer{bottom:6px;padding:4px 9px}.orchard-play .danger-pill{bottom:10px;left:9px;transform:none;font-size:9px;padding:6px 8px}.orchard-play .control-panel{bottom:48px;left:9px;right:9px}.orchard-play .control-panel .dpad{grid-template-columns:repeat(3,30px);grid-template-rows:repeat(3,30px);gap:3px}.orchard-play .fire{width:55px;height:55px;font-size:11px}.orchard-play .toast{bottom:40px}
}

.orchard-play .control-panel{pointer-events:none}.orchard-play .control-panel>*{pointer-events:auto}.orchard-play .fire{margin-left:auto}
@media(orientation:landscape) and (max-height:600px){.orchard-play .control-panel .dpad{display:grid}.orchard-play .keyboard-hint{display:none}}
.orchard-play .dpad{touch-action:none;user-select:none;-webkit-user-select:none}
.orchard-play .dpad .up{grid-column:2;grid-row:1}.orchard-play .dpad .left{grid-column:1;grid-row:2}.orchard-play .dpad .right{grid-column:3;grid-row:2}.orchard-play .dpad .down{grid-column:2;grid-row:3}
.orchard-play .dpad-center{grid-column:2;grid-row:2;display:grid;place-items:center;color:#abd8cc}
.orchard-play .dir{border:2px solid #a9dcd1;border-radius:11px;background:#21566ceb;box-shadow:0 3px #113349;color:#eaffdd;touch-action:none}
.orchard-play .dir.is-held{background:#f1d778;color:#344e50;transform:translateY(2px)}
.orchard-play .fire{display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none}

/* Underground starts at the ceiling: no outside vista behind the playfield. */
body.cave-world{background:#162439 url('./assets/art/crystal-mine-v18.png') center/cover fixed no-repeat}
.cave-world .orchard-play .stage:before{background:linear-gradient(#0c163d38,transparent 19%,transparent 80%,#121a303d)}
.cave-world .orchard-play .mission-pill{background:#eff6ffed;border-color:#b4cbe9;color:#314368;box-shadow:0 4px #172d5688}
.cave-world .orchard-play .mission-pill small{color:#526e8f}
.cave-world .orchard-play .harvest-pill{background:#ebfafff5;border-color:#90e4f3;color:#285372;box-shadow:0 4px #13395788}
.cave-world .orchard-play .harvest-track{background:#aecedb}.cave-world .orchard-play .harvest-track b{background:#3dbaee}
.cave-world .orchard-play .icon-button,.cave-world .orchard-play .game-stats>div{background:#203854ee;border-color:#b0c7e1be}
.cave-world .orchard-play .overlay-inner{background:#edf5fff5;border-color:#a3c6e8}
@media(orientation:landscape) and (max-height:600px) and (min-width:800px){
.cave-world .orchard-play .stage-hud{display:contents}
.cave-world .orchard-play .mission-pill{position:fixed;z-index:4;top:9px;left:9px;width:145px;padding:7px 9px}
.cave-world .orchard-play #mission-name{font-size:12px}
.cave-world .orchard-play .harvest-pill{position:fixed;z-index:4;top:58px;right:9px;min-width:96px}
}
