@layer tokens{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--fg:#f0e8d8;--fg-muted:#aaa;--accent:#ff4;--accent-danger:#ee1c25;--on-accent:#111;--overlay-bg:#1a1028b8;--panel:#00000073;--panel-border:#f0e8d859;--border:#ffffff1f;--input-bg:#0000008c;--input-border:#f0e8d840;--danger-bg:#ee1c251f;--accent-tint:#ffff441f;--accent-tint-strong:#ff43;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;font-family:system-ui,-apple-system,sans-serif}}@layer base{*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--fg);min-height:100vh;margin:0}body.pointer-locked{cursor:none}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer layout{#app-shell{z-index:10;width:min(960px, calc(100vw - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:calc(100dvh - 1.5rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;position:fixed;top:50%;left:50%;overflow:hidden auto;transform:translate(-50%,-50%)}#app-shell:has(#app[hidden]){display:none}#app{background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--panel-border);border-radius:var(--radius-lg);width:100%;padding:1.25rem;overflow:visible;box-shadow:0 8px 32px #0006}#app[hidden]{display:none}.site-brand{align-items:center;gap:.85rem;min-width:0;display:flex}.app-header-row{flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:1rem;display:flex}.menu-header{align-items:center;min-width:0;display:flex}#app.lobby-mode .menu-header,#app.offline-mode .menu-header{display:none}.lobby-header{flex-shrink:0;align-items:flex-end;gap:.65rem;display:none}#app.lobby-mode .lobby-header{display:flex}.offline-header{flex-shrink:0;align-items:center;display:none}#app.offline-mode .offline-header{display:flex}#app.offline-mode .lobby-header,#app.offline-mode .kill-banner,#app.offline-mode .intro,#app.lobby-mode .kill-banner,#app.lobby-mode .intro{display:none}.lobby-title{color:var(--fg-muted);white-space:nowrap;font-size:1.6rem;font-weight:600;line-height:1}.site-logo{border-radius:50%;flex-shrink:0;width:52px;height:52px;display:block}.site-titles{min-width:0}.kill-banner{color:var(--accent);white-space:nowrap;margin:0;padding:.5em 0 .35em;font-family:Arial,sans-serif;font-size:1.66rem;font-weight:900;line-height:1;display:inline-block}.kill-struck{margin-right:.15em;display:inline-block;position:relative}.kill-struck s{text-decoration:none}.kill-struck:before,.kill-struck:after{content:"";background:var(--accent-danger);border-radius:3px;width:108%;height:.12em;position:absolute;top:50%;left:-4%}.kill-struck:before{transform:translateY(-50%)rotate(14deg)}.kill-struck:after{transform:translateY(-50%)rotate(-14deg)}.kill-word{color:var(--accent-danger);text-shadow:1px 1px #7a0d00;white-space:nowrap;margin-bottom:-.2em;font-family:Bradley Hand,Comic Sans MS,cursive;font-size:1.7em;font-weight:700;position:absolute;bottom:100%;left:50%;transform:translate(-50%)rotate(-4deg)}header h1{margin:0;font-size:1.8rem}.guide-section+#lobby-profile{margin-top:1rem}#lobby>.guide-section+.panel,#menu,#lobby,#offline-setup{margin-top:1.25rem}#menu .btn{background:var(--panel);border:none;margin:.5rem 0;padding:1rem;font-size:1.1rem}#menu .btn--primary,#menu .btn--danger{border:none}.site-footer{color:var(--fg-muted);text-align:center;opacity:.75;text-shadow:0 1px 2px #000000e6;margin:.5rem 0 0;padding:0 .25rem;font-size:.7rem;line-height:1.45}#app.lobby-mode~.site-footer,#app.offline-mode~.site-footer{display:none}.site-footer a{font-size:inherit;color:inherit;text-underline-offset:.15em;text-decoration:underline}.site-footer a:hover{color:var(--fg)}#lobby[hidden],#offline-setup[hidden]{display:none}#lobby h3,#offline-setup h3,#lobby h4{margin:0 0 .75rem;font-size:1.1rem}.lobby-section-head{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.75rem;display:flex}.lobby-section-head h3{margin:0}.lobby-count{min-height:0;margin:0;font-size:.85rem}.lobby-code-row{flex-shrink:0;align-items:flex-end;gap:.5rem;display:flex}#lobby-code{letter-spacing:.06em;color:var(--accent);font-family:ui-monospace,monospace;font-size:1rem;line-height:1}.lobby-code-row .btn:active:not(:disabled){background:var(--accent-tint);border-color:var(--accent)}.lobby-player-name-cell{align-items:center;gap:.5rem;min-width:0;display:flex}.lobby-profile h3{margin:0 0 .75rem}.lobby-profile-footer{gap:.75rem;margin-top:1rem;display:flex}.lobby-profile-footer .btn{flex:1;font-weight:600}#lobby:not(.profile-pending) #btn-profile-back,#lobby.profile-pending .lobby-players,#lobby.profile-pending .lobby-options,#lobby.profile-pending .lobby-footer,#lobby.profile-pending>.hint{display:none}.lobby-player-row{border-bottom:1px solid #ffffff14;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem .75rem;padding:.4rem 0;display:grid}.lobby-player-row:last-child{border-bottom:none}.lobby-swatch{border:1px solid var(--on-accent);border-radius:50%;flex-shrink:0;width:14px;height:14px}.lobby-player-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.lobby-player-name.local{color:var(--accent)}.lobby-player-status{color:var(--fg-muted);font-size:.8rem}.lobby-player-status.ready{color:var(--accent);opacity:1}.lobby-player-status.watching{font-style:italic}.lobby-team-pick{grid-column:1/-1;gap:.35rem;padding-left:1.5rem;display:flex}.lobby-team-btn{cursor:pointer;border:2px solid #0000;border-radius:4px;width:22px;height:22px;padding:0}.lobby-team-btn.selected{border-color:var(--fg);box-shadow:0 0 0 1px var(--on-accent)}.lobby-options-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem;display:grid}.lobby-option-wide{grid-column:1/-1}.lobby-option{flex-direction:column;gap:.35rem;display:flex}.lobby-option-label{color:var(--fg-muted);font-size:.8rem}.lobby-bot-row .stepper{align-items:center;gap:.5rem;display:flex}.stepper-val{text-align:center;font-variant-numeric:tabular-nums;min-width:1.5rem}.toggle-group{flex-wrap:wrap;gap:.35rem;display:flex}.lobby-check{cursor:pointer;align-items:center;gap:.35rem;font-size:.9rem;display:flex}.lobby-check input:disabled+*{opacity:.45;cursor:not-allowed}.lobby-check:has(input:disabled){opacity:.45;cursor:not-allowed}.lobby-footer{grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-top:1rem;display:grid}.lobby-footer.setup-footer{grid-template-columns:1fr 1fr}.lobby-footer .btn{width:100%}#online-panel .field{margin-bottom:.35rem}#online-panel #online-status:empty{display:none}#online-panel #online-status:not(:empty){margin:.25rem 0 .5rem}.leave{top:calc(134px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));width:auto;padding:.4rem .75rem;position:absolute}#game[hidden]{display:none}#game.menu-attract .game-chrome,#hud[hidden],#minimap[hidden],#touch-controls[hidden],#btn-leave[hidden],#game-overlay[hidden],.controls-hint[hidden],.game-chrome[hidden]{display:none!important}#game{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}#view{background:#000;display:block}#rotate-hint:not([hidden]){z-index:4;text-align:center;pointer-events:none;max-width:min(90vw,22rem);color:var(--fg);text-shadow:0 1px 3px #000000e6;opacity:.9;margin:0;padding:.35rem .75rem;font-size:.95rem;font-weight:600;position:absolute;left:50%;transform:translate(-50%,-100%)}@media (orientation:landscape),(hover:hover) and (pointer:fine){#rotate-hint{display:none!important}}#minimap{top:calc(8px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));background:#00000080;border:1px solid #555;border-radius:4px;width:120px;height:120px;position:absolute}#hud:not([hidden]){top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));background:var(--panel);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.35rem .6rem;font-family:monospace;display:flex;position:absolute}#game-overlay:not([hidden]){z-index:8;background:var(--overlay-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);pointer-events:none;text-align:center;width:min(78vw,480px);max-width:calc(100% - 2rem);color:var(--fg);text-wrap:balance;box-shadow:none;padding:clamp(1rem,4vw,1.5rem);font-family:system-ui,sans-serif;font-size:clamp(1.1rem,4vw,1.5rem);font-weight:600;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}#game-overlay.error{color:var(--accent-danger)}#happiness{background:var(--bg);border:1px solid #555;border-radius:50%;flex-shrink:0;width:40px;height:40px}#touch-controls:not([hidden]){touch-action:none;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}#stick-area{--stick-size:clamp(190px, calc(.6 * min(100svw, 100svh)), 275px);left:0;right:50%;top:calc(64px + env(safe-area-inset-top,0px));pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:opacity .25s;position:absolute;bottom:0}#stick-base{width:var(--stick-size);height:var(--stick-size);transform:translate(calc(var(--stick-cx,0px) - 50%), calc(var(--stick-cy,0px) - 50%));pointer-events:none;background:#ffffff14;border-radius:50%;position:absolute;top:0;left:0}#stick-base:before{content:"";border:1px solid #ffffff38;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:50%;left:50%}#stick-knob{width:calc(.3 * var(--stick-size));height:calc(.3 * var(--stick-size));transform:translate(calc(-50% + var(--stick-x,0px)), calc(-50% + var(--stick-y,0px)));pointer-events:none;background:#ffff44bf;border-radius:50%;transition:background .15s;position:absolute;top:50%;left:50%}#stick-knob.neutral{background:#ffff4459}#touch-controls.gamepad-ghost{opacity:0}#action-area{--action-out-r:calc(16px + env(safe-area-inset-right,0px));--action-out-y:calc(16px + env(safe-area-inset-bottom,0px));--action-gap-half:.25rem;height:calc(72px + 2 * var(--action-out-y));pointer-events:none;grid-template-columns:1fr max-content;align-items:stretch;display:grid;position:absolute;bottom:0;left:50%;right:0}.action{color:var(--on-accent);pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:0;height:100%;margin:0;padding:0;font-size:.85rem;font-weight:700;transition:opacity .25s;position:relative}#btn-turn{grid-column:1;width:auto;min-width:0}#btn-fire{width:calc(72px + var(--action-gap-half) + var(--action-out-r));grid-column:2;font-size:1rem}.action:before{content:"";width:72px;height:72px;bottom:var(--action-out-y);background:var(--accent);pointer-events:none;border-radius:50%;position:absolute}.action>span{bottom:calc(var(--action-out-y) + 36px);pointer-events:none;position:absolute}#btn-turn:before{right:var(--action-gap-half);left:auto}#btn-turn>span{right:calc(var(--action-gap-half) + 36px);left:auto;transform:translate(50%,50%)}#btn-fire:before{left:var(--action-gap-half);right:auto}#btn-fire>span{left:calc(var(--action-gap-half) + 36px);right:auto;transform:translate(-50%,50%)}.action.pressed:before{opacity:.7}#touch-controls.controls-dimmed #stick-area,#touch-controls.controls-dimmed .action{opacity:.45}.controls-hint{bottom:calc(6px + env(safe-area-inset-bottom,0px));pointer-events:none;text-shadow:0 1px 2px #000000e6;opacity:.75;text-align:center;margin:0;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}.controls-hint .hint-desktop{display:none}.controls-hint .hint-mobile{display:inline}}@layer components{.btn{border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--fg);font:inherit;cursor:pointer;margin:0;padding:.75rem 1rem;font-size:1rem;transition:background .12s,transform 80ms,border-color .12s,color .12s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.btn--danger{background:var(--accent-danger);border-color:var(--accent-danger);color:#fff;font-weight:700}.btn--ghost{border-color:var(--border);background:#ffffff0f}.btn--back{background:var(--danger-bg);border-color:var(--accent-danger)}.btn--ready{background:var(--accent-tint-strong);border-color:var(--accent);color:var(--accent)}.btn--block{width:100%;display:block}.btn--sm{padding:.35rem .75rem;font-size:.85rem}.btn--xs{color:var(--fg-muted);border-radius:4px;padding:.15rem .45rem;font-size:.75rem}.btn.copied{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.btn:active:not(:disabled){transform:scale(.95)}.chip{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--fg);font:inherit;cursor:pointer;padding:.35rem .65rem;font-size:.85rem}.chip--selected,.chip.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.input{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--fg);font:inherit;padding:.6rem .75rem;font-size:1rem}.input--compact{padding:.4rem .6rem;font-size:.95rem}.stepper-btn{width:2rem;height:2rem;padding:0;font-size:1.1rem;line-height:1}.stepper-btn:disabled{opacity:.35}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-md);margin-top:1.5rem;padding:1rem}.panel h2{margin:0 0 1rem;font-size:1.1rem}.field{margin-bottom:.75rem;display:block}.field span{color:var(--fg-muted);margin-bottom:.25rem;font-size:.85rem;display:block}.hint{min-height:1.25rem;color:var(--fg-muted);font-size:.85rem}.hint.error{color:var(--accent-danger);opacity:1}.guide-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);margin-bottom:1rem}.guide-section summary{color:var(--fg);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.85rem 1rem;font-size:1rem;font-weight:600;list-style:none}.guide-section summary::-webkit-details-marker{display:none}.guide-section summary:before{content:"▸";color:var(--accent);margin-right:.5rem;transition:transform .15s;display:inline-block}.guide-section[open] summary:before{transform:rotate(90deg)}.guide-section summary:hover{color:var(--accent)}.guide-section[open] summary{border-bottom:1px solid var(--border)}.guide-body{padding:.75rem 1rem 1rem}.guide-list{margin:0}.guide-list dt{color:var(--accent);margin:.65rem 0 .15rem;font-size:.95rem;font-weight:600}.guide-list dt:first-child{margin-top:0}.guide-list dd{color:var(--fg);margin:0;font-size:.95rem;line-height:1.45}.guide-note{color:var(--fg-muted);margin:.75rem 0 0;font-size:.9rem;font-style:italic}.intro{color:var(--fg);text-align:left;margin:.75rem 0 0;font-size:1.05rem;line-height:1.5}.intro a{color:var(--accent);text-decoration:underline}.intro a:hover{text-decoration:none}.guide-body .intro{margin:.75rem 0 0}.guide-body .intro:first-child{margin-top:0}}@layer utilities{[hidden]{display:none!important}@media (max-width:640px),(max-height:520px){header h1{font-size:1.35rem}.kill-banner{font-size:1.25rem}.lobby-title{font-size:1.2rem}.site-logo{width:40px;height:40px}.lobby-header{flex-wrap:wrap}.intro,.guide-section summary{font-size:1rem}.guide-list dt,.guide-list dd{font-size:.95rem}.guide-note,.field span,.hint{font-size:.9rem}#menu .btn{padding:.75rem;font-size:1rem}.panel{margin-top:1rem;padding:.75rem}.panel h2,#lobby h3,#offline-setup h3{font-size:1rem}.lobby-option-label{font-size:.85rem}.lobby-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .65rem}.lobby-options-grid .chip{padding:.3rem .45rem;font-size:.85rem}.lobby-options-grid .stepper-btn{width:1.75rem;height:1.75rem;font-size:1rem}}@media (max-width:640px){.app-header-row{flex-flow:column wrap;align-items:stretch;gap:.65rem}#app.lobby-mode .lobby-header,#app.offline-mode .offline-header,.menu-header{flex-wrap:wrap;justify-content:space-between;gap:.5rem;width:100%}.menu-header{margin-top:1.75rem}}@media (max-height:520px){#app-shell{top:auto;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - .75rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));transform:translate(-50%)}}@media (max-height:520px) and (min-width:641px){#app-shell{width:min(960px, calc(100vw - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}.app-header-row{flex-flow:row-reverse wrap;align-items:center;gap:.75rem}}@media (hover:hover) and (pointer:fine){#touch-controls:not([hidden]){display:none}.controls-hint .hint-desktop{display:inline}.controls-hint .hint-mobile{display:none}}}
