@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
/* Homepage design system: all staging pages share these tokens and components. */

:root {
  --bg:#040b11; --bg2:#06131c; --panel:#071721; --panel2:#091d28;
  --space:#040b11; --space-soft:#06131c; --space-card:#071721; --ink:#03090f;
  --text:#eaf2f5; --paper:#eaf2f5; --paper-mid:#7f99a7; --paper-soft:#587482;
  --muted:#7f99a7; --dim:#587482; --rule:#153343; --rule-soft:#235266; --rule2:#235266;
  --cyan:#46d3d6; --gold:#46d3d6; --gold-deep:#235266; --star:#eaf2f5;
  --steel:#7f99a7; --teal:#7ee7e4; --amber:#e8b54f;
  --serif:'Source Serif 4',Georgia,serif; --sans:'Source Sans 3',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --panel3:#0b2230; --cyan2:#7ee7e4; --blue:#4ebbe8; --orange:#e88045;
  --red:#eb5b55; --green:#47c9a6; --purple:#9a7be0;
  --accent:var(--cyan); --accent-deep:var(--rule2); --accent-soft:var(--cyan2);
  --paper-mid:#a2b7c1; --paper-soft:#91a9b5;
}
body.ichi-page, body.ichi-home {
  display:block; max-width:none; width:100%; margin:0; padding:0; min-height:100vh;
  background:radial-gradient(circle at 72% -10%,rgba(70,211,214,.12),transparent 30%),linear-gradient(180deg,#03090f,#05111a 45%,#040b11);
  color:var(--text); font-family:var(--sans); font-size:16px; line-height:1.5;
}
.ichi-shell { position:relative; display:grid; grid-template-columns:224px minmax(0,1fr); min-height:100vh; }
.ichi-sidebar { position:sticky; top:0; height:100vh; overflow-y:auto; padding:18px 12px; border-right:1px solid var(--rule); background:rgba(3,12,18,.97); }
.ichi-sidebar .ichi-brand { display:flex; align-items:center; gap:10px; padding:0 0 20px; border:0; border-bottom:1px solid var(--rule); text-decoration:none; color:var(--text); }
.ichi-brand img { display:block; flex:none; width:64px; height:64px; border-radius:50%; object-fit:contain; background:white; }
.ichi-brand strong { display:block; font:600 21px/1.2 var(--serif); letter-spacing:.03em; }
.ichi-brand small { display:block; margin-top:5px; font:500 8px/1.7 var(--mono); letter-spacing:.08em; color:var(--muted); }
.ichi-sidebar .ichi-brand{min-width:0;gap:10px}
.ichi-sidebar .ichi-brand img{width:59.4px;height:59.4px}
.ichi-wordmark{display:block;flex:1 1 142px;width:142px;max-width:142px;min-width:0;height:auto;overflow:visible}
.ichi-wordmark-name{font:600 54px var(--serif);fill:var(--text)}
.ichi-wordmark-subtitle{font:500 12px var(--sans);fill:var(--text)}
.ichi-nav { display:grid; gap:3px; margin-top:14px; }
.ichi-nav a { display:flex; align-items:center; gap:10px; padding:8px 9px; border:0; border-left:2px solid transparent; color:#91a7b2; text-decoration:none; font:500 13px/1.3 var(--sans); }
.ichi-nav a:hover, .ichi-nav a[aria-current] { color:var(--text); background:linear-gradient(90deg,rgba(38,92,110,.2),rgba(38,92,110,.04)); border-left-color:var(--cyan); }
.ichi-nav-icon { flex:none; width:16px; text-align:center; color:var(--cyan); font:12px var(--mono); }
.ichi-workspace { min-width:0; }
.ichi-workspace .ichi-topbar { position:sticky; top:0; z-index:30; height:58px; display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:0 20px; border-bottom:1px solid var(--rule); background:rgba(4,12,18,.94); backdrop-filter:blur(16px); }
.ichi-global-search { display:flex; gap:6px; margin:0; }
.ichi-global-search input, .ichi-topbar .search { width:min(360px,34vw); height:34px; padding:0 12px; border:1px solid var(--rule2); border-radius:0; background:#06141d; color:var(--text); font:14px var(--sans); }
.ichi-global-search button { padding:0 12px; border:1px solid var(--rule2); background:var(--panel); color:var(--cyan); font:11px var(--mono); cursor:pointer; }
.ichi-clock, .ichi-data-label { font:9px var(--mono); letter-spacing:.08em; color:var(--muted); white-space:nowrap; }
.ichi-page-content { max-width:1580px; margin:0 auto; padding:20px; }
.ichi-page-content > main, .ichi-page-content > .wrap { max-width:none!important; width:100%; margin:0!important; padding:0!important; }
.ichi-page-content .hero { max-width:none; padding:0 0 20px; margin:0; background:transparent; }
.ichi-page-content h1 { font:600 clamp(28px,3vw,40px)/1.15 var(--serif); letter-spacing:-.01em; color:var(--text); margin-bottom:12px; }
.ichi-page-content h1 em { font-style:normal; color:var(--cyan); }
.ichi-page-content h2 { font:600 16px/1.35 var(--sans); letter-spacing:.05em; text-transform:uppercase; color:var(--text); margin:24px 0 10px; }
.ichi-page-content .subtitle { font:400 15px/1.6 var(--sans); color:var(--muted); }
.ichi-page-content .plate-tag, .ichi-page-content .eyebrow { font:500 10px/1.6 var(--mono); color:var(--muted); letter-spacing:.12em; }
.ichi-page-content :is(.card,.panel,.box,.inc,.sm-card,.tr-card,.tr-panel,.formula,.summary-card,.vuln-card,.eco-card,form.search) { border:1px solid var(--rule); border-radius:0; background:var(--panel); box-shadow:none; }
.ichi-page-content :is(.summary,.controls,.inv-section,.filters,.toolbar,.section) { max-width:none; }
.ichi-page-content input, .ichi-page-content select, .ichi-page-content button { font-family:var(--sans); border-radius:0; }
.ichi-page-content input:not([type=checkbox]):not([type=radio]), .ichi-page-content select { background:var(--bg2); color:var(--text); border-color:var(--rule2); }
.ichi-page-content table { border-color:var(--rule); }
.ichi-page-content th { color:var(--muted); font-family:var(--mono); font-size:10px; }
.ichi-page-content td { border-color:var(--rule); }
.ichi-page-content footer { margin-top:28px; padding:18px 0; border-top:1px solid var(--rule); background:transparent; color:var(--muted); font:10px/1.6 var(--mono); }
.ichi-page-content > .bg, .ichi-page-content > .ornament { display:none; }
.ichi-skip { position:fixed; top:-80px; left:12px; z-index:100; padding:12px; background:var(--panel); color:var(--text); }
.ichi-skip:focus { top:12px; }
.ichi-shell :focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
@media(max-width:1100px) {
  .ichi-shell { grid-template-columns:194px minmax(0,1fr); }
  .ichi-brand img { width:48px; height:48px; }
  .ichi-sidebar .ichi-brand img{width:48.4px;height:48.4px}
  .ichi-brand strong { font-size:19px; }
  .ichi-page-content { padding:20px; }
}
@media(max-width:760px) {
  .ichi-shell { display:block; }
  .ichi-sidebar { position:relative; height:auto; padding:12px; border-right:0; border-bottom:1px solid var(--rule); }
  .ichi-sidebar .ichi-brand { padding-bottom:10px; }
  .ichi-nav { display:flex; overflow-x:auto; gap:4px; padding-bottom:4px; margin-top:10px; }
  .ichi-nav a { flex:none; border-left:0; border-bottom:2px solid transparent; }
  .ichi-nav a[aria-current] { border-bottom-color:var(--cyan); }
  .ichi-workspace .ichi-topbar { position:relative; padding:10px 12px; gap:10px; height:auto; min-height:58px; flex-wrap:wrap; justify-content:space-between; }
  .ichi-global-search { flex:1; }
  .ichi-global-search input, .ichi-topbar .search { display:block; width:100%; min-width:0; }
  .ichi-topbar .search { flex:1; }
  .ichi-data-label, .ichi-topbar .topmeta { display:none; }
  .ichi-page-content { padding:16px; }
  .ichi-page-content table { display:block; overflow-x:auto; max-width:100%; }
}


/* Editorial content and evidence tables, shared with the overview. */
html{background:var(--bg);color-scheme:dark}
.ichi-shell{isolation:isolate}
.ichi-workspace{overflow-wrap:break-word}
.ichi-page-content{min-width:0}
.ichi-page-content :is(p,li,dd){font-family:var(--sans);font-size:15px;line-height:1.55;letter-spacing:normal;text-transform:none}
.ichi-page-content p{margin-bottom:10px}
.ichi-page-content h3{font-family:var(--sans);font-size:17px;line-height:1.35;font-weight:600}
.ichi-page-content :is(.subtitle,.rs-sub,.rs-note,.rs-prov,.caution,.notes,.note,.src-desc,.limit-item,.tr-note,.ts-gap,.tr-empty,.dd-sub,.dd-p,.dd-entrytxt){font:400 15px/1.55 var(--sans);letter-spacing:normal;text-transform:none;color:var(--paper-mid)}
.ichi-page-content :is(.subtitle,.rs-sub){max-width:85ch;font-style:normal}
.ichi-page-content :is(.plate-tag,.eyebrow){font:600 10px/1.5 var(--mono);letter-spacing:.12em;color:var(--cyan);margin-bottom:9px}
.ichi-page-content .plate-tag:before{background:var(--cyan)}
.ichi-page-content :is(.summary,.controls,.caution,.rs-section,.inv-section){padding-left:0;padding-right:0}
.ichi-page-content :is(.card,.panel,.box,.inc,.sm-card,.tr-card,.tr-panel,.tr-hero,.formula,.summary-card,.vuln-card,.vc,.eco-card,.outage-card,.ts-sub,.ia-row,form.search){border-radius:0;box-shadow:none;background:var(--panel);border-color:var(--rule2)}
.ichi-page-content :is(.tr-hero,.tr-card,.tr-panel,.ts-sub,.ia-row){padding:16px}
.ichi-page-content :is(.pill,.plate-flag,.badge,.b){border-radius:0}
.ichi-page-content table{font-family:var(--sans);border-collapse:collapse;max-width:100%}
.ichi-page-content :is(td,th){padding:10px 9px;border-bottom-color:var(--rule);line-height:1.5}
.ichi-page-content td{font-family:var(--sans);font-size:14px}
.ichi-page-content th{font:600 11px/1.5 var(--mono);letter-spacing:.04em;color:var(--paper-mid)}
.ichi-page-content :is(.rvr-id,.vc-id,.id,code,pre){font-family:var(--mono)}
.ichi-page-content :is(.sm-lbl,.tr-k,.meta-line,.vc-foot,.when,.ts-meta,.tr-meta,.dd-plbl){font-size:12px;line-height:1.5;letter-spacing:.02em}
.ichi-page-content :is(input:not([type=checkbox]):not([type=radio]),select,button){font-family:var(--sans);font-size:14px;min-height:36px;border-radius:0}
.ichi-page-content :is(.f-btn,.refresh,.presets button){letter-spacing:.02em;font-weight:600}
.ichi-page-content button:not(.on):not(.go):not([aria-pressed=true]){background-color:var(--bg2)}
.ichi-page-content :is(.state,.empty,.loading){font:400 15px/1.5 var(--sans);letter-spacing:normal;text-transform:none}
.ichi-page-content a:hover{color:var(--cyan2)}
.ichi-page-content footer{font:12px/1.5 var(--sans);letter-spacing:normal;text-transform:none;text-align:left}
.ichi-page-content :is(.bg,.bg-grid,.bg-vignette,.ornament){display:none}
.ichi-live{white-space:nowrap;border:1px solid #176454;background:#08261f;color:#66ddc4;padding:5px 9px;font:600 10px/1.3 var(--mono);letter-spacing:.08em}
.ichi-global-search{width:min(520px,45vw);position:relative}
.ichi-global-search input{width:100%;font:16px var(--sans);height:38px;padding-right:64px}
.ichi-global-search button{position:absolute;right:1px;top:1px;height:36px;border:0;background:transparent;font:600 11px var(--sans);color:var(--cyan)}
.ichi-home .ichi-workspace .ichi-topbar,.ichi-workspace .ichi-topbar{gap:14px}
.ichi-search .ichi-page-content>main{max-width:1040px!important;margin:0 auto!important}
.ichi-search .ichi-page-content .summary{display:flex;padding:0 0 14px;margin:0;gap:18px}
.ichi-search .ichi-page-content .result{padding:18px 0}
.ichi-search .ichi-page-content .group-head h2{margin:0;font:600 15px var(--sans);letter-spacing:.05em}
.ichi-search .ichi-page-content .result .meta{font:13px/1.5 var(--sans)}
.ichi-search .ichi-page-content .result summary{font:14px/1.5 var(--sans)}
@media(max-width:760px){
 .ichi-page-content{padding:14px}.ichi-page-content h1{font-size:28px;line-height:1.15}
 .ichi-page-content :is(.summary,.controls,.caution,.rs-section,.inv-section){padding-left:0;padding-right:0}
 .ichi-page-content :is(input:not([type=checkbox]):not([type=radio]),select){font-size:16px}
 .ichi-global-search{order:2;flex:1 1 100%;width:100%}.ichi-global-search input{width:100%;height:40px}.ichi-global-search button{height:38px}
 .ichi-clock{display:none}.ichi-live{margin-left:auto}
 .ichi-search .ichi-page-content .summary{display:block}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ichi-shell *,.ichi-shell *:before,.ichi-shell *:after{animation:none!important;transition:none!important}}

.ichi-page-content svg text{font-family:var(--mono)}

/* Consistent readable controls and grouped navigation. */
:root{--muted:#a2b7c1;--dim:#91a9b5;--steel:#a2b7c1}
.ichi-shell,.ichi-shell *{box-sizing:border-box}
.ichi-nav a{font-size:15px;min-height:40px;color:#a8bdc7}
.ichi-nav-group{border-top:1px solid var(--rule);margin-top:8px;padding-top:6px}
.ichi-nav-group summary{cursor:pointer;font:600 14px/1.4 var(--sans);color:#b8cbd4;padding:10px 8px;min-height:40px}
.ichi-nav-group a{padding-left:20px;font-size:14px}
.ichi-nav-utility{border-top:1px solid var(--rule);margin-top:12px;padding-top:8px}.ichi-nav-utility a{font-size:14px}
.ichi-menu{display:none}.ichi-clock{font-size:11px}.ichi-brand small{font-size:9px}.ichi-live{font-size:11px;letter-spacing:.03em}
.ichi-page-content :is(.pill,.badge,.b,.meta,.acc,.pl,.id){font-size:12px;letter-spacing:.02em}
.ichi-page-content :is(label,details summary){font:600 14px/1.5 var(--sans);letter-spacing:normal;text-transform:none}
.ichi-page-content details summary{cursor:pointer;padding:7px 0;min-height:36px}
.advanced-filters{margin-top:12px;border-top:1px solid var(--rule);padding-top:6px}.advanced-filters>.row{padding-top:8px}
.ichi-page-content .inc{padding:18px}.ichi-page-content .inc .hl{font-size:16px;line-height:1.5}
.ichi-search .summary p{max-width:68ch}.ichi-search .history-links a{font:14px var(--sans)}.ichi-search .status{color:#a9c0cb;white-space:normal}.ichi-search .count{color:#a9c0cb}.ichi-search .group-head{padding-top:16px}
.ichi-search .result summary{color:#8cdae0}.ichi-page-content :is(.notes,.note,.meta,.when,.empty,.loading){color:#a7bcc7}
.ichi-shell :is(a,button,input,select,summary):focus-visible{outline:2px solid #7ee7e4;outline-offset:3px}
.ichi-page-content :is(pre,code){overflow-wrap:anywhere}.ichi-page-content pre{overflow-x:auto;max-width:100%}
@media(max-width:760px){
 .ichi-sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;padding:10px 14px;z-index:40;background:#040e15;overflow:visible;height:auto}
 .ichi-sidebar .ichi-brand{border:0;padding:0;grid-column:1/-1;grid-row:1;margin-bottom:8px}.ichi-sidebar .ichi-brand img{width:46.2px;height:46.2px}.ichi-brand strong{font-size:20px}.ichi-brand small{display:none}
 .ichi-sidebar :is(.live,.ichi-live){grid-column:1;grid-row:2;justify-self:start;margin:0;min-width:0;max-width:100%;white-space:normal;font-size:11px;letter-spacing:.03em}
 .ichi-sidebar .ichi-menu{display:block;position:static;inset:auto;transform:none;pointer-events:auto;height:auto;min-height:44px;min-width:64px;padding:8px 14px;border:1px solid var(--rule2);background:var(--panel);color:var(--text);font:600 16px var(--sans);cursor:pointer;touch-action:manipulation;justify-self:end;grid-column:2;grid-row:2}
 /* In-flow disclosure cannot be clipped by the desktop sidebar scrollport. */
 .ichi-sidebar .ichi-nav{display:none;position:static;inset:auto;grid-column:1/-1;width:100%;min-width:0;margin:10px 0 0;padding:8px 0 12px;background:#040e15;border-top:1px solid var(--rule2);border-bottom:0;box-shadow:none;max-height:65vh;max-height:65dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
 .ichi-sidebar.menu-open .ichi-nav{display:grid}.ichi-nav a{border-left:2px solid transparent;border-bottom:0;min-height:44px}.ichi-nav a[aria-current]{border-left-color:var(--cyan);border-bottom:0}.ichi-nav-group summary{min-height:44px}
 .ichi-page-content :is(input:not([type=checkbox]):not([type=radio]),select,button){min-height:44px;font-size:16px;max-width:100%}
 .ichi-page-content summary{min-height:44px!important}.ichi-page-content .inc{padding:14px}.ichi-page-content .row>label{min-width:0}
 .ichi-global-search button{position:absolute!important;top:1px;min-height:38px;height:38px;font-size:14px}
 .ichi-page-content table{display:block;overflow-x:auto}.ichi-page-content .inc .badges{gap:7px}
 .ichi-global-search,.ichi-topbar .search-form{min-width:0;max-width:100%}
 .ichi-global-search input,.ichi-topbar .search{min-width:0;max-width:100%;font-size:16px}
 .ichi-page-content :is(.filters,.toolbar,.controls){flex-wrap:wrap;min-width:0;gap:10px}
 .ichi-page-content :is(.filters,.toolbar,.controls) input{min-width:0;max-width:100%}
 .ichi-page-content :is(.rvr-tablewrap,.table-wrap,.tablewrap){width:100%;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .ichi-page-content .rvr-tablewrap table{display:table}
}
.ichi-topbar-meta{display:contents}
@media(min-width:761px){
 .ichi-workspace .ichi-topbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,45%) minmax(0,1fr);align-items:center}
 .ichi-topbar > .search-form,.ichi-topbar > .ichi-global-search{grid-column:2;grid-row:1;width:100%;min-width:0;margin:0}
 .ichi-topbar-meta{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 12px;min-width:0}
 .ichi-topbar-meta .live,.ichi-topbar-meta .ichi-live{white-space:nowrap}
}

/* r87.8 — a result / card box is ONE link to its original source (ichi-source.js). Block boxes: the primary
   link's ::after covers the box; every other control in it sits above that layer, so buttons, disclosure toggles
   and internal links keep their own behaviour and nothing nests an anchor. Table rows (tr.ichi-row) use the
   delegated click in site-shell.js instead, because a pseudo-element cannot be positioned against a row in every
   engine. A box without a verified source URL carries neither class and is not clickable. */
.ichi-box{position:relative;cursor:pointer}
.ichi-box .ichi-box-a::after{content:"";position:absolute;inset:0;z-index:1}
/* a <tr> cannot be a containing block, so a row link's overlay would cover the whole table (the last row would
   catch every click): rows use the delegated click in site-shell.js instead */
tr.ichi-row .ichi-box-a::after{content:none}
.ichi-box :is(a,button,summary,details,select,input,label,textarea,[tabindex]):not(.ichi-box-a),.ichi-box .ichi-raise{position:relative;z-index:2}
.ichi-box-a:focus-visible{outline:none}
.ichi-box:has(.ichi-box-a:focus-visible),tr.ichi-row:has(.ichi-box-a:focus-visible){outline:2px solid var(--cyan,#3cbccb);outline-offset:2px}
.ichi-box:has(.ichi-box-a:hover){border-color:#4b7f93}
tr.ichi-row{cursor:pointer}tr.ichi-row:hover{background:rgba(67,155,178,.075)}
.ichi-tog{min-height:32px;min-width:32px;padding:4px 8px;border:1px solid var(--rule2,#1c4252);background:transparent;color:var(--cyan,#3cbccb);font:600 11px/1 var(--mono,"IBM Plex Mono",monospace);letter-spacing:.04em;cursor:pointer;touch-action:manipulation}
.ichi-tog[aria-expanded=true]{background:rgba(60,188,203,.10)}
.ichi-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
