@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=VT323&display=swap";:root{--bg:#0d0d0d;--bg-panel:#111418;--bg-input:#0a0c0f;--border:#2a2d32;--border-dim:#1a1d22;--text:#c8b89a;--text-dim:#8a8171;--text-bright:#e8d8c0;--accent:#a3e635;--accent-dim:#5a7a1e;--gold:#d4a843;--gold-dim:#7a5e20;--red:#e05555;--red-dim:#7a2020;--font-mono:"IBM Plex Mono", "Courier New", monospace;--font-title:"VT323", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}#root{flex-direction:column;width:100%;min-height:100%;display:flex}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:none;image-rendering:pixelated;font-size:16px;line-height:1.6}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes title-glow{0%,to{text-shadow:0 0 12px #d4a84359,0 0 2px #d4a84380}50%{text-shadow:0 0 20px #d4a8438c,0 0 4px #d4a843b3}}@keyframes sprite-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes dice-tumble{0%{transform:rotate(45deg)scale(1)}50%{transform:rotate(225deg)scale(1.12)}to{transform:rotate(405deg)scale(1)}}.dm-dots span{animation:1.2s infinite blink}.dm-dots span:nth-child(2){animation-delay:.2s}.dm-dots span:nth-child(3){animation-delay:.4s}.dm-caret{animation:1s step-end infinite blink}.landing-root{position:relative;overflow-x:hidden}.landing-root:before{content:"";pointer-events:none;z-index:50;background:repeating-linear-gradient(#0000 0 2px,#0000002e 3px 4px),radial-gradient(#0000 55%,#0000008c 100%);position:fixed;inset:0}.landing-title{animation:4s ease-in-out infinite title-glow}.landing-cursor{animation:1.1s step-end infinite blink}.landing-sprite{animation:3s ease-in-out infinite sprite-bob}.landing-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:40px;width:100%;max-width:980px;display:grid}@media (width<=860px){.landing-grid{gap:28px;max-width:520px;grid-template-columns:1fr!important}.landing-pitch{text-align:center}.landing-features{text-align:left}.landing-party-row{justify-content:center}}::selection{background:var(--accent);color:var(--bg)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.play-root{height:100dvh}@media (width<=768px){.dashboard-header{flex-wrap:wrap;gap:8px!important;padding:10px 16px!important}.dashboard-header-right{gap:12px!important}.dashboard-user-email{font-size:11px!important}.dashboard-main{padding:16px 12px!important}.dashboard-layout{grid-template-columns:1fr!important}.campaign-card{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.card-sprites{flex-wrap:wrap!important}.campaign-card-actions{align-self:flex-end}.panel-body{padding:16px!important}.action-btn{min-height:44px;padding:8px 0!important}.admin-sidebar{display:none!important}.admin-sidebar.admin-sidebar-open{z-index:30;width:240px;position:fixed;top:0;bottom:0;left:0;box-shadow:0 0 0 100vmax #0000008c;display:flex!important}.admin-nav-toggle{display:flex!important}.admin-stats-row{flex-wrap:wrap}.admin-stat{min-width:120px;padding:14px 16px!important}.admin-stat-value{font-size:28px!important}.admin-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{min-width:640px}.play-header{padding:8px 12px!important;padding-top:calc(8px + env(safe-area-inset-top))!important}.tap-target{min-height:44px}.tap-target-sq{min-width:44px;min-height:44px}.play-header .play-brand{font-size:18px!important}.play-state-badge{display:none!important}.play-log{padding:16px 12px!important}.play-command{padding:10px 12px!important}.play-command input{font-size:16px!important}.play-tactical-stage{height:240px!important}}@media (width<=900px) and (orientation:landscape) and (height<=500px){.play-tactical-stage{height:150px!important}.play-header{padding-top:calc(4px + env(safe-area-inset-top))!important;padding-bottom:4px!important}}@media (width<=480px){.signin-brand-title{font-size:60px!important}.signin-brand-sub{letter-spacing:.12em!important;font-size:10px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
