:root{--bg-stage:#06090f;--surface-sheet:#070b13f2;--surface-elevated:#0e1523eb;--surface-hover:#18243af2;--rule-hairline:#ffffff21;--rule-strong:#ffffff47;--toronto-blue:#003da5;--toronto-sky:#60a5fa;--cntower-red:#c8102e;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#7e8fa6;--danger:#f87171;--font-display:"Cormorant Garamond", Georgia, serif;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg-stage);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:13px;line-height:1.5;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}:focus-visible{outline:1px solid var(--text-primary);outline-offset:3px}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#stage-viewport{background-color:var(--bg-stage);width:100vw;height:100vh;position:fixed;inset:0}#world-canvas{touch-action:none;width:100%;height:100%;display:block}#vignette-layer{pointer-events:none;background:radial-gradient(90% 90% at 50% 48%,#0000 68%,#03060c6b 100%);position:absolute;inset:0}.webgl-fallback{text-align:center;background-color:var(--bg-stage);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}#cn-ui-root{z-index:12;pointer-events:none;position:fixed;inset:0}#cn-ui-root>*{pointer-events:auto}.cn-top-mark{z-index:18;color:var(--text-primary);transition:opacity .2s var(--ease-out);align-items:center;gap:12px;text-decoration:none;display:inline-flex;position:fixed;top:26px;left:36px}.cn-top-mark:hover{opacity:.78}.cn-brand-needle{flex-shrink:0;width:10px;height:22px}.cn-brand-text{flex-direction:column;gap:1px;display:flex}.cn-brand-title{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--text-primary);font-size:20px;font-weight:400;line-height:1.05}.cn-brand-sub{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:400}.cinema-letterbox{z-index:15;pointer-events:none;height:0;transition:height .55s var(--ease-out);background-color:#020408;position:fixed;left:0;right:0}.cinema-letterbox--top{border-bottom:1px solid #ffffff0f;top:0}.cinema-letterbox--bottom{border-top:1px solid #ffffff0f;bottom:0}.cinema-letterbox.is-active{height:clamp(34px,6.2vh,68px)}.zodiac-hud{z-index:20;pointer-events:auto;flex-direction:column;gap:4px;display:flex;position:fixed;bottom:72px;left:36px}.zodiac-hud-eyebrow{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-size:10.5px}.zodiac-year-readout{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text-primary);text-shadow:0 4px 24px #000000a6;font-size:clamp(44px,5vw,68px);font-weight:300;line-height:.95}.zodiac-hud-row{align-items:center;gap:18px;margin-top:4px;display:flex}.zodiac-sub-date{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:400}.zodiac-skip-link{letter-spacing:.16em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap;transition:border-color .18s var(--ease-out), opacity .18s var(--ease-out);border-bottom:1px solid #ffffff59;flex-shrink:0;padding-bottom:1px;font-size:10.5px;font-weight:500}.zodiac-skip-link:hover{border-bottom-color:var(--cntower-red)}.cn-dock-wrapper{z-index:22;transition:transform .36s var(--ease-out);position:fixed;bottom:0;left:0;right:0}.cn-dock-wrapper.is-collapsed .cn-footer-bar{opacity:0;pointer-events:none;transform:translateY(100%)}.cn-footer-bar{border-top:1px solid var(--rule-hairline);width:100%;height:50px;transition:transform .34s var(--ease-out), opacity .28s var(--ease-out);background:linear-gradient(#06090f1a 0%,#05080eeb 100%);justify-content:space-between;align-items:center;gap:28px;padding:0 36px;display:flex;position:relative}.cn-footer-progress{background-color:var(--cntower-red);pointer-events:none;width:0%;height:1px;transition:width 80ms linear;position:absolute;top:-1px;left:0}.cn-footer-chrono{align-items:center;gap:14px;min-width:0;display:flex}.dock-play-btn{width:24px;height:24px;color:var(--text-primary);border:1px solid var(--rule-strong);transition:border-color .18s var(--ease-out), background-color .18s var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.dock-play-btn:hover,.dock-play-btn[aria-pressed=true]{border-color:var(--cntower-red);background-color:#c8102e38}.dock-date-primary{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:11px}.timeline-slider{appearance:none;cursor:pointer;background:0 0;flex-shrink:0;width:180px;height:14px;margin:0}.timeline-slider::-webkit-slider-runnable-track{background-color:#ffffff42;height:1px}.timeline-slider::-webkit-slider-thumb{appearance:none;background-color:var(--text-primary);width:9px;height:9px;transition:transform .15s var(--ease-out), background-color .15s var(--ease-out);border-radius:50%;margin-top:-4px}.timeline-slider:hover::-webkit-slider-thumb{background-color:var(--cntower-red);transform:scale(1.25)}.dock-date-secondary{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:10.5px;overflow:hidden}.cn-footer-nav{flex-shrink:0;align-items:center;gap:28px;display:flex}.cn-footer-link{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;transition:color .18s var(--ease-out), border-color .18s var(--ease-out);border-bottom:1px solid #0000;flex-shrink:0;padding:4px 0;font-size:10.5px;font-weight:400}.cn-footer-link:hover{color:var(--text-primary)}.cn-footer-link.is-active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.prefs-body{flex-direction:column;gap:20px;padding:20px 26px 26px;display:flex;overflow-y:auto}.prefs-group{border-bottom:1px solid var(--rule-hairline);flex-direction:column;gap:10px;padding-bottom:18px;display:flex}.prefs-group-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.prefs-group-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-size:10px}.prefs-group-hint{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);font-size:9.5px}.prefs-chip-row{flex-wrap:wrap;gap:8px;display:flex}.prefs-chip{border:1px solid var(--rule-hairline);height:30px;font-family:var(--font-sans);letter-spacing:.13em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;transition:border-color .18s var(--ease-out), color .18s var(--ease-out), background-color .18s var(--ease-out);background-color:#0000;flex-shrink:0;padding:0 13px;font-size:10.5px;font-weight:400}.prefs-chip:hover{border-color:var(--rule-strong);color:var(--text-primary)}.prefs-chip.is-active{border-color:var(--text-primary);color:var(--text-primary);background-color:#f8fafc14}.prefs-toggle-list{flex-direction:column;gap:12px;display:flex}.prefs-toggle-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.prefs-toggle-copy{flex-direction:column;gap:2px;display:flex}.prefs-toggle-title{color:var(--text-primary);font-size:12.5px;font-weight:400}.prefs-toggle-sub{color:var(--text-muted);font-size:11px}.cn-subtle-btn.is-active{border-color:var(--text-primary);color:var(--text-primary);background-color:#f8fafc14}.prefs-footer-actions{justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.card-hover-tooltip{z-index:26;background-color:var(--surface-sheet);border:1px solid var(--rule-hairline);max-width:240px;padding:8px 12px;position:fixed;pointer-events:none!important}.tooltip-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:10px}.tooltip-title{font-family:var(--font-display);color:var(--text-primary);font-size:15px;font-weight:400}.inspect-placard{z-index:21;background-color:var(--surface-sheet);border:1px solid var(--rule-hairline);width:min(320px,100vw - 72px);padding:18px 20px;position:fixed;bottom:68px;left:36px}.inspect-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.inspect-meta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.cn-icon-close{width:24px;height:24px;color:var(--text-muted);justify-content:center;align-items:center;font-size:12px;display:inline-flex}.cn-icon-close:hover{color:var(--text-primary)}.inspect-thumb-wrap{aspect-ratio:16/10;background-color:#0b111c;justify-content:center;align-items:center;width:100%;margin-bottom:12px;display:flex;overflow:hidden}.inspect-thumb-wrap img{object-fit:cover;width:100%;height:100%;display:block}.inspect-thumb-fallback{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:16px;font-size:11px}.inspect-title{font-family:var(--font-display);text-wrap:balance;margin:0 0 6px;font-size:20px;font-weight:400;line-height:1.2}.inspect-desc{color:var(--text-secondary);margin:0 0 10px;font-size:12px;line-height:1.55}.inspect-credit{color:var(--text-muted);margin-bottom:14px;font-size:10.5px}.inspect-actions{border-top:1px solid var(--rule-hairline);justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.inspect-nav-group{align-items:center;gap:12px;display:flex}.cn-subtle-btn{border:1px solid var(--rule-hairline);height:28px;color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:border-color .18s var(--ease-out), color .18s var(--ease-out);justify-content:center;align-items:center;padding:0 12px;font-size:10.5px;font-weight:400;text-decoration:none;display:inline-flex}.cn-subtle-btn:hover:not(:disabled){border-color:var(--text-primary);color:var(--text-primary)}.cn-subtle-btn:disabled{opacity:.45;cursor:default}.cn-primary-cta{background-color:var(--text-primary);height:30px;color:var(--bg-stage);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:background-color .18s var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;padding:0 16px;font-size:10.5px;font-weight:500;display:inline-flex}.cn-primary-cta:hover{background-color:#e2e8f0}.cn-danger-btn{height:28px;color:var(--danger);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border:1px solid #f8717166;padding:0 10px;font-size:10.5px}.cn-modal-backdrop{z-index:40;background-color:#04070dd1;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.cn-modal-panel{background-color:var(--surface-sheet);border:1px solid var(--rule-hairline);flex-direction:column;width:min(520px,100%);max-height:84vh;display:flex;overflow:hidden}.cn-modal-panel--wide{width:min(880px,100%)}.cn-modal-head{border-bottom:1px solid var(--rule-hairline);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px 16px;display:flex}.cn-modal-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:10px}.cn-modal-title{font-family:var(--font-display);letter-spacing:.04em;margin:0;font-size:26px;font-weight:400}.cn-modal-head-actions{align-items:center;gap:10px;display:flex}.archive-tabs{border-bottom:1px solid var(--rule-hairline);align-items:center;gap:22px;padding:12px 26px;display:flex;overflow-x:auto}.archive-tab{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid #0000;padding:4px 0;font-size:10.5px;font-weight:400}.archive-tab:hover{color:var(--text-primary)}.archive-tab.is-active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.archive-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;padding:22px 26px 28px;display:grid;overflow-y:auto}.archive-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:36px}.archive-item-card{text-align:left;border:1px solid var(--rule-hairline);transition:border-color .2s var(--ease-out);background-color:#0000;flex-direction:column;display:flex;overflow:hidden}.archive-item-card:hover{border-color:var(--text-primary)}.archive-item-media{aspect-ratio:4/3;background-color:#080d17;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.archive-item-media img{object-fit:cover;width:100%;height:100%;display:block}.archive-thumb-placeholder{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.archive-item-body{flex-direction:column;gap:3px;padding:12px 13px;display:flex}.archive-item-meta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:9.5px}.archive-item-title{font-family:var(--font-display);color:var(--text-primary);font-size:16px;font-weight:400;line-height:1.25}.archive-item-credit{color:var(--text-muted);font-size:11px}.upload-form{flex-direction:column;gap:14px;padding:20px 26px 26px;display:flex;overflow-y:auto}.upload-dropzone{border:1px dashed var(--rule-strong);cursor:pointer;text-align:center;background-color:#ffffff05;justify-content:center;align-items:center;min-height:120px;padding:16px;display:flex;position:relative}.upload-dropzone.is-dragover{border-color:var(--text-primary)}.upload-dropzone-empty{flex-direction:column;gap:4px;display:flex}.upload-drop-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);font-size:12px}.upload-drop-sub{color:var(--text-muted);font-size:11px}.upload-preview-img{max-width:100%;max-height:160px}.upload-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.upload-custom-coords{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.cn-field{flex-direction:column;gap:5px;display:flex}.cn-field>span{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px}.cn-field input[type=text],.cn-field input[type=date],.cn-field select,.cn-field textarea{background-color:var(--surface-elevated);border:1px solid var(--rule-hairline);width:100%;color:var(--text-primary);padding:8px 10px;font-size:12.5px}.upload-error{color:var(--danger);font-size:12px}.upload-form-footer{justify-content:flex-end;gap:10px;padding-top:6px;display:flex}.gmp-quota-banner{z-index:50;color:#78350f;text-align:center;background-color:#fffbeb;border-bottom:1px solid #fde68a;padding:8px 16px;font-size:12px;position:fixed;top:0;left:0;right:0}.gmp-quota-banner a{color:#451a03;font-weight:600;text-decoration:underline}.pulse-body{flex-direction:column;gap:18px;padding:20px 26px 26px;display:flex;overflow-y:auto}.pulse-scene-controls{border-bottom:1px solid var(--rule-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-bottom:14px;display:flex}.pulse-control-group{align-items:center;gap:12px;display:flex}.pulse-control-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.mood-segmented{align-items:center;gap:14px;display:inline-flex}.mood-btn{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid #0000;padding:3px 0;font-size:10.5px}.mood-btn:hover{color:var(--text-primary)}.mood-btn.is-active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.pulse-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.pulse-metric-card{border:1px solid var(--rule-hairline);flex-direction:column;gap:3px;padding:13px 14px;display:flex}.pulse-metric-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.pulse-metric-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:22px;font-weight:400}.pulse-metric-sub{color:var(--text-muted);font-size:11px}.pulse-search-row{gap:8px;display:flex}.pulse-search-input{background-color:var(--surface-elevated);border:1px solid var(--rule-hairline);min-width:0;height:30px;color:var(--text-primary);flex:1;padding:0 11px;font-size:12.5px}.pulse-prose{border:1px solid var(--rule-hairline);color:var(--text-secondary);padding:14px 16px;font-size:12.5px;line-height:1.6}.pulse-prose p{margin:0 0 8px}.pulse-prose p:last-child{margin-bottom:0}.pulse-prose ul{margin:8px 0 0;padding-left:18px}.pulse-prose li{margin-bottom:6px}.pulse-sources-list{flex-direction:column;gap:6px;display:flex}.pulse-sources-heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:10px}.pulse-source-link{border:1px solid var(--rule-hairline);color:var(--text-primary);justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;font-size:12px;text-decoration:none;display:flex}.pulse-source-link:hover{border-color:var(--text-primary)}.pulse-corridor-list{flex-direction:column;gap:6px;display:flex}.pulse-corridor-row{border:1px solid var(--rule-hairline);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:12px;display:flex}.pulse-corridor-stat{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.live-google-map{border:1px solid var(--rule-hairline);background-color:#06090f;width:100%;height:340px;overflow:hidden}.pulse-audio-box{border:1px solid var(--rule-hairline);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.pulse-audio-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pulse-audio-status{color:var(--text-muted);font-size:11.5px}@media (width<=820px){.cn-top-mark{top:18px;left:18px}.zodiac-hud{bottom:64px;left:18px}.cn-footer-bar{gap:14px;height:48px;padding:0 16px}.timeline-slider,.dock-date-secondary{display:none}.cn-footer-nav{gap:16px}.cn-footer-link{letter-spacing:.14em;font-size:9.5px}.inspect-placard{width:calc(100vw - 32px);bottom:62px;left:16px}.pulse-metrics-grid,.upload-fields-grid,.upload-custom-coords{grid-template-columns:1fr}}
