:root{
  --ink:#111318;--ink-2:#4B5160;--ink-3:#565C6B;
  --surface:rgba(255,255,255,.88);--surface-strong:rgba(255,255,255,.94);
  --glass:rgba(255,255,255,.55);--edge:rgba(255,255,255,.85);--edge-2:rgba(255,255,255,.3);
  --line:rgba(17,19,24,.10);--shadow:0 10px 30px rgba(40,40,90,.12),0 1px 2px rgba(40,40,90,.08);
  --acc:#0A84FF;--acc-text:#0055CC;--up:#1A7F4B;--down:#C93C40;--warn:#9A6A0B;--flat:#6B7280;
  --up-text:#145C37;--warn-text:#6E4A00;--down-text:#9E2A2E;--stamp-warn:#7A5200;
  --green-bg:rgba(26,127,75,.12);--amber-bg:rgba(154,106,11,.14);--red-bg:rgba(201,60,64,.12);
  --aurora:radial-gradient(60% 45% at 15% 12%,#9FC3FF 0%,transparent 70%),radial-gradient(55% 40% at 90% 30%,#E7B6FF 0%,transparent 70%),radial-gradient(70% 50% at 40% 95%,#9FF0D8 0%,transparent 70%),linear-gradient(160deg,#EEF2FF,#F8EEFF 55%,#EAFBF5);
  --radius:20px;color-scheme:light;
}
:root[data-theme="dark"]{
  --ink:#F2F3F7;--ink-2:#B9BFCC;--ink-3:#8D94A3;
  --surface:rgba(26,28,38,.84);--surface-strong:rgba(26,28,38,.92);
  --glass:rgba(28,30,40,.5);--edge:rgba(255,255,255,.16);--edge-2:rgba(255,255,255,.04);
  --line:rgba(255,255,255,.10);--shadow:0 14px 36px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.4);
  --acc:#4DA3FF;--acc-text:#4DA3FF;--up:#4CD68A;--down:#FF7A7D;--warn:#F2B84B;--flat:#9AA1AF;
  --up-text:#4CD68A;--warn-text:#F2B84B;--down-text:#FF7A7D;--stamp-warn:#F2B84B;
  --green-bg:rgba(76,214,138,.14);--amber-bg:rgba(242,184,75,.16);--red-bg:rgba(255,122,125,.14);
  --aurora:radial-gradient(55% 40% at 12% 10%,#1E3B8A 0%,transparent 70%),radial-gradient(50% 40% at 92% 32%,#5B1F86 0%,transparent 70%),radial-gradient(70% 45% at 40% 98%,#0E5A4A 0%,transparent 70%),linear-gradient(160deg,#0A0D1A,#120A1C 55%,#06120F);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#F2F3F7;--ink-2:#B9BFCC;--ink-3:#8D94A3;
  --surface:rgba(26,28,38,.84);--surface-strong:rgba(26,28,38,.92);
  --glass:rgba(28,30,40,.5);--edge:rgba(255,255,255,.16);--edge-2:rgba(255,255,255,.04);
  --line:rgba(255,255,255,.10);--shadow:0 14px 36px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.4);
  --acc:#4DA3FF;--acc-text:#4DA3FF;--up:#4CD68A;--down:#FF7A7D;--warn:#F2B84B;--flat:#9AA1AF;
  --up-text:#4CD68A;--warn-text:#F2B84B;--down-text:#FF7A7D;--stamp-warn:#F2B84B;
  --green-bg:rgba(76,214,138,.14);--amber-bg:rgba(242,184,75,.16);--red-bg:rgba(255,122,125,.14);
  --aurora:radial-gradient(55% 40% at 12% 10%,#1E3B8A 0%,transparent 70%),radial-gradient(50% 40% at 92% 32%,#5B1F86 0%,transparent 70%),radial-gradient(70% 45% at 40% 98%,#0E5A4A 0%,transparent 70%),linear-gradient(160deg,#0A0D1A,#120A1C 55%,#06120F);
  color-scheme:dark}}
