body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#0b1120;color:#e6eaf2;font-family:Archivo,system-ui,sans-serif;margin:0}.app{display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:1180px;padding:24px 16px}h1{font-size:30px;font-weight:800;letter-spacing:-.01em;margin:0}code,input{font-family:IBM Plex Mono,monospace}.panel{background:#131b2e;border:1px solid #243049;border-radius:14px;flex-direction:column;gap:16px;padding:22px}.panel,.row{display:flex}.row{align-items:flex-start;flex-wrap:wrap;gap:12px}.box{border:1px dashed #8c96ab;border-radius:8px;color:#8c96ab;padding:12px}.topbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.eyebrow{color:#8c96ab;font-size:12px;font-weight:600;letter-spacing:.08em;margin:0;text-transform:uppercase}.nav{display:flex;gap:20px}.nav a{color:#ff8a4c;font-size:14px;font-weight:500;line-height:36px;text-decoration:none}.nav a:hover{text-decoration:underline}.main{align-items:flex-start;display:flex;flex-wrap:wrap;gap:18px}.player-panel{flex:999 1 560px;min-width:0}.side-panels{align-content:flex-start;display:flex;flex:1 1 320px;flex-wrap:wrap;gap:18px;max-width:100%;min-width:0}.side-panels>.panel{flex:1 1 280px;min-width:0}.home-link{color:inherit;text-decoration:none}.intro{color:#c9d1e0;font-size:17px;line-height:1.6;margin:0;max-width:760px}.intro strong{color:#ff8a4c}.status{align-items:center;aspect-ratio:1;background:#000;border-radius:10px;box-sizing:border-box;color:#c9d1e0;display:flex;flex-direction:column;gap:6px;justify-content:center;max-width:560px;padding:24px;text-align:center;width:100%}.status p{font-size:14px;line-height:1.5;margin:0;max-width:360px}.status-error strong{color:#ff8a4c}.status-spinner{animation:spin .9s linear infinite;border:3px solid #243049;border-radius:50%;border-top-color:#ff8a4c;height:36px;margin-bottom:8px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.band-buttons{flex-wrap:wrap}.band-buttons button{display:flex;flex-direction:column;height:auto;justify-content:center;line-height:1.2;min-height:36px;padding:4px 10px}.band-buttons small{font-size:10px;opacity:.7}.status.run-backend{align-items:stretch;aspect-ratio:auto;gap:10px;min-height:360px;text-align:left}.run-backend p{max-width:none}.run-backend code{color:#ff8a4c}.run-steps{display:flex;flex-direction:column;font-size:14px;gap:10px;margin:0;padding-left:20px}.run-cmd{align-items:stretch;display:flex;gap:8px;margin-top:4px}.run-cmd pre{background:#0e1526;border:1px solid #243049;border-radius:8px;color:#e6eaf2;flex:1 1;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.5;margin:0;min-width:0;overflow-x:auto;padding:8px 10px}.run-cmd button{font-size:12px;padding:6px 10px}.run-note{color:#8c96ab;font-size:13px!important}.run-actions{align-items:center;display:flex;gap:14px}.run-actions a{color:#ff8a4c;font-size:14px}@media (max-width:600px){.app{gap:14px;padding:16px 12px}h1{font-size:26px}.nav{gap:14px}.nav a{line-height:1.4}.intro{font-size:15px}.panel{padding:14px}.side-panels{flex:1 1 100%}.status{padding:16px}}.credits{border-top:1px solid #ffffff1a;color:#8c96ab;font-size:13px;line-height:1.6;margin-top:32px;padding:16px 0 24px;text-align:center}.credits a{color:inherit;text-decoration:underline}.credits a:hover{color:#ff8a4c}.intro-hint{color:#8c96ab;font-size:14px;margin:-6px 0 0}.intro-hint strong{color:#e6eaf2}.intro-hint a{color:#ff8a4c}button{background:#0e1526;border:1px solid #243049;border-radius:10px;color:#e6eaf2;cursor:pointer;font:inherit;padding:10px 14px}button:hover{border-color:#8c96ab}button.active,button[type=submit]{background:#ff8a4c;border-color:#ff8a4c;color:#1a0d05;font-weight:700}.row span{color:#8c96ab;font-size:13px}html input[type=range]{--thumb:18px;--accent:#ff8a4c;appearance:none;background:linear-gradient(to right,var(--accent) 0 calc(var(--thumb)/2 + (100% - var(--thumb))*0),#2a3550 0);background:linear-gradient(to right,var(--accent) 0 calc(var(--thumb)/2 + (100% - var(--thumb))*var(--p, 0)),#2a3550 0);border:0;border-radius:999px;box-shadow:none;box-sizing:border-box;cursor:pointer;height:6px;margin:8px 0;min-height:0;padding:0}html input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}html input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid #0b1120;border-radius:50%;box-shadow:0 0 0 1px var(--accent);height:var(--thumb);-webkit-transition:transform .1s;transition:transform .1s;width:var(--thumb)}html input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}html input[type=range]::-moz-range-track{background:#0000}html input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid #0b1120;border-radius:50%;box-shadow:0 0 0 1px var(--accent);box-sizing:border-box;height:var(--thumb);width:var(--thumb)}html .transport input[type=range]{--accent:#ff8a4c}html .loupe-tool input[type=range]{--accent:#2dd4bf}form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px}label{font-size:13px;font-weight:600;width:100%}input{background:#0e1526;border:1px solid #243049;border-radius:10px;color:#e6eaf2;flex:1 1;font-family:monospace;font-size:14px;min-width:200px;padding:12px 14px}input:focus{outline:2px solid #ff8a4c;outline-offset:2px}.search-error{color:#ff8a4c;font-size:13px;margin:0;width:100%}.presets{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.presets span{color:#8c96ab;font-size:13px;margin-right:6px}.presets button{background:#131b2e;border:1px solid #243049;border-radius:99px;color:#e6eaf2;font-size:13px;font-weight:400}.presets button:hover{border-color:#8c96ab}.presets button.active{background:#e6eaf2;border-color:#e6eaf2;color:#0b1120;font-weight:600}.fov{background:#0e1526;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:12px}.fov-label{color:#8c96ab;font-size:12px}.fov-buttons{display:flex;gap:4px}.fov-buttons button{background:#131b2e;border:1px solid #243049;border-radius:8px;color:#e6eaf2;font-size:13px;font-weight:400;height:36px;padding:0 14px}.fov-buttons button:hover{border-color:#8c96ab}.fov-buttons button.active{background:#e6eaf2;border-color:#e6eaf2;color:#0b1120;font-weight:600}@media (max-width:600px){.fov-buttons{flex-wrap:wrap}.fov-buttons button{flex:1 1;min-width:48px;padding:0 8px}}.player{flex-direction:column;width:100%}.player,.viewer-row{display:flex;gap:14px}.viewer-row{flex-wrap:wrap}.viewer{aspect-ratio:1;background:#000;border-radius:10px;flex:999 1 360px;max-width:560px;overflow:hidden;position:relative}.viewer img{display:block;height:100%;image-rendering:pixelated;width:100%}.hud{bottom:10px;color:#fff;font-family:monospace;font-size:13px;justify-content:space-between;left:12px;position:absolute;right:12px;text-shadow:0 1px 2px #000}.hud,.side{display:flex}.side{flex:1 1 260px;flex-direction:column;gap:12px;min-width:0}.transport{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.transport input[type=range]{accent-color:#ff8a4c;flex:1 1}.transport span{font-family:monospace;font-size:13px}.controls-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.speeds{background:#0e1526;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:12px}.speeds-label{color:#8c96ab;font-size:12px}.speeds-buttons{display:flex;gap:4px}.speeds-buttons button{background:#131b2e;border:1px solid #243049;border-radius:8px;color:#e6eaf2;font-size:13px;font-weight:400;height:36px;padding:0 12px}.speeds-buttons button.active{background:#e6eaf2;border-color:#e6eaf2;color:#0b1120;font-weight:600}@media (max-width:600px){.viewer-row{display:contents}.viewer{flex:none;order:1;width:100%}.transport{order:2}.controls-grid{grid-template-columns:minmax(0,1fr);order:3}.side{order:4}.transport button{min-height:44px;min-width:44px}.speeds-buttons button{flex:1 1}}.crosshair{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.crosshair circle,.crosshair line{fill:none;stroke:#ff8a4c;stroke-width:1.5px;vector-effect:non-scaling-stroke;opacity:.85}.viewer .crosshair-toggle{background:#000a;border:1px solid #fff3;border-radius:8px;color:#8c96ab;cursor:pointer;display:grid;height:32px;padding:0;place-items:center;position:absolute;right:10px;top:10px;width:32px}.viewer .crosshair-toggle svg{fill:none;stroke:currentColor;stroke-width:2;height:18px;width:18px}.viewer .crosshair-toggle.is-on{border-color:#ff8a4c;color:#ff8a4c}.player{gap:18px}.controls-grid{gap:16px}.controls-wide{grid-column:1/-1;min-width:0}.gif-export{align-items:center;display:flex;gap:8px}.gif-export button{white-space:nowrap}.gif-export button:disabled{cursor:wait;opacity:.6}.transport .gif-status{color:#8c96ab;font-family:Archivo,system-ui,sans-serif;font-size:12px}.share{display:flex;flex-direction:column;gap:8px}.share-title{color:#8c96ab;font-size:12px;font-weight:600;letter-spacing:.08em;margin:0;text-transform:uppercase}.share-row{align-items:stretch;gap:6px}.share-row,.share-url{display:flex;min-width:0}.share-url{align-items:center;background:#0e1526;border-radius:8px;flex:1 1;font-family:monospace;font-size:12px;overflow:hidden;padding:0 10px;white-space:nowrap}.share-url span{overflow:hidden;text-overflow:ellipsis}.hover-tip{animation:tip-in .12s ease-out;background:#1c2640;border:1px solid #2f3c5a;border-radius:8px;box-shadow:0 6px 20px #0008;color:#e6eaf2;font-family:Archivo,system-ui,sans-serif;font-size:13px;font-weight:400;line-height:1.4;max-width:280px;padding:7px 10px;pointer-events:none;position:fixed;text-align:center;transform:translate(-50%,-100%);z-index:1000}.hover-tip.below{transform:translate(-50%)}@keyframes tip-in{0%{opacity:0}to{opacity:1}}[data-tip]{cursor:help}a[data-tip],button[data-tip],input[data-tip]{cursor:pointer}input:not([type])[data-tip],input[type=number][data-tip]{cursor:text}.target-info{display:flex;flex-direction:column;gap:10px}.target-title{color:#8c96ab;font-size:12px;font-weight:600;letter-spacing:.08em;margin:0;text-transform:uppercase}.target-name{font-size:18px;font-weight:800;margin:0}.target-about{color:#8c96ab;font-size:13px;margin:-6px 0 0}.target-facts{grid-gap:6px 14px;display:grid;font-size:14px;gap:6px 14px;grid-template-columns:auto 1fr;margin:0}.target-facts dt{color:#8c96ab}.target-facts dd{font-family:IBM Plex Mono,monospace;margin:0;min-width:0;overflow-wrap:anywhere}.target-look{background:#3a1d10;border-radius:10px;font-size:14px;line-height:1.5;margin:0;padding:10px 12px}.target-look strong{color:#ff8a4c}.junk-game{background:#0a0418;inset:0;position:fixed;z-index:1000}.junk-game canvas{display:block}.junk-close{background:#0e1526b3;border-radius:50%;color:#e6eaf2;height:36px;padding:0;position:absolute;right:14px;top:14px;width:36px}.spectrum{display:flex;flex-direction:column;gap:10px}.spectrum-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.spectrum-title{font-size:18px;margin:0}.spectrum-mode button{font-size:12px;height:30px}.spectrum-controls{display:flex;flex-wrap:wrap;gap:8px}.spectrum-mode button{flex:0 0 auto}.spectrum-svg .molecule{fill:#c9a7ff;opacity:.08}.spectrum-svg g:hover>.molecule{opacity:.18}.spectrum-svg .molecule-label{fill:#c9a7ff;text-anchor:middle;font-size:10.5px;font-weight:600}.spectrum-svg{background:#0e1526;border-radius:10px;display:block;height:auto;width:100%}.spectrum-svg .band{fill:#fff;opacity:.02}.spectrum-svg .band-now{opacity:.07}.spectrum-svg .band-label{text-anchor:middle;font-size:11px;font-weight:600}.spectrum-svg .grid{stroke:#243049;stroke-width:1}.spectrum-svg .axis{stroke:#8c96ab;stroke-width:1}.spectrum-svg .tick{fill:#8c96ab;text-anchor:middle;font-family:IBM Plex Mono,monospace;font-size:11px}.spectrum-svg .tick-y{text-anchor:end}.spectrum-svg .axis-title{fill:#8c96ab;text-anchor:middle;font-size:12px}.spectrum-svg .errbar{stroke-width:1.2;opacity:.6}.spectrum-svg .curve-fill{pointer-events:none}.exposure-title{color:#8c96ab;font-size:13px;font-weight:600;margin:6px 0 0}.exposure-bars .bar{opacity:.85}.exposure-bars .bar:hover{opacity:1}.spectrum-svg .label-halo{stroke:#0e1526;stroke-width:4px;stroke-linejoin:round;paint-order:stroke}.spectrum-svg .curve-line{fill:none;stroke:#e6eaf2;stroke-width:2.2;stroke-linejoin:round;pointer-events:none}.spectrum-svg .curve-hover line{stroke:#e6eaf2;stroke-width:1;opacity:.4}.spectrum-svg .curve-hover circle{fill:#e6eaf2;stroke:#0b1120;stroke-width:1.5}.spectrum-svg .peak line{stroke:#ff6b6b;stroke-width:1.2;stroke-dasharray:3 3}.spectrum-svg .peak rect{fill:#f5d90a;stroke:#8a7a00;stroke-width:.8}.spectrum-svg .peak text{fill:#0b1120;text-anchor:middle;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:700}.spectrum-svg circle{cursor:pointer}.spectrum-meta,.spectrum-readout,.spectrum-status{color:#8c96ab;font-size:12px;margin:0}.spectrum-readout strong{color:#e6eaf2}.spectrum-status{align-items:center;display:flex;gap:8px}.spectrum-status .status-spinner{height:14px;width:14px}.spectrum-empty{align-items:center;background:#0e1526;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px}.spectrum-empty p{color:#8c96ab;flex:1 1 260px;font-size:13px;margin:0}.loupe{display:flex;flex-direction:column;gap:10px}.loupe-head{align-items:center;display:flex;justify-content:space-between}.loupe-title{color:#8c96ab;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.loupe-help-btn{border-color:#2dd4bf;border-radius:50%;color:#2dd4bf;font-weight:700;height:28px;padding:0;width:28px}.loupe-stage{background:#000;border:2px solid #2dd4bf;border-radius:10px;cursor:crosshair;overflow:hidden;position:relative}.loupe-stage img{display:block;height:auto;image-rendering:pixelated;-webkit-user-select:none;user-select:none;width:100%}.loupe-lens{background-repeat:no-repeat;border:2px solid #2dd4bf;border-radius:50%;box-shadow:0 4px 20px #0009;image-rendering:pixelated;pointer-events:none;position:absolute;z-index:2}.loupe-lens.pinned{border-style:dashed}.loupe-tools{background:#0e1526;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:10px}.loupe-tool{align-items:center;color:#8c96ab;display:flex;font-size:12px;gap:6px}.loupe-tool>span:first-child{min-width:34px}.loupe-tool input[type=range]{accent-color:#2dd4bf;flex:1 1;min-width:0}.loupe-tool button{border-radius:6px;height:28px;padding:0;width:28px}.loupe-badge{color:#2dd4bf;font-family:IBM Plex Mono,monospace;min-width:42px;text-align:right}.loupe-readout{align-items:center;color:#8c96ab;display:flex;flex-wrap:wrap;font-size:12px;gap:8px 12px}.loupe-readout input{border-radius:6px;font-size:12px;margin-left:4px;min-width:0;padding:4px 6px;width:56px}.loupe-colour,.loupe-dim{align-items:center;color:#e6eaf2;display:flex;font-family:IBM Plex Mono,monospace;gap:6px}.loupe-swatch{border:1px solid #243049;border-radius:3px;flex:0 0 14px;height:14px;width:14px}.loupe-colour,.loupe-dim{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:10ch}.loupe-modal-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}.loupe-modal{background:#131b2e;border:1px solid #243049;border-radius:14px;box-shadow:0 10px 40px #0009;max-height:85vh;max-width:460px;overflow-y:auto;padding:24px;position:relative;width:100%}.loupe-modal h2{font-size:18px;margin:0 0 12px}.loupe-modal ul{list-style:none;margin:0;padding:0}.loupe-modal li{border-bottom:1px solid #243049;display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:6px 0}.loupe-modal kbd{border:1px solid #243049;border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:12px;padding:1px 6px;white-space:nowrap}.loupe-close{background:none;border:none;font-size:22px;padding:0 8px;position:absolute;right:12px;top:10px}.loupe-stage{touch-action:none}@media (max-width:600px){.loupe-stage{margin:0 auto;max-width:260px;width:100%}}.loupe-hint{color:#2dd4bf;font-size:12px;height:18px;line-height:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loupe-pixel{border:1px solid #ff8a4c;box-shadow:0 0 0 1px #0008;box-sizing:border-box;pointer-events:none;position:absolute}.page{background:#131b2e;border:1px solid #243049;border-radius:14px;display:flex;flex-direction:column;gap:14px;line-height:1.6;max-width:760px;padding:24px}.page h2{font-size:24px;margin:0}.page h3{font-size:16px;margin:0 0 4px}.page p{color:#c9d1e0;margin:0}.back{color:#ff8a4c;font-size:14px;text-decoration:none}.back:hover{text-decoration:underline}.steps{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.steps li{background:#0e1526;border-radius:10px;padding:14px}.terms{grid-gap:8px 16px;display:grid;gap:8px 16px;grid-template-columns:auto 1fr;margin:0}.terms dt{color:#8c96ab}.terms dd{margin:0}.team-grid{flex-wrap:wrap}.member,.team-grid{display:flex;gap:12px}.member{align-items:center;background:#0e1526;border-radius:12px;flex:1 1 300px;padding:14px}.avatar{background:#ff8a4c;border-radius:50%;color:#1a0d05;display:grid;flex:none;font-weight:800;height:44px;place-items:center;width:44px}.nick{color:#8c96ab}.role{font-size:13px}.credit{color:#8c96ab;font-size:12px}img.avatar{background:#243049;object-fit:cover}
/*# sourceMappingURL=main.3fb71f86.css.map*/