
:root{
  color-scheme:light;   
  --ink-900:#1b1a2e; --ink-700:#3d3b54; --ink-500:#625f78; --ink-400:#8a879c; --ink-300:#b9b7c8;
  --line:#e4e3eb; --line-strong:#88859c;
  --ground:#f4f4f7; --surface:#ffffff; --surface-sunk:#efeef4;
  --shell-paper:#f4eee9; --shell-line:#e3d8ce;
  --stamp-800:#221d63; --stamp-700:#2a2378; --stamp-600:#3b32a0; --stamp-100:#e3e1f7; --stamp-50:#f0effb;
  --up-red:#cb2d25; --up-red-50:#fdeceb; --down-green:#167b47; --down-green-50:#e6f3ec; --flat:#625f78;
  --warn:#935700; --warn-50:#fff3dc; --warn-ink:#5c3a00;
  --error:#b42318; --error-50:#fdecea;
  --series-hubei:#3b32a0; --series-guantao:#0d7480; --series-guiyang:#9a5414;
  --heat-up-1:#f6b9b4; --heat-down-1:#a9d6bb;
  --cat-extracted:#7a6cc9; --cat-failed:#e2675d; --cov-extracted:#dfdcf6; --cov-image:#fbe3bd; --cov-failed:#f9d2ce;
  --on-stamp:#d9d6f5; --on-stamp-muted:#a7a3d6;
  --shell-top:#2a2378; --shell-side:#221d63; --shell-hover:#2a2378; --on-shell:#ffffff; --on-accent:#ffffff;
  --paper-ink:#3a3330; --paper-meta:#6b5f57; --paper-icon:#786a5e; --paper-cell:#fffdfb; --paper-head:#f8f2ec; --row-attn:#fffaf6;
  --map-land:#e8e7ef; --map-coast:#b9b7c8; --map-border:#ffffff; --map-dash:#625f78; --map-inset-line:#cfcdda; --map-hl:14%; --map-hl-sel:26%;
  --font-sans:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC","Source Han Sans SC",system-ui,sans-serif;
  --fs-micro:11px; --fs-caption:.75rem; --fs-label:.8125rem; --fs-table:.875rem; --fs-body:1rem; --fs-price:1.25rem; --fs-h1:1.5rem; --fs-title:1.875rem;
  --lh-tight:1.25; --lh-base:1.6;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-14:56px;
  --r-xs:3px; --r-sm:6px; --r-md:10px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(27,26,46,.06),0 1px 1px rgba(27,26,46,.04);
  --sh-2:0 4px 14px rgba(27,26,46,.10),0 1px 3px rgba(27,26,46,.06);
  --sh-3:0 12px 32px rgba(27,26,46,.14);
  
  --shell:var(--shell-paper); --up:var(--up-red); --up-50:var(--up-red-50); --down:var(--down-green); --down-50:var(--down-green-50); --ok:var(--down-green);
  --fs-xs:var(--fs-caption); --fs-sm:var(--fs-label); --fs-md:var(--fs-table); --fs-base:var(--fs-body); --fs-lg:var(--fs-body); --fs-xl:var(--fs-price); --fs-2xl:var(--fs-h1); --fs-3xl:var(--fs-title); --fs-4xl:var(--fs-title);
}

@media screen and (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    color-scheme:dark;
    --ground:#121120; --surface:#1b1a2c; --surface-sunk:#161527; --ink-900:#ecebf6; --ink-700:#cbc9dc; --ink-500:#a3a1ba;
    --ink-400:#7a778f; --ink-300:#55526c; --line:#2c2a42; --line-strong:#6b6888; --stamp-800:#d2cdff; --stamp-700:#c2bbff;
    --stamp-600:#a49bff; --stamp-100:#34307a; --stamp-50:#201e3b; --on-stamp:#d9d6f5; --on-stamp-muted:#a9a5d8; --shell-top:#1d1856;
    --shell-side:#17133f; --shell-hover:#2a2378; --on-shell:#f3f2fb; --on-accent:#14122e; --up-red:#ff6f63; --up-red-50:#3a1c24;
    --down-green:#3fc57d; --down-green-50:#12301f; --flat:#a3a1ba; --warn:#f0b14d; --warn-50:#33260f; --warn-ink:#f5d699;
    --error:#ff8e80; --error-50:#3b1b1b; --series-hubei:#a49bff; --series-guantao:#3cc0cc; --series-guiyang:#e39a58; --heat-up-1:#7a2c2c;
    --heat-down-1:#1f5a3a; --cat-extracted:#8f84e6; --cat-failed:#e2675d; --cov-extracted:#2d2958; --cov-image:#3a2d14;
    --cov-failed:#40201f; --shell-paper:#1a1716; --shell-line:#3b322c; --paper-ink:#ebe2db; --paper-meta:#b8a99e; --paper-icon:#9a8a7e;
    --paper-cell:#221e1c; --paper-head:#2a2421; --row-attn:#2a2220; --map-land:#26253c; --map-coast:#4d4a66; --map-border:#1b1a2c;
    --map-dash:#a3a1ba; --map-inset-line:#3d3a57;
    --map-hl:24%; --map-hl-sel:40%;
    --sh-1:0 1px 2px rgba(5,4,14,.5),0 1px 1px rgba(5,4,14,.35);
    --sh-2:0 4px 14px rgba(5,4,14,.55),0 1px 3px rgba(5,4,14,.4);
    --sh-3:0 12px 32px rgba(5,4,14,.6);
  }
}
@media screen{
  :root[data-theme=dark]{
    color-scheme:dark;
    --ground:#121120; --surface:#1b1a2c; --surface-sunk:#161527; --ink-900:#ecebf6; --ink-700:#cbc9dc; --ink-500:#a3a1ba;
    --ink-400:#7a778f; --ink-300:#55526c; --line:#2c2a42; --line-strong:#6b6888; --stamp-800:#d2cdff; --stamp-700:#c2bbff;
    --stamp-600:#a49bff; --stamp-100:#34307a; --stamp-50:#201e3b; --on-stamp:#d9d6f5; --on-stamp-muted:#a9a5d8; --shell-top:#1d1856;
    --shell-side:#17133f; --shell-hover:#2a2378; --on-shell:#f3f2fb; --on-accent:#14122e; --up-red:#ff6f63; --up-red-50:#3a1c24;
    --down-green:#3fc57d; --down-green-50:#12301f; --flat:#a3a1ba; --warn:#f0b14d; --warn-50:#33260f; --warn-ink:#f5d699;
    --error:#ff8e80; --error-50:#3b1b1b; --series-hubei:#a49bff; --series-guantao:#3cc0cc; --series-guiyang:#e39a58; --heat-up-1:#7a2c2c;
    --heat-down-1:#1f5a3a; --cat-extracted:#8f84e6; --cat-failed:#e2675d; --cov-extracted:#2d2958; --cov-image:#3a2d14;
    --cov-failed:#40201f; --shell-paper:#1a1716; --shell-line:#3b322c; --paper-ink:#ebe2db; --paper-meta:#b8a99e; --paper-icon:#9a8a7e;
    --paper-cell:#221e1c; --paper-head:#2a2421; --row-attn:#2a2220; --map-land:#26253c; --map-coast:#4d4a66; --map-border:#1b1a2c;
    --map-dash:#a3a1ba; --map-inset-line:#3d3a57;
    --map-hl:24%; --map-hl-sel:40%;
    --sh-1:0 1px 2px rgba(5,4,14,.5),0 1px 1px rgba(5,4,14,.35);
    --sh-2:0 4px 14px rgba(5,4,14,.55),0 1px 3px rgba(5,4,14,.4);
    --sh-3:0 12px 32px rgba(5,4,14,.6);
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-color:var(--line-strong) var(--ground)}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-table);line-height:1.6;color:var(--ink-900);background:var(--ground);font-variant-numeric:tabular-nums;caret-color:var(--stamp-600)}
code,kbd,pre,samp{font-family:var(--font-sans);font-size:1em;font-variant-numeric:tabular-nums}
::selection{background:var(--stamp-100);color:var(--ink-900)}
a{color:var(--stamp-600);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--stamp-800)}
:focus-visible{outline:2px solid var(--stamp-600);outline-offset:2px}
h1,h2,h3{margin:0;line-height:1.25;font-weight:600;text-wrap:balance;color:var(--ink-900)}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-body)} h3{font-size:var(--fs-table)}
p{margin:0} ul,ol{margin:0;padding:0;list-style:none}
.icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hint{font-size:var(--fs-caption);color:var(--ink-500)}
.muted{color:var(--ink-500)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.id{font-size:var(--fs-caption);color:var(--ink-700);letter-spacing:.02em;overflow-wrap:anywhere}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.r{text-align:right}
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{width:auto;height:auto;clip-path:none;inset-inline-start:var(--sp-4);top:var(--sp-2);z-index:50;background:var(--surface);color:var(--stamp-700);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);box-shadow:var(--sh-2)}
.tag-demo{display:inline-flex;align-items:center;height:18px;padding:0 5px;border:1px solid var(--stamp-100);border-radius:var(--r-xs);color:var(--stamp-600);background:var(--surface);font-size:var(--fs-micro);font-weight:500;line-height:1;vertical-align:2px;white-space:nowrap;margin-left:6px}

