/* weth ex0periment ($EX0) · Letters Patent — cyanotype blueprint plate.
   dials: variance 6 · motion 2 · density 8. one accent (vermilion stamp red),
   one radius (2px), one theme (blueprint dark). */
:root{
  --ground:#0d2036;      /* cyanotype prussian */
  --panel:#122a46;
  --panel-2:#0f2540;
  --ink:#d9e8f5;         /* near-white blue, never pure white */
  --faint:#7e9cbb;
  --line:#35597f;
  --line-strong:#5b83ad;
  --accent:#ff6a45;      /* vermilion stamp */
  --mono:"Cascadia Code",ui-monospace,SFMono-Regular,Consolas,Menlo,monospace;
  --serif:Georgia,"Times New Roman",serif;
  --r:2px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--serif);font-size:17px;line-height:1.6;
  /* blueprint grid, faint */
  background-image:
    linear-gradient(rgba(120,160,205,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,160,205,.05) 1px,transparent 1px),
    linear-gradient(rgba(120,160,205,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,160,205,.08) 1px,transparent 1px);
  background-size:20px 20px,20px 20px,100px 100px,100px 100px;
}
.sheet{
  max-width:760px;margin:26px auto 60px;padding:44px 34px 60px;position:relative;
  border:1.5px solid var(--line-strong);outline:1px solid var(--line);outline-offset:5px;
  background:linear-gradient(180deg,rgba(18,42,70,.35),rgba(13,32,54,0) 320px);
}
.margin-serial{
  position:absolute;top:0;bottom:0;left:-1px;width:16px;
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:var(--mono);font-size:.55rem;letter-spacing:.22em;color:var(--faint);
  border-left:1px solid var(--line);padding:14px 1px;white-space:nowrap;overflow:hidden;
}
h2{font-family:var(--mono);font-size:.95rem;text-transform:uppercase;letter-spacing:.18em;
  margin:2.6em 0 .7em;padding-bottom:.45em;border-bottom:1px solid var(--line)}
h3{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--ink);margin:1.9em 0 .5em}
p{margin:0 0 1em}
code{font-family:var(--mono);font-size:.8em;color:var(--ink);
  background:rgba(91,131,173,.14);padding:.1em .35em;border-radius:var(--r);word-break:break-all}
em{font-style:italic}

/* ============ plate head ============ */
.plate-head{text-align:center;padding-bottom:8px;position:relative}
.office{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.34em;color:var(--faint)}
.patent-no{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  margin:10px 0 18px;color:var(--ink)}
.patent-no span{border:1px solid var(--line-strong);padding:2px 10px;margin-left:6px}
h1{font-family:var(--mono);font-weight:600;font-size:1.72rem;line-height:1.25;text-transform:uppercase;
  letter-spacing:.06em;margin:.1em 0 .35em}
.applicant{font-size:.95rem;color:var(--faint);font-style:italic}
.applicant strong{color:var(--ink);font-style:normal}

.title-block{width:100%;border-collapse:collapse;margin:22px 0 6px;font-family:var(--mono)}
.title-block td{border:1px solid var(--line);padding:8px 10px;text-align:left;font-size:.78rem;width:33.33%}
.title-block td span{display:block;font-size:.56rem;text-transform:uppercase;letter-spacing:.16em;color:var(--faint);margin-bottom:3px}

/* stamps: the single accent */
.stamp{
  position:absolute;font-family:var(--mono);font-weight:700;font-size:.72rem;line-height:1.5;
  text-transform:uppercase;letter-spacing:.14em;color:var(--accent);
  border:2.5px solid var(--accent);border-radius:var(--r);padding:7px 12px;text-align:center;
  transform:rotate(-9deg);opacity:.85;pointer-events:none;
  mask-image:radial-gradient(circle at 30% 40%,#000 60%,rgba(0,0,0,.55) 100%);
}
.stamp-burn{right:-6px;top:14px}
.stamp-final{right:6px;bottom:74px;transform:rotate(6deg)}

/* ============ readings ============ */
.readings{margin-top:26px}
.readings-label{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.24em;color:var(--faint);margin-bottom:6px}
.dash{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line-strong)}
.cell{background:var(--panel-2);padding:12px 10px;display:flex;flex-direction:column;gap:2px;font-family:var(--mono)}
.cell .k{font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}
.cell .v{font-size:1.18rem;font-weight:600;font-variant-numeric:tabular-nums}
.cell .u{font-size:.58rem;color:var(--faint)}
.mode{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-top:8px;text-align:right}
.mode.dry{color:var(--accent)}

