:root{--canvas:#0D0E10;--paper:#15161A;--elevated:#1A1B1F;--accent:#D4A046;--text:#EBE4D1;
  --text2:#9A9486;--danger:#DA8275;--border:#6B675E;--on-accent:#0D0E10;color-scheme:dark}
:root[data-field]{--canvas:#EDE7DA;--paper:#F6F2E8;--elevated:#FDFBF6;--accent:#734E0C;--text:#161410;
  --text2:#5A5346;--danger:#9A2F24;--border:#7A7264;--on-accent:#F6F2E8;color-scheme:light}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font:-apple-system-body;font-family:ui-rounded,-apple-system,system-ui,sans-serif}
body{margin:0;background:var(--canvas);color:var(--text);line-height:1.5}
header{padding:12px 16px;border-bottom:1px solid var(--border)}
.home,.label,h3{font-family:ui-monospace,Menlo,monospace;letter-spacing:.08em}
.home{color:var(--accent);text-decoration:none;font-size:.8rem;font-weight:600}
main{max-width:720px;margin:0 auto;padding:16px 16px 48px}
h1{font-size:1.7rem;line-height:1.2;margin:.4em 0}
h2{font-size:1.2rem;margin:2em 0 .5em;padding-top:.6em;border-top:1px solid var(--border)}
h3{font-size:.8rem;color:var(--text2);text-transform:uppercase;margin:1.6em 0 .4em}
a{color:var(--accent)}
.label{font-size:.85em;white-space:nowrap;border:1px solid var(--border);border-radius:4px;padding:0 .35em}
ol.steps{padding-left:0;list-style:none;counter-reset:s}
ol.steps>li{counter-increment:s;position:relative;padding:0 0 .9em 2.6em}
ol.steps>li::before,.pin{content:counter(s);display:grid;place-items:center;width:1.8em;height:1.8em;
  border-radius:50%;background:var(--accent);color:var(--on-accent);font:700 .85rem ui-monospace,Menlo,monospace}
ol.steps>li::before{position:absolute;left:0;top:0}
.shot{margin:1.2em 0}
.frame{position:relative;max-width:330px;margin:0 auto;border:1px solid var(--border);border-radius:18px;overflow:hidden}
.frame img{display:block;width:100%;height:auto}
.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:1.55em;height:1.55em;font-size:.75rem;box-shadow:0 0 0 2px var(--canvas)}
figcaption{color:var(--text2);font-size:.9rem;text-align:center;margin-top:.5em}
.flag{color:var(--danger);font-weight:700}
.note{background:var(--paper);border-left:3px solid var(--accent);padding:.7em 1em;border-radius:0 8px 8px 0}
ul.pages{list-style:none;padding:0;margin:0}
ul.pages a{display:block;padding:.75em .2em;min-height:44px;border-bottom:1px solid var(--paper);text-decoration:none;color:var(--text)}
#q{width:100%;font:inherit;padding:.7em .9em;min-height:44px;border-radius:10px;border:1px solid var(--border);
  background:var(--elevated);color:var(--text)}
@media (min-width:700px){.shots{display:grid;grid-template-columns:1fr 1fr;gap:16px}}
footer{max-width:720px;margin:0 auto;padding:16px 16px 40px;color:var(--text2);font-size:.85rem;border-top:1px solid var(--border)}