.stamp{--sc:var(--ink-700);--sb:var(--surface);display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border:1px solid var(--sc);border-radius:var(--r-xs);box-shadow:inset 0 0 0 2px var(--sb),inset 0 0 0 3px var(--sc);font-size:var(--fs-caption);font-weight:600;line-height:1;white-space:nowrap;background:var(--sb);color:var(--sc)}
.stamp .icon{width:12px;height:12px;stroke-width:2}
.stamp.fix,.stamp.role{--sc:var(--stamp-600);--sb:var(--surface)}
.stamp.ok{--sc:var(--stamp-700);--sb:var(--stamp-50)}
.stamp.wait{--sc:var(--warn);--sb:var(--warn-50)}
.stamp.err{--sc:var(--error);--sb:var(--surface)}
.stamp.miss{--sc:var(--ink-500);--sb:var(--surface)}
.stamp.lg{height:36px;padding:0 12px;font-size:var(--fs-body);box-shadow:inset 0 0 0 3px var(--sb),inset 0 0 0 4px var(--sc)}
.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border:1px solid var(--line-strong);border-radius:var(--r-xs);font-size:var(--fs-micro);font-weight:500;color:var(--ink-700);background:var(--surface);white-space:nowrap;line-height:1}
.tag.base{border-color:var(--stamp-600);color:var(--stamp-700)}
.reg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:600;color:var(--ink-900)}
.reg i{width:8px;height:8px;border-radius:var(--r-pill);background:var(--c);flex:none}
.chg{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
.chg svg{width:10px;height:10px;margin-right:2px}
.chg.up{color:var(--up-red)} .chg.down{color:var(--down-green)} .chg.flat{color:var(--flat);font-weight:500}
.dash{color:var(--ink-500);font-weight:500}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 var(--sp-4);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-900);font:inherit;font-size:var(--fs-table);font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .15s ease-out,border-color .15s ease-out}
.btn:hover{border-color:var(--ink-300);background:var(--surface-sunk);color:var(--ink-900)}
.btn.primary{background:var(--stamp-600);border-color:var(--stamp-600);color:var(--on-accent)}
.btn.primary:hover{background:var(--stamp-700);border-color:var(--stamp-700);color:var(--on-accent)}
.btn.danger{color:var(--error);border-color:var(--error)}
.btn.danger:hover{background:var(--error-50);color:var(--error)}
.btn.ghost{border-color:transparent;background:transparent;color:var(--stamp-600)}
.btn.ghost:hover{background:var(--stamp-50);color:var(--stamp-700)}
.btn.sm{height:30px;padding:0 var(--sp-3);font-size:var(--fs-label)}
.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.seg{display:inline-flex;padding:var(--sp-1);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);gap:2px;max-width:100%;overflow-x:auto}
.seg a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--sp-3);border-radius:var(--r-xs);font-size:var(--fs-label);color:var(--ink-700);text-decoration:none;white-space:nowrap}
.seg a:hover{background:var(--surface-sunk);color:var(--ink-900)}
.seg a.on{background:var(--stamp-50);color:var(--stamp-700);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-700);font-size:var(--fs-label);text-decoration:none;white-space:nowrap}
.chip i{width:8px;height:8px;border-radius:var(--r-pill);background:var(--c)}
.chip.on{background:var(--stamp-50);border-color:var(--stamp-600);color:var(--stamp-700);font-weight:600}
.chip b{font-weight:600;color:var(--warn-ink);background:var(--warn-50);border-radius:var(--r-pill);padding:0 6px;font-size:var(--fs-micro);line-height:16px}
.field{display:grid;gap:6px;align-content:start;min-width:0}
.field>label,.field>.lbl{font-size:var(--fs-label);font-weight:600;color:var(--ink-700)}
.input{height:36px;width:100%;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font:inherit;font-size:var(--fs-table);color:var(--ink-900);outline-color:var(--stamp-600)}
textarea.input{height:auto;min-height:84px;padding:var(--sp-2) var(--sp-3);resize:vertical}
.input::placeholder{color:var(--ink-500)}
.input:hover{border-color:var(--ink-300)}
.input:focus{outline:2px solid var(--stamp-600);outline-offset:0;border-color:var(--stamp-600)}
.input.bad{border-color:var(--error)}
.err-msg{display:flex;gap:6px;align-items:center;font-size:var(--fs-label);color:var(--error)}
.err-msg .icon{width:14px;height:14px}
select.input{appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-500) 50%),linear-gradient(135deg,var(--ink-500) 50%,transparent 50%);background-position:calc(100% - 17px) 16px,calc(100% - 12px) 16px;background-size:5px 5px;background-repeat:no-repeat}
input[type=checkbox],input[type=radio]{accent-color:var(--stamp-600);outline-color:var(--stamp-600);width:16px;height:16px;margin:0;flex:none}
.filepick{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.filepick input{position:absolute;opacity:0;width:1px;height:1px}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);min-width:0}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line)}
.panel-h h2{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.panel-h .hint{max-width:52ch}
.panel-b{padding:var(--sp-5)}
.panel-f{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-caption);color:var(--ink-500)}
.tscroll{overflow-x:auto;padding:0 var(--sp-1) var(--sp-1)}
.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-table)}
.tbl th{font-size:var(--fs-caption);font-weight:600;color:var(--ink-500);text-align:left;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line-strong);white-space:nowrap;background:var(--surface)}
.tbl td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tbody th{font-size:inherit;font-weight:inherit;color:var(--ink-900);border-bottom-color:var(--line);background:inherit}   
.tbl tbody tr:last-child th{border-bottom:0}
.tbl th.r,.tbl td.r{text-align:right}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:var(--ground)}
.tbl tr.grp td{background:var(--surface-sunk);font-weight:600}
.tbl .p{font-size:var(--fs-body);font-weight:700}
.note{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fs-label);color:var(--ink-700);background:var(--surface-sunk);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4)}
.note p{max-width:68ch}
.note .icon{margin-top:3px;color:var(--ink-500)}
.note.warn{background:var(--warn-50);color:var(--warn-ink)} .note.warn .icon{color:var(--warn)}
.note.ok{background:var(--stamp-50);color:var(--stamp-800)} .note.ok .icon{color:var(--stamp-600)}
.note.bad{background:var(--error-50);color:var(--error)} .note.bad .icon{color:var(--error)}
.kvs{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--sp-2) var(--sp-4);margin:0;font-size:var(--fs-label)}
.kvs dt{color:var(--ink-500)} .kvs dd{margin:0;color:var(--ink-900);min-width:0;max-width:72ch;overflow-wrap:anywhere}
.statline{display:flex;flex-wrap:wrap;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1)}
.statline>div{padding:var(--sp-3) var(--sp-5);border-left:1px solid var(--line);min-width:0;flex:1 1 auto}
.statline>div:first-child{border-left:0}
.statline dt{font-size:var(--fs-caption);color:var(--ink-500)}
.statline dd{margin:2px 0 0;font-size:var(--fs-price);font-weight:700;line-height:1.25;white-space:nowrap}
.statline dd small{font-size:var(--fs-caption);font-weight:500;color:var(--ink-500);margin-left:4px}
.statline dd.w{color:var(--warn)}

