/* ===== Aufzugfahrt: Varianten ===== */
.liftview.acc-cyan .tc-title{color:#7ef0ff}
.liftview.acc-cyan .btn-amber{background:#7ef0ff}
.fv-ps .fv-sky{height:520px;background:#1d1745}
.fv-ps .fv-city{top:420px;height:100px}
.fv-ps .fv-city i{background:#151133}
.fv-ps .fv-floor{top:520px;height:146px}
.fv-ps .fv-mullions{height:520px}
.fv-ps .queue{top:560px}

/* ===== Perfect Stop ===== */
.ps{position:fixed;inset:0;display:flex;flex-direction:column;background:#0f0c24;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.ps-grow{flex:1}
.ps-lives i.ok{background:#7ef0ff;box-shadow:none}
.ps-lives i.bad{background:#2a2550;box-shadow:inset 0 0 0 2px #3a3558}
.ps-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:8px;cursor:pointer}
.ps-stage canvas{display:block;image-rendering:pixelated}
.ps-stage.shake{animation:shake2 .1s steps(2) infinite}
.ps-fb{position:absolute;left:50%;top:30%;transform:translateX(-50%);font-family:'Silkscreen',monospace;font-weight:700;font-size:34px;text-shadow:4px 4px 0 var(--ink);opacity:0;pointer-events:none;white-space:nowrap}
.ps-fb.perfect{color:#7ef0ff}.ps-fb.good{color:#9cf58c}.ps-fb.ok{color:#ffb627}.ps-fb.miss{color:#ff4d5e}
.ps-fb.pop{animation:psPop .8s steps(6) forwards}
@keyframes psPop{0%{opacity:1;transform:translate(-50%,10px) scale(1.2)}60%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px)}}
.ps-tip{font-family:'Silkscreen',monospace;color:#7ef0ff}
@media (max-width:600px){.ps-fb{font-size:26px}}

/* ===== Deine Stadt (Idle-Tycoon) ===== */
.ty{position:fixed;inset:0;display:flex;flex-direction:column;background:#07060f;user-select:none;-webkit-user-select:none}
.ty-top{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0d0b1a;box-shadow:inset 0 -4px 0 #000;z-index:5}
.ty-top .chip{background:#15122b;height:48px}
.ty-top .chip svg{width:14px;height:14px}
.ty-cash{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;background:#15122b}
.ty-cash .coin{width:24px;height:24px}
.ty-cash .coin i{height:12px}
.ty-cv{min-width:0;display:flex;flex-direction:column;line-height:1}
.ty-cv b{font-family:'Silkscreen',monospace;font-size:22px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ty-cv small{font-family:'Pixelify Sans',monospace;font-size:13px;color:#9cf58c;margin-top:3px;white-space:nowrap}
.ty-boost,.ty-inv{height:48px;border:0;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:'Silkscreen',monospace;padding:0 12px}
.ty-boost{flex-direction:column;gap:2px;min-width:74px;background:#2a2550;color:#cfc6e8}
.ty-boost b{font-size:16px;line-height:1}
.ty-boost small{font-size:10px;line-height:1}
.ty-boost.ready{background:#ff4fd8;color:#fff;animation:tyPulse 1.2s steps(2) infinite}
.ty-boost.on{background:#9cf58c;color:#0d0b1a}
.ty-boost.cd{background:#221d42;color:#7a7099}
.ty-inv{background:#2a2550;color:var(--amber);min-width:60px}
.ty-inv svg{width:18px;height:16px}
.ty-inv b{font-size:14px;color:#fff}
.ty-inv.ready{background:var(--amber);color:#0d0b1a;animation:tyPulse 1.2s steps(2) infinite}
.ty-inv.ready b{color:#0d0b1a}
@keyframes tyPulse{50%{filter:brightness(1.25)}}
.ty-view{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none;cursor:pointer}
.ty-view canvas{position:absolute;left:0;top:0;display:block;image-rendering:pixelated}
.ty-goal{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:min(440px,calc(100% - 20px));min-height:46px;border:0;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 6px;column-gap:10px;row-gap:5px;align-items:center;padding:8px 12px;background:rgba(13,11,26,.9);color:#fff;cursor:pointer;z-index:4;text-align:left}
.ty-goal .gk{grid-row:1/3;font-family:'Silkscreen',monospace;font-size:10px;color:#0d0b1a;background:#7ef0ff;padding:5px 6px}
.ty-goal .gt{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ty-goal .gr{grid-row:1/3;grid-column:3;font-family:'Silkscreen',monospace;font-size:12px;color:#ffd84d;white-space:nowrap}
.ty-goal .gb{grid-column:2;display:block;height:6px;background:#2a2550}
.ty-goal .gb i{display:block;height:100%;width:0;background:#7ef0ff;transition:width .3s}
.ty-goal.done{background:var(--amber);color:#0d0b1a;animation:tyPulse 1s steps(2) infinite}
.ty-goal.done .gt{font-family:'Silkscreen',monospace;font-weight:700}
.ty-goal.done .gr{color:#3a2a10}
.ty-goal.done .gk{background:#0d0b1a;color:var(--amber)}
.ty-goal.done .gb i{background:#0d0b1a}
.ty-hint{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 14px));padding:8px 12px;background:#fff;color:#0d0b1a;font-family:'Silkscreen',monospace;font-size:14px;line-height:1;white-space:nowrap;pointer-events:none;animation:tyBob .8s ease-in-out infinite alternate;filter:drop-shadow(3px 3px 0 #0d0b1a)}
.ty-hint::after{content:'';position:absolute;left:calc(50% + var(--ax,0px) - 8px);bottom:-8px;width:16px;height:8px;background:#fff;clip-path:polygon(0 0,100% 0,50% 100%)}
.ty-hint[hidden]{display:none}
@keyframes tyBob{to{margin-top:-6px}}
.ty-sheet{position:fixed;inset:0;z-index:30}
.ty-sheet[hidden]{display:none}
.ty-shb{position:absolute;inset:0;background:rgba(7,6,15,.55)}
.ty-sh{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(480px,100%);max-height:88vh;overflow-y:auto;background:var(--panel);box-shadow:inset 0 0 0 4px #0a0816,inset 0 8px 0 0 #221d42;padding:18px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;animation:tyUp .22s steps(4) both}
@keyframes tyUp{from{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.ty-shh{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ty-shh .k{font-family:'Silkscreen',monospace;font-size:10px;color:var(--muted);letter-spacing:.5px}
.ty-shh .ttl{font-family:'Silkscreen',monospace;font-weight:700;font-size:22px;line-height:1.1;color:#fff;text-shadow:3px 3px 0 #0a0816;margin-top:4px}
.ty-x{background:#2a2550!important;flex:none}
.ty-x svg{width:14px;height:14px}
.ty-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ty-modes button{height:40px;border:0;background:#2a2550;color:#cfc6e8;font-family:'Silkscreen',monospace;font-size:13px;cursor:pointer}
.ty-modes button.on{background:#7ef0ff;color:#0d0b1a}
.ty-lv{font-family:'Silkscreen',monospace;font-size:18px;color:#fff}
.ty-lv i{font-style:normal;color:var(--muted)}
.ty-lv b{color:#9cf58c}
.ty-rows{display:flex;flex-direction:column;gap:4px}
.ty-row{display:grid;grid-template-columns:1fr auto 18px auto;align-items:center;gap:6px;background:#0d0b1a;padding:9px 12px;font-size:15px}
.ty-row .l{color:var(--muted);font-size:14px}
.ty-row i{font-style:normal;color:var(--muted);text-align:center}
.ty-row b{color:#9cf58c;font-weight:700}
.ty-ms .t{font-size:14px;color:#ffd84d;margin-bottom:6px}
.ty-ms .bar{display:block;height:10px;background:#0d0b1a}
.ty-ms .bar i{display:block;height:100%;background:#ffd84d}
.ty-buy{width:100%;min-height:54px;font-size:15px}
.ty-buy:disabled{background:#2a2550;color:#a79dcc;box-shadow:none;cursor:default}
.ty-mgr{display:flex;gap:14px;align-items:center}
.ty-mgr canvas{width:72px;height:72px;flex:none;image-rendering:pixelated;box-shadow:0 0 0 3px #0d0b1a}
.ty-mgr p{margin:0 0 6px;font-size:15px;line-height:1.35;color:#ece7f7}
.ty-mgr p.ab{color:#7ef0ff;font-size:14px;margin:0}
.ty-tip{margin:0;font-size:13px;color:var(--muted)}
.ty-invg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 10px}
.ty-off{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0}
.ty-off .coin{width:30px;height:30px}
.ty-off .coin i{height:14px}
.ty-off b{font-family:'Silkscreen',monospace;font-size:34px;color:#9cf58c;text-shadow:3px 3px 0 #0a0816}
.ty-note{margin:0 0 6px;font-size:13px;color:var(--muted);text-align:center}
.stat{background:#08070f;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.stat b{font-family:'Silkscreen',monospace;font-weight:400;font-size:9px;color:var(--muted);text-transform:uppercase}
.stat span{font-family:'Silkscreen',monospace;font-size:15px;color:#fff}
.stat.warn span{color:var(--amber)}
@media (max-width:600px){
  .ty-top{gap:6px;padding:6px 8px}
  .ty-top .chip{width:44px;padding:0;justify-content:center;height:46px}
  .ty-hide{display:none}
  .ty-cash{padding:0 10px;gap:8px;height:46px}
  .ty-cash .coin{width:20px;height:20px}
  .ty-cv b{font-size:17px}
  .ty-cv small{font-size:12px}
  .ty-boost{min-width:58px;padding:0 6px;height:46px}
  .ty-inv{min-width:50px;padding:0 8px;height:46px}
  .ty-goal{top:8px;padding:7px 10px;column-gap:8px}
  .ty-goal .gt{font-size:14px}
  .ty-invg .stat span{font-size:12px}
}

/* ===== Lobby ===== */
.lobby{position:fixed;inset:0;overflow:hidden;background:#15132a}
.lb-glass{--wall:#1e2c52;--wall2:#253663;--accent:#ffb627;--floorA:#3a3358;--floorB:#433c66;background:#1e2c52}
.lb-tv{--wall:#2d2a48;--wall2:#36325a;--accent:#7ef0ff;--floorA:#2f2a45;--floorB:#3a3456;background:#2d2a48}
.lb-stage{position:absolute;left:0;top:0;width:1440px;height:900px;transform-origin:0 0}
.lb-stage>*{position:absolute;display:block}
.lb-stage i{display:block}
.lb-wall{left:-400px;top:-400px;width:2240px;height:1120px;background-color:var(--wall);background-image:repeating-linear-gradient(90deg,var(--wall2) 0 4px,transparent 4px 120px)}
.lb-ceil{left:-400px;top:-400px;width:2240px;height:446px;background:#0f0c24;box-shadow:inset 0 -6px 0 #07060f}
.lb-lamp{top:16px;width:180px;height:12px;background:#fff3d1;box-shadow:0 0 30px 8px rgba(255,236,190,.25)}
.lb-win{top:110px;width:300px;height:300px;background-color:#151133;background-image:repeating-linear-gradient(90deg,#15213f 0 6px,transparent 6px 100px),linear-gradient(transparent 62%,#241d52 62%);box-shadow:inset 0 0 0 8px #15213f}
.lb-port{top:150px;width:120px;height:120px;background:#1d1745;border-radius:0;clip-path:polygon(28.57% 0,71.43% 0,71.43% 14.29%,85.71% 14.29%,85.71% 28.57%,100% 28.57%,100% 71.43%,85.71% 71.43%,85.71% 85.71%,71.43% 85.71%,71.43% 100%,28.57% 100%,28.57% 85.71%,14.29% 85.71%,14.29% 71.43%,0 71.43%,0 28.57%,14.29% 28.57%,14.29% 14.29%,28.57% 14.29%);box-shadow:inset 0 0 0 10px #43e6ff55}
.lb-floor{left:-400px;top:720px;width:2240px;height:600px;background-color:var(--floorA);background-image:repeating-linear-gradient(90deg,var(--floorB) 0 60px,transparent 60px 120px),repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 45px);box-shadow:inset 0 6px 0 rgba(0,0,0,.35)}
.lb-neon{left:285px;top:430px;transform:translateX(-50%);font-family:'Silkscreen',monospace;font-weight:700;font-size:30px;color:var(--accent);text-shadow:0 0 8px var(--accent),0 0 22px var(--accent);background:#0d0b1a;padding:12px 20px;box-shadow:inset 0 0 0 3px #000,inset 0 0 0 6px #2a2550;white-space:nowrap}
.lb-desk{left:140px;top:600px;width:290px;height:120px;background:#6b4a32;box-shadow:inset 0 -10px 0 #4a3222,inset -14px 0 0 rgba(0,0,0,.2)}
.lb-desktop{left:130px;top:590px;width:310px;height:14px;background:#8a5a3c}
.lb-recep{left:270px;top:546px;display:flex!important;flex-direction:column;align-items:center}
.lb-recep .hd{width:20px;height:20px;background:#f1c7a1}
.lb-recep .bd{width:30px;height:24px;background:#4fbf9a}
.lb-bell{left:190px;top:578px;width:18px;height:12px;background:#ffd84d;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}
.lb-plant{top:600px;width:50px;height:120px}
.lb-plant::before{content:'';position:absolute;left:5px;bottom:0;width:40px;height:36px;background:#8a5a3c}
.lb-plant i{position:absolute;left:0;bottom:30px;width:50px;height:80px;background:#2f7f40;box-shadow:inset -10px 0 0 #1f6b47}
.lb-sofa{left:1040px;top:640px;width:220px;height:80px;background:#7c5cd6;box-shadow:inset 0 30px 0 #6a4cc0,inset 0 -10px 0 #4a3592}
.lb-ind{left:620px;top:220px;width:200px;height:64px;display:flex!important;align-items:center;justify-content:center;gap:14px;background:#08070f;box-shadow:inset 0 0 0 3px #000,inset 0 0 0 6px #2a2550}
.lb-ind .ledtxt{font-family:'Silkscreen',monospace;color:var(--accent);text-shadow:0 0 10px var(--accent)}
.lb-ind svg{width:24px;height:24px;display:block}
.lb-ind .ledtxt{display:block;transition:opacity .2s}
.lb-num{font-size:40px;font-weight:700;min-width:76px;text-align:center}
.lb-frame{left:580px;top:296px;width:280px;height:424px;background:#8a8faa;box-shadow:inset 0 0 0 6px #5d6180}
.lb-shaft{left:600px;top:316px;width:240px;height:404px;overflow:hidden;background:#1a1730}
.lb-cabin{position:absolute;left:0;top:0;width:240px;height:404px;background:#ffe08a;box-shadow:inset 0 0 0 10px #c9a860}
.lb-cabin i{position:absolute;left:20px;right:20px;top:200px;height:8px;background:#9aa0bc}
.lb-door{position:absolute;top:0;width:120px;height:404px;background-color:#b6bccd;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 2px,transparent 2px 14px);transition:transform .9s steps(10)}
.lb-door.l{left:0;box-shadow:inset -3px 0 0 #5d6180}
.lb-door.r{left:120px;box-shadow:inset 3px 0 0 #5d6180}
.lb-shaft.open .lb-door.l{transform:translateX(-100%)}
.lb-shaft.open .lb-door.r{transform:translateX(100%)}
.lb-call{left:880px;top:470px;width:44px;height:80px;background:#8a8faa;box-shadow:inset 0 0 0 4px #5d6180;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.lb-call i{width:18px;height:18px;background:#c9cde0;clip-path:polygon(28.57% 0,71.43% 0,100% 28.57%,100% 71.43%,71.43% 100%,28.57% 100%,0 71.43%,0 28.57%)}
.lb-call.lit i:last-child{background:var(--accent)}
.lb-guy{display:flex!important;flex-direction:column;align-items:center}
.lb-guy .hd{width:18px;height:18px;background:#f1c7a1}
.lb-guy .bd{width:28px;height:34px}
.lb-guy .lg{width:24px;height:20px;background:linear-gradient(90deg,#1d1a2b 0 9px,transparent 9px 15px,#1d1a2b 15px 24px)}
.lb-wait{left:500px;top:648px}
.lb-walk{left:-60px;top:648px;animation:lbwalk 18s linear infinite}
@keyframes lbwalk{0%{transform:translateX(0)}40%{transform:translateX(560px)}52%{transform:translateX(560px)}100%{transform:translateX(1560px)}}
.lb-back{position:absolute;left:16px;top:16px;z-index:6}
.lb-board{position:absolute;right:4vw;top:50%;transform:translateY(-50%);width:min(400px,36vw);background:var(--panel);box-shadow:inset 0 0 0 4px #0a0816,inset 0 8px 0 0 #221d42;padding:26px;display:flex;flex-direction:column;gap:14px;z-index:5}
.lb-board .k{font-family:'Silkscreen',monospace;font-size:11px;color:var(--muted);letter-spacing:.5px}
.lb-board .ttl{font-family:'Silkscreen',monospace;font-weight:700;font-size:38px;line-height:1;text-shadow:4px 4px 0 #0a0816;color:var(--accent)}
.lb-board .d{margin:0;font-size:16px;line-height:1.4;color:#ece7f7}
.lb-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:15px;color:#fff}
.lb-stats b{font-family:'Silkscreen',monospace;font-weight:400;font-size:10px;color:var(--muted);margin-right:6px;text-transform:uppercase}
.lb-btns{display:flex;gap:10px;flex-wrap:wrap}
.lb-btns .btn-amber{display:flex;align-items:center;gap:8px;background:var(--accent)}
.lb-btns .btn-amber svg{width:16px;height:16px}
.lb-btns button[disabled]{opacity:.6;cursor:default}
.lb-fade{position:absolute;inset:0;background:#07060f;opacity:0;transition:opacity .45s;pointer-events:none;z-index:20}
.lb-fade.on{opacity:1}
@media (max-aspect-ratio:11/10){
  .lb-board{left:14px;right:14px;bottom:14px;top:auto;transform:none;width:auto;padding:16px 18px;gap:10px}
  .lb-board .ttl{font-size:26px}
  .lb-board .d{font-size:14px}
  .lb-back{top:12px;left:12px}
}
.lb-board{max-height:calc(100% - 32px);overflow:auto}
@media (max-height:480px){
  .lb-board{padding:14px 16px;gap:8px;max-height:calc(100% - 24px)}
  .lb-board .ttl{font-size:24px}
  .lb-board .d{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}
@media (min-width:1000px){.ty-goal{left:20px;top:18px;transform:none;width:360px}}
#sh-body{display:flex;flex-direction:column;gap:10px}

/* ===== Deine Stadt: Erweiterungen ===== */
.ty-col{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:min(440px,calc(100% - 20px));display:flex;flex-direction:column;gap:6px;z-index:4;pointer-events:none}
.ty-col>*{pointer-events:auto}
.ty-col .ty-goal{position:static;left:auto;top:auto;transform:none;width:100%}
@media (min-width:1000px){.ty-col{left:20px;top:18px;transform:none;width:360px}}
.ty-ev{--ec:#ff4f6d;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:5px;align-items:center;padding:8px 12px;background:#0d0b1a;box-shadow:inset 0 0 0 3px var(--ec);animation:tyPulse .8s steps(2) infinite}
.ty-ev[hidden],.ty-req[hidden]{display:none}
.ty-ev b{font-family:'Silkscreen',monospace;font-size:14px;color:var(--ec)}
.ty-ev span{font-family:'Silkscreen',monospace;font-size:13px;color:#fff;text-align:right}
.ty-ev small{grid-column:1/3;font-size:14px;color:#fff}
.ty-ev .bar,.ty-req .bar{grid-column:1/3;display:block;height:5px;background:#2a2550}
.ty-ev .bar i{display:block;height:100%;background:var(--ec)}
.ty-req{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;background:#0d0b1a;box-shadow:inset 0 0 0 3px #7ef0ff}
.ty-req>div{flex:1;min-width:0;display:grid;grid-template-columns:1fr;row-gap:3px}
.ty-req b{font-family:'Silkscreen',monospace;font-size:12px;color:#7ef0ff}
.ty-req span{font-size:14px;line-height:1.2;color:#fff}
.ty-req .bar{grid-column:1}
.ty-req .bar i{display:block;height:100%;background:#7ef0ff}
.ty-req .btn-amber{min-height:40px;padding:0 12px;font-size:12px;flex:none}
.ty-req .btn-amber[hidden]{display:none}
.ty-mus{height:48px;width:48px;border:0;display:flex;align-items:center;justify-content:center;background:#2a2550;color:#7a7099;cursor:pointer;flex:none}
.ty-mus svg{width:18px;height:18px}
.ty-mus.on{background:#4fbf9a;color:#0d0b1a}
.ty-dock{flex:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#0d0b1a;box-shadow:inset 0 4px 0 #000;z-index:5}
.ty-dock button{position:relative;height:54px;border:0;background:#15122b;color:#cfc6e8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-family:'Silkscreen',monospace;font-size:10px}
.ty-dock button:hover{background:#221d42}
.ty-dock svg{width:20px;height:20px;color:var(--amber)}
.ty-dock .bd{position:absolute;top:4px;right:6px;min-width:20px;height:18px;padding:0 4px;background:#ff4f6d;color:#fff;font-style:normal;font-family:'Silkscreen',monospace;font-size:10px;line-height:18px;text-align:center;animation:tyPulse 1s steps(2) infinite}
.ty-dock .bd[hidden]{display:none}
.ty-sh.wide{width:min(620px,100%)}
.ty-pbody{display:flex;flex-direction:column;gap:12px}
.ty-ms .t2{font-size:12px;color:#ff6fa8;margin-top:6px}
.ty-tip[hidden]{display:none}
/* Super-Manager */
.ty-crates{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.ty-crates .cbox{display:flex;align-items:center;gap:8px;padding:0 12px;background:#0d0b1a;min-height:48px}
.ty-crates .cbox b{font-family:'Silkscreen',monospace;font-size:22px;color:#fff}
.ty-crates .cbox span{font-size:13px;color:var(--muted)}
.crate-ic{display:block;width:26px;height:22px;background:#9a6a3a;box-shadow:inset 0 4px 0 #c08a52,inset 0 -4px 0 #7a4f28}
.ty-crates .btn-amber,.ty-crates .btn-ghost{flex:1;min-width:140px;font-size:12px}
.ty-crates button:disabled{opacity:.45;cursor:default}
.ty-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ty-slot{background:#0d0b1a;padding:8px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-height:118px}
.ty-slot .k{font-family:'Silkscreen',monospace;font-size:10px;color:var(--muted)}
.ty-slot canvas{width:40px;height:40px;image-rendering:pixelated}
.ty-slot b{font-size:12px;line-height:1.1}
.ty-slot small{font-size:11px;color:#9cf58c;line-height:1.15}
.ty-slot .emp{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#15122b;color:#5e5776;font-style:normal;font-size:22px}
.ty-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}
.ty-card{--rc:#b6bccd;position:relative;border:0;background:#0d0b1a;color:#fff;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;box-shadow:inset 0 0 0 2px var(--rc);cursor:pointer;font-family:'Pixelify Sans',monospace}
.ty-card canvas{width:48px;height:48px;image-rendering:pixelated}
.ty-card b{font-size:12px;line-height:1.1}
.ty-card small{font-size:11px;color:#9cf58c;line-height:1.15}
.ty-card .stars{font-size:11px;color:#ffd84d;letter-spacing:1px}
.ty-card .tag{font-family:'Silkscreen',monospace;font-size:8px;color:var(--muted)}
.ty-card.on{background:#221d42;box-shadow:inset 0 0 0 4px var(--rc)}
.ty-card.on .tag{color:var(--rc)}
.ty-card.unk{opacity:.55;cursor:default}
.ty-card.unk .q{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#15122b;font-family:'Silkscreen',monospace;font-size:24px;color:var(--rc)}
.ty-reveal{position:absolute;inset:0;background:rgba(7,6,15,.94);display:flex;align-items:center;justify-content:center;z-index:5}
.rv-crate{width:96px;height:80px;background:#9a6a3a;box-shadow:inset 0 10px 0 #c08a52,inset 0 -10px 0 #7a4f28,0 0 0 4px #0d0b1a;animation:rvShake .12s steps(2) infinite}
.rv-crate i{display:block;width:16px;height:80px;margin:0 auto;background:#ffd84d}
@keyframes rvShake{0%{transform:translate(-3px,0) rotate(-3deg)}100%{transform:translate(3px,-2px) rotate(3deg)}}
.rv-card{--rc:#b6bccd;display:none;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:22px 26px;background:#15122b;box-shadow:inset 0 0 0 4px var(--rc),0 0 60px 10px var(--rc);max-width:300px}
.ty-reveal.show .rv-crate{display:none}
.ty-reveal.show .rv-card{display:flex;animation:rvPop .4s steps(5) both}
@keyframes rvPop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
.rv-card .rr{font-family:'Silkscreen',monospace;font-size:12px;color:var(--rc)}
.rv-card canvas{width:96px;height:96px;image-rendering:pixelated}
.rv-card b{font-family:'Silkscreen',monospace;font-size:18px}
.rv-card small{font-size:14px;color:#9cf58c}
.rv-card .stars{color:#ffd84d;font-size:16px;letter-spacing:2px}
.rv-card .res{font-family:'Silkscreen',monospace;font-size:16px;color:#0d0b1a;background:var(--rc);padding:4px 10px}
.rv-btns{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center}
.ty-reveal.r3 .rv-card{animation:rvPop .4s steps(5) both,tyPulse .6s steps(2) infinite .4s}
/* Forschung */
.ty-pat{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:4px 10px;padding:10px 12px;background:#0d0b1a}
.ty-pat b{font-family:'Silkscreen',monospace;font-size:26px;color:#7ef0ff}
.ty-pat span{font-family:'Silkscreen',monospace;font-size:12px;color:#7ef0ff}
.ty-pat small{grid-column:1/4;font-size:12px;color:var(--muted)}
.ty-br{display:flex;flex-direction:column;gap:4px}
.ty-br .bh{font-family:'Silkscreen',monospace;font-size:12px;color:var(--amber);margin:4px 0 2px}
.ty-node{display:flex;align-items:center;gap:10px;background:#0d0b1a;padding:9px 10px}
.ty-node.sub{margin-left:16px;box-shadow:inset 3px 0 0 #2a2550}
.ty-node.lock{opacity:.5}
.ty-node .nt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ty-node .nt b{font-size:14px}
.ty-node .nt small{font-size:12px;color:#9cf58c}
.ty-node.lock .nt small{color:var(--muted)}
.pips{display:flex;gap:3px}
.pips i{display:block;width:10px;height:5px;background:#2a2550}
.pips i.on{background:#7ef0ff}
.ty-node button{flex:none;min-width:64px;height:40px;border:0;background:#7ef0ff;color:#0d0b1a;font-family:'Silkscreen',monospace;font-size:13px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.ty-node button svg{width:12px;height:12px}
.ty-node button:disabled{background:#2a2550;color:#7a7099;cursor:default}
/* Investoren & Bezirke */
.ty-invg.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ty-dist{margin-top:6px;padding-top:12px;box-shadow:inset 0 3px 0 #2a2550;display:flex;flex-direction:column;gap:8px}
.ty-dist .k{font-family:'Silkscreen',monospace;font-size:14px;color:#ff6fa8}
.ty-buy.dist:not(:disabled){background:#ff6fa8;color:#0d0b1a}
.ty-buy:disabled{opacity:.6}
/* Statistik */
.ty-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ty-stats .stat span{font-size:14px}
.ty-lb{display:flex;flex-direction:column;gap:5px}
.ty-lb .k{font-family:'Silkscreen',monospace;font-size:14px;color:var(--amber)}
.ty-lbr{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;background:#0d0b1a;padding:9px 12px;font-size:14px}
.ty-lbr i{font-style:normal;font-family:'Silkscreen',monospace;color:var(--amber)}
.ty-lbr b{font-family:'Silkscreen',monospace;font-size:13px}
.ty-lbr.ghost{opacity:.4}
@media (max-width:600px){
  .ty-mus{width:44px;height:46px}
  .ty-dock button{height:50px;font-size:9px}
  .ty-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ty-slot b{font-size:11px}
}

/* Einführung, Sperren, Menge */
.ty-goal.step{cursor:default;box-shadow:inset 0 0 0 3px #ffb627;animation:none;background:rgba(13,11,26,.94);color:#fff}
.ty-goal.step .gk{background:#ffb627;color:#0d0b1a}
.ty-goal.step .gt{white-space:normal;line-height:1.25;font-size:14px}
.ty-goal.step .gb i{background:#ffb627}
.ty-dock button.lock,.ty.intro .ty-dock button{filter:grayscale(1);opacity:.35}
.ty-dock button.lock::before{content:'';position:absolute;top:7px;right:9px;width:8px;height:6px;background:#a79dcc;box-shadow:0 -4px 0 -1px #15122b,0 -5px 0 0 #a79dcc}
.ty-dock button.new{box-shadow:inset 0 0 0 3px #9cf58c;animation:tyPulse .9s steps(2) infinite}
.ty-boost.lock,.ty.intro .ty-boost{background:#221d42!important;color:#5e5776!important;animation:none!important}
.ty.intro .ty-mus{opacity:.35}
.ty-modec{position:static;flex:none;height:48px;min-width:58px;padding:0 10px;border:0;background:#0d0b1a;color:#9cf58c;font-family:'Silkscreen',monospace;font-size:15px;cursor:pointer;box-shadow:inset 0 0 0 3px #9cf58c}
.ty-modec[hidden]{display:none}
.ty-reveal{position:fixed;z-index:40}
.ty-reset{margin-top:6px;background:#2a1520!important;color:#ff8a9a!important}
/* Stadt mit mehreren Türmen */
.ty-dock{grid-template-columns:repeat(5,1fr)}
.ty-dock button.on{background:#ffb627;color:#0d0b1a}
.ty-dock button.on svg{color:#0d0b1a}
.ty.citymode .ty-modec{display:none}
.ty-fadeov{position:absolute;inset:0;background:#07060f;z-index:6;pointer-events:none;animation:tyFade .42s steps(6) both}
@keyframes tyFade{0%{opacity:0}40%{opacity:1}60%{opacity:1}100%{opacity:0}}
.ty-plot{display:flex;gap:14px;align-items:center}
.ty-plot canvas{flex:none;width:100px;height:130px;image-rendering:pixelated;box-shadow:0 0 0 3px #0d0b1a}
.ty-plot .k{font-family:'Silkscreen',monospace;font-size:11px;color:var(--amber);margin-bottom:6px}
.ty-plot p{margin:0 0 6px}
@media (max-width:600px){.ty-dock{gap:4px;padding-left:6px;padding-right:6px}.ty-dock button{font-size:8px}}
.ty-cash.bump .ty-cv b{animation:cashBump .22s steps(3)}
.ty-cash.bump .coin{animation:cashBump .22s steps(3)}
@keyframes cashBump{0%{transform:scale(1)}40%{transform:scale(1.18);color:#ffd84d}100%{transform:scale(1)}}
.ty-cv b{display:inline-block;transform-origin:left center}
/* Einführung, Hinweise, Einstellungen */
.ty-goal.step .gt b{color:#ffb627;margin-right:4px}
.ty-goal.step.ok{box-shadow:inset 0 0 0 3px #9cf58c;background:#14301e}
.ty-hint.soft{background:#ffb627}
.ty-hint.soft::after{background:#ffb627}
.ty-intro{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:6px;margin:6px 0 12px}
.ty-intro .ti{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;background:#0d0b1a;padding:12px 6px}
.ty-intro .ti b{font-family:'Silkscreen',monospace;font-size:12px;color:#0d0b1a;background:#ffb627;width:22px;height:22px;line-height:22px}
.ty-intro .ti span{font-size:13px;line-height:1.2;color:#ece7f7}
.ty-intro .tarr{font-style:normal;color:#ffb627;font-size:14px}
.tic{display:block;width:40px;height:34px;position:relative}
.tic.f{background:#9a6a3a;box-shadow:inset 0 5px 0 #c08a52,inset 0 -5px 0 #7a4f28}
.tic.f i{position:absolute;left:8px;top:-12px;width:14px;height:12px;background:#c9a46a}
.tic.l{background:#b6bccd;box-shadow:inset 0 0 0 4px #b6bccd,inset 0 0 0 40px #3a3358}
.tic.l i{position:absolute;left:18px;top:4px;width:4px;height:26px;background:#9aa0bc}
.tic.b{background:#f4efe6;box-shadow:inset 0 4px 0 #e0565b}
.tic.b i{position:absolute;right:-8px;top:-8px;width:16px;height:16px;background:#ffd84d;box-shadow:inset -3px -3px 0 #b37600}
.ty-coach{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);width:min(420px,calc(100% - 20px));z-index:5;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;background:rgba(13,11,26,.96);box-shadow:inset 0 0 0 3px #7ef0ff}
.ty-coach[hidden]{display:none}
.ty-coach.in{animation:tyUp2 .25s steps(4) both}
@keyframes tyUp2{from{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.ty-coach .ci{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#7ef0ff;color:#0d0b1a;font-style:normal;font-family:'Silkscreen',monospace;font-weight:700}
.ty-coach span{flex:1;font-size:14px;line-height:1.3;color:#fff}
.ty-coach .btn-amber{min-height:38px;padding:0 14px;font-size:12px;flex:none}
.ty-togs{display:flex;flex-direction:column;gap:6px}
.ty-tog{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:#0d0b1a;color:#fff;padding:12px 14px;cursor:pointer;text-align:left;font-family:'Pixelify Sans',monospace}
.ty-tog span{display:flex;flex-direction:column;gap:3px}
.ty-tog b{font-size:15px;font-weight:600}
.ty-tog small{font-size:12px;color:var(--muted)}
.ty-tog i{flex:none;width:58px;height:28px;background:#2a2550;position:relative;font-style:normal}
.ty-tog i em{position:absolute;left:4px;top:4px;width:28px;height:20px;background:#5e5776;color:#cfc6e8;font-style:normal;font-family:'Silkscreen',monospace;font-size:9px;line-height:20px;text-align:center}
.ty-tog.on i{background:#2f6a4a}
.ty-tog.on i em{left:26px;background:#9cf58c;color:#0d0b1a}
.ty-mus svg{width:20px;height:20px}
.ty-mus{color:#cfc6e8}

/* Kaufmenge sitzt jetzt oben in der Leiste */
@media (max-width:600px){.ty-modec{height:46px;min-width:46px;padding:0 6px;font-size:13px}}
.ty-tip.good{color:#9cf58c}
.ty-tip.bad{color:#ff8a9a}
.stat.good span{color:#9cf58c}
.stat.bad span{color:#ff6b7a}
/* Türme: Kassen, Strategien */
.ty-offl{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.ty-offl div{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;background:#0d0b1a;font-size:15px}
.ty-offl b{font-family:'Silkscreen',monospace;font-weight:400;color:#9cf58c}
.ty-strl{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.35;color:#cfc6e8}
.ty-strl b{color:#ffb627}
.ty-strat{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px}
.ty-strat div{display:flex;flex-direction:column;gap:4px;padding:10px;background:#0d0b1a;font-size:14px;line-height:1.35;color:#cfc6e8}
.ty-strat b{font-family:'Silkscreen',monospace;font-size:13px;color:#ffb627}
.ty-strat .last{box-shadow:inset 0 0 0 2px #5e5776}
.ty-node em.or{font-style:normal;font-family:'Silkscreen',monospace;font-size:9px;color:#0d0b1a;background:#ff8fd0;padding:1px 4px;margin-left:4px;vertical-align:middle}
@media (max-width:420px){.ty-strat{grid-template-columns:1fr}}
/* Täglich */
.ty-dstreak{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:10px}
.ty-dstreak .dt{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;background:#0d0b1a;text-align:center;min-width:0}
.ty-dstreak .dt span{font-family:'Silkscreen',monospace;font-size:9px;color:var(--muted)}
.ty-dstreak .dt b{font-size:11px;line-height:1.2;color:#cfc6e8;font-weight:400;word-break:break-word}
.ty-dstreak .dt.done{background:#1d3a2a}
.ty-dstreak .dt.done b{color:#9cf58c}
.ty-dstreak .dt.now{box-shadow:inset 0 0 0 3px #ffb627;animation:tyPulse .8s steps(2) infinite}
.ty-dstreak .dt.big b{color:#ffd84d}
.dq{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0d0b1a}
.dq>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.dq b{font-size:14px;font-weight:600;color:#fff}
.dq small{font-size:12px;color:var(--muted)}
.dq .bar{display:block;height:6px;background:#2a2550}
.dq .bar i{display:block;height:100%;background:#9cf58c}
.dq button{flex:none;height:40px;padding:0 10px;font-size:12px;max-width:44%}
.dq .ok{font-style:normal;color:#9cf58c;font-size:20px;padding:0 8px}
.dq.got{opacity:.55}
@media (max-width:420px){.ty-dstreak .dt b{font-size:9px}}
/* Bonus-Stopp */
.ty-bs{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;background:rgba(7,6,15,.55)}
.ty-bs[hidden]{display:none}
.bs-box{width:min(300px,calc(100% - 32px));display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;background:#15122b;box-shadow:inset 0 0 0 4px #9cf58c}
.bs-box b{font-family:'Silkscreen',monospace;font-size:18px;color:#9cf58c}
.bs-box small{font-size:14px;color:#cfc6e8;text-align:center;min-height:20px}
.bs-track{position:relative;width:64px;height:200px;background:#0d0b1a;box-shadow:inset 0 0 0 3px #2a2550}
.bs-zone{position:absolute;left:3px;right:3px;height:18%;background:rgba(156,245,140,.25)}
.bs-zone i{position:absolute;left:0;right:0;top:calc(50% - 4px);height:8px;background:#9cf58c}
.bs-cab{position:absolute;left:10px;right:10px;height:16px;margin-top:-8px;background:#ffb627;box-shadow:inset 0 -3px 0 #b37600}
.bs-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.bs-btns .btn-amber{min-width:120px;font-size:18px}
.ty-bs.res .bs-btns{visibility:hidden}
.ty-bs.res small{font-family:'Silkscreen',monospace;font-size:16px;color:#ffd84d}
