:root{--navy-950:#070b16;--navy-900:#0f1629;--navy-800:#171f38;--navy-700:#263052;--cyan-400:#5ee6ff;--cyan-900:#062030;--violet-400:#a78bfa;--amber-400:#ffb547;--white:#fff;--color-bg:var(--navy-950);--color-surface:var(--navy-900);--color-surface-raised:var(--navy-800);--color-border:#8caaff2e;--color-text:#e8edff;--color-text-secondary:#a3afd3;--color-accent:var(--cyan-400);--color-accent-ink:var(--cyan-900);--color-link:var(--cyan-400);--color-error:#ffb4b4;--color-focus:var(--white);--color-status-working:var(--amber-400);--color-status-active:var(--cyan-400);--color-status-resting:var(--violet-400);--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-panel:0 0 0 1px #8caaff24, 0 16px 40px #00000073;--topbar-h:3.25rem;--ease-out:cubic-bezier(.2, 0, 0, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;height:100%}body{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);overscroll-behavior:none;margin:0;line-height:1.5}#root{height:100%}h1,h2,p,dl,dd{margin:0}a{color:var(--color-link);text-underline-offset:.15em;text-decoration-thickness:from-font}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;padding:var(--space-2) var(--space-3);background:var(--color-accent);color:var(--color-accent-ink);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--topbar-h);padding-block:var(--space-2);flex:none;padding-inline-start:max(var(--space-2), env(safe-area-inset-left));padding-inline-end:max(var(--space-2), env(safe-area-inset-right));display:flex}.brand{font-size:var(--text-sm);letter-spacing:0;white-space:nowrap;font-weight:600}.button-icon{vertical-align:-.125em;display:inline-block}.button-icon+.label-wide{margin-inline-start:var(--space-1)}.controls{gap:var(--space-2);flex:none;display:flex}.label-wide{display:none}.button{appearance:none;min-height:2.5rem;padding-block:var(--space-2);padding-inline:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition-property:background-color,scale;transition-duration:.12s;transition-timing-function:var(--ease-out);font-weight:600;line-height:1.2}@media (hover:hover){.button:hover{background:var(--color-surface-raised)}}.button:active{scale:.96}.button[aria-pressed=true]{background:var(--color-surface-raised);border-color:var(--color-text-secondary)}.button-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}@media (hover:hover){.button-primary:hover{background:#8aeeff}}.icon-button{appearance:none;border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--color-text);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;transition-property:background-color;transition-duration:.12s;display:inline-grid}@media (hover:hover){.icon-button:hover{background:var(--color-surface-raised)}}.find-row{align-items:center;gap:var(--space-2);padding-block:0 var(--space-2);padding-inline:max(var(--space-4), env(safe-area-inset-left)) max(var(--space-4), env(safe-area-inset-right));flex-wrap:wrap;flex:none;display:flex}.find-row[hidden]{display:none}.find-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.find-input{width:7.5rem;min-height:2.5rem;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-md)}.find-input::placeholder{color:var(--color-text-secondary)}.find-error{font-size:var(--text-sm);color:var(--color-error);flex-basis:100%}.stage{flex:1 1 0;min-height:0;position:relative;overflow:hidden}.map{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--color-bg);width:100%;height:100%;display:block;position:absolute;inset:0}.hint,.data-note{pointer-events:none;font-size:var(--text-sm);color:var(--color-text);padding-block:var(--space-1);padding-inline:var(--space-2);border-radius:var(--radius-sm);max-width:calc(100% - 2 * var(--space-4));background:#070b16c7;position:absolute;inset-inline-start:max(var(--space-4), env(safe-area-inset-left))}.hint{inset-block-start:var(--space-3)}.data-note{font-size:var(--text-xs);color:var(--color-text-secondary);inset-block-end:max(var(--space-3), env(safe-area-inset-bottom))}.panel{overscroll-behavior:contain;max-height:min(60%,32rem);padding-block:var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));padding-inline:var(--space-4);background:var(--color-surface);box-shadow:var(--shadow-panel);border-start-start-radius:var(--radius-lg);border-start-end-radius:var(--radius-lg);position:absolute;inset-block-end:0;inset-inline:0;overflow-y:auto}.panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-block-end:var(--space-4);display:flex}.panel-title{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.panel-title:focus-visible{outline-offset:4px}.panel-activity{font-size:var(--text-sm);color:var(--color-text-secondary);text-wrap:pretty;margin-block-start:var(--space-1)}.facts{gap:var(--space-2) var(--space-4);grid-template-columns:1fr;display:grid}.fact{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-1);border-block-end:1px solid var(--color-border);font-size:var(--text-sm);display:flex}.fact dt{color:var(--color-text-secondary)}.fact dd{text-align:end;overflow-wrap:anywhere}.num{font-variant-numeric:tabular-nums}.panel-links{font-size:var(--text-sm);margin-block-start:var(--space-4)}.panel-note{font-size:var(--text-xs);color:var(--color-text-secondary);margin-block-start:var(--space-2)}.help{background:var(--color-surface);width:100%;max-width:min(100% - 2rem,30rem);color:var(--color-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);border:0;padding:0}.help::backdrop{background:#070b1699}.help-body{padding:var(--space-5);gap:var(--space-4);display:grid}.help-body .panel-head{margin:0}.help-body p{text-wrap:pretty}.help-list{gap:var(--space-2);margin:0;padding-inline-start:1.1rem;display:grid}.help-legend{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.swatch{width:.75rem;height:.75rem;border-radius:50%;margin-inline-end:var(--space-1);display:inline-block}.swatch-working{background:var(--color-status-working)}.swatch-active{background:var(--color-status-active)}.swatch-resting{background:var(--color-status-resting)}@media (width>=36rem){.label-wide{display:inline}.brand{font-size:var(--text-md)}.button{padding-inline:var(--space-3)}.topbar{gap:var(--space-3);padding-inline-start:max(var(--space-4), env(safe-area-inset-left));padding-inline-end:max(var(--space-4), env(safe-area-inset-right))}}@media (width>=56rem){.brand{font-size:var(--text-xl)}.panel{inset-inline-start:auto;inset-inline-end:var(--space-4);inset-block:var(--space-4);border-radius:var(--radius-lg);width:22.5rem;max-height:none;padding-block:var(--space-5);padding-inline:var(--space-5)}.hint{inset-block-start:var(--space-4)}}@media (prefers-reduced-motion:reduce){.button,.icon-button{transition:none}.button:active{scale:1}}