.rows>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-1) var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line)}
.rows>li:last-child{border-bottom:0}
.rows .t{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-weight:600}
.rows .m{grid-column:1;font-size:var(--fs-label);color:var(--ink-500);display:flex;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap}
.rows .a{grid-column:2;grid-row:1 / span 2;display:flex;gap:var(--sp-2)}
.only-m{display:none}
.days{display:flex;gap:3px;flex-wrap:wrap}
.days i{display:inline-grid;place-items:center;width:24px;height:22px;border-radius:var(--r-xs);font-style:normal;font-size:var(--fs-micro);font-weight:600;border:1px solid var(--line-strong);color:var(--ink-500);background:var(--surface)}
.days i.ok{background:var(--stamp-600);border-color:var(--stamp-600);color:var(--on-accent)}
.days i.wait{background:var(--warn-50);border-color:var(--warn);color:var(--warn-ink)}
.days i.today{box-shadow:inset 0 0 0 1px var(--surface),0 0 0 1px var(--ink-900)}
.legend{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-caption);color:var(--ink-500);align-items:center}
.legend span{display:inline-flex;align-items:center;gap:6px}
@media (max-width:47.5rem){
 .tbl.wide{display:none}
 .hm{display:none}
 .only-m{display:block}
 .rows>li{padding:var(--sp-3) var(--sp-4)}
 .btn,.btn.sm{min-height:44px}
 .input{height:44px}
 .seg a{height:44px}
 .chip{height:44px}
 .panel-h{padding:var(--sp-3) var(--sp-4);flex-direction:column;align-items:flex-start}
 .panel-b{padding:var(--sp-4)}
 .statline>div{flex:1 1 33%;padding:var(--sp-2) var(--sp-3);border-left:0;border-top:1px solid var(--line)}
 .statline>div:nth-child(-n+3){border-top:0}
 .statline dd{font-size:var(--fs-body)}
}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}


