@font-face{font-family:'EricaOne';src:url('../assets/fonts/EricaOne-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
*{box-sizing:border-box;margin:0;padding:0;}
 :root{
   --ink:#3a2410;--muted:#7c5a33;--parch:#f6e6c4;--parch2:#efe0bc;--parchLine:#caa96f;
   --wood:#7a4f28;--woodHi:#a06f3c;--woodLo:#5e3c1e;--woodEdge:#4a3016;
   --gold:#e8a838;--goldDark:#b9781f;--good:#4f8f43;--bad:#c25b4e;--milk:#fffdf5;
   --fs-head:1.02cqw;--fs-body:.84cqw;--fs-small:.72cqw;--fs-brand:1.5cqw;--fs-num:1.3cqw;
 }
 html,body{height:100%;}
 body{font-family:'Trebuchet MS','Segoe UI',Verdana,sans-serif;overflow:hidden;color:var(--ink);background:#1c140d;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;}
 .game{position:relative;width:min(100vw,177.78vh);height:min(56.25vw,100vh);container-type:size;overflow:hidden;box-shadow:0 0 3cqw rgba(0,0,0,.6);}
 .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
 .game::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 58%,rgba(0,0,0,0) 46%,rgba(24,14,7,.5) 100%);}

 /* ===== RASTER ===== */
 .grid{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:16.5cqw 1fr 27cqw;grid-template-rows:auto 1fr;column-gap:1.2cqw;row-gap:1cqh;padding:1.4cqh 1.3cqw 1.6cqh;}
 .topbar{grid-column:1/4;grid-row:1;display:grid;grid-template-columns:16.5cqw 1fr 27cqw;column-gap:1.2cqw;align-items:center;}
 .col-left{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:space-between;gap:1cqh;min-height:0;position:relative;}
 .eckmaus{position:absolute;left:1.5cqw;bottom:6.5cqh;height:12cqh;width:auto;z-index:1;cursor:pointer;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 .5cqw .4cqw rgba(0,0,0,.4));transition:transform .15s ease;}
 .eckmaus:hover{transform:translateY(-.6cqh) rotate(-2deg);}
 .eckmaus.wob{animation:eckwob .5s ease;}
 @keyframes eckwob{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-1cqh) rotate(-5deg)}55%{transform:translateY(0) rotate(4deg)}80%{transform:translateY(-.3cqh) rotate(-2deg)}}
 .col-stage{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:center;min-height:0;}
 .col-right{grid-column:3;grid-row:2;display:flex;flex-direction:column;min-height:0;}

 .brand{font-family:'EricaOne','Trebuchet MS',Verdana,sans-serif;grid-column:1/3;font-size:var(--fs-brand);font-weight:900;color:var(--milk);text-shadow:0 2px 3px rgba(0,0,0,.75);line-height:1.05;}
 .brand small{font-family:'Trebuchet MS','Segoe UI',Verdana,sans-serif;display:block;font-size:var(--fs-body);color:var(--gold);font-weight:700;}
 .stats{grid-column:3;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.55cqw;}
 .stat{display:flex;align-items:center;justify-content:center;gap:.4cqw;min-width:0;overflow:hidden;padding:.6cqh .5cqw;border-radius:.7cqw;background:linear-gradient(180deg,rgba(58,36,16,.92),rgba(38,22,10,.96));border:2px solid var(--goldDark);box-shadow:0 .3cqw .5cqw rgba(0,0,0,.35);}
 .stat .ico{font-size:1.15cqw;flex:0 0 auto;}
 .stat>div{min-width:0;overflow:hidden;}
 .stat .v{font-size:var(--fs-num);font-weight:900;color:var(--gold);line-height:1;white-space:nowrap;}
 .stat .l{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.3px;color:var(--milk);opacity:.82;white-space:nowrap;}

 /* ===== Panel ===== */
 .panel{background:linear-gradient(180deg,var(--woodHi),var(--wood) 20%,var(--woodLo));border-radius:.9cqw;padding:.5cqw;box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 6px rgba(0,0,0,.4),0 .6cqw 1.1cqw rgba(0,0,0,.45);}
 .panel .bd{height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.02) 0 2px,rgba(0,0,0,0) 2px 4px),var(--parch);border:1px solid var(--parchLine);border-radius:.6cqw;padding:.7cqw;display:flex;flex-direction:column;min-height:0;}
 .panel-hd{flex:0 0 auto;text-align:center;font-size:var(--fs-head);font-weight:900;color:var(--ink);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.6cqh;margin-bottom:.6cqh;border-bottom:2px solid var(--parchLine);}

 /* ===== Nav ===== */
 .nav{flex:0 1 auto;min-height:0;}
 .nav .bd{gap:.42cqh;padding:.55cqw;}
 .tab{display:flex;align-items:center;gap:.6cqw;padding:.55cqh .7cqw;border-radius:.5cqw;cursor:pointer;background:linear-gradient(180deg,#f8ecce,#efe0bc);border:1.5px solid var(--parchLine);box-shadow:inset 0 1px 0 rgba(255,255,255,.5);}
 .tab .ti{font-size:1.25cqw;width:1.7cqw;text-align:center;line-height:1;}
 .tab .ti-img{width:2.1cqw;height:2.1cqw;object-fit:contain;flex:0 0 auto;-webkit-user-drag:none;filter:drop-shadow(0 .1cqw .1cqw rgba(0,0,0,.25));}
 .tab .tl{font-size:var(--fs-head);font-weight:800;color:var(--ink);}
 .tab .tbadge{margin-left:auto;font-size:var(--fs-small);font-weight:900;color:#fff;background:var(--goldDark);border-radius:1cqw;padding:.05cqh .5cqw;}
 .tab.active{border-color:var(--goldDark);background:linear-gradient(180deg,#ffe9b0,#f4d488);box-shadow:inset 0 0 0 2px var(--gold);}
 .tab.locked{opacity:.5;cursor:default;}
 .tab.locked .tl{color:var(--muted);}

 /* ===== Boss ===== */
 .boss{flex:0 0 auto;height:33cqh;}
 .boss .bd{flex-direction:column;align-items:center;justify-content:flex-start;gap:.8cqh;padding:.9cqw 1cqw 1.2cqw;overflow:hidden;text-align:center;}
 .boss .bname{flex:0 0 auto;font-size:var(--fs-head);font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
 .boss .pf{flex:0 0 auto;width:7cqw;height:7cqw;border-radius:1cqw;overflow:hidden;background:radial-gradient(circle at 50% 40%,#fbeccb,#e6cfa0);border:.38cqw solid var(--wood);box-shadow:inset 0 0 0 .12cqw #caa96f;cursor:pointer;user-select:none;}
 .boss .pf img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;display:block;-webkit-user-drag:none;}
 .boss .bsay{flex:0 0 auto;margin-top:auto;padding-top:1cqh;font-size:.96cqw;font-style:italic;color:var(--ink);line-height:1.4;}

 /* ===== Stage ===== */
 .sign{flex:0 0 auto;font-size:var(--fs-head);font-weight:900;color:var(--milk);letter-spacing:1px;background:linear-gradient(180deg,var(--woodHi),var(--woodLo));border:2px solid var(--woodEdge);border-radius:.55cqw;padding:.45cqh 1.3cqw;box-shadow:0 .3cqw .5cqw rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.5);}
 .clickinfo{flex:0 0 auto;margin-top:.5cqh;font-size:var(--fs-body);color:var(--milk);background:rgba(0,0,0,.45);padding:.4cqh 1.1cqw;border-radius:1cqw;text-align:center;}
 .clickinfo b{color:var(--gold);}
 .clickinfo .fl{color:#bfe3a8;font-weight:700;}
 .platform{position:relative;flex:1 1 auto;width:100%;min-height:0;}
 .spot{position:absolute;bottom:2cqh;left:50%;transform:translateX(-50%);width:30cqw;height:30cqw;border-radius:50%;background:radial-gradient(circle,rgba(255,240,200,.3),rgba(255,240,200,0) 62%);pointer-events:none;z-index:1;}
 .stroh{position:absolute;bottom:3cqh;left:50%;transform:translateX(-50%);width:22cqw;height:auto;z-index:3;-webkit-user-drag:none;user-select:none;filter:drop-shadow(0 .6cqw .6cqw rgba(0,0,0,.4));}
 .mouse{position:absolute;bottom:13.5cqh;left:50%;transform:translateX(-50%);height:32cqh;width:auto;cursor:pointer;user-select:none;-webkit-user-drag:none;z-index:5;filter:drop-shadow(0 .6cqw .5cqw rgba(0,0,0,.4));}
 .mouse.squish{animation:squish .18s ease;}
 @keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-1.1cqh)}}
 @keyframes squish{0%{transform:translateX(-50%) scale(1,1)}45%{transform:translateX(-50%) translateY(-.6cqh) scale(1.05,.93)}100%{transform:translateX(-50%) scale(1,1)}}
 .bucket{position:absolute;bottom:2cqh;left:calc(50% + 12cqw);width:auto;height:12cqh;z-index:5;-webkit-user-drag:none;user-select:none;filter:drop-shadow(0 .5cqw .4cqw rgba(0,0,0,.4));}
 .unit{position:absolute;transform:translateX(-50%);pointer-events:none;line-height:1;filter:drop-shadow(0 .4cqw .35cqw rgba(0,0,0,.4));animation:popin .28s ease;}
 img.unit-img{width:auto;-webkit-user-drag:none;user-select:none;}
 .deco{position:absolute;transform:translateX(-50%);height:auto;z-index:2;pointer-events:none;-webkit-user-drag:none;user-select:none;filter:drop-shadow(0 .35cqw .3cqw rgba(0,0,0,.4));animation:popin .3s ease;}
 .deco.hang{display:flex;flex-direction:column;align-items:center;filter:none;}
 .deco.hang .rope{width:.32cqw;border-radius:.2cqw;background:repeating-linear-gradient(38deg,#a6743e 0 .22cqw,#6e451f .22cqw .44cqw);box-shadow:inset -.06cqw 0 0 rgba(0,0,0,.25);}
 .deco.hang img{width:100%;height:auto;filter:drop-shadow(0 .3cqw .3cqw rgba(0,0,0,.35));}
 @keyframes popin{from{opacity:0;transform:translateX(-50%) translateY(1cqh) scale(.5)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
 .unit.wob{animation:wob 3.2s ease-in-out infinite;}
 @keyframes wob{0%,100%{transform:translateX(-50%) rotate(-3deg)}50%{transform:translateX(-50%) rotate(3deg)}}
 .drop{position:absolute;width:1.9cqw;height:auto;pointer-events:none;z-index:6;-webkit-user-drag:none;filter:drop-shadow(0 .15cqw .15cqw rgba(0,0,0,.3));}
 /* Idle-Meter (passiv) */
 .idle-meter{flex:0 0 auto;margin-top:.5cqh;width:22cqw;background:rgba(0,0,0,.45);border:1px solid var(--goldDark);border-radius:.7cqw;padding:.5cqh .9cqw;color:var(--milk);}
 .idle-meter .il{display:flex;justify-content:space-between;font-size:var(--fs-small);font-weight:700;margin-bottom:.35cqh;}
 .idle-bar{height:.9cqh;background:rgba(255,255,255,.18);border-radius:.5cqw;overflow:hidden;}
 .idle-bar>div{height:100%;width:0%;background:linear-gradient(90deg,#9ecb8f,#6ba368);transition:width .12s linear;}

 /* ===== Inhalt (rechte Spalte) ===== */
 .col-right .panel{flex:1 1 auto;min-height:0;}
 .col-right .bd{padding:.65cqw;}
 #tab-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.25cqw;}
 #tab-body::-webkit-scrollbar{width:.5cqw;}
 #tab-body::-webkit-scrollbar-thumb{background:var(--parchLine);border-radius:1cqw;}
 .buyrow{display:flex;align-items:center;gap:.3cqw;margin-bottom:.7cqh;flex-wrap:wrap;position:sticky;top:0;background:var(--parch);z-index:3;padding:.2cqh 0 .5cqh;box-shadow:0 .3cqw .4cqw -.2cqw rgba(0,0,0,.15);}
 .buyrow span{font-size:var(--fs-small);color:var(--muted);font-weight:800;text-transform:uppercase;margin-right:auto;}
 .amt{font-family:inherit;font-size:var(--fs-body);font-weight:800;color:var(--ink);padding:.28cqh .6cqw;border-radius:.4cqw;border:1.5px solid var(--parchLine);background:#f2e3c0;cursor:pointer;}
 .amt.active{background:var(--gold);border-color:var(--goldDark);}
 .subhd{font-size:var(--fs-small);font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:.5cqh 0 .5cqh;border-bottom:1px dashed var(--parchLine);padding-bottom:.25cqh;}
 .card{display:flex;align-items:center;gap:.6cqw;width:100%;text-align:left;padding:.5cqh .7cqw;margin-bottom:.5cqh;border-radius:.55cqw;background:linear-gradient(180deg,#f8ecce,#efe0bc);border:1.5px solid var(--parchLine);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.5);min-height:5cqh;font-family:inherit;}
 .card:disabled{opacity:.42;filter:grayscale(.6);cursor:not-allowed;}
 .card.buyable{border-color:var(--goldDark);background:linear-gradient(180deg,#fff6d3,#ffe6a6);box-shadow:inset 0 0 0 1.5px var(--gold),0 .2cqw .35cqw rgba(120,80,20,.18);}
 .card.buyable .cost{color:#7a5a12;}
 .card.up{background:linear-gradient(180deg,#eef1da,#e4e7c6);border-color:#bcae72;}
 .card .emoji{font-size:1.7cqw;width:2.3cqw;text-align:center;flex:0 0 auto;}
 .card .upicon{flex:0 0 auto;width:2.9cqw;height:2.9cqw;object-fit:contain;-webkit-user-drag:none;user-select:none;}
 .card .prodicon{flex:0 0 auto;width:3.4cqw;height:3.4cqw;object-fit:contain;-webkit-user-drag:none;user-select:none;filter:drop-shadow(0 .15cqw .15cqw rgba(0,0,0,.25));}
 .card .info{flex:1 1 auto;min-width:0;}
 .card .name{font-size:var(--fs-head);font-weight:800;color:var(--ink);line-height:1.12;}
 .card .desc{font-size:var(--fs-small);color:var(--muted);line-height:1.2;}
 .card .prod{font-size:var(--fs-small);color:var(--good);font-weight:700;}
 .card .right{flex:0 0 8.5cqw;text-align:right;}
 .card .cost{font-size:var(--fs-head);font-weight:900;color:var(--goldDark);white-space:nowrap;}
 .card .cost.cant{color:var(--bad);}
 .card .owned{font-size:var(--fs-small);color:var(--muted);white-space:nowrap;}
 .uphint{font-size:var(--fs-small);color:var(--muted);font-style:italic;padding:.4cqh 0;}

 /* Achievements */
 .ach-summary{display:flex;gap:.6cqw;margin-bottom:.8cqh;position:sticky;top:0;background:var(--parch);z-index:3;padding:.2cqh 0 .6cqh;box-shadow:0 .3cqw .4cqw -.2cqw rgba(0,0,0,.15);}
 .ach-summary .box{flex:1;background:#f8ecce;border:1.5px solid var(--parchLine);border-radius:.55cqw;padding:.5cqh .6cqw;text-align:center;}
 .ach-summary .box .v{font-size:1.15cqw;font-weight:900;color:var(--goldDark);}
 .ach-summary .box .l{font-size:var(--fs-small);color:var(--muted);text-transform:uppercase;letter-spacing:.3px;}
 .ach{background:#f8ecce;border:1.5px solid var(--parchLine);border-radius:.55cqw;padding:.5cqh .7cqw;margin-bottom:.45cqh;opacity:.62;}
 .ach.done{opacity:1;border-color:var(--good);background:#eef5e6;}
 .ach .an{font-size:var(--fs-body);font-weight:800;display:flex;align-items:center;gap:.4cqw;}
 .ach .ad{color:var(--muted);font-size:var(--fs-small);margin-top:.15cqh;line-height:1.2;}
 .ach .ab{color:var(--goldDark);font-size:var(--fs-small);margin-top:.2cqh;font-weight:700;}
 .ach.secret .an{color:var(--muted);}
 .ach.locked{opacity:.78;}
 .ach-cat{display:flex;justify-content:space-between;align-items:center;margin:.9cqh 0 .4cqh;padding:0 .1cqw .2cqh;font-size:var(--fs-small);font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1.5px solid var(--parchLine);}
 .ach-cat .cc{color:var(--goldDark);}
 .ach .abar{margin-top:.35cqh;height:.7cqh;border-radius:1cqw;background:#e3d3ac;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.18);}
 .ach .abar>i{display:block;height:100%;border-radius:1cqw;background:linear-gradient(90deg,var(--gold),var(--goldDark));min-width:.2cqw;}
 .ach .aprog{margin-top:.12cqh;font-size:var(--fs-small);color:var(--muted);font-weight:700;text-align:right;font-variant-numeric:tabular-nums;}
 .ach .ab.locked{color:var(--muted);opacity:.9;font-weight:600;}

 /* Prestige */
 .prestige-box{text-align:center;padding:.5cqh .3cqw;}
 .prestige-box .hair{font-size:2.6cqw;line-height:1.1;}
 .prestige-box h3{font-size:1.15cqw;margin:.2cqh 0;}
 .info-line{font-size:var(--fs-body);color:var(--ink);margin:.4cqh 0;line-height:1.3;}
 .muted{color:var(--muted);font-size:var(--fs-small);line-height:1.3;}
 .big-btn{border:none;border-radius:.7cqw;padding:.8cqh 1cqw;font-family:inherit;font-weight:900;font-size:var(--fs-head);color:#fff;background:linear-gradient(180deg,#efb24a,#c9822a);box-shadow:0 .35cqw 0 #a4691d;margin:.5cqh .3cqw;cursor:pointer;}
 .big-btn:disabled{background:#cbb790;box-shadow:0 .35cqw 0 #b6a37e;cursor:not-allowed;}
 .big-btn.break{background:linear-gradient(180deg,#d06a4e,#a8402a);box-shadow:0 .35cqw 0 #7d2c1b;}
 .pbar{height:1cqh;background:#e2d2ad;border:1px solid var(--parchLine);border-radius:.6cqw;overflow:hidden;max-width:20cqw;margin:.5cqh auto .7cqh;}
 .pbar>div{height:100%;background:linear-gradient(90deg,#9ecb8f,#6ba368);}
 .hr{border:none;border-top:2px solid var(--parchLine);margin:.8cqh 0;}
 .hr.dash{border-top:1px dashed var(--parchLine);}

 /* Locked-Tab */
 .locked-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:.6cqh;padding:2cqh;}
 .locked-panel .lk{font-size:3.4cqw;}
 .locked-panel .lt{font-size:1.1cqw;font-weight:900;color:var(--ink);}
 .locked-panel .ld{font-size:var(--fs-body);max-width:20cqw;line-height:1.35;}

 /* Statistik */
 .stat-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.5cqw;margin-bottom:.8cqh;}
 .stile{background:#f8ecce;border:1.5px solid var(--parchLine);border-radius:.55cqw;padding:.5cqh .7cqw;}
 .stile .sv{font-size:1.05cqw;font-weight:900;color:var(--goldDark);line-height:1.15;}
 .stile .sl{font-size:var(--fs-small);color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-top:.1cqh;}
 .lore{font-size:var(--fs-body);line-height:1.5;color:var(--ink);}
 .lore p{margin:.5cqh 0;}
 .lore b{color:var(--ink);}
 .tag{display:inline-block;background:#efe0bc;border:1px solid var(--parchLine);border-radius:.5cqw;padding:.1cqh .6cqw;font-size:var(--fs-small);margin:.15cqh;}
 .footer-actions{display:flex;gap:.4cqw;justify-content:center;margin:.7cqh 0;flex-wrap:wrap;}
 .mini-btn{border:1.5px solid var(--parchLine);background:#fff7e6;border-radius:.5cqw;padding:.4cqh .8cqw;font-family:inherit;font-weight:700;font-size:var(--fs-small);color:var(--ink);cursor:pointer;}
 .optrow{display:flex;align-items:center;gap:.6cqw;padding:.65cqh .2cqw;border-bottom:1px dashed var(--parchLine);}
 .optrow .ol{flex:1 1 auto;min-width:0;}
 .optrow .on{font-size:var(--fs-head);font-weight:800;color:var(--ink);}
 .optrow .od{font-size:var(--fs-small);color:var(--muted);line-height:1.2;}
 .optrow .oseg{flex:0 0 auto;display:flex;gap:.3cqw;align-items:center;}
 .optrow input{font-family:inherit;font-size:var(--fs-body);font-weight:700;color:var(--ink);background:#fffdf5;border:1.5px solid var(--parchLine);border-radius:.4cqw;padding:.28cqh .5cqw;width:9cqw;}
 .optrow input:focus{outline:none;border-color:var(--goldDark);box-shadow:inset 0 0 0 1px var(--gold);}

 /* ===== Overlays (viewport-level, px) ===== */
 #golden{position:fixed;width:74px;height:auto;cursor:pointer;z-index:120;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 0 12px #ffcf40);animation:wiggle .5s infinite alternate;display:none;}
 @keyframes wiggle{from{transform:rotate(-10deg) scale(1);}to{transform:rotate(10deg) scale(1.1);}}
 #toasts{position:absolute;top:1cqh;left:50%;transform:translateX(-50%);z-index:140;display:flex;flex-direction:column;gap:.5cqh;align-items:center;pointer-events:none;}
 .toast{background:rgba(26,16,7,.95);color:#fff9ec;border:.18cqw solid var(--goldDark);padding:.6cqh 1.4cqw;border-radius:1.6cqw;font-size:.98cqw;font-weight:800;max-width:42cqw;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);box-shadow:0 .4cqw .9cqw rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.3);animation:toastIn .3s ease, toastOut .4s ease 3.1s forwards;}
 .toast.ach{border-color:#7ec96a;color:#eafbe4;} .toast.gold{border-color:var(--gold);color:#ffe6a8;}
 @keyframes toastIn{from{opacity:0;transform:translateY(-12px);}to{opacity:1;transform:none;}}
 @keyframes toastOut{to{opacity:0;transform:translateY(-12px);}}
 .float-txt{position:fixed;z-index:130;font-weight:900;color:#3a2410;pointer-events:none;animation:floatUp .9s ease-out forwards;font-size:30px;letter-spacing:.5px;
   text-shadow:0 0 6px #fff,2px 2px 0 #fff,-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,0 2px 0 #fff,0 -2px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff;}
 @keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(1.15);}18%{transform:translateY(-7px) scale(1);}100%{opacity:0;transform:translateY(-60px) scale(1);}}
 #modal-bg{position:fixed;inset:0;background:rgba(30,20,12,.6);z-index:200;display:none;align-items:center;justify-content:center;padding:16px;}
 .modal{background:var(--parch);border:3px solid var(--woodEdge);border-radius:16px;max-width:560px;width:100%;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.4);text-align:center;color:var(--ink);}
 .modal h2{font-size:20px;margin-bottom:8px;} .modal p{font-size:14px;color:var(--muted);line-height:1.5;}
 .modal .hair{font-size:38px;}
 .modal .big-btn{font-size:15px;padding:12px 20px;border-radius:12px;box-shadow:0 4px 0 #a4691d;}
 .phil-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;}
 @media(max-width:520px){.phil-choices{grid-template-columns:1fr;}}
 .phil{border:2px solid var(--parchLine);border-radius:14px;padding:14px;background:var(--milk);cursor:pointer;transition:transform .05s;}
 .phil:hover{transform:translateY(-2px);border-color:var(--gold);}
 .phil .pe{font-size:38px;} .phil .pn{font-weight:800;margin:6px 0 4px;} .phil .pd{font-size:12.5px;color:var(--muted);line-height:1.35;}
 .modal textarea{width:100%;height:110px;border:2px solid var(--parchLine);border-radius:10px;padding:8px;font-family:monospace;font-size:12px;resize:vertical;margin:10px 0;background:var(--milk);}
 .verstamp{position:absolute;bottom:.35cqh;right:1cqw;z-index:6;color:#fff;background:rgba(0,0,0,.45);padding:.2cqh .8cqw;border-radius:1cqw;font-size:var(--fs-small);opacity:.8;}

 /* ===== Erfolgs-Feedback ===== */
 /* Stufe 1: Betriebsleiter-Puls + Nav-Tab-Flash */
 @keyframes bossPulse{0%{box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 6px rgba(0,0,0,.4),0 0 0 0 rgba(232,168,56,0);}50%{box-shadow:inset 0 2px 0 rgba(255,255,255,.18),0 0 1.8cqw .5cqw rgba(232,168,56,.85);}100%{box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 6px rgba(0,0,0,.4),0 0 0 0 rgba(232,168,56,0);}}
 .boss.highlight{animation:bossPulse .9s ease-in-out 2;}
 .boss.highlight .pf{border-color:var(--gold);transition:border-color .2s;}
 @keyframes tabFlash{0%,100%{box-shadow:inset 0 0 0 2px var(--gold);}50%{box-shadow:inset 0 0 0 2px var(--gold),0 0 1cqw .3cqw rgba(232,168,56,.85);}}
 .tab.tabflash{animation:tabFlash .7s ease-in-out 3;border-color:var(--goldDark);background:linear-gradient(180deg,#ffe9b0,#f4d488);}
 /* Stufe 2: Meilenstein-Banner + Gold-Partikel */
 .ach-banner{position:absolute;left:50%;top:11.5cqh;transform:translateX(-50%);z-index:9;min-width:20cqw;max-width:40cqw;text-align:center;background:linear-gradient(180deg,var(--woodHi),var(--wood) 22%,var(--woodLo));border-radius:.9cqw;padding:.4cqw;box-shadow:0 .8cqw 1.6cqw rgba(0,0,0,.5);pointer-events:none;}
 .ach-banner .inner{background:repeating-linear-gradient(0deg,rgba(0,0,0,.02) 0 2px,rgba(0,0,0,0) 2px 4px),var(--parch);border:1.5px solid var(--parchLine);border-radius:.6cqw;padding:.6cqh 1.4cqw;}
 .ach-banner .bt{font-size:1.05cqw;font-weight:900;color:var(--goldDark);letter-spacing:.3px;}
 .ach-banner .bn{font-size:1.05cqw;font-weight:900;color:var(--ink);margin:.15cqh 0;}
 .ach-banner .bb{font-size:var(--fs-body);font-weight:800;color:var(--muted);}
 .ach-banner.in{animation:bannerIn .55s cubic-bezier(.2,1.35,.5,1) both;}
 .ach-banner.out{animation:bannerOut .45s ease-in both;}
 @keyframes bannerIn{0%{opacity:0;transform:translateX(-50%) translateY(-14cqh) scale(.8);}60%{opacity:1;transform:translateX(-50%) translateY(1cqh) scale(1.04);}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}}
 @keyframes bannerOut{to{opacity:0;transform:translateX(-50%) translateY(-12cqh) scale(.9);}}
 .gp{position:absolute;width:.9cqw;height:1.15cqw;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 40% 30%,#fff6cf,#e8a838);z-index:9;pointer-events:none;box-shadow:0 0 .4cqw rgba(232,168,56,.7);}
 /* Stufe 3: Nervenzusammenbruch — der Chef übernimmt die Bühne */
 .freakout-ov{position:absolute;inset:0;z-index:11;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1cqh;background:radial-gradient(ellipse at 50% 45%,rgba(150,40,25,.32),rgba(20,10,6,.6));pointer-events:none;}
 .freakout-ov img{width:15cqw;height:15cqw;object-fit:cover;object-position:50% 15%;border-radius:1.2cqw;border:.4cqw solid var(--gold);box-shadow:0 0 3cqw rgba(232,168,56,.65);animation:foShake .12s linear infinite;}
 .freakout-ov .fl{font-size:2.4cqw;font-weight:900;color:#fff;text-shadow:0 2px 8px #000,0 0 2px #000;}
 .freakout-ov .fs{font-size:1.15cqw;font-style:italic;color:#ffeede;text-shadow:0 1px 4px #000;max-width:40cqw;text-align:center;}
 @keyframes foShake{0%{transform:translate(0,0) rotate(-2.5deg);}25%{transform:translate(-.4cqw,.25cqw) rotate(2.5deg);}50%{transform:translate(.4cqw,-.2cqw) rotate(-1.5deg);}75%{transform:translate(-.2cqw,.35cqw) rotate(2deg);}100%{transform:translate(0,0) rotate(-2.5deg);}}
 .freakout-ov.fade{animation:foFade .5s ease-in both;}
 @keyframes foFade{to{opacity:0;}}

/* ===== Titelscreen ===== */
#titlescreen{position:fixed;inset:0;z-index:9999;
  background:#241408 url('../assets/images/titel_blur.jpg') center/cover no-repeat;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4vh;
  padding:4vh 4vw;box-sizing:border-box;text-align:center;opacity:1;transition:opacity .55s ease;}
#titlescreen::before{content:'';position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(20,12,6,.45),rgba(20,12,6,.64));}
#titlescreen>*{position:relative;z-index:1;}
#titlescreen.hide{opacity:0;pointer-events:none;}
.ts-head{display:flex;flex-direction:column;align-items:center;gap:.6vh;}
.ts-title{margin:0;font-family:'EricaOne','Trebuchet MS',sans-serif;font-weight:400;
  font-size:clamp(34px,7.4vmin,90px);line-height:1;color:var(--milk);letter-spacing:.5px;
  text-shadow:0 4px 0 var(--woodLo),0 7px 14px rgba(0,0,0,.55);}
.ts-sub{font-family:'EricaOne','Trebuchet MS',sans-serif;font-size:clamp(15px,2.7vmin,28px);
  color:var(--gold);letter-spacing:.5px;text-shadow:0 2px 5px rgba(0,0,0,.6);}
.ts-art{width:min(46vh,74vw);aspect-ratio:1/1;border-radius:20px;
  background:center/cover no-repeat url('../assets/images/titelbild.jpg');
  border:.5vmin solid var(--gold);box-shadow:0 14px 44px rgba(0,0,0,.6),inset 0 0 0 2px rgba(0,0,0,.35);}
.ts-btn{font-family:'EricaOne','Trebuchet MS',sans-serif;font-weight:400;
  font-size:clamp(20px,3.4vmin,38px);color:var(--milk);letter-spacing:1px;
  background:linear-gradient(180deg,var(--woodHi),var(--woodLo));border:3px solid var(--gold);border-radius:14px;
  padding:1.4vh 6vw;cursor:pointer;text-shadow:0 -1px 0 rgba(0,0,0,.6);
  box-shadow:0 7px 20px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.16);
  transition:transform .12s ease,box-shadow .12s ease;}
.ts-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 11px 26px rgba(0,0,0,.55),inset 0 2px 0 rgba(255,255,255,.22);}
.ts-btn:active{transform:translateY(0) scale(.99);}
.ts-ver{font-size:clamp(11px,1.6vmin,15px);color:var(--milk);opacity:.6;letter-spacing:1px;}

/* ===== Maus-Stimmung (mood.js) ===== */
.moodfx{position:absolute;z-index:6;pointer-events:none;}
.moodfx.sweat{width:1.1cqw;height:1.5cqw;transform:translate(-50%,0);border-radius:60% 60% 62% 62%/72% 72% 48% 48%;
  background:radial-gradient(circle at 38% 28%,#f2fbff,#a9d6f2 70%,#7fbde6);box-shadow:inset .05cqw .05cqw .15cqw rgba(255,255,255,.7);
  animation:mf-sweat .95s ease-in forwards;}
@keyframes mf-sweat{0%{opacity:0;transform:translate(-50%,-.5cqh) scale(.5)}18%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,7.5cqh) scale(1)}}
.moodfx.sparkle{width:1.15cqw;height:1.15cqw;transform:translate(-50%,-50%) scale(0);
  background:radial-gradient(circle,#fffef2 0%,#ffdf8a 72%);filter:drop-shadow(0 0 .22cqw #ffd670);
  clip-path:polygon(50% 0,61% 35%,100% 50%,61% 65%,50% 100%,39% 65%,0 50%,39% 35%);animation:mf-spk .72s ease forwards;}
@keyframes mf-spk{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}45%{transform:translate(-50%,-60%) scale(1) rotate(22deg);opacity:1}100%{transform:translate(-50%,-95%) scale(.2) rotate(45deg);opacity:0}}
.moodfx.zzz{font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:900;color:rgba(90,70,40,.6);font-size:2.1cqw;line-height:1;
  transform:translate(-50%,0);text-shadow:0 1px 2px rgba(255,255,255,.5);animation:mf-zzz 1.5s ease-out forwards;}
@keyframes mf-zzz{0%{opacity:0;transform:translate(-50%,0) scale(.6)}25%{opacity:.85}100%{opacity:0;transform:translate(-20%,-6.5cqh) scale(1.15)}}
