/* Island in a Million 3D: scene and lab controls. Builds on existing island typography. */
.island3d{--three-bright:#e6f2c8}
.island3d .preview-links{display:flex;align-items:center;gap:20px}
.island3d .preview-links>a{font-size:.75rem;font-weight:800;color:#31726f;text-decoration:none;border-bottom:1px solid #7ca49a;padding-bottom:2px}
.island3d .isle-app{grid-template-columns:300px minmax(0,1fr)}
.island3d .isle-hero h1{font-size:clamp(4.4rem,8vw,8.8rem)}
.island3d .isle-viewport{height:clamp(490px,50vw,695px);background:radial-gradient(ellipse at 47% 27%,#3e8996,#164c66 63%,#0a263c);touch-action:pan-y}
.island3d .scene-mount{position:absolute;inset:0;overflow:hidden;z-index:0;touch-action:none}
.island3d .scene-mount canvas{width:100%;height:100%;display:block;touch-action:none}
.island3d .isle-viewport::after{z-index:1;pointer-events:none}
.island3d .isle-topbar,.island3d .isle-stage-bottom,.island3d .isle-stage-left,.island3d .isle-stage-right,.island3d .isle-impact,.island3d .isle-change-legend{z-index:5}
.island3d .isle-stage-left{top:99px}
.island3d .isle-impact{bottom:117px;left:25px;background:#0e2f3ac5;backdrop-filter:blur(8px);padding:10px 12px;border-radius:8px;font-size:.63rem;color:#fdeac3;max-width:min(80%,600px)}
.island3d .isle-stage-right{bottom:113px}
.island3d .isle-stage-bottom{bottom:18px}
.island3d .isle-view-switch{box-shadow:0 6px 16px #071b3080}
.island3d .isle-view-switch button{font-size:.68rem}
.island3d .isle-change-legend{top:88px;right:26px}
.island3d .three-tools{position:absolute;top:50%;right:22px;transform:translateY(-50%);z-index:7;display:flex;flex-direction:column;gap:5px;padding:6px;border:1px solid #b1d3cc68;border-radius:14px;background:#092c3ab5;backdrop-filter:blur(15px);box-shadow:0 12px 35px #041d2f59}
.island3d .three-tools button{border:0;background:transparent;color:#e2efdf;font-size:1.1rem;font-weight:900;min-width:37px;min-height:35px;border-radius:8px;transition:background .15s}
.island3d .three-tools button:last-child{min-width:37px;max-width:70px;font-size:.56rem;line-height:1.2;text-transform:uppercase;letter-spacing:.03em}
.island3d .three-tools button:hover,.island3d .three-tools button[aria-pressed="true"]{background:#dff0df;color:#164448}
.island3d .three-map-options{position:absolute;left:23px;bottom:64px;display:flex;align-items:center;gap:7px;z-index:7;flex-wrap:wrap}
.island3d .three-map-options label,.island3d .three-map-options button{border:1px solid #c8e1d068;background:#0b3240c4;backdrop-filter:blur(10px);color:#e3f3e3;border-radius:8px;padding:9px 11px;font-size:.68rem;font-weight:850}
.island3d .three-map-options label{display:flex;align-items:center;gap:7px;cursor:pointer}
.island3d .three-map-options input{accent-color:#ead394}
.island3d .three-map-options button:hover,.island3d .three-map-options button[aria-pressed="true"]{color:#0f4141;background:#ecf4d7}
.island3d .scene-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;z-index:8;background:linear-gradient(160deg,#12394e,#0e5262 50%,#06334f);color:#e1eddf;font-size:.9rem;text-align:center;padding:28px}
.island3d .scene-loading strong{font-size:1.15rem;letter-spacing:-.03em}
.island3d .scene-loading small{color:#bdd2ce;font-size:.75rem;line-height:1.55}
.island3d .loader-ring{width:46px;height:46px;border-radius:100%;border:3px solid #c2ead033;border-top-color:#dbeda9;animation:isle-turn 1.3s linear infinite;margin-bottom:7px}
@keyframes isle-turn{to{transform:rotate(360deg)}}
.island3d .scene-loading.is-failed{background:linear-gradient(160deg,#143c4b,#235466)}
.island3d .scene-loading.is-failed .loader-ring{display:none}
.island3d .scene-loading a{color:#e9f1b8;font-weight:800}
.island3d .isle-time-head{gap:15px}
.island3d .isle-console .three-scrubber{margin:-5px 0 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.island3d .three-scrubber label{color:#b4d1c4;font-size:.57rem;font-weight:900;letter-spacing:.09em}
.island3d .three-scrubber input{width:100%;cursor:pointer;accent-color:#c8dfa7;height:19px}
.island3d .three-scrubber span{color:#dce8d1;font-size:.65rem;font-weight:800;white-space:nowrap}
.island3d .isle-console{background:linear-gradient(135deg,#0a3039,#143e47)}
.island3d .isle-time-number strong{font-variant-numeric:tabular-nums}
.island3d .isle-readouts{grid-template-columns:repeat(4,minmax(0,1fr))}
.island3d .isle-underlay{grid-template-columns:1fr 1fr}
.island3d .isle-split-label{bottom:auto;top:78px;right:22%;left:21%;justify-content:space-between;z-index:6;pointer-events:none}
.island3d .isle-split-label span{background:#0a3245c7;padding:7px 11px;border-radius:7px;color:#fffad2;letter-spacing:.08em}
.island3d .isle-compare-message{min-height:31px}
.island3d .isle-range-title output{white-space:nowrap}
.island3d .isle-panel-head h2{font-size:1.45rem}
.island3d .isle-outro p{line-height:1.75}
@media(max-width:1200px){
 .island3d .isle-app{grid-template-columns:274px minmax(0,1fr)}
 .island3d .isle-controls{padding:18px}
 .island3d .isle-viewport{height:530px}
 .island3d .isle-underlay{grid-template-columns:1fr}
 .island3d .isle-readouts>div{padding:16px 12px}
 .island3d .isle-readouts strong{font-size:clamp(1.24rem,2vw,1.8rem)}
}
@media(max-width:850px){
 .island3d .isle-app{grid-template-columns:1fr}
 .island3d .isle-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
 .island3d .isle-controls>.isle-panel-head,.island3d .isle-controls>.isle-control-intro,.island3d .isle-presets,.island3d .isle-parameter-note,.island3d .isle-new-run,.island3d .isle-science-small{grid-column:1/-1}
 .island3d .isle-viewport{height:600px}
 .island3d .isle-hero{grid-template-columns:1fr!important}
}
@media(max-width:570px){
 .island3d .isle-hero h1{font-size:clamp(3.5rem,13vw,5.7rem)}
 .island3d .preview-links{gap:8px;flex-direction:column-reverse;align-items:end}
 .island3d .preview-links>a{font-size:.6rem}
 .island3d .isle-preview{font-size:.49rem;padding:6px}
 .island3d .isle-controls{display:block;padding:19px}
 .island3d .isle-viewport{height:490px}
 .island3d .isle-topbar{top:14px;left:13px;right:13px;gap:4px}
 .island3d .isle-live{font-size:.53rem;max-width:110px;letter-spacing:.04em;line-height:1.4}
 .island3d .isle-view-switch{padding:3px}
 .island3d .isle-view-switch button{padding:8px 6px;font-size:.57rem}
 .island3d .isle-stage-left{left:12px;top:80px}
 .island3d .isle-stage-right{bottom:154px;right:12px}
 .island3d .three-tools{right:11px;top:51%;gap:2px;padding:4px}
 .island3d .three-tools button{min-width:30px;min-height:30px;font-size:.87rem}
 .island3d .three-tools button:last-child{font-size:.48rem;max-width:36px}
 .island3d .isle-impact{left:12px;bottom:122px;font-size:.53rem;max-width:84%;padding:8px}
 .island3d .three-map-options{left:12px;bottom:54px;max-width:85%;gap:4px}
 .island3d .three-map-options label,.island3d .three-map-options button{font-size:.59rem;padding:7px}
 .island3d .isle-change-legend{top:69px;right:12px;max-width:155px;gap:5px;font-size:.53rem;padding:7px}
 .island3d .isle-stage-bottom{left:13px;right:13px;bottom:12px}
 .island3d .isle-readouts{grid-template-columns:repeat(2,1fr)}
 .island3d .isle-readouts>div:nth-child(2){border-right:0}
 .island3d .isle-readouts>div:nth-child(-n+2){border-bottom:1px solid #e4dfd1}
 .island3d .isle-console{padding:19px 15px}
 .island3d .three-scrubber{grid-template-columns:1fr auto}
 .island3d .three-scrubber label{grid-column:1/-1}
 .island3d .isle-split-label{left:8%;right:8%}
}
@media(prefers-reduced-motion:reduce){.island3d .loader-ring{animation:none}}


/* V2 · scientific colour maps with meaningful elevation and change classes */
.island3d .three-science-legend{
  position:absolute;z-index:7;pointer-events:none;top:82px;right:26px;
  width:min(314px,56%);max-width:314px;display:flex;flex-direction:column;
  align-items:stretch;gap:10px;border:1px solid rgba(211,242,228,.47);
  border-radius:12px;background:rgba(6,30,43,.88);backdrop-filter:blur(16px);
  box-shadow:0 16px 40px rgba(0,16,29,.27);padding:15px 17px;color:#f2faed
}
.island3d .three-science-legend strong{color:#fff5d6;font-size:.66rem;font-weight:950;letter-spacing:.12em;line-height:1.4}
.island3d .three-science-legend small{font-size:.61rem;color:#b8d9d5;line-height:1.5}
.island3d .three-height-scale{
 height:18px;width:100%;border-radius:4px;
 background:linear-gradient(to right,#d6f3c0 0 7%,#50d383 7% 17%,#119d88 17% 28%,#dfd752 28% 41%,#ffa447 41% 54%,#f26655 54% 67%,#ae52a5 67% 81%,#e5d7ed 81% 92%,#fff 92% 100%);
 box-shadow:0 1px 7px #00152655
}
.island3d .three-height-ticks{display:flex;justify-content:space-between;color:#e5f5e9;font-size:.64rem;font-variant-numeric:tabular-nums;font-weight:850;gap:5px}
.island3d .three-change-legend{gap:9px}
.island3d .three-change-legend div{display:flex;align-items:center;gap:10px;color:#e2ede8;font-size:.7rem;line-height:1.3}
.island3d .three-change-legend div i{display:block;flex:0 0 16px;width:16px;height:16px;border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff33}
.island3d .three-change-legend div b{color:#f6faf0}
.island3d .three-summit-pill{
 font-size:.6rem;letter-spacing:.09em;font-weight:950;color:#fff0bf;
 padding:8px 11px;border-radius:6px;background:rgba(13,41,51,.8);
 border:1px solid rgba(248,213,148,.35);text-align:right
}
.island3d #peak-trend{color:#548178;font-weight:750}
@media(max-width:700px){
 .island3d .three-science-legend{top:70px;right:13px;width:172px;max-width:47%;padding:10px;gap:6px}
 .island3d .three-science-legend strong{font-size:.55rem;letter-spacing:.065em}
 .island3d .three-science-legend small{font-size:.53rem}
 .island3d .three-height-scale{height:13px}
 .island3d .three-height-ticks{font-size:.48rem;gap:2px}
 .island3d .three-change-legend div{font-size:.56rem;gap:6px}
 .island3d .three-change-legend div i{width:11px;height:11px;flex-basis:11px}
 .island3d .three-summit-pill{font-size:.48rem;max-width:145px;line-height:1.5;padding:7px}
 .island3d .isle-stage-right{bottom:154px;gap:6px}
}
@media(max-width:420px){
 .island3d .three-science-legend{right:10px;width:145px;max-width:44%}
 .island3d .isle-view-switch button{font-size:.53rem;padding:7px 5px}
 .island3d .three-summit-pill{max-width:119px;letter-spacing:.015em}
}


/* Changes V3: keep submerged former land visually separate from above-water erosion */
.island3d .three-change-legend .three-change-submerged{
  display:block;border-radius:7px;padding:10px 11px;background:rgba(44,100,105,.28);
  border:1px solid rgba(173,219,204,.38);font-variant-numeric:tabular-nums;
  color:#ebf4e3;font-size:.68rem;line-height:1.45;font-weight:850
}
.island3d .three-change-legend .three-coast-key{
  display:grid;grid-template-columns:1fr 1fr;column-gap:9px;row-gap:6px;padding:10px 0 0;
  border-top:1px solid rgba(208,234,231,.22);
}
.island3d .three-change-legend .three-coast-key span{
  display:flex;align-items:center;gap:7px;font-size:.62rem;line-height:1.35;color:#dcefea
}
.island3d .three-change-legend .three-coast-key i{
  display:block;height:3px;width:23px;min-width:23px;border-radius:99px;
}
.island3d .three-change-legend .three-coast-key .three-current-line{
  background:#93f2ff;box-shadow:0 0 5px rgba(147,242,255,.55)
}
.island3d .three-change-legend .three-coast-key .three-original-line{
  height:0;border-top:3px dashed #ffd684;border-radius:0
}
.island3d .three-change-legend small b{color:#f5d6f9}
@media(max-width:700px){
  .island3d .three-change-legend .three-change-submerged{
    font-size:.55rem;padding:7px
  }
  .island3d .three-change-legend .three-coast-key{grid-template-columns:1fr;padding-top:6px;gap:4px}
  .island3d .three-change-legend .three-coast-key span{font-size:.53rem;gap:5px}
  .island3d .three-change-legend .three-coast-key i{width:17px;min-width:17px}
}


/* V5: separate A/B legend, outside the terrain so both islands stay visible */
.island3d .three-compare-strip{
  display:flex;align-items:center;gap:17px;flex-wrap:wrap;
  border:1px solid #315f64;border-radius:15px;
  background:#113941;color:#e9f5ea;padding:13px 18px;
  box-shadow:0 8px 24px rgba(11,43,52,.10);
}
.island3d .three-compare-strip-title{
  display:flex;flex-direction:column;gap:5px;
  padding-right:17px;border-right:1px solid #567980;
  flex:0 0 auto;min-width:170px
}
.island3d .three-compare-strip-title strong{
  font-size:.65rem;letter-spacing:.12em;color:#e9e9b7;font-weight:950
}
.island3d .three-compare-strip-title span{
  font-size:.66rem;color:#c5dad7;font-weight:750;font-variant-numeric:tabular-nums
}
.island3d .three-compare-strip-content{flex:1 1 430px;min-width:0}
.island3d .three-compare-keys{
  display:flex;gap:10px 15px;flex-wrap:wrap;align-items:center
}
.island3d .three-compare-chip{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:.69rem;font-weight:750;color:#e6f4ed
}
.island3d .three-compare-chip i{
  flex:0 0 12px;display:block;width:12px;height:12px;border-radius:3px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.27)
}
.island3d .three-compare-elevation{
  display:flex;align-items:center;gap:13px;font-size:.71rem;
  color:#e2efed;font-weight:850
}
.island3d .three-compare-elevation .three-height-scale{
  flex:1 1 auto;max-width:330px;min-width:100px
}
.island3d .three-compare-natural{color:#c5dcd5;font-size:.73rem;font-weight:700}
/* In side-by-side mode, explanatory cards and B-only overlays obscure geology. */
.island3d .isle-viewport.is-comparing .three-science-legend,
.island3d .isle-viewport.is-comparing .isle-stage-right,
.island3d .isle-viewport.is-comparing .isle-impact,
.island3d .isle-viewport.is-comparing .three-map-options{display:none!important}
.island3d .isle-viewport.is-comparing .isle-split-label{
  top:83px;left:20%;right:20%;z-index:7
}
.island3d .isle-viewport.is-comparing .isle-split-label span{
  background:rgba(5,42,57,.92);border:1px solid rgba(201,235,221,.32);
  padding:9px 14px;white-space:nowrap
}
@media(max-width:700px){
  .island3d .three-compare-strip{padding:13px;gap:11px}
  .island3d .three-compare-strip-title{
    border:0;border-bottom:1px solid #567980;
    padding:0 0 9px;min-width:0;flex:1 1 100%
  }
  .island3d .three-compare-strip-content{flex-basis:100%}
  .island3d .three-compare-keys{gap:10px 13px}
  .island3d .three-compare-chip{font-size:.64rem}
  .island3d .isle-viewport.is-comparing .isle-split-label{
    top:80px;left:9%;right:9%;font-size:.55rem
  }
  .island3d .isle-viewport.is-comparing .isle-split-label span{padding:7px 8px}
}
@media(max-width:420px){
  .island3d .three-compare-strip-title span{font-size:.59rem}
  .island3d .three-compare-chip{font-size:.59rem}
  .island3d .three-compare-elevation{gap:7px;font-size:.59rem;flex-wrap:wrap}
  .island3d .three-compare-elevation .three-height-scale{min-width:95px}
  .island3d .isle-viewport.is-comparing .isle-split-label{
    top:76px;left:5%;right:5%;font-size:.48rem
  }
  .island3d .isle-viewport.is-comparing .isle-split-label span{padding:6px}
}


/* V7: sixth Earth-system control, additional live vegetation readout */
.island3d .isle-readouts{grid-template-columns:repeat(5,minmax(0,1fr))}
.island3d .isle-readouts strong{font-size:clamp(1.2rem,1.8vw,1.85rem)}
.island3d .isle-readouts span{line-height:1.35}
.island3d #vegetation-value{color:#3b8561}
@media(max-width:850px){
  .island3d .isle-readouts{grid-template-columns:repeat(5,minmax(0,1fr))}
  .island3d .isle-readouts strong{font-size:clamp(1.1rem,2vw,1.55rem)}
}
@media(max-width:570px){
  .island3d .isle-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .island3d .isle-readouts>div:nth-child(4){border-right:0}
  .island3d .isle-readouts>div:nth-child(3),
  .island3d .isle-readouts>div:nth-child(4){border-bottom:1px solid #e4dfd1}
  .island3d .isle-readouts>div:last-child{grid-column:1/-1;text-align:center}
}


/* V8: Give vegetation and erosion comparisons measurable, unobstructed output */
.island3d .three-compare-strip{align-items:stretch;gap:10px}
.island3d .three-compare-strip-title{
  flex:1 1 100%;width:100%;min-width:0;
  border-right:0;border-bottom:1px solid #567980;
  padding:0 0 11px;gap:6px
}
.island3d .three-compare-strip-title .three-delta-metrics{
  display:block;color:#e7f0c8;font-size:.75rem;font-weight:850;
  letter-spacing:normal;line-height:1.6;white-space:normal
}
.island3d .three-compare-strip-content{flex:1 1 100%;width:100%}
.island3d .three-compare-difference{display:flex;flex-direction:column;gap:9px}
.island3d .three-compare-difference strong{
  color:#d6eac5;font-size:.62rem;letter-spacing:.11em
}
.island3d .three-compare-difference small{color:#b7d5ca;font-size:.69rem;line-height:1.55}
.island3d .three-compare-natural b{color:#ecf3a6}
@media(max-width:570px){
  .island3d .three-compare-strip-title .three-delta-metrics{font-size:.67rem}
  .island3d .three-compare-difference small{font-size:.63rem}
}


/* V9 · Full outcome scorecard for Island A and B, outside the 3D viewport */
.island3d .three-compare-actions{
  display:flex;align-items:center;flex-wrap:wrap;gap:11px 17px;flex:1 1 100%;
}
.island3d .three-compare-highlight{
  border:1px solid #c8e9cf;border-radius:9px;background:#e0eece;color:#143c3b;
  font-size:.82rem;font-weight:900;padding:12px 18px;transition:background .16s,transform .16s;
}
.island3d .three-compare-highlight:not(:disabled):hover{background:#f3f8db;transform:translateY(-1px)}
.island3d .three-compare-highlight[aria-pressed="true"]{background:#68d0ca;border-color:#68d0ca;color:#082f39}
.island3d .three-compare-highlight:disabled{opacity:.46;cursor:not-allowed}
.island3d .three-compare-actions>span{
  flex:1 1 280px;color:#b3d1cd;line-height:1.5;font-size:.72rem
}
.island3d .three-compare-results{
  flex:1 1 100%;width:100%;border-top:1px solid #466970;padding-top:16px;
}
.island3d .three-compare-results-heading{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:13px}
.island3d .three-compare-results-heading strong{font-size:.73rem;letter-spacing:.10em;color:#e8f1ce;font-weight:950}
.island3d .three-compare-results-heading span{font-size:.69rem;color:#c2d9d2}
.island3d .three-compare-table-scroll{max-width:100%;overflow-x:auto;scrollbar-color:#568b8b #163f48;scrollbar-width:thin}
.island3d .three-compare-table{border-collapse:separate;border-spacing:0;width:100%;min-width:545px;font-variant-numeric:tabular-nums;text-align:left;color:#ecf5ee;table-layout:fixed}
.island3d .three-compare-table th:first-child{width:34%}
.island3d .three-compare-table th:nth-child(2),
.island3d .three-compare-table th:nth-child(3),
.island3d .three-compare-table th:nth-child(4){width:22%}
.island3d .three-compare-table thead th{
  background:#1b4a51;border-top:1px solid #477079;border-bottom:1px solid #477079;
  padding:12px 13px;color:#cde4da;letter-spacing:.075em;font-size:.67rem;font-weight:900;white-space:normal
}
.island3d .three-compare-table thead th:first-child{border-top-left-radius:8px}
.island3d .three-compare-table thead th:last-child{border-top-right-radius:8px}
.island3d .three-compare-table thead small{
  display:block;font-weight:700;letter-spacing:normal;color:#9abbb8;margin-top:3px
}
.island3d .three-compare-table tbody th,
.island3d .three-compare-table tbody td{
  padding:13px;vertical-align:middle;border-bottom:1px solid #375b63
}
.island3d .three-compare-table tbody tr:nth-child(even){background:rgba(190,228,204,.045)}
.island3d .three-compare-table tbody th{font-size:.8rem;font-weight:800;color:#dbece6}
.island3d .three-compare-table tbody th small{display:block;color:#9dbfba;font-size:.65rem;font-weight:500;margin-top:3px}
.island3d .three-compare-table tbody td{font-size:clamp(.84rem,1.2vw,1.06rem);font-weight:900;letter-spacing:-.015em;white-space:nowrap}
.island3d .three-compare-table tbody td:nth-child(2){color:#d2e5e0}
.island3d .three-compare-table tbody td:nth-child(3){color:#fcf5cf}
.island3d .three-compare-table tbody td:nth-child(4){color:#cddde1}
.island3d .three-compare-table tbody td.is-positive{color:#7ce0c6}
.island3d .three-compare-table tbody td.is-negative{color:#f7bd7b}
.island3d .three-compare-table tbody td.is-neutral{color:#a3bab9}
.island3d .three-compare-table .three-compare-vegetation-row{background:rgba(149,196,133,.10)}
.island3d .three-compare-table .three-compare-vegetation-row th{color:#d1ecc4}
.island3d .three-compare-interpretation{
  margin:12px 2px 0!important;color:#c7e3d5!important;font-size:.75rem!important;
  line-height:1.6!important
}
@media(max-width:720px){
 .island3d .three-compare-results{padding-top:13px}
 .island3d .three-compare-table thead th{font-size:.60rem;padding:10px}
 .island3d .three-compare-table tbody th,.island3d .three-compare-table tbody td{padding:11px 9px}
 .island3d .three-compare-highlight{width:100%}
 .island3d .three-compare-actions>span{flex-basis:100%}
}


/* V10: Keep the active map legend next to the island views, ahead of results. */
.island3d .three-compare-strip-content{
  flex:1 1 100%;width:100%;min-width:0;
  margin:-2px 0 2px;padding:13px 15px 14px;
  background:rgba(43,92,98,.44);
  border:1px solid rgba(184,227,214,.22);
  border-radius:10px;
}
.island3d .three-compare-key-label{
  display:block;margin-bottom:9px;color:#e5edd0;
  font-size:.64rem;font-weight:950;letter-spacing:.14em
}
.island3d .three-compare-strip-content .three-compare-keys{
  gap:9px 14px
}
.island3d .three-compare-strip-content .three-compare-chip{
  font-size:.72rem
}
.island3d .three-compare-results{
  margin-top:5px;
}
@media(max-width:700px){
 .island3d .three-compare-strip-content{padding:11px 12px}
 .island3d .three-compare-key-label{font-size:.59rem;margin-bottom:7px}
 .island3d .three-compare-strip-content .three-compare-chip{font-size:.65rem}
}

/* V11: concise, accessible geological field guide */
.island3d .three-learn-intro{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.65fr);gap:16px 30px;align-items:center;background:#e8efe4;border:1px solid #c5d8cc;border-radius:15px;padding:22px 28px;margin:0 0 20px;color:#173d40}
.island3d .three-learn-intro h2,.island3d .three-investigations h2{font-size:clamp(1.4rem,2.1vw,2rem);margin:6px 0 9px;line-height:1.18}
.island3d .three-learn-intro p,.island3d .three-investigations-header p{line-height:1.6;margin:0;font-size:.89rem}
.island3d .three-learn-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;list-style:none;gap:10px}
.island3d .three-learn-steps li{display:flex;flex-direction:column;gap:9px;border:1px solid #bbd1c4;border-radius:9px;background:#fafbf4;padding:14px;font-size:.77rem;line-height:1.5;font-weight:750}
.island3d .three-learn-steps b{color:#377c70;font-size:.68rem;letter-spacing:.1em}
.island3d .three-learn-tip{grid-column:1/-1;background:#d6e7dd;padding:10px 13px;border-radius:7px}
.island3d .three-control-science{font-size:.72rem;line-height:1.5;color:#4c6d67;margin:8px 0 0}
.island3d .isle-science-small{line-height:1.65}
.island3d .three-learning-sections{display:grid;gap:22px;margin:28px 0}
.island3d .three-learning-details,.island3d .three-investigations{background:#f6f7f0;border:1px solid #cbd9ce;border-radius:15px;overflow:hidden}
.island3d .three-learning-details>summary{display:flex;justify-content:space-between;gap:15px;align-items:center;cursor:pointer;padding:22px 26px;list-style:none}
.island3d .three-learning-details>summary::-webkit-details-marker,.island3d .three-investigation-grid summary::-webkit-details-marker{display:none}
.island3d .three-learning-details>summary strong{display:block;font-size:1.3rem;margin:7px 0;color:#163f40}
.island3d .three-learning-details>summary small{display:block;font-size:.8rem;color:#55746d}
.island3d .three-details-plus{font-size:1.6rem;font-weight:400;color:#267d75;flex-shrink:0}
.island3d details[open]>.three-details-plus,.island3d details[open]>summary>.three-details-plus{transform:rotate(45deg)}
.island3d .three-learning-body{border-top:1px solid #d5e1d8;padding:15px 26px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 25px}
.island3d .three-learning-body p{line-height:1.65;font-size:.86rem;margin:8px 0;color:#244b4c}
.island3d .three-learning-body .three-learning-caveat{grid-column:1/-1;padding:13px 16px;background:#e5ede6;border-radius:9px}
.island3d .three-investigations{padding:26px}
.island3d .three-investigations-header{max-width:820px;margin-bottom:19px}
.island3d .three-investigation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.island3d .three-investigation-grid details{background:#fff;border:1px solid #d2dfd5;border-radius:10px;overflow:hidden;min-width:0}
.island3d .three-investigation-grid summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:18px}
.island3d .three-investigation-number{grid-column:1/-1;color:#3a8173;font-size:.68rem;letter-spacing:.1em;font-weight:900}
.island3d .three-investigation-grid summary strong{font-size:1rem;line-height:1.35;color:#173f42}
.island3d .three-investigation-grid details>div{border-top:1px solid #e2ebe3;padding:7px 18px 16px}
.island3d .three-investigation-grid p{font-size:.8rem;line-height:1.62;color:#345652}
.island3d .three-investigation-question{padding:10px;background:#e8f2eb;border-radius:7px}
.island3d details summary:focus-visible{outline:3px solid #34a8a0;outline-offset:-3px}
@media(max-width:900px){.island3d .three-learn-intro{grid-template-columns:1fr}.island3d .three-investigation-grid{grid-template-columns:1fr}}
@media(max-width:580px){.island3d .three-learn-intro{padding:18px}.island3d .three-learn-steps{grid-template-columns:1fr}.island3d .three-learn-steps li{flex-direction:row;align-items:center;padding:10px}.island3d .three-learning-body{grid-template-columns:1fr;padding:14px 18px}.island3d .three-learning-details>summary{padding:18px}.island3d .three-investigations{padding:18px}}

/* V12: compact outcome strip, content-sized instead of an oversized empty panel. */
.island3d #single-readouts{align-self:flex-start;width:100%;min-height:0;height:auto;grid-auto-rows:minmax(0,auto);align-content:start}
.island3d #single-readouts>div{padding:17px 14px 16px;align-self:start;min-height:0}
.island3d #single-readouts strong{margin:5px 0 3px;line-height:1.15}
.island3d #single-readouts span{line-height:1.35}
@media(max-width:570px){.island3d #single-readouts>div{padding:14px 12px}}

/* V13: measurement readouts are one content-height strip, never a tall grid card. */
@media(min-width:571px){
  .island3d #single-readouts{
    display:flex;
    flex-direction:row;
    align-items:stretch;
    justify-content:stretch;
    align-self:flex-start;
    flex:0 0 auto;
    height:max-content!important;
    min-height:0!important;
    max-height:none;
  }
  .island3d #single-readouts>div{
    flex:1 1 0;
    align-self:auto;
    padding:14px 12px!important;
    min-height:0!important;
  }
}
@media(max-width:570px){
  .island3d #single-readouts{
    height:max-content!important;
    min-height:0!important;
    align-content:start;
  }
}

/* V14: Site-wide section padding was inflating the measurement card. */
.island3d section#single-readouts{
  padding:0!important;
  margin:0;
  box-sizing:border-box;
}

/* V15: remove global section padding from the chronicle/comparison wrapper. */
.island3d section.isle-underlay{
  padding:0!important;
  margin:0;
  gap:14px;
  align-items:stretch;
}
.island3d .isle-underlay>.isle-panel{height:auto;min-height:0}
@media(max-width:850px){.island3d section.isle-underlay{gap:12px}}

/* V16: the global section padding also inflates the simulation wrapper. */
.island3d section.isle-app{
  padding:0!important;
  margin:0;
}
.island3d .three-learn-intro{margin-bottom:18px}

/* V17: Changes legend and camera controls occupy separate screen regions. */
.island3d .three-change-legend:not([hidden]){left:14px!important;right:auto!important;width:min(335px,calc(100% - 110px))!important;max-width:calc(100% - 110px)!important;box-sizing:border-box}
@media(max-width:650px){.island3d .three-change-legend:not([hidden]){left:9px!important;width:calc(100% - 86px)!important;max-width:calc(100% - 86px)!important}.island3d .three-tools{right:8px!important}}

/* V18: Reserve a guaranteed lane for the camera toolbar beside Changes legend. */
.island3d .isle-viewport .three-change-legend:not([hidden]){
  left:12px!important;
  right:auto!important;
  width:min(315px,calc(100% - 155px))!important;
  max-width:calc(100% - 155px)!important;
  max-height:calc(100% - 105px);
  overflow-y:auto;
  box-sizing:border-box;
}
.island3d .isle-viewport .three-tools{
  right:10px!important;
}
@media(max-width:650px){
  .island3d .isle-viewport .three-change-legend:not([hidden]){
    left:8px!important;
    width:calc(100% - 126px)!important;
    max-width:calc(100% - 126px)!important;
    max-height:calc(100% - 90px);
  }
  .island3d .isle-viewport .three-tools{right:7px!important}
}

/* V19: Keep camera toolbar clear of stage footer and geological-age label. */
.island3d .isle-viewport .three-tools{
  top:94px!important;
  bottom:auto!important;
  transform:none!important;
  max-height:calc(100% - 175px);
  overflow-y:auto;
  box-sizing:border-box;
}
@media(max-width:650px){
  .island3d .isle-viewport .three-tools{
    top:82px!important;
    max-height:calc(100% - 155px);
  }
}
