
:root{
  --bg:#F3F5F8; --surface:#FFFFFF; --surface-2:#EBEFF3;
  --ink:#141C2B; --ink-dim:#5C6B80; --line:#DAE1E8;
  --accent:#1C4E9C; --accent-bg:#E7EFFA;
  --live:#C81E2C;
  --pulse:#F2994A;
  --ocean:#DCE6F0; --land:#E7E0D1; --land-line:#CEC6AF;
  --t-person:#7A4FB0; --t-person-bg:#F1E9FB;
  --t-country:#1C6FBF; --t-country-bg:#E5F0FB;
  --t-org:#12805F; --t-org-bg:#E1F5EE;
  --t-event:#B5750E; --t-event-bg:#FBF0DC;
  --t-region:#55606F; --t-region-bg:#EBEDF1;
  --shadow: 0 1px 2px rgba(20,28,43,0.05), 0 8px 24px -12px rgba(20,28,43,0.18);
}
*{box-sizing:border-box}
body{background:var(--bg); color:var(--ink); font-family:'IBM Plex Sans', system-ui, sans-serif; padding:0 20px; padding-block:0 60px;}
.wrap{max-width:1080px; margin:0 auto;}

.masthead{border-bottom:3px solid var(--ink); padding:22px 0 16px; margin-bottom:22px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:10px;}
.masthead .name{font-family:'Archivo', sans-serif; font-weight:800; font-size:28px; letter-spacing:-0.01em; color:var(--ink); text-decoration:none;}
.masthead .name:hover{opacity:0.8;}
.masthead .name span{color:var(--accent);}
.masthead .tagline{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim); text-transform:uppercase; letter-spacing:.08em;}
.live-badge{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--live); display:flex; align-items:center; gap:6px; text-transform:uppercase; letter-spacing:.06em;}
.live-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--live); animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}

h1{font-family:'Archivo', sans-serif; font-weight:800; font-size:clamp(24px,3.6vw,34px); line-height:1.15; text-wrap:balance; margin:0 0 12px; color:var(--ink);}
.lede{font-size:15px; line-height:1.6; color:var(--ink-dim); max-width:70ch; margin:0 0 22px;}
.meta-row{display:flex; gap:18px; flex-wrap:wrap; font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--ink-dim); margin-bottom:22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-block:10px;}
.meta-row b{color:var(--ink);}

