/* Headline Games house-art v1.1 · action mode. Shared shell loads after this file. */
:root{--space:#102a43;--ink:#17324d;--sky:#6fc8e8;--paper:#fffaf0;--gold:#f8c35a;--coral:#f36f45;--muted:#6f8aa0}
*{box-sizing:border-box}
[hidden]{display:none!important}
button{font:inherit}
.game-shell{width:100%;margin:0 auto 40px}
body.is-playing{overflow:hidden}
.screen{min-width:0}
.intro{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);align-items:stretch}
.hero-stage{margin:24px 0 24px 24px;min-height:520px;background:#dbe6ef}
.hero-world{position:absolute;inset:0;width:100%;height:100%}
.hero-comet{position:absolute;left:49%;top:33%;width:27%;height:auto;filter:drop-shadow(6px 6px 0 #17324d22);animation:hero-drift 2.2s ease-in-out infinite}
.hero-scope{position:absolute;right:3%;bottom:4%;width:28%;height:auto}
.hero-note{position:absolute;left:6%;bottom:7%;padding:6px 9px;color:#17324d;background:#fffaf0e8;border-left:5px solid #f36f45;border-radius:5px;font-size:clamp(.58rem,1.4vw,.75rem);font-weight:950;pointer-events:none}
.intro-copy{display:flex;flex-direction:column;justify-content:center}
.intro h1{margin:8px 0 6px;font-size:clamp(2.8rem,6.3vw,6.2rem);line-height:.92;letter-spacing:-.055em}
html:lang(ja) .intro h1{font-size:clamp(2.55rem,5.6vw,5.2rem);line-height:1.08;letter-spacing:-.035em}
.eyebrow{margin:0;font-size:.78rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.dek{margin:0 0 12px;color:#36566d;font-size:clamp(1.02rem,2vw,1.42rem);font-weight:850;line-height:1.35}
.key-help{margin:12px 0 0;color:#526477;font-size:.75rem;text-align:center}
.error{width:min(720px,calc(100% - 28px));margin:30px auto;padding:30px;background:#fffaf0;border:4px solid #071323;border-radius:24px;text-align:center}
.play{width:min(900px,calc(100% - 24px));margin:10px auto 24px;border:4px solid #071323;border-radius:24px;background:#fffaf0;box-shadow:0 10px 0 #07132324;overflow:hidden}
.play-hud{height:58px;padding:7px 8px;display:grid;grid-template-columns:.75fr .75fr 1.1fr .65fr auto;align-items:center;gap:6px;background:#fffaf0;border-bottom:2px solid #a9b8c5}
.play-hud>div{min-width:0;display:flex;flex-direction:column;align-items:center;color:#526477;font-size:.58rem;font-weight:900;letter-spacing:.05em;line-height:1.18;text-align:center}
.play-hud b{max-width:100%;color:#071323;font-size:.92rem;letter-spacing:0;white-space:nowrap}
.pause-button{min-width:46px;min-height:42px;padding:6px 8px;border:2px solid #071323;border-radius:9px;background:#fff;color:#071323;box-shadow:0 3px 0 #071323;font-weight:900;cursor:pointer}.pause-button:active{transform:translateY(2px);box-shadow:0 1px 0 #071323}
.orbit-world{position:relative;height:min(64svh,560px);min-height:380px;overflow:hidden;background:#dbe6ef;touch-action:none;user-select:none;isolation:isolate;cursor:pointer}
.world-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.dynamic-trace{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.dynamic-trace path{fill:none;stroke:#6fc8e8;stroke-width:7;stroke-linecap:round}.dynamic-trace #ghost-trace{stroke:#f36f45;stroke-width:4;stroke-dasharray:10 13;opacity:.56}
.observation-ring{--ring-x:80%;--ring-y:30%;--ring-size:32px;position:absolute;left:var(--ring-x);top:var(--ring-y);z-index:10;width:clamp(54px,var(--ring-size),88px);aspect-ratio:1;transform:translate(-50%,-50%);border:6px solid #28527a;border-radius:50%;background:#ffffff55;box-shadow:0 0 0 4px #fffaf099;pointer-events:none;transition:width .2s,background .2s}.observation-ring:before,.observation-ring:after{content:"";position:absolute;left:50%;top:50%;background:#28527a;transform:translate(-50%,-50%)}.observation-ring:before{width:30%;height:3px}.observation-ring:after{width:3px;height:30%}.observation-ring[data-outcome="locked"]{background:#f8c35a99;animation:ring-lock .22s ease-out}.observation-ring[data-outcome="missed"]{border-color:#d9563f;animation:ring-miss .22s ease-out}
.comet{--comet-x:8%;--comet-y:58%;position:absolute;left:var(--comet-x);top:var(--comet-y);z-index:14;width:clamp(64px,13%,118px);aspect-ratio:360/240;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(5px 6px 0 #17324d26);will-change:left,top}.comet svg{display:block;width:100%;height:100%;overflow:visible}.comet.is-puffing{animation:comet-puff .18s ease-out}.puff-cloud{position:absolute;right:76%;top:42%;width:75%;height:auto;opacity:0;pointer-events:none}.comet.is-puffing .puff-cloud{animation:puff-cloud .38s ease-out}
.evidence-cards{position:absolute;right:1.5%;bottom:2%;z-index:7;width:min(42%,330px);display:grid;grid-template-columns:repeat(3,1fr);gap:5px;pointer-events:none}.evidence-cards svg{width:100%;height:auto}
.coach{position:absolute;left:50%;bottom:17%;z-index:18;padding:7px 11px;transform:translateX(-50%);color:#071323;background:#f8c35a;border:2px solid #071323;border-radius:8px;box-shadow:0 3px 0 #071323;font-size:.72rem;font-weight:950;pointer-events:none;animation:coach 1s ease-in-out infinite;white-space:nowrap}
.feedback{position:absolute;left:50%;bottom:5%;z-index:18;max-width:62%;margin:0;padding:7px 11px;transform:translateX(-50%);color:#071323;background:#fffaf0ed;border-left:5px solid #28527a;border-radius:6px;font-size:clamp(.7rem,1.8vw,.9rem);font-weight:950;text-align:center;pointer-events:none}.feedback[data-mode="puff"]{border-left-color:#6fc8e8}.feedback[data-mode="locked"]{border-left-color:#f8c35a}.feedback[data-mode="miss"]{border-left-color:#d9563f}.feedback[data-mode="recovery"]{border-left-color:#f36f45}
.pause-layer{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;background:#102a43eb}.pause-layer b{font-size:clamp(1.15rem,4vw,2rem)}
.result{width:min(1040px,calc(100% - 28px));margin:12px auto 30px;display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);background:#fffaf0;border:4px solid #071323;border-radius:28px;box-shadow:0 10px 0 #07132324;overflow:hidden}
.result-art{position:relative;min-height:520px;overflow:hidden;background:#dbe6ef}.result-world{position:absolute;inset:0;width:100%;height:100%}.result-comet{position:absolute;left:52%;top:34%;width:31%;height:auto;filter:drop-shadow(6px 7px 0 #17324d22)}.result-stamp{position:absolute;left:50%;bottom:8%;padding:8px 12px;transform:translateX(-50%) rotate(-2deg);color:#071323;background:#f8c35a;border:4px solid #17324d;border-radius:8px;box-shadow:0 5px 0 #17324d;font-size:clamp(.76rem,2vw,1.05rem);font-weight:1000;white-space:nowrap}
.result-copy{padding:28px;display:flex;flex-direction:column;justify-content:center;min-width:0}.result-copy h2{margin:5px 0 8px;font-size:clamp(1.5rem,3vw,2.7rem);line-height:1.08;overflow-wrap:anywhere}.score-line{display:flex;align-items:baseline;gap:7px}.score-line strong{font-size:clamp(4rem,9vw,7rem);line-height:.9}.score-line span{font-weight:900;color:#526477}.rank-line{margin:8px 0 14px;font-weight:850}.rank-line b{display:inline-block;margin:0 8px;padding:3px 7px;color:#fff;background:#28527a;border-radius:4px}
.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.result-stats p{margin:0;padding:8px 10px;color:#36566d;background:#edf3f7;border-left:4px solid #6fc8e8;border-radius:5px;font-size:.82rem;font-weight:800}.result-stats p:last-child{grid-column:1/-1;background:#fff7dc;border-left-color:#f8c35a}.result-actions{display:grid;gap:9px}.news-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.news-links a{color:#28527a;font-weight:850;text-underline-offset:3px}.disclaimer{color:#526477;font-size:.72rem;line-height:1.5}
@keyframes hero-drift{50%{transform:translate(10px,-5px)}}@keyframes coach{50%{transform:translate(-50%,-3px)}}@keyframes comet-puff{50%{transform:translate(-45%,-50%)}}@keyframes puff-cloud{20%{opacity:1}100%{opacity:0;transform:translateX(-30px) scale(1.25)}}@keyframes ring-lock{50%{scale:1.16}}@keyframes ring-miss{40%{translate:-8px 0}70%{translate:8px 0}}
@media(max-width:760px){.intro{display:block}.hero-stage{margin:12px 12px 0;min-height:0;aspect-ratio:16/9}.intro-copy{display:block}.intro h1{font-size:clamp(2.75rem,13vw,4.3rem);line-height:.98}.orbit-world{height:calc(100svh - 138px);min-height:340px}.result{display:block}.result-art{min-height:0;aspect-ratio:16/10}.result-copy{padding:24px}.evidence-cards{width:46%}.feedback{max-width:76%}.coach{bottom:18%}}
@media(max-width:430px){.play{width:calc(100% - 16px);margin-top:8px;border-width:3px}.play-hud{height:52px;padding:4px;grid-template-columns:.62fr .66fr 1fr .55fr auto;gap:3px}.play-hud>div{font-size:.49rem}.play-hud b{font-size:.7rem}.pause-button{min-width:42px;min-height:40px;padding:4px;font-size:.62rem}.orbit-world{min-height:330px}.comet{width:18%;min-width:64px}.evidence-cards{width:49%;right:1%;bottom:1%}.feedback{bottom:4%;font-size:.64rem}.coach{bottom:19%;font-size:.61rem}.result-copy{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* July 19 recovery: keep the rule and every scoring input visible. */
.rule-flow{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0 8px;font-size:.72rem;font-weight:950}
.rule-flow span:not([aria-hidden]){padding:6px 8px;border:2px solid #17324d;border-radius:7px;background:#fff}
.rule-flow .heat-chip{color:#8f2f24;background:#ffe6df}
.rule-flow .puff-chip{background:#fff7dc}
.rule-flow .ring-chip{color:#173e64;background:#e2f3fb}
.rule-card small{display:block;color:#526477;font-size:.72rem;line-height:1.45}
.result-stats p:first-child{color:#071323;background:#fff7dc;border-left-color:#f8c35a}
@media(max-width:430px){.rule-flow{gap:4px;font-size:.64rem}.rule-flow span:not([aria-hidden]){padding:5px 6px}}
