  :root{
    --disp:'Pixelify Sans',ui-monospace,'Courier New',monospace;
    --uv:#c08cff; --vuv:#f4c4ff; --rad:#5fe6a0; --heat:#ff8a4c; --cold:#7fd6ff;
    --proto:#86e86f; --brood:#69c46a; --spore:#e0aa64;
    --mult:#ff5b57; --chips:#2f9bff; --gold:#ffcf3a; --grow:#86e86f;
    --ink:#eef4ff; --dim:#aebbe0; --panel:rgba(8,12,28,0.92); --panel2:rgba(14,20,44,0.92);
    --line:rgba(150,180,240,0.42); --line2:rgba(150,180,240,0.7);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%;background:#05060f;color:var(--ink);font-family:Inter,system-ui,sans-serif;overflow:hidden}
  button{font-family:inherit}
  #wrap{position:fixed;inset:0}
  #bg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;background:radial-gradient(120% 120% at 50% 38%,#0a0b1e 0%,#05060f 66%,#03040a 100%)}
  #c{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
  .crt{position:absolute;inset:0;pointer-events:none;z-index:4;mix-blend-mode:multiply;opacity:.6;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0,rgba(0,0,0,.16) 1px,transparent 1px,transparent 3px),radial-gradient(125% 120% at 50% 44%,transparent 52%,rgba(2,4,10,.62) 100%)}
  .crt::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 85% at 50% 38%,rgba(120,150,255,.05),transparent 62%);animation:flick 5.5s steps(60) infinite}
  @keyframes flick{0%,96%,100%{opacity:1}97%{opacity:.85}98.5%{opacity:.96}}
  .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .hud{position:absolute;inset:0;pointer-events:none;z-index:2}
  .topbar{position:absolute;top:14px;left:14px;right:14px;display:flex;gap:14px;align-items:flex-start;justify-content:space-between}
  .bars{display:flex;flex-direction:column;gap:10px;width:min(304px,44vw);background:linear-gradient(160deg,rgba(16,22,46,.94),rgba(9,13,30,.94));border:1.5px solid rgba(184,134,59,.55);border-radius:13px;padding:13px 15px;box-shadow:0 10px 26px rgba(0,0,0,.5),inset 0 0 0 1px rgba(184,134,59,.3),inset 0 1px 0 rgba(255,240,200,.12)}
  .barrow{display:flex;align-items:center;gap:8px}
  .barlabel{font-size:12px;letter-spacing:.04em;color:var(--dim);width:122px;flex:none}
  .barlabel b{font-family:var(--disp);font-size:11px;letter-spacing:.03em;color:var(--ink);font-weight:400}
  .barlabel b.tv{color:var(--proto)} .barlabel b.tb{color:var(--gold)} .barlabel b.tr{color:var(--heat)}
  .bar{position:relative;height:16px;flex:1;background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:8px;overflow:hidden}
  .barfill{position:absolute;inset:0;width:100%;transform-origin:left;transition:transform .12s linear}
  .barnum{font-family:var(--disp);font-size:13px;color:var(--ink);width:38px;text-align:right;flex:none;display:inline-block}
  #streakNum{display:inline-block}
  @keyframes streakpop{0%{transform:scale(1)}35%{transform:scale(1.55);color:#fff}100%{transform:scale(1)}}
  #streakNum.pop{animation:streakpop .4s ease-out}
  @keyframes numpunch{0%{transform:scale(1)}30%{transform:scale(1.42)}100%{transform:scale(1)}}
  .barnum.punch{animation:numpunch .3s ease-out}
  #viaNum{color:var(--proto)} #bioNum{color:var(--gold)}
  #viaFill{background:linear-gradient(90deg,#33d186,#7bffb0)}
  #bioFill{background:linear-gradient(90deg,#ffce5e,#ffe9a8)}
  .daywrap{flex:1;max-width:520px;min-width:160px}
  .dayrow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
  .dayttl{font-family:var(--disp);font-size:13px;letter-spacing:.1em}
  .daysub{font-size:12px;color:var(--dim)}
  .track{position:relative;height:9px;background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:6px;overflow:hidden}
  .trackfill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#5a7bff,#8ad0ff);width:0}
  .ticks{position:absolute;inset:0}
  .ticks i{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.24)}
  .toolbtns{display:flex;gap:6px;pointer-events:auto}
  .icbtn{width:34px;height:34px;border-radius:9px;background:var(--panel);border:1.5px solid rgba(184,134,59,.5);color:var(--ink);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
  .icbtn:focus-visible{outline:2px solid #8ad0ff;outline-offset:2px}
  .telegraph{position:absolute;top:96px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:7px;align-items:center;width:min(440px,90vw)}
  .tele{width:100%;background:var(--panel);border:1px solid rgba(184,134,59,.45);border-radius:11px;padding:9px 13px}
  .teletop{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:8px}
  .telename{font-weight:500;display:flex;align-items:center;gap:8px}
  .telebadge{font-size:11px;font-weight:500;letter-spacing:.06em;padding:2px 7px;border-radius:5px;border:1px solid currentColor}
  .telaction{font-size:12px;color:var(--ink)}
  .telebar{height:5px;margin-top:7px;border-radius:4px;background:rgba(255,255,255,.16);overflow:hidden}
  .telebar i{display:block;height:100%;width:100%;transform-origin:left}
  .calm{width:100%;text-align:center;background:var(--panel);border:1px solid rgba(184,134,59,.45);border-radius:11px;padding:9px 13px;font-size:13px;color:var(--proto)}
  .forms{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:14px;pointer-events:auto}
  /* inked-tarot cards: cream parchment faces, sepia ink art, gold accents, high contrast over the swirl */
  .form{--lift:0px;position:relative;width:172px;background:linear-gradient(158deg,#f7efda,#e3d1a8);border:3px solid #2a2018;border-radius:15px;padding:0 0 11px;cursor:pointer;text-align:center;color:#2a2018;touch-action:manipulation;transform-style:preserve-3d;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.5),inset 0 0 0 2px rgba(184,134,59,.5);transform:perspective(680px) rotateX(calc(var(--ry,0)*1deg)) rotateY(calc(var(--rx,0)*1deg)) translateY(var(--lift));transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s,filter .16s}
  .form::after,.card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.42) 48%,transparent 62%);background-size:260% 100%;background-position:160% 0;mix-blend-mode:soft-light;animation:sheen 7s ease-in-out infinite}
  .form:nth-child(2)::after{animation-delay:-2.3s} .form:nth-child(3)::after{animation-delay:-4.6s}
  .form:hover{--lift:-6px;box-shadow:0 18px 34px rgba(0,0,0,.6),inset 0 0 0 2px rgba(184,134,59,.78)}
  .form:focus-visible{outline:3px solid var(--chips);outline-offset:3px}
  .form .fkey{position:absolute;top:6px;right:7px;z-index:2;font-family:var(--disp);font-size:12px;color:#6a4a12;background:linear-gradient(180deg,#e6c368,#b8863b);border:1.5px solid #7a5a1c;border-radius:6px;padding:0 6px}
  .fart,.cart{height:92px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,rgba(255,251,238,.85),rgba(228,213,176,.22));border-bottom:2px solid rgba(42,32,24,.32);position:relative}
  .fart svg,.cart svg{width:74px;height:74px;animation:iconfloat 4.4s ease-in-out infinite}
  .form.p .fart{border-bottom-color:var(--proto)} .form.b .fart{border-bottom-color:var(--brood)} .form.s .fart{border-bottom-color:var(--spore)}
  .form .fname{font-family:var(--disp);font-size:16px;letter-spacing:.02em;padding:8px 6px 0}
  .form .frole{font-size:11px;color:#5a4a30;margin-top:3px;padding:0 12px;line-height:1.36;min-height:50px}
  .form .fdef{display:none}
  .form .fcost{font-family:var(--disp);font-size:12px;margin:7px auto 0;width:max-content;color:#6a4a12;background:linear-gradient(180deg,#e6c368,#b8863b);border:1.5px solid #7a5a1c;border-radius:7px;padding:1px 12px}
  .form.p .fcost{background:linear-gradient(180deg,#bfe6a8,#7ec46a);border-color:#3f7a2c;color:#245018}
  .form.active{--lift:-8px;box-shadow:0 0 0 3px var(--proto),0 16px 30px rgba(0,0,0,.55)}
  .form.b.active{box-shadow:0 0 0 3px var(--brood),0 16px 30px rgba(0,0,0,.55)} .form.s.active{box-shadow:0 0 0 3px var(--spore),0 16px 30px rgba(0,0,0,.55)}
  .form.rec{animation:recpulse 1.1s ease-in-out infinite}
  @keyframes recpulse{0%,100%{box-shadow:0 0 0 2px #b8863b,0 12px 26px rgba(0,0,0,.5)}50%{box-shadow:0 0 0 4px #e6c368,0 12px 30px rgba(0,0,0,.5)}}
  @keyframes sheen{0%{background-position:160% 0}55%,100%{background-position:-60% 0}}
  @keyframes iconfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.6px)}}
  @keyframes jkbob{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-3px) rotate(1.2deg)}}
  .form.cant{opacity:.5;filter:saturate(.55) grayscale(.15)}
  .jokers{position:absolute;left:14px;top:158px;display:flex;flex-wrap:wrap;gap:6px;max-width:212px;pointer-events:none}
  .jk{width:40px;height:54px;border-radius:8px;background:linear-gradient(158deg,#f7efda,#e3d1a8);border:2px solid #2a2018;box-shadow:0 4px 10px rgba(0,0,0,.5),inset 0 0 0 1px rgba(184,134,59,.5);display:flex;align-items:center;justify-content:center;animation:jkbob 5s ease-in-out infinite}
  .jk{position:relative;pointer-events:auto}
  .jk svg{width:30px;height:30px} .jk:nth-child(even){animation-delay:-2.5s} .jk:nth-child(3n){animation-delay:-3.7s}
  .jk[data-tip]:hover::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 7px);width:184px;background:var(--panel2);border:1px solid rgba(184,134,59,.5);border-radius:9px;padding:8px 11px;font-family:Inter,system-ui,sans-serif;font-size:11px;line-height:1.45;color:var(--ink);z-index:7;box-shadow:0 10px 24px rgba(0,0,0,.55);pointer-events:none}
  .chips{position:absolute;right:14px;top:108px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
  .chip{font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid currentColor;background:var(--panel);display:flex;align-items:center;gap:6px}
  .chip .telebadge{font-size:10px;padding:1px 5px}
  .hint{position:absolute;left:50%;bottom:160px;transform:translateX(-50%);font-size:13px;color:var(--ink);background:var(--panel);padding:8px 16px;border-radius:20px;border:1px solid rgba(184,134,59,.5);opacity:0;transition:opacity .35s;text-align:center;max-width:92vw}
  .hint.show{opacity:1}
  .overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:rgba(4,6,16,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:20px;z-index:5}
  .panel{width:min(720px,95vw);max-height:94vh;overflow:auto;background:linear-gradient(180deg,rgba(16,22,46,.98),rgba(9,12,28,.98));border:1px solid var(--line);border-radius:18px;padding:30px 32px;text-align:center}
  h1{font-family:var(--disp);font-weight:700;font-size:40px;letter-spacing:.06em;line-height:1.05;background:linear-gradient(90deg,#86e86f,#8ad0ff,#e0aa64);-webkit-background-clip:text;background-clip:text;color:transparent}
  h2{font-family:var(--disp);font-weight:500;font-size:22px;letter-spacing:.04em;margin-bottom:4px}
  .sub{color:var(--dim);font-size:14px;line-height:1.65;margin:12px auto 0;max-width:560px}
  .sub b{color:var(--ink);font-weight:500}
  .legend{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:22px 0 4px;text-align:left}
  .lg{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:13px}
  .lg > b{font-family:var(--disp);font-size:13px;letter-spacing:.03em;display:block;margin-bottom:6px}
  .lg span b{color:var(--ink);font-weight:600}
  .lg span{font-size:12px;color:var(--dim);line-height:1.5}
  .btn{font-family:var(--disp);letter-spacing:.05em;font-size:20px;color:#06121a;background:linear-gradient(180deg,#9af08a,#5fc9e8);border:none;border-radius:13px;padding:15px 38px;margin-top:24px;cursor:pointer;box-shadow:0 7px 0 #2a6a5e,0 14px 22px rgba(0,0,0,.42),inset 0 2px 0 rgba(255,255,255,.4);text-shadow:0 1px 0 rgba(255,255,255,.3);transition:transform .12s cubic-bezier(.34,1.7,.5,1),filter .15s,box-shadow .12s;touch-action:manipulation}
  .btn:hover{filter:brightness(1.07);transform:translateY(-3px) scale(1.04);box-shadow:0 10px 0 #2a6a5e,0 20px 30px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.45)}
  .btn:active{transform:translateY(4px) scale(.99);box-shadow:0 2px 0 #2a6a5e,0 5px 12px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.3)} .btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
  .owned{font-size:12px;color:var(--dim);margin-top:14px;min-height:16px}
  .owned b{color:var(--spore);font-weight:500}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
  .card{--lift:0px;position:relative;background:linear-gradient(158deg,#f7efda,#e3d1a8);border:3px solid #2a2018;border-radius:15px;padding:0 0 14px;cursor:pointer;text-align:center;color:#2a2018;touch-action:manipulation;transform-style:preserve-3d;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.5),inset 0 0 0 2px rgba(184,134,59,.5);transform:perspective(720px) rotateX(calc(var(--ry,0)*1deg)) rotateY(calc(var(--rx,0)*1deg)) translateY(var(--lift));transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s}
  .card:nth-child(2)::after{animation-delay:-2.3s} .card:nth-child(3)::after{animation-delay:-4.6s}
  .card:hover,.card:focus-visible{--lift:-6px;box-shadow:0 20px 36px rgba(0,0,0,.6),inset 0 0 0 2px rgba(184,134,59,.8);outline:none}
  .card .ck{position:absolute;top:7px;right:8px;z-index:2;font-family:var(--disp);font-size:12px;color:#6a4a12;background:linear-gradient(180deg,#e6c368,#b8863b);border:1.5px solid #7a5a1c;border-radius:6px;padding:0 6px}
  .cart{border-bottom-color:rgba(184,134,59,.55)!important}
  .card .cn{font-family:var(--disp);font-size:15px;letter-spacing:.01em;margin:9px 8px 0;color:#2a1c08}
  .card .cd{font-size:12px;color:#5a4a30;line-height:1.42;padding:5px 14px 0}
  .stats{display:flex;justify-content:center;gap:30px;margin:18px 0 4px;flex-wrap:wrap}
  .stat .sv{font-family:var(--disp);font-size:30px}
  .stat .sl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-top:2px}
  .fact{font-size:13px;color:var(--dim);line-height:1.6;margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
  .credit{position:absolute;left:14px;bottom:11px;font-size:11px;color:var(--dim);opacity:.85;pointer-events:none;max-width:62vw}
  .pausebox{text-align:center;width:min(440px,94vw)}
  .pausestat{font-size:12.5px;color:var(--dim);margin-top:6px}
  .pausestat b{color:var(--ink);font-weight:600}
  .pausemenu{display:flex;flex-direction:column;gap:10px;align-items:center;margin:18px 0 4px}
  .pausemenu .btn{margin-top:0;width:260px;max-width:80vw}
  .pausehint{font-size:12px;color:var(--dim);margin-top:10px}
  .btn.ghost.danger{color:#ff9a86;box-shadow:0 6px 0 #0e1428,0 12px 20px rgba(0,0,0,.42),inset 0 0 0 1.5px rgba(255,120,90,.5),inset 0 2px 0 rgba(255,255,255,.06)}
  .btn.ghost.danger:hover{background:linear-gradient(180deg,#3a2a3a,#281c28);box-shadow:0 9px 0 #0e1428,0 18px 28px rgba(0,0,0,.46),inset 0 0 0 1.5px rgba(255,120,90,.85),inset 0 2px 0 rgba(255,255,255,.08)}
  .storypanel{max-width:600px;background:linear-gradient(158deg,#f6eed6,#e7d6b0);border:3px solid #2a2018;color:#2a2018;text-align:left;box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 0 0 2px rgba(184,134,59,.6),inset 0 0 46px rgba(120,90,40,.14)}
  .storylabel{font-family:var(--disp);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#7a5a1c;margin-bottom:16px}
  .storylabel.moss{color:#3f7a2c}
  .storytext{font-size:16.5px;line-height:1.72;color:#3a2c1c}
  .storydots{display:flex;gap:7px;margin-top:20px}
  .storydots i{width:8px;height:8px;border-radius:50%;background:rgba(42,32,24,.22);border:1px solid rgba(42,32,24,.4)}
  .storydots i.on{background:#b8863b;border-color:#7a5a1c}
  .storypanel .btn{margin-top:18px}
  .endstory{font-size:14.5px;line-height:1.7;color:var(--ink);font-style:italic;margin:14px auto 0;max-width:560px;opacity:.95}
  .endbest{font-size:12px;color:var(--dim);margin-top:14px;line-height:1.7} .endbest b{color:var(--ink);font-weight:600} .endbest .best{color:var(--gold)}
  /* ---- rich end-of-run report ---- */
  .endpanel{width:min(780px,96vw)}
  .endgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;text-align:left}
  .endcol{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
  .endh{font-family:var(--disp);font-size:12px;letter-spacing:.05em;color:var(--gold);text-transform:uppercase;margin-bottom:9px}
  #paceGraph{width:100%;height:auto;display:block;border-radius:8px;background:rgba(0,0,0,.2)}
  .endstatlist{font-size:13px}
  .srow{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(150,180,240,.1);color:var(--dim)}
  .srow:last-child{border-bottom:none} .srow b{color:var(--ink);font-weight:600}
  .endreveal{margin:16px auto 0;max-width:600px;background:linear-gradient(180deg,rgba(90,50,120,.4),rgba(40,20,60,.4));border:1px solid rgba(200,120,255,.45);border-radius:12px;padding:13px 18px;font-size:13.5px;line-height:1.6;color:#ecdcff;box-shadow:0 0 24px rgba(150,90,220,.25)}
  .endreveal b{color:#fff}
  .lb{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px;text-align:left}
  .lb th{color:var(--dim);font-weight:500;font-size:11px;letter-spacing:.04em;padding:5px 6px;border-bottom:1px solid var(--line)}
  .lb td{padding:6px 6px;border-bottom:1px solid rgba(150,180,240,.08);color:var(--dim)}
  .lb td:first-child,.lb th:first-child{width:26px;color:var(--dim)}
  .lb tr.res td{color:var(--gold)} .lb tr.me td{color:var(--ink);background:rgba(120,200,120,.09)}
  .lbtag{font-size:10px;border:1px solid currentColor;border-radius:5px;padding:0 5px;opacity:.85;white-space:nowrap}
  .lbtag.proj{color:#c78cff}
  .endbtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:6px}
  .btn.ng{background:linear-gradient(180deg,#c78cff,#8a5fd8);color:#160a26;box-shadow:0 7px 0 #4a2a7a,0 14px 22px rgba(0,0,0,.42),inset 0 2px 0 rgba(255,255,255,.4)}
  .btn.ng:hover{box-shadow:0 10px 0 #4a2a7a,0 20px 30px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.45)}
  .btn.ng:active{transform:translateY(4px) scale(.99);box-shadow:0 2px 0 #4a2a7a,0 5px 12px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.3)}
  @media(max-width:640px){.endgrid{grid-template-columns:1fr}}
  /* ---- menu buttons + settings ---- */
  .btn.ghost{background:linear-gradient(180deg,#2c3555,#1d2544);color:var(--ink);border:none;font-size:16px;padding:13px 32px;text-shadow:0 1.5px 2px rgba(0,0,0,.45);box-shadow:0 6px 0 #0e1428,0 12px 20px rgba(0,0,0,.42),inset 0 0 0 1.5px rgba(184,134,59,.45),inset 0 2px 0 rgba(255,255,255,.08)}
  .btn.ghost:hover{filter:brightness(1.12);background:linear-gradient(180deg,#333d63,#232c50);transform:translateY(-3px) scale(1.035);box-shadow:0 9px 0 #0e1428,0 18px 28px rgba(0,0,0,.46),inset 0 0 0 1.5px rgba(230,201,90,.65),inset 0 2px 0 rgba(255,255,255,.1)}
  .btn.ghost:active{transform:translateY(4px) scale(.99);box-shadow:0 2px 0 #0e1428,0 5px 12px rgba(0,0,0,.4),inset 0 0 0 1.5px rgba(184,134,59,.45),inset 0 2px 0 rgba(255,255,255,.06)}
  /* ---- slimmed Balatro title ---- */
  #titleScreen{background:radial-gradient(120% 95% at 50% 40%,rgba(4,6,16,.5),rgba(4,6,16,.86));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .titlebox{width:min(560px,94vw);max-height:94vh;overflow:auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px}
  .titlelogo{font-size:62px}
  .titlesub{font-family:var(--disp);font-size:20px;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--gold);margin-top:5px}
  .titletag{color:var(--dim);font-size:14px;line-height:1.6;margin:14px auto 0;max-width:420px}
  .titletag b{color:var(--ink);font-weight:600}
  .titlemenu{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:26px;width:100%}
  .titlemenu .btn{margin-top:0;width:300px;max-width:86vw}
  .titlestats{font-size:12px;color:var(--dim);margin-top:18px;line-height:1.6}
  .titlestats b{color:var(--ink);font-weight:600} .titlestats .dimx{opacity:.85}
  .howtoexp{margin-top:22px;width:100%;max-width:520px;text-align:left;border:1px solid var(--line);border-radius:12px;background:rgba(10,14,30,.55)}
  .howtoexp summary{cursor:pointer;list-style:none;padding:12px 16px;font-family:var(--disp);font-size:13px;letter-spacing:.04em;color:var(--gold);text-align:center}
  .howtoexp summary::-webkit-details-marker{display:none}
  .howtoexp[open] summary{border-bottom:1px solid var(--line)}
  .howtoexp .legend{margin:16px 14px 2px}
  .howtoexp .howto{margin:6px 16px 16px}
  /* ---- blind plates (checkpoints) ---- */
  .blindwrap{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(520px,94vw)}
  .blindcleared{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-bottom:22px;min-height:46px}
  .bcl{display:flex;flex-direction:column;align-items:center}
  .bcl .v{font-family:var(--disp);font-size:23px;color:var(--gold)}
  .bcl .l{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-top:3px}
  .blindplate{position:relative;width:340px;max-width:90vw;background:linear-gradient(158deg,#f7efda,#e3d1a8);border:3px solid #2a2018;border-radius:18px;padding:22px 22px 24px;color:#2a2018;box-shadow:0 20px 46px rgba(0,0,0,.55),inset 0 0 0 2px rgba(184,134,59,.6);animation:blindin .5s cubic-bezier(.34,1.56,.64,1)}
  .blindplate.boss{background:linear-gradient(158deg,#f4c9b4,#d98a72);border-color:#3a1410;box-shadow:0 20px 46px rgba(0,0,0,.6),inset 0 0 0 2px rgba(180,60,40,.55),0 0 40px rgba(220,80,50,.35)}
  .blindtag{font-family:var(--disp);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8a5a1c}
  .blindplate.boss .blindtag{color:#7a1c10}
  .blindname{font-family:var(--disp);font-size:26px;letter-spacing:.02em;margin:8px 0 6px;color:#2a1c08}
  .blinddays{font-family:var(--disp);font-size:13px;color:#6a4a12}
  .blindflavor{font-size:13px;line-height:1.55;color:#4a3a24;margin-top:12px}
  @keyframes blindin{0%{opacity:0;transform:scale(.82) rotate(-2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
  /* ---- scoring cascade ---- */
  @keyframes statpop{0%{opacity:0;transform:translateY(14px) scale(.6)}60%{transform:translateY(0) scale(1.12)}100%{opacity:1;transform:scale(1)}}
  .stats .stat{animation:statpop .45s cubic-bezier(.34,1.56,.64,1) backwards}
  .stats .stat:nth-child(1){animation-delay:.05s}.stats .stat:nth-child(2){animation-delay:.2s}.stats .stat:nth-child(3){animation-delay:.35s}.stats .stat:nth-child(4){animation-delay:.5s}.stats .stat:nth-child(5){animation-delay:.65s}
  .bcl{animation:statpop .4s cubic-bezier(.34,1.56,.64,1) backwards}
  .bcl:nth-child(1){animation-delay:.1s}.bcl:nth-child(2){animation-delay:.25s}.bcl:nth-child(3){animation-delay:.4s}
  @keyframes svslam{0%{transform:scale(1.5);color:#fff}100%{transform:scale(1)}}
  .stat .sv.slam{display:inline-block;animation:svslam .35s ease-out}
  .stats.tally .stat{animation:none!important;opacity:0}
  .stat .sv{display:inline-block}
  /* ---- Collection / Codex ---- */
  .codexpanel{width:min(780px,96vw)}
  .codexprog{font-family:var(--disp);font-size:12px;color:var(--gold);letter-spacing:.05em;margin-top:12px}
  .codexgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 6px}
  .codexcard{background:linear-gradient(158deg,#f7efda,#e3d1a8);border:2.5px solid #2a2018;border-radius:13px;padding:12px 10px 13px;color:#2a2018;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.45),inset 0 0 0 1.5px rgba(184,134,59,.5)}
  .codexcard.locked{background:linear-gradient(158deg,#232a48,#161c32);border-color:rgba(150,180,240,.28);box-shadow:0 8px 20px rgba(0,0,0,.4)}
  .codexcard .cxtag{font-family:var(--disp);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8a5a1c}
  .codexcard.haz .cxtag{color:#a5308c}
  .codexcard.locked .cxtag{color:var(--dim)}
  .cxart{height:62px;display:flex;align-items:center;justify-content:center;margin:6px 0}
  .cxart svg{width:50px;height:50px}
  .cxlock{font-family:var(--disp);font-size:32px;color:rgba(150,180,240,.5)}
  .cxname{font-family:var(--disp);font-size:14px;color:#2a1c08;margin-bottom:5px}
  .codexcard.locked .cxname{color:var(--dim)}
  .cxdesc{font-size:11px;line-height:1.42;color:#5a4a30}
  .codexcard.locked .cxdesc{color:var(--dim)}
  @media(max-width:640px){.codexgrid{grid-template-columns:repeat(2,1fr)}}
  .settingspanel{max-width:470px}
  .setlist{margin:18px 0 8px;text-align:left}
  .setrow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid rgba(150,180,240,.12)}
  .setrow:last-child{border-bottom:none}
  .setlabel{font-size:14px;color:var(--ink)} .setlabel small{display:block;color:var(--dim);font-size:11.5px;margin-top:2px}
  .toggle{width:48px;height:26px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.09);position:relative;cursor:pointer;flex:none;transition:background .15s}
  .toggle:focus-visible{outline:2px solid var(--chips);outline-offset:2px}
  .toggle.on{background:linear-gradient(90deg,#33d186,#7bffb0);border-color:#2a8a5e}
  .toggle::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .16s cubic-bezier(.34,1.56,.64,1)}
  .toggle.on::after{left:24px}
  .nocrt .crt{display:none}
  .tutbanner{position:absolute;left:50%;bottom:250px;transform:translateX(-50%);max-width:560px;width:92vw;background:linear-gradient(180deg,rgba(16,22,46,.96),rgba(9,12,28,.96));border:2px solid var(--gold);border-radius:13px;padding:11px 18px;font-size:14px;line-height:1.5;color:var(--ink);text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 20px rgba(184,134,59,.22);pointer-events:none;z-index:3}
  .tutbanner .tuthdr{color:var(--gold);font-family:var(--disp);font-size:11px;letter-spacing:.05em;margin-bottom:6px}
  .tutbanner b{color:#e6c368;font-weight:700}
  /* split how-to lines on the menu */
  .howto{margin:16px auto 0;max-width:520px;text-align:left}
  .howto p{font-size:13px;color:var(--dim);line-height:1.5;margin:0 0 8px;padding-left:17px;position:relative}
  .howto p::before{content:"•";position:absolute;left:3px;color:var(--gold)}
  .howto p b{color:var(--ink);font-weight:500}
  .howto p.keys{margin-top:12px;font-size:12.5px} .howto p.keys::before{content:""} .howto p.keys b{color:var(--gold)}
  /* faint in-game keybind reminder */
  .keyreminder{position:absolute;right:14px;bottom:11px;font-size:11px;color:var(--dim);opacity:.5;pointer-events:none;text-align:right;max-width:46vw;line-height:1.4;z-index:2}
  .keyreminder b{color:var(--ink);font-weight:600}
  /* tutorial handholding: dim the surroundings, highlight the target, point at it */
  .tut-dimmed .bars,.tut-dimmed .toolbtns,.tut-dimmed .daywrap,.tut-dimmed .jokers{opacity:.28;transition:opacity .3s}
  .tut-dimmed .form{opacity:.34;transition:opacity .3s}
  .tut-dimmed .form.tut-focus{opacity:1}
  .form.tut-focus{box-shadow:0 0 0 3px var(--gold),0 0 26px rgba(230,201,90,.6),0 16px 30px rgba(0,0,0,.5)!important;animation:tutpulse 1.1s ease-in-out infinite}
  @keyframes tutpulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
  .tutnext{margin-top:10px;font-size:13px;padding:8px 22px;pointer-events:auto}
  #tutPointer{position:absolute;z-index:5;pointer-events:none;display:none;flex-direction:column;align-items:center;transform:translateX(-50%)}
  #tutPointer.show{display:flex;animation:tutbob 1s ease-in-out infinite}
  #tutPointer .lbl{font-family:var(--disp);font-size:12px;color:#160a26;background:linear-gradient(180deg,#e6c368,var(--gold));border:1.5px solid #7a5a1c;border-radius:8px;padding:3px 11px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.5)}
  #tutPointer .tri{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--gold);margin-top:-1px}
  @keyframes tutbob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}
  @media(prefers-reduced-motion:reduce){.form.tut-focus,#tutPointer.show{animation:none}}
  /* ---- intro cinematic ---- */
  .introstage{width:min(760px,94vw)}
  .introframe{position:relative;aspect-ratio:5/3;border:3px solid #2a2018;border-radius:16px;overflow:hidden;background:radial-gradient(120% 120% at 50% 38%,#0e1130,#05060f 72%);box-shadow:0 24px 60px rgba(0,0,0,.62),inset 0 0 0 2px rgba(184,134,59,.5)}
  .introscene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .7s ease}
  .introscene.show{opacity:1}
  .introscene svg{width:86%;height:72%;margin-bottom:6%}
  .introcap{position:absolute;left:0;right:0;bottom:0;padding:16px 22px 18px;background:linear-gradient(0deg,rgba(4,6,16,.92),rgba(4,6,16,.5) 65%,transparent);font-size:15px;line-height:1.55;color:#eae0c6;text-align:center;font-style:italic}
  .introskip{position:absolute;top:10px;right:11px;z-index:3;font-family:var(--disp);font-size:12px;color:#cfc3a0;background:rgba(8,12,28,.72);border:1.5px solid rgba(184,134,59,.5);border-radius:8px;padding:4px 11px;cursor:pointer;pointer-events:auto}
  .introskip:hover{color:#fff;border-color:var(--gold)}
  .introdots{position:absolute;left:0;right:0;bottom:74px;display:flex;gap:8px;justify-content:center;z-index:2}
  .introdots i{width:8px;height:8px;border-radius:50%;background:rgba(230,220,190,.28)} .introdots i.on{background:#e6c368}
  .introhint{text-align:center;font-size:12px;color:#9aa6c8;margin-top:12px;letter-spacing:.02em}
  .a-lens,.a-rocket,.a-stars,.a-drift,.a-panel,.a-exhaust,.a-shield,.a-pulse{transform-box:fill-box;transform-origin:center}
  .a-pulse{animation:aPulse 2.6s ease-in-out infinite}
  .a-lens{animation:aBreath 6s ease-in-out infinite}
  .a-shield{animation:aShield 2.3s ease-in-out infinite}
  .a-b1,.a-b2,.a-b3{opacity:.12}
  .introscene.show .a-b1{animation:aFlash 2.1s ease-in-out infinite}
  .introscene.show .a-b2{animation:aFlash 2.1s ease-in-out .7s infinite}
  .introscene.show .a-b3{animation:aFlash 2.1s ease-in-out 1.4s infinite}
  .introscene.show .a-rocket{animation:aRise 3.6s ease-out forwards}
  .a-exhaust{animation:aExhaust .5s ease-in-out infinite}
  .a-stars{animation:aStars 7s linear infinite}
  .a-drift{animation:aDrift 9s ease-in-out infinite}
  .a-blink{animation:aBlink 3s ease-in-out infinite}
  .introscene.show .a-panel{animation:aPanel 1.3s ease-out forwards}
  @keyframes aPulse{0%,100%{opacity:.8}50%{opacity:1}}
  @keyframes aBreath{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4px,-3px) scale(1.02)}}
  @keyframes aShield{0%,100%{opacity:.3}50%{opacity:.9}}
  @keyframes aFlash{0%,100%{opacity:.12}50%{opacity:1}}
  @keyframes aRise{0%{transform:translateY(72px);opacity:0}30%{opacity:1}100%{transform:translateY(-10px);opacity:1}}
  @keyframes aExhaust{0%,100%{opacity:.5;transform:scaleY(.85)}50%{opacity:1;transform:scaleY(1.15)}}
  @keyframes aStars{0%{transform:translateY(0)}100%{transform:translateY(-16px)}}
  @keyframes aDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(-5px,3px)}}
  @keyframes aBlink{0%,90%,100%{opacity:1}95%{opacity:.15}}
  @keyframes aPanel{0%{transform:translateX(-18px) rotate(-3deg);opacity:0}100%{transform:translateX(0) rotate(0);opacity:1}}
  /* ---- ending cinematic accents (comical NG+ reveal) ---- */
  .e-num,.e-num2,.e-pop,.e-shove,.e-glass,.e-arrow,.e-bang{transform-box:fill-box;transform-origin:center}
  .e-conf{animation:aPulse 1.8s ease-in-out infinite}
  .introscene.show .e-pop,.introscene.show .e-num,.introscene.show .e-num2{animation:ePop .6s cubic-bezier(.34,1.56,.64,1) backwards}
  .introscene.show .e-num2{animation-delay:.5s}
  .introscene.show .e-curve{stroke-dasharray:380;stroke-dashoffset:380;animation:eDraw 1.9s ease-out .25s forwards}
  .e-glass{animation:aBreath 4.5s ease-in-out infinite}
  .e-bang{animation:aPulse 1.2s ease-in-out infinite}
  .e-flip{animation:aBlink 2.2s ease-in-out infinite}
  .introscene.show .e-shove{animation:eShove 2s ease-in-out infinite}
  .e-arrow{animation:eNudge 2s ease-in-out infinite}
  @keyframes ePop{0%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
  @keyframes eDraw{to{stroke-dashoffset:0}}
  @keyframes eShove{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(15px) rotate(7deg)}}
  @keyframes eNudge{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(10px);opacity:1}}
  @media(prefers-reduced-motion:reduce){.a-pulse,.a-lens,.a-shield,.a-b1,.a-b2,.a-b3,.a-rocket,.a-exhaust,.a-stars,.a-drift,.a-blink,.a-panel{animation:none!important}.a-b1,.a-b2,.a-b3{opacity:1}.introscene{transition:none}.e-conf,.e-pop,.e-num,.e-num2,.e-curve,.e-glass,.e-flip,.e-shove,.e-arrow,.e-bang{animation:none!important}.e-curve{stroke-dashoffset:0}}
  .hide{display:none!important}
  @media(max-width:640px){
    .topbar{flex-direction:column}.bars{width:100%}.daywrap{max-width:none;width:100%}.toolbtns{position:absolute;top:0;right:0}
    .forms{gap:6px;width:97vw;justify-content:center}.form{width:31vw;padding:8px}.form .frole{min-height:58px;font-size:12px}
    .legend,.cards{grid-template-columns:1fr}h1{font-size:30px}.titlelogo{font-size:36px}.titlesub{font-size:15px}.credit{max-width:92vw}
  }
  @media(prefers-reduced-motion:reduce){.form.rec,.form::after,.card::after,.fart svg,.cart svg,.jk{animation:none}.crt::after{animation:none}.form,.card,.btn{transition:none}.stats .stat,.bcl,.blindplate,.stat .sv.slam{animation:none!important}}