.nodata{display:inline-flex;align-items:center;justify-content:center;min-width:2.5em;padding:0 var(--sp-2);border:1px dashed var(--ink-300);border-radius:var(--r-xs);background:var(--surface);color:var(--ink-500);font-weight:500;line-height:1.5}
.h1row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.fold{border-top:1px solid var(--line)}
.fold>summary{display:flex;align-items:center;gap:6px;min-height:44px;padding:var(--sp-2) var(--sp-5);cursor:pointer;font-size:var(--fs-label);color:var(--stamp-600);list-style:none}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary .icon{width:14px;height:14px;transition:transform .15s ease-out}
.fold[open]>summary .icon{transform:rotate(90deg)}
.fold>div{padding:0 var(--sp-5) var(--sp-4);display:grid;gap:var(--sp-2);font-size:var(--fs-label);color:var(--ink-700)}
.fold>div p{max-width:68ch}
.emptybox{padding:var(--sp-10) var(--sp-5);display:grid;justify-items:center;gap:var(--sp-2);text-align:center;color:var(--ink-500);font-size:var(--fs-table)}
.emptybox .icon{width:28px;height:28px;color:var(--ink-300)}
.emptybox b{color:var(--ink-900);font-size:var(--fs-body)}
.emptyline{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);font-size:var(--fs-table);color:var(--ink-700)}
@media (prefers-reduced-motion:reduce){.fold>summary .icon{transition:none}}

html:not(.js) .theme-sw{display:none}
.theme-sw{display:inline-flex;flex:none;border:1px solid var(--on-stamp-muted);border-radius:var(--r-sm);overflow:hidden}
.theme-sw button{min-height:24px;min-width:24px;padding:0 var(--sp-2);border:0;background:transparent;color:var(--on-stamp);font:inherit;font-size:var(--fs-caption);line-height:1;cursor:pointer}
.theme-sw button+button{border-left:1px solid var(--on-stamp-muted)}
.theme-sw button:hover{background:var(--shell-hover);color:var(--on-shell)}
:root:not([data-theme]) .theme-sw [data-theme-set=system],:root[data-theme=light] .theme-sw [data-theme-set=light],:root[data-theme=dark] .theme-sw [data-theme-set=dark]{background:var(--on-shell);color:var(--shell-side);font-weight:600}
.theme-sw button:focus-visible{outline:2px solid var(--on-shell);outline-offset:2px}

.theme-cy{display:none;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:0 var(--sp-2);border:1px solid var(--on-stamp-muted);border-radius:var(--r-sm);background:transparent;color:var(--on-shell);font:inherit;font-size:var(--fs-caption);line-height:1;cursor:pointer}
.theme-cy .icon{width:16px;height:16px;flex:none}
.theme-cy .t-system,.theme-cy .t-light,.theme-cy .t-dark{display:none}
:root:not([data-theme]) .theme-cy .t-system,:root[data-theme=light] .theme-cy .t-light,:root[data-theme=dark] .theme-cy .t-dark{display:inline}
.theme-cy:hover{background:var(--shell-hover)}
.theme-cy:focus-visible{outline:2px solid var(--on-shell);outline-offset:2px}
html:not(.js) .theme-cy{display:none!important}
html:not(.js) .js-only{display:none!important}
@media (max-width:47.5rem){
 .theme-sw button{min-height:44px;min-width:44px}
}

body{display:flex;flex-direction:column;min-height:100vh}
.pub-top{background:var(--shell-top);color:var(--on-shell)}
.pub-top .in{max-width:1240px;margin:0 auto;padding:0 var(--sp-6);display:flex;align-items:center;gap:var(--sp-6);min-height:56px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--on-shell);text-decoration:none;font-weight:700;font-size:var(--fs-body)}
.brand:hover{color:var(--on-shell)}
.brand .egg{width:20px;height:24px}
.pub-nav{display:flex;gap:var(--sp-1);align-self:stretch}
.pub-nav a{display:inline-flex;align-items:center;gap:6px;padding:0 var(--sp-3);color:var(--on-stamp);text-decoration:none;font-size:var(--fs-table);border-bottom:2px solid transparent}
.pub-nav a:hover{color:var(--on-shell)}
.pub-nav a.on{color:var(--on-shell);font-weight:600;border-bottom-color:var(--on-shell)}
.pub-nav .icon{width:15px;height:15px}
.pub-user.m{display:none}
.pub-user{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-label);color:var(--on-stamp)}
.pub-user .ph{color:var(--on-shell)}
.pub-user form{margin:0;display:inline-flex}
.pub-user .login-btn{display:inline-flex;align-items:center;height:32px;padding:0 var(--sp-3);border-radius:var(--r-sm);background:var(--surface);color:var(--stamp-700);text-decoration:none;font-weight:500}
.pub-user .login-btn:hover{background:var(--stamp-50);color:var(--stamp-800)}
.pub-user .logout{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 var(--sp-2);border:0;background:transparent;color:var(--on-stamp);font:inherit;font-size:var(--fs-label);cursor:pointer}
.pub-user .logout:hover{color:var(--on-shell)}
.wrap{flex:1 0 auto;width:100%;max-width:1240px;margin:0 auto;padding:var(--sp-8) var(--sp-6) var(--sp-14);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6);align-content:start}
.site-foot{border-top:1px solid var(--line);background:var(--surface)}
.site-foot .in{max-width:1240px;margin:0 auto;padding:var(--sp-5) var(--sp-6);display:flex;gap:var(--sp-3) var(--sp-8);flex-wrap:wrap;align-items:flex-start;justify-content:space-between;font-size:var(--fs-caption);color:var(--ink-500)}
.foot-disc{max-width:46em}
.foot-disc b{color:var(--ink-900);font-weight:600}
.foot-nav{display:flex;gap:var(--sp-4)}
.foot-nav a{color:var(--ink-700)}
.foot-legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:center}
.foot-legal a{color:var(--ink-500)}
.foot-nav a,.foot-legal a{display:inline-flex;align-items:center;min-height:24px}   
.page-h{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4) var(--sp-8);flex-wrap:wrap}
.page-h h1{font-size:var(--fs-title)}
.page-h p{margin-top:var(--sp-2);color:var(--ink-500);font-size:var(--fs-table);max-width:44em}
.gate{width:100%;max-width:560px;margin:var(--sp-10) auto 0;display:grid;gap:var(--sp-5)}
.gate h1{font-size:var(--fs-h1)}
.gate p{color:var(--ink-700);font-size:var(--fs-body);max-width:52ch}
.gate .note p,.gate .note span{font-size:var(--fs-label)}
.gate .det{font-size:var(--fs-label);color:var(--ink-500)}
.gate .acts{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.login{width:100%;max-width:440px;margin:var(--sp-8) auto 0;display:grid;gap:var(--sp-5)}
.login h1{font-size:var(--fs-h1)}
.login .hint{margin-top:var(--sp-1)}
.login .panel-b{display:grid;gap:var(--sp-4)}
.coderow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-2)}
.login .btn.primary{width:100%}
.login .terms{font-size:var(--fs-caption);color:var(--ink-500)}
.sup-type{flex:none;white-space:nowrap;display:inline-flex;align-items:center;height:22px;padding:0 var(--sp-2);border-radius:var(--r-xs);font-size:var(--fs-caption);font-weight:600;background:var(--stamp-50);color:var(--stamp-700)}
.sup-type.buy{background:var(--warn-50);color:var(--warn-ink)}

