a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
/* page */
.hero{padding:96px 0}
.proofs{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.stall{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--ink)}
.stall li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:24px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line)}
.stall .k{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--violet)}
.stall .t{font-family:var(--font-display);font-weight:700;font-size:48px;line-height:52px;letter-spacing:-.02em}
.stall .fix{font-size:14px;color:var(--ink-2);max-width:260px;text-align:right}
.picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:40px}
.pbtn{font:inherit;text-align:left;cursor:pointer;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);display:flex;flex-direction:column;gap:6px;min-height:96px}
.pbtn:hover{border-color:var(--border)}
.pbtn .n{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--muted)}
.pbtn .l{font-family:var(--font-display);font-weight:700;font-size:28px;line-height:32px;letter-spacing:-.015em}
.detail{margin-top:16px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0;overflow:hidden}
.detail .main{padding:40px}
.detail .main p{margin:0 0 16px;color:var(--ink-2);font-size:17px;line-height:27px;max-width:640px}
.time{display:inline-block;font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;padding:5px 10px;border-radius:999px;background:var(--violet-soft);color:var(--violet)}
.detail .walk{padding:40px;background:var(--violet-soft);display:flex;flex-direction:column;gap:12px}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.person{padding:24px;display:flex;flex-direction:column;gap:12px}
.person .who{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
.person p{margin:0;font-family:var(--font-display);font-weight:600;font-size:22px;line-height:28px}
.rules{margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--ink)}
.rule{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:28px 0;border-bottom:1px solid var(--line)}
.rule .k{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--violet);padding-top:4px}
.rule h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:24px;line-height:30px}
.rule p{margin:8px 0 0;color:var(--ink-2);font-size:15px;line-height:23px}
.deepband{background:var(--deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (max-width:900px){
.wrap{padding:0 16px}
.split,.ftr-top,.detail,.people,.rules{grid-template-columns:minmax(0,1fr)}
.xl{font-size:56px;line-height:56px}.h2{font-size:36px;line-height:40px}
.picker{grid-template-columns:repeat(2,minmax(0,1fr))}
.stall li{grid-template-columns:32px minmax(0,1fr)}.stall .fix{grid-column:2;text-align:left}
.stall .t{font-size:32px;line-height:36px}
.detail .main,.detail .walk{padding:24px}
.sec{padding:64px 0}
}
.pbtn.on{border-color:#8F88FF;background:#1E1C3A}
.pbtn.on{border-color:#8F88FF;background:#1E1C3A}
.sec,.deepband{border-top:0;border-bottom:0}
