/* R3: a readable travel journal, compact controls and optional expeditions. */
.has-3d .site-header{display:none}
.game-shell{height:100dvh;min-height:0;background:radial-gradient(ellipse at 70% 10%,#f1edcc,#cadfc7 43%,#91babc)}
.game-topbar{padding:18px 24px}
.game-brand{letter-spacing:.22em}
.game-brand i{color:#486952}
.game-home{font-size:12px;min-height:44px;display:flex;align-items:center}
.game-tools button{width:44px;height:44px}
.game-tools .passport-button{width:auto;min-width:66px;padding:0 12px;display:flex;align-items:center;gap:6px;background:#315e4b;color:#fff2c5;border-color:#315e4b;border-radius:24px}
.passport-button small{font:700 12px Arial}
.game-intro{padding-top:120px;background:linear-gradient(90deg,#deead4da,transparent 65%)}
.game-intro h1{font-size:clamp(42px,5.5vw,76px);max-width:550px}
.game-intro>p{font-size:16px;color:#395e4e}
.game-intro p.game-intro-small{color:#40634e;font-size:11px}
.game-chapter-cards button{background:#f6f2e4eb;border:1px solid #fff8e4;border-radius:12px;min-height:78px}
.game-chapter-cards button>span{font-size:18px}
.game-chapter-cards small{font-size:11px;color:#506a55}
.game-hud{top:85px;width:276px;left:24px}
.mission-pill{background:#315e4bed;color:#fff7dd;border:0;border-radius:12px 12px 0 0;box-shadow:none;padding:13px 16px}
.mission-pill #chapter-number{color:#e8c484}
.mission-pill small,.mission-pill #chapter-progress{color:#e0e7cf}
.mission-pill small{font-size:10px}
.quest-card{margin-top:0;border-radius:0 0 12px 12px;background:#fbf6e7f2;padding:16px;border:0}
.quest-overline{color:#576e55;font-size:9px}
.quest-card h2{font-size:25px}
.quest-card>p{font-size:13px;color:#466247;line-height:1.65}
.quest-footer button{font-size:11px;min-height:40px}
.mission-track{height:4px;border-radius:5px;background:#d8dfc9;overflow:hidden;margin:14px 0}
.mission-track i{display:block;height:100%;background:#c0964a;border-radius:5px;transition:width .35s ease}
.game-feedback{left:24px;width:276px;bottom:120px;background:#fff9eaf5}
.game-feedback p{font-size:12px;color:#385643}
.game-route{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;z-index:5;background:#315e4bf2;color:#fff5d5;padding:4px 5px 4px 15px;border-radius:24px;max-width:340px;font-size:12px;box-shadow:0 5px 20px #244b4920}
.game-route button{flex-shrink:0;width:40px;height:40px;min-height:40px;border:0;color:#fff5d5;font-size:24px;border-radius:50%;background:#ffffff17}
.game-route span{line-height:1.4}
.game-destinations{background:#faf5e8}
.travel-option{min-height:44px;width:100%;text-align:left;padding:10px 12px;font-size:12px;border:1px dashed #93a588;border-radius:7px;margin:8px 0 14px;background:#e8efdd;color:#305b48}
#destination-list button.is-objective{border-color:#a88a46;background:#fff0c8}
.target-badge{font:700 8px Arial;letter-spacing:.05em;background:#315e4b;color:#fff5d5;padding:3px 5px;border-radius:4px;display:inline-block;margin-left:4px}
.game-panel>article{max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}
.game-panel .passport-panel{width:min(780px,100%);padding:28px 32px}
.passport-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.passport-head{position:sticky;top:-1px;z-index:1;background:#f5efdc;padding:3px 0 8px}
.passport-close{width:44px;height:44px;flex-shrink:0;border:1px solid #becbae;background:#e5e9d4;border-radius:50%;font-size:25px;color:#315846}
.passport-head .game-overline{flex:1}
.star-total{font:bold 19px Georgia;color:#8b682c;background:#ece4c5;padding:8px 13px;border-radius:24px;white-space:nowrap}
.passport-panel h2{margin:12px 0;font-size:38px}
.game-panel .passport-panel>p{margin:0 0 19px;font-size:13px;color:#4a664e}
.passport-territories{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}
.passport-territories button{border:1px solid #b7c9aa;border-radius:9px;min-height:94px;padding:12px;text-align:left;background:#e7ead6;color:#315846;display:flex;flex-direction:column;gap:6px}
.passport-territories button.selected{background:#315e4b;color:#fff7dc;border-color:#315e4b}
.passport-territories b{font:16px Georgia;color:#a08147}
.passport-territories .selected b{color:#eed096}
.passport-territories strong{font:17px/1.2 Georgia}
.passport-territories small{font-size:10px;line-height:1.35}
.contract-list{display:grid;gap:10px}
.contract-card{display:flex;gap:16px;align-items:center;padding:15px 16px;border:1px solid #d2d8be;border-radius:10px;background:#fcf8eb}
.contract-card>div{flex:1}
.contract-card .game-overline{font-size:8px;letter-spacing:.12em}
.contract-card h3{font:22px/1.15 Georgia;color:#315846;margin:5px 0 7px}
.game-panel .contract-card p{font-size:12px;line-height:1.55;color:#51694d;margin:0}
.contract-card>button{background:#315e4b;color:#fff5d5;border:0;border-radius:7px;padding:10px 13px;min-width:100px;min-height:46px;white-space:nowrap;font-size:12px}
.contract-card>button:disabled{opacity:.55;cursor:default;background:#d4dac7;color:#42563e}
.contract-card.done{border-left:4px solid #749060}
.passport-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.passport-badges:empty{display:none}
.passport-badges span{font:600 12px/1.4 Arial;background:#e9dfbb;color:#725722;border:1px solid #cdb977;padding:8px 12px;border-radius:20px}
.passport-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.passport-foot>span{font-size:11px;line-height:1.5;max-width:310px;color:#4d674d}
.passport-foot .game-button{white-space:nowrap;gap:15px}
.game-panel .save-note{font-size:11px;color:#58704f;margin:16px 0 0}
.guide-option small{display:block;font-size:11px;line-height:1.4;margin-top:6px;font-weight:normal;color:#506b4a}
#decision-feedback:empty{display:none}
#decision-feedback{background:#f1dfbf;border-left:3px solid #ac7339;padding:12px 14px;font:14px/1.5 Arial;color:#664c2c;border-radius:5px}
.game-panel .contract-score{font:24px Georgia;color:#87642d;margin:20px 0}
.recipe-buttons button{padding-right:45px}
.recipe-buttons button span{font-size:18px;line-height:1.3}
.game-panel button:focus-visible,.game-destinations button:focus-visible,.game-tools button:focus-visible{outline:3px solid #bd823c;outline-offset:3px}
.game-tools button:hover,.game-panel button:not(:disabled):hover{filter:brightness(1.05)}
@media(max-width:720px),(pointer:coarse),(max-height:520px){
 .game-topbar{padding:calc(7px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left))}
 .game-home{font-size:10px;max-width:100px}
 .game-tools{gap:5px}
 .game-tools .passport-button{min-width:56px;padding:0 8px}
 .game-hud{top:calc(60px + env(safe-area-inset-top));left:12px;right:12px;width:auto}
 .mission-pill{height:20px;padding:0 4px;background:transparent;border-radius:0;color:#315846}
 .mission-pill #chapter-progress{color:#315846}
 .quest-card{height:54px;padding:4px 6px 4px 12px;border-radius:10px;background:#fff9edf2}
 .quest-card h2{font:600 13px/1.3 Arial}
 .quest-card .mission-track{display:none}
 .game-feedback{top:calc(144px + env(safe-area-inset-top));left:12px;right:12px;width:auto;bottom:auto;max-height:68px}
 .game-route{top:calc(218px + env(safe-area-inset-top));bottom:auto;max-width:calc(100% - 24px);width:max-content;font-size:11px;padding-left:12px}
 .game-route button{height:40px;width:40px;min-height:40px}
 .game-intro{padding-top:calc(110px + env(safe-area-inset-top));background:linear-gradient(90deg,#deead4bd,transparent 95%)}
 .game-intro h1{font-size:42px;max-width:300px}
 .game-intro>p{font-size:14px}
 .game-intro p.game-intro-small{font-size:10px}
 .game-chapter-cards button{min-height:75px;gap:5px;border-radius:9px;padding:9px 8px}
 .game-chapter-cards button>span{font-size:12px}
 .game-panel .passport-panel{padding:20px 16px}
 .game-panel>article{max-height:calc(100dvh - 24px)}
 .passport-panel h2{font-size:31px}
 .passport-head .game-overline{font-size:8px;letter-spacing:.1em}
 .passport-territories{gap:6px}
 .passport-territories button{padding:10px 8px;min-height:100px}
 .passport-territories strong{font-size:15px}
 .passport-territories small{font-size:10px}
 .contract-card{gap:10px;padding:14px 12px;flex-wrap:wrap}
 .contract-card>div{flex-basis:100%}
 .contract-card h3{font-size:23px}
 .game-panel .contract-card p{font-size:13px}
 .contract-card>button{width:100%;min-height:46px}
 .passport-foot{flex-direction:column;align-items:stretch}
 .passport-foot>span{max-width:none;font-size:12px}
 .game-panel .save-note{font-size:11px}
}
@media(max-height:520px) and (orientation:landscape){
 .game-hud{top:max(8px,env(safe-area-inset-top));left:110px;right:226px;max-width:420px}
 .game-topbar{padding-top:max(8px,env(safe-area-inset-top))}
 .quest-card{height:48px}
 .game-feedback{top:66px;width:330px;right:auto}
 .game-route{top:auto;bottom:15px;max-width:240px}
 .game-intro{padding:68px 4% 78px}
 .game-intro h1{font-size:30px;margin:6px 0 10px}
 .game-intro>p{font-size:12px;line-height:1.4;margin-bottom:12px}
 .game-chapter-cards button{min-height:52px}
 .game-chapter-cards button>span{font-size:13px}
 .contract-card{flex-wrap:nowrap}
 .contract-card>div{flex-basis:auto}
 .contract-card>button{width:auto}
}
@media(max-width:720px) and (max-height:620px) and (orientation:portrait){
 .game-intro{padding-top:83px}
 .game-intro h1{font-size:33px;margin:10px 0}
 .game-intro>p{font-size:12px;margin-bottom:13px}
}
@media(prefers-reduced-motion:reduce){.mission-track i{transition:none}}
