/* DK0GH Funk-Abenteuer – eigenes responsives, komplett lokales Browser-Spiel */
.dk0gh-game-page{padding:0 0 4rem;overflow:hidden}
.game-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(1rem,3vw,2.5rem);align-items:center;padding-top:clamp(2.4rem,5vw,5rem);padding-bottom:clamp(1.4rem,3vw,2.5rem)}
.game-hero-copy .eyebrow{display:flex;align-items:center;gap:.7rem}.game-signal-dot{height:10px;width:10px;border-radius:50%;background:#53e5ab;box-shadow:0 0 0 5px #53e5ab23,0 0 20px #53e5ab}
.game-hero h1{font-size:clamp(2.6rem,5.2vw,5.7rem);max-width:880px;margin:.55rem 0 1rem;line-height:1.07;letter-spacing:-.048em;color:#f3fff7}
.game-hero h1 span{display:block;background:linear-gradient(110deg,#73edb5 10%,#63c9ff 85%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.game-hero .game-lede{font-size:clamp(1.06rem,1.45vw,1.3rem);max-width:700px;line-height:1.65;color:#e1f5eb;margin:0 0 1rem}.game-hero .game-lede strong{color:#fff}
.game-inclusion{color:#8bd7ef;font-size:.97rem;margin:0;font-weight:600}
.game-hero-photo{position:relative;border:1px solid #3b857e;border-radius:24px;overflow:hidden;box-shadow:0 20px 65px #02130e88;transform:rotate(1deg)}
.game-hero-photo img{display:block;width:100%;height:250px;object-fit:cover}.game-hero-photo span{position:absolute;left:0;bottom:0;right:0;background:linear-gradient(transparent,#071712eb);padding:2.2rem 1rem 1rem;font-size:.85rem;color:#fff;font-weight:700}
.game-layout{border-radius:26px;box-shadow:0 18px 80px #0010096b,0 0 0 1px #7de4c029;background:linear-gradient(165deg,#143b35,#0c262c);padding:clamp(.65rem,1.6vw,1.35rem);margin-bottom:clamp(2rem,5vw,4rem)}
.game-toolbar{display:flex;align-items:stretch;gap:clamp(.3rem,.9vw,.8rem);flex-wrap:wrap;margin-bottom:.75rem}.game-stat{background:#061e24;border:1px solid #386966;border-radius:12px;min-width:94px;flex:1;padding:.5rem .9rem;display:flex;flex-direction:column;gap:1px}
.game-stat small{font-size:.64rem;letter-spacing:.12em;color:#a2c9cc;font-weight:800}.game-stat strong{font-size:clamp(1.0rem,1.6vw,1.45rem);color:#eefef5;font-variant-numeric:tabular-nums;letter-spacing:.04em}
#game-lives{color:#fb929c;letter-spacing:.09em}.game-small-btn,.game-restart{border:1px solid #487978;color:#d3f5f1;background:#173c41;border-radius:12px;padding:.65rem .95rem;cursor:pointer;font:inherit;font-weight:700;transition:background .15s,border-color .15s}.game-small-btn:hover,.game-restart:hover{background:#275b61;border-color:#72d6d5}.game-small-btn:focus-visible,.game-restart:focus-visible,.game-mobile-controls button:focus-visible,.game-action:focus-visible{outline:3px solid #bdfbdb;outline-offset:3px}
.game-stage{width:100%;position:relative;overflow:hidden;border-radius:18px;background:#124356;isolation:isolate;box-shadow:inset 0 0 0 1px #77d6ef65;touch-action:pan-y}
#dk0gh-canvas{display:block;width:100%;height:auto;outline:none;image-rendering:auto;user-select:none}
.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#031e2bb8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:3}
.game-overlay[hidden]{display:none}.game-modal{text-align:center;background:linear-gradient(145deg,#0a2732ee,#1c5349f0);color:#e8fff4;padding:clamp(1rem,3.7vw,3.2rem);border:1px solid #7bd6c392;box-shadow:0 18px 75px #00101c99;border-radius:25px;max-width:min(520px,100%)}.game-overlay-kicker{font-size:.75rem;letter-spacing:.16em;color:#75e8d0;font-weight:900}.game-modal h2{font-size:clamp(1.75rem,3.6vw,2.8rem);line-height:1.16;color:#fff;margin:.7rem 0}.game-modal p{font-size:1.03rem;line-height:1.6;color:#d5f0ef;margin:.8rem 0 1.4rem}
.game-action{font:inherit;font-size:1.06rem;border:0;border-radius:12px;background:linear-gradient(105deg,#5be09f,#77d5ff);color:#00342e;padding:.85rem 1.7rem;min-height:54px;cursor:pointer;font-weight:900;box-shadow:0 10px 25px #00171f85}.game-action:hover{filter:brightness(1.09);transform:translateY(-1px)}.game-overlay-hint{display:block;color:#a9d2ce;font-size:.78rem;margin-top:1rem}
.game-toast{opacity:0;pointer-events:none;position:absolute;top:19%;left:50%;transform:translate(-50%,-5px);z-index:2;border:1px solid #bfffe5;background:#0a2c33e6;color:#f1fff5;font-size:clamp(.88rem,1.6vw,1.15rem);font-weight:900;padding:.55rem 1.2rem;border-radius:999px;white-space:nowrap;transition:opacity .2s,transform .2s;box-shadow:0 8px 34px #07262a99;max-width:95%;overflow:hidden;text-overflow:ellipsis}.game-toast.visible{opacity:1;transform:translate(-50%,0)}
.game-mobile-controls{display:flex;justify-content:space-between;gap:1.2rem;align-items:center;padding:.9rem .3rem .2rem;touch-action:manipulation;user-select:none}.game-dpad{display:flex;gap:.7rem}.game-mobile-controls button{border:1px solid #86e9d3;box-shadow:0 5px 0 #062c30;background:#286368;color:#f1fff8;border-radius:16px;min-width:86px;height:62px;cursor:pointer;font:inherit;font-size:1.7rem;font-weight:900;touch-action:none}.game-mobile-controls button:active,.game-mobile-controls button.is-down{transform:translateY(4px);box-shadow:0 1px 0 #062c30;background:#43aa9d}.game-mobile-controls .game-jump{background:linear-gradient(125deg,#247d74,#237897);border-color:#78cef4;min-width:145px;display:flex;gap:.3rem;align-items:center;justify-content:center}.game-mobile-controls .game-jump span{font-size:.87rem;letter-spacing:.06em}
.game-lower-bar{display:flex;align-items:center;gap:1.2rem;padding:.6rem .3rem .25rem}.game-lower-bar>div:first-child{flex:1;display:flex;gap:6px;flex-direction:column}.game-lower-bar b{font-size:.95rem;color:#f4fef7}.game-lower-bar span{color:#b2d8d5;font-size:.84rem}.game-progress{height:8px;max-width:220px;min-width:100px;flex:1;background:#09282b;border:1px solid #52877d;border-radius:999px;overflow:hidden}.game-progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#5df1ae,#66c9ed);transition:width .25s}
.game-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.game-guide-card{display:flex;gap:1rem;align-items:start;border:1px solid #477f7555;background:#174037;padding:1.45rem;border-radius:20px}.game-guide-ico{color:#7ceacc;font-size:2rem;font-weight:800}.game-guide-card h2{font-size:1.12rem;color:#effff5;margin:0 0 .4rem}.game-guide-card p{font-size:.95rem;color:#cfe6dd;line-height:1.65;margin:0}.game-guide-card a{color:#7ed9ff;text-decoration:underline}.game-endnote{padding-top:2rem;padding-bottom:0}.game-endnote p{font-size:.85rem;color:#b5d9cb;line-height:1.5}.game-noscript{padding:1rem;color:#f3cd9c}
.homepage-game-teaser{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem;align-items:center;padding:clamp(1.6rem,4vw,3rem);border-radius:25px;background:linear-gradient(120deg,#17473b,#113f4a);border:1px solid #4fae98;position:relative;overflow:hidden;margin-top:2rem;margin-bottom:3rem;box-shadow:0 20px 65px #031f1d50}.homepage-game-teaser h2{color:#f2fff6;font-size:clamp(1.75rem,3.3vw,3.3rem);line-height:1.15;margin:.65rem 0}.homepage-game-teaser h2 span{color:#76cfff}.homepage-game-teaser p:not(.eyebrow){color:#d5efeb;max-width:730px;line-height:1.7}.homepage-game-teaser .btn{margin-top:1rem}.game-teaser-art{text-align:center;font-weight:900;color:#b2fbe2;padding:1rem;transform:rotate(-5deg);font-family:system-ui,sans-serif}.game-teaser-art span{display:inline-block;border:2px solid #7decca;border-radius:30px;padding:.7rem .95rem;letter-spacing:.13em}.game-teaser-art strong{display:block;font-size:clamp(4rem,9vw,9rem);line-height:1.2;color:#6ae7bf;text-shadow:8px 8px 0 #267c79}.game-teaser-waves{font-size:3rem;color:#73d7fd;white-space:nowrap;margin-top:1rem}
@media(max-width:920px){.game-hero{grid-template-columns:1fr}.game-hero-photo{display:none}.game-guide{grid-template-columns:1fr 1fr}.game-guide-card:last-child{grid-column:1/-1}.homepage-game-teaser{grid-template-columns:1fr}.game-teaser-art{display:none}.game-stat{min-width:76px}}
@media(max-width:590px){.game-hero{padding-top:2rem}.game-hero h1{font-size:clamp(2.5rem,11vw,4rem)}.game-hero .game-lede{font-size:1.05rem}.game-layout{border-radius:17px;padding:.5rem}.game-toolbar{gap:.3rem}.game-stat{padding:.4rem .5rem;min-width:70px}.game-stat small{font-size:.54rem}.game-stat strong{font-size:1.05rem}.game-small-btn{font-size:.79rem;padding:.52rem .7rem;flex:1}.game-stage{border-radius:12px}.game-modal{padding:1rem;border-radius:18px}.game-modal p{font-size:.87rem;line-height:1.4;margin:.6rem 0 1rem}.game-modal h2{font-size:1.6rem}.game-overlay-kicker{font-size:.64rem}.game-overlay-hint{font-size:.68rem}.game-action{font-size:.96rem;min-height:44px;padding:.55rem 1.2rem}.game-dpad{gap:.5rem}.game-mobile-controls button{min-width:76px;height:62px}.game-mobile-controls .game-jump{min-width:125px}.game-lower-bar{flex-wrap:wrap;gap:.55rem}.game-lower-bar>div:first-child{flex-basis:100%}.game-progress{max-width:none}.game-restart{font-size:.8rem;padding:.5rem .7rem}.game-guide{grid-template-columns:1fr}.game-guide-card:last-child{grid-column:auto}}
@media(max-width:370px){.game-mobile-controls button{min-width:66px}.game-mobile-controls .game-jump{min-width:110px}.game-stat small{letter-spacing:0}.game-stat{min-width:63px}}
@media(prefers-reduced-motion:reduce){.game-toast,.game-progress span,.game-action,.game-small-btn{transition:none}}

/* 80er-Jahre-CB-Funk-Mission und eigener Manta-Funkknopf */
.game-mobile-controls .game-cb-button:not([hidden]){display:flex;align-items:center;justify-content:center;gap:.5rem;color:#fff6ce;background:linear-gradient(125deg,#b96631,#8b4b76);border-color:#ffc993;min-width:138px}
.game-mobile-controls .game-cb-button[hidden]{display:none!important}
.game-mobile-controls .game-cb-button span{font-size:.87rem;letter-spacing:.05em}
.game-retro-feature{display:grid;grid-template-columns:minmax(180px,.43fr) 1fr;align-items:center;gap:clamp(1rem,4vw,3rem);padding:clamp(1.2rem,3vw,2.4rem);margin-bottom:2.5rem;border:1px solid #d49876;border-radius:24px;background:linear-gradient(110deg,#4a3357,#533953 35%,#25555b);box-shadow:0 20px 45px #140d2444}
.game-retro-feature h2{color:#fff0d2;font-size:clamp(1.5rem,2.6vw,2.7rem);margin:.3rem 0 .6rem}
.game-retro-feature p{color:#f0e3df;line-height:1.75;margin:.4rem 0}
.game-retro-feature .eyebrow{color:#ffd89f}
.retro-symbol{font-size:clamp(2rem,4vw,4.2rem);font-weight:950;letter-spacing:-.04em;line-height:1.2;text-align:center;color:#ffe4aa;text-shadow:3px 4px 0 #302454;transform:rotate(-3deg)}
.retro-symbol span{color:#71e4c2}
@media(max-width:720px){.game-retro-feature{grid-template-columns:1fr}.retro-symbol{text-align:left;transform:none;font-size:2.3rem}}
@media(max-width:590px){.game-mobile-controls{gap:.3rem}.game-mobile-controls .game-cb-button:not([hidden]){min-width:90px;font-size:1.05rem}.game-mobile-controls .game-cb-button span{font-size:.69rem}.game-mobile-controls .game-jump{min-width:105px}.game-dpad{gap:.35rem}.game-mobile-controls button{min-width:62px}}

/* Funk-Abenteuer 2.0: Funkmissionen, Punkte und lokale Bestenliste */
.game-radio-overlay[hidden]{display:none!important}
.game-radio-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;padding:clamp(.4rem,2vw,1.4rem);background:#031b24dc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.game-radio-card{width:min(550px,100%);max-height:100%;overflow:auto;overscroll-behavior:contain;border:2px solid #80e2cd;border-radius:22px;padding:clamp(.7rem,2.2vw,1.5rem);background:linear-gradient(155deg,#133e3d,#152f48);box-shadow:0 17px 60px #0008;text-align:left;color:#effff8}
.game-radio-kicker{color:#86f3c9;font-size:.7rem;letter-spacing:.14em;font-weight:900;margin:0 0 .3rem}
.game-radio-card h2{font-size:clamp(1.15rem,2.5vw,1.9rem);line-height:1.2;margin:.2rem 0 .5rem;color:#fff}
.game-radio-card #game-radio-help{font-size:clamp(.83rem,1.5vw,1rem);line-height:1.4;color:#d0f1e8;margin:.4rem 0 .9rem}
.game-radio-options{display:grid;gap:.5rem}
.game-radio-answer{background:#0c2c38;color:#eefff5;border:1px solid #61bcb3;padding:clamp(.4rem,1.2vw,.8rem) .9rem;border-radius:11px;text-align:left;font-size:clamp(.78rem,1.4vw,1rem);font-weight:700;cursor:pointer;min-height:39px;font-family:inherit}
.game-radio-answer:hover,.game-radio-answer:focus-visible{background:#1c615c;border-color:#adffdf;outline:2px solid #98f5cd;outline-offset:1px}
.game-radio-feedback{color:#ffc9a8;min-height:1.2em;font-size:.8rem;font-weight:700;margin:.4rem 0}
.game-radio-card #game-radio-cancel{font-size:.78rem;padding:.4rem .75rem}
.game-records{display:grid;grid-template-columns:1fr minmax(270px,1fr);gap:clamp(1.2rem,3vw,3rem);align-items:center;padding:clamp(1.3rem,3vw,2.5rem);border-radius:24px;border:1px solid #65c2aa;background:linear-gradient(115deg,#153a3d,#174d40);margin-top:1.3rem;margin-bottom:2rem}
.game-records h2{font-size:clamp(1.6rem,3vw,2.55rem);color:#ecfff5;margin:.2rem 0}
.game-records p{color:#c9e7df;line-height:1.6}
.game-records-board{padding:1rem;background:#062b34;border:1px solid #5c9e9b;border-radius:18px}
.game-records-board ol{margin:.15rem 0 .9rem;padding-left:1.8rem;color:#c9f9e7}
.game-records-board li{padding:.35rem .25rem;border-bottom:1px solid #78beb732;line-height:1.4}
.game-records-board li strong{color:#f6ffe3;font-size:1rem;display:inline-block;margin-right:.5rem}
.game-records-board li span{font-size:.8rem;color:#a6d3d5}
.game-records-board button{font-size:.8rem}
@media(max-width:760px){.game-records{grid-template-columns:1fr}}
@media(max-width:390px){.game-radio-card{border-radius:12px}.game-radio-card #game-radio-help{line-height:1.25}.game-radio-options{gap:.25rem}.game-radio-answer{padding:.35rem .55rem;min-height:34px}}
/* Mobile Steuerung: die Aktions-Taste erhält eine eigene Reihe und verdeckt nichts. */
@media(max-width:600px){
  .game-mobile-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.55rem;padding:.8rem .3rem .2rem}
  .game-mobile-controls .game-dpad{grid-column:1;grid-row:1}
  .game-mobile-controls .game-jump{grid-column:2;grid-row:1}
  .game-mobile-controls .game-cb-button:not([hidden]){grid-column:1/-1;grid-row:2;width:100%;min-width:0;height:48px}
}