.tabs{display:flex; gap:2px; margin-bottom:18px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
.tabs::-webkit-scrollbar{display:none;}
.tab{font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.06em; background:var(--surface-2); border:1px solid var(--line); color:var(--ink-dim); padding:9px 18px; cursor:pointer; flex:none;}
@media (max-width:480px){ .tab{padding:8px 12px; font-size:11px;} }
.tab:first-child{border-radius:6px 0 0 6px;}
.tab:last-child{border-radius:0 6px 6px 0;}
.tab[aria-selected="true"]{background:var(--ink); border-color:var(--ink); color:#fff;}

.search-wrap{position:relative; margin-bottom:16px; max-width:420px;}
#search-input{width:100%; font-family:'IBM Plex Sans',sans-serif; font-size:14px; padding:10px 14px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--ink);}
#search-input:focus{outline:none; border-color:var(--accent);}
#search-results{position:absolute; top:calc(100% + 4px); left:0; right:0; background:var(--surface); border:1px solid var(--line); border-radius:7px; box-shadow:var(--shadow); z-index:5; max-height:320px; overflow-y:auto; display:none;}
#search-results.open{display:block;}
.search-item{padding:10px 14px; font-size:13.5px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); color:inherit; text-decoration:none;}
.search-item:first-child{border-top:none;}
.search-item:hover{background:var(--accent-bg);}
.search-item .stype{font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; color:var(--ink-dim);}
.search-empty{padding:12px 14px; font-size:13px; color:var(--ink-dim);}

.legend{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px;}
.chip{font-family:'IBM Plex Mono',monospace; font-size:10.5px; padding:4px 10px; border-radius:3px; display:inline-flex; align-items:center; gap:6px; white-space:nowrap;}
.chip.person{background:var(--t-person-bg); color:var(--t-person);}
.chip.country{background:var(--t-country-bg); color:var(--t-country);}
.chip.org{background:var(--t-org-bg); color:var(--t-org);}
.chip.event{background:var(--t-event-bg); color:var(--t-event);}
.chip.region{background:var(--t-region-bg); color:var(--t-region);}

.layout{display:grid; grid-template-columns:1fr 320px; gap:18px; align-items:start;}
@media (max-width:820px){ .layout{grid-template-columns:1fr;} }

.view{display:none;}
.view.active{display:block;}

.map-wrap{background:linear-gradient(180deg,#F7F9FB,#EEF1F5); border:1px solid var(--line); border-radius:12px; padding:12px; box-shadow:var(--shadow); overflow:hidden; position:relative;}
.map-wrap svg{width:100%; height:auto; display:block; border-radius:8px; cursor:grab;}
.map-wrap svg:active{cursor:grabbing;}

path.land{fill:var(--land); stroke:var(--land-line); stroke-width:0.4;}
path.hl-country{stroke:rgba(20,28,43,0.12); stroke-width:0.35; cursor:pointer; transition:filter .15s, stroke .15s;}
path.hl-country:hover{filter:brightness(1.1); stroke:rgba(20,28,43,0.35);}
path.hl-country.no-data{fill:var(--land); stroke:var(--land-line); stroke-width:0.4;}
path.hl-country.no-data:hover{filter:brightness(0.97); stroke:var(--ink-dim);}
.graticule line{stroke:#FFFFFF; stroke-opacity:0.35; stroke-width:0.6;}
.graticule .eq{stroke-opacity:0.5;}
.map-pin{cursor:pointer;}
.map-pin circle{stroke:var(--surface); stroke-width:1.6;}
.map-pin text{font-family:'IBM Plex Mono',monospace; font-size:9.5px; fill:var(--ink); font-weight:500;}

.map-controls{position:absolute; top:22px; right:22px; display:flex; flex-direction:column; gap:4px; z-index:2;}
.map-btn{width:28px; height:28px; background:var(--surface); border:1px solid var(--line); color:var(--ink); font-family:'IBM Plex Mono',monospace; font-size:14px; border-radius:5px; cursor:pointer; display:flex; align-items:center; justify-content:center; line-height:1; box-shadow:var(--shadow);}
.map-btn:hover{border-color:var(--accent); color:var(--accent);}
.alliance-flyout{position:absolute; top:22px; right:60px; background:var(--surface); border:1px solid var(--line); border-radius:7px; box-shadow:var(--shadow); padding:9px; z-index:3; width:200px; font-family:'IBM Plex Mono',monospace;}
.af-title{font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-dim); margin:2px 6px 7px;}
.af-item{display:flex; align-items:center; gap:8px; padding:6px 6px; border-radius:5px; cursor:pointer; font-size:12px; color:var(--ink);}
.af-item:hover{background:var(--surface-2);}
.af-item.active{background:var(--accent-bg); color:var(--accent);}
.af-dot{width:10px;height:10px;border-radius:50%; flex:none; border:1px solid rgba(0,0,0,.15);}
.af-check{margin-left:auto; opacity:0; font-size:11px;}
.af-item.active .af-check{opacity:1;}

.panel{background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:18px; box-shadow:var(--shadow); position:sticky; top:16px; min-height:200px;}
.panel-empty{color:var(--ink-dim); font-size:13.5px; line-height:1.6;}
.panel-type{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em;}
.panel-name{display:block; font-family:'Archivo',sans-serif; font-size:21px; font-weight:800; margin:4px 0 14px; color:var(--ink); text-decoration:none;}
.panel-section{font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; color:var(--accent); letter-spacing:.08em; margin:16px 0 8px;}
.edge-item{font-size:13px; line-height:1.5; padding:9px 0; border-top:1px solid var(--line); cursor:pointer;}
.edge-item a{color:var(--accent); text-decoration:none; font-family:'IBM Plex Mono',monospace; font-size:11px;}
.edge-item a:hover{text-decoration:underline;}
.edge-item .rel{color:var(--ink-dim);}
.edge-item .who{font-weight:600; color:var(--ink);}
.edge-date{font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-dim); display:block; margin-top:3px; text-decoration:none;}
.edge-date:hover{text-decoration:underline;}
.archive-hint{font-size:12px; color:var(--ink-dim); margin-top:14px; padding-top:10px; border-top:1px dashed var(--line);}
.archive-hint b{color:var(--accent); cursor:pointer;}
.panel-profile-link{font-size:12.5px; color:var(--accent); cursor:pointer; margin-top:16px; padding-top:12px; border-top:1px solid var(--line); font-weight:600;}
.panel-profile-link:hover{text-decoration:underline;}
.cp-show-more{display:block; width:100%; text-align:left; background:none; border:none; font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--accent); cursor:pointer; margin-top:10px; padding:10px 0 0; border-top:1px dashed var(--line); font-weight:600;}
.cp-show-more:hover{text-decoration:underline;}
.mode-toggle{display:flex; gap:0; margin-bottom:14px; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.mode-btn{flex:1; font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; background:var(--surface); border:none; color:var(--ink-dim); padding:7px 4px; cursor:pointer; border-right:1px solid var(--line);}
.mode-btn:last-child{border-right:none;}
.mode-btn.active{background:var(--ink); color:#fff;}
.sys-table{width:100%; border-collapse:collapse; font-size:12.5px;}
.sys-table td{padding:7px 0; border-top:1px solid var(--line); vertical-align:top;}
.sys-table td:first-child{color:var(--ink-dim); font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; width:88px; padding-right:8px;}
.sys-note{font-size:12.5px; line-height:1.5; color:var(--ink); margin:10px 0 0; padding-top:10px; border-top:1px dashed var(--line);}
.sys-src{font-size:11px; color:var(--ink-dim); margin-top:12px; font-style:italic;}
.entity-link{cursor:pointer; text-decoration:none;}
.entity-link:hover{text-decoration:underline;}
.panel-name.clickable{cursor:pointer; text-decoration:underline; text-decoration-color:var(--line); text-decoration-thickness:2px; text-underline-offset:4px;}
.panel-name.clickable:hover{color:var(--accent);}

.back-link{font-family:'IBM Plex Mono',monospace; font-size:12px; background:none; border:none; color:var(--accent); cursor:pointer; padding:0; margin-bottom:20px; display:inline-flex; align-items:center; gap:6px;}
.back-link:hover{text-decoration:underline;}
.country-header{border-bottom:3px solid var(--ink); padding-bottom:16px; margin-bottom:22px;}
.country-header h2{font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(26px,4vw,36px); margin:0 0 8px;}
.country-header .snapshot{font-size:15px; line-height:1.6; color:var(--ink-dim); max-width:70ch;}
.cp-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:8px;}
@media (max-width:820px){ .cp-grid{grid-template-columns:1fr;} }
.cp-section{margin-bottom:30px;}
.cp-section h3{font-family:'IBM Plex Mono',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); margin:0 0 14px; border-bottom:1px solid var(--line); padding-bottom:8px;}
.cp-facts{width:100%; border-collapse:collapse; font-size:13.5px;}
.cp-facts td{padding:8px 0; border-top:1px solid var(--line); vertical-align:top;}
.cp-facts td:first-child{color:var(--ink-dim); font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; width:130px;}
.seatbar{display:flex; width:100%; height:26px; border-radius:5px; overflow:hidden; margin-bottom:12px; border:1px solid var(--line);}
.seatbar span{height:100%;}
.seat-legend{display:flex; flex-wrap:wrap; gap:10px 16px; font-size:12px;}
.seat-legend-item{display:flex; align-items:center; gap:6px;}
.seat-legend-item .sw{width:11px;height:11px;border-radius:3px;display:inline-block;}
.seat-majority{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim); margin-bottom:10px;}
.cp-parties{margin:0; padding-left:18px; font-size:13.5px; line-height:1.7;}
.cp-figures{width:100%; border-collapse:collapse; font-size:13px;}
.cp-figures td{padding:6px 0; border-top:1px solid var(--line);}
.cp-figures td:first-child{color:var(--ink-dim); width:60%;}
.cp-figures td:last-child{font-weight:600; text-align:right;}
.cp-how{font-size:14.5px; line-height:1.7; max-width:75ch;}
.cp-timeline{list-style:none; margin:0; padding:0;}
.cp-timeline li{display:flex; gap:14px; padding:9px 0; border-top:1px solid var(--line); font-size:13.5px;}
.cp-timeline .tdate{font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--ink-dim); min-width:90px;}
.cp-timeline .flag{color:var(--live);}
.cp-news-item{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:16px 18px; margin-bottom:12px; box-shadow:var(--shadow); transition:border-color .15s; cursor:pointer;}
.cp-news-item:hover{border-color:var(--accent);}
.cp-news-item .who-line{font-size:12.5px; margin-bottom:6px;}
.cp-news-detail{margin:0 0 8px; font-size:14px; line-height:1.6; color:inherit;}
.rel{color:inherit;}
.event-meta{display:flex; gap:10px; flex-wrap:wrap; margin:10px 0 0;}
.event-meta span{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; background:var(--surface-2); border:1px solid var(--line); border-radius:20px; padding:4px 11px; color:var(--ink-dim);}
.event-detail{font-size:15.5px; line-height:1.65; margin:0 0 8px; max-width:70ch;}
.event-source{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--accent); text-decoration:none;}
.event-source:hover{text-decoration:underline;}
.cp-news-item .source-link{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--accent); text-decoration:none;}
.cp-related{display:flex; flex-wrap:wrap; gap:8px;}
.cp-related-link{font-family:'IBM Plex Sans',sans-serif; font-size:12.5px; background:var(--accent-bg); color:var(--accent); border:1px solid var(--accent-bg); border-radius:100px; padding:6px 14px; cursor:pointer; text-decoration:none; display:inline-block;}
.cp-related-link:hover{border-color:var(--accent);}
.cp-empty{color:var(--ink-dim); font-size:13.5px; padding:16px 0;}
.conn-sub{font-size:12.5px; color:var(--ink-dim); margin:-6px 0 12px;}
.conn-list{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:6px;}
.conn-row{display:flex; align-items:center; gap:8px; font-family:'IBM Plex Sans',sans-serif; font-size:13px; background:var(--surface); border:1px solid var(--line); border-radius:100px; padding:6px 8px 6px 14px; cursor:pointer;}
.conn-row:hover{border-color:var(--accent);}
.conn-row.active{border-color:var(--accent); background:var(--accent-bg);}
.conn-name{font-weight:600;}
.conn-count{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim); background:var(--surface-2); border-radius:100px; padding:2px 8px;}
.conn-row.active .conn-count{color:var(--accent); background:var(--surface);}
.conn-detail-title{font-family:'Archivo',sans-serif; font-weight:800; font-size:16px; margin:18px 0 12px; padding-top:16px; border-top:1px dashed var(--line);}
.comment-empty{color:var(--ink-dim); font-size:13.5px; padding:8px 0 18px;}

