.gm-learning-home{max-width:1000px;margin:auto;color:var(--text);padding:12px 18px 100px;box-sizing:border-box}
.gm-learning-home header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.gm-learning-home header small{font-size:.7rem;letter-spacing:.1em;color:var(--muted)}
.gm-learning-home h1{font-size:1.7rem;margin:6px 0;line-height:1.15}
.gm-learning-home .gm-en{display:block;font-size:.9rem;line-height:1.3;color:var(--accent,#69dfcd)}
.gm-learning-home header button,.gm-learning-rail-controls button{font:inherit;font-size:1.8rem;color:inherit;background:var(--card,#14283b);border:1px solid var(--border,#416377);border-radius:14px;min-width:44px;min-height:44px;cursor:pointer}
.gm-learning-worlds{display:grid;gap:12px}
.gm-learning-worlds>button{font:inherit;display:flex;align-items:center;gap:18px;text-align:left;color:var(--text);background:var(--card,#14283b);border:1px solid var(--world-accent);border-radius:20px;padding:20px;min-height:92px;cursor:pointer}
.gm-learning-worlds>button>svg{width:42px;height:42px;color:var(--world-accent);flex-shrink:0}
.gm-learning-worlds>button>span:last-child{margin-left:auto;font-size:1.7rem;color:var(--world-accent)}
.gm-learning-worlds strong{display:block;font-size:1.5rem}
.gm-learning-count{font-size:.9rem;margin:8px 0}
.gm-learning-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;padding:4px 2px 12px;overscroll-behavior-x:contain}
.gm-learning-tile{flex:0 0 min(74vw,260px);scroll-snap-align:start;font:inherit;color:inherit;background:var(--card,#14283b);border:1px solid var(--border,#416377);border-radius:20px;min-height:220px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;cursor:pointer;box-sizing:border-box}
.gm-learning-tile strong{font-size:1.3rem;line-height:1.25}.gm-learning-tile>span:last-child{margin-top:auto}
.gm-learning-tile small{color:var(--muted)}
.gm-learning-rail-controls{display:flex;gap:8px;align-items:center}.gm-learning-rail-controls>span{margin-right:auto;font-size:.8rem}.gm-learning-rail-controls>span>span{display:block;color:var(--muted)}
/* A fixed lesson shell, independent of the legacy route's large headers.
   Content overflow is intentionally visible so QA detects any page that needs splitting. */
html.gm-course-open .gm-bizdeck{position:fixed!important;inset:var(--gm-course-top,0px) 0 auto!important;height:var(--gm-course-height,100dvh)!important;z-index:100;box-sizing:border-box;max-width:none!important;margin:0!important;padding:calc(8px + var(--gm-safe-top,env(safe-area-inset-top,0px))) max(12px,env(safe-area-inset-right,0px)) calc(8px + var(--gm-safe-bottom,env(safe-area-inset-bottom,0px))) max(12px,env(safe-area-inset-left,0px))!important;background:var(--bg,#081421);display:flex!important;flex-direction:column!important;gap:10px!important;min-height:0!important}
html.gm-course-open .gm-bottomnav{display:none!important}
html.gm-course-open,html.gm-course-open body{overflow:hidden;overscroll-behavior:none}
html.gm-course-open .gm-ob-topbar{flex:0 0 44px!important;height:44px!important;margin:0!important;padding:0!important;width:100%}
html.gm-course-open .gm-ob-back{width:36px!important;height:36px!important;min-height:36px!important;font-size:24px!important}
html.gm-course-open .gm-ob-topbar img{width:32px!important;height:32px!important}
html.gm-course-open .gm-bizdeck .gm-bizdeck-card{flex:1 1 auto!important;min-height:0!important;width:min(100%,780px)!important;max-width:780px!important;align-self:center;box-sizing:border-box;margin:0!important;padding:30px 16px 12px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:10px!important;border-radius:20px!important;overflow:visible!important}
html.gm-course-open .gm-bizdeck :is(.gm-fc-word,.gm-deck-satz){font-size:clamp(1.15rem,3vw,1.8rem)!important;line-height:1.35!important;margin:0!important;letter-spacing:normal!important}
html.gm-course-open .gm-bizdeck :is(.gm-deck-lines,.gm-deck-sub,.gm-deck-entext){font-size:1rem!important;line-height:1.4!important;margin:0!important;white-space:normal!important}
html.gm-course-open .gm-bizdeck :is(.gm-en-line,.gm-deck-english,.gm-en){font-size:.9rem!important;line-height:1.35!important}
html.gm-course-open .gm-bizdeck :is(.gm-bizdeck-sek,.gm-bizdeck-hint){font-size:.7rem!important;line-height:1.25!important;margin:0!important}
html.gm-course-open .gm-bizdeck :is(.gm-stefan-tip-thumb,.gm-starter-mentor-faces img,.gm-course-ainna-head img){height:30px!important;width:30px!important}
html.gm-course-open .gm-bizdeck :is(.gm-starter-mentor-head,.gm-course-ainna-head,.gm-stefan-tip-head){margin:0!important;gap:8px!important;font-size:.75rem!important}
html.gm-course-open .gm-bizdeck .gm-course-actions{position:static!important;transform:none!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0!important;margin:0 auto!important;width:min(100%,780px)!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
html.gm-course-open .gm-bizdeck .gm-course-next{width:auto!important;min-width:130px!important;min-height:46px!important;border-radius:14px!important;padding:10px 16px!important;font-size:1rem!important;box-shadow:none!important}
html.gm-course-open .gm-bizdeck .gm-course-next::before,html.gm-course-open .gm-bizdeck .gm-course-next::after{display:none!important}
html.gm-course-open .gm-course-next-hint{font-size:.65rem!important;line-height:1.2!important}
html.gm-course-open .gm-bizdeck .gm-deck-audio{padding:6px 10px!important;margin:0!important;gap:12px!important;min-height:44px!important}
html.gm-course-open .gm-bizdeck .gm-deck-audio-label{font-size:.75rem!important}
html.gm-course-open .gm-bizdeck .gm-deck-audio-label small{font-size:.7rem!important}
html.gm-course-open .gm-bizdeck .gm-btn{min-height:44px!important;padding:9px 12px!important;font-size:1rem!important;border-radius:14px!important;line-height:1.25!important}
html.gm-course-open .gm-bizdeck .gm-textarea{min-height:88px!important;height:88px!important;font-size:1rem!important;padding:10px!important}
html.gm-course-open .gm-bizdeck .gm-starter-scene img{max-height:24dvh!important;object-fit:contain!important}
html.gm-course-open .gm-bizdeck .gm-starter-scene figcaption{padding:6px 0!important}
html.gm-course-open .gm-bizdeck .gm-course-speech{margin:0!important;gap:8px!important}
html.gm-course-open .gm-bizdeck .gm-ausp-mic{min-height:44px!important;padding:10px!important;font-size:1rem!important;margin:8px 0!important}
html.gm-course-open .gm-bizdeck .gm-course-speech-alt{font-size:.8rem!important;margin:6px 0!important;padding:5px!important}
html.gm-course-open .gm-bizdeck .gm-course-actions button{position:static!important;transform:none!important;animation:none!important}
html.gm-course-open .gm-bizdeck .gm-card-star{position:absolute!important;top:8px!important;right:8px!important;width:32px!important;height:32px!important;font-size:20px!important}
html.gm-course-open .gm-bizdeck .gm-card-wave{display:none!important}
html.gm-course-open .gm-bizdeck .gm-deck-prompt{font-size:1rem!important;line-height:1.35!important;width:100%!important}
html.gm-course-open .gm-bizdeck .gm-deck-prompt-list{gap:6px!important;margin:8px 0!important}
html.gm-course-open .gm-bizdeck .gm-deck-prompt-list li{padding:7px 10px!important;min-height:0!important;font-size:1rem!important}
html.gm-course-open .gm-bizdeck .gm-readaloud{margin:0!important}
html.gm-course-open .gm-bizdeck .gm-readaloud ol{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
html.gm-course-open .gm-bizdeck .gm-readaloud li{padding:6px!important}
html.gm-course-open .gm-bizdeck .gm-readaloud b{font-size:1rem!important}
html.gm-course-open .gm-bizdeck .gm-course-ainna-head{display:none!important}
html.gm-course-open .gm-bizdeck .gm-microgame{gap:8px!important;padding:0!important;width:100%!important}
html.gm-course-open .gm-bizdeck .gm-microgame p{margin:0!important;font-size:1rem!important;line-height:1.25!important}
html.gm-course-open .gm-bizdeck .gm-microgame button{font-size:1rem!important;min-height:44px!important;padding:7px!important;line-height:1.2!important}
html.gm-course-open .gm-bizdeck .gm-micro-answer{min-height:44px!important;padding:6px!important;margin:0!important}
html.gm-course-open .gm-bizdeck .gm-micro-bank{gap:6px!important}
html.gm-course-open .gm-bizdeck .gm-micro-match{gap:8px!important}
html.gm-course-open .gm-bizdeck .gm-course-speech-alt{min-height:36px!important;margin:0!important}
html.gm-course-open .gm-learning-video{width:100%;max-height:55dvh;object-fit:contain;background:#071421;border-radius:14px}
@media(max-height:650px){.gm-learning-home{padding-top:4px}.gm-learning-home header{margin-bottom:10px}.gm-learning-worlds>button{padding:12px;min-height:76px}.gm-learning-tile{min-height:190px}}

.gm-learning-feedback{width:100%;display:grid;gap:10px}.gm-learning-feedback p{font-size:1rem;line-height:1.4;margin:0}.gm-feedback-navigation{display:flex;justify-content:center;align-items:center;gap:16px}.gm-feedback-navigation button{min-width:44px;min-height:44px;font:inherit;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--card)}
html.gm-course-open .gm-speech-result-pages{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}
html.gm-course-open .gm-speech-result-pages header strong{font-size:1rem;line-height:1.3;display:block}
html.gm-course-open .gm-speech-result-pages header>span,html.gm-course-open .gm-speech-result-pages [lang=en]{display:block;font-size:.8rem;line-height:1.25;color:var(--accent,#69dfcd)}
html.gm-course-open .gm-speech-result-pages p{font-size:1rem;line-height:1.35;margin:0;overflow-wrap:anywhere}
html.gm-course-open .gm-speech-result-content{display:flex;flex-direction:column;gap:10px;align-items:center;min-width:0}
html.gm-course-open .gm-speech-result-content>p{width:100%}
html.gm-course-open .gm-speech-overall{display:flex;gap:12px;align-items:center;justify-content:center}
html.gm-course-open .gm-speech-result-pages .gm-ausp-ring{width:52px;height:52px;min-width:52px}
html.gm-course-open .gm-speech-result-pages .gm-ausp-ring-z{font-size:20px}
html.gm-course-open .gm-speech-result-pages .gm-ausp-ring-p{font-size:10px}
html.gm-course-open .gm-speech-bars{display:grid;gap:7px;width:100%}
html.gm-course-open .gm-speech-result-pages .gm-ausp-bal{margin:0!important;padding:0!important}
html.gm-course-open .gm-speech-result-pages .gm-ausp-bal-k{font-size:12px!important;line-height:1.25!important;margin-bottom:3px!important}
html.gm-course-open .gm-speech-result-pages .gm-ausp-bal-en{font-size:11px!important;line-height:1.25!important}
html.gm-course-open .gm-speech-result-pages .gm-ausp-bal-schiene{height:5px!important}
html.gm-course-open .gm-speech-result-pages nav{display:flex;gap:10px;align-items:center;justify-content:center}
html.gm-course-open .gm-speech-result-pages nav button{font:inherit;font-size:.9rem;min-width:44px;min-height:44px;padding:5px 10px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--card)}
html.gm-course-open .gm-speech-result-pages nav button:disabled{opacity:.4}
html.gm-course-open .gm-speech-result-pages .gm-speech-retry{font-size:.9rem!important;padding:6px 12px!important}
html.gm-course-open .gm-speech-result-pages .gm-speech-retry span{font-size:.75rem!important}
html.gm-course-open .gm-speech-result-pages .gm-ausp-verlauf{width:100%;box-sizing:border-box;margin:0;padding:10px}
html.gm-course-open .gm-showing-speech-result{padding-top:30px!important}

/* Course lives outside transformed/scrolled app panels and inherits its theme. */
.gm-course-portal{display:contents!important}
html.gm-course-open .gm-course-exit{display:flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;padding:3px 9px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font:600 13px/1.2 inherit;cursor:pointer}
html.gm-course-open .gm-course-exit span{font-size:13px;line-height:1.2;text-align:left}
html.gm-course-open .gm-course-exit small{display:block;font-size:10px;color:var(--accent)}
html.gm-course-open .gm-ob-progress{flex:1;min-width:15px}
html.gm-course-open .gm-bizdeck-count{flex-shrink:0;font-size:11px}
html.gm-course-open .gm-bizdeck .gm-course-actions{gap:6px!important}
html.gm-course-open .gm-course-prev{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font-size:21px;line-height:1;cursor:pointer}
html.gm-course-open .gm-course-prev small{font-size:10px;line-height:1.2}
html.gm-course-open .gm-course-prev:disabled{opacity:.4}
html.gm-course-open .gm-bizdeck .gm-course-next{min-width:112px!important}
html.gm-course-open .gm-course-actions>.gm-en-schalter{min-width:44px;padding:5px!important;font-size:11px!important;white-space:normal!important}
html.gm-course-open .gm-course-actions>.ghost{min-width:0!important;font-size:11px!important;padding:5px!important}
html.gm-course-open .gm-zurueck-pille{display:none!important}
html.gm-course-open .gm-course-next-hint{display:none!important}
@media(max-height:600px){
 html.gm-course-open .gm-bizdeck{gap:6px!important}
 html.gm-course-open .gm-bizdeck .gm-bizdeck-card{padding:26px 12px 8px!important;gap:5px!important}
 html.gm-course-open .gm-bizdeck .gm-readaloud .gm-word-number{display:none}
 html.gm-course-open .gm-bizdeck .gm-readaloud li{padding:5px!important}
 html.gm-course-open .gm-bizdeck .gm-readaloud b{font-size:16px!important;line-height:1.25}
 html.gm-course-open .gm-bizdeck .gm-course-speech-alt{margin:0!important;min-height:36px!important}
 html.gm-course-open .gm-bizdeck .gm-microgame{gap:4px!important}
 html.gm-course-open .gm-bizdeck .gm-microgame p{font-size:15px!important;line-height:1.25!important}
 html.gm-course-open .gm-bizdeck .gm-microgame .gm-en{font-size:13px!important;line-height:1.2!important}
}
html.gm-course-open .gm-card-kind-microgame>.gm-bizdeck-hint{display:none!important}
html.gm-course-open .gm-showing-speech-result>.gm-bizdeck-hint{display:none!important}

.gm-learning-tile .gm-learning-level{display:inline-block;align-self:flex-start;font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.02em;color:var(--accent,#79e6d5);border:1px solid currentColor;border-radius:6px;padding:2px 7px}
/* Three rows per phone page; three columns (nine cards) on desktop. */
.gm-library-portal{display:contents!important}
html.gm-library-open .gm-zurueck-pille{display:none!important}
html.gm-library-open,html.gm-library-open body{overflow:hidden}
.gm-library-frame{position:fixed;z-index:85;inset:0 0 var(--gm-navsafe,90px);max-width:none;box-sizing:border-box;margin:0;padding:calc(12px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:12px;background:var(--paper,#081421);color:var(--ink);min-height:0}
.gm-library-frame>header{width:min(1200px,100%);margin:0 auto;flex:0 0 auto;min-height:48px;gap:10px}
.gm-library-frame>header h1{font-size:clamp(18px,3vw,28px);line-height:1.2;margin:0 0 3px}
.gm-library-frame>header .gm-en{font-size:12px;line-height:1.3;color:var(--world-accent)}
.gm-library-frame .gm-learning-rail-wrap{display:flex;flex-direction:column;flex:1;gap:8px;min-height:0;width:min(1200px,100%);margin:auto}
.gm-library-frame .gm-learning-rail{flex:1;display:flex;gap:0;min-height:0;padding:0;scroll-padding:0;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gm-library-frame .gm-learning-rail::-webkit-scrollbar{display:none}
.gm-library-frame .gm-learning-column{flex:0 0 100%;min-width:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;box-sizing:border-box;scroll-snap-align:start;padding:0 3px}
.gm-library-frame .gm-learning-tile{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 10px;align-items:center;column-gap:10px;row-gap:0;min-height:0;min-width:0;width:100%;padding:12px 12px;flex:none;border-radius:17px;border:1px solid color-mix(in srgb,var(--world-accent,#79e6d5) 40%,var(--line));background:linear-gradient(115deg,color-mix(in srgb,var(--world-accent,#79e6d5) 12%,var(--card)),var(--card));color:var(--ink);overflow-wrap:anywhere;text-align:left}
.gm-library-frame .gm-learning-icon{font-size:27px;line-height:1.2;margin:0!important}
.gm-library-frame .gm-learning-copy{display:flex;flex-direction:column;gap:3px;min-width:0;margin:0!important;padding-right:8px}
.gm-library-frame .gm-learning-copy strong{font-size:clamp(15px,1.5vw,19px);line-height:1.22;font-weight:750;padding-right:20px}
.gm-library-frame .gm-learning-copy .gm-en{font-size:12px;line-height:1.25;color:var(--world-accent,#79e6d5);margin:0}
.gm-library-frame .gm-learning-copy>small{font-size:10px;line-height:1.2}
.gm-library-frame .gm-learning-description{font-size:12px;line-height:1.25;color:var(--muted);margin-top:3px}
.gm-library-frame .gm-learning-level{position:absolute;top:7px;right:8px;padding:1px 4px;font-size:10px;line-height:1.2;color:var(--world-accent,#79e6d5);border-radius:4px}
.gm-library-frame .gm-learning-arrow{font-size:20px;line-height:1;color:var(--world-accent);margin:0!important}
.gm-library-frame .gm-learning-rail-controls{justify-content:space-between;flex:0 0 44px;gap:10px}
.gm-library-frame .gm-learning-rail-controls>span{margin:0;text-align:center;font-size:12px;font-weight:650}
.gm-library-frame .gm-learning-rail-controls>span>span{font-size:10px;margin-top:2px;font-weight:400}
.gm-library-frame .gm-learning-rail-controls button{height:44px;min-width:44px;font-size:26px}
.gm-library-frame .gm-learning-rail-controls button:disabled{opacity:.3;cursor:default}
.gm-library-frame .gm-learning-worlds{width:min(760px,100%);margin:auto;flex:1;min-height:0;grid-template-rows:repeat(3,minmax(0,1fr));gap:14px}
.gm-library-frame .gm-learning-worlds>button{min-height:0;padding:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--world-accent) 20%,var(--card)),var(--card));color:var(--ink)}
.gm-world-emoji{font-size:36px}.gm-library-frame .gm-learning-worlds .gm-en{color:var(--world-accent)}
.gm-library-frame .gm-library-resume{align-self:center;min-height:44px;padding:5px 16px;font-size:13px;line-height:1.2;flex:none;margin:0!important;border-radius:12px}
.gm-library-frame .gm-library-resume .gm-en{font-size:11px;line-height:1.2}
@media(min-width:900px){.gm-library-frame .gm-learning-column{flex-basis:33.333333%;padding:0 6px}.gm-library-frame{padding-inline:30px}.gm-library-frame .gm-learning-tile{padding:18px 15px}.gm-library-frame .gm-learning-level{top:10px;right:12px;font-size:11px}}
@media(max-height:620px){.gm-library-frame{gap:7px;padding-top:calc(6px + env(safe-area-inset-top,0px))}.gm-library-frame>header{min-height:42px}.gm-library-frame>header h1{font-size:18px}.gm-library-frame .gm-learning-column{gap:7px}.gm-library-frame .gm-learning-tile{padding:8px;grid-template-columns:26px minmax(0,1fr) 8px;column-gap:7px}.gm-library-frame .gm-learning-icon{font-size:22px}.gm-library-frame .gm-learning-description{display:none}.gm-library-frame .gm-learning-copy strong{font-size:14px}.gm-library-frame .gm-learning-copy .gm-en{font-size:11px}.gm-library-frame .gm-learning-copy{gap:2px}}
.gm-library-frame{bottom:calc(max(var(--gm-navsafe,78px),96px) + 18px)}
.gm-library-frame .gm-learning-rail-controls>span{order:1;text-align:left}
.gm-library-frame .gm-learning-rail-controls>button:first-child{order:2;margin-left:auto}
.gm-library-frame .gm-learning-rail-controls>button:last-child{order:3}
