/* Kein Doppeltipp-Zoom auf Tablets/Smartphones (Pinch-Schutz: js/abenteuer/zoom-guard.js) */
html{touch-action:manipulation}
@font-face{font-family:Cinzel;src:url('../assets/fonts/cinzel-600-normal-latin.woff2')}@font-face{font-family:Crimson;src:url('../assets/fonts/crimsonpro-400-normal-latin.woff2')}
:root{color-scheme:dark;--gold:#eac586;--ink:#0d1720;--paper:#f2e6d0}*{box-sizing:border-box}body{margin:0;background:#080e14;color:var(--paper);font:20px Crimson,Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #f2c66e;outline-offset:4px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}
#game{display:block;width:100%;height:100dvh;touch-action:none}#hud{position:fixed;inset:0 0 auto;display:flex;gap:20px;justify-content:space-between;align-items:start;padding:max(22px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) 24px;background:linear-gradient(#08111deb,transparent);pointer-events:none}#hud button{pointer-events:auto}#hud>div:first-child{min-width:0;flex:1}.hud-right{flex-shrink:0}.eyebrow{font:600 12px Cinzel,serif;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}h1,h2,h3{font-family:Cinzel,Georgia,serif;font-weight:600}h1{font-size:clamp(28px,4vw,48px);margin:14px 0}h2{font-size:clamp(23px,3vw,34px);margin:8px 0 16px}h3{font-size:19px;margin:4px 0 9px}p{line-height:1.45;margin:12px 0}.muted{color:#c0c8c7;font-size:17px}#levelTitle{font:600 clamp(16px,2vw,30px) Cinzel,serif;margin:6px 0}#objective{font-size:clamp(16px,1.5vw,23px);max-width:560px}#status{font:15px system-ui,sans-serif;margin-top:10px;display:flex;gap:14px;align-items:center}#status{width:max-content;max-width:calc(100vw - 28px);white-space:nowrap}#alertLabel{display:inline-flex;align-items:center;gap:5px}#health{color:#efb4a0}.hud-right{display:flex;gap:10px}.icon{width:48px;height:48px;border:1px solid #a88e5e80;background:#0d1720dc;border-radius:50%;font:20px system-ui}#notice{position:fixed;left:50%;bottom:calc(110px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(640px,94vw);width:max-content;padding:10px 18px;border:1px solid #d7b47766;border-radius:6px;background:#101b25ef;text-align:center;font-size:19px;pointer-events:none}#bossHUD{position:fixed;top:128px;left:50%;transform:translateX(-50%);text-align:center;width:min(440px,90vw);padding:10px 16px;background:#111923e8;border:1px solid #aa7961;border-radius:5px}#bossTitle{font:600 17px Cinzel,serif}#bossCue{margin-top:5px;font-size:18px}#bossPips{letter-spacing:.35em;color:var(--gold);font:19px system-ui;margin-top:5px}#suspicion{width:80px;height:7px;accent-color:#e5b56a}#touch{position:fixed;inset:auto 0 0;display:flex;justify-content:space-between;align-items:end;padding:12px max(20px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom));gap:12px;pointer-events:none;background:linear-gradient(transparent,#07111dc9)}.keys{display:flex;gap:9px}.key{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;width:62px;height:62px;border:1px solid #c5a66b99;border-radius:50%;background:#0c1723df;display:flex;align-items:center;justify-content:center;flex-direction:column;font:23px system-ui}.key small{font:12px Crimson;margin-top:2px}.key[data-key=action]{border-color:#efc375;background:#4a3824df}.key.pressed{background:#72582c;transform:scale(.96)}#keyHint{position:fixed;bottom:21px;left:50%;transform:translateX(-50%);font-size:14px;color:#c4c9c9;pointer-events:none}
#shade{position:fixed;inset:0;background:linear-gradient(110deg,#09131aee,#09131ad9);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(7px)}#dialog{width:min(1000px,100%);max-height:94dvh;overflow:auto;overscroll-behavior:contain;padding:clamp(22px,4vw,48px);border:1px solid #b99b6155;border-radius:12px;background:linear-gradient(135deg,#182630f5,#101a22fa);box-shadow:0 28px 100px #0008}#dialog:focus{outline:none}#dialog.narrow{max-width:630px}#cards{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:14px;margin:26px 0}.card{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;text-align:left;padding:0;overflow:hidden;border:1px solid #c5aa7350;border-radius:7px;background:#09131a;transition:border-color .15s}.card:hover{border-color:var(--gold)}.card-art{height:115px;flex-shrink:0;display:block;background-color:#24333b;background-image:url('../assets/abenteuer/schauplaetze.webp');background-size:100% 500%}.card-copy{padding:15px;display:block;flex:1}.card-copy small{display:block;color:#b5c4c6;font-size:15px;line-height:1.35}.card .eyebrow{font-size:10px;display:block;margin-bottom:7px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.btn{display:inline-block;padding:12px 19px;background:var(--gold);border:1px solid var(--gold);border-radius:4px;color:#15202a;text-decoration:none;font:600 16px Cinzel,serif}.btn.ghost{background:transparent;color:var(--paper);border-color:#c7ab7077}.controls{padding:15px 18px;background:#050d1450;border-left:2px solid var(--gold);font-size:18px}.progress{height:3px;background:#3b4549;margin-top:12px}.progress span{display:block;height:100%;background:var(--gold)}
@media(min-width:1000px){#touch{padding-left:28px;padding-right:28px}.key{width:65px;height:65px}#notice{bottom:100px}}
@media(max-width:700px){#hud{padding:16px 14px 24px;gap:8px}#levelTitle{font-size:16px}#objective{font-size:16px;max-width:260px}#status{font-size:12px;gap:8px}.eyebrow{font-size:10px}.hud-right{gap:6px}.icon{width:36px;height:36px;font-size:17px}#bossHUD{top:139px}#bossTitle{font-size:15px}#bossCue{font-size:16px}#touch{padding:10px 10px max(14px,env(safe-area-inset-bottom));gap:8px}.keys{gap:6px}.key{width:52px;height:52px;font-size:21px}#keyHint{display:none}#notice{bottom:86px;font-size:17px;padding:8px 12px}#cards{grid-template-columns:1fr 1fr;gap:10px}.card-art{height:90px}.card-copy{padding:12px}h3{font-size:16px}#shade{padding:10px}#dialog{padding:24px 18px}.actions .btn{font-size:14px}}
@media(max-width:360px){.key{width:46px;height:48px}.keys{gap:4px}#levelTitle{font-size:14px}#objective{max-width:205px}#cards{grid-template-columns:1fr}.card-art{height:115px}}
@media(max-height:500px){#hud{padding:10px 16px}#levelTitle{margin:3px 0;font-size:16px}#objective{font-size:15px}#status{margin-top:5px}#bossHUD{top:12px;left:62%;width:290px;padding:6px}#bossTitle{font-size:14px}#bossCue{font-size:14px}#bossPips{font-size:14px;margin:0}#notice{bottom:77px;font-size:15px}#touch{padding-bottom:10px}.key{width:49px;height:49px}#keyHint{display:none}#dialog{max-height:95dvh;padding:20px}#cards{grid-template-columns:repeat(3,1fr)}}
@media(max-height:500px) and (orientation:landscape){#notice{top:100px;bottom:auto;max-width:calc(100vw - 50px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.key.pressed{transform:none}}
/* Gemeinsamer Spieleinstieg und freiwillige Bestenliste. */
.card[href]{text-decoration:none;color:inherit}.watch-art{background-image:url('../assets/nachtwache/city.webp');background-size:cover;background-position:center}
#loadingHint{position:fixed;inset:20% 10% auto;z-index:3;padding:24px;background:#172630}
#journeyScore{font:13px system-ui;color:var(--gold);margin-bottom:8px}
#scoreDialog{width:min(800px,calc(100% - 24px));max-height:92dvh;overflow:auto;overscroll-behavior:contain;border:1px solid #b99b6188;border-radius:12px;background:#13212b;color:var(--paper);padding:clamp(18px,4vw,36px);font:20px Crimson,Georgia,serif}
#scoreDialog::backdrop{background:#040a11d9;backdrop-filter:blur(5px)}.score-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.score-head .icon{flex-shrink:0}.score-scroll{overflow-x:auto}#scoreDialog table{border-collapse:collapse;width:100%;font:15px system-ui}#scoreDialog caption{text-align:left;font-size:13px;color:#bec6c8;margin-bottom:12px}#scoreDialog td,#scoreDialog th{text-align:left;padding:12px 7px;border-bottom:1px solid #ffffff20;vertical-align:top}#scoreDialog td:nth-child(2){overflow-wrap:anywhere}#scoreDialog td:nth-child(n+3){white-space:nowrap}#scoreDialog td small{display:block;font-size:12px;line-height:1.4;color:#c3c8c5;min-width:100px;margin-top:5px}#scoreDialog a{color:var(--gold)}#scoreDialog a.btn{color:var(--paper)}.score-rules{margin:20px 0;font-size:17px}.score-rules summary{cursor:pointer}#scoreDialog hr{border:0;border-top:1px solid #ffffff30;margin-top:25px}#scoreForm>label:first-child{display:block}#scoreName{display:block;width:100%;padding:12px;border:1px solid #d2b57a88;background:#09131b;color:white;font:18px system-ui;border-radius:4px;margin:9px 0 12px}.score-consent{display:flex;align-items:start;gap:10px;font-size:17px;margin:20px 0}.score-consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--gold)}.score-hp{position:absolute;left:-10000px}#scoreSubmitStatus{color:var(--gold)}
@media(max-width:700px){.hud-right{flex-wrap:wrap;max-width:78px}#journeyScore{font-size:11px;margin-bottom:5px}#bossHUD{top:162px}#scoreDialog table{font-size:12px}#scoreDialog td,#scoreDialog th{padding:10px 4px}#scoreDialog .btn{font-size:13px}}
@media(max-height:500px) and (orientation:landscape){.hud-right{max-width:none}#bossHUD{top:12px}#journeyScore{font-size:11px;margin-bottom:3px}}
/* Geschaffte Level: goldener Rahmen, Siegel auf dem Bild, Bestwerte unten auf der Karte */
.card.done{border-color:#e2b866}.card.done .eyebrow{color:var(--gold)}
.card-art{position:relative}
.card-seal{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e9b65c;color:#15202a;font:700 22px system-ui;box-shadow:0 2px 10px #0009;border:2px solid #fff3d6}
.card-stats{display:block;margin-top:10px;padding-top:9px;border-top:1px solid #ffffff1c;color:#e9d3a6;font-size:14px;line-height:1.35}
@media(max-width:700px){.card-seal{width:30px;height:30px;font-size:16px;top:7px;right:7px}.card-stats{font-size:13px;margin-top:7px;padding-top:6px}}
/* Dialoge scrollen über die ganze Fläche (#shade) statt in einem inneren Kasten: Auf iPad/iPhone-Safari
   ließ sich der innere Kasten teils nicht scrollen, nur die Seite federte zurück. Gleiches Prinzip wie die
   funktionierenden Overlays der Nachtwache. */
#shade{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-items:flex-start}
#dialog{margin:auto;max-height:none;overflow:visible}