:root[data-palette="cvd"]{--up:#1D6FD1;--down:#C2610F}
:root[data-palette="cvd"]{--down:#A8500A}
:root[data-theme="dark"][data-palette="cvd"]{--up:#6DB3FF;--down:#F08A3C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"])[data-palette="cvd"]{--up:#6DB3FF;--down:#F08A3C}}
html{scroll-padding-top:84px;scroll-padding-bottom:100px}
@media (min-width:768px){html{scroll-padding-top:16px;scroll-padding-bottom:16px}}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;background:#0000}
.aurora{position:fixed;inset:0;z-index:-1;background:var(--aurora)}
a{color:inherit}
.glass{background:var(--glass);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);box-shadow:var(--shadow),inset 0 1px 0 var(--edge),inset 0 -1px 0 var(--edge-2);border:1px solid var(--edge-2)}
.card{background:var(--surface);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow),inset 0 1px 0 var(--edge);border:1px solid var(--line);text-decoration:none;display:block}
.lbl{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);font-weight:600;margin:0 0 8px}
.num{font-size:22px;font-weight:650;letter-spacing:-.01em;margin:0}
.title{font-weight:650;margin:0 0 4px}
.sub,.sentence,.stamp{color:var(--ink-2);font-size:13px}
.stamp{display:inline-block;background:var(--surface-strong);padding:2px 10px;border-radius:999px}
.stamp.stale{color:var(--stamp-warn)}
.chg{font-size:12.5px}.chg.up{color:var(--up)}.chg.down{color:var(--down)}.chg.flat,.chg.none{color:var(--flat)}
.flash-up{animation:fu .22s ease-out}.flash-down{animation:fd .22s ease-out}
@keyframes fu{from{background:var(--green-bg)}to{background:transparent}}
@keyframes fd{from{background:var(--red-bg)}to{background:transparent}}
.tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);text-transform:none;letter-spacing:0;margin-left:6px}
.regime-pill{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:8px 14px;border-radius:999px;border:0;font:inherit;font-weight:650;cursor:pointer;color:var(--ink)}
.regime-pill.green{background:var(--green-bg);color:var(--up-text)}.regime-pill.amber{background:var(--amber-bg);color:var(--warn-text)}.regime-pill.red{background:var(--red-bg);color:var(--down-text)}
.regime-pill.unknown{background:transparent;border:1px dashed var(--ink-3);color:var(--ink-2)}
.regime-pill .since{font-weight:400;color:var(--ink-2);font-size:12.5px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:0}
.kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:479px){.kpis.three{grid-template-columns:minmax(0,1fr)}}
.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 14px}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}
.kpi dt{font-size:12px;color:var(--ink-2)}.kpi dd{margin:0}
.stale-tag{display:none;font-size:11px;font-weight:600;color:var(--stamp-warn)}
.is-stale .stale-tag{display:block}
.is-stale .kpi[data-symbol] [data-price]{color:var(--ink-3)}
.plan.is-stale .asset-head .num,.plan.is-stale td.n{color:var(--ink-3)}
.diff{list-style:none;padding:0;margin:0}.diff li{display:flex;gap:10px;align-items:center;min-height:44px;border-bottom:1px solid var(--line)}
.diff a{display:flex;align-items:center;min-height:44px;flex:1}
.diff .dot{width:8px;height:8px;border-radius:50%;background:var(--acc)}
.tl{list-style:none;padding:0;margin:0}.tl li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.tl .dt{font-weight:650}
.empty{padding:6px 0}.empty-title{font-weight:600;margin:0 0 2px}.empty p{margin:0;color:var(--ink-2);font-size:13.5px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
td.n,th.n{text-align:right}
button,.btn{min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);font:inherit;padding:0 14px;cursor:pointer}
input,select{min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);font:inherit;padding:0 10px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.levelmap{width:100%;height:auto;touch-action:pan-y pinch-zoom;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
.levelmap text{fill:var(--ink-2);font-size:12px}.levelmap .name{font-size:11.5px}
.levelmap .label-bg{fill:var(--surface-strong);opacity:.92}
.levelmap .axis{stroke:var(--line)}
.levelmap .line line{stroke:var(--ink-3);stroke-width:1.5}
.levelmap .kind-kill line,.levelmap .kind-exit line{stroke:var(--down);stroke-width:2.5}
.levelmap .kind-warn line,.levelmap .kind-reassess line{stroke:var(--warn)}
.levelmap .kind-target line,.levelmap .kind-trim line{stroke:var(--acc);stroke-width:2.5}
.levelmap .src-plan line{stroke-dasharray:6 4}
.levelmap .live-dot{fill:var(--acc);stroke:var(--surface-strong);stroke-width:3}
.levelmap .crosshair{stroke:var(--ink-2);stroke-dasharray:3 3}
.levelmap .crosshair-label{fill:var(--ink);font-weight:600;paint-order:stroke;stroke:var(--surface-strong);stroke-width:4px;stroke-linejoin:round}
.page{max-width:1200px;margin:0 auto;padding:calc(84px + env(safe-area-inset-top)) 16px 120px}
.page-head h1{font-size:30px;margin:8px 0 2px;letter-spacing:-.02em}
.verdict{margin:0;font-size:15px}
.stamp-row{margin:4px 0 0}
.subtabs{display:flex;gap:6px;overflow-x:auto;margin:12px 0;scrollbar-width:none}
.subtabs a{white-space:nowrap;padding:10px 14px;min-height:44px;border-radius:999px;text-decoration:none;background:var(--surface);border:1px solid var(--line);font-size:14px}
.subtabs a.on{background:var(--ink);color:var(--surface-strong)}
.grid{display:grid;gap:14px;margin-top:14px}
.grid.today{grid-template-columns:1fr}
.grid.today .col{display:contents}
.grid.today .regime{order:1}.grid.today .new-report{order:2}.grid.today .numbers{order:3}.grid.today .map{order:4}
.grid.today .changes{order:5}.grid.today .alerts{order:6}.grid.today .catalysts{order:7}.grid.today .steelman{order:8}
.sidebar{display:none}
.skip{position:absolute;left:8px;top:-100px;z-index:20;padding:12px 16px;min-height:44px;border-radius:12px;background:var(--surface-strong);color:var(--ink);border:1px solid var(--line);text-decoration:none;font-weight:600}
.skip:focus{top:8px}
.nav-item,.nav-sub{min-height:44px}
.mobilebar{position:fixed;top:max(8px,env(safe-area-inset-top));left:12px;right:12px;height:56px;border-radius:28px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 18px;z-index:5}
.mobilebar-title{font-weight:650;font-size:17px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}
.mobilebar .settings-open{border-radius:22px;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;text-decoration:none;background:var(--surface-strong);border:1px solid var(--line)}
button[aria-pressed="true"]{background:var(--ink);color:var(--surface-strong)}
.tabbar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:66px;border-radius:33px;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;text-align:center;z-index:5}
.tab{font-size:11px;letter-spacing:-.01em;white-space:nowrap;text-decoration:none;color:var(--ink-2);min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.tab.on{color:var(--acc-text);font-weight:650}
.ico{width:22px;height:22px;display:block;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ico-home{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7v9H4z'/%3E%3C/svg%3E")}
.ico-chart{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 19h16M7 16V9M12 16V5M17 16v-4'/%3E%3C/svg%3E")}
.ico-wallet{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='6' width='18' height='13' rx='3'/%3E%3Cpath d='M3 10h18M16 14h2'/%3E%3C/svg%3E")}
.ico-file{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7zM14 3v5h5M10 13h6M10 17h6'/%3E%3C/svg%3E")}
.ico-house{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7M5 9.5V20h5v-5h4v5h5V9.5'/%3E%3C/svg%3E")}
.ico-sidebar{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Cpath d='M9 4v16M15.5 10l-2 2 2 2'/%3E%3C/svg%3E")}
.ico-user{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8.5' r='3.8'/%3E%3Cpath d='M4.5 20c1.3-3.6 4.2-5.4 7.5-5.4s6.2 1.8 7.5 5.4'/%3E%3C/svg%3E")}
.ico-sun{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2M5.3 5.3l1.4 1.4M17.3 17.3l1.4 1.4M5.3 18.7l1.4-1.4M17.3 6.7l1.4-1.4'/%3E%3C/svg%3E")}
.ico-gear{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 3l1.6 2.3 2.7-.6.6 2.7L19.2 9 18 11.5l1.2 2.5-2.3 1.6-.6 2.7-2.7-.6L12 20l-1.6-2.3-2.7.6-.6-2.7L4.8 14 6 11.5 4.8 9l2.3-1.6.6-2.7 2.7.6z'/%3E%3C/svg%3E")}
.ico-logout{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10'/%3E%3C/svg%3E")}
.ico-globe{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3.5 3 14.5 0 18M12 3c-3 3.5-3 14.5 0 18'/%3E%3C/svg%3E")}
@media (min-width:768px){
  .tabbar,.mobilebar{display:none}
  .sidebar{display:flex;flex-direction:column;gap:2px;position:fixed;top:16px;bottom:16px;left:16px;width:220px;border-radius:24px;padding:18px 12px;z-index:5;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .sidebar>*{flex-shrink:0}
  .side-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 10px}
  .brand{font-weight:700;font-size:14.5px;margin:0 0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .nav-toggle{flex:none;width:36px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:transparent;border:1px solid transparent;color:var(--ink-2)}
  .nav-toggle:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}
  .nav-item .ico{display:none;flex:none}
  .sidebar,.page{transition:width .2s ease,margin-left .2s ease,padding .2s ease}
  :root[data-nav="collapsed"] .sidebar{width:76px;padding:18px 10px;align-items:stretch}
  :root[data-nav="collapsed"] .side-head{justify-content:center}
  :root[data-nav="collapsed"] .brand,:root[data-nav="collapsed"] .nav-subs,:root[data-nav="collapsed"] .nav-caret,:root[data-nav="collapsed"] .account-btn .nav-label,:root[data-nav="collapsed"] .account-caret{display:none}
  :root[data-nav="collapsed"] .account-btn{justify-content:center;padding:6px 0}
  :root[data-nav="collapsed"] .nav-item{justify-content:center;padding:9px 0}
  :root[data-nav="collapsed"] .nav-item .ico{display:block}
  :root[data-nav="collapsed"] .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  :root[data-nav="collapsed"] .nav-toggle .ico{transform:scaleX(-1)}
  :root[data-nav="collapsed"] .page{margin-left:108px}
  .nav-item,.nav-sub{text-decoration:none;padding:9px 12px;border-radius:12px;min-height:44px;display:flex;align-items:center}
  .nav-sub{padding-left:26px;font-size:13.5px;color:var(--ink-2)}
  .nav-item.on,.nav-sub.on{background:var(--surface);color:var(--ink);font-weight:600}
  .page{margin-left:252px;padding:28px 28px 48px}
  .subtabs{display:none}
}
@media (min-width:1100px){
  .grid.today{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}
  .grid.today .col{display:flex;flex-direction:column;gap:14px;min-width:0}
  .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:var(--surface-strong)}}
@media (prefers-reduced-transparency:reduce){.glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface-strong)}}
:root[data-solid="1"] .glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface-strong)}
:root[data-solid="1"] .aurora{opacity:.35}
@media (prefers-reduced-motion:reduce){.flash-up,.flash-down{animation:none}.sidebar,.page{transition:none}}
.skeleton{background:linear-gradient(90deg,var(--line),transparent,var(--line));background-size:200% 100%;border-radius:8px;min-height:1em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
form.inline{display:inline}
.asset-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}
.asset-head .title{margin:0}
.actions{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.stack{display:flex;flex-direction:column;gap:8px}
.stack>input,.stack>select{width:100%}
.level-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.level-form input[name=price]{width:130px}.level-form input[name=note]{flex:1;min-width:140px}
.row-actions form{display:block;margin-bottom:6px}.row-actions button{width:100%}
.chip{margin-left:0;white-space:normal}
.err{margin:6px 0;padding:8px 12px;border-radius:12px;background:var(--red-bg);color:var(--down-text);font-size:13.5px;flex-basis:100%}
.builder .lbl{margin-top:8px}
.rules li{flex-wrap:wrap;justify-content:space-between;padding:6px 0}
.rule-text{flex:1;min-width:200px}
.premortem ul{padding-left:20px}
a.btn{display:inline-flex;align-items:center;text-decoration:none}
button:disabled{opacity:.55;cursor:not-allowed}
.grid.two>*{min-width:0}
.table-wrap{overflow-x:auto}
.err-summary{margin:0 0 14px;padding:10px 14px;border-radius:14px;background:var(--red-bg);color:var(--down-text);border:1px solid var(--down-text)}
.err-summary .err-title{margin:0 0 4px;font-weight:650}
.err-summary a{color:inherit;text-decoration:underline;text-underline-offset:2px}
fieldset.group{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px}
fieldset.group>legend{padding:0;margin-top:8px}
.check{display:flex;align-items:center;gap:8px;min-height:44px}
.check input{width:auto;min-height:0}
.states{margin-bottom:14px}
.state-table th,.state-table td{vertical-align:top;text-align:left}
.state-name{font-weight:650;white-space:nowrap}
.state-row.green .state-name{color:var(--up-text)}.state-row.amber .state-name{color:var(--warn-text)}.state-row.red .state-name{color:var(--down-text)}
.state-row.now{background:var(--surface);box-shadow:inset 3px 0 0 var(--acc-text)}
.now-chip{margin-left:6px;color:var(--acc-text);border-color:var(--acc-text)}
details.confirm{display:inline-block}
details.confirm summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;border:1px solid var(--line)}
details.confirm[open]{display:block;flex-basis:100%}
details.confirm form{margin-top:8px}
.tag.read{margin-left:0;font-size:12.5px;padding:4px 10px;white-space:nowrap}
.tag.read-buying{background:var(--green-bg);color:var(--up-text);border-color:transparent}
.tag.read-noise{background:var(--amber-bg);color:var(--warn-text);border-color:transparent}
.tag.read-leaving{background:var(--red-bg);color:var(--down-text);border-color:transparent}
.flag{margin:10px 0 0;padding:8px 12px;border-radius:12px;background:var(--amber-bg);color:var(--warn-text);border-left:4px solid var(--warn-text);font-size:13.5px;font-weight:600}
.fold>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;cursor:pointer;list-style:none}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary h2{margin:0;font-size:16px}
.fold>summary::after{content:"";flex:none;width:8px;height:8px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(45deg);margin-right:4px}
.fold[open]>summary::after{transform:rotate(-135deg)}
.prose-list{margin:4px 0 8px;padding-left:20px}
.card h3.title{margin-top:12px;font-size:15px}
.state-error code{overflow-wrap:anywhere}
@media (max-width:767px){
  .stack-table,.stack-table tbody,.stack-table tr,.stack-table td{display:block;width:100%}
  .stack-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .stack-table tr{padding:10px 0;border-bottom:1px solid var(--line)}
  .stack-table td{border:0;padding:4px 0;overflow-wrap:anywhere}
  .stack-table td::before{content:attr(data-label);display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
}
.report{max-width:70ch;line-height:1.7;overflow-wrap:anywhere}
.report h1,.report h2,.report h3,.report h4{line-height:1.3;margin:1.4em 0 .4em}
.report p,.report ul,.report ol,.report blockquote{margin:0 0 1em}
.report blockquote{padding-left:14px;border-left:3px solid var(--line);color:var(--ink-2)}
.report table{display:block;overflow-x:auto}
.report pre{overflow-x:auto}
.back{margin:12px 0 0}
.tag.verdict{margin-left:0;font-size:12.5px;padding:4px 10px;white-space:nowrap}
.tag.v-hit{background:var(--green-bg);color:var(--up-text);border-color:transparent}
.tag.v-miss{background:var(--red-bg);color:var(--down-text);border-color:transparent}
.actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
a.card[href]{color:inherit}
a.card[href]:hover{border-color:var(--acc-text)}
.summary{font-weight:500;font-size:15px;line-height:1.5}
.summary-row{margin:0 0 8px}
.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
details.more>summary{list-style:none;cursor:pointer;display:block}
details.more>summary::-webkit-details-marker{display:none}
.more-link{display:inline-flex;align-items:center;margin-top:2px;min-height:44px;color:var(--acc-text);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.more .when-open,details.more[open] .when-closed{display:none}
details.more[open] .when-open{display:inline}
details.more[open] .clamp.clamp{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
.why{font-weight:400;font-size:inherit}
.why.clamp{-webkit-line-clamp:4;line-clamp:4}
td.c-meta{white-space:nowrap}
td.call-head{display:none}
@media (min-width:768px){
  .why.clamp{display:block;overflow:visible}
  td .more-link{display:none}
}
@media (max-width:767px){
  .stack-table tbody th{display:block;width:100%;border:0;padding:4px 0;text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink)}
  .stack-table td.call-head{display:block;font-weight:650;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
  .stack-table td.call-head::before{content:none}
  .stack-table td.c-meta{display:none}
  .state-table .state-row{margin:8px 0;padding:10px 12px;border:1px solid var(--line);border-radius:14px}
  .state-table .state-row.now{border-color:var(--acc-text);border-width:2px}
  .state-table td{white-space:normal}
}

/* Homes tab */
.grid.three-up{grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}}
.grid.three-up>*{min-width:0}
.hcard{margin-top:14px}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin:0 0 12px;border-radius:14px;background:var(--line)}
.seg a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;text-decoration:none;font-size:14px;color:var(--ink-2)}
.seg a.on{background:var(--surface-strong);color:var(--ink);font-weight:650;box-shadow:0 1px 3px rgba(0,0,0,.12),inset 0 -3px 0 var(--acc-text)}
.phase{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:650}
.phase-falling{background:var(--red-bg);color:var(--down-text)}
.phase-bottoming,.phase-topping{background:var(--amber-bg);color:var(--warn-text)}
.phase-recovering,.phase-rising{background:var(--green-bg);color:var(--up-text)}
.more-case>summary,.more-case summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--acc-text);font-size:13px;font-weight:600}
.tag.sig{margin-left:0;font-size:12.5px;padding:4px 10px;white-space:nowrap}
.tag.sig-mixed{background:var(--amber-bg);color:var(--warn-text);border-color:transparent}
.watch-bottom .tag.sig-met,.watch-top .tag.sig-not_met{background:var(--green-bg);color:var(--up-text);border-color:transparent}
.watch-bottom .tag.sig-not_met,.watch-top .tag.sig-met{background:var(--red-bg);color:var(--down-text);border-color:transparent}
.htable tbody th{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink);font-weight:600}
.tag.v-strong{background:var(--green-bg);color:var(--up-text);border-color:transparent}
.tag.v-fair{background:var(--amber-bg);color:var(--warn-text);border-color:transparent}
.tag.v-weak,.tag.v-avoid{background:var(--red-bg);color:var(--down-text);border-color:transparent}
.score{font-weight:650;white-space:nowrap}
.rule-line{margin:6px 0 0;font-size:14px}
.dots{display:inline-flex;gap:3px;vertical-align:middle;margin-right:6px}
.dots i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink-3)}
.dots i.on{background:var(--ink);border-color:var(--ink)}
.dots-num{font-size:12.5px;color:var(--ink-2)}
.src{font-size:12.5px;color:var(--acc-text)}
.back{display:inline-flex;align-items:center;min-height:44px;color:var(--acc-text);font-weight:600;text-decoration:none}
.rank-table th a{font-weight:650;color:var(--acc-text)}
:root{--c0:#1668B0;--c1:#9A6B16;--c2:#A8408A;--c3:#0C8F6F}
:root[data-theme="dark"]{--c0:#3A8FD0;--c1:#B5822C;--c2:#C766A8;--c3:#47A86B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c0:#3A8FD0;--c1:#B5822C;--c2:#C766A8;--c3:#47A86B}}
.fig{margin:0 0 12px}
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart .gl{stroke:var(--line);stroke-width:1;shape-rendering:crispEdges;vector-effect:non-scaling-stroke}
.chart .base{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:2 4;opacity:.45;vector-effect:non-scaling-stroke}
.chart .line{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;filter:drop-shadow(0 2px 2.5px rgba(15,20,40,.22))}
.chart .area{stroke:none}
.chart .fill-top{stop-opacity:.20}.chart .fill-bottom{stop-opacity:0}
.chart .fill-top.s0,.chart .fill-bottom.s0{stop-color:var(--c0)}.chart .fill-top.s1,.chart .fill-bottom.s1{stop-color:var(--c1)}.chart .fill-top.s2,.chart .fill-bottom.s2{stop-color:var(--c2)}
.chart .dot{stroke:var(--surface-strong);stroke-width:2;filter:drop-shadow(0 1px 2px rgba(15,20,40,.3))}
.chart text{paint-order:stroke;stroke:var(--surface-strong);stroke-width:3px;stroke-linejoin:round}
.chart-card{background-image:linear-gradient(180deg,var(--surface-strong),var(--surface))}
.chart .axis{font-size:10.5px;fill:var(--ink-2)}
.chart .el{font-size:11px;font-weight:650}
.chart path.s0{stroke:var(--c0)}.chart path.s1{stroke:var(--c1)}.chart path.s2{stroke:var(--c2)}
.chart circle.s0{fill:var(--c0)}.chart circle.s1{fill:var(--c1)}.chart circle.s2{fill:var(--c2)}
.chart text.el{fill:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0}
.key{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}
.swatch{width:14px;height:3px;border-radius:2px;display:inline-block}
.swatch.s0{background:var(--c0)}.swatch.s1{background:var(--c1)}.swatch.s2{background:var(--c2)}
.swatch.base{background:var(--ink);opacity:.5;height:2px}
.cap{font-size:12.5px;line-height:1.5;color:var(--ink-2);margin:6px 0 0}
.chart-narrow{display:none}
@media (max-width:600px){.chart-wide{display:none}.chart-narrow{display:block}
  .seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%}
  .seg a{justify-content:center;text-align:center;padding:4px 6px;line-height:1.25}}
@media (max-width:767px){
  .stack-table.rank-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
  .stack-table.rank-table tr>th{grid-column:1/-1;width:auto}
  .stack-table.rank-table td{width:auto}}
.hcard .kpi .num .chg{font-size:inherit}
@media (max-width:767px){.stack-table td::before{content:attr(data-label);content:attr(data-label) / ""}}
.table-wrap:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
/* Sidebar groups, account menu, settings page */
.nav-subs[hidden],.account-menu[hidden]{display:none}
@media (min-width:768px){
  .nav-row{display:flex;align-items:center;gap:2px}
  .nav-row .nav-item{flex:1;min-width:0}
  .nav-caret{flex:none;width:36px;min-height:44px;padding:0;border:0;background:transparent;border-radius:10px;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center}
  .nav-caret:hover{background:var(--surface);color:var(--ink)}
  .nav-caret::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}
  .nav-caret[aria-expanded="true"]::before{transform:rotate(45deg)}
  .nav-subs{display:flex;flex-direction:column;gap:2px;margin:0 0 4px}
  .account-btn{margin-top:auto;display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 10px;border-radius:14px;background:transparent;border:1px solid transparent;text-align:left;font-weight:600}
  .account-btn:hover,.account-btn[aria-expanded="true"],.account-btn.on{background:var(--surface);border-color:var(--line)}
  .account-btn .nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .account-caret{flex:none;width:7px;height:7px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(-135deg);margin-right:4px}
  .account-menu{position:fixed;left:16px;bottom:84px;width:236px;padding:8px;border-radius:18px;z-index:20;display:flex;flex-direction:column;gap:2px;color:var(--ink)}
  .account-menu .account-who{padding:6px 8px 10px;margin:0 0 4px;border-bottom:1px solid var(--line)}
  .account-link{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:12px;text-decoration:none}
  .account-link:hover,.account-link:focus-visible{background:var(--surface)}
  .account-link .ico{width:18px;height:18px}
}
.avatar{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-strong);border:1px solid var(--line);color:var(--ink-2)}
.avatar .ico{width:18px;height:18px}
.account-who{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.account-who .title,.account-who .sub{display:block;margin:0}
.pref{margin:14px 0 0}
.pref-name{font-weight:650;margin:0 0 8px}
.seg button{min-height:44px;padding:0 14px;border-radius:10px;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:14px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--surface-strong);color:var(--ink);font-weight:650;box-shadow:0 1px 3px rgba(0,0,0,.12),inset 0 -3px 0 var(--acc-text)}
.switch{position:relative;width:52px;min-height:32px;height:32px;padding:0;border-radius:999px;background:var(--line);border:1px solid var(--line)}
.switch .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--surface-strong);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s ease}
.switch[aria-pressed="true"]{background:var(--acc-text);border-color:var(--acc-text)}
.switch[aria-pressed="true"] .knob{transform:translateX(20px)}
.switch::after{content:"";position:absolute;inset:-7px -2px}
@media (prefers-reduced-motion:reduce){.nav-caret::before,.switch .knob{transition:none}}
.flag-emoji{font-size:1.15em;line-height:1;letter-spacing:0;text-transform:none;vertical-align:-.08em;margin-right:2px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
/* Info tooltips */
.head-row{display:flex;align-items:center;gap:6px;margin:0 0 8px}
.head-row>h2,.head-row>h3{margin:0}
.tip{position:relative;display:inline-flex;vertical-align:middle;flex:none}
.tip-btn{position:relative;width:20px;height:20px;min-height:20px;padding:0;border-radius:50%;border:1.5px solid var(--ink-3);background:transparent;color:var(--ink-2);font:italic 700 11.5px/1 Georgia,"Times New Roman",serif;display:inline-flex;align-items:center;justify-content:center;cursor:help;text-transform:none;letter-spacing:0}
.tip-btn::after{content:"";position:absolute;inset:-12px}
.tip-btn:hover,.tip.open .tip-btn{border-color:var(--acc-text);color:var(--acc-text)}
.tip-body{display:none;position:absolute;z-index:40;top:calc(100% + 8px);left:-12px;width:max-content;max-width:min(300px,calc(100vw - 40px));padding:10px 12px;border-radius:12px;background:var(--surface-strong);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);font:400 13px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",sans-serif;text-transform:none;letter-spacing:0;white-space:normal;text-align:left}
.tip:hover .tip-body,.tip:focus-within .tip-body,.tip.open .tip-body{display:block}
.tip.dismissed .tip-body{display:none}
/* Sign-in, log out, version */
.account-logout{margin:4px 0 0;padding:4px 0 0;border-top:1px solid var(--line)}
.account-logout button.account-link{width:100%;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;text-align:left}
.version-tag{margin:6px 0 0;padding:0 10px;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:.02em}
:root[data-nav="collapsed"] .version-tag{padding:0;text-align:center;font-size:10px}
.login-body{min-height:100vh}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;padding:24px}
.login-title{font-size:22px;margin:0}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2);font-weight:600}
.field input{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);font:inherit;font-size:16px}
.field input:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
button.primary{background:#0055CC;color:#fff;border-color:#0055CC;font-weight:650}
button.primary:hover{background:#0047AB}
.login-card .version-tag{text-align:center;padding:0}
.lbl .flag-emoji{font-size:16px;vertical-align:-.15em}
.card>h2.title{margin:0 0 8px;font-size:16px}
.case{margin:6px 0 0}
/* City trends */
.trend-row{display:flex;flex-wrap:wrap;gap:8px 12px}
.trend-row .seg{margin:0}
.chart .line.dashed{stroke-dasharray:6 4}
.swatch.dashed{background:repeating-linear-gradient(90deg,currentColor 0 5px,transparent 5px 8px);height:3px}
.swatch.s0.dashed{color:var(--c0)}.swatch.s1.dashed{color:var(--c1)}.swatch.s2.dashed{color:var(--c2)}.swatch.s3.dashed{color:var(--c3)}
.chart path.s3{stroke:var(--c3)}.chart circle.s3{fill:var(--c3)}.swatch.s3{background:var(--c3)}
.chart .fill-top.s3,.chart .fill-bottom.s3{stop-color:var(--c3)}
.htable th .swatch{vertical-align:middle;margin-right:2px}
.pick{margin:0 0 12px}
.pick fieldset{border:0;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px}
.pick-item{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px}
.pick-item input{width:20px;height:20px;accent-color:var(--acc-text)}
