*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.5 var(--font-body)}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{min-height:48px;border:1px solid var(--pn-navy-70);border-radius:var(--r-s);background:var(--pn-snow);padding:10px 16px}button{cursor:pointer;transition:transform 120ms var(--m-ease-out),opacity 160ms var(--m-ease-out)}button:active{transform:scale(.98)}button:hover{background:var(--pn-navy-mist)}button:disabled{cursor:default;opacity:.65}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--pn-navy);outline-offset:4px}h1,h2,h3,.brand{font-family:var(--font-head);line-height:1.15}h1{font-size:clamp(36px,5.4vw,64px);letter-spacing:-.045em;margin:16px 0 20px;font-weight:700}h2{font-size:clamp(28px,3.1vw,38px);letter-spacing:-.035em;margin:8px 0 16px}h3{font-size:22px;margin:0 0 16px}p{margin:0 0 16px}svg{display:block;max-width:100%}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.pn-head{border-bottom:1px solid var(--line);background:var(--pn-snow)}.head-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:27px;font-weight:700;min-height:48px}.brand svg{width:43px;height:40px}.brand svg circle{fill:var(--pn-pink)}.brand svg path{fill:var(--pn-navy)}.back{min-height:48px;display:flex;align-items:center;gap:8px;font-size:15px}.skip{position:absolute;top:12px;left:12px;z-index:10;transform:translateY(-160%);background:var(--pn-navy);color:var(--pn-white);padding:12px 16px;min-height:48px;min-width:48px;border-radius:10px}.skip:focus{transform:none}.hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:24px;padding:56px 0 40px}.kicker{font-weight:700;color:var(--pn-red-deep);font-size:13px;letter-spacing:.07em;text-transform:uppercase;margin:0}.lead{font-size:20px;line-height:1.5;color:var(--pn-text)}.hero-meta{font-size:13px;color:var(--pn-text-small);display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 0}.hero-art{width:100%;max-width:400px;justify-self:end}.trail-section{padding:24px 28px 16px;background:var(--pn-navy);color:var(--pn-white);border-radius:22px}.trail-heading{display:flex;justify-content:space-between;gap:16px;font-size:15px}.trail-heading p{margin:0}.trail-heading strong{white-space:nowrap;font-variant-numeric:tabular-nums}.trail{display:grid;grid-template-columns:repeat(5,1fr);margin-top:12px;gap:8px}.trail button{border:none;border-radius:10px;background:none;color:var(--pn-white);text-align:left;padding:10px 8px;min-width:0;position:relative}.trail button:hover,.trail button[aria-current="step"]{background:var(--pn-navy-70)}.trail svg{width:48px;height:32px;margin-bottom:8px;fill:var(--pn-navy-30)}.trail .snow{fill:var(--pn-navy)}.trail .complete svg{fill:var(--pn-pink)}.trail button[aria-current="step"] svg{fill:var(--pn-white)}.nav-label{display:block;font-size:15px;font-weight:600}.nav-label b{display:block;font-size:13px;font-weight:400;opacity:.9}.peak-status{font-size:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:24px 0 12px}.toolbar button{font-size:14px;min-height:48px;padding:8px 14px}.toolbar button[aria-pressed="true"]{color:var(--pn-white);background:var(--pn-navy)}.voice-hint{font-size:13px;color:var(--pn-text-small);max-width:85ch;margin-bottom:32px}.station{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px}.station>p{max-width:78ch;color:var(--pn-text)}.station-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.station-count{font-family:var(--font-head);font-weight:700;white-space:nowrap;background:var(--pn-navy-mist);padding:8px 14px;border-radius:999px;font-size:15px}.station p.instruction{font-size:15px;font-weight:600;color:var(--pn-navy);margin:24px 0 12px}.language-bank{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.word{display:inline-flex;align-items:stretch;max-width:100%;border:1px solid var(--pn-navy-70);border-radius:10px;background:var(--pn-snow);overflow:visible}.word>button{border:0;background:transparent;border-radius:10px 0 0 10px;min-width:0;padding:8px 12px}.word>button:hover{background:var(--pn-navy-mist)}.word .audio{border-left:1px solid var(--pn-navy-70);border-radius:0 10px 10px 0}.word:has([aria-pressed="true"]){background:var(--pn-navy);color:var(--pn-white)}.word:has([aria-pressed="true"]) button:hover{background:var(--pn-navy-70)}.audio{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;min-width:48px;padding:12px}.audio svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.places{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.place-card{min-width:0}.place-target{padding:0;width:100%;border:1px solid var(--pn-navy-70);overflow:hidden;text-align:left;border-radius:16px}.landmark{width:100%;height:138px;padding:12px 8px;background:var(--pn-offwhite)}.place-meta{display:flex;flex-direction:column;gap:4px;padding:14px 16px}.place-meta>span:first-child{font-size:20px;font-weight:700}.place-answer{font-size:13px;color:var(--pn-text-small)}.place-target[data-solved="true"]{border:2px solid var(--pn-navy)}.place-target[data-solved="true"] .place-meta{background:var(--pn-navy);color:var(--pn-white)}.place-target[data-solved="true"] .place-answer{color:var(--pn-white)}.mini-note{background:var(--pn-pink-soft);border-left:4px solid var(--pn-red);padding:20px 24px;margin-top:28px;border-radius:0 10px 10px 0;font-size:15px}.mini-note>p:last-child{margin-bottom:0}.mini-note>.audio{vertical-align:middle;margin-left:8px}.primary{background:var(--pn-red);color:var(--pn-white);border-color:var(--pn-red);font-weight:600}.primary:hover{background:var(--pn-red-deep)}.role-select{display:flex;align-items:center;gap:16px;margin:24px 0}.role-select select{min-width:120px}.chat{display:flex;flex-direction:column;gap:16px;max-width:720px;margin:0 auto 24px}.bubble{position:relative;background:var(--pn-navy-mist);padding:20px 76px 20px 20px;max-width:88%;border-radius:16px 16px 16px 0;animation:message-in 180ms var(--m-ease-out)}.bubble[data-role="Leo"]{align-self:flex-end;background:var(--pn-pink-soft);border-radius:16px 16px 0 16px}.bubble b{font-size:13px}.bubble p{margin:8px 0 0}.bubble .audio{position:absolute;right:12px;top:16px}.bubble.your-role{border:2px solid var(--pn-navy)}.role-hint{font-size:13px;margin-left:8px}.gap-exercise{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.gap-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.gap-row select{min-width:140px}.phrase-list{display:grid;gap:8px}.phrase-list>div,.phrase-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--pn-line-strong)}.phrase-list>div:last-child{border:0}.phrase-row p{margin:0}.map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:24px}.map-frame{background:var(--pn-navy-mist);padding:16px;border-radius:16px}.europe{width:100%;height:auto;max-height:550px}.map-neighbors path{fill:var(--line);stroke:var(--pn-line-strong);stroke-width:.65;vector-effect:non-scaling-stroke;pointer-events:none}.map-land .country-shape{fill:var(--pn-pink);stroke:var(--pn-navy);stroke-width:.8;vector-effect:non-scaling-stroke;cursor:pointer}.map-land [data-found="true"] .country-shape{fill:var(--pn-red)}.map-labels .map-number{fill:var(--pn-navy);stroke:var(--pn-snow);stroke-width:3;cursor:pointer}.map-labels text{text-anchor:middle;font:700 40px var(--font-body);fill:var(--pn-white);pointer-events:none}.map-labels .map-leader{fill:none;stroke:var(--pn-navy);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.map-labels [data-found="true"] .map-number{fill:var(--pn-snow);stroke:var(--pn-navy)}.map-labels [data-found="true"] text{fill:var(--pn-navy)}.map-caption{font-size:13px;line-height:1.4;margin:12px 0 0;color:var(--pn-text-small)}.map-task{padding-top:24px}.task-label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.map-prompt{display:flex;align-items:center;gap:16px;margin:8px 0 20px}.map-prompt h3{font-size:36px;margin:0}.map-help{font-size:15px;color:var(--pn-text)}.map-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0}.map-buttons button{padding:8px;min-width:48px;min-height:48px;font-weight:700}.map-buttons .found{background:var(--pn-navy);color:var(--pn-white)}#map-found{font-size:15px}.match-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;margin:24px 0}.nationality-bank,.country-bank{display:grid;gap:8px;grid-template-columns:1fr}.match-grid .word{justify-content:space-between}.match-grid .word>button:first-child{text-align:left;flex:1}.word:has([data-solved="true"]){background:var(--pn-navy);color:var(--pn-white)}.sentence-builder{margin-top:32px;border-top:1px solid var(--line);padding-top:32px}.sentence-output{min-height:80px;border:2px dashed var(--pn-navy-70);border-radius:10px;padding:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:20px 0 12px}.sentence-output:empty:before{content:"Dein Satz entsteht hier …";color:var(--pn-text-small)}.sentence-words{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.role-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px}.identity-card{background:var(--pn-navy);color:var(--pn-white);border-radius:22px;padding:28px;align-self:start}.identity-card h3{font-size:32px;margin:24px 0 16px}.identity-card .task-label{color:var(--pn-pink)}.identity-card .actions{margin-top:24px}.identity-card .audio{background:var(--pn-snow);color:var(--pn-navy)}#identity{min-height:200px}.identity-line{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0}.identity-line p{margin:0}.identity-card.concealed:after{content:"Karte verdeckt. Jetzt dürfen die anderen raten.";display:block;margin-top:20px;padding:24px 0;border-top:1px solid var(--pn-navy-30)}.feedback{background:var(--pn-navy-mist);border-left:4px solid var(--pn-navy);padding:16px 20px;margin-top:20px;border-radius:0 10px 10px 0;min-height:58px;font-weight:600}.feedback.error{background:var(--pn-red-tint);color:var(--pn-red-ink);border-color:var(--pn-red)}.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.lesson-bottom span{font-size:13px;white-space:nowrap}.draft-note{font-size:13px;color:var(--pn-text-small);margin:24px 0 40px}.pn-foot{background:var(--pn-navy);color:var(--pn-white);padding:32px 0;font-size:13px}.pn-foot p{margin:0 0 12px}.pn-foot a{display:inline-flex;min-height:48px;align-items:center;margin-right:24px}.pn-foot a:focus-visible{outline-color:var(--pn-white)}.answer-panel{border:2px solid var(--pn-navy);border-radius:16px;padding:28px;margin-top:24px}.answer-panel h2{font-size:26px}.answer-list{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.answer-list p{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:8px 0;border-bottom:1px solid var(--line)}dialog{border:2px solid var(--pn-navy);border-radius:22px;padding:32px;background:var(--pn-snow);color:var(--pn-navy);width:min(560px,calc(100% - 32px))}dialog::backdrop{background:rgb(38 55 89 / .65)}dialog h2{font-size:28px}.presentation{font-size:21px}.presentation .wrap{width:min(1400px,calc(100% - 48px))}.presentation .hero{padding:24px 0}.presentation .hero-art,.presentation .hero-meta,.presentation .voice-hint{display:none}.presentation h1{font-size:40px}.presentation .hero{grid-template-columns:1fr}.presentation .place-meta>span:first-child{font-size:24px}.presentation .word button{font-size:20px}.presentation .toolbar button{font-size:17px}.presentation .places{grid-template-columns:repeat(4,1fr)}[hidden]{display:none!important}.audio.playing{background:var(--pn-red);color:var(--pn-white);border-color:var(--pn-red)}.audio.playing svg{animation:audio-pulse 900ms var(--m-ease-out) infinite alternate}@keyframes audio-pulse{from{transform:scale(1)}to{transform:scale(1.15)}}@keyframes message-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:800px){.places,.presentation .places{grid-template-columns:repeat(2,1fr)}.hero{gap:12px}.hero-art{max-width:240px}.map-layout,.role-layout{grid-template-columns:1fr}.map-frame{width:100%;max-width:640px;margin:auto}.map-task{padding-top:0}.map-buttons{grid-template-columns:repeat(7,1fr)}.match-grid{gap:20px}.trail-section{padding:20px 12px}.nav-label{font-size:13px}.peak-status{font-size:11px}.trail button{padding:8px 4px}.trail svg{width:40px}.toolbar button{flex-grow:1}}@media(max-width:560px){.wrap,.presentation .wrap{width:calc(100% - 32px)}.head-inner{min-height:76px;gap:8px}.brand{font-size:23px;gap:6px}.brand svg{width:34px}.back{font-size:13px;gap:4px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:32px 0 24px;gap:0}.hero-art{height:115px;max-width:230px;align-self:flex-end;margin-top:4px}.lead{font-size:18px}.hero-meta{font-size:12px;gap:6px;margin-top:16px}.trail-heading{font-size:13px;gap:8px}.trail{gap:2px}.trail-section{padding:16px 8px;border-radius:16px}.trail-heading{padding:0 4px}.trail svg{width:36px}.nav-label{font-size:11px}.nav-label b{font-size:12px}.peak-status{display:none}.trail button{min-height:100px;padding:8px 2px}.station{padding:24px 16px;border-radius:16px}.station-heading{gap:8px;align-items:flex-start}.station-heading h2{font-size:28px}.station-count{padding:6px 10px;font-size:13px;margin-top:22px}.kicker{font-size:12px}.toolbar{margin-top:16px}.toolbar button{font-size:13px;padding:8px}.voice-hint{margin-bottom:24px}.language-bank{gap:6px}.language-bank .word>button:first-child{font-size:15px;padding:8px 10px}.language-bank .audio{width:44px;min-width:44px;padding:11px}.places{gap:12px}.landmark{height:112px}.place-meta{padding:12px 10px}.place-meta>span:first-child{font-size:19px}.place-answer{font-size:12px}.mini-note{padding:16px;font-size:15px;margin-top:24px}.bubble{max-width:96%;padding:16px 66px 16px 16px}.bubble .audio{right:8px;top:12px}.gap-row{gap:8px}.gap-row .audio{margin-left:auto}.map-buttons{grid-template-columns:repeat(4,1fr)}.map-frame{padding:8px}.map-caption{font-size:12px}.match-grid{grid-template-columns:1fr;gap:24px}.nationality-bank,.country-bank{grid-template-columns:1fr}.sentence-output{padding:8px}.sentence-output button,.sentence-words button{padding:8px 12px}.identity-card{padding:24px}.lesson-bottom{flex-wrap:wrap}.lesson-bottom button{font-size:14px;flex:1;padding:8px}.lesson-bottom span{order:-1;width:100%;text-align:center}.answer-panel{padding:20px 16px}.answer-list{grid-template-columns:1fr}.presentation .word button{font-size:18px}.presentation h1{font-size:36px}.presentation .hero{padding:24px 0}.pn-foot{padding:24px 0}}
.inline-feedback:empty{display:none}.inline-feedback{background:var(--pn-navy-mist);padding:12px 16px;border-radius:10px;font-size:15px;font-weight:600}.station .inline-feedback.error{background:var(--pn-red-tint);color:var(--pn-red-ink)}
.correct-check{display:inline-block;width:18px;height:18px;margin-left:6px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
/* Dark surfaces need explicit button ink and a light outer focus ring. */
.identity-card button{color:var(--pn-navy)}.identity-card button.primary{color:var(--pn-white)}.identity-card button:focus-visible,.trail button:focus-visible{outline-color:var(--pn-white)}

/* Inline answer keys: navy on off-white, explicit text instead of colour alone. */
.task-solution{display:block;max-width:100%;padding:8px 12px;margin:8px 0 12px;border-left:3px solid var(--pn-navy);border-radius:var(--r-s);background:var(--pn-offwhite);color:var(--pn-navy);font-size:var(--fs-s);line-height:1.5;overflow-wrap:anywhere}
.task-solution .audio{vertical-align:middle;margin-left:8px}
.map-buttons{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.map-buttons .task-solution{margin:0;align-self:start}
.map-buttons [data-map]{width:100%}
.country-bank>.task-solution{flex-basis:100%}