.person-header{display:flex; gap:18px; align-items:flex-start; border-bottom:3px solid var(--ink); padding-bottom:16px; margin-bottom:14px;}
.person-photo{width:88px; height:88px; border-radius:10px; object-fit:cover; border:1px solid var(--line); flex-shrink:0; background:var(--surface-2);}
.person-header h2{font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(24px,4vw,32px); margin:0 0 6px;}
.person-header .snapshot{font-size:14px; color:var(--ink-dim);}
.person-bio{font-size:14.5px; line-height:1.65; max-width:75ch; margin:0 0 8px;}
.person-wiki-src{font-size:11.5px; color:var(--ink-dim); font-style:italic; margin-bottom:24px;}
.person-wiki-src a{color:var(--accent); font-style:normal;}

.glance-header{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); margin:0 0 10px;}
.glance-header span{color:var(--ink-dim); text-transform:none; letter-spacing:0; font-size:11px;}
.trend-chip-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px;}
.trend-chip{font-family:'IBM Plex Sans',sans-serif; font-size:13px; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:100px; padding:7px 14px; cursor:pointer; box-shadow:var(--shadow);}
.trend-chip:hover{border-color:var(--accent); color:var(--accent);}
.trend-chip span{font-family:'IBM Plex Mono',monospace; color:var(--ink-dim); margin-left:4px;}
.trend-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0 10px;}
@media (max-width:820px){ .trend-grid{grid-template-columns:1fr;} }
.trend-card{background:var(--surface); border:1px solid var(--line); border-radius:9px; padding:16px 18px; box-shadow:var(--shadow); cursor:pointer; transition:border-color .15s;}
.trend-card:hover, .trend-card.active{border-color:var(--accent);}
.trend-card-name{font-family:'Archivo',sans-serif; font-weight:800; font-size:15.5px; color:var(--ink); margin-bottom:6px;}
.trend-card p{font-size:13px; color:var(--ink-dim); line-height:1.5; margin:0 0 10px;}
.trend-card-count{font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--accent);}
.bucket-header{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); margin:22px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--line);}
.bucket-header:first-child{margin-top:0;}
.month-header{cursor:pointer; display:flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink); background:var(--surface-2); border:1px solid var(--line); border-radius:6px; padding:9px 14px; margin:8px 0;}
.month-header:hover{border-color:var(--accent); color:var(--accent);}
.month-caret{font-size:10px; color:var(--ink-dim); flex:none; width:10px;}
.month-count{color:var(--ink-dim); font-weight:400; text-transform:none; letter-spacing:0;}
.month-body{display:flex; flex-direction:column; gap:10px; margin:0 0 4px;}
.month-body[hidden]{display:none;}
.feed-list{display:flex; flex-direction:column; gap:10px;}
.feed-card{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:14px 16px; box-shadow:var(--shadow); display:flex; gap:14px; align-items:baseline; flex-wrap:wrap; transition:border-color .15s; cursor:pointer;}
.feed-card:hover{border-color:var(--accent);}
.feed-card.no-link{cursor:default;}
.feed-card.no-link:hover{border-color:var(--line);}
.feed-date{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim); min-width:104px; text-decoration:none;}
.feed-date:hover{text-decoration:underline;}
.feed-body{flex:1; font-size:13.5px;}
.feed-scope{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; color:var(--ink-dim); letter-spacing:.05em; margin-left:8px;}
.feed-body .source-link{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--accent); text-decoration:none; margin-left:8px;}