.sup-panel .rows .t,.sup-panel .rows .m>span{min-width:0;overflow-wrap:anywhere}
.sup-tbl td{overflow-wrap:anywhere}
.sup-panel .rows>li{grid-template-columns:minmax(0,1fr) fit-content(40%)}   
.sup-panel .rows .a{overflow-wrap:anywhere}
.tel{white-space:nowrap;font-weight:600}
@media (max-width:47.5rem){
 .pub-top .in{padding:0 var(--sp-4);gap:var(--sp-3);flex-wrap:wrap;min-height:52px}
 .pub-nav{width:calc(100% + 2 * var(--sp-4));margin:0 calc(-1 * var(--sp-4));padding:0 var(--sp-1);border-top:1px solid var(--stamp-600);overflow-x:auto}
 .pub-nav a{min-height:44px;flex:1;justify-content:center;white-space:nowrap}
 .pub-user .ph{display:none}
 .pub-user.d{display:none}
 .pub-user.m{display:flex}
 .pub-top .theme-cy{display:inline-flex}
 .pub-user .login-btn,.pub-user .logout{min-height:44px}
 .wrap{padding:var(--sp-5) var(--sp-4) var(--sp-10);gap:var(--sp-5)}
 .page-h h1{font-size:var(--fs-h1)}
 .site-foot .in{padding:var(--sp-4);flex-direction:column}
 .foot-nav a,.foot-legal a{min-height:44px;display:inline-flex;align-items:center}
 .gate{margin-top:var(--sp-4)}
 .gate .acts .btn{flex:1}
 .login{margin-top:var(--sp-2)}
}

.pub-top :focus-visible{outline-color:var(--on-shell)}

.gx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--sp-10);align-items:start;padding-top:var(--sp-4)}
.gx-copy{display:grid;gap:var(--sp-5);align-content:start}
.gx h1{font-size:var(--fs-title);line-height:var(--lh-tight);text-wrap:balance}
.gx-lead{font-size:var(--fs-body);color:var(--ink-700);max-width:40em;margin:0}
.gx-cta{display:grid;gap:var(--sp-3)}
.gx-acts{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.gx-acts .btn{min-width:9em}
.gx-acts .gx-main{font-weight:600;font-size:var(--fs-body);min-width:11em}
.gx-sub{margin:0;font-size:var(--fs-label);color:var(--ink-500);max-width:40em}
.gx-soon{max-width:40em}
.gx-soon b{display:block;color:var(--ink-900);font-size:var(--fs-table);margin-bottom:2px}
.gx-soon p{margin:0}
.gx-h2{font-size:var(--fs-body);margin:var(--sp-3) 0 0}
.gx-feats{margin:0;display:grid;border-top:1px solid var(--line)}
.gx-f{display:grid;grid-template-columns:calc(32px + var(--sp-3) + 6.5em) minmax(0,1fr);gap:var(--sp-1) var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}
.gx-fi{flex:none;display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:var(--r-sm);background:var(--stamp-50);color:var(--stamp-600)}
.gx-fi .icon{width:18px;height:18px}
.gx-f dt{display:flex;align-items:center;gap:var(--sp-3);font-weight:600;color:var(--ink-900);font-size:var(--fs-body)}
.gx-f dd{margin:0;color:var(--ink-700);font-size:var(--fs-table)}
.gx-regs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-table)}
.gx-regs-t{color:var(--ink-500)}
.gx-regs ul{display:flex;gap:var(--sp-4);margin:0;padding:0;list-style:none}
.gx-prev{margin:0;overflow:hidden}
.gx-prev-h{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line);font-size:var(--fs-table)}
.gx-prev-h span{font-size:var(--fs-caption);color:var(--ink-500)}
.gx-prev-b{padding:var(--sp-5);display:grid;gap:var(--sp-4)}
.gx-ctrls{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}
.gx-seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface)}
.gx-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 var(--sp-2);border-radius:var(--r-xs);font-size:var(--fs-caption);color:var(--ink-700)}
.gx-pill.on{background:var(--stamp-50);color:var(--stamp-700);font-weight:600}
.gx-pill i{width:7px;height:7px;border-radius:var(--r-pill);background:var(--c)}
.gx-box{display:grid;gap:var(--sp-2);min-width:0;align-content:start}
.gx-ctrls+.gx-box,.gx-two{border-top:1px solid var(--line);padding-top:var(--sp-4)}
.gx-lbl{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--ink-500)}
.gx-lbl .icon{width:14px;height:14px}
.gx-chart{display:block;width:100%;height:120px}
.gx-chart .g line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.gx-chart .b{stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke}
.gx-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-6)}
.gx-wk,.gx-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.gx-wk span{font-size:var(--fs-micro);color:var(--ink-500);text-align:center}
.gx-cal i{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface)}
.gx-mt{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;font-size:var(--fs-micro);color:var(--ink-500);border-bottom:1px solid var(--line-strong);padding-bottom:4px}
.gx-mr{height:22px;border-bottom:1px solid var(--line)}
@media (max-width:70rem){.gx{grid-template-columns:minmax(0,1fr);gap:var(--sp-8)}.gx-prev{max-width:720px}}
@media (max-width:47.5rem){
 .gx{padding-top:0}
 .gx h1{font-size:var(--fs-h1)}
 .gx-acts .btn{flex:1 1 9em}
 .gx-f{grid-template-columns:minmax(0,1fr)}
 .gx-f dd{padding-left:calc(32px + var(--sp-3))}
 .gx-two{grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}
 .gx-two>.gx-box+.gx-box{border-top:1px solid var(--line);padding-top:var(--sp-4)}
 .gx-prev-b{padding:var(--sp-4)}
 .gx-cal i:nth-child(n+22){display:none}
 .gx-mr:nth-of-type(n+4){display:none}
 .gx-chart{height:96px}
}
.tbl a.tel{display:inline-flex;align-items:center;min-height:24px}   
@media (max-width:47.5rem){.tbl a.tel{min-height:44px}}

