.game-active .picture-stage{display:none}.game-active .scene-layout{grid-template-columns:minmax(0,2.5fr) minmax(260px,1fr)}
.ritual-game{position:relative;isolation:isolate;min-width:0;overflow:hidden;padding:1.3rem 1.5rem;border:1px solid var(--line);background:#0c1211;color:#eee9df}
.ritual-game::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--scene-art);background-size:cover;background-position:center;opacity:.16}
.ritual-game::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,#07120ec7,#090e0b66 50%,#0b120de8)}
.game-hud{display:flex;align-items:center;gap:1rem;border-bottom:1px solid #6a72686b;padding-bottom:.6rem;font-size:14px;letter-spacing:.08em}.pressure{margin-left:auto;color:#ffb6a5;font:20px/1.3 monospace}.pressure[data-high="true"]{background:#753024;padding:3px 8px;color:#fff}
.game-evidence{font-size:13px;color:#c5d7ca;min-height:1.5em;margin:.7rem 0 1rem}.game-title{font-size:clamp(1.5rem,2.8vw,2.3rem);margin:.3rem 0 .6rem;line-height:1.4}.game-instruction{font-size:15px;line-height:1.85;max-width:52rem;color:#e2e4da}
.game-content>p{line-height:1.8}.game-feedback{font-size:15px;border-left:2px solid #f18970;padding-left:.8rem;margin:1rem 0 .4rem;color:#f2cabb;min-height:1.8em}.game-feedback:empty{display:none}.game-feedback[data-kind="success"]{color:#d7eddb;border-color:#9cd2b2}.game-footnote,.board-note{font-size:12px;color:#bdc8bd;line-height:1.65;margin:.8rem 0 0}
.game-primary{background:#e79175!important;color:#142019!important;border-color:#e79175!important;padding:.7rem 1.6rem;min-height:48px}.game-primary:hover{background:#ffb496!important}.game-primary:disabled{background:#56645b!important;border-color:#56645b!important;color:#dce1d9!important}.game-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem}.game-hint{font-size:13px;margin-top:1rem;color:#cfdbcf}.game-hint summary{min-height:44px;cursor:pointer;padding:.5rem 0}.game-hint p{margin-bottom:0}
.target-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.3rem 0}.target-choices button{border:1px solid #7e8b7d;color:#eee9df;background:#0c1311;padding:.6rem;line-height:1.6;font-size:14px}.target-choices button:hover{border-color:#f09576;color:#ffb496}.target-choices svg{display:block;width:100%;height:clamp(130px,18vw,230px);margin-bottom:.7rem;background:#080d0b}.target-choices button:disabled{opacity:.75;cursor:default}.unlock-text{border-top:1px solid #6a72686b;padding-top:1rem;font-size:15px}
.ritual-board{position:relative;width:min(100%,390px);aspect-ratio:1;padding:1.1rem;margin:1rem auto 1.4rem;border:1px solid #7f9887;background:#09130c88;box-shadow:0 0 70px #db705918}
.ritual-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));width:100%;height:100%;gap:0}.ritual-cell{position:relative;min-width:0;min-height:0;padding:0;border:1px solid #5a746458;background:#1b2d215e;color:#d9e2d5;cursor:pointer;touch-action:manipulation}.ritual-cell svg{width:100%;height:100%;display:block}.pane-channel{stroke:#bdcbb4;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #e9ffe03a)}.pane-number{position:absolute;top:5px;left:7px;font:11px/1.4 monospace;color:#b5c8b7}.pane-seal{position:absolute;right:5px;bottom:5px;font:14px/1.3 serif;color:#f6a88f;border:1px solid #c98770;padding:0 2px}.ritual-cell[data-lit="true"]{background:#7c3e244a}.ritual-cell[data-stop="true"]{box-shadow:inset 0 0 0 2px #e9876899}.ritual-cell:active{transform:none;background:#70553e}.ritual-cell:focus-visible{outline:2px solid #ffd3a9;outline-offset:-5px;z-index:2}.ritual-cell:disabled{opacity:1}
.flow-overlay{position:absolute;inset:1.1rem;width:calc(100% - 2.2rem);height:calc(100% - 2.2rem);pointer-events:none;overflow:visible}.flow-path{stroke:#ff926e;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 0 7px #ff714b);opacity:.85}.flow-pulse{fill:#fff6d4;filter:drop-shadow(0 0 5px #ffb16c)}.flow-in,.flow-out{position:absolute;color:#ffc9a8;font-size:12px;line-height:1}.flow-in{bottom:-19px;left:18.5%}.flow-out{right:-14px;top:18.5%}.board-note{text-align:center;margin-bottom:.8rem}
.seal-dial{display:block;width:min(100%,310px);aspect-ratio:1;margin:.5rem auto;overflow:visible}.dial-track{fill:none;stroke:#a4bd9b55;stroke-width:2}.dial-target{fill:none;stroke:#f38b69;stroke-width:13;stroke-linecap:round;filter:drop-shadow(0 0 12px #d66642)}.dial-pulse{fill:#fff5d1;stroke:#fff;stroke-width:1;filter:drop-shadow(0 0 7px #ffe5ad)}.seal-empty{fill:none;stroke:#d5e0c9;stroke-width:1.3}.seal-done{fill:#f09576;stroke:#ffbe9d;stroke-width:1.3}.seal-count{text-align:center;font:16px/1.5 monospace;margin:-1rem 0 1rem}.seal-button{display:block;margin:auto;min-width:170px}.calm-switch{display:flex;gap:.7rem;align-items:center;justify-content:center;margin:1rem 0;font-size:13px;min-height:44px}.calm-switch input{width:20px;height:20px;accent-color:#ed9b78}.game-ending{font-size:clamp(2.5rem,5vw,4rem);margin:3rem 0 1.5rem;color:#f3b096}.result-stats{font:14px/1.8 monospace;margin:2rem 0}
@media(max-width:1000px){.game-active .scene-layout{grid-template-columns:minmax(0,1.8fr) minmax(235px,1fr)}.ritual-game{padding:1rem}.target-choices{gap:.5rem}.target-choices button{font-size:13px;padding:.4rem}.ritual-board{width:min(100%,350px)}}
@media(max-width:760px){.game-active .scene-layout{display:flex}.ritual-game{padding:1rem .8rem}.game-instruction{font-size:14px}.ritual-board{width:min(100%,340px)}.target-choices{gap:.5rem}.target-choices svg{height:130px}.target-choices button{font-size:13px}.game-hud{font-size:13px}.game-evidence{font-size:12px}.game-ending{margin-top:1.5rem}.game-footnote{font-size:12px}}
@media(prefers-reduced-motion:reduce){.flow-pulse{filter:none}.dial-pulse{filter:none}}

/* S05: the original is a visible consequence of the route, not a wallpaper. */
.route-active::before{opacity:.025}.route-active::after{background:#0c1410d9}.route-active .game-evidence{display:none}.route-active .game-title{margin-top:.8rem}.route-active .game-instruction{font-size:16px;line-height:1.7}.route-active .game-footnote{font-size:13px}
.route-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr);gap:1.5rem;align-items:start;margin-top:1.6rem}
.route-scene,.route-controls{min-width:0}.route-scene-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin:0 0 .85rem;font-size:16px;color:#f6c4b1}.route-mode{font:12px/1.8 system-ui;color:#ccd8cb}
.reflection-stage{position:relative;isolation:isolate;aspect-ratio:16/9;margin:0;overflow:hidden;border:1px solid #7d9580;background:#080e0c}
.reflection-art{display:block;width:100%;height:100%;object-fit:contain;filter:saturate(.65) brightness(.94);transition:filter 220ms ease}
.reflection-stage[data-seals="1"] .reflection-art{filter:saturate(.7) brightness(.9)}.reflection-stage[data-seals="2"] .reflection-art{filter:saturate(.85) brightness(.96)}.reflection-stage[data-seals="3"] .reflection-art{filter:none}
.reflection-veils{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none}.reflection-veil{background:linear-gradient(145deg,#06120b80,#1c312235);box-shadow:inset 0 0 22px #03080444;opacity:1;transition:opacity 220ms ease,transform 280ms ease;transform-origin:left center}
.reflection-veil[data-clear="true"]{opacity:0;transform:scaleX(.02)}
.reflection-sweep{position:absolute;inset:0;pointer-events:none;border:1px solid #db8b6677;opacity:0;box-shadow:inset 0 0 50px #dd866228;transition:opacity 200ms ease}.reflection-stage[data-playing="true"] .reflection-sweep,.reflection-stage[data-complete="true"] .reflection-sweep{opacity:1}
.route-seals{display:flex;gap:.8rem;margin:1.1rem 0;padding:0;list-style:none}.route-seals li{flex:1;display:flex;align-items:center;gap:.4rem;font-size:14px;line-height:1.5;color:#b9c8b9}.seal-symbol{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid #69816c;font:12px/1 system-ui}.route-seals li[data-lit="true"]{color:#ffd0aa}.route-seals li[data-lit="true"] .seal-symbol{background:#9e50372e;border-color:#eca483;color:#ffdabd}
.route-narration{font-size:16px;line-height:1.85;min-height:5.6em;margin:.85rem 0;border-left:2px solid #b88667;padding-left:.8rem;color:#e1e7d8}.route-scene .board-note{text-align:left;font-size:12px}.route-controls .ritual-board{margin:0 auto 1.8rem;width:min(100%,360px)}
.route-controls .game-actions{gap:.6rem}.route-controls button:not(.ritual-cell){font-size:14px;min-height:44px}.route-controls .game-primary{padding:.6rem 1rem}.route-controls .game-actions button:not(.game-primary){border-color:#73866e;color:#e9eadc;background:#17231b}.route-controls .game-actions button:disabled{opacity:.55;cursor:default}
.route-summary{font:14px/1.7 system-ui;color:#f9c5a9;letter-spacing:.04em;margin:.7rem 0}.route-detail{font-size:14px;line-height:1.7;color:#d4dfd0;min-height:3.5em;margin:.5rem 0 1rem}.route-audio{margin:.8rem 0 0;border:0;background:transparent;color:#bacfbe;padding:.4rem 0}.route-audio[aria-pressed="true"]{color:#f6c4ab}.route-image-error{position:absolute;inset:10%;margin:0;padding:1rem;background:#152019;color:#fff;font-size:15px}
.flow-guide{stroke:#c5d0b2;stroke-width:1.5;stroke-dasharray:3 5;opacity:.35}.route-controls .flow-path{stroke-width:3.5;stroke-linecap:round}.route-controls .pane-number{font-size:13px}.route-controls .pane-seal{font-size:16px}.route-controls .ritual-cell{transition:background 100ms ease}.route-controls .ritual-cell:active{background:#9a644d;box-shadow:inset 0 0 0 2px #ffc7a2}.route-controls .ritual-cell[data-lit="true"] .pane-channel{stroke:#f1b794}.route-controls .game-actions button:active{transform:scale(.97)}
@media(max-width:1250px){.route-layout{grid-template-columns:minmax(0,1fr);gap:1.1rem}.route-scene{max-width:640px;margin:auto;width:100%}.route-controls{width:min(100%,420px);margin:auto}.route-narration{min-height:0}.route-controls .ritual-board{width:min(100%,340px)}}
@media(max-width:760px){.route-layout{margin-top:1.2rem}.route-seals{gap:.45rem}.route-seals li{font-size:13px}.route-narration{font-size:15px}.route-controls .ritual-board{width:min(100%,340px)}.route-controls .pane-number{font-size:13px}.route-controls .game-actions button{flex:1;white-space:normal}}
@media(prefers-reduced-motion:reduce){.reflection-art,.reflection-veil,.reflection-sweep,.route-controls .ritual-cell{transition:none}.reflection-veil[data-clear="true"]{transform:none}.route-controls .game-actions button:active{transform:none}}
