:root{--ag-ink:#293d46;--ag-muted:#73828a;--ag-paper:#fff;--ag-border:#dce6e9;--ag-accent:#d62828;--ag-teal:#2a9d8f;--ag-gold:#e9c46a;--ag-shadow:0 14px 38px #233f4b0c}
.adventure{width:100%;max-width:1450px;margin:0 auto;padding:28px 36px 60px;color:var(--ag-ink)}
.adventure button,.game-dialog button{font-family:inherit;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
.adventure button:disabled,.game-dialog button:disabled{cursor:default;opacity:.45}
.adventure button:hover:not(:disabled){transform:translateY(-1px)}
.adventure [hidden],.game-dialog[hidden]{display:none!important}
.game-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin:0 0 22px}
.game-breadcrumb a{color:#4e7a89;text-decoration:none;font-weight:700}
.game-breadcrumb span{color:#87959d}
.adventure-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}
.adventure-heading h1{font-family:var(--logo-font),var(--body-font);font-size:clamp(28px,3vw,42px);line-height:1.25;margin:5px 0 8px;letter-spacing:-.6px}
.game-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:900;color:#a3563f}
.game-kicker:before{content:'';width:18px;height:3px;background:#e9ae54;border-radius:8px}
.adventure-heading p{color:var(--ag-muted);font-size:15px;margin:0;max-width:800px;line-height:1.7}
.game-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0}
.icon-button{display:inline-flex;justify-content:center;align-items:center;width:42px;height:42px;border:1px solid var(--ag-border);border-radius:12px;background:#fff;color:#57717b;padding:11px}
.icon-button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px;align-items:start}
.game-shell{border:1px solid var(--ag-border);border-radius:21px;background:white;box-shadow:var(--ag-shadow);overflow:hidden;min-width:0}
.game-hud{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 45px;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid #e5ecee;background:#fff}
.hud-item{display:flex;align-items:center;gap:9px;min-width:0}
.hud-item .hud-mark{width:32px;height:32px;display:grid;place-items:center;background:#f5f4eb;border-radius:9px;color:#bd8e3b;font-size:17px}
.hud-item small{display:block;text-transform:uppercase;letter-spacing:1px;font-size:9px;color:#839199;line-height:1.2}
.hud-item strong{display:block;color:#3c5660;font-size:16px;line-height:1.7;font-variant-numeric:tabular-nums}
.hud-item.life strong{color:#d16b58;letter-spacing:2px}
.hud-item .urgent{color:#d13e32}
.mission-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;background:#f9fbfa}
.mission-bar h2{font-size:14px;line-height:1.5;margin:0;color:#48616a;flex:1}
.mission-bar h2 span{display:block}
.mission-bar h2 small{display:block;font-size:11px;font-weight:400;color:#8c989c;margin-top:3px}
.mission-meter{width:100px;height:6px;background:#e6eeea;border-radius:10px;overflow:hidden;flex-shrink:0}
.mission-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#45a895,#95b977);border-radius:10px;transition:width .25s}
.game-viewport{position:relative;isolation:isolate;background:#f6e9cf;min-width:0;overflow:hidden}
#game-canvas{width:100%;height:auto;display:block;touch-action:none;outline-offset:-4px;aspect-ratio:1000/620}
.game-stage:fullscreen{display:flex;flex-direction:column;justify-content:center;background:#243b3a;width:100%;height:100%;border-radius:0}
.game-stage:fullscreen .game-viewport{width:min(100%,1450px);margin:auto}
.screen-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#233e3e4d;padding:26px;backdrop-filter:blur(3px)}
.screen-overlay.welcome{padding:0;background:#f8f4e8;backdrop-filter:none}
.welcome-card{display:grid;grid-template-columns:1.08fr 1fr;width:100%;height:100%;min-height:400px}
.welcome-art{height:100%;min-height:100%;overflow:hidden;position:relative}
.welcome-art img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.welcome-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,#f8f4e8)}
.welcome-copy{align-self:center;padding:24px 30px 24px 16px;position:relative}
.welcome-copy h2{font-size:clamp(22px,2.5vw,33px);line-height:1.3;margin:12px 0 14px;letter-spacing:-.5px}
.welcome-copy p{font-size:14px;line-height:1.8;color:#817c6c;margin-bottom:20px}
.level-preview{font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:900;color:#b78b41}
.chapter-preview{font-size:12px;display:block;color:#9d8c67;margin-bottom:18px}
.game-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:11px;border:1px solid #d4e1e2;background:white;color:#476571;font-weight:800;font-size:13px;padding:11px 18px;text-decoration:none}
.game-button.primary,.game-action.primary{border:1px solid #cc5d3d;background:linear-gradient(135deg,#df7650,#c95437);color:#fff;box-shadow:0 4px 0 #ad452e}
.game-button.teal{background:#2a9d8f;border-color:#2a9d8f;color:white;box-shadow:0 4px 0 #1c7a72}
.game-button.wide{width:100%}
.loading-label{display:block;font-size:11px;margin-top:12px;color:#ad9569}
.result-card,.pause-card{width:min(100%,450px);text-align:center;padding:30px 35px;border:1px solid #ebdfbf;border-radius:22px;background:#fffaf0;box-shadow:0 20px 60px #172d3540}
.result-card h2,.pause-card h2{font-size:27px;line-height:1.4;margin:10px 0}
.result-card p,.pause-card p{font-size:14px;color:#8a8576;line-height:1.7;margin:12px 0 22px}
.result-stars{font-size:48px;letter-spacing:9px;color:#e2b34f;text-shadow:0 3px 0 #d08f3230}
.result-stats{display:flex;justify-content:center;gap:36px;margin:20px 0 25px}
.result-stats small{display:block;font-size:11px;text-transform:uppercase;color:#8a8f83;letter-spacing:1px}
.result-stats strong{font-size:32px;color:#547c70}
.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.target-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:82px;padding:14px 22px;background:white;border-top:1px solid #e5ecee}
.target-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#8d999d;line-height:1.6;flex-shrink:0}
.word-display{flex:1;text-align:center;min-width:0}
.word-tokens{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
.word-token{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:31px;padding:2px 5px;border-radius:6px;border:1px solid #e4dfcc;background:#f9f7ee;color:#7a765f;font-weight:800;font-size:17px;line-height:1}
.word-token.current{background:#fff0bd;border-color:#daba6a;color:#9a6b30;box-shadow:0 2px 0 #dfcb91}
.word-token.collected{background:#e1eee5;border-color:#b5d3c4;color:#7aab94;opacity:.75}
.word-translation{font-size:11px;color:#8b989a;margin-top:7px;line-height:1.5;min-height:15px}
.combo-badge{font-size:21px;color:#c28a38;font-weight:900}
.game-actions{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 18px;background:#fcfdfc}
.game-actions:empty{display:none}
.game-action{border:1px solid #d8e3df;background:#f5f8f2;color:#577569;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800;min-height:40px}
.game-action.selected{background:#d8ebdf;border-color:#65a28c;color:#286c58}
.touch-controls{display:flex;justify-content:center;gap:10px;padding:5px 16px 14px;background:#fcfdfc}
.touch-controls button{touch-action:none;user-select:none;min-width:47px;height:45px;border:1px solid #d2dfd9;border-radius:11px;background:#eff5ee;color:#507763;font-size:18px;box-shadow:0 3px 0 #d2ddd0;font-weight:800;padding:8px 13px}
.touch-controls button[data-control=action]{min-width:90px;font-size:13px;background:#f8edd5;color:#a27f41;border-color:#e1cb9b;box-shadow:0 3px 0 #d6c398}
.touch-controls button:active{transform:translateY(2px);box-shadow:none}
.game-feedback{font-size:12px;line-height:1.6;color:#84918e;text-align:center;min-height:20px;padding:0 15px 10px;margin:0}
.controls-note{font-size:11px;color:#8b999e;text-align:center;padding:13px 8px;line-height:1.8;margin:0}
.game-sidebar{display:flex;flex-direction:column;gap:16px}
.guide-panel{background:#fff;border:1px solid var(--ag-border);border-radius:18px;padding:22px;box-shadow:var(--ag-shadow)}
.guide-panel h2{font-size:19px;line-height:1.4;margin:10px 0 18px}
.guide-steps{list-style:none;padding:0;margin:0}
.guide-steps li{display:flex;gap:11px;align-items:flex-start;margin-bottom:18px;font-size:12px;line-height:1.8;color:#7a898e}
.guide-steps li b{min-width:24px;height:24px;border-radius:50%;background:#f2eee2;color:#b18c53;display:grid;place-items:center;font-size:11px}
.guide-divider{height:1px;background:#e8eeee;margin:20px 0}
.save-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.save-stats small{font-size:10px;letter-spacing:.6px;color:#8c999b;text-transform:uppercase;display:block}
.save-stats strong{font-size:26px;font-weight:900;color:#b68746;display:block}
.sidebar-actions{display:flex;flex-direction:column;gap:9px;margin-top:20px}
.side-note{background:#f3eddf;border:1px solid #e8ddc8;border-radius:14px;padding:18px;color:#98835c;font-size:12px;line-height:1.8}
.side-note strong{display:block;color:#9f7950;font-size:13px;margin-bottom:4px}
.game-dialog{position:fixed;inset:0;background:#243e4580;z-index:1100;display:grid;place-items:center;padding:25px;backdrop-filter:blur(5px)}
.dialog-card{width:min(760px,100%);max-height:90vh;overflow:auto;border:1px solid #e3e4d6;border-radius:22px;background:#fbfaf4;box-shadow:0 22px 70px #1c33374d;padding:28px;overscroll-behavior:contain}
.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.dialog-heading h2{font-size:25px;margin:0;line-height:1.5}
.dialog-heading p{font-size:12px;margin:5px 0 0;color:#8b938b}
.dialog-close{font-size:26px;width:38px;height:38px;border:1px solid #d9e1d7;border-radius:10px;background:white;color:#7c8d85;flex-shrink:0}
.map-chapter{padding:16px 0;border-top:1px solid #e3e7dd}
.map-chapter h3{font-size:14px;color:#6d8075;margin-bottom:14px}
.map-chapter h3 span{font-size:11px;color:#b59664;margin-right:10px}
.map-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.map-level{min-height:75px;border:1px solid #c8d9cd;background:#fff;border-radius:13px;color:#608271;box-shadow:0 3px 0 #dae4d5;padding:10px}
.map-level b{display:block;font-size:22px;font-weight:900}
.map-level small{display:block;letter-spacing:2px;color:#d2a955;font-size:12px;margin-top:3px}
.map-level.selected{border-color:#e4af5b;background:#fff2ce;box-shadow:0 3px 0 #dcc59c}
.map-level.locked{background:#eceee8;box-shadow:0 3px 0 #e0e2d8;border-color:#dce1d5;color:#aeb6a9}
.map-level.locked small{font-size:9px;color:#a3aca1;letter-spacing:.5px}
.journal-search{border:1px solid #d4dfd5;width:100%;padding:12px 15px;border-radius:10px;font:inherit;background:#fff;margin-bottom:20px;outline-color:#83af9a}
.word-journal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.journal-card{border:1px solid #e0e5d9;border-radius:12px;padding:16px;background:#fff;min-width:0}
.journal-card.discovered{background:#eff7ec;border-color:#bdd1b5}
.journal-card small{color:#9caa98;text-transform:uppercase;letter-spacing:1px;font-size:8px}
.journal-card h3{font-size:19px;margin:6px 0;color:#62816b;overflow-wrap:anywhere}
.journal-card p{font-size:12px;color:#b28b52;margin-bottom:8px}
.journal-card span{font-size:10px;color:#899186;line-height:1.7;display:block}
.journal-card b{font-size:9px;color:#60935e;display:block;margin-top:9px}
.help-copy{font-size:14px;line-height:1.9;color:#7a8a81}
.help-copy ul{padding-left:20px;margin:15px 0}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 0;border-top:1px solid #e1e7dc;font-size:14px;color:#667a6b}
.setting-row input{accent-color:#2a9d8f;width:20px;height:20px}
.setting-row small{display:block;color:#9aa591;font-size:11px;line-height:1.6;margin-top:3px}
.stage-footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:#9ba7a8;padding:0 6px}
@media(min-width:1100px){.touch-controls{display:none}}
@media(max-width:1150px){.adventure{padding:24px}.game-layout{grid-template-columns:minmax(0,1fr) 235px;gap:17px}.welcome-copy{padding:18px}.guide-panel{padding:18px}.adventure-heading h1{font-size:32px}}
@media(max-width:950px){.game-layout{grid-template-columns:1fr}.game-sidebar{display:grid;grid-template-columns:1.2fr 1fr;align-items:start}.guide-panel{padding:20px}.game-toolbar .icon-button{width:44px;height:44px}.adventure-heading{align-items:flex-start}.welcome-card{min-height:390px}.side-note{height:100%}}
@media(max-width:600px){.adventure{padding:18px 12px 35px}.game-breadcrumb{font-size:11px;margin-bottom:17px}.game-breadcrumb span{display:none}.adventure-heading{display:block;margin-bottom:18px}.adventure-heading h1{font-size:28px}.adventure-heading p{font-size:12px}.game-toolbar{margin-top:14px}.game-kicker{font-size:10px}.icon-button{width:44px;height:44px;padding:11px;border-radius:10px}.game-shell{border-radius:16px}.game-hud{gap:7px;padding:12px;grid-template-columns:1.1fr 1fr 1fr .9fr 44px}.hud-item{gap:5px}.hud-item .hud-mark{display:none}.hud-item strong{font-size:13px}.hud-item small{font-size:8px;letter-spacing:.5px}.hud-item.life strong{letter-spacing:1px;font-size:12px}.mission-bar{padding:12px;gap:10px}.mission-bar h2{font-size:11px}.mission-bar h2 small{font-size:9px}.mission-meter{width:65px}.welcome-card{grid-template-columns:1fr;grid-template-rows:175px auto;min-height:430px}.welcome-art:after{background:linear-gradient(0deg,#f8f4e8,transparent 45%)}.welcome-copy{padding:0 24px 24px;align-self:start;text-align:center}.welcome-copy h2{font-size:24px;margin:8px 0}.welcome-copy p{font-size:12px;line-height:1.7;margin-bottom:14px}.chapter-preview{margin-bottom:12px}.game-viewport:has(.welcome:not([hidden])){min-height:455px}.game-viewport:has(.result-overlay:not([hidden])){min-height:410px}.screen-overlay{padding:14px}.result-card,.pause-card{padding:20px 24px}.result-card h2,.pause-card h2{font-size:22px}.result-stars{font-size:38px}.result-card p,.pause-card p{font-size:12px}.target-strip{padding:12px;gap:7px;min-height:77px}.target-label{font-size:8px}.word-token{min-width:21px;height:27px;font-size:14px;padding:3px}.word-tokens{gap:3px}.word-translation{font-size:9px}.combo-badge{font-size:17px}.game-actions{gap:6px;padding:9px}.game-action{padding:10px;min-height:44px;font-size:11px}.touch-controls{gap:6px;padding:5px 8px 14px}.touch-controls button{min-width:44px;height:44px;padding:8px}.touch-controls button[data-control=action]{min-width:65px;font-size:11px}.game-sidebar{grid-template-columns:1fr}.guide-steps li{font-size:12px;margin-bottom:14px}.save-stats{grid-template-columns:1fr 1fr}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr}.side-note{font-size:11px;padding:15px}.controls-note{font-size:10px;line-height:1.8;padding:10px}.dialog-card{padding:20px 15px;max-height:94vh}.game-dialog{padding:12px}.dialog-heading h2{font-size:21px}.map-row{gap:7px}.map-level{padding:7px;min-height:64px;border-radius:10px}.map-level b{font-size:18px}.map-level small{font-size:9px;letter-spacing:0}.map-level.locked small{font-size:8px}.map-chapter h3{font-size:12px}.word-journal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.journal-card{padding:12px}.journal-card h3{font-size:16px}.stage-footer{font-size:8px}}
@media(prefers-reduced-motion:reduce){.adventure *{transition:none!important;animation:none!important}}

.native-orders{display:none}.native-order{padding:12px;border:1px solid #daceb2;background:#fff8e7;border-radius:11px;text-align:left;min-width:0}.native-order.active{border-color:#d2974e;background:#fff0ca}.native-order strong{display:inline-block;font-size:12px;color:#866344}.native-order small{float:right;font-size:10px;color:#ad9978}.native-order span{display:block;font-size:11px;color:#a28c6d;line-height:1.8;margin-top:5px}@media(max-width:600px){.native-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;background:#f4e6cb}.native-orders .native-order:nth-child(3){grid-column:1 / -1}}

@media(max-width:600px){.game-viewport:has(#pause-overlay:not([hidden])){min-height:310px}}
