:root{--bg:#0d0a14;--panel:#1c1428;--panel-2:#2a1f3d;--border:#4a3868;--gold:#f2c14e;--green:#5fd068;--red:#e35b5b;--text:#efe6ff;--dim:#9a8bb5;font-family:Courier New,ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);overflow:hidden}#game{image-rendering:pixelated;background:#000;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}button{background:var(--panel-2);color:var(--text);border:2px solid var(--border);cursor:pointer;letter-spacing:1px;padding:8px 16px;font-family:inherit;font-size:clamp(14px,1.1vw,20px);font-weight:700;box-shadow:0 3px #000}button:hover:not(:disabled){background:var(--border)}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #000}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--gold);color:#211a08;border-color:#a8842e}button.primary:hover:not(:disabled){background:#ffd97a}button.danger{background:var(--red);border-color:#8f3030}input{color:var(--text);border:2px solid var(--border);background:#120d1d;width:100%;padding:8px 10px;font-family:inherit;font-size:clamp(15px,1.2vw,21px)}input:focus{border-color:var(--gold);outline:none}.screen{background:radial-gradient(ellipse at 50% 30%, #241638 0%, var(--bg) 70%);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.title{color:var(--gold);text-shadow:3px 3px #000,0 0 24px #f2c14e55;letter-spacing:3px;text-align:center;font-size:clamp(26px,5vw,48px);line-height:1.2}.subtitle{color:var(--dim);text-align:center;max-width:480px;margin-bottom:12px;font-size:clamp(14px,1.2vw,20px)}.menu-box{background:var(--panel);border:2px solid var(--border);flex-direction:column;gap:12px;width:min(clamp(380px,32vw,520px),92vw);padding:24px;display:flex;box-shadow:0 8px #0008}.row{gap:8px;display:flex}.row>*{flex:1}.skin-picker{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.skin-option{border:2px solid var(--border);cursor:pointer;background:#120d1d;justify-content:center;align-items:center;width:52px;height:60px;display:flex}.skin-option.selected{border-color:var(--gold);background:#2a2038}.skin-option canvas{image-rendering:pixelated;width:36px;height:48px}.room-title{color:var(--gold);letter-spacing:2px;text-shadow:2px 2px #000;font-size:clamp(26px,3vw,42px)}.section-label{color:var(--dim);letter-spacing:3px;text-align:center;margin-top:4px;font-size:clamp(11px,.9vw,15px)}.room-list{flex-direction:column;gap:6px;max-height:34vh;display:flex;overflow-y:auto}.room-row{border:1px solid var(--border);background:#120d1d;align-items:center;gap:10px;padding:7px 10px;font-size:clamp(13px,1.05vw,18px);display:flex}.room-row .rname{font-weight:700}.room-row .rmeta{color:var(--dim);font-size:.82em}.room-row button{margin-left:auto;padding:5px 14px;font-size:.85em}.room-row input{width:130px;margin-left:auto;padding:5px 8px;font-size:.85em}.room-row input+button,.room-row input~button{margin-left:0}.player-list{flex-direction:column;gap:6px;width:100%;display:flex}.player-row{border:1px solid var(--border);background:#120d1d;align-items:center;gap:10px;padding:6px 10px;font-size:clamp(14px,1.1vw,19px);display:flex}.player-row canvas{image-rendering:pixelated;width:18px;height:24px}.player-row .host-tag{color:var(--gold);margin-left:auto;font-size:11px}.error-msg{color:var(--red);min-height:16px;font-size:13px}#hud{text-shadow:1px 1px #000;background:linear-gradient(#000000e0,#0000);align-items:center;gap:clamp(16px,1.6vw,28px);padding:clamp(8px,1vh,16px) clamp(14px,1.5vw,28px);font-size:clamp(14px,1.3vw,24px);display:flex;position:absolute;top:0;left:0;right:0}#hud .money{color:var(--gold);font-size:clamp(19px,1.9vw,34px);font-weight:700}#hud .timer{font-variant-numeric:tabular-nums;min-width:4.2em;font-size:clamp(18px,1.8vw,32px);font-weight:700}#hud .timer.low{color:var(--red);animation:1s step-end infinite timer-blink}#hud-mute{box-shadow:none;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:clamp(16px,1.5vw,26px)}@keyframes timer-blink{50%{opacity:.35}}#hud .day{color:var(--dim)}#hud .spacer{flex:1}.goal-wrap{flex-direction:column;gap:3px;min-width:clamp(260px,30vw,560px);display:flex}.goal-label{color:var(--dim);justify-content:space-between;font-size:clamp(11px,1vw,18px);display:flex}.goal-bar{border:1px solid var(--border);background:#120d1d;height:clamp(17px,2.2vh,26px);position:relative}.goal-num{text-shadow:1px 1px #000;justify-content:center;align-items:center;font-size:clamp(11px,1vw,17px);display:flex;position:absolute;inset:0}.goal-fill{background:linear-gradient(90deg, #b3542e, var(--gold));height:100%;transition:width .4s}.goal-fill.met{background:var(--green)}#hud .moon-pip{margin-right:3px}#hud-favors{color:var(--gold);font-size:clamp(15px,1.3vw,24px);font-weight:700}#hud .goal-num canvas{margin-right:2px}#item-bar{gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.held-item{border:1px solid var(--gold);background:#000000a8;padding:6px;animation:.2s toast-in;display:inline-flex}.shop-balance{color:var(--gold);font-size:clamp(17px,1.5vw,26px);font-weight:700}.shop-list{flex-direction:column;gap:8px;display:flex}.shop-row{border:1px solid var(--border);background:#120d1d;align-items:center;gap:12px;padding:8px 12px;display:flex}.shop-info{flex:1}.shop-name{font-size:clamp(14px,1.15vw,20px);font-weight:700}.shop-desc{color:var(--dim);font-size:clamp(12px,1vw,16px)}.shop-row button{align-items:center;gap:4px;padding:6px 12px;display:inline-flex}.ending .icon-row{gap:clamp(14px,2vw,28px);display:flex}.rain span{line-height:0}#toasts{flex-direction:column-reverse;align-items:center;gap:6px;display:flex;position:absolute;bottom:60px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast{border:1px solid var(--border);white-space:nowrap;background:#000c;padding:clamp(6px,.7vh,12px) clamp(14px,1.4vw,24px);font-size:clamp(14px,1.2vw,22px);animation:.2s toast-in,.4s 3.6s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@keyframes toast-out{to{opacity:0}}.prompt-hint{border:1px solid var(--gold);color:var(--gold);background:#000c;padding:clamp(6px,.8vh,14px) clamp(16px,1.6vw,30px);font-size:clamp(15px,1.4vw,26px);position:absolute;bottom:clamp(24px,3vh,48px);left:50%;transform:translate(-50%);pointer-events:none!important}.modal-backdrop{background:#000000a0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{background:var(--panel);border:3px solid var(--border);flex-direction:column;width:min(clamp(520px,44vw,760px),94vw);max-height:92vh;display:flex;overflow-y:auto;box-shadow:0 10px #000a,0 0 60px #0008}.modal-head{background:var(--panel-2);border-bottom:2px solid var(--border);color:var(--gold);letter-spacing:2px;align-items:center;padding:10px 14px;font-size:clamp(16px,1.4vw,26px);display:flex}.modal-head .close{margin-left:auto;padding:2px 10px;font-size:clamp(14px,1.1vw,20px)}.modal-body{flex-direction:column;gap:clamp(12px,1.2vh,20px);padding:clamp(16px,1.6vw,28px);display:flex}.modal .hint{color:var(--dim);font-size:clamp(12px,1vw,17px)}.bet-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-btn{box-shadow:none;cursor:pointer;background:0 0;border:none;padding:0;line-height:0;transition:transform 80ms}.chip-btn canvas{width:clamp(38px,3.2vw,54px)}.chip-btn:hover{transform:translateY(-3px)}.chip-btn:active{transform:translateY(0)}.limit-badge{color:var(--dim);border:1px solid var(--border);margin-left:auto;padding:3px 9px;font-size:clamp(11px,.9vw,15px)}.placed-amt{color:var(--gold);min-height:1.2em;font-size:.8em;line-height:1.2;display:block}.bet-row .chip{padding:6px 10px;font-size:clamp(12px,1vw,17px)}.bet-amount{color:var(--gold);text-align:center;min-width:clamp(90px,8vw,140px);font-size:clamp(20px,1.8vw,32px)}.result-line{text-align:center;min-height:1.4em;font-size:clamp(17px,1.5vw,27px);font-weight:700}.result-line.win{color:var(--green)}.result-line.lose{color:var(--red)}.roulette-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.roulette-grid button{padding:8px 4px;font-size:clamp(12px,1vw,17px)}.roulette-grid button.red-bet{background:#7d2b2b}.roulette-grid button.black-bet{background:#1b1b22}.roulette-grid button.placed{border-color:var(--gold);box-shadow:0 0 8px #f2c14e66}.crash-mult{text-align:center;color:var(--green);text-shadow:2px 2px #000;padding:18px 0;font-size:clamp(52px,4.5vw,78px);font-weight:700}.crash-mult.crashed{color:var(--red);animation:.15s 4 crash-flash}@keyframes crash-flash{50%{opacity:.3}}#chat{text-shadow:1px 1px #000;flex-direction:column;gap:4px;width:min(360px,44vw);font-size:clamp(13px,1.05vw,18px);display:flex;position:absolute;bottom:10px;left:10px}#chat .chat-log{flex-direction:column;gap:3px;display:flex}#chat .chat-line{border-left:3px solid var(--border);overflow-wrap:break-word;background:#000000a0;padding:3px 9px;animation:1s 14s forwards chat-dim}@keyframes chat-dim{to{opacity:.35}}#chat input{background:#000000d0;display:none}#chat.open input{display:block}#chat.open .chat-hint{display:none}#chat .chat-hint{color:var(--dim);opacity:.8;font-size:.75em}.ending h1{letter-spacing:3px;text-shadow:3px 3px #000;font-size:clamp(24px,5vw,44px)}.ending.dead{background:radial-gradient(at 50% 40%,#2b0d0d 0%,#050203 75%)}.ending.dead h1{color:var(--red)}.ending.rich{background:radial-gradient(at 50% 40%,#3d3213 0%,#0d0a14 75%)}.ending.rich h1{color:var(--gold)}.ending .story{color:var(--dim);text-align:center;max-width:460px;font-size:clamp(14px,1.2vw,19px);line-height:1.6}.invite-row input{color:var(--dim);font-size:clamp(11px,.9vw,15px)}.invite-row button{flex:none;padding:6px 12px;font-size:clamp(11px,.9vw,15px)}.awards{border:1px solid var(--border);background:#00000070;flex-direction:column;gap:6px;padding:12px 18px;animation:.7s 1.9s both fade-late;display:flex}.award-row{align-items:center;gap:10px;font-size:clamp(13px,1.1vw,19px);display:flex}.award-title{color:var(--gold);letter-spacing:1px;min-width:9em;font-weight:700}.award-name{font-weight:700}.award-detail{color:var(--dim);font-size:.85em}.ending .stamp{transform-origin:50%;animation:.45s cubic-bezier(.2,1.6,.4,1) .15s both stamp-in}@keyframes stamp-in{0%{opacity:0;transform:scale(3)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(-2deg)}}.graves-row{flex-wrap:wrap;justify-content:center;gap:clamp(14px,2.2vw,34px);display:flex}.grave-drop{flex-direction:column;align-items:center;animation:.55s cubic-bezier(.3,1.35,.5,1) both grave-fall;display:flex}.grave-drop .gstone{font-size:clamp(34px,4vw,58px)}.grave-drop .gname{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;max-width:90px;margin-top:2px;font-size:clamp(11px,1vw,16px);overflow:hidden}@keyframes grave-fall{0%{opacity:0;transform:translateY(-60vh)rotate(6deg)}60%{opacity:1;transform:translateY(7px)rotate(-1deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.ending.dead .story,.ending.dead #restart-btn{animation:.7s 1.5s both fade-late}@keyframes fade-late{0%{opacity:0;transform:translateY(8px)}}.ending .rain{pointer-events:none;position:absolute;inset:0;overflow:hidden}.rain span{font-size:clamp(20px,2vw,34px);animation:3s linear infinite money-fall;position:absolute;top:-50px}@keyframes money-fall{to{transform:translateY(115vh)rotate(220deg)}}.graves{letter-spacing:14px;font-size:40px}
