.twin-root{--field-night:#0a1120;--panel:#101b2e;--panel-hi:#16243c;--hairline:#22355a;--chalk:#e8edf5;--ink:#cfe0f8;--ink-dim:#7f94b8;--bone:#4e8ff0;--joint:#a8ceff;--hot:#ffb02e;--contact:#ffe066;--font-data:"Barlow Condensed", "Arial Narrow", sans-serif;--font-ui:"Archivo", system-ui, sans-serif;background:var(--field-night);min-height:100vh;color:var(--ink);font-family:var(--font-ui);flex-direction:column;gap:14px;padding:18px;font-size:14px;display:flex}.twin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.twin-eyebrow{font-family:var(--font-data);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:12px;font-weight:600;display:block}.twin-title h1{font-family:var(--font-data);letter-spacing:.01em;color:var(--chalk);margin:2px 0 0;font-size:30px;font-weight:600}.twin-subtle{color:var(--ink-dim);font-weight:500}.twin-metrics{gap:26px;margin:0;display:flex}.twin-metric dt{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim);font-size:10px;font-weight:500}.twin-metric dd{font-family:var(--font-data);color:var(--chalk);font-variant-numeric:tabular-nums;margin:1px 0 0;font-size:30px;font-weight:600;line-height:1}.twin-metric-unit{color:var(--ink-dim);margin-left:3px;font-size:14px;font-weight:500}.twin-metric-empty{color:var(--ink-dim)}.twin-banner{border-left:3px solid var(--hot);color:#ffd9a0;background:#ffb02e17;border-radius:3px;margin:0;padding:10px 14px;font-size:13px;line-height:1.45}.twin-stage{border:1px solid var(--hairline);background:var(--field-night);border-radius:6px;height:clamp(380px,58vh,680px);position:relative;overflow:hidden}.twin-stage canvas{touch-action:none;width:100%;height:100%;display:block}.twin-ground-label{letter-spacing:.18em;text-transform:uppercase;color:#e8edf580;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:12px;font-weight:600}.twin-handedness{border:1px solid var(--hairline);font-family:var(--font-data);letter-spacing:.09em;text-transform:uppercase;color:var(--joint);background:#0a1120d9;border-radius:3px;padding:5px 11px;font-size:13px;font-weight:600;position:absolute;top:12px;right:12px}.twin-view-switch{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1120d1;border-radius:4px;gap:4px;padding:4px;display:flex;position:absolute;top:12px;left:12px}.twin-view-btn{color:var(--ink-dim);font-family:var(--font-data);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:5px 11px;font-size:13px;font-weight:600}.twin-view-btn:hover{color:var(--chalk);background:var(--panel-hi)}.twin-view-btn.is-active{color:var(--field-night);background:var(--joint)}.twin-view-btn.is-reset{color:var(--hot)}.twin-phase-badge{border:1px solid var(--hairline);font-family:var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--joint);background:#0a1120d1;border-radius:3px;padding:5px 12px;font-size:15px;font-weight:600;position:absolute;bottom:12px;right:12px}.twin-contact-tag{color:#ffe066;white-space:nowrap;background:#0a1120e0;border:1px solid #ffe06680;border-radius:3px;flex-direction:column;align-items:center;padding:3px 9px;font-family:Barlow Condensed,Arial Narrow,sans-serif;display:flex;transform:translateY(-46px)}.twin-contact-tag span{letter-spacing:.16em;text-transform:uppercase;opacity:.8;font-size:10px;font-weight:600}.twin-contact-tag strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.twin-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.twin-btn{border:1px solid var(--hairline);background:var(--panel);color:var(--ink);font-family:var(--font-ui);cursor:pointer;border-radius:3px;padding:7px 14px;font-size:13px;font-weight:500}.twin-btn:hover{border-color:var(--bone);background:var(--panel-hi)}.twin-btn-primary{border-color:var(--bone);background:var(--bone);min-width:82px;color:var(--field-night);font-weight:600}.twin-btn-primary:hover{background:var(--joint)}.twin-speed{gap:3px;margin-left:4px;display:flex}.twin-chip{border:1px solid var(--hairline);color:var(--ink-dim);font-family:var(--font-data);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border-radius:3px;padding:6px 10px;font-size:13px;font-weight:600}.twin-chip.is-active{border-color:var(--joint);color:var(--field-night);background:var(--joint)}.twin-toggle{color:var(--ink-dim);cursor:pointer;align-items:center;gap:6px;margin-left:6px;font-size:13px;display:inline-flex}.twin-toggle input{accent-color:var(--bone)}.twin-timeline{flex-direction:column;gap:8px;display:flex}.twin-phase-row{flex-wrap:wrap;gap:4px;display:flex}.twin-phase-chip{border:1px solid var(--hairline);color:var(--ink-dim);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:600}.twin-phase-chip:hover{color:var(--chalk);border-color:var(--bone)}.twin-phase-chip.is-active{border-color:var(--joint);color:var(--chalk);background:#a8ceff24}.twin-trace{border:1px solid var(--hairline);cursor:ew-resize;touch-action:none;background:linear-gradient(#0c1526,#0a1120);border-radius:4px;width:100%;height:96px;display:block}.twin-trace:focus-visible{outline:2px solid var(--joint);outline-offset:2px}.twin-trace-legend{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:18px;font-size:11px;display:flex}.twin-trace-legend .swatch{vertical-align:middle;border-radius:2px;width:16px;height:3px;margin-right:6px;display:inline-block}.twin-trace-legend .swatch.line{background:var(--joint)}.twin-trace-legend .swatch.fill{background:linear-gradient(90deg,#2e5bff,var(--hot));height:8px}.twin-frame-readout{font-family:var(--font-data);color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:500}.twin-root button:focus-visible,.twin-root input:focus-visible{outline:2px solid var(--joint);outline-offset:2px}@media(max-width:720px){.twin-root{padding:12px}.twin-metrics{gap:16px}.twin-metric dd,.twin-title h1{font-size:22px}.twin-stage{height:clamp(300px,46vh,460px)}.twin-view-switch{flex-wrap:wrap;max-width:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){.twin-root *{transition-duration:.01ms!important;animation-duration:.01ms!important}}.twin-metric-est{letter-spacing:.04em;text-transform:uppercase;opacity:.6;font-size:.72em}
