:root{color-scheme:light;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;--ink:#242924;--base:#f4f1e9;--mute:#505b53;--accent:#87683b;--rule:#cfcbbd}*{box-sizing:border-box}:focus-visible{outline:3px solid #b57432;outline-offset:3px}body{margin:0;background:var(--base);color:var(--ink)}body[data-theme=club]{--ink:#30261f;--base:#f1ebe1;--mute:#60584c;--rule:#cfc5b5}button,a{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:wait}h1,h2,p,figure{margin:0}.wrap{max-width:1620px;margin:auto;padding:0 clamp(16px,4vw,64px)}header{border-bottom:1px solid var(--rule)}header .wrap{min-height:68px;display:flex;align-items:center;gap:19px}.brand{font-size:12px;font-weight:780;letter-spacing:.20em}.back{color:var(--mute);font-size:13px;text-underline-offset:3px}.lang{display:flex;gap:3px;margin-left:auto}.lang button{padding:7px 10px;min-height:36px;border:1px solid transparent;color:var(--mute);background:transparent;border-radius:3px;font-size:12px}.lang [aria-pressed=true]{border-color:var(--rule);color:var(--ink);font-weight:700}.layout{display:grid;grid-template-columns:minmax(235px,.85fr) minmax(0,3.5fr);gap:clamp(24px,3.5vw,62px);padding-top:clamp(24px,3vw,48px)}.eyebrow,.dimension,.count{font-size:11px;letter-spacing:.12em;font-weight:670;text-transform:uppercase;color:var(--accent)}h1{font:400 clamp(40px,4vw,70px)/1.03 Georgia,serif;letter-spacing:-.045em;margin:14px 0}.description,.caption{color:var(--mute);font-size:15px;line-height:1.52}.dimension{border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px;margin-top:20px;padding-top:11px}.dimension b{white-space:nowrap;letter-spacing:0;font-size:13px;color:var(--ink)}nav{display:grid;gap:5px;margin:24px 0 15px}.tab{background:transparent;text-align:left;border:1px solid var(--rule);padding:10px 13px;min-height:43px;border-radius:3px;color:var(--ink);font-size:14px}.tab .num{color:var(--accent);font-size:10px;margin-right:13px;letter-spacing:.12em}.tab[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.tab[aria-pressed=true] .num{color:#e2d4b6}.stage{position:relative;width:100%;height:clamp(400px,67svh,800px);min-width:0;overflow:hidden;background:#292a25;border:1px solid var(--rule);border-radius:3px}.poster,canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.poster{object-fit:cover;pointer-events:none}.ready .poster{display:none}.fallback .poster{display:block}canvas{touch-action:none}.tools{position:absolute;bottom:14px;right:14px;display:flex;gap:5px}.tools button{border:1px solid #beb7a7bb;border-radius:3px;min-width:42px;min-height:42px;padding:0 13px;background:#211d19ed;color:#fff;font-size:19px}.tools #reset{font-size:13px}.progress,.failure{position:absolute;z-index:2;left:12px;bottom:13px;background:#f9f7f0ed;color:#342d23;padding:9px 13px;border-radius:3px;font-size:12px}.failure{bottom:66px;max-width:32em;line-height:1.5}.failure button{border:0;background:transparent;color:#514229;text-decoration:underline;font-weight:650}.ready .progress,[hidden]{display:none!important}figcaption{margin-top:17px}.caphead{display:flex;gap:12px;align-items:baseline;margin-bottom:4px}h2{font:400 clamp(24px,2.4vw,35px)/1.15 Georgia,serif;letter-spacing:-.035em}.count{white-space:nowrap}.hint{color:var(--mute);font-size:12px;line-height:1.6;margin-top:10px}.foot{border-top:1px solid var(--rule);margin-top:23px;padding:13px 0 22px;font-size:11px;color:var(--mute)}summary{cursor:pointer}.license{font:inherit;white-space:pre-wrap;max-width:85em;line-height:1.55}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:810px){header .wrap{min-height:49px;gap:10px}.back{font-size:12px}.brand{font-size:10px}.layout{display:flex;flex-direction:column;gap:11px;padding-top:14px}.intro h1{font-size:37px;margin:3px 0 12px}.eyebrow,.description,.intro .dimension,.keyboard-hint{display:none}nav{display:flex;gap:4px;margin:0;flex-wrap:wrap}.tab{min-height:38px;padding:5px 8px;font-size:12px}.tab .num{display:none}figure{min-width:0}.stage{height:clamp(350px,60svh,650px)}.caption{font-size:13px}figcaption{margin-top:9px}.caphead{gap:9px}.foot{margin-top:16px}.tools{bottom:9px;right:9px}.tools button{min-height:39px;min-width:39px}.lang{gap:0}.lang button{padding:5px 8px}}@media(max-width:355px){.back{font-size:11px}.brand{font-size:9px;letter-spacing:.14em}}
