:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #16161f;--bg-modal: #0e0e16;--text-primary: #e0e0e0;--text-secondary: #9a9ab0;--text-muted: #5a5a72;--accent-cyan: #00f0ff;--accent-magenta: #ff00aa;--accent-green: #00ff41;--accent-amber: #ffb300;--border-dim: #1e1e2e;--border-glow: #00f0ff44;--font-pixel: "Press Start 2P", monospace;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--z-starfield: 0;--z-content: 10;--z-nav: 20;--z-modal: 100;--z-cursor: 200;--z-explosions: 150;--z-accessibility: 90;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{cursor:none}@media(pointer:coarse){body{cursor:auto}}[data-reduced-motion=true] body,[data-reduced-motion=true] button{cursor:auto}#root{height:100%}.app-shell{position:relative;z-index:var(--z-content);display:flex;flex-direction:column;height:100%;max-width:1200px;margin:0 auto;padding:1rem 1.5rem}.content-area{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow-y:auto;overflow-x:hidden;padding:1rem 0}@media(max-width:640px){.content-area{align-items:flex-start}}a{color:var(--accent-cyan);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-magenta)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:var(--font-mono);cursor:none;border:none;background:none;color:var(--text-primary)}@media(pointer:coarse){button{cursor:pointer}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-dim);border-radius:3px}::selection{background:var(--accent-cyan);color:var(--bg-primary)}.widget-label{font-family:var(--font-pixel);font-size:.5rem;color:var(--text-muted);letter-spacing:1px;margin-right:.3rem}.widget-value{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums}.widget-dot{color:var(--text-muted);margin:0 .2rem}.conn-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:.25rem;vertical-align:middle}.internet-size,.connection-meter,.uptime-display{display:inline-flex;align-items:center;gap:.15rem}.section-title{font-family:var(--font-pixel);font-size:.75rem;color:var(--text-primary);text-align:center;letter-spacing:2px;margin-bottom:1rem}@media(max-width:1024px){html{font-size:15px}}@media(max-width:640px){html{font-size:15px}.app-shell{padding:.5rem .8rem}}[data-theme=deuteranopia]{--accent-cyan: #56b4e9;--accent-magenta: #e69f00;--accent-green: #56b4e9;--accent-amber: #cc79a7}[data-theme=protanopia]{--accent-cyan: #648fff;--accent-magenta: #ffb000;--accent-green: #648fff;--accent-amber: #dc267f}[data-theme=tritanopia]{--accent-cyan: #ff6f61;--accent-magenta: #6b5b95;--accent-green: #ff6f61;--accent-amber: #88b04b}[data-theme=high-contrast]{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-card: #111111;--bg-modal: #050505;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #888888;--accent-cyan: #00ffff;--accent-magenta: #ff00ff;--accent-green: #00ff00;--accent-amber: #ffff00;--border-dim: #333333;--border-glow: #00ffff66}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px var(--accent-cyan)}50%{box-shadow:0 0 12px var(--accent-cyan),0 0 24px var(--accent-cyan)}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes scan-line{0%{top:-100%}to{top:100%}}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
