:root{--terminal-bg: #0a0a0a;--terminal-text: #aaaaaa;--terminal-green: #00ff00;--terminal-dim: #1a3a1a;--alert-text: #ff3333;--info-text: #33aaff;--choice-text: #00ccff;--choice-border: #00aaff;--choice-hover: #00ffff;--chat-bg: #0a0a0a;--chat-sender-caller: #b8b8b8;--chat-sender-dispatch: #ffffff;--chat-sender-you: #00ff88;--chat-text-default: #ffffff;--chat-text-muted: #b8b8b8;--chat-text-system: #ffffff;--chat-text-alert: #ff3333;--chat-text-police: #00ffff;--chat-text-fire: #ff00ff;--hold-bg: rgba(0, 0, 0, .95);--hold-accent: #00aaff;--fab-bg: rgba(0, 0, 0, .85);--fab-border: #333;--fab-border-hover: #555;--fab-radius: 8px;--fab-transition: all .25s cubic-bezier(.4, 0, .2, 1);--fab-ambulance: #ff4444;--fab-police: #4488ff;--fab-fire: #ff8844;--fab-rewind: #aa44ff;--fab-status: #00ff88;--touch-target-desktop: 36px;--touch-target-mobile: 44px;--mobile-max: 600px;--tablet-max: 1024px;--font-mono: "lores-9-minus-narrow", "lores-12", sans-serif;--font-mono-wide: "lores-9-minus-wide", sans-serif;--font-mono-bold: "lores-9-wide", sans-serif;--rank-receiver-primary: #00ff88;--rank-receiver-secondary: #00cc66;--rank-receiver-glow: rgba(0, 255, 136, .3);--rank-responder-primary: #00aaff;--rank-responder-secondary: #0088dd;--rank-responder-glow: rgba(0, 170, 255, .3);--rank-coordinator-primary: #ff8800;--rank-coordinator-secondary: #cc6600;--rank-coordinator-glow: rgba(255, 136, 0, .3);--rank-controller-primary: #ff00ff;--rank-controller-secondary: #cc00cc;--rank-controller-glow: rgba(255, 0, 255, .3);--rank-primary: var(--rank-receiver-primary);--rank-secondary: var(--rank-receiver-secondary);--rank-glow: var(--rank-receiver-glow)}body.rank-receiver{--rank-primary: var(--rank-receiver-primary);--rank-secondary: var(--rank-receiver-secondary);--rank-glow: var(--rank-receiver-glow)}body.rank-responder{--rank-primary: var(--rank-responder-primary);--rank-secondary: var(--rank-responder-secondary);--rank-glow: var(--rank-responder-glow)}body.rank-coordinator{--rank-primary: var(--rank-coordinator-primary);--rank-secondary: var(--rank-coordinator-secondary);--rank-glow: var(--rank-coordinator-glow)}body.rank-controller{--rank-primary: var(--rank-controller-primary);--rank-secondary: var(--rank-controller-secondary);--rank-glow: var(--rank-controller-glow)}body.large-font{--font-scale: 1.25}body.large-font .message-text,body.large-font .terminal-line,body.large-font .choice-button,body.large-font .menu-btn,body.large-font .settings-content{font-size:calc(1em * var(--font-scale, 1))}body.large-font .message-sender{font-size:calc(.8em * var(--font-scale, 1))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-mono);background:#000;color:var(--terminal-text);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{user-select:none;-webkit-user-select:none}.terminal-line{user-select:text;-webkit-user-select:text}:focus-visible{outline:2px solid var(--choice-hover);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}@media(max-width:600px){::-webkit-scrollbar{width:0;display:none}}@supports (padding: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}html{overscroll-behavior:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-dot{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}@keyframes hold-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}@keyframes fab-expand{0%{transform:scale(0) translateY(0);opacity:0}to{transform:scale(1) translateY(var(--offset, 0));opacity:1}}@keyframes fab-item-enter{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fab-item-exit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(10px)}}@keyframes rank-pulse{0%,to{box-shadow:0 0 20px var(--rank-glow);transform:scale(1)}50%{box-shadow:0 0 40px var(--rank-glow);transform:scale(1.02)}}@keyframes rank-badge-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes unlock-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
