:root{--bg:#f1eee8;--ink:#1c1c1c;--copper:#8e5036;--track-hdr:.08em;--track-xl:.03em}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);overflow:hidden;font-family:Inter,system-ui,sans-serif}
#deck{position:fixed;inset:0;display:grid;place-items:center}
#stage{position:relative;width:1920px;height:1080px;transform-origin:center center;overflow:hidden;background:var(--bg)}
.slide{position:absolute;inset:0;display:none;background:var(--bg)}
.slide.on{display:block}
.slide>*{position:absolute}
.img{overflow:hidden;background:#e2ddd4}
.img img{position:absolute;display:block;max-width:none}
.t{z-index:2;white-space:pre-wrap;letter-spacing:0;text-shadow:none}
.t.hdr{text-transform:uppercase;letter-spacing:var(--track-hdr)}
.t.hdr-xl{text-transform:uppercase;letter-spacing:var(--track-xl)}
.rule{height:2px}
.box{}
.chip{z-index:2;height:44px;padding:8px 16px;background:var(--bg);color:var(--ink);font:500 24px/28px Inter,sans-serif;white-space:nowrap}
.zone{position:fixed;top:0;bottom:0;width:30%;border:0;background:transparent;cursor:pointer;opacity:0;-webkit-tap-highlight-color:transparent}
#prev{left:0}#next{right:0;width:50%}
#hud{position:fixed;right:18px;bottom:12px;font:500 13px/1 Inter,sans-serif;letter-spacing:.06em;color:var(--ink);opacity:.38;pointer-events:none;transition:opacity .3s}
body.idle{cursor:none}
body.idle #hud{opacity:0}
#index{position:fixed;inset:0;background:rgba(241,238,232,.97);overflow:auto;padding:32px clamp(16px,5vw,64px);z-index:10}
#index[hidden]{display:none}
#index header{display:flex;justify-content:space-between;align-items:center;font:400 18px/1 Jost,sans-serif;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px;border-bottom:2px solid var(--copper);padding-bottom:14px}
#index button{border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--ink)}
#index .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 28px}
#index a{display:flex;gap:12px;align-items:baseline;padding:9px 6px;color:var(--ink);text-decoration:none;font:500 15px/1.3 Inter,sans-serif;border-radius:4px}
#index a:hover,#index a.cur{background:#e2ddd4}
#index .num{font:400 13px/1 Jost,sans-serif;color:var(--copper);min-width:22px;letter-spacing:.04em}
@media (max-width:700px){#index .list{grid-template-columns:1fr 1fr}}
