:root{--gold:#e8c35a;--gold-2:#f6dc8e;--gold-dark:#8c6418;--ink:#0b0906;--panel:#0e0b08b8;--panel-strong:#0e0b08e6;--line:#e8c35a59;--text:#f5ead2;--muted:#b9a988;--good:#6dff9b;--bad:#ff5a4e;--serif:Didot, "Bodoni 72", "Playfair Display", Georgia, serif;--sans:"Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;color:var(--text);font-family:var(--sans);background:#000;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}canvas#c{width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui .interactive,#ui button,#ui input,#ui .card{pointer-events:auto}.hidden{display:none!important}button{font-family:var(--sans);cursor:pointer;border:none}#hud{transition:opacity .6s;position:absolute;inset:0}#hud.off{opacity:0}.glass{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px)saturate(1.2);background:linear-gradient(#1e160cb8,#0a0806b8);border-radius:14px;box-shadow:0 10px 40px #00000073,inset 0 1px #ffe6a01f}#topCenter{text-align:center;min-width:380px;position:absolute;top:18px;left:50%;transform:translate(-50%)}#balance{font-family:var(--serif);letter-spacing:1px;background:linear-gradient(#fff6d6 0%,#f3cd62 45%,#b17c1e 100%);color:#0000;filter:drop-shadow(0 4px 14px #000000bf)drop-shadow(0 0 22px #e8c35a40);-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:700;line-height:1;transition:transform 80ms}#balance.bump{transform:scale(1.045)}#balance.drop{animation:.5s drop}@keyframes drop{0%{filter:drop-shadow(0 0 20px #ff3c28e6)}to{}}#income{color:var(--good);text-shadow:0 2px 8px #000;letter-spacing:.5px;margin-top:6px;font-size:17px;font-weight:600}#income.neg{color:var(--bad)}#vaultBar{border-radius:9px;width:320px;height:18px;margin:10px auto 0;position:relative;overflow:hidden}#vaultBar .fill{background:linear-gradient(90deg,#6b4b10,#e8c35a);width:0;transition:width .3s;position:absolute;inset:0}#vaultBar span{letter-spacing:1px;color:#fff;text-shadow:0 1px 3px #000;font-size:11px;font-weight:700;line-height:18px;display:block;position:relative}#vaultBar.full{animation:.6s infinite alternate pulseRed}#vaultBar.full .fill{background:linear-gradient(90deg,#8a1010,#ff4a3a)}@keyframes pulseRed{0%{box-shadow:0 0 #ff3c2800}to{box-shadow:0 0 22px #ff3c28e6}}#topLeft{flex-direction:column;gap:8px;width:270px;display:flex;position:absolute;top:18px;left:20px}#viewTag{letter-spacing:2.5px;color:var(--gold);padding:8px 14px;font-size:12px;font-weight:700}#statusBox{padding:10px 14px}#statusBox .row{justify-content:space-between;align-items:baseline;display:flex}#statusBox .label{letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}#statusBox .stars{color:var(--gold);letter-spacing:2px;font-size:13px}#statusName{font-family:var(--serif);color:var(--text);margin:3px 0 7px;font-size:20px;font-weight:700}.bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--gold-dark), var(--gold-2));width:0;height:100%;transition:width .4s;display:block}#genTag{color:var(--muted);letter-spacing:1.5px;text-shadow:0 1px 4px #000;padding-left:4px;font-size:11px}#chips{flex-direction:column;gap:6px;display:flex}.chip{border-radius:999px;width:fit-content;padding:6px 12px;font-size:12px;font-weight:600;animation:.3s chipIn}.chip.good{color:var(--good);border-color:#6dff9b66}.chip.bad{color:var(--bad);border-color:#ff5a4e80}@keyframes chipIn{0%{opacity:0;transform:translate(-20px)}}#topRight{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;width:270px;display:flex;position:absolute;top:18px;right:20px}#tierName{font-family:var(--serif);color:var(--text);text-shadow:0 2px 10px #000;padding:8px 14px;font-size:22px;font-weight:700}#tierName.pop{animation:.5s tierPop}@keyframes tierPop{0%{color:#fff;text-shadow:0 0 30px var(--gold);transform:scale(1.35)}to{transform:scale(1)}}#comboBox{align-items:baseline;gap:8px;padding:6px 14px;display:flex}#comboNum{font-family:var(--serif);color:var(--gold-2);text-shadow:0 0 18px #e8c35a66;font-size:46px;font-weight:700;line-height:1;transition:transform 60ms}#comboNum.bump{transform:scale(1.18)}#comboBox small{letter-spacing:3px;color:var(--muted);font-size:12px;font-weight:800}#multBox{color:var(--good);text-shadow:0 2px 6px #000;letter-spacing:1px;font-size:15px;font-weight:800}#rateMeter{border:1px solid var(--line);background:#00000080;border-radius:4px;width:240px;height:8px;overflow:hidden}#rateMeter i{background:linear-gradient(90deg,#4bd27a,#e8c35a,#ff7a2a,#ff2a5a);width:0;height:100%;transition:width .12s;display:block}#comboBox.dim,#multBox.dim{opacity:.35}#bottom{flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}#prompt{letter-spacing:.5px;opacity:0;text-shadow:0 2px 6px #000;border-radius:12px;padding:10px 20px;font-size:18px;font-weight:700;transition:all .2s;transform:translateY(8px)}#prompt.show{opacity:1;transform:none}#prompt.bad{color:#ffd2cc;border-color:#ff5a4eb3;animation:.4s infinite shakeX}#prompt.gold{border-color:var(--gold);color:var(--gold-2);animation:1s infinite alternate glow}@keyframes glow{to{box-shadow:0 0 30px #e8c35ab3}}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}#keys{align-items:flex-end;gap:14px;display:flex}.key{color:#1a140a;background:linear-gradient(#fbf7ee,#d9d2c3);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:74px;height:74px;transition:transform 50ms,box-shadow 50ms,background .1s;display:flex;position:relative;box-shadow:0 6px #8e8572,0 10px 24px #0000008c}.key b{font-size:32px;font-weight:800;line-height:1}.key small{letter-spacing:1.5px;color:#6a5d43;margin-top:3px;font-size:10px;font-weight:800}.key.down{background:linear-gradient(#fff3c4,#f0c75a);transform:translateY(5px);box-shadow:0 1px #8e8572,0 4px 14px #e8c35ab3}.key.want:after{content:"";border:2px solid var(--gold);border-radius:18px;animation:1s infinite ring;position:absolute;inset:-6px}.key.alert{background:linear-gradient(#ffd8d2,#ff7a6a)}.key.ctx{width:96px}@keyframes ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}#bundleBox{border-radius:999px;align-items:center;gap:10px;padding:7px 14px;display:flex}#bundleBox .lbl{letter-spacing:2.5px;color:var(--muted);font-size:11px;font-weight:800}#bundleBox .bar{width:200px;height:8px}#bundleBox .num{font-family:var(--serif);color:var(--gold-2);text-align:right;min-width:64px;font-size:16px;font-weight:700}#bundleBox.ready{border-color:var(--gold);animation:.6s infinite alternate glow}#hints{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:20px;right:20px}.hint{color:var(--muted);text-shadow:0 1px 4px #000;align-items:center;gap:8px;font-size:12px;display:flex}.kbd{color:#111;text-align:center;background:#ffffffeb;border-radius:6px;min-width:26px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block;box-shadow:0 2px #888}.hint.locked{opacity:.4}#tabletBtn{pointer-events:auto;letter-spacing:1.5px;color:var(--gold-2);padding:10px 16px;font-size:13px;font-weight:800}#tabletBtn:hover{border-color:var(--gold)}#tabletBtn.nudge{animation:.7s infinite alternate glow}#tutorial{text-align:center;opacity:0;border-color:var(--gold);max-width:620px;padding:12px 22px;font-size:17px;font-weight:600;transition:opacity .3s;position:absolute;bottom:262px;left:50%;transform:translate(-50%)}#tutorial.show{opacity:1}#toasts{flex-direction:column;align-items:flex-end;gap:8px;width:340px;display:flex;position:absolute;top:210px;right:20px}.toast{max-width:340px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.35;animation:.35s cubic-bezier(.2,1.4,.4,1) toastIn}.toast.good{border-color:#6dff9b73}.toast.bad{color:#ffd8d2;border-color:#ff5a4e99}.toast.gold{border-color:var(--gold);color:var(--gold-2)}.toast.out{animation:.4s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translate(60px)}}@keyframes toastOut{to{opacity:0;transform:translate(60px)}}#bigText{text-align:center;pointer-events:none;position:absolute;top:30%;left:0;right:0}.big{font-family:var(--serif);letter-spacing:3px;text-shadow:0 6px 30px #000c;font-size:84px;font-weight:700;animation:1.6s forwards bigIn;display:inline-block}.big small{font-family:var(--sans);letter-spacing:3px;color:var(--text);margin-top:8px;font-size:22px;display:block}.big.gold{background:linear-gradient(#fff6d6,#f0c050 50%,#a8741c);color:#0000;filter:drop-shadow(0 6px 24px #000000b3);-webkit-background-clip:text;background-clip:text}.big.gold small{color:var(--gold-2);-webkit-text-fill-color:var(--gold-2)}.big.bad{color:#ff5a4e}@keyframes bigIn{0%{opacity:0;transform:scale(2.2)}12%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-30px)}}#floaters{position:absolute;inset:0;overflow:hidden}.floater{font-family:var(--serif);color:var(--gold-2);text-shadow:0 2px 6px #000,0 0 12px #e8c35a99;white-space:nowrap;font-size:22px;font-weight:700;animation:1s ease-out forwards float;position:absolute;transform:translate(-50%,-50%)}.floater.bad{color:#ff7a6a}.floater.big{font-size:34px}@keyframes float{0%{opacity:0;transform:translate(-50%,-30%)scale(.7)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.1)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}#auditBar{text-align:center;border-color:#ff5a4ecc;padding:12px 22px;position:absolute;top:200px;left:50%;transform:translate(-50%)}#auditBar .t{font-family:var(--serif);color:#ff7a6a;font-size:30px;font-weight:700}#auditBar .bar{width:320px;height:10px;margin-top:8px}#auditBar .bar i{background:linear-gradient(90deg,#ff5a4e,#ffd166)}#phoneCard{pointer-events:auto;width:380px;padding:18px;animation:.45s cubic-bezier(.2,1.3,.4,1) slideIn;position:absolute;bottom:120px;right:24px}@keyframes slideIn{0%{transform:translate(440px)}}#phoneCard .head{letter-spacing:3px;color:var(--good);align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}#phoneCard .head:before{content:"";background:var(--good);width:8px;height:8px;box-shadow:0 0 10px var(--good);border-radius:50%;animation:.6s infinite blink}@keyframes blink{50%{opacity:.2}}#phoneCard .who{font-family:var(--serif);margin:8px 0 4px;font-size:26px;font-weight:700}#phoneCard .pitch{color:var(--text);margin:8px 0 12px;font-size:15px;line-height:1.45}#phoneCard .ask{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}#phoneCard .ask b{color:var(--gold-2);font-size:18px;font-family:var(--serif)}#phoneCard .advice{color:var(--gold-2);min-height:0;margin:6px 0;font-size:13px;font-style:italic}#phoneCard .btns{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}#phoneCard.ringing{animation:.45s cubic-bezier(.2,1.3,.4,1) slideIn,.35s .45s infinite wobble}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-1.2deg)}75%{transform:rotate(1.2deg)}}.btn{letter-spacing:1.2px;color:#1a1206;background:linear-gradient(#ffe9a6,#e8b84a);border-radius:10px;padding:11px 16px;font-size:13px;font-weight:800;transition:transform 60ms,box-shadow 60ms,filter .15s;box-shadow:0 4px #8c6418,0 8px 20px #0006}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(3px);box-shadow:0 1px #8c6418}.btn.ghost{color:var(--text);box-shadow:inset 0 0 0 1px var(--line);background:#ffffff14}.btn.danger{color:#fff;background:linear-gradient(#ff8a7a,#d23a2a);box-shadow:0 4px #7a1a10}.btn:disabled{filter:grayscale()brightness(.55);cursor:not-allowed;transform:none}.btn .kbd{margin-left:8px;padding:1px 6px;font-size:10px}#tablet{pointer-events:auto;background:#00000059;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}}#tablet .device{background:linear-gradient(160deg,#2b2b30,#0b0b0e);border-radius:34px;width:min(1180px,92vw);height:min(760px,86vh);padding:18px;animation:.35s cubic-bezier(.2,1.2,.4,1) tabletIn;box-shadow:0 30px 90px #000c,inset 0 0 0 2px #444,inset 0 0 0 9px #111}@keyframes tabletIn{0%{opacity:0;transform:translateY(80px)rotateX(18deg)scale(.95)}}#tablet .screen{background:radial-gradient(at top,#241a0d 0%,#0d0a07 70%);border-radius:20px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}#tablet header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 22px 10px;display:flex}#tablet header h2{font-family:var(--serif);letter-spacing:3px;color:var(--gold);font-size:22px}#tablet header .bal{font-family:var(--serif);color:var(--gold-2);font-size:26px;font-weight:700}#tablet header .close{color:var(--muted);letter-spacing:1px;background:0 0;align-items:center;gap:6px;font-size:13px;display:flex}#tablet nav{gap:6px;padding:12px 18px;display:flex}#tablet nav button{color:var(--muted);letter-spacing:1px;background:#ffffff0d;border:1px solid #0000;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;position:relative}#tablet nav button.on{color:#1a1206;background:linear-gradient(#ffe9a6,#e8b84a)}#tablet nav button .dot{background:var(--good);width:7px;height:7px;box-shadow:0 0 6px var(--good);border-radius:50%;position:absolute;top:6px;right:8px}#tablet .amount{color:var(--muted);align-items:center;gap:4px;margin-left:auto;font-size:12px;display:flex}#tablet .amount button{padding:7px 12px;font-size:12px}#tablet .body{flex:1;padding:6px 18px 22px;overflow-y:auto}#tablet .body::-webkit-scrollbar{width:8px}#tablet .body::-webkit-scrollbar-thumb{background:#e8c35a4d;border-radius:4px}.section{letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin:16px 4px 8px;font-size:11px;font-weight:800}.grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;display:grid}.card{background:linear-gradient(#ffffff0e,#ffffff05);border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,transform .15s;display:flex;position:relative}.card:hover{border-color:var(--line);transform:translateY(-1px)}.card.can{border-color:#e8c35a73}.card.done{opacity:.62}.card.locked{opacity:.4;filter:grayscale(.6)}.ico{border:1px solid var(--line);background:radial-gradient(circle at 30% 30%,#4a3a1a,#1a130a);border-radius:12px;flex:0 0 52px;justify-content:center;align-items:center;height:52px;display:flex}.ico svg{width:30px;height:30px;stroke:var(--gold-2);fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.card .info{flex:1;min-width:0}.card .name{align-items:baseline;gap:8px;font-size:15px;font-weight:700;display:flex}.card .name .own{font-family:var(--serif);color:var(--gold-2);font-size:15px}.card .desc{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.35}.card .meta{color:var(--good);margin-top:4px;font-size:12px;font-weight:600}.card .meta.bad{color:var(--bad)}.card .buy{flex-direction:column;flex:none;align-items:stretch;gap:3px;min-width:116px;display:flex}.card .buy .price{font-family:var(--serif);text-align:center;color:var(--gold-2);font-size:15px;font-weight:700}.card .buy .price.no{color:var(--bad)}.empty{color:var(--muted);padding:12px 4px;font-size:14px;font-style:italic}.active-row{background:#ffffff0a;border-radius:10px;justify-content:space-between;margin-bottom:6px;padding:10px 14px;font-size:14px;display:flex}.active-row .eta{color:var(--muted);font-variant-numeric:tabular-nums}.stats{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.stat{background:#ffffff0a;border-radius:12px;padding:12px 14px}.stat .k{letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.stat .v{font-family:var(--serif);color:var(--gold-2);margin-top:4px;font-size:22px;font-weight:700}.retire{border:1px solid var(--line);background:radial-gradient(at 0 0,#e8c35a26,#0000 60%);border-radius:16px;align-items:center;gap:20px;margin-top:8px;padding:22px;display:flex}.retire h3{font-family:var(--serif);color:var(--gold-2);font-size:28px}.retire p{color:var(--muted);margin-top:6px;line-height:1.45}#modal{pointer-events:auto;background:#0000008c;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:absolute;inset:0}#modal .box{text-align:center;width:min(620px,92vw);max-height:90vh;padding:30px 32px;animation:.35s cubic-bezier(.2,1.2,.4,1) tabletIn;overflow-y:auto}#modal .box.wide{width:min(980px,94vw)}#modal h2{font-family:var(--serif);letter-spacing:2px;color:var(--gold-2);font-size:40px}#modal h2.bad{color:#ff6a5a}#modal .sub{color:var(--muted);margin-top:8px;font-size:15px;line-height:1.5}#modal .huge{font-family:var(--serif);background:linear-gradient(#fff6d6,#f0c050 50%,#a8741c);color:#0000;-webkit-background-clip:text;background-clip:text;margin:18px 0;font-size:60px;font-weight:700}#modal .row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}#modal .settings{text-align:left;gap:14px;margin-top:18px;display:grid}#modal .settings label{color:var(--text);grid-template-columns:170px 1fr;align-items:center;gap:14px;font-size:14px;display:grid}#modal input[type=range]{width:100%;accent-color:var(--gold)}#modal .seg{gap:6px;display:flex}#modal .seg button{color:var(--muted);background:#ffffff0f;border-radius:8px;flex:1;padding:8px;font-weight:700}#modal .seg button.on{background:var(--gold);color:#1a1206}.heirs{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.heir{border:1px solid var(--line);text-align:left;cursor:pointer;pointer-events:auto;background:#ffffff0a;border-radius:16px;padding:18px;transition:transform .15s,border-color .15s}.heir:hover{border-color:var(--gold);transform:translateY(-4px)}.heir h4{font-family:var(--serif);color:var(--gold-2);font-size:22px}.heir p{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.45}#title{pointer-events:auto;background:radial-gradient(#0000001a,#000000b3);flex-direction:column;justify-content:center;align-items:center;transition:opacity .9s;display:flex;position:absolute;inset:0}#title.out{opacity:0;pointer-events:none}#title .crown{filter:drop-shadow(0 4px 12px #0009);width:70px;height:40px;margin-bottom:4px}#title h1{font-family:var(--serif);letter-spacing:10px;background:linear-gradient(#fff6d6 0%,#f3cd62 40%,#b17c1e 75%,#f7dc8a 100%);color:#0000;filter:drop-shadow(0 10px 30px #000000b3);-webkit-background-clip:text;background-clip:text;font-size:clamp(80px,13vw,210px);font-weight:700;line-height:.95;animation:1.6s cubic-bezier(.2,1,.3,1) titleIn}@keyframes titleIn{0%{letter-spacing:60px;opacity:0;filter:blur(12px)}}#title .tag{letter-spacing:8px;color:var(--text);text-shadow:0 2px 10px #000;margin-top:14px;font-size:24px;animation:2s fadeIn}#title .press{letter-spacing:4px;color:var(--gold-2);text-transform:uppercase;margin-top:56px;font-size:15px;animation:1.6s infinite blink}#title .row{gap:12px;margin-top:34px;display:flex}#title .lang{gap:6px;display:flex;position:absolute;top:22px;right:22px}#title .lang button{color:var(--muted);border:1px solid var(--line);background:#00000073;border-radius:8px;padding:8px 14px;font-weight:800}#title .lang button.on{background:var(--gold);color:#1a1206}#title .credit{letter-spacing:3px;color:#f5ead280;font-size:12px;position:absolute;bottom:22px}#fade{opacity:0;pointer-events:none;background:#fff;transition:opacity .35s;position:absolute;inset:0}#fade.on{opacity:1}
