/* Game surfaces: scenery first; controls share a stable, legible game frame. */
:root{--game-ink:#102b2b;--game-deep:#071b20;--game-jade:#8fc9b2;--game-gold:#f0cc7b;--game-text:#f4ebd4;--game-muted:#bccdbf;--game-edge:#ceb67c70;--game-panel:linear-gradient(145deg,#183c37f5,#0a2428f5)}
@font-face{font-family:Wuxia;src:url('../fonts/font_wuxia_title.woff2.ttf');font-display:swap}
body{background:var(--game-deep);font-family:'PingFang TC','Noto Sans TC',sans-serif;color:var(--game-text);isolation:isolate}
body::before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(#061a2366,#071b2077 55%,#071b20ee),var(--world-scene,url('../assets/v3/backgrounds/BG_YARD.webp')) center/cover no-repeat;pointer-events:none}
body::after{content:'';position:fixed;inset:0;z-index:-1;box-shadow:inset 0 0 160px #03151b66;pointer-events:none}
#app-shell{max-width:1600px;padding:0 36px;min-height:100dvh}.world-header{height:94px;flex-shrink:0;border:0;gap:20px}.brand-button{font-size:27px;color:var(--game-gold);text-shadow:0 2px 3px #0008}.brand-button span{color:#d9d9bd;letter-spacing:3px;font-size:12px}.world-header nav{gap:14px}.player-badge{font-size:14px;color:var(--game-text)}#save-status{font-size:12px;color:var(--game-muted)}.header-button{min-height:44px;color:var(--game-text);background:#102b2bca;border-color:var(--game-edge)}
#screen{padding:12px 0;justify-content:center}.frame{border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;min-height:0}.frame::before{display:none}.view.active{min-height:580px}.primary{background:linear-gradient(#f6dda0,#d6b262);color:#1a302b;border:1px solid #f9e7ae;border-radius:5px;min-height:50px;box-shadow:0 3px 0 #716344,0 6px 16px #0003;font-size:16px;font-weight:700;letter-spacing:1px;padding:12px 24px}.primary:hover{background:#ffe6a4}.primary:active{filter:brightness(.88)}.secondary,.quiet{min-height:46px;font-size:14px;color:var(--game-text);border-color:#a9c5ad88}.secondary{background:#102e2bd9}.text-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;color:var(--game-muted)}.small{font-size:13px!important;line-height:1.8;color:var(--game-muted)}.chapter{font-size:12px;color:#c9d7ba}.section-title{font-size:34px!important;color:var(--game-text)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--game-gold);outline-offset:4px}.toast{z-index:40}
.game-dock{display:flex;align-items:stretch;justify-content:center;gap:5px;margin:14px auto 20px;padding:6px 14px;background:linear-gradient(#153632f5,#091f25fa);border:1px solid var(--game-edge);border-radius:12px;box-shadow:0 8px 30px #0005;flex-shrink:0;width:min(510px,100%)}.game-dock button{width:88px;min-height:62px;border:0;border-radius:6px;background:transparent;color:var(--game-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:13px}.game-dock svg{width:24px;height:24px}.game-dock button:hover{background:#8fc9b214}.game-dock button.active{background:#e7c77b18;color:var(--game-gold);box-shadow:inset 0 -2px var(--game-gold)}
body:is([data-view=entry],[data-view=battle],[data-view=dialogue],[data-view=legacy],[data-view=result]) .game-dock{display:none}body:is([data-view=battle],[data-view=dialogue],[data-view=legacy]) .world-header{height:58px}body:is([data-view=battle],[data-view=dialogue],[data-view=legacy]) .brand-button{font-size:20px}body:is([data-view=battle],[data-view=dialogue],[data-view=legacy]) .brand-button span{display:none}
/* Mountain gate: a playable character and the current commission. */
body[data-view=home] .home{display:grid;grid-template-columns:1fr 1fr;padding:20px 8%;gap:30px;align-items:center;position:relative}.home .home-copy{width:100%;max-width:450px;z-index:1}.home-place{font-size:15px;color:#c6d8c2;letter-spacing:2px}.home .headline{font:48px Wuxia,serif;letter-spacing:3px;color:var(--game-text);line-height:1.4;margin:10px 0 16px}.home-greeting{font-size:16px!important;color:var(--game-muted)}.next-quest{margin-top:32px;border-left:2px solid var(--game-gold);padding:2px 0 3px 24px}.next-quest>span{font-size:13px;color:var(--game-gold)}.next-quest h2{font:29px Wuxia,serif;margin:13px 0 7px;color:var(--game-text)}.next-quest p{font-size:14px!important;margin:0 0 24px!important}.next-quest .primary{min-width:240px}.home .text-link{margin:18px 0 0 24px}.home .hero-figure{position:relative;inset:auto;width:100%;height:auto;margin:0;align-self:end;display:flex;flex-direction:column;align-items:center}.home .hero-figure .portrait-art{width:min(100%,calc(58vh * var(--portrait-aspect,1)));max-height:600px;min-width:250px}.home .hero-figure::before{content:'';position:absolute;bottom:40px;left:0;right:0;height:40px;background:radial-gradient(ellipse,#adcfae33,transparent 70%);border:0}.hero-figure figcaption{color:var(--game-gold);font:22px Wuxia,serif;text-align:center;text-shadow:0 2px 8px #000;position:relative;margin:10px 0}.hero-figure figcaption small{display:block;font:13px 'PingFang TC',sans-serif;color:var(--game-muted);margin-top:9px}
/* Chapter route: open scenery and connected, selectable star nodes. */
body[data-view=journey] .journey.mission-menu{padding:10px 3%;gap:18px;justify-content:flex-start}.mission-board-head .section-title{font:34px Wuxia,serif;margin:6px 0}.map-location{font-size:13px;color:var(--game-muted);margin:0}.star-total{font-size:27px;color:var(--game-gold);background:#0b292bcc;border:1px solid var(--game-edge);padding:10px 17px;border-radius:30px}.star-total small{color:var(--game-muted)}.mission-menu .chapter-tabs{gap:8px}.mission-menu .chapter-tabs button{font-size:14px;min-height:44px;padding:8px 19px;color:var(--game-muted);background:#102c2cd9;border-color:#a0b99d66}.mission-menu .chapter-tabs button.active{color:#19392d;background:#b9d2ac;border-color:#def0cc}.mission-menu .chapter-tabs button:disabled{opacity:.5}.mission-board{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:36px;align-items:center}.map-region{min-width:0}.mission-chapter-story{max-width:520px;font-size:15px;color:#e1e7d2;line-height:1.9;text-shadow:0 2px 4px #000;min-height:52px}.mission-list.mission-map{display:block;position:relative;height:330px;margin:10px 0 0}.map-route{position:absolute;width:100%;height:100%;overflow:visible;pointer-events:none}.map-route path{fill:none;stroke:#dfd2a77a;stroke-width:3;stroke-dasharray:6 7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 2px #0009)}
.mission-map .mission-card{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);min-height:0;width:124px;display:flex;flex-direction:column;gap:8px;padding:0;align-items:center;text-align:center;border:0;background:none;border-radius:0;box-shadow:none;color:var(--game-text);opacity:1}.mission-map .mission-card:hover{background:none}.mission-map .mission-card.locked{color:#b7c5b6}.mission-map .mission-number{width:62px;height:62px;border:2px solid #c2b274;background:radial-gradient(circle at 40% 30%,#466953,#173a37);border-radius:50%;font:25px Wuxia,serif;box-shadow:0 5px 0 #071a21,0 8px 16px #0005;color:var(--game-text)}.mission-map .selected .mission-number{border:3px solid #ffe3a2;background:radial-gradient(circle at 40% 30%,#b2944c,#4e5334);box-shadow:0 0 0 6px #e8ce8233,0 0 26px #e7ca7655,0 5px 0 #071a21}.mission-map .locked .mission-number{background:#193235;border-color:#809b8b;color:#bbccbe;font:17px 'PingFang TC',sans-serif}.mission-map .completed .mission-number{background:#33664f;color:#f3ebce}.mission-map .mission-card-copy{width:100%;flex:none;min-height:24px}.mission-map .mission-card-copy b{font-size:15px;font-weight:600;letter-spacing:0;text-shadow:0 2px 4px #000;background:#0b242bb3;border-radius:4px;padding:4px 6px;line-height:1.5}.mission-map .mission-stars{font-size:19px;color:#90a297;text-shadow:0 2px 4px #000}.mission-map .mission-stars .earned{color:#ffda7f}.map-legend{display:flex;justify-content:space-between;gap:12px;color:#cad7bd;font-size:12px;margin-top:5px;text-shadow:0 1px 3px #000}
.mission-detail{background:var(--game-panel);border:1px solid var(--game-edge);border-radius:10px;padding:20px 24px;min-height:0;box-shadow:0 12px 32px #00111855}.mission-detail h2{font-size:28px}.mission-detail>p{font-size:15px;color:var(--game-muted);line-height:1.8}.mission-enemy{width:145px;height:145px;margin:0 auto 4px}.mission-detail .chapter{font-size:12px;color:#d7ce9c}.mission-detail-stars{margin:12px 0}.mission-goal{font-size:14px;padding:14px 0}.mission-goal span{font-size:13px;color:var(--game-muted)}.mission-goal b{color:#e2e7c7}.mission-detail .primary{min-height:50px}.mission-detail .text-link{font-size:13px;margin:8px 0 0}.mission-lock-note{font-size:14px!important}.mission-detail:focus-visible{outline:3px solid var(--game-gold);outline-offset:4px}
/* Five challenge banners are destinations, with rules revealed on entry. */
body[data-view=challenges] .challenges{padding:14px 3%}.challenge-head .chapter{font-size:13px}.mode-picker button{min-height:44px;font-size:14px}.challenge-grid{gap:16px;grid-template-columns:repeat(5,minmax(0,1fr))}.challenge-card{border:1px solid var(--game-edge);border-radius:8px;background:var(--game-panel);overflow:hidden;box-shadow:0 6px 20px #0003}.challenge-banner{position:relative;height:150px;background:linear-gradient(transparent,#092a2a99),var(--challenge-scene) center/cover}.challenge-card .challenge-banner img{width:100%;height:155px;object-fit:contain;filter:drop-shadow(0 10px 6px #0006);padding:8px}.challenge-card-body{padding:18px 14px;text-align:center}.challenge-card .num{font-size:12px;color:var(--game-muted)}.challenge-card h3{font:25px Wuxia,serif;letter-spacing:1px;margin:12px 0}.challenge-card p{font-size:13px;line-height:1.9;color:var(--game-muted);min-height:62px}.challenge-card .primary{padding:10px 12px;width:100%;font-size:14px}.challenge-card .text-link{font-size:12px;color:var(--game-muted);line-height:1.6;margin:10px 0 0}.challenge-card .mission-stars{font-size:21px;margin:10px 0 18px}.challenge-card:nth-child(5){border-color:#e5bc7b99}.challenge-brief{background:linear-gradient(90deg,#082427ed,#08242788 55%,transparent);border-radius:10px}.challenge-story{color:var(--game-text)}.challenge-objective{border-color:var(--game-edge);background:#09282bec}.challenge-objective>span{font-size:13px;letter-spacing:1px}.challenge-key-row{font-size:14px}.brief-opponent .enemy-preview{width:260px;height:260px}.enemy-dossier{background:var(--game-panel);border-color:var(--game-edge)}.enemy-roster button{background:#0e2e30e6;color:var(--game-text);font-size:13px;border-color:#94ae9988}.enemy-roster button.selected{background:#345748;border-color:var(--game-gold)}.enemy-demo-actions button{font-size:14px;min-height:46px}.enemy-dossier>p{font-size:15px;color:var(--game-muted)}.enemy-move-title{font-size:14px}.enemy-guide .mode-picker button{font-size:14px}
/* Dialogue takes the visual-novel stage; management stays in readable game panels. */
body[data-view=dialogue] .dialogue{position:relative;padding:28px 5% 245px;min-height:calc(100dvh - 85px);justify-content:center}.dialogue-art{width:40%;max-width:440px;align-self:flex-end}.dialogue-art .portrait-art{width:min(100%,calc(55vh * var(--portrait-aspect,1)))}.dialogue-copy{position:absolute;bottom:20px;left:5%;right:5%;width:auto;max-width:none;padding:23px 32px;background:var(--game-panel);border:1px solid var(--game-edge);border-radius:8px;box-shadow:0 10px 35px #0005}.dialogue .speaker{font:22px Wuxia,serif;color:var(--game-gold);margin:0 0 12px}.dialogue .speech{font:22px/1.8 'PingFang TC',sans-serif;color:var(--game-text);min-height:55px;margin:0 0 15px}.dialogue-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px}.dialogue .topline{left:5%;right:5%;top:12px}.dialogue-stage-name{font-size:14px}.dialogue-step{font-size:13px;color:var(--game-muted)}
body[data-view=entry] .entry{padding:22px 8%;gap:50px}.entry-copy h1{font-size:46px}.entry-copy>p{color:var(--game-muted);font-size:16px}.entry input{min-height:52px;border-color:#c9d4ac99;background:#0b282ce8}.entry label{font-size:16px}.entry #entry-note{font-size:13px}.entry-copy .chapter{font-size:13px}.entry form{margin-top:23px}.entry-secondary .google-signin{min-height:64px}.entry-portrait .portrait-art{max-height:62vh}
body:is([data-view=account],[data-view=settings],[data-view=leaderboard]) .view{max-width:850px;width:100%;margin:auto;background:var(--game-panel);border:1px solid var(--game-edge);border-radius:10px;padding:36px 7%}.setting-row{font-size:16px}.setting-row small{font-size:13px;color:var(--game-muted)}.setting-row .toggle{min-width:65px;min-height:44px}.account p,.notice{font-size:15px;line-height:1.9;color:var(--game-muted)}.storage-status{font-size:14px}.wardrobe .outfit-body{background:var(--game-panel);padding:25px;border:1px solid var(--game-edge);border-radius:10px}.wardrobe .outfit-preview{width:32%;max-width:350px}.wardrobe .outfit-preview .portrait-art{width:min(100%,calc(58vh * var(--portrait-aspect,1)))}.outfit-options{gap:8px}.outfit-card{border:1px solid #95b29a99;border-radius:6px;background:#10342f;color:var(--game-text);min-width:0;font-size:12px;padding:8px 5px}.outfit-card[aria-pressed=true]{border-color:var(--game-gold);background:#4a5635}.outfit-card small{font-size:12px}.outfit-card.locked{opacity:.65}.outfit-caption{font-size:14px}.boss-panel>div:first-child{background:var(--game-panel);padding:30px;border:1px solid var(--game-edge);border-radius:10px}.boss-panel p{font-size:16px;color:var(--game-muted)}
body[data-view=battle] .battle{min-height:calc(100dvh - 85px);padding:15px 4%}.story-hud{background:#102c2be6;border:1px solid #a4b28d66;border-radius:8px;padding:12px 20px}.metric{font-size:13px;color:var(--game-muted)}.metric b{color:var(--game-text)}.target-label,.finger{font-size:14px;color:#e6e7cb}.story-message{font-size:16px;background:#0d2b2be6;border-radius:8px;padding:10px 20px;align-self:center;min-width:250px}.keyboard-hint kbd{min-height:34px;min-width:32px;font-size:14px}.battle-help-row button{font-size:13px}.actor-caption{font-size:13px!important;color:var(--game-text)!important}.result .metrics{margin:20px auto}.result{max-width:800px;margin:auto;background:var(--game-panel);border:1px solid var(--game-edge);border-radius:10px}.legacy-wrap{border:1px solid var(--game-edge);border-radius:8px;overflow:hidden}dialog{background:#102e2c;border-color:var(--game-edge)}dialog p{font-size:16px;color:var(--game-muted)}dialog .primary,dialog .secondary{font-size:15px}.legacy-back{background:#0a272de6}
@media(min-width:1500px){.view.active{min-height:650px}}
@media(max-width:1100px){#app-shell{padding:0 24px}.mission-board{grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);gap:22px}.mission-map .mission-card{width:100px}.mission-map .mission-card-copy b{font-size:13px}.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-banner{height:130px}.challenge-card .challenge-banner img{height:135px}.home .headline{font-size:39px}.world-header nav{gap:10px}.player-badge{font-size:12px}.mission-menu .chapter-tabs button{padding:8px 15px}.mission-map .mission-number{width:55px;height:55px}}
@media(max-width:760px){#app-shell{padding:0 16px}.world-header{height:82px;gap:10px}.brand-button{font-size:22px;letter-spacing:1px}.brand-button span{font-size:11px;letter-spacing:2px}.world-header nav{gap:8px}.player-badge,#save-status{display:none}.world-header [data-action=account]{font-size:13px;padding:8px 11px;min-height:48px}.world-header [data-action=settings]{width:44px;padding:7px}.view.active{min-height:0}#screen{padding:12px 0;justify-content:flex-start}.game-dock{margin:22px auto 16px;padding:5px;gap:0}.game-dock button{flex:1;min-width:0;min-height:60px;font-size:12px}.game-dock svg{width:22px;height:22px}.primary{font-size:15px}.section-title{font-size:28px!important}.small{font-size:13px!important}
 body[data-view=home] .home{padding:20px 6%;grid-template-columns:1fr;gap:5px}.home .hero-figure{order:-1;align-self:center;margin:0 auto;width:100%;height:235px;overflow:visible}.home .hero-figure .portrait-art{width:156px;min-width:0;max-height:none;flex:none}.home .hero-figure figcaption{font-size:17px;margin:5px}.hero-figure figcaption small{display:none}.home .home-copy{max-width:100%;text-align:center}.home .headline{font-size:31px;margin:8px 0}.home-place{font-size:13px;margin:10px}.home-greeting{font-size:14px!important;margin:8px 0!important}.next-quest{border-left:0;padding:18px;background:var(--game-panel);border:1px solid var(--game-edge);border-radius:8px;margin-top:22px}.next-quest h2{font-size:25px}.next-quest p{margin-bottom:18px!important}.next-quest .primary{width:100%;min-width:0}.home .text-link{margin:12px 0 0}
 body[data-view=journey] .journey.mission-menu{padding:8px 0;gap:16px}.mission-board-head{gap:12px}.map-location{font-size:12px}.mission-board-head .section-title{font-size:28px}.star-total{font-size:22px;padding:8px 13px}.star-total small{font-size:13px}.mission-menu .chapter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mission-menu .chapter-tabs button{font-size:13px;min-height:44px;padding:8px 7px}.mission-board{grid-template-columns:1fr;gap:23px}.mission-chapter-story{font-size:14px;min-height:0;line-height:1.8;padding:0 5px}.mission-list.mission-map{height:260px;margin:12px 8px 0}.mission-map .mission-card{width:85px}.mission-map .mission-card-copy b{font-size:12px;display:block;padding:4px 2px}.mission-map .mission-card-copy{min-height:0}.mission-map .mission-number{width:48px;height:48px;font-size:21px}.mission-map .locked .mission-number{font-size:14px}.mission-map .mission-stars{font-size:17px;gap:1px}.map-legend{font-size:12px;margin:0 4px}.mission-detail{padding:20px;scroll-margin:18px}.mission-enemy{width:130px;height:130px}.mission-detail h2{font-size:27px}.mission-detail>p{font-size:15px}.mission-detail .text-link{font-size:13px}.mission-goal{font-size:14px}
 body[data-view=challenges] .challenges{padding:8px 0}.challenge-head .quiet{font-size:13px}.challenge-head{display:flex;align-items:center;gap:10px}.challenge-head .chapter{font-size:12px;max-width:180px;line-height:1.8}.challenge-grid{grid-template-columns:1fr;gap:14px}.challenge-card{display:grid;grid-template-columns:110px 1fr}.challenge-banner{height:100%;min-height:235px}.challenge-card .challenge-banner img{height:175px;position:sticky;top:10px;margin:25px 0}.challenge-card-body{padding:18px;text-align:left}.challenge-card .mission-stars{justify-content:flex-start;margin:8px 0 15px}.challenge-card h3{font-size:25px;margin:9px 0}.challenge-card p{min-height:0;font-size:13px;margin:7px 0}.challenge-card .text-link{margin:4px 0 0;font-size:12px}.challenge-card .primary{font-size:14px}.challenge-brief{padding:24px 18px;gap:10px}.challenge-brief h1{font-size:31px}.challenge-story{font-size:15px}.challenge-objective p{font-size:15px}.challenge-key-row{font-size:13px}.brief-opponent .enemy-preview{width:155px;height:155px}.brief-opponent>p{font-size:13px}.enemy-guide{padding:8px 0}.guide-head .quiet{font-size:12px;min-height:44px}.enemy-guide .mode-picker button{font-size:13px;min-height:44px}.enemy-roster button{font-size:12px;min-height:110px}.enemy-roster img{width:72px;height:72px}.enemy-dossier>p{font-size:14px}.enemy-demo-actions button{font-size:13px;min-height:46px}.enemy-script-intent{font-size:12px}
 body[data-view=dialogue] .dialogue{padding:20px 0 270px;min-height:calc(100dvh - 80px)}.dialogue-art{width:85%;max-width:270px;order:0;margin:30px auto 0;align-self:center}.dialogue-art .portrait-art{width:min(100%,calc(42vh * var(--portrait-aspect,1)))}.dialogue .topline{position:absolute;top:0;left:0;right:0}.dialogue-stage-name{font-size:12px}.dialogue-copy{left:0;right:0;bottom:12px;padding:20px}.dialogue .speaker{font-size:21px}.dialogue .speech{font-size:18px;line-height:1.85;min-height:90px}.dialogue-actions{gap:12px;flex-wrap:wrap}.dialogue-actions .primary{min-width:150px}.dialogue-actions .text-link{margin:0}.dialogue-step{font-size:12px}
 body[data-view=entry] .entry{padding:15px 8px;gap:15px}.entry-portrait{height:180px;width:130px;overflow:hidden;margin:auto}.entry-portrait .portrait-art{width:130px;max-height:none}.entry-copy h1{font-size:31px;line-height:1.5}.entry-copy>p{font-size:15px}.entry input{font-size:16px}.entry .entry-secondary{flex-direction:column}.entry-secondary .google-signin{min-height:60px}.entry label{font-size:15px}.entry #entry-note{font-size:12px}.entry form button{min-height:50px}
 body:is([data-view=account],[data-view=settings],[data-view=leaderboard]) .view{padding:28px 20px}.wardrobe{padding:10px 0;flex-direction:column}.wardrobe .outfit-preview{width:170px;max-width:none}.wardrobe .outfit-preview .portrait-art{width:170px}.wardrobe .outfit-body{padding:22px 16px;width:100%}.outfit-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.outfit-card{font-size:12px;padding:8px 3px;min-height:110px}.outfit-card small{font-size:12px}.wardrobe .section-title{font-size:28px}.wardrobe .primary{width:100%}.boss-panel{padding:15px 0;gap:20px}.boss-panel>div:first-child{padding:25px 20px}.boss-panel h1{font-size:29px}.boss-panel .locked-emblem{font-size:80px}.boss-panel p{font-size:15px}
 body[data-view=battle] .battle{padding:8px 0;min-height:calc(100dvh - 80px)}.story-hud{padding:10px;gap:7px}.story-hud .metrics{width:80%}.metric{font-size:12px}.story-hud .metric b{font-size:26px}.story-hud .quiet{font-size:12px;min-height:44px;padding:6px}.target-label,.finger{font-size:13px}.battle .story-actors{min-height:210px}.story-message{font-size:14px;padding:10px 12px;min-width:0;max-width:100%}.keyboard-hint kbd{min-height:30px;min-width:25px;font-size:12px}.result{padding:32px 20px}.result h1{font-size:29px}.result-actions{gap:12px}.legacy-wrap,.legacy-wrap iframe{min-height:calc(100dvh - 100px)}.legacy-back{font-size:12px;min-height:44px}.world-header .brand-button{min-height:44px}dialog{padding:25px 20px}dialog p{font-size:15px}
}
@media(max-width:380px){#app-shell{padding:0 12px}.brand-button{font-size:20px}.world-header [data-action=account]{font-size:12px;padding:8px}.mission-map .mission-card{width:76px}.mission-map .mission-card-copy b{font-size:12px}.challenge-card{grid-template-columns:96px 1fr}.challenge-card-body{padding:15px}.world-header nav{gap:5px}}
@media(max-height:650px) and (min-width:761px){.world-header{height:70px}.view.active{min-height:440px}.game-dock{margin:8px auto 12px}.game-dock button{min-height:54px}.mission-list.mission-map{height:260px}.mission-enemy{width:110px;height:110px}.mission-detail{padding:15px 20px}.home .hero-figure .portrait-art{min-width:190px}.home .headline{font-size:35px}.next-quest{margin-top:18px}.dialogue-copy{bottom:5px}.dialogue .speech{font-size:19px}.dialogue-art .portrait-art{width:180px}}
@media(prefers-reduced-motion:reduce){.game-dock *,.mission-map *{animation:none!important;transition:none!important}}
.challenge-card .primary{min-height:48px}