.about-page{max-width:70ch;}
.about-page h2{font-family:'Archivo',sans-serif; font-size:22px; font-weight:800; margin:0 0 6px;}
.about-lede{font-size:14.5px; color:var(--ink-dim); line-height:1.6; margin:0 0 26px;}
.about-page h3{font-family:'IBM Plex Mono',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); margin:22px 0 8px; border-bottom:1px solid var(--line); padding-bottom:8px;}
.about-page p{font-size:14px; line-height:1.65; margin:0;}
#view-trends .about-page{max-width:920px;}
.about-page ul{font-size:14px; line-height:1.7; padding-left:18px; margin:6px 0 0;}

@keyframes pulseGlowT1{0%,100%{filter:drop-shadow(0 0 2px var(--pulse)) drop-shadow(0 0 4px var(--pulse));}50%{filter:drop-shadow(0 0 7px var(--pulse)) drop-shadow(0 0 13px var(--pulse));}}
@keyframes pulseGlowT2{0%,100%{filter:drop-shadow(0 0 1px var(--pulse)) drop-shadow(0 0 2px var(--pulse));}50%{filter:drop-shadow(0 0 4px var(--pulse)) drop-shadow(0 0 7px var(--pulse));}}
@keyframes pulseGlowT3{0%,100%{filter:drop-shadow(0 0 1px var(--pulse));}50%{filter:drop-shadow(0 0 2px var(--pulse)) drop-shadow(0 0 3px var(--pulse));}}
path.hl-country.pulse-t1{animation:pulseGlowT1 1.8s ease-in-out infinite; stroke:var(--pulse); stroke-width:1.8;}
path.hl-country.pulse-t2{animation:pulseGlowT2 2.4s ease-in-out infinite; stroke:var(--pulse); stroke-width:1.3;}
path.hl-country.pulse-t3{animation:pulseGlowT3 3s ease-in-out infinite; stroke:var(--pulse); stroke-width:1;}
.map-legend{position:absolute; bottom:14px; left:14px; background:rgba(255,255,255,.94); border:1px solid var(--land-line); border-radius:4px; padding:9px 11px; font-family:'IBM Plex Mono',monospace; font-size:10px; display:flex; flex-direction:column; gap:5px; max-width:230px; z-index:2; line-height:1.3;}
.map-legend .lg-item{display:flex; align-items:center; gap:7px;}
.map-legend .lg-dot{width:9px;height:9px;border-radius:50%; flex:none; border:1px solid rgba(0,0,0,.15);}

