:root{--green:#006600;--green2:#007b12;--lime:#b7db21;--bg:#f5f7f5;--ink:#182019;--muted:#6e786f;--line:#e2e8e3;--header-h:76px;--nav-h:64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app-shell{width:min(100%,760px);margin:0 auto;min-height:100dvh;background:var(--bg)}
.app-header{position:fixed;z-index:50;top:0;left:50%;transform:translateX(-50%);width:min(100%,760px);min-height:calc(var(--header-h) + env(safe-area-inset-top));padding:max(9px,env(safe-area-inset-top)) 15px 9px;background:linear-gradient(135deg,var(--green),var(--green2));border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 7px 20px rgba(0,70,0,.14)}.header-home{min-height:58px;display:flex;align-items:center;gap:10px}.header-logo{width:48px;height:48px;border-radius:15px}.header-copy strong{display:block;color:#fff;font-size:21px;line-height:1;font-weight:900;letter-spacing:-.035em}.header-copy small{display:block;color:#d3ed78;font-size:10px;font-weight:750;margin-top:5px}.header-spark{margin-left:auto;color:var(--lime);font-size:23px}.app-content{padding:calc(var(--header-h) + env(safe-area-inset-top) + 16px) 14px calc(var(--nav-h) + env(safe-area-inset-bottom) + 22px)}
.home-hero{position:relative;min-height:150px;display:flex;align-items:center;overflow:hidden;margin-bottom:22px;padding:21px 19px;border-radius:26px;background:linear-gradient(135deg,#dff4c8,#eff9e9 60%,#d6f0cf);border:1px solid #d6e9cf}.home-hero:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-55px;top:-72px;background:rgba(183,219,33,.24)}.hero-copy{position:relative;z-index:2;max-width:69%}.eyebrow{color:var(--green);font-size:9px;font-weight:950;letter-spacing:.14em}.home-hero h1{margin:6px 0 8px;color:#174719;font-size:27px;line-height:1.02;letter-spacing:-.045em}.home-hero p{margin:0;color:#58705b;font-size:12px;line-height:1.4}.hero-mascot{position:absolute;right:8px;bottom:7px;width:103px;height:103px;filter:drop-shadow(0 8px 9px rgba(0,80,0,.11))}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 12px}.section-title-row h2{font-size:20px;line-height:1.1;margin:3px 0 0;color:#173d1d;letter-spacing:-.025em}.count-chip{min-width:28px;height:28px;padding:0 8px;display:grid;place-items:center;border-radius:999px;background:#e6f3e6;color:var(--green);font-size:11px;font-weight:900}
.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-card{position:relative;min-width:0;overflow:hidden;border-radius:21px;background:#fff;border:1px solid #e5ebe6;box-shadow:0 6px 20px rgba(24,51,29,.07)}.game-card.featured{grid-column:1/-1}.cover-button,.card-copy{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit}.cover{position:relative;aspect-ratio:1/1;overflow:hidden;background:#daf0dc}.featured .cover{aspect-ratio:1.9/1}.cover>img{display:block;width:100%;height:100%;object-fit:cover}.cover-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#00851a,#005500)}.cover-placeholder img{width:63%;height:63%;object-fit:contain}.new-badge{position:absolute;z-index:2;left:8px;top:8px;padding:5px 8px;border-radius:999px;background:var(--green);color:#fff;font-size:8px;font-weight:950;letter-spacing:.08em}.play-overlay{position:absolute;right:9px;bottom:9px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.94);color:var(--green);box-shadow:0 3px 9px rgba(0,0,0,.12)}.play-overlay svg{width:19px;height:19px;fill:currentColor}.heart-btn{position:absolute;z-index:5;right:8px;top:8px;width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.95);color:#4a514b;box-shadow:0 3px 10px rgba(0,0,0,.12)}.heart-btn svg{width:19px;height:19px;fill:transparent;stroke:currentColor;stroke-width:2}.heart-btn.active{color:var(--green)}.heart-btn.active svg{fill:currentColor}.card-copy{padding:11px 12px 12px}.card-title{display:block;font-size:15px;line-height:1.15;font-weight:900}.card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.38}.card-cta{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:var(--green);font-size:11px;font-weight:900}.card-cta b{font-size:19px;line-height:1}
.course-promo{font:inherit;cursor:pointer;width:100%;display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:10px;margin-top:20px;padding:12px;border:1px solid #d9eac7;border-radius:19px;background:linear-gradient(135deg,#f0fae5,#e6f5db);text-align:left;color:#174719}.course-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#fff;color:var(--green)}.course-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.course-promo small{display:block;color:#6a835f;font-size:8px;font-weight:900;letter-spacing:.08em}.course-promo strong{display:block;font-size:13px;margin-top:2px}.course-promo>b{font-size:25px;color:var(--green)}.view-heading{padding:7px 3px 16px}.view-heading h1{margin:4px 0;color:#173d1d;font-size:31px;line-height:1;font-weight:900;letter-spacing:-.045em}.view-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.search-box{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 13px;border:2px solid #dce5dd;border-radius:17px;background:#fff}.search-box:focus-within{border-color:#83bc83;box-shadow:0 0 0 4px rgba(0,102,0,.08)}.search-box svg{width:20px;height:20px;fill:none;stroke:var(--green);stroke-width:2}.search-box input{width:100%;min-width:0;padding:13px 0;border:0;outline:0;background:transparent;font-size:16px}.search-hint{margin:0 4px 14px;color:#939b95;font-size:10px}.empty-state{margin:18px 0;padding:31px 18px;border:1px solid #e3e9e4;border-radius:22px;background:#fff;text-align:center}.empty-state.small{padding:23px 17px}.empty-state img{width:68px;height:68px;margin-bottom:7px}.empty-state strong{display:block;font-size:16px}.empty-state p{margin:6px auto 0;max-width:340px;color:var(--muted);font-size:11px;line-height:1.45}
/* Während eines Games gibt es bewusst keinen KI-GameLab-Header. */
.player-open .app-header{display:none}.player-open .app-content{padding:0 0 calc(var(--nav-h) + env(safe-area-inset-bottom))}.player-view{margin:0}.player-shell{height:calc(100dvh - var(--nav-h) - env(safe-area-inset-bottom));min-height:320px;background:#fff}.player-shell iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.bottom-nav{position:fixed;z-index:60;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 18px),720px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px 6px;background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(239,247,241,.62));-webkit-backdrop-filter:blur(28px) saturate(185%);backdrop-filter:blur(28px) saturate(185%);border:1px solid rgba(255,255,255,.82);border-radius:24px;box-shadow:0 12px 35px rgba(17,42,21,.18),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -1px 0 rgba(0,83,17,.07);overflow:hidden}.bottom-nav:after{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;background:linear-gradient(118deg,rgba(255,255,255,.34),transparent 35%,transparent 68%,rgba(255,255,255,.16));mix-blend-mode:screen}.bottom-nav-item{position:relative;z-index:1;min-height:44px;padding:3px 2px;border:0;border-radius:18px;background:transparent;color:#526056;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:9px;font-weight:750;transition:background .2s ease,color .2s ease,transform .18s ease,box-shadow .2s ease}.bottom-nav-item:active{transform:scale(.96)}.nav-icon{width:30px;height:25px;display:grid;place-items:center;border-radius:11px;transition:background .2s ease,transform .2s ease}.nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bottom-nav-item.active{color:var(--green);background:rgba(255,255,255,.66);box-shadow:inset 0 0 0 1px rgba(0,102,0,.08),0 3px 12px rgba(22,61,29,.07)}.bottom-nav-item.active .nav-icon{background:transparent;box-shadow:none;transform:none}@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.bottom-nav{background:rgba(248,252,249,.97);border-color:#e0e8e1}}
@media(min-width:600px){.app-content{padding-left:20px;padding-right:20px}.home-hero{min-height:166px}.hero-mascot{width:122px;height:122px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-card.featured{grid-column:span 2}.featured .cover{aspect-ratio:1.55/1}.player-open .app-content{padding-left:0;padding-right:0}}

.review-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:end center;padding:18px 14px calc(var(--nav-h) + env(safe-area-inset-bottom) + 13px)}
.review-backdrop{position:absolute;inset:0;background:rgba(10,25,12,.48);backdrop-filter:blur(3px)}
.review-card{position:relative;z-index:1;width:min(100%,420px);padding:24px 20px 18px;border-radius:25px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:reviewUp .22s ease-out}
.review-logo{width:58px;height:58px;margin-bottom:8px;border-radius:17px}.review-card h2{margin:5px 0 7px;color:#173d1d;font-size:24px;letter-spacing:-.035em}.review-card p{max-width:310px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.45}
.review-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f4f1;color:#657067;font-size:24px;line-height:1}
.review-stars{display:flex;align-items:center;justify-content:center;gap:5px;margin:18px 0 13px}.review-stars button{padding:1px;border:0;background:transparent;color:#d7ddd7;font-size:37px;line-height:1;transition:transform .12s ease,color .12s ease}.review-stars button:hover,.review-stars button.hovered,.review-stars button:focus{color:#f2b705;transform:scale(1.08)}
.review-later{min-height:38px;padding:0 15px;border:0;background:transparent;color:#7b847d;font-size:11px;font-weight:800}.review-open{overflow:hidden}@keyframes reviewUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* Geplante In-App-Nachrichten: Website-Einblendung, keine native Push-Berechtigung nötig. */
.inapp-message{position:fixed;z-index:95;top:calc(var(--header-h) + env(safe-area-inset-top) + 9px);left:50%;transform:translateX(-50%);width:min(calc(100% - 22px),520px);animation:inappDown .24s cubic-bezier(.2,.8,.2,1)}
.player-open .inapp-message{top:max(10px,env(safe-area-inset-top))}
.inapp-message-inner{display:grid;grid-template-columns:43px minmax(0,1fr) 31px;gap:9px;align-items:start;padding:10px 10px 10px 11px;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.89),rgba(244,249,245,.80));-webkit-backdrop-filter:blur(24px) saturate(175%);backdrop-filter:blur(24px) saturate(175%);box-shadow:0 12px 35px rgba(21,48,25,.20),inset 0 1px 0 rgba(255,255,255,.95)}
.inapp-message-icon{width:43px;height:43px;border-radius:12px;box-shadow:0 3px 9px rgba(0,80,0,.10)}
.inapp-message-main{min-width:0;padding:1px 0;border:0;background:transparent;text-align:left;color:var(--ink)}
.inapp-message-app{display:block;color:#667168;font-size:8px;font-weight:900;letter-spacing:.08em}.inapp-message-main strong{display:block;margin-top:2px;color:#173d1d;font-size:13px;line-height:1.18}.inapp-message-main>span:nth-of-type(2){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;color:#566158;font-size:10px;line-height:1.35}.inapp-message-main b{display:inline-block;margin-top:5px;color:var(--green);font-size:9px;font-weight:900}.inapp-message-close{width:29px;height:29px;border:0;border-radius:50%;background:rgba(234,239,235,.82);color:#6a746c;font-size:20px;line-height:1}
@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.inapp-message-inner{background:#f8fbf8}}
@keyframes inappDown{from{opacity:0;transform:translate(-50%,-16px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}


/* Game-Meldungen: dezent im Player, Moderationsdialog als Bottom Sheet. */
.game-report-button{position:fixed;z-index:74;top:max(10px,env(safe-area-inset-top));right:max(10px,calc((100vw - 760px)/2 + 10px));min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.86);border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 5px 18px rgba(20,35,22,.16);color:#4f5b51;font-size:10px;font-weight:850}.game-report-button:active{transform:scale(.97)}
.report-modal{position:fixed;z-index:125;inset:0;display:grid;place-items:end center;padding:16px 14px calc(env(safe-area-inset-bottom) + 14px)}.report-backdrop{position:absolute;inset:0;background:rgba(10,25,12,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.report-card{position:relative;z-index:1;width:min(100%,440px);max-height:calc(100dvh - 30px);overflow:auto;padding:22px 18px 16px;border-radius:25px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.28);animation:reviewUp .22s ease-out}.report-close{position:absolute;right:11px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f4f1;color:#657067;font-size:24px;line-height:1}.report-flag{display:grid;place-items:center;width:43px;height:43px;margin-bottom:10px;border-radius:14px;background:#f1f5f1;color:var(--green);font-size:22px}.report-card h2{max-width:330px;margin:5px 42px 3px 0;color:#173d1d;font-size:21px;line-height:1.12;letter-spacing:-.03em}.report-game-name{margin:0 0 14px;color:var(--muted);font-size:11px;font-weight:750}.report-reason{display:flex;align-items:center;gap:10px;margin:7px 0;padding:11px 12px;border:1px solid #e1e7e2;border-radius:14px;background:#fafcfa;color:#263129;font-size:12px;font-weight:750}.report-reason:has(input:checked){border-color:#8cbc8e;background:#eff7ef}.report-reason input{width:18px;height:18px;margin:0;accent-color:var(--green)}.report-status{min-height:18px;margin:10px 2px 3px;font-size:11px;line-height:1.35}.report-status.success{color:#08751a}.report-status.error{color:#a3231a}.report-submit{width:100%;min-height:44px;margin-top:6px;border:0;border-radius:13px;background:var(--green);color:#fff;font-size:12px;font-weight:900}.report-submit:disabled{opacity:.6}.report-cancel{width:100%;min-height:38px;margin-top:3px;border:0;background:transparent;color:#778079;font-size:11px;font-weight:800}.report-open{overflow:hidden}

.report-step-label{margin:4px 0 9px;color:#6b766d;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.report-helper{margin:3px 0 11px;color:#667168;font-size:11px;line-height:1.45}
.report-text-label{display:block;color:#344037;font-size:11px;font-weight:850}
.report-text-label textarea{display:block;width:100%;min-height:118px;margin-top:6px;padding:11px 12px;border:1px solid #dce4dd;border-radius:14px;background:#fafcfa;color:#202922;font:inherit;line-height:1.45;resize:vertical;outline:none}
.report-text-label textarea:focus{border-color:#78ae7a;box-shadow:0 0 0 3px rgba(0,102,0,.08)}
.report-char-count{text-align:right;margin:5px 2px 0;color:#89918a;font-size:9px;font-weight:750}
.report-step[hidden]{display:none!important}

.report-limit-notice{margin:8px 0 2px;padding:14px;border:1px solid #f0d8aa;border-radius:16px;background:#fff9ec;color:#4a3b22}
.report-limit-notice strong{display:block;margin-bottom:5px;color:#6e4a08;font-size:13px}
.report-limit-notice p{margin:0 0 9px;font-size:11px;line-height:1.45}
.report-limit-notice a{display:inline-block;color:var(--green);font-size:11px;font-weight:850;text-decoration:none;overflow-wrap:anywhere}
.report-limit-notice a:active{opacity:.7}


/* v15: automatische Game-Entdeckung + lokale Badges */
.discovery-section,.badges-section,.all-games-section{margin-top:24px}
.home-hero+.discovery-section{margin-top:0}
.game-strip{display:flex;gap:12px;overflow-x:auto;padding:0 1px 5px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.game-strip::-webkit-scrollbar{display:none}
.game-strip .game-card{flex:0 0 min(72vw,250px);scroll-snap-align:start}
.game-strip .game-card .cover{aspect-ratio:1/1}
.game-strip .game-card.featured{grid-column:auto}
.game-strip .game-card .card-description{display:none}
.game-strip .game-card .card-copy{padding-bottom:10px}
.all-games-section{padding-top:2px;border-top:1px solid var(--line)}

.badge-grid{display:grid;grid-template-columns:1fr;gap:9px}
.local-badge{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;padding:11px 12px;border:1px solid #e2e8e3;border-radius:18px;background:rgba(255,255,255,.72);opacity:.72}
.local-badge.unlocked{border-color:#cfe3b5;background:linear-gradient(135deg,#f7fced,#eef8e8);opacity:1}
.local-badge-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#edf1ed;filter:grayscale(1);font-size:23px}
.local-badge.unlocked .local-badge-icon{background:#fff;filter:none;box-shadow:0 3px 10px rgba(0,75,0,.08)}
.local-badge-copy{min-width:0}
.local-badge-copy strong{display:block;color:#273129;font-size:12px;line-height:1.2}
.local-badge.unlocked .local-badge-copy strong{color:#174719}
.local-badge-copy small{display:block;margin-top:3px;color:#7c857e;font-size:9px;line-height:1.35}
.local-badge-copy b{display:block;margin-top:5px;color:#728076;font-size:8px;font-weight:900}
.local-badge.unlocked .local-badge-copy b{color:var(--green)}
.badge-progress{display:block;height:5px;margin-top:7px;overflow:hidden;border-radius:999px;background:#e7ece8}
.badge-progress i{display:block;height:100%;border-radius:inherit;background:#a8b1aa}
.local-badge.unlocked .badge-progress i{background:var(--green)}

.badge-toast{position:fixed;z-index:118;left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 20px);transform:translateX(-50%);width:min(calc(100% - 28px),430px);display:grid;grid-template-columns:43px minmax(0,1fr);gap:10px;align-items:center;padding:10px 13px;border:1px solid rgba(255,255,255,.9);border-radius:19px;background:rgba(249,253,246,.94);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);box-shadow:0 12px 35px rgba(20,55,24,.20);animation:badgeIn .22s ease-out}
.badge-toast-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#fff;font-size:23px}
.badge-toast small{display:block;color:#68805f;font-size:8px;font-weight:950;letter-spacing:.08em}
.badge-toast strong{display:block;margin-top:2px;color:#174719;font-size:12px;line-height:1.2}
@keyframes badgeIn{from{opacity:0;transform:translate(-50%,12px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}

@media(min-width:600px){
  .game-strip .game-card{flex-basis:220px}
  .badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v16: Badge-Level-System */
.badge-level-heading{display:flex;align-items:center;gap:9px;margin:8px 1px 10px}
.badge-level-heading span{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#edf2ed;color:#667269;font-size:8px;font-weight:950;letter-spacing:.08em}
.badge-level-heading strong{color:#354039;font-size:11px}
.badge-level-heading.level-two{margin-top:18px}
.badge-level-heading.level-two span{background:#eaf6dd;color:#2f641f}
.badge-level-heading.level-two strong{color:#24501d}
.badge-level-lock{display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;align-items:center;margin-top:12px;padding:12px 13px;border:1px dashed #cfd7d1;border-radius:17px;background:rgba(245,248,246,.78)}
.badge-level-lock-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#e8ece9;font-size:21px;filter:grayscale(1)}
.badge-level-lock strong{display:block;color:#4c5650;font-size:11px}
.badge-level-lock small{display:block;margin-top:3px;color:#7b847e;font-size:9px;line-height:1.4}
.badge-level-two{margin-top:3px;padding-top:2px}
.badge-level-note{margin:-4px 1px 10px;color:#748078;font-size:9px;line-height:1.4}
.badge-level-two .local-badge{border-color:#dde8d4}
.badge-level-two .local-badge.unlocked{border-color:#b9dba1;background:linear-gradient(135deg,#f4fbea,#e9f7de)}


/* v17: kompakte Badge-Level – Level untereinander, Badges horizontal */
.badges-section{overflow:hidden}
.badge-grid{
  display:flex;
  grid-template-columns:none;
  gap:9px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 2px 7px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.badge-grid::-webkit-scrollbar{display:none}
.badge-grid .local-badge{
  flex:0 0 min(78vw,285px);
  min-width:0;
  scroll-snap-align:start;
}
.badge-level-heading{
  position:relative;
  margin-top:12px;
}
.badge-level-heading:first-of-type{margin-top:7px}
.badge-level-two{margin-top:5px}
.badge-level-two .badge-grid{margin-bottom:1px}

/* Frühere Desktop-Regel überschreiben: auch auf grösseren Geräten kompakt horizontal */
@media(min-width:600px){
  .badge-grid{
    display:flex;
    grid-template-columns:none;
  }
  .badge-grid .local-badge{
    flex-basis:270px;
  }
}


/* v18: Auf Smartphones im Querformat die App-Navigation ausblenden */
@media (orientation: landscape) and (max-width: 950px) and (max-height: 600px) {
  :root{
    --nav-h:0px;
  }

  .bottom-nav{
    display:none !important;
  }

  /* Normaler App-Inhalt braucht unten keinen Platz mehr für die Navigation. */
  .app-content{
    padding-bottom:calc(env(safe-area-inset-bottom) + 12px);
  }

  /* Ein geöffnetes Game darf praktisch die komplette Bildschirmhöhe nutzen. */
  .player-open .app-content{
    padding-bottom:env(safe-area-inset-bottom);
  }

  .player-shell{
    height:calc(100dvh - env(safe-area-inset-bottom));
  }

  /* Einblendungen sitzen ebenfalls nicht mehr über einer unsichtbaren Navigation. */
  .review-modal{
    padding-bottom:calc(env(safe-area-inset-bottom) + 13px);
  }

  .badge-toast{
    bottom:calc(env(safe-area-inset-bottom) + 14px);
  }
}