.today-h h1{font-size:var(--fs-title)}
.sess{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}
.sess ol{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-label);color:var(--ink-500)}
.sess li{display:inline-flex;align-items:center;gap:6px}
.sess li i{width:8px;height:8px;border-radius:var(--r-pill);border:1.5px solid var(--ink-300)}
.sess li.done{color:var(--ink-900);font-weight:600}
.sess li.done i{background:var(--stamp-600);border-color:var(--stamp-600)}
.today{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-areas:"map regions";gap:var(--sp-6);align-items:start}

.mapcol{grid-area:map;min-width:0}
.regions{grid-area:regions}
.mapbox{position:sticky;top:var(--sp-4);display:grid;gap:var(--sp-3)}
.mapwrap{position:relative}
.cnmap{display:block;width:100%;height:auto;overflow:visible;position:relative;z-index:0}
#cn-all,#cn-ins,#cn-420000,#cn-130000,#cn-520000,#cn-jd,.cn-jd,.cn-inset-box,.cn-isl{vector-effect:non-scaling-stroke}
.cn-coast{fill:var(--map-coast);stroke:var(--map-coast);stroke-width:1.5px;stroke-linejoin:round}
.cn-land{fill:var(--map-land);stroke:var(--map-border);stroke-width:.75px;stroke-linejoin:round}
.cn-hl{fill:color-mix(in srgb,var(--c) var(--map-hl),var(--map-land));stroke:var(--c);stroke-width:1.25px;stroke-linejoin:round}
.cn-hl.sel{fill:color-mix(in srgb,var(--c) var(--map-hl-sel),var(--map-land));stroke-width:2px}
.cn-jd{fill:var(--map-dash);stroke:var(--map-dash);stroke-width:.75px}
.cn-inset-box{fill:var(--surface);stroke:var(--map-inset-line);stroke-width:1px}
.cn-isl{fill:var(--map-dash);stroke:var(--map-dash);stroke-width:.6px}
.inset-t{position:absolute;z-index:1;transform:translate(-50%,calc(-100% - 4px));font-size:var(--fs-micro);line-height:1;color:var(--ink-500);white-space:nowrap;background:var(--surface);padding:0 2px}
.pin{position:absolute;z-index:1;width:0;height:0}
.pd{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:var(--r-pill);background:var(--c);box-shadow:0 0 0 3px var(--surface)}
.pinlab{position:absolute;left:0;top:0;display:grid;line-height:1.15;white-space:nowrap;transform:translate(14px,-50%);text-shadow:0 0 3px var(--surface),0 0 3px var(--surface),0 0 2px var(--surface)}
.pinlab.l{transform:translate(calc(-100% - 14px),-50%);text-align:right}
.pinlab b{font-size:var(--fs-body);font-weight:700;color:var(--ink-900)}
.pinlab .v{font-size:var(--fs-table);font-weight:700;color:var(--c)}
.pinlab .v.none{color:var(--ink-500);font-weight:500}
.map-src{font-size:var(--fs-caption);color:var(--ink-500);max-width:68ch}
.regions{display:grid;gap:var(--sp-4)}
.rc{overflow:hidden}
.rc .panel-h{padding:var(--sp-3) var(--sp-4)}
.rc .panel-h h2{font-size:var(--fs-body)}
.rc .src{font-size:var(--fs-caption);color:var(--ink-500);font-weight:400}
.rc-k{display:flex;flex-wrap:wrap;gap:2px var(--sp-2);align-items:baseline;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-caption);color:var(--ink-700);border-bottom:1px solid var(--line);background:var(--surface-sunk)}
.rc-k b{font-weight:600;color:var(--ink-500)}
.rc-k .cnt{margin-left:auto;font-weight:600;white-space:nowrap}
.lad{width:100%;border-collapse:collapse;font-size:var(--fs-label);font-variant-numeric:tabular-nums}
.lad thead th{font-size:var(--fs-caption);font-weight:600;color:var(--ink-500);text-align:right;padding:6px var(--sp-4) 5px 6px;border-bottom:1px solid var(--line-strong);white-space:nowrap}
.lad thead th.l{text-align:left;padding-left:var(--sp-4)}
.lad td{padding:0 var(--sp-4) 0 6px;height:28px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.lad tr:last-child td{border-bottom:0}
.lad td.g{text-align:left;padding-left:var(--sp-4);color:var(--ink-900);font-weight:500}
.lad td.y{color:var(--ink-500)}
.lad td.p{font-weight:700;font-size:var(--fs-table);color:var(--ink-900)}
.lad .dd{color:var(--ink-500);font-weight:500}
.lad tr.is-std td{background:var(--stamp-50)}
.lad tr.is-std td.p{font-size:var(--fs-body);color:var(--stamp-800)}
.lad tr.grp th{text-align:left;font-size:var(--fs-caption);font-weight:600;color:var(--ink-700);background:var(--surface-sunk);padding:4px var(--sp-4);border-bottom:1px solid var(--line)}
.lad tr.miss td{color:var(--ink-500)}
.lad td.g .std{margin-left:6px}
.std{display:inline-flex;align-items:center;height:18px;padding:0 5px;border:1px solid var(--stamp-600);border-radius:var(--r-xs);color:var(--stamp-700);background:var(--surface);font-size:var(--fs-micro);font-weight:600;line-height:1;vertical-align:1px;white-space:nowrap}
.fixmark{display:flex;justify-content:flex-end;align-items:center;gap:2px;margin:0 0 3px;line-height:1.2;font-size:var(--fs-caption);font-weight:500;color:var(--stamp-600)}
.fixmark svg{width:12px;height:12px}
.fixmark s{color:var(--ink-500)}
.rc-f{display:grid;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-caption);color:var(--ink-500);line-height:1.5}
.rc-f p{margin:0}
.rc-f b{font-weight:600;color:var(--ink-900)}
.lc-empty{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5) var(--sp-4)}
.lc-empty .nodata{font-size:var(--fs-price);min-width:3em;height:40px}
.lc-empty p{font-size:var(--fs-label);color:var(--ink-500)}
.cx{display:grid;gap:0}
.cx-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--sp-4);align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.cx-row:last-child{border-bottom:0}
.cx-lab{display:grid;gap:2px;padding:var(--sp-3) 0}
.cx-lab b{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-body);font-weight:700;color:var(--ink-900)}
.cx-lab b i{width:10px;height:10px;border-radius:var(--r-pill);background:var(--c)}
.cx-lab span{font-size:var(--fs-caption);color:var(--ink-500);padding-left:18px}
.cx-tr{position:relative;height:72px}
.cx-tr.none{height:auto;min-height:40px;display:flex;align-items:center;padding:var(--sp-2) var(--sp-3);border:1px dashed var(--ink-300);border-radius:var(--r-xs);background:var(--surface)}
.cx-tr.none .cx-none{position:static;transform:none}
.cx-tr .gl{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}
.cx-tr .sp{position:absolute;top:35px;height:2px;background:var(--c);opacity:.35}
.cx-tr .tk{position:absolute;top:29px;width:2px;height:14px;margin-left:-1px;background:var(--c)}
.cx-tr .sd{position:absolute;top:28px;width:16px;height:16px;margin-left:-8px;border-radius:var(--r-pill);background:var(--c);box-shadow:0 0 0 2px var(--surface)}
.cx-tr .sb{position:absolute;top:28px;height:16px;border-radius:var(--r-pill);background:var(--c);box-shadow:0 0 0 2px var(--surface)}
.cx-tr .sl,.cx-tr .ml{position:absolute;white-space:nowrap;font-size:var(--fs-caption);color:var(--ink-700);line-height:1.2;background:var(--surface);padding:0 2px}
.cx-tr .sl{top:6px;transform:translateX(calc(-100% + 8px))}
.cx-tr .sl.l{transform:translateX(-8px)}
.cx-tr .sl em{font-style:normal;font-weight:600;color:var(--ink-900)}
.cx-tr .sl b{font-size:var(--fs-table);color:var(--ink-900)}
.cx-tr .ml{top:50px;transform:translateX(-4px)}
.cx-tr .ml.r{transform:translateX(calc(-100% + 4px))}
.cx-tr .ml b{color:var(--ink-900);font-weight:600}
.cx-tr small{font-size:var(--fs-caption);color:var(--ink-500)}
.cx-tr .cx-none{position:absolute;left:var(--sp-3);top:50%;transform:translateY(-50%);font-size:var(--fs-label);color:var(--ink-500)}
.cx-ax{border-bottom:0}
.cx-ax .cx-lab{padding:0}
.cx-ax .cx-tr{height:22px}
.cx-ax .cx-tr span{position:absolute;top:2px;transform:translateX(-50%);font-size:var(--fs-caption);color:var(--ink-500)}
.cx-ax .cx-tr span.a0{transform:none}.cx-ax .cx-tr span.a1{transform:translateX(-100%)}
.cx-key{display:flex;flex-wrap:wrap;gap:6px var(--sp-5);align-items:center;margin-top:var(--sp-3);font-size:var(--fs-caption);color:var(--ink-700)}
.cx-key span{display:inline-flex;align-items:center;gap:6px}
.cx-key .k-n{color:var(--ink-500)}
.k-sd{width:12px;height:12px;border-radius:var(--r-pill);background:var(--ink-700)}
.k-tk{width:2px;height:12px;background:var(--ink-700)}
.k-sp{width:22px;height:2px;background:var(--ink-700);opacity:.45}
.cx-empty{margin:var(--sp-3) 0 0;font-size:var(--fs-label);color:var(--ink-500)}
.cx-p .note{margin:0 var(--sp-5) var(--sp-5)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-6);align-items:start}
.two.one{grid-template-columns:minmax(0,1fr)}
.lg-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:var(--sp-3) var(--sp-6);padding:var(--sp-4) var(--sp-5)}
.lg-items .li{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-label);color:var(--ink-700);line-height:1.5}
.lg-items .li>:first-child{flex:none;margin-top:1px}
.lg-k{font-size:var(--fs-caption);font-weight:700;color:var(--ink-900);white-space:nowrap}
.chgs{display:inline-flex;gap:6px;white-space:nowrap}