.archive-list{display:flex; flex-direction:column; gap:10px;}
.archive-card{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:14px 16px; box-shadow:var(--shadow); display:flex; gap:14px; align-items:baseline; flex-wrap:wrap; transition:border-color .15s; cursor:pointer;}
.archive-card:hover{border-color:var(--accent);}
.archive-date{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim); min-width:78px; text-decoration:none;}
.archive-date:hover{text-decoration:underline;}
.archive-body{flex:1; font-size:13.5px; line-height:1.5;}
.archive-body .source-link{color:var(--accent); font-family:'IBM Plex Mono',monospace; font-size:11px; text-decoration:none; margin-left:8px;}
.archive-empty{color:var(--ink-dim); font-size:13.5px; padding:20px 0;}

.chambers-layout{display:grid; grid-template-columns:220px 1fr; gap:18px;}
@media (max-width:700px){ .chambers-layout{grid-template-columns:1fr;} }
.chamber-list{display:flex; flex-direction:column; gap:6px;}
.chamber-item{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:12px 14px; cursor:pointer; font-size:13.5px; font-weight:600;}
.chamber-item.active{border-color:var(--accent); background:var(--accent-bg); color:var(--accent);}
.chamber-item.disabled{opacity:0.5; cursor:default; font-weight:400;}
.chamber-item .soon{display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:400; color:var(--ink-dim); text-transform:uppercase; margin-top:2px;}
.transcript{background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:22px; box-shadow:var(--shadow);}
.transcript h3{font-family:'Archivo',sans-serif; font-size:19px; font-weight:800; margin:0 0 4px;}
.transcript .sub{font-size:12.5px; color:var(--ink-dim); margin-bottom:18px;}
.statement{border-left:3px solid var(--t-org); padding:4px 0 4px 16px; margin-bottom:18px; cursor:pointer;}
.statement .speaker{font-weight:700; font-size:13.5px;}
.statement .stmt-date{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-dim); margin-left:8px; text-decoration:none;}
.statement .stmt-date:hover{text-decoration:underline;}
.statement p{margin:6px 0 4px; font-size:14px; line-height:1.6;}
.statement a{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--accent); text-decoration:none;}

