:root{
  --bg:#020a14;
  --bg2:#041528;
  --panel:rgba(7,24,43,.84);
  --panel2:rgba(8,38,65,.72);
  --line:rgba(120,210,255,.24);
  --line2:rgba(120,210,255,.42);
  --text:#e8f7ff;
  --muted:#a7cbe0;
  --soft:#6fa5c0;
  --cyan:#56d8ff;
  --cyan2:#18aee8;
  --gold:#ffd166;
  --green:#89f7c6;
  --violet:#bda7ff;
  --rose:#ff8aa1;
  --orange:#ffbd80;
  --shadow:0 22px 80px rgba(0,0,0,.42);
  --radius:26px;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 78% 2%,rgba(53,166,255,.30),transparent 30rem),
    radial-gradient(circle at 20% 5%,rgba(50,231,255,.16),transparent 24rem),
    linear-gradient(180deg,#020a14 0%,#041326 42%,#020a14 100%);
  font-family:var(--sans);
  min-height:100vh;
  overflow-x:hidden;
}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
.shell-grid{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(rgba(100,210,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(100,210,255,.06) 1px,transparent 1px),
    radial-gradient(circle at 50% 0%,rgba(46,202,255,.18),transparent 28rem);
  background-size:44px 44px,44px 44px,100% 100%;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.34),rgba(0,0,0,.9));
}
.site-hero{padding:18px clamp(18px,4vw,54px) 28px}
.topline{
  display:flex; justify-content:space-between; align-items:center; gap:18px;
  max-width:1420px; margin:0 auto 48px;
  padding:12px 16px;
  border:1px solid var(--line);
  background:rgba(2,13,25,.58);
  border-radius:999px;
  backdrop-filter:blur(14px);
}
.brand{font-weight:750; letter-spacing:.06em; text-transform:uppercase; font-size:.78rem}
.nav-note{color:var(--muted); font-size:.82rem}
.hero-wrap{
  max-width:1420px; margin:0 auto;
  min-height:440px;
  padding:clamp(28px,7vw,86px);
  border:1px solid var(--line2);
  border-radius:36px;
  background:
    linear-gradient(135deg,rgba(3,20,39,.82),rgba(5,43,72,.58)),
    radial-gradient(circle at 85% 18%,rgba(86,216,255,.25),transparent 20rem);
  box-shadow:var(--shadow);
  position:relative; overflow:hidden;
}
.hero-wrap:before,.hero-wrap:after{
  content:""; position:absolute; border:1px solid rgba(86,216,255,.22); border-radius:50%; pointer-events:none;
}
.hero-wrap:before{width:560px;height:560px;right:-170px;top:-120px}
.hero-wrap:after{width:340px;height:340px;right:100px;bottom:-190px}
.eyebrow{
  margin:0 0 10px;
  color:var(--cyan);
  font-size:.73rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:760;
}
h1,h2,h3,p{position:relative}
h1{font-size:clamp(3.2rem,9vw,8.7rem);line-height:.88;margin:0 0 10px;letter-spacing:-.075em;text-shadow:0 0 36px rgba(86,216,255,.22)}
.hero-wrap h2{font-size:clamp(1.55rem,3vw,3.1rem);line-height:1.02;max-width:860px;margin:0 0 24px;color:#dff8ff}
.lede{font-size:clamp(1rem,1.5vw,1.26rem);line-height:1.68;color:var(--muted);max-width:920px;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;position:relative;z-index:1}
.btn,.mini-btn,.quick-jumps button,.filter-pill{
  border:1px solid var(--line2);
  color:var(--text);
  background:rgba(5,30,53,.72);
  border-radius:999px;
  padding:11px 16px;
  min-height:42px;
  font-weight:760;
  font-size:.9rem;
  cursor:pointer;
  box-shadow:0 10px 32px rgba(0,0,0,.18);
}
.btn.primary{background:linear-gradient(135deg,rgba(86,216,255,.95),rgba(27,119,203,.88));color:#02101c;border-color:rgba(196,244,255,.8)}
.btn.ghost{background:rgba(255,255,255,.04)}
.btn:hover,.mini-btn:hover,.quick-jumps button:hover,.filter-pill:hover{transform:translateY(-1px);filter:brightness(1.12);text-decoration:none}
main{max-width:1540px;margin:0 auto;padding:0 clamp(14px,3vw,44px) 48px}
.research-panel,.controls-card,.map-card,.scholar-card{
  border:1px solid var(--line2);
  border-radius:var(--radius);
  background:linear-gradient(180deg,var(--panel),rgba(5,19,36,.76));
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}
.research-panel{padding:clamp(20px,3vw,34px);margin:24px 0}
.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.panel-title-row h2,.method-grid h2,.map-header h2{margin:0;color:#ecfbff;font-size:clamp(1.35rem,2vw,2.2rem)}
.deep-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.deep-card{
  padding:18px;border:1px solid rgba(86,216,255,.26);border-radius:22px;
  background:rgba(3,19,35,.68);
  min-height:190px;
}
.deep-card strong{display:block;font-size:1.24rem;margin:0 0 8px;color:var(--gold)}
.deep-card p{color:var(--muted);line-height:1.55;margin:0 0 10px}
.deep-card .source-tag,.source-tag{font-family:var(--mono);font-size:.72rem;color:#bceeff}
.panel-caution{color:var(--muted);line-height:1.7;margin:22px 0 0}
.hidden-soft{display:none!important}
.explorer-frame{display:grid;grid-template-columns:minmax(245px,300px) minmax(520px,1fr) minmax(305px,360px);gap:18px;align-items:stretch;margin-top:24px}
.controls-card,.scholar-card{padding:18px;min-height:760px}
.controls-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.slider-label{display:block;font-size:1.7rem;font-weight:820;margin:4px 0 12px;color:#fff;text-shadow:0 0 22px rgba(86,216,255,.32)}
#yearSlider{width:100%;accent-color:var(--cyan)}
.range-caption{display:flex;justify-content:space-between;color:var(--soft);font-size:.78rem;font-family:var(--mono);margin-top:6px}
.quick-jumps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.quick-jumps button{padding:8px 9px;min-height:34px;font-size:.76rem}
.filter-stack{display:flex;flex-direction:column;gap:8px}
.filter-stack.compact .filter-pill{font-size:.78rem}
.filter-pill{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;padding:9px 12px;opacity:.58}
.filter-pill.active{opacity:1;border-color:rgba(86,216,255,.62);background:rgba(11,72,108,.72)}
.filter-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 16px currentColor;border:1px solid rgba(255,255,255,.5)}
.toggle-line{display:flex;align-items:center;gap:9px;color:var(--muted);line-height:1.45;font-size:.92rem;margin:12px 0}
.toggle-line input{accent-color:var(--cyan)}
.map-card{padding:0;overflow:hidden;min-height:760px;position:relative}
.map-header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);align-items:center;background:rgba(2,13,26,.56)}
.map-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:520px}
.legend-chip{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 8px;background:rgba(0,0,0,.18);color:var(--muted);font-size:.72rem}
#riceMap{height:650px;min-height:650px;background:#061323}
.map-footnote{padding:12px 18px;color:var(--soft);font-size:.82rem;line-height:1.45;border-top:1px solid var(--line);background:rgba(2,10,18,.74)}
.leaflet-container{font-family:var(--sans);background:#061323}
.leaflet-control-attribution{background:rgba(2,10,18,.75)!important;color:#92bed6!important}
.leaflet-control-attribution a{color:#beeaff!important}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#061a2e;color:var(--text);border:1px solid rgba(86,216,255,.34);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.popup-title{font-weight:850;color:#fff;font-size:1rem;margin-bottom:4px}
.popup-meta{color:var(--muted);font-size:.82rem;line-height:1.45}
.site-card-empty h2,.site-card h2{margin:0 0 10px;font-size:1.38rem;color:#fff}
.site-card-empty p,.site-card p{color:var(--muted);line-height:1.55}
.site-card{padding:14px;border:1px solid rgba(86,216,255,.22);border-radius:20px;background:rgba(2,16,30,.5)}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.meta-item{border:1px solid rgba(86,216,255,.16);border-radius:14px;padding:10px;background:rgba(255,255,255,.035)}
.meta-item span{display:block;color:var(--soft);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}
.meta-item strong{font-size:.88rem;color:#eefbff}
.caution-box{border-left:3px solid var(--gold);padding:10px 12px;background:rgba(255,209,102,.08);color:#ffe8ad;border-radius:0 14px 14px 0;margin-top:12px;line-height:1.55}
.source-link{display:block;margin-top:12px;color:#aeefff;word-break:break-word;font-size:.84rem}
.active-list-wrap{margin-top:20px}
.active-sites{display:flex;flex-direction:column;gap:8px;max-height:315px;overflow:auto;padding-right:4px}
.active-site-button{width:100%;text-align:left;border:1px solid rgba(86,216,255,.18);border-radius:16px;background:rgba(255,255,255,.035);color:var(--muted);padding:10px;cursor:pointer}
.active-site-button:hover{background:rgba(86,216,255,.08);color:#fff}
.active-site-button strong{display:block;color:#fff;font-size:.88rem;margin-bottom:3px}
.method-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:24px}
.method-grid p,.method-grid li{color:var(--muted);line-height:1.7}
.route-key{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:14px}
.line-sample{display:inline-block;width:52px;height:0;border-top:3px solid var(--cyan);margin-right:10px;vertical-align:middle;filter:drop-shadow(0 0 8px rgba(86,216,255,.65))}
.line-sample.dashed{border-top-style:dashed}.line-sample.dotted{border-top-style:dotted}
.sources-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.source-card{padding:14px;border:1px solid rgba(86,216,255,.2);border-radius:18px;background:rgba(2,18,33,.58)}
.source-card h3{margin:0 0 8px;font-size:.98rem}.source-card p{margin:0;color:var(--muted);line-height:1.5;font-size:.9rem}.source-card a{display:inline-block;margin-top:8px;font-size:.82rem}
.page-footer{text-align:center;color:var(--soft);padding:32px 20px 56px}
.rice-node{filter:drop-shadow(0 0 12px rgba(86,216,255,.75))}
.region-halo{border-radius:50%;opacity:.17;filter:blur(.3px)}
body.bw-mode{
  --cyan:#e9f2f7;--cyan2:#9ca7ad;--gold:#f1f1f1;--green:#d6d6d6;--violet:#c7c7c7;--rose:#bdbdbd;--orange:#e1e1e1;
  filter:grayscale(1) contrast(1.08);
}
@media (max-width:1180px){.explorer-frame{grid-template-columns:1fr}.controls-card,.scholar-card{min-height:auto}.map-card{min-height:auto}.deep-grid,.sources-list,.method-grid{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.site-hero{padding-left:12px;padding-right:12px}.hero-wrap{border-radius:26px;padding:28px 20px}.topline{border-radius:18px;align-items:flex-start;flex-direction:column}.deep-grid,.sources-list,.method-grid{grid-template-columns:1fr}.map-header{flex-direction:column;align-items:flex-start}#riceMap{height:560px;min-height:560px}.hero-actions{flex-direction:column}.btn{width:100%;text-align:center}.panel-title-row{flex-direction:column}}

/* v1.1 repair additions */
.hero-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
  max-width:900px;
  position:relative;
  z-index:1;
}
.hero-stat-grid div{
  border:1px solid rgba(86,216,255,.26);
  border-radius:20px;
  padding:14px 16px;
  background:rgba(2,16,30,.56);
}
.hero-stat-grid strong{display:block;font-size:1.85rem;color:#fff;line-height:1;margin-bottom:6px;text-shadow:0 0 24px rgba(86,216,255,.34)}
.hero-stat-grid span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.priority-note{border-color:rgba(137,247,198,.42);background:linear-gradient(135deg,rgba(4,32,52,.86),rgba(4,50,62,.66))}
.method-flags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.method-flags span{border:1px solid rgba(137,247,198,.34);border-radius:999px;background:rgba(137,247,198,.07);color:#d8fff0;padding:8px 11px;font-size:.82rem;font-weight:760}
.control-note{color:var(--soft);font-size:.82rem;line-height:1.45;margin:9px 0 0}
.timeline-ribbon{position:relative;height:46px;border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(86,216,255,.04),rgba(255,209,102,.04));overflow:hidden}
.timeline-ribbon:before{content:"9000 BCE";position:absolute;left:12px;top:14px;color:var(--soft);font-family:var(--mono);font-size:.68rem}
.timeline-ribbon:after{content:"1800 CE";position:absolute;right:12px;top:14px;color:var(--soft);font-family:var(--mono);font-size:.68rem}
.ribbon-tick{position:absolute;top:9px;width:8px;height:28px;border:0;border-radius:999px;opacity:.32;box-shadow:0 0 12px currentColor;transform:translateX(-50%);cursor:pointer}
.ribbon-tick.active{opacity:.95;height:32px;top:7px}
.ribbon-tick.confidence-low{height:18px;top:14px}.ribbon-tick.confidence-low.active{height:24px;top:11px}
.rice-node-future{filter:drop-shadow(0 0 5px rgba(255,255,255,.2))}
.future-warning{border:1px solid rgba(255,209,102,.28);border-radius:14px;background:rgba(255,209,102,.08);color:#ffe8ad!important;padding:9px 10px;margin:0 0 12px!important}
.mini-counts{display:grid;grid-template-columns:1fr;gap:6px;margin:12px 0}.mini-counts span{display:flex;justify-content:space-between;gap:8px;border:1px solid rgba(86,216,255,.15);background:rgba(255,255,255,.035);border-radius:12px;padding:8px;color:var(--muted);font-size:.78rem}.mini-counts strong{color:#fff}
.comments-panel code{color:#d7f6ff;background:rgba(255,255,255,.06);padding:2px 5px;border-radius:6px}.comment-count{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);font-family:var(--mono);font-size:.82rem}.notice{border-radius:16px;padding:12px 14px;margin:16px 0;font-weight:760}.notice.good{border:1px solid rgba(137,247,198,.35);background:rgba(137,247,198,.1);color:#d8fff0}.notice.bad{border:1px solid rgba(255,138,161,.35);background:rgba(255,138,161,.1);color:#ffdbe2}.comment-form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.form-row{display:grid;grid-template-columns:1fr 1fr minmax(150px,.6fr);gap:12px}.comment-form label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:.84rem;font-weight:760}.comment-form input,.comment-form select,.comment-form textarea{width:100%;border:1px solid rgba(86,216,255,.25);border-radius:14px;background:rgba(2,14,27,.84);color:var(--text);padding:12px 13px;font:inherit;outline:none}.comment-form input:focus,.comment-form select:focus,.comment-form textarea:focus{border-color:rgba(86,216,255,.7);box-shadow:0 0 0 3px rgba(86,216,255,.1)}.trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.comment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.comment-card{border:1px solid rgba(86,216,255,.2);border-radius:20px;background:rgba(2,18,33,.58);padding:15px}.comment-card.empty{grid-column:1/-1}.comment-meta{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid rgba(86,216,255,.14);padding-bottom:9px;margin-bottom:10px}.comment-meta strong{color:#fff}.comment-meta span{color:var(--soft);font-family:var(--mono);font-size:.72rem}.comment-card p{color:var(--muted);line-height:1.55;margin:0}.comment-card .affiliation{font-size:.82rem;color:#c6edff;margin-bottom:8px}
@media (max-width:900px){.hero-stat-grid,.form-row,.comment-list{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.hero-stat-grid,.form-row,.comment-list{grid-template-columns:1fr}.comment-meta{flex-direction:column}}
