#app{max-width:1200px;margin:0 auto;padding-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.tile{background:var(--card);border-radius:18px;padding:16px;text-align:left;border-bottom:5px solid var(--c)}
.tile span{display:block;font-size:40px}
.tile small{display:block;opacity:.65;font-weight:500;margin-top:2px}
.tile:nth-child(3n+1){--c:var(--p0)}
.tile:nth-child(3n+2){--c:var(--p1)}
.tile:nth-child(3n){--c:var(--y)}
.bar{display:flex;gap:8px;align-items:center;margin:10px 0}
.st{flex:1;text-align:center}
.sm{background:var(--card);border-radius:12px;padding:10px 14px}
.seg{margin:14px 0}
.seg b{display:block;margin-bottom:6px}
.seg div{display:flex;flex-wrap:wrap;gap:8px}
.seg button{background:var(--card);border-radius:12px;padding:12px 16px}
.seg .on{background:var(--y);color:#14213d}
.start{background:var(--p1);color:#fff;border-radius:16px;padding:16px 30px;font-size:22px;margin:10px 10px 0 0}
.dot{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.start:disabled{opacity:.45}
.sub{opacity:.75;font-weight:500;margin:0 0 14px;line-height:1.5}
.cat{font-size:20px;margin:24px 0 10px}
footer{max-width:1200px;margin:8px auto 18px;display:flex;gap:18px;justify-content:center;font-size:15px;opacity:.8}
footer a{color:inherit}
@media(max-width:420px){body{font-size:16px}.tile{padding:12px}.tile span{font-size:32px}.grid{grid-template-columns:1fr 1fr}.kt td,.kt th{padding:5px 8px}.kb button{width:42px;height:46px}}
#top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:#0e0a20;border-bottom:1px solid var(--line)}
.logo{font-weight:900;font-size:22px;color:#fff;text-decoration:none;white-space:nowrap}
.logo b{color:#a99bff}
#mb{display:none;background:none;font-size:24px;padding:4px 8px}
#q{flex:1;max-width:520px;min-width:0;margin:0 auto;border-radius:999px;border:0;background:#241c4a;padding:11px 18px}
.pill{background:var(--br);color:#fff;border-radius:999px;padding:11px 20px;font-weight:800;white-space:nowrap}
#lg:not(.pill){background:none;padding:0}
#shell{display:flex;align-items:flex-start}
#side{flex:none;width:236px;position:sticky;top:62px;height:calc(var(--dvh,100vh) - 62px);overflow:auto;padding:14px 10px;background:#0e0a20}
.ni{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:none;padding:11px 12px;border-radius:12px;font-weight:700;opacity:.85}
.ni:hover{background:#21193f}
.ni.on{background:var(--br);opacity:1}
#side h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.5;margin:18px 12px 6px}
#main{flex:1;min-width:0;padding:0 max(18px,env(safe-area-inset-right)) 0 18px}
.hero{border-radius:20px;padding:28px;margin:18px 0;background:linear-gradient(120deg,#6842ff,#c026d3 60%,#f97316);color:#fff}
.hero h1{margin:0 0 6px;font-size:clamp(26px,4vw,40px)}
.hero p{margin:0;font-weight:600;max-width:640px}
.sec{display:flex;justify-content:space-between;align-items:baseline;margin:26px 0 12px}
.sec h2{margin:0;font-size:21px}
.sec button{background:none;color:#a99bff;font-weight:700}
.gg{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}
.gc{position:relative;aspect-ratio:16/10;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .18s,box-shadow .18s;box-shadow:0 4px 14px #0006}
.gc:hover,.gc:focus-visible{transform:translateY(-4px) scale(1.04);box-shadow:0 12px 26px #000a}
.gc svg{position:absolute;inset:0;width:100%;height:100%}
.gt{position:absolute;inset:auto 0 0;padding:26px 10px 9px;background:linear-gradient(transparent,#000d);font-weight:800;font-size:15px}
.hv{position:absolute;top:8px;right:8px;background:#0008;border-radius:50%;width:34px;height:34px;padding:0;font-size:17px;color:#ff6b8b}
.bd{position:absolute;top:9px;left:9px;background:var(--y);color:#14213d;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:900}
.bd.n{background:#22c55e;color:#04210f}
.pc{position:absolute;top:38px;left:9px;font-size:11px;background:#0008;border-radius:8px;padding:2px 7px}
.gp{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:16px 0}
.gp .gc{width:260px;cursor:default}
.gp .gc:hover{transform:none}
.gp h1{margin:0 0 6px}
#modal{position:fixed;inset:0;z-index:50;background:#000a;display:grid;place-items:center;padding:16px}
.mbx{background:#1b1538;border-radius:20px;padding:22px;width:min(460px,100%);max-height:90dvh;overflow:auto}
.mbx h2{margin-top:0}
.mbx label{display:block;font-weight:700}
.mbx textarea,.mbx input,.mbx select{width:100%;margin:6px 0 12px;font:inherit;padding:12px;border-radius:12px;border:2px solid var(--line);background:#120d2a;color:var(--fg);-webkit-user-select:text;user-select:text}
.mbx textarea{min-height:130px}
.av{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;font-weight:900;color:#14213d}
.sw{display:flex;gap:8px;margin:6px 0 14px}
.sw button{width:36px;height:36px;border-radius:50%;border:3px solid transparent}
.sw .on{border-color:#fff}
@media(max-width:860px){#mb{display:block}#side{position:fixed;z-index:40;left:-260px;top:58px;height:calc(var(--dvh,100vh) - 58px);transition:left .2s}#side.open{left:0;box-shadow:0 0 40px #000}#top .pill{padding:9px 14px}.logo{font-size:18px}#main{padding:0 14px}.gp .gc{width:100%}}
@media(max-width:860px){#top{flex-wrap:wrap}#q{order:5;flex:1 1 100%;max-width:none;margin:0}#lg{margin-left:auto}#side{top:0;height:var(--dvh,100vh);padding-top:72px}#mb{order:-1}}
#app>*{animation:fadein .3s ease both}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}}
.gc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gg.row{grid-template-rows:auto;grid-auto-rows:0;row-gap:0;overflow:hidden;padding:8px 8px 0;margin:-8px -8px 0}.gg.row .gc{margin-bottom:8px}
/* Spielmodus: Kopfzeile und Seitenleiste weg, damit das Spiel den ganzen iPad-Bildschirm nutzt */
body.play #top,body.play #side,body.play footer{display:none}
body.play #main{padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}
body.play .bar{margin:max(8px,env(safe-area-inset-top)) 0 8px}
/* Startseite eines Spiels: Optionen links, Anleitung rechts */
.su{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 28px;align-items:start}
@media(max-width:860px){.su{grid-template-columns:1fr}}
.hb{background:var(--card);border-radius:18px;padding:16px 20px;line-height:1.55;font-weight:500;font-size:17px}
.hb h2{margin:0 0 8px;font-size:20px}
.hb h3{margin:14px 0 4px;font-size:15px;letter-spacing:.04em;text-transform:uppercase;opacity:.6}
.hb p{margin:4px 0}.hb ol,.hb ul{margin:4px 0;padding-left:22px}.hb li{margin:3px 0}
.hb .tip{background:#33295f;border-radius:12px;padding:8px 12px;margin-top:12px}
.mbx .hb{padding:0;background:none}
.seg small{display:block;opacity:.6;font-weight:500;margin-top:4px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
