:root{--bg:#071018;--bg2:#0d1821;--panel:#101d26;--panel2:#13232d;--line:#29424d;--text:#eef7f6;--muted:#9ab1b7;--lime:#c9f468;--cyan:#66e6df;--orange:#ff9f43;--red:#ff6d6d;--shadow:0 24px 70px #0008;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 72% -10%,#183b48 0,#0a151d 34%,var(--bg) 76%);color:var(--text);font:16px/1.58 Inter,system-ui,-apple-system,Segoe UI,sans-serif}.site-page a{color:inherit}.site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:18px;padding:12px 26px;background:#081219ed;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:max-content}.site-brand>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--lime);border-radius:12px;color:var(--lime);font-size:24px;background:#c9f46812}.site-brand strong{display:block}.site-brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.14em}.site-header nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.site-header nav a,.site-admin{padding:9px 11px;border-radius:10px;text-decoration:none;color:#bbccd0;font-size:13px}.site-header nav a:hover,.site-header nav a.active,.site-admin:hover{background:#c9f46816;color:var(--lime)}.site-admin{border:1px solid var(--line)}.site-main{width:min(1240px,calc(100% - 30px));margin:26px auto 70px}.hero-cover{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#0c171f;box-shadow:var(--shadow);aspect-ratio:1672/941}.hero-cover picture{display:block;width:100%;height:100%}.hero-cover img{display:block;width:100%;height:100%;object-fit:cover}.hero-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#071018e8 100%);pointer-events:none}.independent-badge{position:absolute;left:20px;bottom:18px;z-index:2;padding:9px 12px;border-radius:999px;background:#061016dd;border:1px solid #6d8a95;color:#dce9e9;font-size:11px;font-weight:800;letter-spacing:.08em}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 15px;border-radius:12px;text-decoration:none;border:1px solid #3a5864;background:#172932;color:var(--text);font-weight:700}.button:hover{border-color:var(--cyan);transform:translateY(-1px)}.button.primary{background:var(--lime);border-color:var(--lime);color:#13200d}.button.orange{background:#ff9f431c;border-color:#a8652e;color:#ffc68f}.button.danger{border-color:#9e4646;color:#ffb2b2}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:900;color:var(--cyan)}.intro{margin:30px 0 22px}.intro h1{font-size:clamp(32px,5vw,62px);line-height:1.02;margin:7px 0 12px}.intro h1 span{color:var(--lime)}.intro p{color:#bad0d3;max-width:860px;font-size:18px}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(145deg,#13232d,#0d171f);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 14px 35px #0004}.card h2,.card h3{margin:5px 0 10px}.card p{color:var(--muted);margin:8px 0}.card .number{display:grid;place-items:center;width:42px;height:42px;border:1px solid #577343;border-radius:12px;background:#c9f46810;color:var(--lime);font-weight:900}.steps{counter-reset:step;display:grid;gap:12px}.step{display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:start;padding:16px;border-radius:15px;background:#0b151d;border:1px solid #223944}.step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--lime);color:#12200b;font-weight:900}.step b{display:block}.step span{color:var(--muted);font-size:14px}.notice{padding:16px 18px;border:1px solid #5c7046;background:#c9f4680d;border-radius:15px;color:#caddd2}.notice.warn{border-color:#8a633a;background:#ff9f4310;color:#efcfad}.site-section{margin-top:34px}.site-section>h2{font-size:28px;margin:0 0 7px}.site-section>.lead{color:var(--muted);max-width:860px;margin:0 0 18px}.feature-list{display:grid;gap:10px}.feature-list div{display:flex;gap:10px;align-items:flex-start}.feature-list i{font-style:normal;color:var(--lime);font-weight:900}.learning-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.toggle{border:1px solid var(--line);background:#13242d;color:var(--text);border-radius:999px;padding:9px 13px;cursor:pointer}.toggle.active{border-color:var(--lime);color:var(--lime)}.learning-grid{display:grid;grid-template-columns:290px 1fr;gap:18px}.module-nav{position:sticky;top:82px;align-self:start;display:grid;gap:7px}.module-nav button{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);background:#0e1a22;color:#c4d3d7;border-radius:12px;padding:10px;cursor:pointer}.module-nav button.active{border-color:#6c8e49;background:#c9f46812;color:var(--lime)}.module-nav .done{color:var(--lime)}.lesson{display:none}.lesson.active{display:block}.lesson h2{font-size:31px;margin:4px 0 12px}.lesson h3{margin-top:24px}.lesson p,.lesson li{color:#b6c9cd}.lesson .simple{font-size:18px;color:#d7e6e6}.simple-mode .lesson .detail{display:none}.simple-mode .lesson .simple{font-size:20px;line-height:1.65}.diagram{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.diagram div{padding:15px;border:1px solid var(--line);border-radius:12px;background:#0b161e}.diagram b{display:block;color:var(--lime)}.quiz{margin-top:24px;padding:18px;border:1px solid #3b5964;border-radius:16px;background:#0b151d}.quiz label{display:block;padding:7px 0;color:#c8d7da}.quiz-result{margin-top:10px;font-weight:800}.module-complete{margin-top:20px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card form{display:grid;gap:12px}.field{display:grid;gap:5px}.field label{color:#b8cbd0;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid #35515d;background:#09141b;color:var(--text);border-radius:11px;padding:11px 12px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #66e6df55;border-color:var(--cyan)}.alert{padding:12px 14px;border-radius:12px;margin:0 0 14px;border:1px solid #477064;background:#163229;color:#d6f3e8}.alert.error{border-color:#875050;background:#351d20;color:#ffc7c7}.status-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.status-row span{color:var(--muted)}.sponsor-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sponsor-card{min-height:230px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #38525d;border-radius:18px;padding:18px;background:linear-gradient(150deg,#142630,#0c171f);text-decoration:none}.sponsor-card.available{border-style:dashed;opacity:.9}.sponsor-label{font-size:10px;letter-spacing:.14em;color:var(--orange);font-weight:900}.sponsor-logo{height:86px;display:grid;place-items:center;margin:14px 0}.sponsor-logo img{max-width:100%;max-height:78px;object-fit:contain}.sponsor-initials{display:grid;place-items:center;width:76px;height:76px;border-radius:18px;background:#c9f46816;color:var(--lime);font-size:28px;font-weight:900}.sponsor-card h3{margin:0}.sponsor-card p{font-size:13px;color:var(--muted)}.sponsor-card small{color:#87a0a7}.rights-table{display:grid;gap:10px}.rights-row{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:13px;border:1px solid var(--line);border-radius:12px}.rights-row b{color:var(--lime)}.source-links a{display:block;margin:8px 0;color:var(--cyan)}.site-footer{display:flex;justify-content:space-between;gap:20px;width:min(1240px,calc(100% - 30px));margin:0 auto 30px;padding:22px 0;border-top:1px solid var(--line);color:#8fa8ae;font-size:13px}.site-footer strong{color:#dce9e9}.site-footer a{color:#bed6d9}.admin-wrap{width:min(1180px,calc(100% - 30px));margin:28px auto 60px}.admin-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.admin-sponsors{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}.admin-slot{border:1px solid var(--line);border-radius:18px;background:#101d26;padding:18px}.admin-slot form{display:grid;gap:10px}.admin-slot img{max-height:70px;max-width:180px;object-fit:contain}.cloud-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:7px 10px;border-radius:999px;font-size:12px;color:#b6cbd0}.cloud-pill.good{border-color:#597944;color:var(--lime)}body.text-large{font-size:18px}@media(max-width:980px){.grid.three,.sponsor-wall{grid-template-columns:repeat(2,1fr)}.learning-grid{grid-template-columns:1fr}.module-nav{position:static;grid-template-columns:repeat(2,1fr)}.account-grid,.grid.two,.admin-sponsors{grid-template-columns:1fr}.site-header{align-items:flex-start;flex-wrap:wrap}.site-header nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.site-header nav a{white-space:nowrap}.site-admin{margin-left:auto}.diagram{grid-template-columns:1fr}.rights-row{grid-template-columns:1fr}}@media(max-width:620px){.site-header{padding:10px 12px}.site-main,.admin-wrap{width:min(100% - 20px,1240px);margin-top:16px}.hero-cover{border-radius:18px}.independent-badge{left:10px;bottom:10px;font-size:9px;max-width:calc(100% - 20px)}.intro h1{font-size:36px}.intro p{font-size:16px}.grid.three,.sponsor-wall,.module-nav{grid-template-columns:1fr}.site-footer{display:block;width:calc(100% - 20px)}.site-footer>div+div{margin-top:12px}.card{padding:17px}.lesson h2{font-size:26px}.hero-actions .button{width:100%}}

/* v12 · Schule / Lehrer / BASE-Labor */
.grid.four{grid-template-columns:repeat(4,1fr)}.school-hero{padding:10px 0}.school-levels .card{min-height:190px}.exercise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.exercise-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#13232d,#0d171f);padding:20px}.exercise-card.feature{border-color:#698d48;background:linear-gradient(145deg,#172a24,#0d171f)}.exercise-card>span{font-size:10px;letter-spacing:.15em;color:var(--cyan);font-weight:900}.exercise-card h3{margin:6px 0}.exercise-card p,.exercise-card li{color:var(--muted)}.exercise-card ol{padding-left:20px}.exercise-card .button{margin-top:8px}.code-homework textarea{width:100%;min-height:270px;border:1px solid #35515d;background:#071018;color:#eaf3f2;border-radius:14px;padding:16px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.code-result{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);color:#b9cbd0}.code-result.good,.challenge-result.good{border-color:#5f7f45;background:#c9f4680d;color:#dff5b7}.code-result.bad,.challenge-result.bad{border-color:#8a5d3b;background:#ff9f430e;color:#f2ceaa}.sponsor-school{border-color:#8a633a}.source-strip{margin-top:40px}.teacher-cheatsheet .card{min-height:160px}.timeline-teacher{display:grid;gap:10px}.timeline-teacher>div{display:grid;grid-template-columns:95px 1fr;gap:14px;align-items:start;border:1px solid var(--line);border-radius:13px;padding:13px 15px;background:#0d171f}.timeline-teacher b{color:var(--lime)}.timeline-teacher span{color:#bdd0d4}.teacher-page details{border-top:1px solid var(--line);padding:10px 0}.teacher-page summary{cursor:pointer;font-weight:800}.teacher-page details p{margin:8px 0 0}.score-grid{display:grid;gap:8px}.score-grid>div{display:grid;grid-template-columns:55px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.score-grid b{color:var(--lime)}.base-workbench{display:grid;grid-template-columns:360px 1fr;gap:18px;margin-top:22px}.base-controls h2,.base-controls h3{margin-bottom:12px}.base-inputs{display:grid;gap:10px}.base-inputs.two-col{grid-template-columns:1fr 1fr}.base-inputs label{display:grid;grid-template-columns:1fr 110px 32px;gap:7px;align-items:center;color:#bfd0d4;font-size:13px}.base-inputs.two-col label{grid-template-columns:1fr 88px 30px}.base-inputs input,.base-challenges select{border:1px solid #35515d;background:#08141b;color:#eef7f6;border-radius:9px;padding:9px}.base-inputs small{color:#819ba2}.base-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.base-result{margin-top:18px;padding:14px;border:1px solid #597443;border-radius:12px;background:#c9f4680c}.base-result span,.base-result small{display:block;color:#9fb2b7}.base-result strong{display:block;color:var(--lime);font-size:21px;margin:4px 0}.base-canvas-card{overflow:hidden}.base-canvas-card canvas{display:block;width:100%;border:1px solid #233f4a;border-radius:14px;background:#08131b}.base-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;color:#aebfc3;font-size:12px}.base-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.world-dot{background:#68e5df}.base-dot{background:#c9f468}.point-dot{background:#ff9f43}.base-caption{font-size:12px}.challenge-result{margin-top:12px;padding:10px;border-radius:10px}.code-example{overflow:auto;padding:15px;border:1px solid #284651;border-radius:12px;background:#071018;color:#dcebea}.school-run-banner{position:fixed;z-index:1000;left:50%;bottom:18px;transform:translateX(-50%);width:min(980px,calc(100% - 24px));display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #73934d;border-radius:15px;background:#0a171eef;box-shadow:0 18px 60px #0009;backdrop-filter:blur(12px)}.school-run-banner b{display:block;color:var(--lime)}.school-run-banner span{display:block;color:#c0d0d3;font-size:12px;margin-top:2px}.school-run-banner a{color:var(--cyan);text-decoration:none;font-size:12px;font-weight:800}.school-run-banner button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#12232c;color:#fff;cursor:pointer}.school-page code,.teacher-page code{color:#d7f29d;background:#0b151c;border:1px solid #27424c;padding:1px 5px;border-radius:5px}
@media(max-width:1050px){.grid.four{grid-template-columns:repeat(2,1fr)}.base-workbench{grid-template-columns:1fr}.exercise-grid{grid-template-columns:1fr}}
@media(max-width:620px){.grid.four{grid-template-columns:1fr}.base-inputs.two-col{grid-template-columns:1fr}.base-presets{grid-template-columns:1fr}.school-run-banner{grid-template-columns:1fr auto}.school-run-banner a{display:none}.timeline-teacher>div{grid-template-columns:1fr}.base-inputs label,.base-inputs.two-col label{grid-template-columns:1fr 90px 28px}}
@media print{.site-header,.site-footer,.hero-actions,.site-admin{display:none!important}.site-main{width:100%;margin:0}.card,.timeline-teacher>div{break-inside:avoid;box-shadow:none}.teacher-page{color:#111}.teacher-page .card,.teacher-page .timeline-teacher>div{background:#fff;color:#111;border-color:#bbb}.teacher-page p,.teacher-page span,.teacher-page li{color:#222!important}.teacher-page h1,.teacher-page h2,.teacher-page h3,.teacher-page b{color:#111!important}}

/* v13 language switch */
.language-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(142,196,206,.25);border-radius:999px;background:rgba(4,14,20,.6);white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 8px;border-radius:999px;color:#9fb8c0;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.08em}
.language-switch a:hover{color:#fff;background:rgba(255,255,255,.06)}
.language-switch a.active{background:#b9f24a;color:#071018;box-shadow:0 0 16px rgba(185,242,74,.18)}
@media (max-width:980px){.site-header{flex-wrap:wrap}.site-header .language-switch{margin-left:auto}}

/* v13 music page */
.music-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(6,26,35,.96),rgba(9,17,28,.96));border:1px solid #29424d;border-radius:24px;padding:clamp(26px,5vw,56px);margin:24px 0}
.music-hero:after{content:"";position:absolute;right:-80px;top:-110px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(185,242,74,.18),transparent 68%);pointer-events:none}
.track-card{position:relative;overflow:hidden}
.track-card .track-no{font-size:12px;font-weight:900;letter-spacing:.18em;color:#b9f24a}
.track-card h3{font-size:clamp(24px,3vw,34px);margin:.45rem 0 .35rem}
.track-meta{color:#f49a31;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.track-status{display:inline-flex;margin-top:14px;padding:6px 10px;border-radius:999px;background:rgba(185,242,74,.08);border:1px solid rgba(185,242,74,.25);font-size:12px;color:#cfe8d6}

/* v14 · Robotics Sound Lab */
.music-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:32px;align-items:center;padding:34px;border:1px solid rgba(138,239,73,.18);border-radius:28px;background:radial-gradient(circle at 85% 20%,rgba(94,221,255,.11),transparent 36%),linear-gradient(135deg,rgba(13,30,39,.96),rgba(7,17,24,.96));overflow:hidden}.music-stage-art img{width:100%;max-width:520px;aspect-ratio:1/1;object-fit:cover;border-radius:28px;box-shadow:0 22px 70px rgba(0,0,0,.35)}.notice.compact{padding:12px 14px;margin-top:16px;font-size:.92rem}.music-player-shell{border:1px solid rgba(126,236,255,.2);border-radius:24px;background:rgba(7,20,27,.85);padding:22px}.now-playing{display:flex;align-items:center;gap:18px}.now-playing img{width:92px;height:92px;object-fit:cover;border-radius:18px;background:#0a161d}.now-playing h3{margin:.2rem 0}.now-playing p{margin:0;opacity:.72}.track-source{font-size:.72rem;letter-spacing:.16em;color:#b9ff47}.player-progress{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center;margin:18px 0 10px}.player-progress input{width:100%}.player-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.volume-control{display:flex;align-items:center;gap:8px;margin-left:auto}.music-playlist{display:grid;gap:8px;margin-top:14px}.playlist-item{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 32px;gap:10px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:11px 12px;background:rgba(255,255,255,.025);color:inherit;cursor:pointer}.playlist-item:hover,.playlist-item.active{border-color:rgba(185,255,71,.45);background:rgba(185,255,71,.07)}.playlist-item strong,.playlist-item small{display:block}.playlist-item small{opacity:.62;margin-top:2px}.playlist-index{font-family:monospace;opacity:.55}.playlist-play{color:#b9ff47}.track-card .track-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin-bottom:14px}.track-status{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:rgba(185,255,71,.1);color:#cfff86}.track-status.pending{background:rgba(255,171,64,.1);color:#ffc36f}.media-library-list,.local-music-list{display:grid;gap:9px;margin-top:15px}.media-choice,.local-track-chip{display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);padding:12px 14px;border-radius:14px}.media-choice span,.local-track-chip div{min-width:0;flex:1}.media-choice strong,.media-choice small,.local-track-chip strong,.local-track-chip small{display:block}.media-choice small,.local-track-chip small{opacity:.62}.local-track-chip button{border:0;background:transparent;color:inherit;font-size:1.4rem;cursor:pointer}.local-upload-row{display:flex;gap:10px;flex-wrap:wrap}.empty-state{padding:16px;border:1px dashed rgba(255,255,255,.13);border-radius:14px;opacity:.68}.admin-music-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-music-card{border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.025);padding:18px}.music-admin-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.music-admin-head img{width:64px;height:64px;object-fit:cover;border-radius:12px}.music-admin-head strong{display:block}.admin-music-card audio{width:100%;margin:7px 0}.checkline{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.delete-form{margin-top:9px}.button.danger{border-color:rgba(255,88,88,.35);color:#ffaaaa}.add-track{border-style:dashed}
@media(max-width:900px){.music-stage{grid-template-columns:1fr}.music-stage-art{order:-1}.music-stage-art img{max-width:420px}.admin-music-list{grid-template-columns:1fr}.volume-control{margin-left:0;width:100%}}
@media(max-width:560px){.music-stage{padding:20px;border-radius:20px}.now-playing{align-items:flex-start}.now-playing img{width:72px;height:72px}.player-progress{grid-template-columns:38px 1fr 38px}.player-controls .button{min-width:52px}}
/* v18 · sichtbarer Audio-Fallback */
#roboticsAudio{display:block;width:100%;margin:16px 0 10px;accent-color:var(--lime)}
.track-native-player{display:block;width:100%;margin-top:14px;accent-color:var(--lime)}

/* v18 · zeitgesteuerte Sponsoren + Auto-Fallback-Cover */
.sponsor-cover-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);background:#071018;aspect-ratio:1672/941;margin-bottom:24px}.sponsor-cover-hero img{display:block;width:100%;height:100%;object-fit:cover}.sponsor-cover-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(3,11,16,.78) 100%);pointer-events:none}.sponsor-cover-overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sponsor-wall-v17{align-items:stretch}.sponsor-card-live{position:relative;min-height:300px}.sponsor-validity{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.09);font-size:11px;color:#9fb4ba}.sponsor-fallback-card{position:relative;display:block;overflow:hidden;min-height:300px;border:1px solid #38525d;border-radius:18px;background:#071018;text-decoration:none;box-shadow:0 16px 34px #0004}.sponsor-fallback-card img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .35s ease,filter .35s ease}.sponsor-fallback-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,10,15,.9) 100%)}.sponsor-fallback-card:hover img{transform:scale(1.025);filter:brightness(1.06)}.sponsor-fallback-badge{position:absolute;z-index:2;left:14px;right:14px;bottom:14px;padding:12px 13px;border:1px solid rgba(201,244,104,.35);border-radius:13px;background:rgba(5,16,22,.82);backdrop-filter:blur(8px)}.sponsor-fallback-badge span,.sponsor-fallback-badge b{display:block}.sponsor-fallback-badge span{font-size:10px;letter-spacing:.12em;color:var(--lime);font-weight:900}.sponsor-fallback-badge b{margin-top:3px;font-size:13px;color:#eef7f6}.sponsor-fallback-card-compact{min-height:230px}.sponsor-fallback-card-compact img{min-height:230px}.sponsor-admin-slot{display:grid;gap:12px}.sponsor-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.sponsor-status{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.08em}.sponsor-status.status-active{border-color:#6a8b45;background:#c9f46812;color:var(--lime)}.sponsor-status.status-scheduled{border-color:#43768c;background:#66e6df10;color:var(--cyan)}.sponsor-status.status-expired{border-color:#8a633a;background:#ff9f4310;color:#ffc78e}.sponsor-status.status-inactive{color:#8fa5aa}.sponsor-admin-preview{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;aspect-ratio:16/9;background:#071018}.sponsor-admin-preview img{display:block!important;width:100%;height:100%;max-width:none!important;max-height:none!important;object-fit:cover!important}.sponsor-admin-preview span{position:absolute;left:8px;right:8px;bottom:8px;padding:7px 8px;border-radius:8px;background:#041017d9;color:#d8e8e9;font-size:10px}.sponsor-time-grid{gap:10px}.sponsor-current-logo{display:block;margin:8px 0 4px;padding:7px;border-radius:10px;background:#fff}.sponsor-runtime-note{padding:10px 11px;border:1px solid #35515d;border-radius:10px;background:#09161d;color:#abc0c4;font-size:12px}.sponsor-page-v17 .intro{margin-top:28px}
@media(max-width:980px){.sponsor-cover-overlay{align-items:flex-end}.sponsor-wall-v17{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.sponsor-cover-hero{border-radius:18px}.sponsor-cover-overlay{display:grid;left:10px;right:10px;bottom:10px}.sponsor-wall-v17{grid-template-columns:1fr}.sponsor-fallback-card,.sponsor-fallback-card img{min-height:240px}.sponsor-time-grid{grid-template-columns:1fr!important}}

/* v20 · Sponsoring polish -------------------------------------------------- */
.sponsor-start-v20{position:relative;padding:26px;border:1px solid #28434e;border-radius:26px;background:linear-gradient(145deg,rgba(18,35,45,.92),rgba(7,16,24,.92));box-shadow:0 22px 55px #0004;overflow:hidden}.sponsor-start-v20:before{content:"";position:absolute;width:430px;height:430px;right:-210px;top:-230px;border-radius:50%;background:radial-gradient(circle,rgba(201,244,104,.12),transparent 68%);pointer-events:none}.sponsor-section-heading,.section-head-v20{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:20px}.sponsor-section-heading>div:first-child,.section-head-v20>div:first-child{max-width:760px}.sponsor-section-heading h2,.section-head-v20 h2{margin:5px 0 8px;font-size:clamp(28px,3.6vw,44px);line-height:1.08}.sponsor-section-heading h2 span{color:var(--lime)}.sponsor-section-heading .lead,.section-head-v20 p{margin:0;color:#a9c0c5}.sponsor-start-facts{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;min-width:390px}.sponsor-start-facts div{padding:12px;border:1px solid #31515e;border-radius:14px;background:#08151dbd}.sponsor-start-facts b,.sponsor-start-facts span{display:block}.sponsor-start-facts b{color:var(--lime);font-size:18px}.sponsor-start-facts span{margin-top:3px;color:#90a9af;font-size:10px;line-height:1.25}.sponsor-wall-showcase{grid-template-columns:repeat(2,1fr);gap:18px}.sponsor-fallback-card-showcase{aspect-ratio:16/9;min-height:0}.sponsor-fallback-card-showcase img{min-height:0;height:100%;object-fit:cover}.sponsor-card-start{min-height:0;aspect-ratio:16/9}.sponsor-start-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:18px 20px;border:1px solid #4e673b;border-radius:18px;background:linear-gradient(90deg,rgba(201,244,104,.08),rgba(8,21,29,.55))}.sponsor-start-cta>div:first-child{max-width:760px}.sponsor-start-cta h3{font-size:22px;margin:4px 0}.sponsor-start-cta p{margin:0;color:#9fb5ba}.sponsor-start-cta .hero-actions{margin:0;justify-content:flex-end;min-width:max-content}

.sponsor-page-v20{max-width:1320px}.sponsor-hero-v20{display:grid;grid-template-columns:minmax(0,.84fr) minmax(520px,1.16fr);gap:22px;align-items:stretch;margin-bottom:20px}.sponsor-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:34px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,#132833,#09151d);box-shadow:0 24px 60px #0005}.sponsor-hero-copy h1{font-size:clamp(36px,5vw,62px);line-height:1.02;margin:8px 0 14px}.sponsor-hero-copy h1 span{color:var(--lime)}.sponsor-hero-copy>p{max-width:690px;color:#b7cbd0;font-size:17px}.sponsor-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}.sponsor-hero-stats div{padding:13px;border:1px solid #31505c;border-radius:14px;background:#07141b}.sponsor-hero-stats b,.sponsor-hero-stats span{display:block}.sponsor-hero-stats b{font-size:22px;color:var(--lime)}.sponsor-hero-stats span{font-size:11px;color:#91a8ae}.sponsor-hero-media{position:relative;overflow:hidden;min-height:430px;border:1px solid var(--line);border-radius:26px;background:#071018;box-shadow:var(--shadow)}.sponsor-hero-media img{display:block;width:100%;height:100%;object-fit:cover}.sponsor-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(3,10,15,.78) 100%)}.sponsor-hero-media-badge{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;padding:13px 15px;border:1px solid rgba(201,244,104,.42);border-radius:14px;background:#061119d9;backdrop-filter:blur(10px)}.sponsor-hero-media-badge span,.sponsor-hero-media-badge b{display:block}.sponsor-hero-media-badge span{color:var(--lime);font-size:10px;font-weight:900;letter-spacing:.13em}.sponsor-hero-media-badge b{margin-top:2px;font-size:16px}.sponsor-transparency{margin-top:0}.section-head-v20{align-items:end}.section-head-v20 p{max-width:520px}.sponsor-benefit-grid{gap:12px}.sponsor-benefit{min-height:185px}.sponsor-benefit-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #688b46;border-radius:14px;background:#c9f46810;color:var(--lime);font-size:24px}.sponsor-benefit h3{margin-top:14px}.sponsor-wall-v20{grid-template-columns:repeat(2,1fr);gap:20px}.sponsor-fallback-card-v20{aspect-ratio:16/9;min-height:0;border-radius:22px}.sponsor-fallback-card-v20 img{height:100%;min-height:0;object-fit:cover}.sponsor-fallback-card-v20 .sponsor-fallback-badge{left:16px;right:16px;bottom:16px}.sponsor-fallback-card-v20 .sponsor-fallback-badge small{display:block;margin-top:5px;color:#a9bdc1;font-size:10px}.sponsor-card-v20{min-height:0;aspect-ratio:16/9;padding:22px;border-radius:22px}.sponsor-card-top{display:flex;justify-content:space-between;gap:12px}.sponsor-slot-number{font-size:10px;color:#78929a;letter-spacing:.11em;font-weight:900}.sponsor-card-v20 .sponsor-logo{height:105px;margin:8px 0}.sponsor-card-v20 .sponsor-logo img{max-height:96px}.sponsor-live-copy h3{font-size:24px}.sponsor-live-copy p{margin:4px 0}.sponsor-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sponsor-process-grid article{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#10202a,#0a151d)}.sponsor-process-grid article>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;border:1px solid #617d45;color:var(--lime);font-weight:900;background:#c9f4680b}.sponsor-process-grid h3{margin:2px 0 5px}.sponsor-process-grid p{margin:0;color:#9eb2b7;font-size:13px}.sponsor-fit-card{position:relative;display:flex;justify-content:space-between;gap:28px;align-items:center;padding:28px;border:1px solid #546d3f;border-radius:24px;background:linear-gradient(105deg,#14252d,#09151c 64%);overflow:hidden}.sponsor-fit-card:after{content:"";position:absolute;right:-60px;top:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(201,244,104,.12),transparent 68%);pointer-events:none}.sponsor-fit-card>div:first-child{max-width:830px;position:relative;z-index:1}.sponsor-fit-card h2{font-size:32px;margin:5px 0 8px}.sponsor-fit-card p{color:#a9bec3}.sponsor-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.sponsor-tags span{padding:7px 10px;border:1px solid #35515d;border-radius:999px;background:#07131a;color:#bfd0d4;font-size:11px}.sponsor-fit-actions{display:grid;gap:8px;position:relative;z-index:1;min-width:220px}.sponsor-fit-actions .button{width:100%}

@media(max-width:1050px){.sponsor-section-heading,.section-head-v20{display:grid}.sponsor-start-facts{min-width:0;max-width:520px}.sponsor-hero-v20{grid-template-columns:1fr}.sponsor-hero-media{min-height:0;aspect-ratio:16/9}.sponsor-benefit-grid{grid-template-columns:repeat(2,1fr)!important}.sponsor-process-grid{grid-template-columns:1fr}.sponsor-fit-card{align-items:flex-start;flex-direction:column}.sponsor-fit-actions{display:flex;flex-wrap:wrap;min-width:0}.sponsor-fit-actions .button{width:auto}}
@media(max-width:700px){.sponsor-start-v20{padding:17px;border-radius:20px}.sponsor-start-facts{grid-template-columns:1fr}.sponsor-wall-showcase,.sponsor-wall-v20,.sponsor-benefit-grid{grid-template-columns:1fr!important}.sponsor-start-cta{align-items:flex-start;flex-direction:column}.sponsor-start-cta .hero-actions{justify-content:flex-start;min-width:0}.sponsor-hero-copy{padding:22px}.sponsor-hero-stats{grid-template-columns:1fr}.sponsor-fallback-card-showcase,.sponsor-fallback-card-v20,.sponsor-card-start,.sponsor-card-v20{aspect-ratio:auto;min-height:250px}.sponsor-fallback-card-showcase img,.sponsor-fallback-card-v20 img{min-height:250px}.sponsor-fit-actions{display:grid;width:100%}.sponsor-fit-actions .button{width:100%}}

/* Phase 2: scenarios, classroom and teacher dashboard */
.global-help-button{position:fixed;right:18px;bottom:18px;z-index:1050;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#17261d;color:#c8ff63;border:1px solid #9bc84f;text-decoration:none;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.34)}
.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.scenario-card{position:relative;background:linear-gradient(145deg,rgba(15,30,38,.96),rgba(7,17,23,.96));border:1px solid #29424c;border-radius:18px;padding:22px;overflow:hidden}.scenario-card:before{content:"";position:absolute;inset:auto -60px -80px auto;width:180px;height:180px;background:radial-gradient(circle,rgba(194,255,95,.13),transparent 68%)}.scenario-card h2{margin:.25rem 0 .65rem}.scenario-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding-left:1.1rem;color:#b9cdd4}.scenario-no{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#c7f45e;color:#071018;font-weight:900}.classroom-strip-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.classroom-badge{margin:-4px -4px 12px;padding:7px 9px;border-radius:9px;background:#13282d;color:#bfe7ec;font-size:.78rem;font-weight:700}.assignment-locked{opacity:.63}.assignment-homework{border-color:#d58b2d!important}.assignment-completed{border-color:#82b84d!important}.button.disabled,[aria-disabled="true"]{pointer-events:none;opacity:.45}.teacher-dashboard-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px;align-items:start}.class-list-panel{position:sticky;top:85px}.teacher-class-list{display:grid;gap:8px}.teacher-class-item{border:1px solid #27434d;background:#0b1820;color:#eaf4f5;border-radius:12px;padding:12px;text-align:left;cursor:pointer;display:grid;gap:4px}.teacher-class-item span,.teacher-class-item small{color:#98b0b8}.teacher-class-item.active{border-color:#c4f25e;box-shadow:0 0 0 1px rgba(196,242,94,.24)}.class-detail-panel{min-width:0}.class-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.join-code{display:inline-block;padding:4px 8px;border-radius:7px;background:#172820;color:#c8ff63;letter-spacing:.08em}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.dashboard-stats>div{background:#0b1720;border:1px solid #26414b;border-radius:13px;padding:14px;display:grid}.dashboard-stats b{font-size:1.6rem;color:#c8ff63}.dashboard-stats span{color:#9fb4bb;font-size:.8rem}.assignment-grid{display:grid;gap:10px}.assignment-card{display:grid;grid-template-columns:minmax(220px,1fr) 150px 190px auto auto;gap:10px;align-items:end;background:#0b1720;border:1px solid #263e48;border-radius:13px;padding:12px}.assignment-card>div{display:grid;gap:4px}.assignment-card small{color:#91aab2}.assignment-card label{display:grid;gap:4px;font-size:.75rem;color:#91aab2}.assignment-card select,.assignment-card input,.stack-form input,.inline-form input{width:100%;background:#071119;border:1px solid #35505a;color:#edf6f7;border-radius:9px;padding:9px}.dashboard-table{width:100%;border-collapse:collapse;min-width:720px}.dashboard-table th,.dashboard-table td{border-bottom:1px solid #243b44;padding:10px;text-align:center}.dashboard-table th:first-child{text-align:left;position:sticky;left:0;background:#0d1c24;z-index:1}.dashboard-table th small{display:block;color:#829ba3;font-weight:400}.progress-cell{font-size:1.15rem;color:#68818a}.progress-cell.started{color:#ffb451}.progress-cell.done{color:#c8ff63}.table-wrap{overflow:auto}.inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.inline-form label{min-width:260px;display:grid;gap:6px}.stack-form{display:grid;gap:12px}.stack-form label{display:grid;gap:6px}.teacher-briefing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-briefing-grid .card{scroll-margin-top:90px}.classroom-progress-wrap{max-height:560px}.compact-intro{padding-bottom:12px}
@media(max-width:1050px){.teacher-dashboard-grid{grid-template-columns:1fr}.class-list-panel{position:static}.assignment-card{grid-template-columns:1fr 1fr}.scenario-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.classroom-strip-card{align-items:flex-start;flex-direction:column}.assignment-card{grid-template-columns:1fr}.teacher-briefing-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:1fr 1fr}.scenario-card ul{grid-template-columns:1fr}.global-help-button{right:12px;bottom:12px}}
@media print{.site-header,.site-footer,.so-music-dock,.global-help-button,.dashboard-create,.class-list-panel,.hero-actions button{display:none!important}.teacher-dashboard-grid{display:block}.class-detail-panel{border:0!important}.assignment-grid{display:none}.classroom-progress-wrap{max-height:none;overflow:visible}.dashboard-table{min-width:0;font-size:9pt}}

/* v25 · Dual-Screen / Remote-SmartPAD hub */
.remote-hub{max-width:1240px}.remote-intro{max-width:1050px}.remote-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.remote-action-card{min-height:260px;display:flex;flex-direction:column;align-items:flex-start}.remote-action-card .button{margin-top:auto}.remote-code-form{display:grid;gap:8px;width:100%;margin-top:auto}.remote-code-form label{font-size:13px;color:var(--muted)}.remote-code-form>div{display:flex;gap:8px}.remote-code-form input{min-width:0;flex:1;border:1px solid #35515d;background:#09141b;color:var(--text);border-radius:11px;padding:11px 12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.remote-pairing{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;border-color:#617d45}.remote-pairing[hidden]{display:none}.remote-pairing .hero-actions{grid-column:1/-1;margin-top:0}.remote-code-box{min-width:250px;padding:16px;border:1px solid #5d7e43;border-radius:16px;background:#0b1711;text-align:center}.remote-code-box span{display:block;color:#8fa6aa;font-size:10px;letter-spacing:.15em;font-weight:900}.remote-code-box strong{display:block;margin:4px 0 12px;color:var(--lime);font-size:28px;letter-spacing:.08em}.remote-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.remote-session-list{display:grid;gap:10px;margin-top:14px}.remote-session-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:13px;background:#0b161e}.remote-session-row>div:first-child{display:grid}.remote-session-row b{color:var(--lime);font-size:18px;letter-spacing:.06em}.remote-session-row span{color:var(--muted);font-size:12px}.remote-session-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.remote-empty{color:var(--muted)}
@media(max-width:850px){.remote-hub-grid{grid-template-columns:1fr}.remote-pairing{grid-template-columns:1fr}.remote-pairing .hero-actions{grid-column:auto}.remote-code-box{min-width:0}.remote-session-row{align-items:flex-start;flex-direction:column}.remote-code-form>div{align-items:stretch;flex-direction:column}}
/* v28.1: scenarioRunBanner layout fix -------------------------------------- */
.scenario-run-banner{
  grid-template-columns:minmax(0,1fr) auto 34px;
  column-gap:14px;
  row-gap:8px;
  align-items:center;
}
.scenario-run-banner .scenario-run-copy{min-width:0}
.scenario-run-banner .scenario-run-copy span{max-width:72ch}
.scenario-run-banner .scenario-run-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.scenario-run-banner .scenario-run-actions a{white-space:nowrap}
.scenario-run-banner button.scenario-run-action{
  width:auto;
  min-width:0;
  height:36px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
  border-color:#5f7f45;
  color:#e8f8bf;
  font-weight:800;
  line-height:1;
}
.scenario-run-banner button.scenario-run-action span{
  display:inline;
  margin:0;
  color:inherit;
  font-size:12px;
}
.scenario-run-banner button.scenario-run-action:disabled{opacity:.55;cursor:wait}
.scenario-run-banner button.scenario-run-close{
  width:34px;
  min-width:34px;
  height:34px;
  padding:0;
}
@media(max-width:820px){
  .scenario-run-banner{grid-template-columns:minmax(0,1fr) 34px}
  .scenario-run-banner .scenario-run-copy{grid-column:1;grid-row:1}
  .scenario-run-banner .scenario-run-close{grid-column:2;grid-row:1}
  .scenario-run-banner .scenario-run-actions{
    grid-column:1/-1;
    grid-row:2;
    justify-content:flex-start;
  }
}
@media(max-width:620px){
  .scenario-run-banner .scenario-run-actions a{display:inline-flex}
  .scenario-run-banner button.scenario-run-action{max-width:100%;white-space:normal;text-align:left;height:auto;min-height:38px;padding:8px 12px}
}

