@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--gray-950: #0A0A0A;--gray-900: #1A1A1A;--gray-700: #3D3D3D;--gray-500: #6B6B6B;--gray-400: #A3A3A3;--gray-200: #D4D4D4;--gray-100: #EBEBEB;--gray-50: #F5F5F5;--panel: #FFFFFF;--page: #F8F8F7;--crash-line: #DC2626;--crash-text: #B91C1C;--precrash-bg: #FEE2E2;--milestone-border: #1D4ED8;--milestone-bg: #EFF6FF;--flag-border: #D97706;--flag-bg: #FFFBEB;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--text-heading-xl: 600 24px/1.3 var(--font-ui);--text-heading-lg: 600 18px/1.35 var(--font-ui);--text-heading-md: 600 15px/1.4 var(--font-ui);--text-body-lg: 400 15px/1.6 var(--font-ui);--text-body-md: 400 13px/1.5 var(--font-ui);--text-body-sm: 400 12px/1.45 var(--font-ui);--text-label: 500 11px/1.3 var(--font-ui);--panel-w: 380px;--lane-h: 48px;--topbar-h: 52px;--filterbar-h: 48px;--radius-node: 2px;--radius-badge: 4px;--radius-card: 8px;--radius-pill: 999px;--z-crash: 10;--z-filterbar: 20;--z-panel: 30;--z-modal: 50;--ease: cubic-bezier(.16, 1, .3, 1);--t-hover: .1s;--t-panel: .2s}*{box-sizing:border-box}body{margin:0;font:var(--text-body-md);background:var(--page);color:var(--gray-700)}.app{display:flex;flex-direction:column;height:100vh}header{display:flex;align-items:center;gap:10px;height:var(--topbar-h);padding:0 16px;border-bottom:1px solid var(--gray-100);background:var(--panel)}header h1{font:var(--text-heading-lg);color:var(--gray-900);margin:0 8px 0 0}select,input[type=date],input[type=search],.ask-form input{font:var(--text-body-md);color:var(--gray-950);background:var(--panel);border:1px solid var(--gray-200);border-radius:var(--radius-badge);padding:5px 8px}.incident-ctl{display:flex;align-items:center;gap:6px;font:var(--text-body-sm);color:var(--gray-500);margin-left:auto}.chip{font:var(--text-body-md);display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--gray-200);background:var(--panel);color:var(--gray-700);cursor:pointer;transition:border-color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.chip:hover{border-color:var(--gray-400);background:var(--gray-50)}.chip.off{opacity:.35}.chip.on{border-color:var(--gray-500)}.chip.star.on{border-color:var(--flag-border);background:var(--flag-bg)}.chip.danger{color:var(--gray-900);border-color:var(--gray-200)}.chip.mini{padding:2px 8px;font:var(--text-body-sm);cursor:default}.chip.link{text-decoration:none}.badge{font:var(--text-label);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:var(--radius-badge);background:var(--gray-50);color:var(--gray-500);border:1px solid var(--gray-100)}.badge.draft{background:var(--flag-bg);border-color:var(--flag-border);color:var(--gray-700)}.swatch-slot{display:inline-flex;margin-top:4px}.filters{min-height:var(--filterbar-h);padding:8px 16px 0;display:flex;flex-direction:column;gap:8px;position:relative;z-index:var(--z-filterbar)}.type-chips,.filter-row,.active-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-row input[type=search]{min-width:260px;flex:0 1 320px}.range{display:flex;align-items:center;gap:4px;font:var(--text-body-sm);color:var(--gray-500)}.main{display:flex;flex:1;min-height:0;padding:8px 16px 4px;gap:12px}.timeline-wrap{flex:1;min-width:0;position:relative;overflow:hidden auto;z-index:0;background:var(--panel);border:1px solid var(--gray-100);border-radius:var(--radius-card);padding:8px 8px 2px}.timeline-wrap svg{display:block;touch-action:none;-webkit-user-select:none;user-select:none}.timeline-empty{flex:1;display:grid;place-items:center;color:var(--gray-400)}.gridline,.lane-divider{stroke:var(--gray-100);stroke-width:1}.tick-label{fill:var(--gray-400);font:var(--text-body-sm);font-variant-numeric:tabular-nums}.lane-label{fill:var(--gray-500);font:var(--text-body-sm)}.precrash{fill:var(--precrash-bg);opacity:.45}.mark{cursor:pointer}.sel-ring{fill:none;stroke:var(--gray-950);stroke-width:2}.first-ring{fill:none;stroke:var(--flag-border);stroke-width:2.5}.first-badge-bg{fill:var(--flag-bg);stroke:var(--flag-border);stroke-width:1}.first-badge{fill:var(--flag-border);font:700 8px/1 var(--font-ui);letter-spacing:.08em}.first-banners{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px}.first-banner{display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-align:left;font:var(--text-body-md);color:var(--gray-900);background:var(--flag-bg);border:1px solid var(--flag-border);border-radius:var(--radius-card);padding:6px 12px;transition:background var(--t-hover) var(--ease)}.first-banner:hover{background:var(--panel)}.first-tag{font:var(--text-label);letter-spacing:.08em;color:var(--flag-border);border:1px solid var(--flag-border);border-radius:var(--radius-badge);padding:1px 5px}.cluster{opacity:.92}.cluster-count{fill:#fff;font:600 11px/1 var(--font-ui);pointer-events:none}.flag-glyph{fill:var(--flag-border);font-size:12px}.lane-end{font:700 12px/1 var(--font-ui);cursor:default}.lane-end-hit{cursor:pointer}.lane-end.ok{fill:#0ca30c}.lane-end.warn{fill:var(--flag-border)}.crash line{stroke:var(--crash-line);stroke-width:2;filter:drop-shadow(0 0 12px rgba(220,38,38,.25))}.crash-pill{fill:var(--crash-line);cursor:default}.crash-pill-text{cursor:default}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:24px;z-index:var(--z-modal);display:flex;align-items:center;gap:12px;background:var(--gray-950);color:var(--gray-50);font:var(--text-body-md);padding:10px 16px;border-radius:var(--radius-card);box-shadow:0 8px 30px #0a0a0a40}.toast-undo{font:600 13px/1 var(--font-ui);color:#fff;background:none;border:1px solid var(--gray-500);border-radius:var(--radius-pill);padding:5px 12px;cursor:pointer}.crash text{fill:#fff;font:700 10px/1 var(--font-ui);letter-spacing:.06em}.timeline-hint{color:var(--gray-400);font:var(--text-body-sm);padding:4px 6px 6px}.gap-band{fill:#fef2f2;stroke:#fca5a5;stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.gap-label{fill:var(--crash-text);font:600 10px/1 var(--font-ui);pointer-events:none}.ask-suggestions{display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px 0}.chip.sugg{cursor:pointer;color:var(--gray-500)}.chip.sugg:hover{color:var(--gray-950)}.tooltip{position:absolute;pointer-events:none;z-index:var(--z-modal);background:var(--gray-950);color:var(--gray-50);font:var(--text-body-sm);padding:6px 9px;border-radius:var(--radius-badge);max-width:280px}.tooltip.pinned{pointer-events:auto;padding-right:26px}.tooltip-close{position:absolute;top:3px;right:4px;border:none;background:none;color:var(--gray-400);cursor:pointer;font-size:11px;padding:2px}.end-legend{white-space:nowrap}.ok-glyph{color:#0ca30c;font-weight:700}.warn-glyph{color:var(--flag-border);font-weight:700}.detail{width:var(--panel-w);flex-shrink:0;overflow-y:auto;z-index:var(--z-panel);background:var(--panel);border:1px solid var(--gray-100);border-radius:var(--radius-card);padding:14px 16px;animation:slide-in var(--t-panel) var(--ease)}@keyframes slide-in{0%{transform:translate(16px);opacity:0}}.detail-head{display:flex;gap:10px;align-items:flex-start}.detail-head h2{margin:0;font:var(--text-heading-md);color:var(--gray-900)}.detail-date{color:var(--gray-500);font:var(--text-body-sm);margin-top:2px}.icon-btn.close{margin-left:auto;border:none;background:none;color:var(--gray-400);cursor:pointer;font-size:14px}.detail-actions{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:110px 1fr;gap:6px 10px;font:var(--text-body-md);margin:0}.detail-grid dt{color:var(--gray-400)}.detail-grid dd{margin:0;color:var(--gray-700)}.part-chips{display:flex;gap:4px;flex-wrap:wrap}.summary{margin-top:14px;border-top:1px solid var(--gray-100);padding-top:10px}.section-label{font:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-top:10px}.section p{margin:4px 0 0;font:var(--text-body-md);color:var(--gray-700)}.ai-error{margin:8px 0;padding:6px 10px;font:var(--text-body-sm);border-radius:var(--radius-badge);color:var(--gray-900);border:1px solid var(--flag-border);background:var(--flag-bg)}.summary.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-title{font:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);margin-bottom:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.plain-col p{font:var(--text-body-md);margin:4px 0 0;color:var(--gray-700)}@media (pointer: fine){.app{padding-bottom:64px}}.chat-bar{position:fixed;left:0;right:0;bottom:0;height:64px;z-index:var(--z-panel);display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--panel);border-top:1px solid var(--gray-100)}.chat-form{display:flex;align-items:center;gap:8px;flex:0 1 560px}.chat-input{flex:1;border-radius:var(--radius-pill);padding:9px 16px;font:var(--text-body-md)}.chat-send{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;background:var(--gray-950);color:#fff;font-size:16px;flex-shrink:0;transition:background var(--t-hover) var(--ease)}.chat-send:disabled{background:var(--gray-200);cursor:default}.chat-send:not(:disabled):hover{background:var(--gray-700)}.chat-chips{display:flex;gap:6px;align-items:center;overflow-x:auto;flex:1;white-space:nowrap;scrollbar-width:thin;padding:2px 0}.chat-chips .chip{flex-shrink:0}.answer-drawer{position:fixed;left:0;right:0;bottom:64px;height:40vh;z-index:var(--z-panel);display:flex;flex-direction:column;background:var(--panel);border-top:1px solid var(--gray-200);box-shadow:0 -8px 30px #0a0a0a1f;animation:fade-in var(--t-panel) var(--ease)}.answer-drawer-handle{font:var(--text-label);text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);background:var(--gray-50);border:none;border-bottom:1px solid var(--gray-100);padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.answer-drawer-handle:hover{color:var(--gray-950)}.answer-drawer .ask-history{flex:1;overflow-y:auto;padding:10px 20px;max-width:860px;width:100%;margin:0 auto}.ask-fab{position:fixed;right:20px;bottom:20px;z-index:var(--z-panel);font:600 14px/1 var(--font-ui);cursor:pointer;padding:12px 18px;border-radius:var(--radius-pill);border:none;background:var(--gray-950);color:var(--panel);transition:background var(--t-hover) var(--ease)}.ask-fab:hover{background:var(--gray-700)}.ask-drawer{position:fixed;right:20px;bottom:20px;z-index:var(--z-panel);width:min(460px,92vw);max-height:65vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--gray-100);border-radius:var(--radius-card);box-shadow:0 8px 30px #0a0a0a2e;animation:fade-in var(--t-panel) var(--ease)}@keyframes fade-in{0%{opacity:0}}@media (pointer: coarse){.ask-form input{font-size:16px}}@media (max-width: 640px){.ask-drawer{max-height:42vh;right:4vw;bottom:12px}}.ask-head{display:flex;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--gray-100);flex-wrap:wrap}.ask-head strong{font:var(--text-heading-md);color:var(--gray-900)}.ask-history{flex:1;overflow-y:auto;padding:10px 14px}.ask-hint{color:var(--gray-400);font:var(--text-body-md)}.ask-item{margin-bottom:12px}.ask-q{font:600 13px/1.4 var(--font-ui);color:var(--gray-900);margin-bottom:4px}.ask-answer{font:var(--text-body-md);margin:0;white-space:pre-wrap;color:var(--gray-700)}.ask-busy{color:var(--gray-400);font:var(--text-body-md)}.ask-form{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--gray-100)}.ask-form input{flex:1}.cite-chip{font:500 11px/1.2 var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer;padding:1px 7px;margin:0 2px;border-radius:var(--radius-pill);border:1px solid var(--milestone-border);color:var(--milestone-border);background:var(--milestone-bg);vertical-align:baseline;transition:background var(--t-hover) var(--ease)}.cite-chip:hover{background:var(--panel)}.undated{border-top:1px solid var(--gray-100);background:var(--panel)}.undated-toggle{width:100%;text-align:left;font:var(--text-body-md);color:var(--gray-500);padding:8px 16px;background:none;border:none;cursor:pointer}.undated-list{max-height:180px;overflow-y:auto;padding:0 8px 8px}.undated-row{display:grid;grid-template-columns:160px 220px 1fr;gap:10px;width:100%;font:var(--text-body-sm);text-align:left;padding:6px 8px;background:none;border:none;border-top:1px solid var(--gray-100);color:var(--gray-500);cursor:pointer;transition:background var(--t-hover) var(--ease)}.undated-row:hover,.undated-row.selected{background:var(--gray-50);color:var(--gray-950)}.undated-type{font-weight:600}.undated-sum{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{flex:1;display:grid;place-content:center;text-align:center;gap:6px;margin:16px;border:2px dashed var(--gray-200);border-radius:var(--radius-card);color:var(--gray-500)}.empty-state h2{font:var(--text-heading-xl);color:var(--gray-900)}.sample-cases{margin-top:18px}.sample-cases p{font:var(--text-body-md);color:var(--gray-500);margin:0 0 8px}.sample-case-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0a0a0a59}.tour-ring{position:fixed;border-radius:10px;pointer-events:none;outline:2px solid #fff;box-shadow:0 0 0 4000px #0a0a0a59;background:transparent}.tour-card{position:fixed;width:340px;max-width:calc(100vw - 32px);background:#fff;border-radius:var(--radius-card);padding:14px 16px;box-shadow:0 12px 32px #00000040}.tour-card-centered{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card h3{margin:2px 0 6px;font:var(--text-body-md);font-weight:600}.tour-card p{margin:0 0 8px;font:var(--text-body-md);color:var(--gray-700, #444)}.tour-step-count{margin:0;font-size:11px;color:var(--gray-500)}.tour-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.tour-actions-spacer{flex:1}.about-panel{max-width:460px;max-height:80vh;overflow-y:auto}.about-panel h2{margin-top:0}.about-spot h3{margin:14px 0 4px;font:var(--text-body-md);font-weight:600}.about-spot p{margin:0;font:var(--text-body-md);color:var(--gray-700, #444)}.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:var(--z-modal);margin:0 auto;max-width:560px;padding:16px 20px;background:var(--gray-900);color:#fff;border-radius:16px;box-shadow:0 12px 32px #00000059;font:var(--text-body-md)}.consent-banner a{color:#fff}.consent-actions{display:flex;gap:10px;margin-top:10px}.consent-actions button{border-radius:999px;padding:6px 14px;font:var(--text-body-md);cursor:pointer}.consent-actions button[data-consent=granted]{background:#fff;color:var(--gray-900);border:none}.consent-actions button[data-consent=denied]{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.demo-notice{padding:6px 16px;text-align:center;background:var(--gray-900);color:#fff;font:var(--text-body-md)}.error{margin:8px 16px 0;padding:8px 12px;border-radius:var(--radius-card);cursor:pointer;background:var(--flag-bg);color:var(--gray-900);font:var(--text-body-md);border:1px solid var(--flag-border)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a66;display:grid;place-items:center;z-index:var(--z-modal)}.modal{width:min(680px,92vw);max-height:80vh;overflow-y:auto;background:var(--panel);border:1px solid var(--gray-100);border-radius:var(--radius-card);padding:16px 20px}.modal-head{display:flex;align-items:center;gap:10px}.modal-head h2{margin:0;font:var(--text-heading-md);color:var(--gray-900);flex:1}.modal-sub{color:var(--gray-500);font:var(--text-body-md)}.modal-empty{color:var(--gray-400);font:var(--text-body-md);padding:20px 0;text-align:center}.ai-entry{border-top:1px solid var(--gray-100);padding:10px 0}.ai-meta{display:flex;gap:10px;align-items:center;font:var(--text-body-sm);color:var(--gray-500);flex-wrap:wrap}.ai-entry p{font:var(--text-body-md);margin:6px 0 0;color:var(--gray-700)}.bodymap-panel{width:250px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--gray-100);border-radius:var(--radius-card);padding:12px}.bodymap-figs{display:flex;gap:8px}.bodymap-fig{flex:1;min-width:0}.bodymap-region{fill:#47569e;stroke:var(--gray-200);stroke-width:.8;cursor:default;transition:fill-opacity var(--t-hover) var(--ease)}.bodymap-region.hit{cursor:pointer}.bodymap-region.hit:hover{stroke:var(--gray-500)}.bodymap-region.active{stroke:var(--gray-950);stroke-width:1.6}.bodymap-caption{fill:var(--gray-400);font:500 9px/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.bodymap-hint{font:var(--text-body-sm);color:var(--gray-400)}.bodymap-unmapped{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.bodymap-unmapped-label{font:var(--text-body-sm);color:var(--gray-500);width:100%}.export-view{background:#fff;color:var(--gray-900);min-height:100vh;padding:20px 28px;max-width:1120px;margin:0 auto}.export-actions{display:flex;gap:10px;align-items:center;margin-bottom:14px}.export-hint{font:var(--text-body-sm);color:var(--gray-400)}.export-head h1{font:var(--text-heading-xl);color:var(--gray-950);margin:0 0 4px}.export-meta{font:var(--text-body-md);color:var(--gray-500);margin-bottom:12px}.export-legend{display:flex;gap:14px;flex-wrap:wrap;font:var(--text-body-sm);color:var(--gray-700);margin-bottom:6px}.export-legend-item{display:inline-flex;align-items:center;gap:5px}.print-timeline{display:block}.print-timeline .crash-pill-text{font-size:8.5px}.export-tables{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.export-tables h2{font:var(--text-label);text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);margin:12px 0 6px}.export-tables table{border-collapse:collapse;width:100%;font:var(--text-body-sm)}.export-tables th{text-align:left;color:var(--gray-400);font-weight:500;border-bottom:1px solid var(--gray-200);padding:3px 10px 3px 0}.export-tables td{border-bottom:1px solid var(--gray-100);padding:3px 10px 3px 0;color:var(--gray-700)}.export-none{font:var(--text-body-sm);color:var(--gray-400)}.export-foot{margin-top:22px;padding-top:8px;border-top:1px solid var(--gray-100);font:var(--text-body-sm);color:var(--gray-400)}@media print{.no-print{display:none!important}.export-view{padding:0;max-width:none}@page{size:landscape;margin:12mm}}.ai-provenance{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font:var(--text-body-sm);color:var(--gray-400)}.ai-provenance-caption{color:var(--gray-400)}.ai-provenance-audited{display:inline-flex;align-items:center;gap:3px;font:var(--text-body-sm);color:var(--gray-500);background:none;border:none;padding:0;cursor:pointer;transition:color var(--t-hover) var(--ease)}.ai-provenance-audited:hover,.ai-provenance-audited:focus-visible{color:var(--gray-950)}.ai-provenance-audited svg{flex-shrink:0}.ai-badge-wrap{position:relative;flex-shrink:0}.ai-badge{display:inline-flex;align-items:center;gap:5px;font:var(--text-body-sm);color:var(--gray-500);background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-pill);padding:4px 10px;cursor:pointer;transition:border-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}.ai-badge:hover,.ai-badge[aria-expanded=true]{border-color:var(--gray-400);color:var(--gray-900)}.ai-badge svg{flex-shrink:0}.ai-badge-pop{position:absolute;bottom:calc(100% + 8px);left:0;z-index:var(--z-modal);width:min(340px,88vw);background:var(--panel);border:1px solid var(--gray-100);border-radius:var(--radius-card);padding:14px 16px;box-shadow:0 8px 30px #0a0a0a2e;animation:fade-in var(--t-panel) var(--ease)}.ai-diagram{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font:var(--text-body-sm)}.ai-diagram-node{color:var(--gray-700);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-badge);padding:4px 8px;white-space:nowrap}.ai-diagram-arrow{color:var(--gray-400)}.ai-diagram-boundary{position:relative;border:1px dashed var(--gray-400);border-radius:var(--radius-card);padding:12px 8px 8px;margin-top:6px}.ai-diagram-boundary-label{position:absolute;top:-8px;left:8px;background:var(--panel);padding:0 5px;font:var(--text-label);text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.ai-diagram-boundary-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ai-badge-copy{font:var(--text-body-sm);color:var(--gray-500);margin:10px 0 0}.ai-badge-link{margin-top:10px}.present{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0a0a;color:#f5f5f5;display:flex;flex-direction:column;justify-content:center;padding:8vh 10vw;cursor:pointer;-webkit-user-select:none;user-select:none}.present-accent{width:56px;height:5px;border-radius:2px;margin-bottom:28px}.present-date{font:500 15px/1.3 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:#a3a3a3;margin-bottom:12px}.present-date .present-days{color:#d4d4d4;text-transform:none;letter-spacing:0;margin-left:12px}.present-title{font:700 48px/1.15 var(--font-ui);letter-spacing:-.5px;color:#fff;margin:0 0 8px}.present-sub{font:var(--text-body-lg);color:#a3a3a3;margin-bottom:28px}.present-summary{font:400 22px/1.6 Georgia,Times New Roman,serif;color:#ebebeb;max-width:62ch;max-height:40vh;overflow-y:auto}.present-footer{position:absolute;bottom:4vh;left:10vw;right:10vw;display:flex;align-items:center;gap:16px;font:var(--text-body-sm);color:#6b6b6b}.present-progress{display:flex;gap:6px}.present-progress span{width:24px;height:3px;border-radius:2px;background:#3d3d3d}.present-progress span.done{background:#d4d4d4}.present-empty{font:var(--text-body-lg);color:#a3a3a3;text-align:center}