/* ============ figure ============ */
.fig{margin:36px 0 8px;padding:0}
.fig1{width:100%;height:auto;display:block}
.fig1 .wheel{fill:none;stroke:var(--ink);stroke-width:2.2}
.fig1 .hub{fill:none;stroke:var(--ink);stroke-width:2}
.fig1 .hub-dot{fill:var(--ink)}
.fig1 .spokes path{stroke:var(--ink);stroke-width:1.6}
.fig1 .pawl path{fill:rgba(255,106,69,.14);stroke:var(--accent);stroke-width:2.2}
.fig1 .pivot{fill:none;stroke:var(--accent);stroke-width:2}
.fig1 .pivot-dot{fill:var(--accent)}
.fig1 .crank path{stroke:var(--ink);stroke-width:2;stroke-dasharray:5 4}
.fig1 .crank rect{fill:none;stroke:var(--ink);stroke-width:1.6}
.fig1 .drive{fill:none;stroke:var(--line-strong);stroke-width:1.4;stroke-dasharray:2 5}
.fig1 marker path{fill:var(--line-strong)}
.fig1 .leads path{stroke:var(--faint);stroke-width:1;stroke-dasharray:3 3}
.fig1 .leads text{fill:var(--ink);font-family:var(--mono);font-size:15px;font-weight:600}
.fig1 .drive-label{fill:var(--faint);font-size:11.5px;letter-spacing:.08em}
.fig1 .corner path{fill:none;stroke:var(--line-strong);stroke-width:1.4}
figcaption{font-size:.84rem;color:var(--faint);text-align:center;max-width:44em;margin:6px auto 0}
figcaption span{font-family:var(--mono);color:var(--ink);letter-spacing:.08em}

/* ============ prior art ============ */
.prior-art{border:1.5px solid var(--accent);border-radius:var(--r);padding:4px 20px 12px;margin:34px 0;
  background:rgba(255,106,69,.05)}
.prior-art h2{color:var(--accent);border-bottom-color:rgba(255,106,69,.4)}
.prior-art em{color:var(--accent)}
.finding{font-size:.95rem}
.finding strong{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}

/* ============ spec ============ */
.eqn{font-family:var(--mono);text-align:center;font-size:.98rem;background:rgba(91,131,173,.1);
  padding:12px;border-left:2px solid var(--line-strong);margin:1.2em 0}
table.blocks{width:100%;border-collapse:collapse;font-size:.88rem;margin:1em 0}
table.blocks th,table.blocks td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
table.blocks th{font-family:var(--mono);font-weight:600;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;background:rgba(91,131,173,.1)}
table.blocks td:first-child,table.blocks td:nth-child(2){font-family:var(--mono);white-space:nowrap}
.fine{font-size:.86rem;color:var(--faint)}
ol.steps{padding-left:1.3em}
ol.steps li{margin-bottom:.7em}
.burn-word{color:var(--accent)}
.flow{font-family:var(--mono);font-size:.74rem;line-height:1.9;border:1px solid var(--line-strong);
  background:var(--panel-2);color:var(--ink);padding:14px 16px;border-radius:var(--r);margin:1.2em 0 .4em}

/* ============ claims ============ */
.claims-pre{font-style:italic;color:var(--faint)}
.claim{display:flex;gap:14px;margin:1.3em 0}
.claim-no{font-family:var(--mono);font-weight:700;font-size:1.05rem;color:var(--ink);min-width:1.4em;text-align:right}
.claim>div p:first-child{background:rgba(91,131,173,.1);padding:10px 14px;border-left:3px solid var(--line-strong);margin-bottom:.4em}
.proof{font-size:.9rem;color:var(--faint);padding-left:14px;border-left:1px dotted var(--line)}

/* ============ disclosure + footer ============ */
.disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0;margin-top:36px}
.disclosure h2{color:var(--accent);border-bottom:none}
footer{margin-top:38px;border-top:2px solid var(--line-strong);padding-top:18px;position:relative}
.refs-label{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.24em;color:var(--faint);margin-bottom:10px}
.addrs{display:flex;flex-direction:column;gap:9px;margin-bottom:16px}
.addrs>div{display:flex;flex-direction:column;gap:2px}
.addrs span{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:var(--faint)}
.addrs code{background:none;padding:0;font-size:.78rem}
button.ca{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line-strong);
  border-radius:var(--r);padding:7px 10px;cursor:pointer;color:var(--ink);text-align:left;font:inherit;max-width:100%}
button.ca:hover{border-color:var(--accent)}
button.ca:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button.ca em{font-family:var(--mono);font-style:normal;font-size:.6rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--accent);flex-shrink:0}
.links{display:flex;gap:10px;margin:4px 0 18px;flex-wrap:wrap}
.links a{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;
  color:var(--ink);text-decoration:none;border:1px solid var(--line-strong);border-radius:var(--r);padding:8px 14px}
.links a:hover{border-color:var(--accent);color:var(--accent)}
.links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.links a[aria-disabled="true"]{opacity:.45;pointer-events:none}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media(max-width:600px){
  body{font-size:15.5px}
  .sheet{margin:10px 8px 40px;padding:34px 16px 50px}
  .margin-serial{display:none}
  h1{font-size:1.22rem}
  .dash{grid-template-columns:repeat(2,1fr)}
  .stamp-burn{right:-4px;top:-6px;font-size:.6rem}
  .stamp-final{bottom:120px}
  .title-block td{font-size:.66rem;padding:6px}
}
