:root{--color-bg: #0a0e13;--color-bg-alt: #0e141b;--color-panel: #10171f;--color-panel-border: #223041;--color-grid-line: rgba(90, 140, 170, .06);--color-text: #d8e4ee;--color-text-dim: #8ea3b3;--color-text-faint: #5c7182;--color-amber: #ffb020;--color-green: #39ff88;--color-green-dim: #1f9c56;--color-red: #ff4d4f;--color-blue: #4da6ff;--font-sans: "Segoe UI", Inter, system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--font-mono: "Consolas", "SFMono-Regular", "Cascadia Code", Menlo, Monaco, monospace;--radius: 8px;--shadow-panel: 0 0 0 1px rgba(255, 255, 255, .02), 0 8px 24px rgba(0, 0, 0, .4);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text)}body{font-family:var(--font-sans);line-height:1.5;background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:40px 40px;background-attachment:fixed;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.mono{font-family:var(--font-mono)}a{color:var(--color-blue)}button{font-family:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh;width:100%}.collapse-item{transition-property:transform;transition-duration:.9s;transition-timing-function:cubic-bezier(.55,.06,.68,.19);will-change:transform}main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:0 20px 60px;display:flex;flex-direction:column;gap:28px}.title-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;background:#060a0e;border-bottom:1px solid var(--color-panel-border);font-size:.75rem;color:var(--color-text-dim);flex-wrap:wrap}.title-bar__status{color:var(--color-red);letter-spacing:.06em}.title-bar__clock{color:var(--color-green);letter-spacing:.04em}.hero{width:100%;max-width:1180px;margin:0 auto;padding:48px 20px 24px;text-align:center}.hero__eyebrow{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;margin:0 0 8px}.hero__title{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 12px;letter-spacing:-.01em;text-shadow:0 0 24px rgba(57,255,136,.15)}.hero__tagline{color:var(--color-text-dim);font-size:clamp(1rem,2vw,1.15rem);margin:0 0 24px}.hero__meta{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.hero__timestamp{color:var(--color-text-faint);font-size:.85rem}.panel{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding:20px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em;border:1px solid currentColor;white-space:nowrap}.status-pill--ok{color:var(--color-green);background:#39ff8814}.status-pill--warn{color:var(--color-amber);background:#ffb02014}.status-pill--danger{color:var(--color-red);background:#ff4d4f14}.status-pill--neutral{color:var(--color-blue);background:#4da6ff14}.status-pill__icon{font-size:.7em}.gauge-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;background:radial-gradient(ellipse at top,rgba(57,255,136,.06),transparent 60%),var(--color-panel)}.gauge-card__label{margin:0;font-size:.95rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.12em}.gauge-card__dial{position:relative;width:min(260px,70vw);height:130px;overflow:hidden;margin:8px 0}.gauge-card__dial:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:10px solid var(--color-panel-border);border-bottom:none;border-radius:130px 130px 0 0}.gauge-card__needle{position:absolute;bottom:0;left:50%;width:4px;height:110px;background:linear-gradient(to top,var(--color-red),var(--color-amber));transform-origin:bottom center;transform:rotate(0);transition:transform .6s ease;margin-left:-2px;border-radius:2px}.gauge-card__value{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:1.8rem;font-weight:700;color:var(--color-text)}.gauge-card__interpretation{font-size:1.1rem;font-weight:600;color:var(--color-amber);margin:0}.telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.telemetry-card{display:flex;flex-direction:column;gap:12px}.telemetry-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.telemetry-card__title{margin:0;font-size:1rem;color:var(--color-text)}.telemetry-card__body{flex:1;display:flex;flex-direction:column;gap:10px}.telemetry-card__loading{color:var(--color-text-faint);font-style:italic;margin:0}.telemetry-card__fact{color:var(--color-text-dim);margin:0;font-size:.92rem}.telemetry-card__mood{margin:0;color:var(--color-text-dim)}.telemetry-card__readout{display:flex;flex-wrap:wrap;gap:14px 24px;margin:0}.telemetry-card__readout div{display:flex;flex-direction:column;gap:2px}.telemetry-card__readout dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint)}.telemetry-card__readout dd{margin:0;font-size:1.05rem;color:var(--color-green)}.telemetry-card__error{margin:0;color:var(--color-amber);font-size:.8rem}.telemetry-card__fallback-note{margin:0;color:var(--color-text-faint);font-size:.75rem}.telemetry-card__pokemon{display:flex;gap:14px;align-items:center}.telemetry-card__sprite{image-rendering:pixelated;background:#ffffff0a;border-radius:6px;flex-shrink:0}.telemetry-card__sprite--empty{width:64px;height:64px}.telemetry-card__httpcat{display:flex;flex-direction:column;gap:10px}.telemetry-card__catimg{width:100%;max-height:180px;object-fit:cover;border-radius:6px;border:1px solid var(--color-panel-border)}.telemetry-card__alarm{margin:0;color:var(--color-red);font-weight:700;letter-spacing:.02em}.controls{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.btn{font-size:1rem;font-weight:700;padding:12px 22px;border-radius:var(--radius);border:1px solid var(--color-panel-border);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;background:var(--color-panel);color:var(--color-text)}.btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--primary{background:linear-gradient(180deg,#1f9c56,#147a41);border-color:var(--color-green-dim);color:#06150c}.btn--primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 18px #39ff8840}.btn--danger-outline{background:transparent;color:var(--color-text-faint);border-color:var(--color-panel-border)}.btn--danger-outline:not(:disabled):hover{color:var(--color-red);border-color:var(--color-red)}.btn--small{font-size:.85rem;padding:8px 14px;font-weight:600}.log-card{display:flex;flex-direction:column;gap:10px}.log-card__header h2{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-dim)}.log-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.log-card__line{font-size:.85rem;color:var(--color-green);padding:4px 8px;border-left:2px solid var(--color-panel-border);background:#ffffff04}.log-card__empty{color:var(--color-text-faint);font-style:italic;margin:0}.footer{text-align:center;padding:24px 20px 40px;color:var(--color-text-faint);font-size:.85rem}.snow-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:999}.snow-overlay--static{background:radial-gradient(ellipse at top,rgba(255,255,255,.06),transparent 70%);-webkit-backdrop-filter:brightness(1.05);backdrop-filter:brightness(1.05)}.snowflake{position:absolute;top:-12px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff9;animation-name:snow-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes snow-fall{0%{transform:translateY(-10px) translate(0)}to{transform:translateY(110vh) translate(10px)}}@media (prefers-reduced-motion: reduce){.snowflake{animation:none;display:none}.gauge-card__needle,.btn{transition:none}.collapse-item{transition-duration:1ms;transition-delay:0ms!important}}@media (max-width: 640px){.title-bar{font-size:.65rem;padding:6px 12px}.hero{padding:32px 16px 16px}main{padding:0 12px 40px;gap:20px}.telemetry-card__pokemon{flex-direction:column;align-items:flex-start}.controls{flex-direction:column}.btn{width:100%}}
