/* Deep Desert Labs optics tools. Every rule is scoped to .optics-tools (and .ot-body for the
   standalone page background), so this file cannot restyle other pages. Tokens follow site/styles.css. */
.ot-body { margin:0; background:#080e18; color-scheme:dark; }
.optics-tools { --ot-ink:#080e18; --ot-panel:#0e1623; --ot-text:#f0f1ef; --ot-muted:#a5b0c1; --ot-blue:#78a2ff; --ot-magenta:#e08acb; --ot-sand:#d4c7ae; --ot-line:#29354a;
  color:var(--ot-text); background:var(--ot-ink); font:16px/1.6 "Segoe UI",Arial,sans-serif; min-height:100vh; }
.optics-tools *, .optics-tools *::before, .optics-tools *::after { box-sizing:border-box; }
.optics-tools main { max-width:1240px; margin:auto; padding:0 36px 64px; }
.optics-tools a { color:var(--ot-blue); text-underline-offset:4px; }
.optics-tools :is(a,button,input,select,summary):focus-visible { outline:2px solid var(--ot-magenta); outline-offset:3px; }
.optics-tools .ot-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; margin:0; }
.optics-tools .ot-skip { position:absolute; top:-80px; left:16px; z-index:2; background:var(--ot-ink); padding:12px; }
.optics-tools .ot-skip:focus { top:0; }
.optics-tools .ot-header { max-width:1312px; margin:auto; padding:24px 36px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 20px; border-bottom:1px solid var(--ot-line); font-size:12px; letter-spacing:.06em; }
.optics-tools .ot-header a { color:var(--ot-text); text-decoration:none; }
.optics-tools .ot-header a span { color:var(--ot-muted); }
.optics-tools .ot-header nav { display:flex; flex-wrap:wrap; gap:6px 18px; }
.optics-tools .ot-header nav a { color:var(--ot-muted); }
.optics-tools .ot-header nav a[aria-current="page"] { color:var(--ot-text); border-bottom:1px solid var(--ot-blue); }
.optics-tools .ot-intro { max-width:820px; padding:56px 0 24px; }
.optics-tools .ot-eyebrow { color:var(--ot-blue); font:11px/1.6 Consolas,"Courier New",monospace; letter-spacing:.13em; margin:0 0 14px; text-transform:uppercase; }
.optics-tools :is(h1,h2,h3) { font-family:Bahnschrift,"Segoe UI",Arial,sans-serif; font-weight:500; letter-spacing:-.03em; line-height:1.12; margin:0 0 16px; }
.optics-tools h1 { font-size:clamp(34px,4.4vw,60px); }
.optics-tools h1 span { color:var(--ot-sand); }
.optics-tools h2 { font-size:clamp(23px,2.6vw,32px); }
.optics-tools h3 { font-size:19px; }
.optics-tools p { color:var(--ot-muted); margin:10px 0 16px; }
.optics-tools .ot-lead { font-size:19px; color:#c1cad7; }
.optics-tools .ot-notice { border-left:2px solid var(--ot-magenta); padding:6px 16px; font-size:14px; }
.optics-tools .ot-notice strong { color:var(--ot-text); }
.optics-tools .ot-critical-notice { border:1px solid var(--ot-sand); border-left:4px solid var(--ot-sand); background:rgba(212,199,174,.07); padding:16px 18px; color:var(--ot-text); font-size:15px; line-height:1.65; }
.optics-tools .ot-critical-notice strong { display:block; color:var(--ot-sand); margin-bottom:5px; }
.optics-tools .ot-layout { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px; align-items:start; }
.optics-tools .ot-panel { padding:28px; border:1px solid var(--ot-line); background:var(--ot-panel); border-radius:3px; min-width:0; }
.optics-tools .ot-panel + .ot-panel { margin-top:24px; }
.optics-tools fieldset { border:0; padding:0; margin:0; min-width:0; }
.optics-tools legend { padding:0; font-size:13px; color:var(--ot-sand); margin-bottom:8px; }
.optics-tools .ot-field { margin:0 0 18px; }
.optics-tools .ot-field > label, .optics-tools .ot-label { display:block; font-size:14px; color:var(--ot-text); margin-bottom:6px; }
.optics-tools .ot-hint { display:block; font-size:12px; color:var(--ot-muted); margin-top:4px; }
.optics-tools .ot-pair { display:flex; gap:8px; }
.optics-tools .ot-pair input { flex:1 1 auto; min-width:0; }
.optics-tools .ot-pair select { flex:0 0 96px; }
.optics-tools :is(input,select) { display:block; width:100%; border:1px solid #45536b; border-radius:3px; background:#080f1b; color:var(--ot-text); min-height:44px; padding:9px 10px; font:15px "Segoe UI",Arial,sans-serif; }
.optics-tools input[aria-invalid="true"] { border-color:var(--ot-magenta); border-width:2px; }
.optics-tools .ot-field-error { display:block; color:var(--ot-magenta); font-size:13px; margin-top:4px; }
.optics-tools .ot-field-error:empty { display:none; }
.optics-tools .ot-field-error:not(:empty)::before { content:"Error: "; font-weight:600; }
.optics-tools .ot-radios { display:flex; flex-wrap:wrap; gap:8px 18px; }
.optics-tools .ot-radios label { display:flex; gap:8px; align-items:center; font-size:14px; min-height:32px; cursor:pointer; }
.optics-tools .ot-radios input { width:18px; min-height:18px; height:18px; accent-color:var(--ot-blue); }
.optics-tools .ot-status { border:1px solid var(--ot-magenta); color:var(--ot-text); padding:12px 14px; border-radius:3px; font-size:14px; margin:0 0 16px; }
.optics-tools .ot-status::before { content:"Cannot calculate: "; font-weight:600; color:var(--ot-magenta); }
.optics-tools .ot-results { margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); border-style:solid; border-color:var(--ot-line); border-width:1px 0 0 1px; }
.optics-tools .ot-results > div { background:var(--ot-panel); padding:14px 16px; min-width:0; border-right:1px solid var(--ot-line); border-bottom:1px solid var(--ot-line); }
.optics-tools .ot-results dt { font-size:12px; color:var(--ot-muted); }
.optics-tools .ot-results dd { margin:4px 0 0; font:500 20px/1.3 Bahnschrift,"Segoe UI",Arial,sans-serif; color:var(--ot-text); overflow-wrap:anywhere; }
.optics-tools .ot-results dd small { display:block; font:12px "Segoe UI",Arial,sans-serif; color:var(--ot-muted); }
.optics-tools .ot-results .ot-primary dd { color:var(--ot-sand); font-size:24px; }
.optics-tools .ot-warning { border-left:2px solid var(--ot-sand); padding:6px 14px; font-size:14px; color:var(--ot-text); }
.optics-tools .ot-warning::before { content:"Note: "; font-weight:600; color:var(--ot-sand); }
.optics-tools figure { margin:24px 0 0; }
.optics-tools .ot-plot { width:100%; height:auto; display:block; background:#0b121e; border:1px solid var(--ot-line); }
.optics-tools figcaption { font-size:12px; color:var(--ot-muted); margin-top:8px; }
.optics-tools details { border-top:1px solid var(--ot-line); margin-top:20px; padding-top:14px; }
.optics-tools summary { cursor:pointer; color:var(--ot-sand); font-size:14px; min-height:32px; }
.optics-tools .ot-table-scroll { overflow-x:auto; }
.optics-tools table { border-collapse:collapse; font-size:13px; width:100%; }
.optics-tools caption { text-align:left; color:var(--ot-muted); font-size:12px; padding:8px 0; }
.optics-tools :is(th,td) { padding:7px 10px; border-bottom:1px solid #2b374b; text-align:right; white-space:nowrap; }
.optics-tools th { color:var(--ot-muted); font-weight:500; }
.optics-tools .ot-model { margin-top:40px; }
.optics-tools .ot-model h3 { margin-top:22px; }
.optics-tools .ot-model ul { color:var(--ot-muted); padding-left:20px; font-size:14px; }
.optics-tools .ot-model li { margin:4px 0; }
.optics-tools .ot-eq { font:14px/1.9 Consolas,"Courier New",monospace; color:var(--ot-text); background:#0b121e; border:1px solid var(--ot-line); padding:12px 16px; overflow-x:auto; white-space:pre; margin:10px 0 16px; }
.optics-tools .ot-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.optics-tools .ot-card { display:block; padding:26px; border:1px solid #334159; border-radius:3px; background:var(--ot-panel); color:var(--ot-text); text-decoration:none; }
.optics-tools .ot-card:hover { border-color:var(--ot-blue); }
.optics-tools .ot-card p { font-size:14px; }
.optics-tools .ot-card .ot-go { color:var(--ot-blue); font-size:14px; }
.optics-tools .ot-footer { border-top:1px solid var(--ot-line); margin-top:48px; padding-top:18px; font-size:12px; color:var(--ot-muted); }
@media (max-width: 900px) {
  .optics-tools .ot-layout, .optics-tools .ot-cards { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 560px) {
  .optics-tools main { padding:0 16px 48px; }
  .optics-tools .ot-header { padding:18px 16px; }
  .optics-tools .ot-panel { padding:20px 16px; }
  .optics-tools .ot-intro { padding:36px 0 16px; }
  .optics-tools .ot-lead { font-size:17px; }
}
@media (prefers-reduced-motion: reduce) { .optics-tools * { transition:none !important; } }
.optics-tools .ot-subhead { margin-top:28px; }
.optics-tools .ot-verdict { border:1px solid var(--ot-line); border-left-width:4px; padding:10px 14px; color:var(--ot-text); font-size:15px; margin:0 0 16px; }
.optics-tools .ot-verdict[data-level="within"] { border-left-color:var(--ot-blue); }
.optics-tools .ot-verdict[data-level="below-safety"] { border-left-color:var(--ot-sand); }
.optics-tools .ot-verdict[data-level="above-threshold"] { border-left-color:var(--ot-magenta); }
.optics-tools .ot-notes { margin:16px 0 0; padding-left:20px; font-size:14px; color:var(--ot-text); }
.optics-tools .ot-notes li { margin:6px 0; }
.optics-tools .ot-notes li::marker { color:var(--ot-sand); }
.optics-tools .ot-lens-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.optics-tools .ot-check { display:flex; gap:10px; align-items:center; cursor:pointer; }
.optics-tools .ot-check input { width:18px; min-height:18px; height:18px; accent-color:var(--ot-blue); }
.optics-tools [hidden] { display:none !important; }
.optics-tools .ot-eqs { display:grid; gap:2px; margin:10px 0 18px; background:#0b121e; border:1px solid var(--ot-line); padding:8px 16px; }
.optics-tools .ot-eqrow { padding:8px 0 10px; border-bottom:1px solid #1b2638; }
.optics-tools .ot-eqrow:last-child { border-bottom:0; }
.optics-tools .ot-eqrow math { display:block math; width:fit-content; max-width:100%; font-family:"Cambria Math","STIX Two Math","Latin Modern Math",math; font-size:1.2em; color:var(--ot-text); margin:0; overflow-x:auto; overflow-y:hidden; padding:4px 0; text-align:left; }
.optics-tools .ot-eqnote { margin:0; font-size:13px; color:var(--ot-muted); }

