:root{--bg:#030706;--panel:#08100e;--line:#1b3b32;--mint:#72f1bd;--green:#16c784;--text:#e8fff6;--muted:#8eaaa0;--danger:#ff7f7f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% -10%,#10372c 0,transparent 36%),var(--bg);color:var(--text);font:15px/1.6 Inter,ui-sans-serif,system-ui,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.11;background-image:linear-gradient(rgba(114,241,189,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(114,241,189,.13) 1px,transparent 1px);background-size:42px 42px}header,main,footer{position:relative;z-index:1}header{height:72px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(3,7,6,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:3}.brand{color:var(--text);text-decoration:none;font-weight:850;letter-spacing:.12em}.brand span,em{color:var(--mint);font-style:normal}.session{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;letter-spacing:.14em}.session i{width:8px;height:8px;background:#f0ad4e;border-radius:50%;box-shadow:0 0 14px currentColor}.session.ok i{background:var(--green)}main{width:min(1180px,92vw);margin:auto;padding:48px 0 80px}.hero{display:grid;grid-template-columns:1.5fr .8fr;gap:40px;align-items:end;padding:34px 0 54px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--mint)}h1{font-size:clamp(46px,7vw,86px);line-height:.98;letter-spacing:-.05em;margin:16px 0 22px}.hero p{max-width:710px;color:var(--muted);font-size:18px}.hero aside{border:1px solid var(--line);padding:26px;background:linear-gradient(145deg,rgba(114,241,189,.1),rgba(8,16,14,.85));display:grid;gap:6px}.hero aside b{color:var(--mint);font-size:20px}.hero aside span{font-size:10px;letter-spacing:.15em}.hero aside small{color:var(--muted)}.tool-nav{display:flex;gap:8px;overflow:auto;border-bottom:1px solid var(--line);padding-bottom:12px;position:sticky;top:72px;background:rgba(3,7,6,.96);z-index:2}.tool-nav button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:10px 14px;white-space:nowrap;cursor:pointer}.tool-nav button.active,.tool-nav button:hover{color:var(--bg);background:var(--mint);border-color:var(--mint)}.view{display:none;padding:42px 0}.view.active{display:block}.view-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}.view-head>span{color:var(--mint);font:700 12px ui-monospace,monospace;border:1px solid var(--line);padding:6px}.view h2{font-size:34px;line-height:1.1;margin:0 0 8px}.view p{margin:0;color:var(--muted)}.workspace{border:1px solid var(--line);background:rgba(8,16,14,.82);padding:24px}.two-col{display:grid;grid-template-columns:1.4fr .8fr;gap:24px}.dropzone{min-height:180px;border:1px dashed #356b59;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer}.dropzone:hover{border-color:var(--mint);background:rgba(114,241,189,.04)}.dropzone input{max-width:80%}.dropzone b{font-size:19px}.dropzone span{color:var(--muted);font-size:12px}.controls{display:flex;flex-direction:column;gap:16px;justify-content:center}.controls label,.calculator label{display:grid;gap:6px;color:var(--muted);font-size:12px;letter-spacing:.04em}input,select{width:100%;border:1px solid var(--line);background:#050a09;color:var(--text);padding:12px}button.primary,.download,.verify{border:0;background:var(--mint);color:#032116;font-weight:800;padding:13px 18px;cursor:pointer;text-decoration:none;display:inline-block}.result{margin-top:18px;border:1px solid var(--line);background:#050a09;padding:18px;min-height:62px;overflow:auto}.result.error{border-color:#733;color:var(--danger)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric-grid div,.history-row,.benchmark-row{border:1px solid var(--line);padding:12px;background:var(--panel)}.metric-grid span{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em}.metric-grid b{font-size:20px}.benchmark-row,.history-row{display:grid;grid-template-columns:1.2fr repeat(3,.7fr);gap:10px;align-items:center;margin:8px 0}.benchmark-row.geomatrix{border-color:var(--mint)}.history-row{grid-template-columns:1.4fr .9fr .7fr auto}.calculator{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;border:1px solid var(--line);padding:20px;background:var(--panel)}.developer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.developer-grid article{border:1px solid var(--line);padding:20px;background:var(--panel)}code{display:block;color:var(--mint);padding:7px 0;font-size:12px}.desktop-promo{display:flex;justify-content:space-between;align-items:center;gap:36px;margin-top:36px;padding:32px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(114,241,189,.1),rgba(8,16,14,.9))}.desktop-promo small{color:var(--mint);letter-spacing:.15em}.desktop-promo h2{margin:8px 0;font-size:28px}.desktop-promo p{max-width:760px;margin:0;color:var(--muted)}.desktop-promo a{flex:0 0 auto;background:var(--mint);color:#032116;font-weight:800;padding:13px 18px;text-decoration:none}footer{border-top:1px solid var(--line);padding:28px max(24px,5vw);display:flex;justify-content:space-between;color:var(--muted)}footer a{color:var(--mint)}@media(max-width:800px){.hero,.two-col{grid-template-columns:1fr}.calculator,.developer-grid,.metric-grid{grid-template-columns:1fr 1fr}.benchmark-row,.history-row{grid-template-columns:1fr}.tool-nav{top:64px}.desktop-promo{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.calculator,.developer-grid,.metric-grid{grid-template-columns:1fr}h1{font-size:44px}}

.calibration-card{display:grid;gap:.4rem;margin:1rem 0;padding:1rem;border:1px solid rgba(24,255,131,.35);background:rgba(3,18,11,.75)}
.calibration-card strong{color:#18ff83;letter-spacing:.12em;font-size:.78rem}
.calibration-card span{color:#d7e5df;line-height:1.45}
.calibration-card.loss{border-color:rgba(255,184,77,.6);background:rgba(35,20,3,.75)}
.calibration-card.loss strong{color:#ffb84d}

/* Personal library picker */
.library-picker{margin:1.5rem 0 0;padding:1.25rem;border:1px solid rgba(8,145,178,.35);border-radius:12px;background:rgba(3,12,16,.72);display:grid;gap:1rem}
.library-picker .view-head h2{font-size:1.15rem;margin:0}
.library-hits{display:grid;gap:.5rem}
.library-hit{text-align:left;padding:.7rem .9rem;border:1px solid rgba(148,163,184,.25);border-radius:8px;background:rgba(15,23,42,.55);color:#e2e8f0;cursor:pointer}
.library-hit:hover{border-color:#0891b2;background:rgba(8,145,178,.12)}

.geo-seal-panel{margin-top:18px}.geo-seal-panel #geo-seal-status.error,#geo-store-status.error,#restore-result.error{color:var(--danger)}.geo-seal-panel .controls{flex-direction:row;flex-wrap:wrap;align-items:end}.geo-seal-panel .controls label{min-width:180px;flex:1}
.geo-seal-stats{margin:14px 0 18px}.geo-seal-stats.metric-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
#geo-store-geopack{border:1px solid var(--line);background:transparent;color:var(--mint);font-weight:700;padding:13px 18px;cursor:pointer}
#geo-store-geopack:disabled{opacity:.45;cursor:not-allowed}
#geo-store-status{margin:0}

/* Simple seal UX hooks (visual path lives in seal-explainer.css) */
.geo-seal-panel .seal-path{margin-bottom:1rem}
.seal-ratio-loud #geo-seal-ratio{font-size:clamp(28px,4vw,42px);color:var(--mint)}

.receipt-tiny-note {
  margin: 0.35rem 0 0.6rem;
  padding: 0.45rem 0.65rem;
  border-left: 3px solid #e8c56a;
  background: rgba(232, 197, 106, 0.08);
  color: #e8c56a;
  font-size: 0.86rem;
  line-height: 1.35;
}
.receipt-tiny-note[hidden] { display: none !important; }

/* password visibility toggle (2.9.71) */

.password-field {
  position: relative;
  display: block;
  width: 100%;
}
.password-field > input[type="password"],
.password-field > input[type="text"] {
  width: 100%;
  padding-right: 2.75rem;
}
.password-toggle {
  position: absolute;
  right: 0.35rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted, #8ca79a);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.password-toggle:hover,
.password-toggle:focus-visible {
  color: var(--g, var(--mint, #6effb1));
  outline: 1px solid rgba(110, 255, 177, 0.45);
}
.password-toggle .eye-icon[hidden] { display: none !important; }
button.password-toggle {
  width: 2.25rem;
  background: transparent;
  color: var(--muted, #8ca79a);
  font-weight: 600;
  border-radius: 8px;
}

