@charset "UTF-8";
:root{
  color-scheme:light;
  font-family:Inter,"Helvetica Neue",Arial,"Noto Sans SC",sans-serif;
  font-synthesis:none;
  --ink:#0a0a0a;
  --muted:#777;
  --soft:#f3f3f3;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#fff;color:var(--ink)}
body{padding:0 clamp(22px,4vw,72px) 34px;overflow-x:hidden}
button,a,input{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
button:focus-visible,a:focus-visible,#stage:focus-visible,input:focus-visible{outline:2px solid #111;outline-offset:4px}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between}
.wordmark{color:var(--ink);text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.08em}
.edition{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--muted)}
main{width:min(1500px,100%);min-height:calc(100vh - 238px);margin:0 auto;display:grid;grid-template-columns:minmax(280px,32%) 1fr;align-items:center}
.identity{padding:24px clamp(18px,3vw,56px) 24px 0;align-self:center;position:relative;z-index:3}
.kicker{margin:0 0 15px;font-size:11px;font-weight:650;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
h1{margin:0;max-width:520px;font-size:clamp(48px,5.1vw,88px);font-weight:850;line-height:.88;letter-spacing:-.065em;overflow-wrap:anywhere}
.actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:34px}
.actions button{border:0;background:transparent;padding:10px 12px;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background-color .16s ease,color .16s ease}
.actions button:hover,.actions button[aria-pressed="true"]{background:var(--ink);color:#fff}
.display{position:relative;min-width:0;height:min(76vh,820px);min-height:560px;isolation:isolate}
#stage{position:absolute;inset:0;touch-action:none;cursor:grab}
#stage:active{cursor:grabbing}
#stage canvas{display:block;width:100%;height:100%}
#loading{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--muted);white-space:pre-wrap;text-align:center}
.view-label{position:absolute;right:0;top:16px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--muted);pointer-events:none}
.controls{width:min(1500px,100%);margin:12px auto 0;display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:clamp(22px,4vw,72px);align-items:end}
.controls label{min-width:0;font-size:10px;font-weight:700;letter-spacing:.08em;color:#444}
.controls label>span{display:flex;justify-content:space-between;gap:16px;white-space:nowrap}
.controls output{font:inherit;color:var(--muted)}
input[type="range"]{--value:50%;appearance:none;-webkit-appearance:none;display:block;width:100%;height:18px;margin:10px 0 0;background:transparent;cursor:pointer}
input[type="range"]::-webkit-slider-runnable-track{height:2px;background:#d7d7d7}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-6px;border:0;border-radius:50%;background:#111}
input[type="range"]::-moz-range-track{height:2px;background:#d7d7d7}
input[type="range"]::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#111}
@media(max-width:900px){
  body{padding-inline:24px}
  .topbar{height:68px}
  main{grid-template-columns:1fr;min-height:auto}
  .identity{padding:22px 0 0}
  h1{font-size:clamp(50px,12vw,82px);max-width:none}
  .actions{margin-top:20px}
  .display{height:620px;min-height:500px}
  .controls{grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:0;padding-bottom:18px}
}
@media(max-width:520px){
  body{padding-inline:18px}
  .edition{font-size:9px}
  .kicker{font-size:9px}
  .display{height:500px;min-height:440px}
  .view-label{top:6px}
  .controls{grid-template-columns:1fr;gap:17px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