.note{background:var(--surface-2); border:1px dashed var(--line); border-radius:8px; padding:18px 20px; font-size:13.5px; line-height:1.6; color:var(--ink-dim); margin-top:24px;}
.note b{color:var(--ink);}
.note ul{margin:10px 0 0; padding-left:18px;}
.note li{margin-bottom:4px;}

.comments{margin-top:36px;}
.comments h2{font-family:'Archivo',sans-serif; font-size:19px; font-weight:800; margin:0 0 4px; color:var(--ink);}
.comments .sub{font-size:12.5px; color:var(--ink-dim); margin-bottom:18px;}
.comment-list{display:flex; flex-direction:column; gap:14px; margin-bottom:20px;}
.comments{display:none;}
.comments.active{display:block;}
.comments .sub b{color:var(--ink); font-weight:700;}
.comment{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:14px 16px; box-shadow:var(--shadow);}
.comment-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px;}
.comment-author{font-weight:700; font-size:13.5px; color:var(--ink);}
.comment-time{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim);}
.comment-text{font-size:13.5px; line-height:1.55; color:var(--ink);}
.comment-form{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:16px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:10px;}
.comment-form input, .comment-form textarea{font-family:'IBM Plex Sans',sans-serif; font-size:13.5px; padding:9px 11px; border:1px solid var(--line); border-radius:5px; background:var(--surface-2); color:var(--ink);}
.comment-form textarea{min-height:70px; resize:vertical;}
.comment-form button{align-self:flex-start; font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.05em; background:var(--accent); color:#fff; border:none; padding:9px 18px; border-radius:5px; cursor:pointer; font-weight:600;}
.comment-form button:hover{opacity:0.9;}
.comment-note{font-size:11.5px; color:var(--ink-dim); font-family:'IBM Plex Mono',monospace;}
