:root{
  --bg:#040913;
  --bg2:#071323;
  --panel:#081827cc;
  --panel2:#0b1d2fb8;
  --panel-solid:#0b1827;
  --line:#1c517a;
  --line2:#21445f;
  --text:#e8edf4;
  --muted:#a7b7c7;
  --dim:#718ba2;
  --blue:#56c7ff;
  --blue2:#1e8bd2;
  --green:#75d782;
  --green2:#2c8f60;
  --gold:#d5bd61;
  --red:#f67871;
  --ink:#06111e;
  --shadow:0 18px 58px #000b, inset 0 0 0 1px #204f70;
  --glow:0 0 20px #1c8bd055, 0 0 2px #8edcff;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 18% -10%, #123258 0, #07111e 36%, transparent 58%),
    radial-gradient(circle at 80% 8%, #0d302a 0, transparent 30%),
    linear-gradient(180deg,#02060d 0,#06101b 32%,#081321 100%);
  color:var(--text);
  font:14px/1.45 "Inter","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:-3;
  background-image:
    linear-gradient(#1b4b6b22 1px,transparent 1px),
    linear-gradient(90deg,#1b4b6b22 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(180deg,#fff7,transparent 72%);
}
.cosmic-grid{
  position:fixed; inset:0; pointer-events:none; z-index:-2;
  background:
    radial-gradient(1px 1px at 5% 12%,#fff9 0,transparent 100%),
    radial-gradient(1px 1px at 16% 39%,#bde8ff88 0,transparent 100%),
    radial-gradient(1px 1px at 74% 12%,#fff8 0,transparent 100%),
    radial-gradient(2px 2px at 88% 41%,#ffeeb888 0,transparent 100%),
    radial-gradient(1px 1px at 52% 84%,#bde8ff99 0,transparent 100%);
  opacity:.8;
}
a{color:inherit}
button,select,input,textarea{font:inherit;color:inherit}
button,select,input[type=file],label.file-like{cursor:pointer}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #7cd7ff; outline-offset:2px}
.app-header{
  display:grid; grid-template-columns:280px 1fr 380px; gap:18px; align-items:center;
  padding:18px 22px 10px;
  min-height:104px;
  position:relative;
}
.brand img{width:235px; max-width:100%; height:auto; display:block; filter:drop-shadow(0 0 10px #8edcff45)}
.hero-copy{text-align:center; padding-top:2px; min-width:0}
.eyebrow{margin:0 0 2px; color:#78b8da; font-size:12px; letter-spacing:.24em; text-transform:uppercase}
h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  font-size:clamp(34px,3.4vw,56px);
  line-height:1.02;
  letter-spacing:.02em;
  text-shadow:0 0 28px #7acfff4a;
}
.subtitle{
  margin:5px 0 0;
  color:#8cd7ff;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(16px,1.45vw,22px);
  white-space:normal;
}
.header-tools{display:flex; justify-content:flex-end; gap:15px; align-items:center; flex-wrap:wrap}
.icon-btn{
  appearance:none; border:0; background:transparent; color:#dce9f5; padding:6px 4px; min-width:66px;
  display:flex; flex-direction:column; align-items:center; gap:4px; font-size:12px; opacity:.88;
}
.icon-btn:hover{color:#fff; text-shadow:var(--glow)}
.tool-ico{
  display:grid; place-items:center; width:32px; height:28px;
  color:#e5eef7; border:1px solid transparent; font-size:22px; line-height:1;
}
.tabs{
  display:flex; margin:0 12px; border-bottom:1px solid #244a67; padding-left:0; position:sticky; top:0; z-index:20;
  background:linear-gradient(180deg,#030913f2,#06101ced); backdrop-filter:blur(12px);
}
.tab{
  min-width:144px; text-align:center; text-decoration:none; padding:13px 16px; color:#d6dfeb;
  border:1px solid #244a67; border-bottom:none; background:#06101d; margin-right:-1px; font-family:Georgia,serif; font-weight:600;
}
.tab.active,.tab:hover{background:#09213a;color:#fff;box-shadow:inset 0 -2px 0 #54bfff}
.workspace{padding:12px; max-width:1920px; margin:0 auto 70px}
.panel{
  background:linear-gradient(180deg,#0a1b2dcc,#071421cc);
  border:1px solid #1f4e73;
  border-radius:9px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.panel::before{
  content:""; position:absolute; inset:1px; pointer-events:none; border-radius:8px;
  border:1px solid #77cfff17;
}
.control-ribbon{
  display:grid; grid-template-columns:210px 240px 305px 210px 1fr; gap:14px; align-items:start;
  padding:16px 18px 42px;
  min-height:128px;
}
.select-control label,.slider-grid label,.annotation-form label{
  display:block; color:#d9e4ef; font-size:12px; letter-spacing:.02em; margin-bottom:6px;
}
.select-control select,.annotation-form input,.annotation-form select,.annotation-form textarea{
  width:100%; background:#081323; border:1px solid #31546c; color:#f2f7fb; border-radius:4px; min-height:38px; padding:8px 10px;
  box-shadow:inset 0 1px 0 #fff1;
}
.select-control small{display:block; margin-top:7px; color:#8fa6ba; line-height:1.2}
.wide-select{min-width:0}
.slider-grid{display:grid; grid-template-columns:repeat(6,minmax(116px,1fr)); gap:12px; align-items:start; padding-top:1px}
.slider-grid label{position:relative; margin:0; min-width:0; color:#d7e6f2; padding-right:2px}
.info{display:inline-grid; place-items:center; width:16px; height:16px; border:1px solid #819aab; border-radius:50%; font-size:10px; color:#cbd8e2; margin-left:4px}
.slider-grid strong{display:block; font-size:17px; color:#fff; line-height:1.1; margin-top:4px; font-weight:500}
.slider-grid em{position:absolute; top:23px; right:0; font-size:11px; color:#a8bbc9; font-style:normal}
input[type=range]{
  width:100%; accent-color:#4cc7ff; margin:10px 0 0; height:7px;
}
.benchmark-banner{
  position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:min(860px,72vw);
  margin:0; padding:6px 18px 7px; border:1px solid #164268; border-bottom:0; border-radius:20px 20px 0 0;
  background:linear-gradient(90deg,#0a2c4c,#0a1e33 50%,#0a2c4c); color:#99d4ff; text-align:center;
  box-shadow:0 0 20px #0d7ece30;
}
.benchmark-banner span{font-weight:900; font-size:18px; margin-right:8px; color:#b8e9ff}
.benchmark-banner button{background:transparent;border:0;color:#cfefff;text-decoration:underline;margin-left:10px}
.compare-grid{display:grid; grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr); gap:0; margin-top:13px; align-items:stretch}
.compare-arrow{display:grid; place-items:center; font-size:30px; color:#f5fbff; text-shadow:0 0 14px #80ddff; z-index:2}
.model-panel{min-width:0}
.panel-heading{display:flex; justify-content:space-between; gap:12px; align-items:start; padding:12px 20px 10px; border-bottom:1px solid #1c4d73}
.panel-heading h2,.small-heading h2,.section-heading h2{
  margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:21px;
}
.blue-heading h2{color:#8fd8ff;text-shadow:0 0 16px #2aa7ff44}
.green-heading h2{color:#80e38c;text-shadow:0 0 16px #2cff6540}
.panel-heading p{margin:4px 0 0; color:#a5cdf0; font-family:Georgia,serif; font-size:15px}.green-heading p{color:#a7e6a9}
.badge{border-radius:18px; padding:4px 10px; font-size:12px; white-space:nowrap; margin-top:1px}.badge.blue{border:1px solid #2d698c;color:#bfeeff;background:#0c2941}.badge.green{border:1px solid #31704a;color:#bff0c2;background:#0d2a1c}
.canvas-wrap{position:relative;margin:0;padding:0 12px 10px;background:radial-gradient(circle at 50% 36%,#133f6650,transparent 58%)}
.canvas-wrap canvas{width:100%;height:auto;display:block;border:1px solid #203e55;background:#05101c;box-shadow:inset 0 0 50px #02060d}
.ancient-wrap{background:radial-gradient(circle at 55% 34%,#23411755,transparent 63%)}
.canvas-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:absolute;left:28px;bottom:23px;right:24px;color:#c9d8e4;font-size:11px;text-shadow:0 1px 3px #000}
.canvas-legend span{display:inline-flex;align-items:center;gap:6px}.line{display:inline-block;width:28px;height:2px;background:#65d1ff}.pressure{box-shadow:0 0 8px #56c7ff}.velocity{background:#91f3ff;border-top:1px dashed #dff9ff}.dot{width:8px;height:8px;border-radius:50%;background:#eafaff;box-shadow:0 0 0 3px #ffffff22}.ring{width:13px;height:13px;border:2px dashed var(--gold);border-radius:50%}.wiggle{width:24px;height:10px;border-top:2px wavy #e7eff7}.sediment{width:8px;height:8px;border-radius:50%;background:#c88b42;box-shadow:10px 2px 0 #d0a260,18px -2px 0 #946b37}
.metric-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #274b61;background:linear-gradient(180deg,#0a1725,#08111e);padding:0}.metric-strip div{text-align:center;padding:11px 8px;border-left:1px solid #27445a}.metric-strip div:first-child{border-left:0}.metric-strip dt{font-size:11px;color:#b6c9d8}.metric-strip dd{margin:3px 0 0;color:#fff;font-size:15px}.green-strip{background:linear-gradient(180deg,#0a2116,#08160f)}.green-strip dd{color:#dbffd8}
.lower-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:13px;margin-top:13px}.results-panel,.comparison-table-panel{padding:0 0 16px}.small-heading{padding:9px 14px 6px;border-bottom:1px solid #234b68}.small-heading h2{font-size:17px;color:#a9dcff}.gauge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;padding:14px}.gauge{min-width:0;background:#071521;border:1px solid #213e58;border-radius:6px;padding:8px;text-align:center;position:relative;box-shadow:inset 0 0 18px #02080e}.gauge canvas{width:100%;max-width:150px;height:auto}.gauge p{margin:0 0 4px;color:#d8e5ee;font-size:12px}.gauge strong{display:block;margin-top:-52px;font-family:Georgia,serif;font-size:30px;color:#e8f6bb;text-shadow:0 0 10px #d5f66e33}.gauge span{display:block;color:#bedf9c;margin-top:2px}.scope-warning-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px}.interpretive-card,.danger-card{border:1px solid #244a66;border-radius:7px;padding:13px 15px;background:#091522;min-height:106px}.interpretive-card h3,.danger-card h3,.formula-box h3{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;color:#d9f2ff}.interpretive-card p,.danger-card p{margin:0;color:#c1d0da;font-size:12px}.danger-card{display:flex;gap:16px;align-items:center;border-color:#8f3b39;background:linear-gradient(90deg,#1b0d12,#140b12)}.danger-card span{font-size:46px;color:#ff8b82;text-shadow:0 0 20px #ff5d5d55}.danger-card h3{color:#ff8b82;font-size:21px;text-transform:none;line-height:1.08}
.comparison-table{width:calc(100% - 28px);margin:14px;border-collapse:collapse;background:#07131f;border:1px solid #254a63;font-size:12px}.comparison-table th,.comparison-table td{border:1px solid #254a63;padding:9px 8px;text-align:center}.comparison-table th{color:#d9ebf5;background:#0b1e30;font-weight:600}.comparison-table td:first-child{text-align:left;color:#b8e8ff}.comparison-table tr.ancient-row td:first-child{color:#baf2b6}.comparison-table .negative{color:#ffaaa3}.comparison-table .positive{color:#c9f2a5}.formula-box{margin:0 14px;background:#071521;border:1px solid #25445a;border-radius:6px;padding:12px 14px}.formula-box p{margin:.25rem 0;color:#c9d7e2}.regional-panel{margin-top:13px;padding-bottom:16px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border-bottom:1px solid #234b68}.section-heading h2{color:#c4e9ff;font-size:20px}.section-heading p{margin:2px 0 0;color:#9fb4c7}.section-heading.compact{padding:12px 16px}.section-heading.compact h2 span{font-size:13px;text-transform:none;color:#9ab4c4}.ghost-btn,.primary-btn{border:1px solid #2c638a;background:linear-gradient(180deg,#103657,#0b2540);border-radius:5px;color:#e8f7ff;padding:8px 12px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:inset 0 1px 0 #ffffff22}.ghost-btn:hover,.primary-btn:hover{filter:brightness(1.18);box-shadow:var(--glow)}.regional-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}.region-card{border:1px solid #274c64;border-radius:8px;background:linear-gradient(180deg,#091827,#07131e);padding:13px;min-height:180px;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.region-card:hover{transform:translateY(-2px);border-color:#62cfff;box-shadow:0 0 20px #2da8ff33}.region-card.active{border-color:#84e28e;box-shadow:0 0 20px #2cff6530}.region-card h3{margin:0 0 6px;font-family:Georgia,serif;color:#eaf7ff;font-size:18px}.region-card p{margin:0 0 9px;color:#aebdcc;font-size:12px}.region-card ul{margin:0;padding-left:18px;color:#d2dce5;font-size:12px}
.method-annotation-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:13px;margin-top:13px}.pdf-frame{width:100%;height:345px;border:0;background:#fff;display:block}.status-dot{display:inline-block;width:7px;height:7px;background:#5cef8e;border-radius:50%;margin:0 8px;box-shadow:0 0 12px #53ff8a}.pdf-label{color:#bce4ff!important}.annotation-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;padding:14px}.annotation-form label{margin:0}.annotation-form label span{color:#ff998f}.annotation-form .full{grid-column:1 / span 3}.annotation-form textarea{min-height:110px;resize:vertical}.json-preview{grid-column:2 / span 2;margin:0;background:#06141e;border:1px solid #27495d;border-radius:6px;color:#9bd7c0;min-height:112px;padding:12px;overflow:auto}.annotation-list{padding:0 14px 14px;display:grid;gap:8px}.annotation-item{border:1px solid #27495d;border-radius:6px;background:#071521;padding:10px}.annotation-item h4{margin:0;color:#e9f7ff}.annotation-item small{color:#7f9aad}.annotation-item p{margin:6px 0 0;color:#c8d5df}
.pdf-modal[hidden]{display:none}.pdf-modal{position:fixed;right:22px;top:210px;width:315px;z-index:40;display:grid;gap:14px}.progress-card,.report-preview-card{position:relative;background:#091622e8;border:1px solid #355970;border-radius:8px;padding:16px;box-shadow:0 22px 70px #000d,0 0 25px #44bfff22;backdrop-filter:blur(12px)}.modal-close{position:absolute;right:10px;top:8px;background:transparent;border:0;color:#e8f4ff;font-size:24px;line-height:1}.progress-card h2,.report-preview-card h3{margin:0 0 12px;font-family:Georgia,serif}.progress-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.progress-steps li{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;font-size:12px}.progress-steps span{width:16px;height:16px;border-radius:50%;border:2px solid #6f8492;display:block}.progress-steps li.done span{background:#68d56f;border-color:#68d56f}.progress-steps li.done span::after{content:"✓";display:block;color:#08230b;font-size:11px;text-align:center;line-height:12px}.progress-steps li.active span{border-color:#46c9ff;box-shadow:0 0 12px #46c9ff}.progress-steps em{font-style:normal;color:#8da0ad}.progress-steps li.done em{color:#83e08b}.progress-steps li.active em{color:#62d0ff}.progress-bar{height:12px;background:#102538;border-radius:10px;border:1px solid #2a5573;overflow:hidden}.progress-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#298bd6,#6fdcff);box-shadow:0 0 16px #52c7ff}.progress-card p{margin:6px 0 0;color:#cbd7e1}.report-cover-mini{height:260px;background:#f7f2e7;color:#241d18;border:5px double #c1b07c;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 11px;box-shadow:inset 0 0 30px #c9af6340}.mini-logo{text-transform:uppercase;font-family:Georgia,serif;font-size:10px;letter-spacing:.08em;color:#5f594c}.report-cover-mini h4{font-family:Georgia,serif;font-size:18px;line-height:1.1;margin:18px 0 6px}.report-cover-mini p{margin:0;font-size:12px}.mini-round{width:90px;height:90px;border:3px double #8c7a51;border-radius:50%;margin:18px 0;background:radial-gradient(circle,#255a75,#d7c398 58%,#efe2bf);box-shadow:inset 0 0 20px #0007}.report-cover-mini small{color:#6a5e4d}.preview-controls{display:flex;justify-content:center;gap:12px;margin-top:10px;color:#dbe7f0}.disabled{opacity:.45;pointer-events:none}
.help-dialog{width:min(760px,92vw);background:#081522;color:#eaf2f8;border:1px solid #4b7790;border-radius:10px;box-shadow:0 30px 100px #000; padding:24px}.help-dialog::backdrop{background:#000a}.help-dialog h2{font-family:Georgia,serif;margin-top:0}.help-dialog .modal-close{position:float;float:right}.app-footer{position:fixed;bottom:0;left:0;right:0;display:flex;gap:20px;align-items:center;justify-content:center;padding:9px 12px;background:#060f1ae8;border-top:1px solid #244962;color:#93a9b8;font-size:12px;z-index:25;backdrop-filter:blur(12px)}.app-footer button{margin-left:auto;background:#0c2135;border:1px solid #345a73;border-radius:18px;padding:5px 12px;color:#dbe9f4}
body.theme-sandstone{--blue:#d9bd68;--blue2:#b38934;--green:#70d097;--line:#6e5834;background:linear-gradient(180deg,#0b0a09,#14100b 40%,#19140d)}
body.theme-copper{--blue:#70debb;--blue2:#2ba27e;--green:#dcc579;--line:#30665c;background:linear-gradient(180deg,#06100d,#0b1a16 48%,#0f1710)}
body.theme-pressure{--blue:#ff786a;--blue2:#df3e44;--green:#ffd56a;--line:#723030;background:linear-gradient(180deg,#100609,#190a12 48%,#090611)}
body.theme-linework .canvas-wrap canvas{filter:saturate(.4) contrast(1.2)}
@media (max-width:1500px){.app-header{grid-template-columns:230px 1fr 330px}.control-ribbon{grid-template-columns:repeat(4,1fr)}.slider-grid{grid-column:1 / -1}.regional-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1100px){.app-header{grid-template-columns:1fr;text-align:center}.brand{justify-self:center}.header-tools{justify-content:center}.compare-grid,.lower-grid,.method-annotation-grid{grid-template-columns:1fr}.compare-arrow{height:28px;transform:rotate(90deg)}.control-ribbon{grid-template-columns:1fr 1fr}.slider-grid{grid-template-columns:repeat(2,1fr)}.regional-grid{grid-template-columns:repeat(2,1fr)}.pdf-modal{position:static;width:auto;margin:13px 12px}.tabs{overflow:auto}.tab{min-width:150px}.app-footer{position:static;flex-wrap:wrap}.workspace{margin-bottom:0}.gauge-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.workspace{padding:8px}.control-ribbon{grid-template-columns:1fr}.slider-grid{grid-template-columns:1fr}.regional-grid{grid-template-columns:1fr}.scope-warning-row{grid-template-columns:1fr}.annotation-form{grid-template-columns:1fr}.annotation-form .full,.json-preview{grid-column:auto}.comparison-table{display:block;overflow-x:auto}.gauge-grid{grid-template-columns:1fr}h1{font-size:32px}.subtitle{font-size:16px}.panel-heading{flex-direction:column}.canvas-legend{position:static;padding:8px 2px}.pdf-frame{height:420px}}
@media print{body{background:#fff;color:#000}.tabs,.header-tools,.control-ribbon,.app-footer,.pdf-modal,.annotation-form{display:none!important}.panel{box-shadow:none;border-color:#aaa;background:#fff;color:#000}.workspace{margin:0}.compare-grid,.lower-grid,.method-annotation-grid{display:block}.canvas-wrap canvas{border:1px solid #777}.panel-heading h2,.small-heading h2,.section-heading h2{color:#000}.comparison-table th,.comparison-table td{color:#000;border-color:#aaa}.danger-card{border-color:#900;color:#000}.pdf-frame{height:720px}}
