/* shared shell for every sample — one file, cached across pages */
:root{
  --paper:#efebe3; --paper-2:#e6e1d6; --ink:#17140f; --muted:#6d6659;
  --rule:#17140f1f; --bake:#b8442a; --dead:#8d8577;
  --shadow:0 40px 70px -34px #3a2f1f66;
  --ease:cubic-bezier(.2,.75,.2,1);
  --serif:"Instrument Serif",Georgia,serif;
  --sans:"Instrument Sans",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{margin:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.6;overflow-x:hidden;
  background-image:radial-gradient(120% 70% at 78% -10%,#fffdf8 0%,transparent 55%);
}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(18px,5vw,56px)}

.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);display:flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;flex:none}

h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,7.5vw,4.4rem);
  line-height:.95;letter-spacing:-.025em;margin:.3em 0 .3em}
h1 em{font-style:italic;color:var(--bake)}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.02em;line-height:1.08}
p.lede{font-size:clamp(1rem,3.4vw,1.14rem);color:#3b352c;max-width:48ch}
p.lede strong{font-weight:600}

/* top bar — every sample links home */
.bar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;
  gap:14px;padding:11px clamp(18px,5vw,56px);background:#efebe3e6;backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:11px;
  letter-spacing:.13em;text-transform:uppercase}
.bar a{color:var(--muted);text-decoration:none}
.bar a:hover,.bar a:focus-visible{color:var(--bake)}
.bar .cost{color:var(--bake);font-weight:700;letter-spacing:0}

.stage{position:relative;border-radius:14px;overflow:hidden;
  background:linear-gradient(168deg,#f7f4ee,var(--paper-2));
  border:1px solid var(--rule);box-shadow:var(--shadow);
  aspect-ratio:4/3;display:grid;place-items:center;touch-action:pan-y}
.stage img{width:100%;height:100%;object-fit:contain;display:block}
.stage canvas{position:absolute;inset:0;width:100%;height:100%}

.hint{position:absolute;right:12px;bottom:11px;z-index:6;font-family:var(--mono);font-size:10px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);background:#ffffffbf;
  backdrop-filter:blur(6px);padding:5px 9px;border-radius:100px;border:1px solid var(--rule);
  transition:opacity .5s var(--ease)}
.tag{position:absolute;left:12px;top:11px;z-index:6;font-family:var(--mono);font-size:10px;
  letter-spacing:.15em;text-transform:uppercase;padding:5px 9px;border-radius:100px;
  background:#ffffffcc;backdrop-filter:blur(6px);border:1px solid #b8442a3d;color:var(--bake)}

.spec{list-style:none;padding:0;margin:22px 0 0;font-family:var(--mono);font-size:12px;color:var(--muted)}
.spec li{display:flex;gap:12px;padding:7px 0;border-top:1px solid var(--rule)}
.spec b{color:var(--ink);font-weight:500;min-width:88px;flex:none}

footer{padding:44px 0 68px;margin-top:40px;border-top:1px solid var(--rule);font-family:var(--mono);
  font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
a{color:inherit}
:focus-visible{outline:2px solid var(--bake);outline-offset:3px;border-radius:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