.cta-band{display:grid;grid-template-columns:minmax(min(18rem,100%),1fr) auto auto;gap:var(--sp-6);align-items:center;padding:var(--sp-5) var(--sp-6);border-radius:var(--r-md);background:var(--stamp-50);border:1px solid var(--stamp-100)}
.cta-band h2{font-size:var(--fs-body);color:var(--stamp-800)}
.cta-band p{margin-top:4px;font-size:var(--fs-label);color:var(--ink-700)}
.cb-f{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-label);color:var(--ink-700)}
.cb-f li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cb-f li::before{content:"";width:6px;height:6px;border-radius:var(--r-pill);background:var(--stamp-600)}
.cta-band .btn{height:40px;padding:0 var(--sp-5)}
@media (max-width:70rem){
 .today{grid-template-columns:minmax(0,1fr);grid-template-areas:"regions" "map"}
 .mapbox{position:relative;top:0}
 .mapwrap{max-width:680px;margin:0 auto;width:100%}
 .two{grid-template-columns:minmax(0,1fr)}
 .cta-band{grid-template-columns:minmax(0,1fr) auto}
 .cb-f{grid-column:1/-1;grid-row:2;flex-wrap:wrap}
}
@media (max-width:47.5rem){
 .today-h h1{font-size:var(--fs-h1)}
 .sess{gap:var(--sp-2) var(--sp-4)}
 .regions{gap:var(--sp-3)}
 .mapwrap{max-width:340px}
 .pinlab b,.pinlab .v{font-size:var(--fs-label)}
 .lad td{height:32px}
 .cx-row{grid-template-columns:1fr;gap:0}
 .cx-lab{padding:var(--sp-3) 0 0;grid-template-columns:auto auto 1fr;align-items:baseline;gap:var(--sp-2)}
 .cx-lab span{padding-left:0}
 .cx-ax .cx-lab{display:none}
 .cx-tr .gl.odd,.cx-ax .cx-tr span.odd{display:none}
 .cx-p .note{margin:0 var(--sp-4) var(--sp-4)}
 .lg-items{padding:var(--sp-4)}
 .cta-band{grid-template-columns:1fr;gap:var(--sp-3);padding:var(--sp-5)}
 .cb-f{grid-row:auto;gap:6px var(--sp-4)}
 .cta-band .btn{justify-self:stretch;min-height:44px}
}

