*{box-sizing:border-box}html,body{overscroll-behavior:none;color:#2b1d14;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:#2b1d14;width:100%;height:100dvh;margin:0;padding:0;font-family:Be Vietnam Pro,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}::-webkit-scrollbar{display:none}*{scrollbar-width:none}.sign{text-transform:uppercase;letter-spacing:.04em;font-family:Impact,Arial Black,Haettenschweiler,Segoe UI Black,sans-serif}.start{background:radial-gradient(at 50% 0,#fff0c859,#0000 60%),repeating-linear-gradient(0deg,#783c1438 0 2px,#0000 2px 46px),repeating-linear-gradient(90deg,#783c1429 0 2px,#0000 2px 92px),radial-gradient(circle at 20% 30%,#5a280a40 0 6px,#0000 7px),radial-gradient(circle at 75% 65%,#5a280a33 0 9px,#0000 10px),#d9a441;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden;box-shadow:inset 0 0 120px #501e008c}.start:after{content:"";background:repeating-linear-gradient(90deg,#5b4a3c 0 38px,#4e3f33 38px 76px);border-top:6px solid #2b1d14;height:14dvh;position:absolute;bottom:0;left:0;right:0}.start-card{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(560px,100%);max-height:100%;display:flex;position:relative}.title{color:#c0392b;-webkit-text-stroke:3px #2b1d14;paint-order:stroke fill;text-shadow:5px 5px #2b1d14,8px 8px #0003;margin:0;font-size:clamp(44px,14vmin,120px);line-height:.95;transform:rotate(-3deg)}.subtitle{background:#fff3c4;border:3px solid #2b1d14;margin:0;padding:3px 12px;font-size:clamp(13px,2.6vmin,18px);font-weight:800;transform:rotate(1.5deg);box-shadow:3px 3px #2b1d14}.name-input{width:min(360px,100%);font:inherit;text-align:center;color:#2b1d14;background:#fff9e6;border:4px solid #2b1d14;border-radius:6px;outline:none;padding:10px 12px;font-size:20px;font-weight:800;box-shadow:4px 4px #2b1d14}.name-input:focus{background:#fff;border-color:#c0392b}.big-btn{text-transform:uppercase;letter-spacing:.05em;color:#fff3c4;cursor:pointer;background:#c0392b;border:4px solid #2b1d14;border-radius:8px;padding:8px 34px;font-family:Impact,Arial Black,sans-serif;font-size:28px;transition:transform 80ms,box-shadow 80ms;box-shadow:5px 5px #2b1d14}.big-btn:hover{background:#d84a39}.big-btn:active{transform:translate(4px,4px);box-shadow:1px 1px #2b1d14}.big-btn:disabled{filter:grayscale(.6);cursor:wait}.msg{color:#ffd75e;background:#2b1d14;border-radius:4px;margin:0;padding:4px 10px;font-weight:800}.controls-line,.notice{background:#fff3c4d9;border-radius:4px;margin:0;padding:5px 10px;font-size:clamp(12px,2.4vmin,15px);font-weight:600;line-height:1.35}.notice{background:#ffffffb3;border:2px dashed #2b1d14}kbd{font:inherit;background:#fff;border:2px solid #2b1d14;border-radius:4px;padding:0 5px;font-weight:800}.game-root{touch-action:none;-webkit-user-select:none;user-select:none;background:#2b1d14;position:fixed;inset:0}.scene-host{touch-action:none;position:absolute;inset:0}.scene-host canvas{touch-action:none;display:block}.hud{pointer-events:none;position:absolute;inset:0}.hud button,.hud input,.hud .btn-area,.hud .emotes,.hud .chat-log,.hud .joy{pointer-events:auto}.topbar{pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:6px;left:6px;right:6px}.minimap{background:#2b1d14d1;border:3px solid #2b1d14;border-radius:4px;flex:1;min-width:0;height:20px;display:block;box-shadow:2px 2px #00000080}.online{letter-spacing:.04em;white-space:nowrap;background:#ffd75e;border:3px solid #2b1d14;border-radius:4px;padding:0 8px;font-family:Impact,Arial Black,sans-serif;font-size:14px;line-height:20px}.online.money{color:#c0392b;background:#fff3c4}.shop{pointer-events:none;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:absolute;top:60px;left:8px}.shop-btns{gap:6px;display:flex}.shop button,.modal-btns button{text-transform:uppercase;letter-spacing:.03em;color:#2b1d14;cursor:pointer;background:#ffd75e;border:3px solid #2b1d14;border-radius:6px;padding:5px 12px;font-family:Impact,Arial Black,sans-serif;font-size:15px;box-shadow:3px 3px #0000008c}.shop button:disabled,.modal-btns button:disabled{filter:grayscale(.8);opacity:.6;cursor:not-allowed}.shop-note{color:#fff3c4;background:#1e140ca6;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700}.shop-note.warn{background:#c0392b}.proposal{pointer-events:auto;background:#fff3c4;border:4px solid #2b1d14;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:800;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:4px 4px #2b1d14}.modal-btns{justify-content:center;gap:8px;display:flex}.modal-btns .ok{color:#fff3c4;background:#c0392b}.chat{pointer-events:none;flex-direction:column;gap:4px;width:min(340px,42vw);display:flex;position:absolute;bottom:8px;left:8px}.chat-log{color:#fff;text-shadow:1px 1px #000;word-break:break-word;background:#1e140c73;border-radius:6px;flex-direction:column;gap:1px;max-height:min(150px,24dvh);padding:4px 6px;font-size:13px;line-height:1.3;display:flex;overflow-y:auto}.chat-log:empty{display:none}.chat-name{all:unset;cursor:pointer;color:#ffd75e;font-weight:800}.chat-name:hover{text-decoration:underline}.chat-input{font:inherit;color:#2b1d14;pointer-events:auto;background:#fff9e6d9;border:3px solid #2b1d14;border-radius:6px;width:100%;padding:5px 8px;font-size:14px}.chat-input:focus{background:#fff;border-color:#c0392b;outline:none}.muted-list{pointer-events:auto;color:#fff;text-shadow:1px 1px #000;background:#1e140c73;border-radius:4px;padding:2px 6px;font-size:11px}.muted-list button{all:unset;cursor:pointer;color:#2b1d14;background:#fff3c4;border-radius:3px;margin-left:4px;padding:0 4px;font-weight:700}.btn-area{pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.swatches{pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:220px;display:flex}.swatch{cursor:pointer;border:3px solid #2b1d14;border-radius:50%;width:24px;height:24px;padding:0;box-shadow:1px 1px #00000080}.swatch.sel{border-color:#fff;outline:3px solid #2b1d14;transform:scale(1.3)}.round-row{pointer-events:auto;grid-template-columns:repeat(3,auto);gap:8px;display:grid}.round-btn{letter-spacing:.02em;text-transform:uppercase;text-align:center;color:#2b1d14;cursor:pointer;touch-action:none;background:#ffd75ee6;border:4px solid #2b1d14;border-radius:50%;width:70px;height:70px;padding:4px;font-family:Impact,Arial Black,sans-serif;font-size:13px;line-height:1.05;box-shadow:3px 3px #0000008c}.round-btn:active{transform:translate(2px,2px);box-shadow:1px 1px #0000008c}.round-btn.pee{background:#ffeb3beb}.round-btn.trash{background:#81c784eb}.round-btn.role-act{background:#90caf9f0}.round-btn:disabled{filter:grayscale(.8);opacity:.65;cursor:not-allowed}.round-btn.punch{background:#ffa726f0}.round-btn.carry{background:#ba68c8eb}.round-btn.shove{background:#ef6c5aeb}.hint{text-align:center;color:#fff3c4;pointer-events:none;background:#1e140ca6;border-radius:14px;max-width:40vw;padding:4px 12px;font-size:14px;font-weight:700;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.eraser-btn{cursor:pointer;letter-spacing:.02em;text-transform:uppercase;color:#2b1d14;background:#ffd75e;border:3px solid #2b1d14;border-radius:8px;height:32px;padding:0 12px;font-family:Impact,Arial Black,sans-serif;font-size:14px;box-shadow:1px 1px #00000080}.eraser-btn.on{color:#fff3c4;background:#c0392b;border-color:#fff;outline:3px solid #2b1d14}.emotes{pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}.emote-row{pointer-events:auto;gap:5px;display:flex}.emote-btn,.emote-toggle{letter-spacing:.02em;color:#2b1d14;cursor:pointer;pointer-events:auto;background:#ffd75eeb;border:3px solid #2b1d14;border-radius:12px;padding:3px 8px;font-family:Impact,Arial Black,sans-serif;font-size:12px;box-shadow:2px 2px #00000080}.emote-btn:active,.emote-toggle:active{transform:translate(1px,1px);box-shadow:1px 1px #00000080}.emote-toggle.on{color:#fff3c4;background:#c0392b}.emote-key{opacity:.6;margin-left:5px;font-size:10px}.emotes.compact{bottom:40px}.emotes.compact .emote-row{grid-template-columns:repeat(3,auto);display:grid}.joy{touch-action:none;background:#ffffff2e;border:4px solid #2b1d1499;border-radius:50%;width:120px;height:120px;position:absolute;bottom:24px;left:24px}.joy-knob{pointer-events:none;background:#ffd75ed9;border:4px solid #2b1d14;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}.overlay-full{z-index:10;color:#ffd75e;text-align:center;background:#1e140ceb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;font-size:22px;font-weight:800;display:flex;position:fixed;inset:0}.overlay-full .sign{font-size:34px}@media (max-height:460px){.start-card{gap:5px}.title{-webkit-text-stroke:2px #2b1d14;font-size:44px}.subtitle{padding:1px 8px;font-size:11px}.name-input{padding:4px 8px;font-size:15px}.big-btn{padding:3px 24px;font-size:20px}.controls-line,.notice{padding:2px 6px;font-size:10px}.notice{display:none}.shop{top:52px}.round-row{gap:4px}.round-btn{border-width:3px;width:48px;height:48px;padding:1px;font-size:9px}.swatches{max-width:160px}.swatch{border-width:2px;width:18px;height:18px}.chat{width:min(300px,36vw)}.chat-log{max-height:22dvh;font-size:12px}.hint{font-size:12px;bottom:8px}.emotes.compact{bottom:36px}.emote-btn,.emote-toggle{border-width:2px;padding:2px 6px;font-size:11px}.eraser-btn{border-width:2px;height:18px;padding:0 7px;font-size:10px}}.admin{background:#f3ead2;padding:16px;font-size:15px;position:fixed;inset:0;overflow:auto}.admin h1{margin:0 0 12px}.admin form,.admin .row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin input{font:inherit;border:2px solid #2b1d14;border-radius:4px;padding:6px 8px}.admin button{font:inherit;cursor:pointer;background:#ffd75e;border:2px solid #2b1d14;border-radius:4px;padding:6px 12px;font-weight:700}.admin table{border-collapse:collapse;background:#fff;width:100%;max-width:640px}.admin th,.admin td{text-align:left;border:1px solid #b9a77a;padding:4px 8px}.admin .err{color:#b00020;font-weight:700}.round-btn:disabled{opacity:.45;filter:grayscale(.6);cursor:not-allowed}.key-btn{pointer-events:auto;cursor:pointer}.key-menu{z-index:20;pointer-events:auto;background:#fff3c4;border:3px solid #2b1d14;border-radius:8px;width:min(460px,100vw - 32px);max-height:calc(100dvh - 24px);padding:12px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:4px 4px #00000080}.key-title{margin-bottom:8px;font-family:Impact,Arial Black,sans-serif;font-size:20px}.key-row{cursor:pointer;width:100%;font:inherit;background:#fff;border:2px solid #2b1d14;border-radius:4px;justify-content:space-between;margin-bottom:4px;padding:6px 10px;display:flex}.key-foot{justify-content:space-between;gap:8px;margin-top:8px;display:flex}.key-foot button{cursor:pointer;font:inherit;background:#ffd75e;border:2px solid #2b1d14;border-radius:4px;padding:6px 12px;font-weight:700}.stun-banner{pointer-events:none;color:#fff;background:#c0392b;border:3px solid #2b1d14;border-radius:6px;padding:6px 14px;font-family:Impact,Arial Black,sans-serif;font-size:20px;position:absolute;top:40%;left:50%;transform:translate(-50%)}.menu-tabs{gap:6px;margin-bottom:10px;display:flex}.menu-tabs button{cursor:pointer;font:inherit;background:#fff;border:2px solid #2b1d14;border-radius:4px;flex:1;padding:6px;font-weight:700}.menu-tabs button.on{background:#ffd75e}.guide{font-size:14px;line-height:1.4}.guide h3{margin:10px 0 2px;font-size:15px}.guide p{margin:0}@media (pointer:coarse){.chat{width:min(250px,30vw);left:156px}}
