:root{color-scheme:dark;--bg:#080b14;--surface:#101522;--raised:#1b2031;--text:#f6f2fa;--muted:#c5bfce;--subtle:#9e9aa9;--accent:#f3a6cb;--border:rgb(232 218 249 / 19%);--strong:rgb(239 215 247 / 38%);--focus:#fff4fc;--font:'Segoe UI','Malgun Gothic',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-underline-offset:4px}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.skip-link{position:absolute;z-index:10;top:-70px;left:16px;padding:10px 16px;background:var(--text);color:var(--bg)}
.skip-link:focus{top:12px}
.page-shell{width:min(100% - 64px,1360px);margin-inline:auto}
.site-header{border-bottom:1px solid var(--border)}
.header-inner{width:min(100% - 64px,1360px);margin:auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:18px;font-weight:700;letter-spacing:-.035em;text-decoration:none;white-space:nowrap}
.brand span:last-child{font-size:15px;font-weight:500;letter-spacing:-.02em}
.brand-slash{color:var(--accent)}
nav{display:flex;gap:clamp(16px,2.8vw,40px);align-items:center}
nav a{font-size:14px;text-decoration:none;color:var(--muted)}
nav a:hover,.site-footer a:hover{color:var(--accent)}
.intro{min-height:620px;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.65fr);gap:8vw;align-items:center;padding-block:78px 88px}
.kicker{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent);margin:0 0 18px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(42px,5.4vw,82px);letter-spacing:-.065em;line-height:1.13;margin-bottom:32px;font-weight:700}
h1 em{font-style:normal;color:var(--accent)}
.intro-lead{font-size:clamp(17px,1.65vw,22px);line-height:1.7;color:var(--muted);max-width:680px;margin-bottom:34px}
.primary-link{display:inline-flex;align-items:center;gap:42px;padding:13px 0;border-bottom:2px solid var(--accent);text-decoration:none;font-weight:650}
.primary-link span{color:var(--accent)}
.intro-aside{align-self:end;margin-bottom:10px;padding:28px 0 0;border-top:1px solid var(--strong)}
.aside-index{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.intro-aside>p:not(.aside-note){font-size:clamp(48px,5vw,76px);line-height:1;margin:24px 0 26px;letter-spacing:-.07em;font-weight:650}
.intro-aside>p span{font-size:17px;letter-spacing:0;color:var(--muted);font-weight:500;margin-left:6px}
.aside-rule{height:1px;background:var(--border)}
.aside-note{margin:26px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.section{padding-block:92px 106px;border-top:1px solid var(--border);scroll-margin-top:24px}
.section-heading{max-width:780px;margin-bottom:40px}
h2{font-size:clamp(34px,3.4vw,52px);line-height:1.24;letter-spacing:-.055em;margin-bottom:14px}
.section-heading>p:last-child{font-size:17px;color:var(--muted);line-height:1.75;margin-bottom:0}
.diagram-frame{max-width:100%;min-width:0;border:1px solid var(--border);background:var(--surface)}
.diagram-scroll{max-width:100%;min-width:0;overflow-x:auto}
.diagram-scroll img{width:100%;min-width:1280px;max-width:none;height:auto}
.diagram-foot{display:flex;justify-content:space-between;gap:16px;margin:14px 0 0;font-size:13px;color:var(--muted)}
.diagram-foot a{color:var(--accent)}
.group-ledger{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:54px;border-top:1px solid var(--border)}
.group-ledger a{min-width:0;display:block;padding:22px 18px 10px 0;text-decoration:none;border-right:1px solid var(--border)}
.group-ledger a:not(:first-child){padding-left:18px}
.group-ledger a:last-child{border-right:0}
.group-ledger strong{display:block;font-size:28px;line-height:1.2;font-weight:600;margin-bottom:8px}
.group-ledger span{font-size:14px;color:var(--muted)}
.group-ledger a:hover strong{color:var(--accent)}
.flow-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.flow-card{display:flex;flex-direction:column;min-height:310px;padding:28px;background:var(--surface);border:1px solid var(--border);text-decoration:none;transition:border-color .15s ease-out}
.flow-card:hover{border-color:var(--strong)}
.flow-card .flow-tag{font-size:12px;color:var(--accent);letter-spacing:.08em;margin-bottom:42px}
.flow-card h3{font-size:23px;letter-spacing:-.035em;line-height:1.35;margin-bottom:14px}
.flow-card p{font-size:14px;line-height:1.72;color:var(--muted);margin-bottom:24px}
.flow-card .flow-action{margin-top:auto;color:var(--accent);font-size:14px}
.inventory-section{background:var(--surface);border-top:1px solid var(--border)}
.controls{display:flex;align-items:end;gap:28px;margin-bottom:18px}
.search-wrap{width:min(100%,370px)}
.search-wrap label,.filter-wrap>span{display:block;font-size:13px;font-weight:650;margin-bottom:10px}
input[type=search]{width:100%;height:48px;padding:0 16px;border:1px solid var(--strong);background:var(--bg);color:var(--text);border-radius:4px}
input[type=search]::placeholder{color:var(--subtle)}
.filter-wrap{min-width:0;flex:1}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-button{min-height:44px;padding:8px 14px;border:1px solid var(--strong);border-radius:4px;background:transparent;color:var(--muted);font-size:13px}
.filter-button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}
.result-count{color:var(--muted);font-size:13px;margin:18px 0}
.inventory-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:start}
.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.project-button{width:100%;min-height:104px;text-align:left;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.project-button:hover,.project-button[aria-current=true]{border-color:var(--accent)}
.project-button[aria-current=true]{background:#211b2c}
.project-button .project-title{font-weight:650;line-height:1.3}
.project-button .project-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}
.empty-results{grid-column:1/-1;padding:30px;border:1px solid var(--border);color:var(--muted)}
.detail-panel{position:sticky;top:24px;min-height:300px;padding:28px;background:var(--bg);border:1px solid var(--strong)}
.detail-panel .detail-id{font-size:12px;letter-spacing:.13em;color:var(--accent);margin-bottom:32px}
.detail-panel h3{font-size:28px;letter-spacing:-.04em;margin-bottom:12px}
.detail-panel .detail-status{display:inline-block;border:1px solid var(--strong);padding:4px 8px;font-size:12px;color:var(--text);margin:8px 0 20px}
.detail-panel p{color:var(--muted)}
.detail-panel dl{display:grid;grid-template-columns:82px 1fr;gap:12px;border-top:1px solid var(--border);padding-top:20px;font-size:14px}
.detail-panel dt{color:var(--subtle)}
.detail-panel dd{margin:0}
.detail-note{margin:20px 0 0;font-size:13px}
.detail-public-link{display:inline-block;margin-top:12px;color:var(--accent);font-weight:650}
.gap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.gap-item{background:var(--bg);padding:28px 34px 32px;min-height:260px}
.gap-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:28px}
.gap-head span{font-size:12px;letter-spacing:.1em;color:var(--accent)}
.gap-head strong{font-size:12px;border:1px solid var(--strong);padding:3px 7px;line-height:1.2}
.gap-item h3{font-size:21px;line-height:1.4;margin-bottom:12px;letter-spacing:-.025em}
.gap-item .gap-state{font-size:12px;color:var(--accent);margin-bottom:12px}
.gap-item p{font-size:14px;line-height:1.72;color:var(--muted);margin-bottom:0}
.boundary-section{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.boundary-copy h2{max-width:630px}
.boundary-details>p:first-child{font-size:17px;color:var(--muted);line-height:1.8}
.surface-list{margin-top:32px;border-top:1px solid var(--border)}
.surface-item{display:grid;grid-template-columns:155px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}
.surface-item span:last-child{color:var(--muted)}
.date-note{font-size:12px;color:var(--subtle);margin-top:24px}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--border);padding-block:30px 42px;font-size:13px;color:var(--muted)}
.site-footer a{text-decoration:none}
@media(max-width:1080px){.intro{grid-template-columns:1.4fr .6fr;gap:5vw}.group-ledger{grid-template-columns:repeat(3,minmax(0,1fr))}.group-ledger a:nth-child(3){border-right:0}.group-ledger a:nth-child(n+4){border-top:1px solid var(--border)}.flow-list{grid-template-columns:1fr}.flow-card{min-height:0}.flow-card .flow-tag{margin-bottom:20px}.inventory-layout{grid-template-columns:1fr}.detail-panel{position:static;min-height:0}}
@media(max-width:700px){.page-shell,.header-inner{width:min(100% - 32px,1360px)}.header-inner{min-height:70px;align-items:flex-start;flex-direction:column;justify-content:center;gap:4px;padding-block:10px}.brand{font-size:16px}.brand span:last-child{font-size:14px}nav{width:100%;gap:20px;overflow-x:auto;white-space:nowrap}nav a{font-size:12px}.intro{display:block;min-height:0;padding-block:74px 64px}.intro-aside{margin-top:74px}.section{padding-block:64px 72px}.section-heading{margin-bottom:30px}.group-ledger{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px}.group-ledger a:nth-child(3){border-right:1px solid var(--border)}.group-ledger a:nth-child(2n){border-right:0}.group-ledger a:nth-child(n+3){border-top:1px solid var(--border)}.controls{display:block}.search-wrap{width:100%;margin-bottom:18px}.project-list{grid-template-columns:1fr}.gap-grid{grid-template-columns:1fr}.gap-item{min-height:0}.boundary-section{grid-template-columns:1fr;gap:24px}.surface-item{grid-template-columns:115px 1fr}.diagram-foot{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