.fx .nw{white-space:nowrap}
.fx .panel-h h2 .icon{color:var(--ink-500)}
.fx-meta{display:flex;flex-wrap:wrap;gap:2px var(--sp-3);margin:0;font-size:var(--fs-caption);color:var(--ink-500)}
.fx-meta span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.fx-meta .fx-nrt{color:var(--ink-700);font-weight:600}
.fx-meta svg{width:13px;height:13px}
.fx-main{display:inline-flex;align-items:center;height:20px;padding:0 6px;border:1px solid var(--stamp-600);border-radius:var(--r-xs);font-size:var(--fs-caption);font-weight:600;color:var(--stamp-700);background:var(--surface);line-height:1}
.fx-main.sm{height:18px;font-size:var(--fs-micro);margin-left:6px;padding:0 5px}
.fx-sum{display:grid;gap:10px;align-content:start;margin-bottom:var(--sp-4)}
.fx-id{display:flex;align-items:baseline;gap:var(--sp-2)}
.fx-id b{font-size:var(--fs-price);font-weight:700}
.fx-id small{font-size:var(--fs-caption);color:var(--ink-500)}
.fx-kv{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin:0;padding:var(--sp-3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fx-kv dt{font-size:var(--fs-caption);color:var(--ink-500)}
.fx-kv dd{margin:2px 0 0;display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}
.fx-kv dd b{font-size:var(--fs-h1);font-weight:700;line-height:1.2;color:var(--ink-900)}
.fx-kv .chg{font-size:var(--fs-table)}
.fx-ohl{display:flex;flex-wrap:wrap;gap:2px var(--sp-3);margin:0;font-size:var(--fs-label);color:var(--ink-700)}
.fx-rule{margin:0;font-size:var(--fs-caption);color:var(--ink-500);line-height:1.5}
.fx-fix{display:flex;gap:var(--sp-2);align-items:flex-start;margin:0 0 var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--surface-sunk);color:var(--ink-700);font-size:var(--fs-label)}
.fx-fix svg{width:15px;height:15px;flex:none;margin-top:3px;color:var(--stamp-600)}.fx-fix b{color:var(--stamp-600)}
.fx-t{width:100%;border-collapse:collapse;font-size:var(--fs-table)}
.fx-t th,.fx-t td{padding:6px var(--sp-3);border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.fx-t thead th{font-size:var(--fs-caption);font-weight:600;color:var(--ink-500);border-bottom-color:var(--line-strong)}
.fx-t th:first-child{text-align:left}
.fx-t tbody th{font-weight:600;color:var(--ink-900)}
.fx-t td{color:var(--ink-700)}.fx-t td.c-settle{font-weight:700;color:var(--ink-900)}
.fx-t tr.main>*{background:var(--stamp-50)}
.fx-t tbody tr:last-child>*{border-bottom:0}
@media (max-width:47.5rem){
  .fx .panel-b{padding:var(--sp-4)}
  .fx-t th,.fx-t td{padding:6px 6px}
  .fx-t .c-close,.fx-t .c-volume{display:none}
}

.mo .panel-h h2 .icon{color:var(--ink-500)}
.mo-link{display:inline-flex;align-items:center;min-height:24px;gap:4px;font-size:var(--fs-label);font-weight:500;max-width:100%;overflow-wrap:anywhere}
.mo-link svg{width:14px;height:14px;flex:none}
@media (max-width:47.5rem){.mo-link{min-height:44px}}
.mo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--sp-3);margin:0 0 var(--sp-4);font-size:var(--fs-caption);color:var(--ink-500)}
.mo-meta b{color:var(--ink-900);font-weight:600}
.mo-t{width:100%;border-collapse:collapse;font-size:var(--fs-table)}
.mo-t th,.mo-t td{padding:7px var(--sp-2);border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;vertical-align:baseline}
.mo-t th:first-child{padding-left:0}.mo-t td:last-child,.mo-t th:last-child{padding-right:0}
.mo-t thead th{font-size:var(--fs-caption);font-weight:600;color:var(--ink-500);border-bottom-color:var(--line-strong)}
.mo-t th:first-child{text-align:left}
.mo-t tbody th{font-weight:500;color:var(--ink-900);white-space:normal}
.mo-t tbody th small{display:block;font-size:var(--fs-caption);font-weight:400;color:var(--ink-500);line-height:1.4}
.mo-t td.v b{font-size:var(--fs-body);font-weight:700;color:var(--ink-900)}
.mo-t td.v b.na{color:var(--ink-500);font-weight:500}
.mo-t td.u{font-size:var(--fs-caption);color:var(--ink-500);text-align:left;padding-left:2px}
.mo-t thead th.u{text-align:left;padding-left:2px}
.mo-t tbody tr:last-child>*{border-bottom:0}
.mo-yoy{color:var(--ink-700);font-size:var(--fs-label)}.mo-yoy.na{color:var(--ink-500)}
.mo-src{margin:var(--sp-3) 0 0;font-size:var(--fs-caption);color:var(--ink-500)}
.mo-pad{margin:0;padding:0 var(--sp-5) var(--sp-4)}
.mo-jin{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--sp-4);margin:0;padding:var(--sp-2) var(--sp-3);background:var(--surface-sunk);border-radius:var(--r-sm);font-size:var(--fs-label);color:var(--ink-700)}
.mo-jin-h{font-weight:600;color:var(--ink-900)}.mo-jin b{font-weight:700;color:var(--ink-900)}
.mo-jin small{flex-basis:100%;font-size:var(--fs-caption);color:var(--ink-500);line-height:1.5}
.mo-pend,.mo-fix{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--sp-3);margin:0 0 var(--sp-3);font-size:var(--fs-label);color:var(--warn-ink)}
.mo-fix{color:var(--ink-700)}
.mo-a-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
.mo-a-col{display:grid;gap:var(--sp-4);align-content:start}
.mo-a-g h3{margin:0 0 var(--sp-1);font-size:var(--fs-label);font-weight:600;color:var(--ink-700)}
@media (max-width:47.5rem){
  .mo .panel-b{padding:var(--sp-4)}
  .mo-t th,.mo-t td{padding:7px 5px}
  .mo-t .y{display:none}
  .mo-pad{padding:0 var(--sp-4) var(--sp-4)}
}
