:root{--bg-color:#0b0f19;--text-color:#e2e8f0;--panel-bg:#0f172ab3;--panel-border:#ffffff1a;--accent:#38bdf8;--accent-text:#7dd3fc;--safe:#4ade80;--warning:#fbbf24;--danger:#ef4444;--critical:#991b1b;--t-strong:#ffffffe6;--t-mid:#ffffffad;--t-dim:#ffffff75;--t-faint:#ffffff4d;--surface:#ffffff0f;--line:#ffffff26;--well:#0006;--panel-strong:#0f172af2;--panel-soft:#0f172a8c;--glass-blur:12px;--map-grid:#ffffff0f;--map-stroke:#ffffff26;--map-nodata:#1e293b;--map-combat:#ef4444;--map-disputed:#ffffff2e;--panel-w:380px;--sheet-h:150px;--chat-w:320px;--chat-gutter:32px;--chat-gutter-gap:8px;--gauge-knob:#0d1526;--gauge-knob-ring:#f1f5f9}:root[data-theme=light]{--bg-color:#dfe7f0;--text-color:#0f172a;--panel-bg:#fffc;--panel-border:#0f172a1f;--accent:#0284c7;--accent-text:#0369a1;--safe:#15803d;--warning:#b45309;--danger:#dc2626;--critical:#991b1b;--t-strong:#0f172aeb;--t-mid:#0f172ab8;--t-dim:#0f172a85;--t-faint:#0f172a61;--surface:#0f172a0f;--line:#0f172a29;--well:#0f172a1a;--panel-strong:#fffffff5;--panel-soft:#ffffffa8;--map-grid:#0f172a12;--map-stroke:#0f172a47;--map-nodata:#cbd5e1;--map-combat:#dc2626;--map-disputed:#0f172a47;--gauge-knob:#fff;--gauge-knob-ring:#0f172a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;overflow:hidden}.safety-index-row,.country-details-title,.threat-row-header span:last-child,.tooltip-score span{letter-spacing:-.5px;font-family:JetBrains Mono,Roboto Mono,monospace}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--panel-border);will-change:transform;border-radius:16px;box-shadow:0 8px 32px #0000005e}.map-page{height:100dvh;position:absolute;inset:0;overflow:hidden}.map-container{z-index:1;width:100vw;height:100dvh;position:absolute;top:0;left:0}.city-labels{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.blast-badges{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.blast-badge{font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff5ed;background:#781408eb;border:1px solid #fca5a58c;border-radius:999px;padding:1px 5px;font-size:.65rem;font-weight:700;line-height:1.4;position:absolute;top:0;left:0;box-shadow:0 1px 4px #00000073}.city-label{white-space:nowrap;letter-spacing:.1px;will-change:transform;font-weight:450;position:absolute;top:0;left:0}.city-label.ink-light{color:#f4f8fca3;text-shadow:0 1px 1px #03070f5c}.city-label.ink-dark{color:#161e2a99;text-shadow:0 1px 1px #ffffff4d}.city-label.t3{font-size:12px;font-weight:560}.city-label.t2{font-size:10.5px;font-weight:500}.city-label.t1{font-size:9.5px;font-weight:460}.city-label.t0{opacity:.82;font-size:8.5px;font-weight:450}@media (width>=769px){.map-page.panel-open .map-container{width:calc(100vw - var(--panel-w))}.map-page.panel-open .sidebar-container{width:var(--panel-w);justify-content:stretch;align-items:stretch;height:100%;padding:0;inset:0 0 0 auto}.map-page.panel-open .country-details-panel{border-left:1px solid var(--line);border-radius:0;width:100%;height:100vh;max-height:100vh;padding-bottom:58px;animation:.25s forwards fadeInPanel}.header-panel{max-width:100%}.map-page.panel-open .header-panel{max-width:calc(100% - var(--panel-w))}.header-title{text-overflow:ellipsis;flex-shrink:5;min-width:0;overflow:hidden}.header-panel .lens-label{width:122px;min-width:0}.header-panel>:not(.header-title):not(.lens-menu){flex:none}}@media (width>=769px) and (width<=1100px){.map-page:is(.panel-open,.chat-open) .header-panel{gap:6px;padding:8px 10px}.map-page:is(.panel-open,.chat-open) .header-shield,.map-page:is(.panel-open,.chat-open) .header-sep,.map-page:is(.panel-open,.chat-open) .play-chip-word,.map-page:is(.panel-open,.chat-open) .globe-toggle button[aria-pressed=true]{display:none}.map-page:is(.panel-open,.chat-open) .header-title{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.map-page:is(.panel-open,.chat-open) .header-panel .lens-label{width:84px}.map-page:is(.panel-open,.chat-open) .header-panel .help-btn{width:28px;height:28px}}@keyframes fadeInPanel{0%{opacity:0}to{opacity:1}}.overlay-ui{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:1.5rem;display:flex;position:absolute;top:0;left:0}.pointer-events-auto{pointer-events:auto}.sr-only{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.intro-card{background:var(--panel-strong);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;width:min(23rem,100% - 3rem);padding:.85rem 2rem .9rem .95rem;animation:.35s cubic-bezier(.2,.9,.3,1) both intro-in;position:absolute;top:5.25rem;left:1.5rem;box-shadow:0 6px 20px #00000047}@keyframes intro-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.intro-text{color:var(--t-mid);margin:0;font-size:.8rem;line-height:1.5}.intro-link{font:inherit;color:var(--accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.intro-link:hover{color:var(--text-color)}.intro-close{width:24px;height:24px;color:var(--t-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:6px;right:6px}.intro-close:hover{color:var(--text-color);background:var(--line)}@media (width<=768px){.intro-card{width:auto;top:4.75rem;left:1rem;right:1rem}}@media (prefers-reduced-motion:reduce){.intro-card{animation:none}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--well)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--t-dim)}.header-panel{flex-wrap:wrap;align-items:center;gap:13px;width:max-content;padding:12px 16px;display:flex}.header-shield{flex:none}.header-title{letter-spacing:2.5px;white-space:nowrap;margin:0;font-size:.95rem;font-weight:800}.header-sep{background:var(--line);flex:none;width:1px;height:20px}.help-btn{border:1px solid var(--line);width:30px;height:30px;color:var(--t-mid);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;transition:color .15s,border-color .15s;display:inline-flex}.help-btn:hover{color:var(--accent);border-color:var(--accent)}.sidebar-container{pointer-events:none;justify-content:flex-end;align-items:center;height:100%;padding:12px 20px;display:flex;position:absolute;top:0;right:20px}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.country-details-panel{scrollbar-width:thin;scrollbar-color:var(--line) transparent;width:320px;max-height:calc(100vh - 24px);padding:18px;animation:.4s cubic-bezier(.175,.885,.32,1.1) forwards slideInRight;overflow:hidden auto}.drag-handle-container{display:none}.country-details-header{border-bottom:1px solid var(--panel-border);margin-bottom:14px;padding-bottom:12px}.country-details-title{margin:0 0 6px;font-size:1.5rem}.safety-index-row{align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.threats-container{flex-direction:column;gap:10px;display:flex}.threat-row-header{justify-content:space-between;margin-bottom:6px;font-size:.85rem;display:flex}.threat-row-bar-bg{background:var(--well);border-radius:3px;width:100%;height:6px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.threat-row-fill{border-radius:3px;height:100%;transition:width .5s cubic-bezier(.175,.885,.32,1.275)}.overview-hook{width:300px;padding:14px;animation:.4s cubic-bezier(.175,.885,.32,1.1) forwards slideInRight}.extremes-strip{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:12px;max-width:calc(100% - 48px);padding:7px 14px;animation:.3s cubic-bezier(.175,.885,.32,1.1) forwards stripInBottom;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}@keyframes stripInBottom{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.ex-live{letter-spacing:1px;color:var(--t-dim);align-items:center;gap:5px;font-size:.58rem;font-weight:700;display:inline-flex}.ex-item{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:8px;min-width:0;padding:2px;display:inline-flex}.ex-item:hover .ex-country{color:var(--accent-text)}.ex-item:hover .ex-go{transform:translate(2px)}.ex-lbl{letter-spacing:.6px;text-transform:uppercase;color:var(--t-faint);font-size:.56rem;font-weight:700}.ex-country{color:var(--t-strong);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;transition:color .15s;overflow:hidden}.ex-score{font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.82rem;font-weight:800}.ex-go{color:var(--t-dim);transition:transform .15s}.ex-sep{background:var(--line);flex:none;width:1px;height:20px}.hook-head{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:baseline;margin-bottom:9px;padding-bottom:9px;display:flex}.hook-title{letter-spacing:1.5px;font-size:.78rem;font-weight:800}.hook-live{letter-spacing:1px;color:var(--t-dim);align-items:center;gap:6px;font-size:.6rem;font-weight:700;display:inline-flex}.hook-live-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent);border-radius:50%;animation:1.2s ease-in-out infinite pulse-dot}.hook-ev{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.hook-ev:hover{background:#38bdf80f;border-color:#38bdf840}.hook-ev+.hook-ev{margin-top:3px}.hook-ev{flex-direction:column;align-items:stretch;gap:3px}.hook-ev-meta{color:var(--t-dim);align-items:center;gap:7px;font-size:.64rem;display:flex}.hook-sev{border-radius:50%;flex:none;width:7px;height:7px}.hook-cc{color:var(--text-color);background:var(--surface);border-radius:5px;padding:0 6px;font-family:JetBrains Mono,Roboto Mono,monospace;font-weight:700}.hook-ev-headline{color:var(--t-mid);font-size:.78rem;line-height:1.4}.hook-hint{border-top:1px dotted var(--panel-border);color:var(--t-dim);align-items:center;gap:6px;margin-top:9px;padding-top:9px;font-size:.72rem;display:flex}.error-banner{color:#fff;z-index:50;background:#ef4444e6;border-radius:8px;align-items:center;gap:10px;padding:10px 20px;font-weight:700;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.threat-row{flex-direction:column;gap:4px;display:flex}.threat-label{color:var(--t-mid);align-items:center;gap:6px;display:flex}@media (width<=768px){.overlay-ui{padding:0}.header-panel{width:max-content;max-width:calc(100% - 12px);margin:calc(15px + env(safe-area-inset-top,0px)) auto 0;border-radius:40px;gap:4px;padding:6px 7px}.header-panel .country-search,.header-panel .globe-toggle,.header-panel .auth-btn{flex:none}.header-sep{display:none}.header-shield{width:18px;height:18px;display:block}.header-title{letter-spacing:.4px;font-size:.62rem}.help-btn{flex:none;width:26px;height:26px;font-size:.72rem}.header-panel .play-chip{flex:none;padding:4px 7px}.play-chip-word,.header-panel .globe-toggle button[aria-pressed=true]{display:none}.header-panel .lens-label{min-width:0;max-width:26vw}.header-panel .lens-btn{gap:4px;padding:4px 6px 4px 8px;font-size:.72rem}.header-panel .lens-panel{background:var(--panel-strong);left:0;transform:none}.sidebar-container{width:100%;height:auto;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));align-items:flex-end;inset:auto 0 0}.overview-hook{background:var(--panel-strong);-webkit-backdrop-filter:blur(18px);border-radius:16px 16px 12px 12px;width:100%;animation:.3s cubic-bezier(.175,.885,.32,1.1) forwards slideUpBottom}.hook-hint{display:none}.extremes-strip{flex-direction:column;align-items:stretch;gap:4px;max-width:none;animation:.3s forwards fadeInPanel;inset:78px 12px auto;transform:none}.ex-sep{display:none}.extremes-strip{background:color-mix(in srgb, var(--panel-bg) 55%, transparent)}.ex-item{width:100%}.ex-lbl{flex:none;width:84px}.ex-country{text-align:left;flex:1}.ex-score{flex:none;margin-left:auto}.ex-go{flex:none}.country-details-panel{background:var(--panel-strong);-webkit-backdrop-filter:blur(18px);border-radius:20px 20px 12px 12px;width:100%;padding:20px;transition:max-height .4s cubic-bezier(.175,.885,.32,1.1);animation:.3s cubic-bezier(.175,.885,.32,1.1) forwards slideUpBottom;box-shadow:0 -8px 32px #00000073}.drag-handle-container{cursor:pointer;justify-content:center;margin-top:-10px;margin-bottom:5px;padding-bottom:10px;display:flex}.drag-handle{background:var(--t-dim);border-radius:2px;width:40px;height:4px}.country-details-panel.collapsed{max-height:var(--sheet-h);cursor:pointer;overflow:hidden}.country-details-panel.collapsed .gauge-header-compact{align-items:center;gap:10px;margin-top:6px;display:flex}.country-details-panel.collapsed .gauge-wrap{display:none}.country-details-panel.collapsed .threats-container{opacity:0;pointer-events:none;transition:opacity .2s}.country-details-panel.expanded{max-height:70vh;overflow-y:auto}.country-details-panel.expanded .threats-container{opacity:1;transition:opacity .4s .1s}.country-details-panel.collapsed .close-btn{display:none}}@media (width<=540px){.header-title{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=400px){.header-panel{gap:3px;max-width:calc(100% - 8px);padding:6px 5px}.header-shield{display:none}.header-panel .lens-label{max-width:20vw}.header-panel .lens-btn{padding:4px 5px 4px 7px;font-size:.68rem}.header-panel .help-btn{width:24px;height:24px}.header-panel .play-chip{padding:4px 6px;font-size:.7rem}.header-panel .auth-inline.auth-signin{padding:5px 6px}.header-panel .auth-inline .auth-avatar{width:24px;height:24px}}@media (hover:none){.map-tooltip{display:none!important}}@keyframes slideUpBottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.close-btn{color:var(--t-dim);cursor:pointer;background:0 0;border:none;padding:0 5px;font-size:1.5rem;line-height:1;transition:color .2s}.close-btn:hover{color:var(--text-color)}.country-details-header{justify-content:space-between;align-items:flex-start;display:flex}.map-tooltip{pointer-events:none;background:var(--panel-strong);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);color:var(--text-color);z-index:100;border-radius:8px;padding:8px 12px;font-size:.85rem;position:absolute;transform:translate(0);box-shadow:0 4px 12px #00000080}.tooltip-country{margin-bottom:2px;font-weight:600}.tooltip-score{color:var(--t-mid);font-size:.8rem}.lens-menu{align-items:center;display:flex;position:relative}.lens-btn{color:var(--accent-text);white-space:nowrap;cursor:pointer;background:#38bdf814;border:1px solid #38bdf847;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.78rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.lens-btn:hover{border-color:var(--accent);background:#38bdf829}.lens-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:122px;overflow:hidden}.lens-btn .select-icon-inline{color:var(--accent);opacity:.7}.lens-backdrop{z-index:40;position:fixed;inset:0}.lens-panel{z-index:41;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:1px;min-width:214px;max-width:calc(100vw - 24px);padding:5px;display:flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.lens-option{text-align:left;white-space:nowrap;cursor:pointer;width:100%;color:var(--t-strong);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 9px;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.76rem;font-weight:600;display:flex}.lens-option:hover{background:#38bdf81a}.lens-option.on{color:var(--accent-text)}.lens-check{width:12px;color:var(--accent);display:inline-block}.lens-divider{background:var(--panel-border);height:1px;margin:3px 2px}.lens-hint{color:var(--t-dim);padding:6px 9px 3px;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.68rem}.country-search{align-items:center;display:flex;position:relative}.search-input{border:1px solid var(--line);background:var(--surface);width:190px;height:30px;color:var(--t-strong);font:inherit;border-radius:999px;outline:none;padding:0 12px;font-size:.78rem;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--t-dim)}.search-results{z-index:41;background:var(--panel-bg);min-width:230px;max-height:300px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--panel-border);border-radius:10px;margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 14px);left:0;overflow-y:auto;box-shadow:0 10px 30px #00000059}.search-option{text-align:left;white-space:nowrap;cursor:pointer;width:100%;color:var(--t-strong);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.76rem;font-weight:600;display:flex}.search-option.active{color:var(--accent-text);background:#38bdf81a}.search-option-code{color:var(--t-dim);font-size:.68rem}.search-empty{color:var(--t-dim);padding:7px 9px;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.72rem}@media (width<=768px){.country-search.open{position:static}.country-search .search-input{top:calc(58px + var(--vv-top,0px));z-index:60;background:var(--panel-strong);width:auto;height:38px;position:fixed;left:12px;right:12px}.country-search .search-results{top:calc(102px + var(--vv-top,0px));z-index:60;background:var(--panel-strong);min-width:0;position:fixed;left:12px;right:12px}}.events-panel{border-top:1px solid var(--panel-border);margin-top:12px;padding-top:12px}.events-panel-header{text-transform:uppercase;letter-spacing:1px;color:var(--t-dim);align-items:center;gap:7px;margin-bottom:12px;font-size:.75rem;display:flex}.events-loading-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:4px;animation:1.2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.events-empty{color:var(--t-faint);text-align:center;padding:10px 0;font-size:.8rem}.events-list{flex-direction:column;gap:8px;padding-right:2px;display:flex}.event-card{border:1px solid var(--surface);background:#00000040;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;transition:border-color .2s,background .2s;display:flex}.event-card:hover{background:var(--surface);border-color:var(--line)}.event-card-top{align-items:center;gap:8px;display:flex}.event-type-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--t-strong);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.62rem;font-weight:700}.event-severity{flex:1;align-items:center;gap:5px;display:flex}.event-severity-bar{border-radius:2px;min-width:4px;max-width:60px;height:3px;transition:width .4s;display:inline-block}.event-severity-val{color:var(--t-dim);font-family:JetBrains Mono,monospace;font-size:.7rem}.event-time{color:var(--t-faint);white-space:nowrap;flex-shrink:0;font-size:.7rem}.event-headline{color:var(--t-mid);font-size:.8rem;line-height:1.4}.event-headline-link{color:var(--t-mid);align-items:baseline;gap:4px;text-decoration:none;transition:color .2s;display:inline-flex}.event-headline-link:hover{color:var(--accent)}.event-ext-icon{opacity:.5;vertical-align:middle;flex-shrink:0}.history-section{margin:10px 0 6px}.history-section-header{letter-spacing:.06em;text-transform:uppercase;color:var(--t-dim);align-items:center;gap:6px;margin-bottom:6px;font-size:.68rem;font-weight:600;display:flex}.history-chart-wrap{width:100%}.history-chart-wrap svg{width:100%;height:auto;display:block}.hc-grid{stroke:var(--t-faint);stroke-opacity:.16;stroke-width:1px;shape-rendering:crispedges}.hc-axis-label{fill:var(--t-faint);font-family:inherit;font-size:8px}.history-chart-svg{cursor:crosshair;touch-action:none}.hc-cursor{stroke:var(--t-dim);stroke-width:1px;stroke-dasharray:2 2}.hc-cursor-dot{stroke:var(--bg-color);stroke-width:1.5px}.hc-tip-bg{fill:var(--surface);stroke:var(--t-faint);stroke-opacity:.25}.hc-tip-score{font-family:inherit;font-size:9px;font-weight:700}.hc-tip-date{fill:var(--t-faint);font-family:inherit;font-size:7px}.history-chart-empty{color:var(--t-faint);padding:8px 4px;font-size:.7rem;font-style:italic}.delta-badge{border-radius:10px;align-items:center;gap:3px;margin-left:auto;padding:2px 6px;font-size:.65rem;font-weight:600;display:inline-flex}.delta-up{color:#4ade80;background:#4ade8026}.delta-down{color:#f87171;background:#ef444426}.delta-flat{background:var(--surface);color:var(--t-dim)}.forecast-block{border:1px solid var(--surface);background:var(--surface);border-radius:10px;margin:8px 0 6px;padding:10px 12px}.forecast-worsening{background:#ef44440f;border-color:#ef44444d}.forecast-improving{background:#4ade800f;border-color:#4ade804d}.forecast-stable{background:#facc150a;border-color:#facc1533}.forecast-none{border-color:var(--surface)}.forecast-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.forecast-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--t-faint);background:var(--surface);border-radius:6px;padding:2px 7px;font-size:.6rem;font-weight:700}.forecast-trend-icon{align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:flex}.forecast-worsening .forecast-trend-icon{color:#f87171}.forecast-improving .forecast-trend-icon{color:#4ade80}.forecast-stable .forecast-trend-icon{color:#facc15}.forecast-projected{color:var(--t-strong);margin-bottom:4px;font-size:1.1rem;font-weight:700}.forecast-reasoning{color:var(--t-mid);margin-bottom:4px;font-size:.72rem;font-style:italic;line-height:1.45}.forecast-updated{color:var(--t-faint);font-size:.62rem}.forecast-no-activity{color:var(--t-faint);margin-top:4px;font-size:.72rem}.prediction-block{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;margin:6px 0;padding:9px 12px}.pred-title{letter-spacing:.02em;color:var(--t-mid);margin-bottom:8px;font-size:.68rem;font-weight:700}.pred-actions{gap:8px;display:flex}.pred-btn{cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:1;padding:7px 8px;font-size:.72rem;font-weight:700;transition:border-color .15s,background .15s,transform .1s}.pred-btn:hover{transform:translateY(-1px)}.pred-btn:active{transform:translateY(0)}.pred-btn:disabled{opacity:.55;cursor:progress;transform:none}.pred-error{color:var(--danger);margin-top:7px;font-size:.72rem;font-weight:600}.pred-btn.pred-up{color:var(--safe);border-color:color-mix(in srgb, var(--safe) 45%, transparent)}.pred-btn.pred-up:hover{background:color-mix(in srgb, var(--safe) 12%, transparent)}.pred-btn.pred-down{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.pred-btn.pred-down:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.pred-dir{font-weight:700}.pred-dir.pred-up{color:var(--safe)}.pred-dir.pred-down{color:var(--danger)}.pred-record{border-top:1px solid var(--line);color:var(--t-dim);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding-top:7px;font-size:.66rem;font-weight:700;display:flex}.pred-rec-label{letter-spacing:.05em;text-transform:uppercase;color:var(--t-dim);margin-right:2px;font-size:.58rem;font-weight:800}.pred-rec-points{color:var(--t-strong);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:1px 8px}.pred-rec-win{color:var(--safe)}.pred-rec-loss{color:var(--danger)}.pred-rec-push{color:var(--t-mid)}.pred-rec-streak{color:var(--warning)}.pred-rec-beat{color:#37c7d6}.pred-rec-acc{color:var(--t-mid)}.pred-rec-open{color:var(--t-mid);margin-left:auto}.pred-receipt{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;font-size:.76rem;display:flex}.pred-receipt-line{color:var(--t-strong)}.pred-receipt-line .pred-dir{font-weight:750}.pred-receipt-when{color:var(--t-dim);white-space:nowrap;font-weight:600}.pred-play-link{color:var(--warning);cursor:pointer;background:0 0;border:none;margin-top:7px;padding:0;font-size:.72rem;font-weight:700;display:inline-block}.pred-play-link:hover{text-decoration:underline}.pred-rec-note{color:var(--t-dim);font-size:.7rem}.pred-ai-out{color:var(--t-dim);font-size:.72rem;font-style:italic}.play-chip{border:1px solid var(--line);background:var(--surface);color:var(--t-strong);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 11px;font-size:.74rem;font-weight:700;transition:border-color .15s,background .15s}.play-chip:hover{border-color:var(--warning)}@keyframes chip-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--warning) 45%, transparent)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.play-chip.unseen{border-color:color-mix(in srgb, var(--warning) 55%, transparent);animation:2s ease-out infinite chip-pulse}.auth-corner-slot{z-index:11;position:absolute;top:1.5rem;right:1.5rem}.auth-btn{position:relative}.auth-signin{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(12px);color:var(--t-strong);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:.74rem;font-weight:700;transition:border-color .15s,color .15s;display:inline-flex}.auth-signin:hover{border-color:var(--accent);color:var(--accent)}.auth-avatar{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(12px);width:32px;height:32px;color:var(--t-strong);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;transition:border-color .15s,color .15s;display:inline-flex}.auth-avatar:hover{border-color:var(--accent);color:var(--accent)}.auth-backdrop{z-index:40;position:fixed;inset:0}.auth-menu{z-index:41;border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border-radius:12px;min-width:180px;max-width:74vw;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #0000005e}.auth-menu-email{color:var(--t-mid);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--line);margin-bottom:4px;padding:6px 8px;font-size:.72rem;overflow:hidden}.auth-menu-item{width:100%;color:var(--t-strong);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px;font-size:.78rem;font-weight:600;display:inline-flex}.auth-menu-item:hover{background:var(--surface);color:var(--accent)}.auth-inline{display:none}@media (width>=769px){.auth-inline{display:none!important}}@media (width<=768px){.auth-corner-slot{display:none}.auth-inline{display:inline-flex}.auth-inline .auth-avatar{width:26px;height:26px;font-size:.72rem}.auth-inline.auth-signin{padding:5px 8px}.auth-inline .auth-signin-word{display:none}}.page-fallback{color:var(--t-dim);padding:40px}.play-backdrop{z-index:10000;background:#080c146b;animation:.2s play-fade;position:fixed;inset:0}.play-drawer{z-index:10001;background:var(--bg-color);width:min(780px,100vw);animation:.24s cubic-bezier(.2,.7,.3,1) play-slide;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-18px 0 48px -18px #00000073}@keyframes play-fade{0%{opacity:0}to{opacity:1}}@keyframes play-slide{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.play-chip.unseen{animation:none!important}}.panel-header-actions{align-items:center;gap:8px;display:flex}.share-btn{color:#38bdf8;cursor:pointer;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:inline-flex}.share-btn:hover{background:#38bdf840;transform:translateY(-1px)}.share-toast{z-index:10001;background:var(--panel-strong);color:var(--text-color);border:1px solid #38bdf866;border-radius:10px;padding:10px 18px;font-size:.85rem;animation:.25s ease-out toastIn;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.gauge-wrap{justify-content:center;margin:6px 0 14px;display:flex}.gauge-header-compact{display:none}.gauge-compact-score{font-size:1.3rem;font-weight:800;line-height:1}.gauge-compact-score small{color:var(--t-dim);margin-left:2px;font-size:.7rem;font-weight:600}.map-canvas{display:block;position:absolute;top:0;left:0}.map-canvas-gl{pointer-events:none;z-index:0}.map-canvas-2d{z-index:1;touch-action:none;cursor:grab}.map-canvas-2d:active{cursor:grabbing}.cluster{flex-direction:column;gap:5px;display:flex}.cluster-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:2px 0;display:flex}.cluster-emoji{flex:none;font-size:.85rem}.cluster-name{flex-wrap:wrap;flex:1;align-items:center;gap:3px 7px;min-width:0;font-size:.86rem;font-weight:600;display:flex}.cluster-value{white-space:nowrap;flex:none;margin-left:auto;padding-left:8px;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.82rem;font-weight:700}.cluster-chevron{color:var(--t-dim);flex:none;transition:transform .15s}.cluster-chevron.open{transform:rotate(180deg)}.cluster-bar{margin-top:-1px}.cluster-sub{color:var(--t-faint);letter-spacing:.1px;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.68rem;line-height:1.5}.cluster-items{border-left:2px solid var(--line);flex-direction:column;gap:8px;margin-left:4px;padding:7px 0 4px 10px;display:flex}.cluster-head:disabled{cursor:default}.news-layer{pointer-events:none}.news-ticker{z-index:30;background:var(--panel-strong);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;align-items:center;height:40px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.news-tag{letter-spacing:.1em;height:100%;color:var(--danger);border-right:1px solid var(--line);z-index:2;background:#0f172a;flex:none;align-items:center;padding:0 12px;font-family:ui-monospace,monospace;font-size:11px;display:flex;position:relative;box-shadow:6px 0 10px -4px #0009}.news-track{white-space:nowrap;gap:26px;padding:0 20px;animation:44s linear infinite news-crawl;display:flex}.news-ticker:hover .news-track{animation-play-state:paused}@keyframes news-crawl{0%{transform:translate(0)}to{transform:translate(-50%)}}.news-item{align-items:center;gap:8px;font-size:13px;display:inline-flex}.news-cc{color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:0;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}.news-cc:hover{text-decoration:underline}.news-sev{border-radius:2px;flex:none;width:8px;height:8px}.news-hl{color:var(--t-mid);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:none}.news-hl:hover{color:var(--t-strong);text-decoration:underline}.news-ticker .news-hl{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;min-width:0;max-width:40ch;display:inline-block;overflow:hidden}.news-pill,.news-panel{display:none}@media (width<=768px){.news-ticker{display:none}.news-pill{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:32;pointer-events:auto;cursor:pointer;background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--t-strong);font:inherit;letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:inline-flex;position:absolute}.news-pill.on{border-color:var(--accent)}.news-pill b{color:var(--accent-text)}.news-pill-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;animation:1.8s infinite news-blink}@keyframes news-blink{0%,to{opacity:1}50%{opacity:.35}}.news-panel{left:12px;right:12px;bottom:calc(56px + env(safe-area-inset-bottom,0px));z-index:33;pointer-events:auto;background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;max-height:52vh;display:block;position:absolute;overflow:hidden auto;box-shadow:0 12px 40px #0009}.news-panel-head{border-bottom:1px solid var(--line);color:var(--t-dim);justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;display:flex}.news-panel-x{color:var(--t-dim);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:20px;line-height:1}.news-prow{border-top:1px solid var(--line);width:100%;color:var(--t-strong);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.news-prow:first-of-type{border-top:0}.news-prow .news-hl{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.news-time{color:var(--t-faint);flex:none;font-family:ui-monospace,monospace;font-size:10px}.map-page.panel-open .news-pill,.map-page.panel-open .news-panel{display:none}.map-page:has(.overview-hook) .news-pill{display:none}.map-page:has(.overview-hook) .news-panel{display:none}}.star-btn{color:var(--t-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:inline-flex}.star-btn:hover{color:var(--warning);background:var(--surface)}.star-btn.on{color:var(--warning)}.following-panel{padding:12px 14px}.following-pill,.following-close{display:none}.following-head{letter-spacing:.04em;text-transform:uppercase;color:var(--t-dim);align-items:center;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.following-count{color:var(--accent-text);font-family:ui-monospace,monospace}.following-list{flex-direction:column;gap:2px;display:flex}.following-row{align-items:center;display:flex}.following-open{cursor:pointer;min-width:0;font:inherit;text-align:left;color:var(--t-strong);background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:10px;padding:8px 6px;font-size:13px;display:flex}.following-open:hover{background:var(--surface)}.following-cc{color:var(--accent-text);flex:none;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}.following-name{text-overflow:ellipsis;white-space:nowrap;color:var(--t-mid);flex:1;overflow:hidden}.following-score{flex:none;font-family:ui-monospace,monospace;font-weight:700}.following-unfollow{color:var(--t-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px;display:inline-flex}.following-unfollow:hover{color:var(--danger);background:var(--surface)}@media (width<=768px){.following-pill{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:32;cursor:pointer;background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--t-strong);font:inherit;letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:inline-flex;position:absolute}.following-pill.on{border-color:var(--warning)}.following-pill b{color:var(--warning)}.following-panel{display:none}.following-panel.open{left:12px;right:12px;bottom:calc(56px + env(safe-area-inset-bottom,0px));z-index:33;max-height:52vh;display:block;position:absolute;overflow:hidden auto;box-shadow:0 12px 40px #00000059}.following-close{color:var(--t-dim);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 4px;font-size:20px;line-height:1;display:block}}.chat-panel{width:var(--chat-w);z-index:20;background:var(--panel-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--panel-border);visibility:hidden;flex-direction:column;transition:transform .24s cubic-bezier(.175,.885,.32,1.1),visibility .24s;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.chat-panel.open{visibility:visible;transform:none}.chat-tab{z-index:21;border:1px solid var(--panel-border);background:var(--panel-strong);color:var(--t-mid);cursor:pointer;font:inherit;writing-mode:vertical-rl;border-left:0;border-radius:0 12px 12px 0;align-items:center;gap:7px;padding:14px 7px;transition:color .15s,border-color .15s;display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.chat-tab:hover{color:var(--accent-text);border-color:var(--accent)}.chat-tab.hidden{display:none}.chat-tab-word{letter-spacing:.22em;font-family:ui-monospace,JetBrains Mono,monospace;font-size:10px;font-weight:700}.chat-backdrop{display:none}.chat-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:13px 10px 13px 14px;display:flex}.chat-head-dot{background:var(--safe);width:6px;height:6px;box-shadow:0 0 8px var(--safe);border-radius:50%;flex:none}.chat-head-dot.degraded{background:var(--warning);box-shadow:0 0 8px var(--warning)}.chat-head-title{letter-spacing:.16em;color:var(--t-strong);font-family:ui-monospace,JetBrains Mono,monospace;font-size:10.5px;font-weight:700}.chat-head-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--t-mid);flex:1;font-family:ui-monospace,JetBrains Mono,monospace;font-size:10px}.chat-collapse{width:32px;height:32px;color:var(--t-dim);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-collapse:hover{color:var(--t-strong);background:var(--surface)}.chat-log{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;min-height:0;padding:10px 12px 14px;display:flex;overflow:hidden auto}.chat-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-stream{margin-top:auto;position:relative}.chat-note{color:var(--t-mid);padding:18px 2px;font-size:12px}.chat-divider{letter-spacing:.14em;text-transform:uppercase;color:var(--t-mid);align-items:center;gap:8px;margin:20px 0 12px;font-family:ui-monospace,JetBrains Mono,monospace;font-size:9.5px;display:flex}.chat-divider:after{content:"";background:var(--line);flex:1;height:1px}.chat-divider.unread{color:var(--accent-text)}.chat-divider.unread:after{background:color-mix(in srgb, var(--accent) 45%, transparent)}.chat-group{margin-bottom:14px}.chat-group-head{margin:0 0 3px calc(var(--chat-gutter) + var(--chat-gutter-gap))}.chat-author{letter-spacing:.1em;text-transform:uppercase;color:var(--t-mid);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:ui-monospace,JetBrains Mono,monospace;font-size:10.5px;font-weight:700;display:block;overflow:hidden}.chat-group.own .chat-author{color:var(--accent-text)}.chat-row{grid-template-columns:var(--chat-gutter) 1fr;column-gap:var(--chat-gutter-gap);display:grid}.chat-row+.chat-row{margin-top:3px}.chat-msg-node{font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:right;color:var(--t-mid);grid-column:1;align-self:start;font-family:ui-monospace,JetBrains Mono,monospace;font-size:10px;line-height:18.5px;position:relative}.chat-msg-node.pending{color:var(--warning);animation:1.4s ease-in-out infinite chat-node-pulse}.chat-msg-node.rejected{color:var(--danger);animation:none}@keyframes chat-node-pulse{0%,to{opacity:1}50%{opacity:.25}}.chat-msg{color:var(--t-strong);overflow-wrap:anywhere;grid-column:2;font-size:13px;line-height:1.42}.chat-msg.pending,.chat-msg.rejected{color:var(--t-dim)}.chat-msg.rejected .chat-body{text-decoration:line-through;-webkit-text-decoration-color:var(--t-faint);text-decoration-color:var(--t-faint)}@keyframes chat-settle{0%{opacity:.45}to{opacity:1}}.chat-msg.settled{animation:.18s ease-out chat-settle}.chat-flag{letter-spacing:.02em;color:var(--warning);grid-column:2;margin:3px 0 0;font-family:ui-monospace,JetBrains Mono,monospace;font-size:10px;line-height:1.35}.chat-flag.bad{color:var(--danger)}.chat-recover{grid-column:2;align-items:center;gap:8px;margin-top:5px;display:flex}.chat-redo{border:1px solid var(--line);min-height:32px;color:var(--t-mid);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 10px;font-size:11px}.chat-redo:hover{color:var(--t-strong);border-color:var(--t-dim)}.chat-older{z-index:2;background:var(--panel-strong);border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;color:var(--t-dim);pointer-events:none;border-radius:999px;padding:3px 10px;font-family:ui-monospace,JetBrains Mono,monospace;font-size:9.5px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.chat-jump{z-index:2;border:1px solid var(--accent);background:var(--panel-strong);color:var(--accent-text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:650;display:inline-flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.chat-composer{border-top:1px solid var(--line);flex:none;padding:10px 12px 12px}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-input{resize:none;border:1px solid var(--line);background:var(--surface);min-width:0;max-height:88px;color:var(--t-strong);font:inherit;border-radius:10px;flex:1;padding:8px 10px;font-size:13px;line-height:1.4}.chat-input::placeholder{color:var(--t-dim)}.chat-input{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chat-input:focus,.chat-input:focus-visible{outline-offset:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:2px solid #0000}.chat-input:disabled{opacity:.55;cursor:not-allowed}.chat-tab:focus-visible,.chat-collapse:focus-visible,.chat-send:focus-visible,.chat-redo:focus-visible,.chat-jump:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-send{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);width:34px;height:34px;color:var(--accent-text);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-send:disabled{opacity:.4;cursor:default;border-color:var(--line);background:var(--surface);color:var(--t-faint)}.chat-composer-foot{align-items:baseline;gap:8px;min-height:14px;margin-top:6px;font-size:10.5px;display:flex}.chat-hint{min-width:0;color:var(--t-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.chat-err{color:var(--danger);flex:1}.chat-count{color:var(--t-mid);font-family:ui-monospace,JetBrains Mono,monospace}.chat-count.over{color:var(--danger);font-weight:700}.chat-state{border:1px solid var(--line);background:var(--surface);color:var(--t-dim);border-radius:10px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.chat-state.blocked{border-color:color-mix(in srgb, var(--danger) 40%, transparent);color:var(--t-mid)}.chat-state b{color:var(--danger);font-family:ui-monospace,JetBrains Mono,monospace}.chat-strikes{color:var(--t-mid);margin-left:auto;font-family:ui-monospace,JetBrains Mono,monospace;font-size:10px}.chat-rule{color:var(--t-dim);margin:6px 2px 8px;font-size:10.5px;line-height:1.4}@media (prefers-reduced-motion:reduce){.chat-panel{transition:none}.chat-msg-node.pending,.chat-msg.settled{animation:none}}@media (width>=1024px){.map-page.chat-open .map-container{left:var(--chat-w);width:calc(100vw - var(--chat-w))}.map-page.chat-open.panel-open .map-container{width:calc(100vw - var(--chat-w) - var(--panel-w))}.map-page.chat-open .overlay-ui{left:var(--chat-w);width:calc(100% - var(--chat-w))}}@media (width<=1023px){:root{--chat-w:min(86vw, 340px)}.chat-panel{z-index:41;background:var(--panel-strong);box-shadow:0 0 60px #00000080}.chat-tab{z-index:39}.chat-backdrop{z-index:40;background:color-mix(in srgb, var(--bg-color) 62%, transparent);display:block;position:absolute;inset:0}}.chat-group-head{align-items:center;min-width:0;display:flex}.chat-quote{border:0;border-left:2px solid color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);text-align:left;width:100%;font:inherit;cursor:pointer;border-radius:0 6px 6px 0;min-width:0;margin:0 0 3px;padding:2px 8px;display:block}.chat-quote:hover{background:color-mix(in srgb, var(--accent) 13%, transparent)}.chat-quote-author{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);font-family:ui-monospace,JetBrains Mono,monospace;font-size:9.5px;font-weight:700;display:block}.chat-quote-body{color:var(--t-mid);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.35;display:block;overflow:hidden}@keyframes chat-flash{0%{background:color-mix(in srgb, var(--accent) 25%, transparent)}to{background:0 0}}.chat-msg.flash{border-radius:6px;animation:1.2s ease-out chat-flash}.chat-gif{background:var(--surface);object-fit:cover;border-radius:8px;width:100%;max-width:240px;max-height:220px;display:block}.chat-msg.pending .chat-gif{opacity:.55}.chat-react-row{flex-wrap:wrap;grid-column:2;align-items:center;gap:4px;min-height:0;display:flex;position:relative}.chat-react-row:not(:empty){margin-top:3px}.chat-react{border:1px solid var(--line);background:var(--surface);min-height:22px;color:var(--t-mid);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;align-items:center;gap:3px;padding:0 7px;font-size:11px;display:inline-flex}.chat-react:hover{border-color:var(--t-dim);color:var(--t-strong)}.chat-react.mine{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent-text)}.chat-actions{opacity:0;gap:2px;transition:opacity .12s;display:inline-flex}.chat-row:hover .chat-actions,.chat-row:focus-within .chat-actions{opacity:1}@media (hover:none){.chat-actions{opacity:.6}}.chat-act{width:24px;height:22px;color:var(--t-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.chat-act:hover{color:var(--t-strong);background:var(--surface)}.chat-act:focus-visible,.chat-react:focus-visible,.chat-react-pick:focus-visible,.chat-quote:focus-visible,.chat-gif-btn:focus-visible,.chat-reply-cancel:focus-visible,.chat-gifs-close:focus-visible,.chat-gifs-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-react-picker{z-index:3;border:1px solid var(--panel-border);background:var(--panel-strong);border-radius:999px;gap:2px;padding:4px;display:inline-flex;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 6px 24px #00000059}.chat-react-pick{cursor:pointer;background:0 0;border:0;border-radius:50%;width:30px;height:30px;font-size:16px;line-height:1;transition:transform .1s}.chat-react-pick:hover{background:var(--surface);transform:scale(1.2)}.chat-reply-bar{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--t-mid);border-radius:0 8px 8px 0;align-items:center;gap:8px;margin-bottom:6px;padding:5px 6px 5px 10px;display:flex}.chat-reply-to{flex:1;min-width:0}.chat-reply-cancel{width:26px;height:26px;color:var(--t-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-reply-cancel:hover{color:var(--t-strong);background:var(--surface)}.chat-gif-btn{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--t-mid);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-gif-btn:hover{color:var(--t-strong);border-color:var(--t-dim)}.chat-gif-btn.on{color:var(--accent-text);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.chat-gif-btn:disabled{opacity:.4;cursor:default}.chat-gifs{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;height:260px;margin-bottom:8px;display:flex;overflow:hidden}.chat-gifs-head{border-bottom:1px solid var(--line);color:var(--t-dim);flex:none;align-items:center;gap:6px;padding:6px 6px 6px 10px;display:flex}.chat-gifs-search{min-width:0;color:var(--t-strong);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:12.5px}.chat-gifs-search::placeholder{color:var(--t-dim)}.chat-gifs-close{width:26px;height:26px;color:var(--t-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-gifs-close:hover{color:var(--t-strong);background:var(--panel-strong)}.chat-gifs-grid{scrollbar-width:thin;scrollbar-color:var(--line) transparent;columns:2;flex:1;column-gap:6px;min-height:0;padding:6px;overflow:hidden auto}.chat-gifs-item{background:var(--panel-strong);cursor:pointer;break-inside:avoid;border:0;border-radius:6px;width:100%;margin:0 0 6px;padding:0;display:block;overflow:hidden}.chat-gifs-item img{object-fit:cover;width:100%;height:100%;display:block}.chat-gifs-item:hover{outline:2px solid var(--accent);outline-offset:-2px}.chat-gifs-note{column-span:all;text-align:center;color:var(--t-dim);padding:14px 4px;font-size:11.5px}.chat-gifs-foot{border-top:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;text-align:right;color:var(--t-faint);flex:none;padding:3px 10px;font-family:ui-monospace,JetBrains Mono,monospace;font-size:8.5px}@media (prefers-reduced-motion:reduce){.chat-msg.flash{animation:none}.chat-react-pick{transition:none}}
