/* P03: the fire is the meeting place, and the road starts here. */
.home-screen.p03-home{background:#101a18}.p03-home:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,18,17,.96),rgba(9,18,17,.76) 38%,rgba(9,18,17,.05) 78%);pointer-events:none}.p03-home .home-top,.p03-home .home-layout,.p03-home .home-bottom{position:relative;z-index:1}.p03-home .home-art{background:none!important;box-shadow:none!important;border:0}.p03-home .home-art div{display:none}.p03-home .home-art span{bottom:12%;color:#f0d8a2}.p03-home .home-copy{max-width:490px}.p03-home .home-actions{grid-template-columns:1fr 1fr}.p03-home #newJourney,.p03-home #continueJourney{grid-column:1/-1}.p03-home .home-intro{font-size:17px;color:#dddec4}.weapon-lore{color:#b9af94!important;font-size:12px!important;font-style:italic;border-top:1px solid #3f4939;padding-top:8px;line-height:1.5!important}.p03-dialogue{display:grid;grid-template-columns:190px 1fr;gap:26px;align-items:center}.p03-dialogue:has(>div:only-child){grid-template-columns:1fr}.p03-portrait{background-image:url('./assets/p03/portraits.png');background-size:300% 200%;background-position:var(--px) var(--py);aspect-ratio:1;image-rendering:pixelated;border-radius:5px;box-shadow:inset 0 0 0 1px #af8b5266}.p03-speech{font-size:20px;line-height:1.9;color:#e7dfc7;white-space:pre-wrap}.p03-dialogue small{display:block;color:#8f9c88;margin-top:10px}.p03-characters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.p03-character{background:#14221e;border:1px solid #3b4b3f;border-radius:8px;padding:12px;text-align:left;color:#d8dfc5}.p03-character.selected{border-color:#d4b277;box-shadow:0 0 0 1px #d4b277}.p03-character h3{margin:12px 0 6px}.p03-character p{font-size:12px;color:#a3b19d}.p03-depart{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0}.p03-depart select{display:block;width:100%;margin:8px 0;background:#17271f;border:1px solid #50634c;color:#e7e4cf;padding:10px}.p03-scene .bottom-hud>div:first-child,.p03-scene .xp-hud,.p03-scene .hero-hud,.p03-scene #pressureControls,.p03-scene #guardButton,.p03-scene #mechanicHud,.p03-scene .stats-hud>span{visibility:hidden}.p03-scene .bottom-hud{justify-content:flex-end}.p03-scene #eventTicker{display:none}#eventTicker{max-width:calc(100vw - 32px);white-space:normal}.p03-ui .modal-panel{max-width:960px}.p03-ui #menu .duration-options{display:none}
@media(max-width:650px){.p03-home .home-layout{display:block}.p03-home .home-art{display:none}.p03-home:before{background:#0a171bc4}.p03-home .home-copy{padding-top:25px}.p03-home .home-actions{gap:7px}.p03-dialogue{grid-template-columns:94px 1fr;gap:14px}.p03-speech{font-size:16px;line-height:1.8}.p03-characters{gap:7px}.p03-character{padding:6px}.p03-character h3{font-size:15px}.p03-depart{grid-template-columns:1fr;gap:5px}.p03-ui .modal-panel{padding:20px}.p03-scene .clock-hud{left:45%;font-size:11px}.p03-scene .clock-hud #goalText{max-width:220px;white-space:normal}}

/* World remains visible while only the dialogue panel occupies the bottom. */
#p03HomeWorld{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;pointer-events:none;z-index:0}.p03-home:before{z-index:1}.p03-home .home-top,.p03-home .home-layout,.p03-home .home-bottom{z-index:2}
body.p03-dialogue-open #modal{align-items:flex-end;background:transparent;backdrop-filter:none;padding:12px 24px;overflow:hidden}
body.p03-dialogue-open .modal-panel[data-mode=p03-dialogue]{width:min(1160px,100%);max-width:1160px;max-height:44svh;background:#15221ff5;padding:18px 26px;border:1px solid #a18c61;box-shadow:0 -6px 30px #0006;scrollbar-gutter:auto}
.p03-dialogue{grid-template-columns:130px 1fr;gap:22px}.p03-dialogue h2{font-size:12px;color:#929e8d;display:inline;margin:0 0 0 15px}.p03-dialogue .modal-eyebrow{display:inline;color:#e3c991;font-size:17px}.p03-dialogue .p03-speech{font-size:18px;line-height:1.65;margin:12px 0}.p03-dialogue .primary,.p03-dialogue .secondary{padding:7px 20px}.p03-dialogue small{display:inline;margin-left:14px}.p03-dialogue .p03-portrait{width:130px}
.p03-triptych{background:url('./assets/characters-v1052.webp') var(--px) 15%/300% auto no-repeat;height:clamp(150px,26vw,270px);border-radius:4px}
.weapon-slot.fusion-ready{position:relative;border-color:#ffd388;animation:fusion-pulse 1.25s ease-in-out infinite}.weapon-slot.fusion-ready em{position:absolute;bottom:1px;left:3px;right:3px;background:#1d281fee;line-height:11px;color:#ffdfa0;font-style:normal;font-size:10px;text-shadow:0 1px 3px #000}.weapon-slot.fusion-ready:focus-visible{outline:2px solid #fff1bf}.weapon-slot.fusion-ready:hover{background:#806432}
@keyframes fusion-pulse{0%,100%{box-shadow:0 0 5px #ffce6577,inset 0 0 6px #eeb95144}50%{box-shadow:0 0 15px #ffd270cc,inset 0 0 15px #eeb95166}}
@media(prefers-reduced-motion:reduce){.weapon-slot.fusion-ready{animation:none;box-shadow:0 0 10px #ffd270aa}}
@media(max-width:650px){body.p03-dialogue-open #modal{padding:7px}body.p03-dialogue-open .modal-panel[data-mode=p03-dialogue]{padding:12px;max-height:46svh}.p03-dialogue{grid-template-columns:72px 1fr;gap:12px}.p03-dialogue .p03-portrait{width:72px}.p03-dialogue .p03-speech{font-size:15px;line-height:1.5;margin:8px 0}.p03-dialogue h2{display:none}.p03-dialogue .modal-eyebrow{font-size:15px}}

.p03-scene #inputDevice{display:none}.p03-camp #skillButton{display:none}
.p03-quest-hud{position:absolute;left:28px;top:158px;width:260px;max-width:calc(100vw - 40px);padding:10px 13px;border-left:3px solid #d6bb7e;background:linear-gradient(90deg,#14231fea,#14231f90);pointer-events:none;text-shadow:0 1px 2px #000;line-height:1.55}
.p03-quest-hud strong{font-size:15px;color:#edd49b}.p03-quest-hud p{font-size:14px;margin:4px 0;color:#e0e5cd;white-space:pre-line}.p03-quest-hud small{font-size:12px;color:#bfcbb7;white-space:pre-line}.p03-quest-hud.success{border-color:#a5cf85}.p03-quest-hud.success strong{color:#c5ed9d}
.p03-task-notice{position:absolute;top:26%;left:50%;transform:translateX(-50%);width:min(520px,86%);padding:20px 26px;text-align:center;background:#19382eef;border:2px solid #bed98d;box-shadow:0 0 28px #d0da7a44;pointer-events:none;color:#e1f1bd;font-size:24px;font-weight:bold;white-space:pre-line}.p03-task-notice.failure{border-color:#d3a377;color:#e6c9a9}.p03-task-notice small{display:block;font-size:15px;font-weight:normal;margin-top:7px}
body.p03-dialogue-open .p03-task-notice{visibility:hidden}.p03-scene .p03-quest-hud{top:28px}.p03-camp .p03-quest-hud{display:none}.p03-ui #eventTicker{display:none}
@media(max-width:760px){.p03-quest-hud{top:143px;left:12px;width:210px;padding:7px 9px}.p03-quest-hud strong{font-size:14px}.p03-quest-hud p{font-size:13px}.p03-task-notice{font-size:20px;padding:14px}.p03-scene .p03-quest-hud{top:72px;max-width:200px}}

/* One flow owns all left-side information; variable text height cannot overlap. */
#leftHud{position:absolute;left:20px;top:20px;width:280px;display:flex;flex-direction:column;gap:7px;pointer-events:none;z-index:3;font-size:13px}
#leftHud>*{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box;flex:none}
#leftHud .hero-hud{display:flex;gap:10px;min-width:0}#leftHud .hero-hud>div:last-child{flex:1;min-width:0}
#leftHud .trait-text{white-space:normal;line-height:1.4;display:block}#leftHud .xp-hud{display:flex;gap:8px;align-items:center}#leftHud .xp-hud .bar{flex:1}
#leftHud #inputDevice{font-size:11px;line-height:1.4}#leftHud #mechanicHud,#leftHud #journeyHud{font-size:12px;line-height:1.4}
body.p03-scene #leftHud .hero-hud,body.p03-scene #leftHud .xp-hud,body.p03-scene #leftHud #mechanicHud,body.p03-scene #leftHud #journeyHud{display:none}
.p03-home #homeCamp{grid-column:1/-1}.p03-ui .hud{justify-content:flex-end}.p03-ui .clock-hud{position:absolute;left:50%;transform:translateX(-50%)}
@media(max-width:760px){#leftHud{left:12px;top:14px;width:min(235px,43vw);gap:5px}#leftHud .hero-badge{display:none}#leftHud .p03-quest-hud{padding:7px 9px}.p03-ui .clock-hud{left:65%;max-width:30vw}.p03-ui .clock-hud #goalText{display:none}#leftHud .hp-heading{flex-wrap:wrap;gap:2px}#leftHud .p03-quest-hud p{font-size:12px}}
@media(max-height:520px){#leftHud{top:10px;gap:3px;width:min(230px,36vw)}#leftHud #inputDevice,#leftHud .trait-text{display:none}#leftHud .p03-quest-hud{padding:5px 8px}#leftHud .p03-quest-hud p{margin:2px 0;font-size:12px}#leftHud .p03-quest-hud strong{font-size:13px}}

.p03-portrait.toma {background-image:url('./assets/p03/toma-portrait.png?v=110p03r11-toma-avatar');background-size:contain;background-position:center;background-repeat:no-repeat;}
/* Story scenes have their own titles; old combat notices must not cover the actors. */
body.p03-scene #announcement,body.p03-dialogue-open #announcement,body.p03-dialogue-open #skillButton{display:none}

.p06-portrait{object-fit:contain;background:#263934;image-rendering:pixelated}.p05-map.wetland{background:repeating-linear-gradient(90deg,#425f58 0 36px,#91a18a 36px 48px,#48665f 48px 80px)}
