/* Adventure v2: all surfaces stay anchored; the panorama remains continuous. */
:root{--parchment:#f1e4c8;--gold:#d5b87b}
.topbar{background:#08141bea;border-bottom:1px solid #cfbe8c33;z-index:8}
.identity strong{font-size:23px;color:var(--parchment);letter-spacing:.045em}
.hud,.team-b .hud{background:transparent;color:#e2e8e6}
.team-title small{color:#d0d6d3;font-size:10px;display:block}
.hud-values span{color:#c9d2d3}.hud-values strong{color:#f7eee0}
.prompt,.team-b .prompt,.team[data-phase='AKTION'] .prompt,.team[data-phase='VORBEREITUNG'] .prompt{background:transparent url('../media/tablet-v1/task-tablet.png') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;padding:8px 40px 12px;filter:drop-shadow(0 4px 5px #0006)}
.prompt-label{color:#d6c6a5;font-size:clamp(10px,.7vw,13px);letter-spacing:.16em;line-height:1.15}
.base-form{color:#fff4df;font:600 clamp(40px,3.5vw,64px)/1 Georgia,serif;letter-spacing:-.025em;margin-top:2px;text-shadow:0 1px 2px #000,0 0 12px #f0d9ac14}
.prompt::after{content:'';position:absolute;left:30px;right:68px;bottom:12px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0;pointer-events:none}
.team[data-input-open='true'] .prompt::after{opacity:.65}
.team[data-input-open='true'] .prompt{filter:drop-shadow(0 4px 5px #0006) drop-shadow(0 0 5px var(--accent))}
.phase-rune{right:20px;width:34px;height:34px;color:#b5a986}
.team[data-question-mode='missing'] .prompt{padding-top:10px}
.team[data-question-mode='missing'] .prompt-note{left:30px;right:65px;top:28px}
.team[data-question-mode='missing'] .prompt-note strong{color:#fff4df}
.team[data-question-mode='missing'] .prompt-note .target-cell strong{color:#e2cf91}
/* Words belong to the keyboard, without a second stone artefact. In result
   the keys are hidden, so the correction uses that space without moving them. */
.answer-panel{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 8px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;visibility:hidden;pointer-events:none;text-align:center}
.team[data-answer-visible='true'] .answer-panel{visibility:visible}
.team[data-input-open='true'] .answer-panel{border:0;box-shadow:none}
.answer-panel output,.answer-panel small{position:relative;display:inline-block;grid-area:auto;max-width:100%;padding:3px 18px;box-sizing:border-box;white-space:nowrap;overflow:visible;text-overflow:clip;background:radial-gradient(ellipse,#061018e8 0%,#06101880 42%,transparent 75%);color:#fff4df;font:600 clamp(30px,2.1vw,40px)/1.15 Georgia,serif;letter-spacing:0;text-shadow:0 1px 2px #000,0 2px 6px #000,1px 0 1px #000,-1px 0 1px #000}
.answer-panel small{position:absolute;top:calc(100% + 4px);left:50%;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);font-size:clamp(32px,2.2vw,42px)}
.answer-panel small:empty{display:none}
.team[data-result='correct'] .answer-panel output::before,.demo-response[data-result='correct'] output::before{content:'✓ ';color:#c7dfc0}
.team[data-phase='ERGEBNIS'][data-result='correct'] .answer-panel{visibility:hidden}
.team[data-result='wrong'] .answer-panel output,.demo-response[data-result='wrong'] output{color:#dfbdad}
.team[data-result='wrong'] .answer-panel output::before,.demo-response[data-result='wrong'] output::before{content:'✗ '}
.team[data-result='omitted'] .answer-panel output{color:#d4cbbb}
.team[data-result='omitted'] .answer-panel output::before{content:'◷ '}
.team[data-result='wrong'] .answer-panel small,.team[data-result='omitted'] .answer-panel small,.demo-response small{color:#fff4df}
.team[data-input-open='true'] .answer-panel output::after,.demo-response[data-input='true'] output::after{content:'';display:inline-block;height:.7em;margin-left:5px;border-left:2px solid #d4c8aa;vertical-align:-.02em}
.team[data-input-open='true'] .answer-panel output.empty,.demo-response[data-input='true'] output.empty{color:transparent;min-width:1ch;background:none}
.team[data-input-open='true'] .answer-panel output.empty::after,.demo-response[data-input='true'] output.empty::after{position:absolute;left:50%;top:50%;margin:0;transform:translateY(-50%)}
/* The whole class reads the resolved form in the quiet space between routes. */
.answer-reveal{position:absolute;left:0;right:50%;top:var(--word-reveal-top);height:clamp(52px,3.8vw,74px);z-index:6;display:flex;align-items:center;justify-content:center;pointer-events:none;visibility:visible;text-align:center}
.team-b .answer-reveal{left:50%;right:0}
.answer-reveal strong{display:block;max-width:calc(100% - 64px);padding:5px 28px 9px;color:#e0ffd2;font:600 clamp(52px,3.8vw,74px)/1 Georgia,serif;letter-spacing:-.02em;white-space:nowrap;background:radial-gradient(ellipse,#071922f5 0%,#071922c9 44%,transparent 76%);text-shadow:0 2px 3px #061018,0 0 7px #061018,1px 0 1px #061018,-1px 0 1px #061018}
@media(max-height:650px){.team .answer-reveal{top:calc(100% - var(--power-height) - var(--keyboard-height) + 50px)}}
.keyboard,.team-b .keyboard{background:transparent}
.team > .keyboard{grid-column:1}
/* Directional shafts sit behind actors; they never tint text or keys. */
.ambient-world{inset:var(--race-top) 0 var(--controls-height);overflow:hidden}
.ambient-world::before{content:'';position:absolute;inset:-25% -10%;background:repeating-linear-gradient(112deg,transparent 0 8%,#ffe7b517 9%,transparent 12% 21%);transform:translateX(-3%);opacity:calc(.6 * (1 - var(--world-blend,0)));animation:grove-light 28s ease-in-out infinite alternate;pointer-events:none}
.ambient-world::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 22% 3%,#ffe6a821,transparent 65%),linear-gradient(0deg,#06111b55,transparent 30%);opacity:calc(1 - var(--elite-blend,0))}
@keyframes grove-light{to{transform:translateX(3%);opacity:calc(.35 * (1 - var(--world-blend,0)))}}
#gameScene[data-motion='reduced'] .ambient-world::before{animation:none}
#gameScene[data-paused='true'] .ambient-world::before{animation-play-state:paused}
/* A composed title scene uses existing product art, not remote assets. */
.setup-overlay{background:#040e17d9;padding:20px}
.setup-card{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(460px,1.4fr);padding:0;width:min(1150px,96vw);max-height:94vh;border:1px solid #c4b58b66;border-radius:7px;overflow:auto;background:#10212b;box-shadow:0 25px 100px #000b}
.setup-journey{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding:32px;color:var(--parchment);background:linear-gradient(180deg,#0d1b2380,#0c1a24e6 76%,#0c1a24),url('../media/race-v2/grove-clean.png') 33% center/auto 100%;border-right:1px solid #beac7844}
.journey-eyebrow{font-size:10px;font-weight:750;letter-spacing:.22em;color:#d7c89b;margin:0 0 22px}
.setup-journey h1{font:500 clamp(45px,4.7vw,72px)/.94 Georgia,serif;letter-spacing:-.045em;margin:0;text-shadow:0 3px 20px #02091080;z-index:1}
.journey-tagline{font:400 16px/1.55 Georgia,serif;color:#ded9c5;margin:18px 0 0;z-index:1}
.journey-runners{position:absolute;right:-13px;top:155px;width:230px;height:260px;display:flex;align-items:flex-end;opacity:.9;z-index:-1}
.journey-runners img{position:absolute;width:230px;height:230px;object-fit:contain;filter:drop-shadow(0 5px 12px #0009)}
.journey-runners img:first-child{right:45px;bottom:10px}.journey-runners img:last-child{right:-15px;bottom:-5px}
.journey-stages{list-style:none;display:grid;gap:18px;padding:0;margin:56px 0 24px;z-index:1}
.journey-stages li{display:flex;gap:14px;align-items:center}.journey-stages li>span{display:grid;place-items:center;width:31px;height:35px;border:1px solid #c9b87780;color:#e1c889;font:500 13px Georgia,serif;background:#11232a;clip-path:polygon(50% 0,100% 20%,100% 80%,50% 100%,0 80%,0 20%)}
.journey-stages strong{font:500 18px Georgia,serif}.journey-stages small{display:block;font-size:11px;color:#c1cbcb;margin-top:4px}
.journey-foot{margin:auto 0 0;font-size:9px;letter-spacing:.13em;color:#acb9b8}
.setup-options{padding:28px 32px;background:linear-gradient(130deg,#142731,#0d1d27)}
.setup-options .setup-brand{display:none}
.setup-options .setup-intro{font-size:14px;line-height:1.55;margin:0 0 20px;color:#d0dad8}
.setup-options legend,.setup-options .practice-choice>label{color:#e5d3a8;font-size:13px}
#sectionChoices{grid-template-columns:repeat(5,minmax(0,1fr))}
#sectionChoices label{padding:8px;gap:6px;min-height:44px;background:#152c36;border-radius:3px;font-size:13px}
#sectionChoices label:has(input:checked){background:#2c4547;border-color:#d2bb83;box-shadow:inset 0 2px 0 #d2bb83}
.setup-options select{background:#142c38;color:#f2e9d4;border:1px solid #7e929e80;border-radius:3px;padding:8px}
.setup-options .practice-preview{font-size:13px;color:#dce5dd;border-left:2px solid #d4b883;background:#d4b88308}
.setup-options .match-settings>summary{font-size:12px;color:#c0cecf}
.setup-options .start-button{border-radius:3px;background:linear-gradient(#eddbad,#c5a465);color:#11212b;font-size:15px;min-height:52px;border:1px solid #f4dfaa}
.setup-options .setup-time{font-size:12px;color:#d7c092}
.setup-options .setup-footnote{font-size:10px;color:#a2b5bc;line-height:1.4}
.learning-review{width:100%;margin:18px auto 8px;text-align:left;border:1px solid #c7b27966;background:#0b1b25ed;border-radius:4px}
.learning-review summary{cursor:pointer;min-height:44px;padding:12px 16px;color:#f1dfb7;font-size:14px}
#reviewList{max-height:min(26vh,230px);overflow:auto;padding:0 16px 12px;font-size:13px}
.review-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 12px;align-items:baseline;border-top:1px solid #b6c5c52b;padding:10px 0}
.review-row>span{font-size:10px;color:#afc4ca}.review-row>strong:nth-child(3){color:#c9e9d4}.review-row>small{grid-column:1/-1;font-size:10px;color:#b5c4c8}
.phase-card{max-height:94vh;overflow:auto}
.chapter-arrival{position:absolute;left:50%;top:calc(var(--hud-height) + var(--prompt-height) + 18px);transform:translateX(-50%);z-index:2;pointer-events:none;text-align:center;max-width:44vw;color:#f1e7cd;text-shadow:0 2px 8px #000,0 0 30px #07141b}
.chapter-arrival[hidden]{display:none}.chapter-arrival>strong{display:block;font:500 clamp(22px,2.3vw,38px) Georgia,serif;letter-spacing:.06em;margin:6px 0}
.setup-tutorial{margin:0 0 12px;border-top:1px solid #c4b58b33;color:#cfdbd7}
.setup-tutorial>summary{cursor:pointer;font-size:13px;padding:12px 0;min-height:44px;color:#e4d2a9}
.setup-tutorial>p,.tutorial-powers p{font-size:12px;line-height:1.5;margin:8px 0 14px}
.tutorial-powers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tutorial-powers>div>span{display:block;height:38px;color:#dac697}.tutorial-powers svg{height:34px;width:34px}
.tutorial-powers strong{font:600 18px Georgia,serif;color:#f1e2bf}
@media(max-width:1000px){.setup-card{grid-template-columns:minmax(200px,.65fr) minmax(400px,1.4fr)}.setup-journey{padding:24px}.setup-options{padding:22px}}
@media(max-width:760px){.setup-card{display:block}.setup-journey{display:none}.setup-options .setup-brand{display:flex}.identity strong{font-size:17px}.tutorial-powers{grid-template-columns:1fr}}
@media(max-height:650px){.setup-options{padding:18px 22px}.setup-options .setup-intro{margin-bottom:10px}.setup-journey{padding:22px}.setup-journey h1{font-size:46px}.journey-tagline{font-size:14px}.journey-stages{margin-top:36px;gap:12px}.journey-runners{top:125px}.chapter-arrival>strong{font-size:20px;margin:3px}}
/* Write-along row (06.10.2026): whole verb row under the large solution while the class copies. */
.answer-reveal .reveal-row{position:absolute;top:calc(100% + 6px);left:0;right:0;text-align:center;color:#f3ead2;font:600 clamp(22px,1.6vw,32px)/1.1 Georgia,serif;letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 2px #061018,0 0 6px #061018,0 0 12px #061018}
#gameScene[data-board='xl'] .answer-reveal .reveal-row{font-size:clamp(26px,2vw,40px)}
