:root{--color-paper: oklch(14% .028 285);--color-paper-2: oklch(18% .034 285);--color-paper-3: oklch(23% .04 285);--color-paper-4: oklch(28% .046 285);--color-rule: oklch(34% .045 285);--color-rule-2: oklch(44% .05 285);--color-ink: oklch(95% .012 285);--color-ink-2: oklch(84% .02 285);--color-muted: oklch(72% .03 285);--color-honey: oklch(86% .17 92);--color-honey-2: oklch(78% .16 85);--color-honey-ink: oklch(20% .04 80);--color-uv: oklch(62% .22 292);--color-uv-dim: oklch(40% .15 292);--color-uv-ink: oklch(82% .11 292);--garment-black: oklch(22% .014 285);--garment-bone: oklch(90% .02 85);--garment-uv: oklch(38% .13 292);--garment-shade: oklch(10% .02 285);--color-danger: oklch(72% .17 25);--color-focus: var(--color-honey);--font-display: "Big Shoulders Display", "Arial Narrow", sans-serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-data: "Chivo Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: clamp(2rem, 2.5vw + 1rem, 2.75rem);--text-3xl: clamp(2.5rem, 4vw + 1rem, 4.25rem);--text-display: clamp(3.75rem, 11vw, 10.5rem);--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4.5rem;--space-3xl: 7rem;--cut-sm: 8px;--cut-md: 14px;--cut-lg: 22px;--radius-0: 0;--rule-w: 1px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rail-w: 232px;--measure: 64ch}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:var(--space-lg);-webkit-text-size-adjust:100%}body{margin:0;overflow-x:clip;background-color:var(--color-paper);background-image:radial-gradient(60vw 50vw at 100% 0%,var(--color-uv-dim),transparent 70%);background-attachment:fixed;background-repeat:no-repeat;color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}img,svg,canvas{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p,ol,ul,dl,dd,figure,blockquote{margin:0}ol,ul{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}kbd{font-family:var(--font-data);font-size:.72em;padding:.05em .4em;border:var(--rule-w) solid var(--color-rule-2);color:var(--color-ink-2);border-radius:var(--radius-0)}.num{font-family:var(--font-data);font-variant-numeric:tabular-nums}.tnum{font-variant-numeric:tabular-nums}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-honey);color:var(--color-honey-ink)}.skip{position:fixed;left:var(--space-sm);top:-100px;z-index:100;background:var(--color-honey);color:var(--color-honey-ink);padding:var(--space-2xs) var(--space-sm);font-weight:600;text-decoration:none}.skip:focus{top:var(--space-sm)}.shape,.btn,.chip,.seg span,.card{--c: var(--cut-sm);--poly: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));position:relative;isolation:isolate}.card{--c: var(--cut-lg)}.shape:before,.btn:before,.chip:before,.seg span:before,.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:var(--edge, var(--fill, transparent));clip-path:var(--poly);transition:background-color var(--dur-short) var(--ease-out)}.shape:after,.btn:after,.chip:after,.seg span:after,.card:after{content:"";position:absolute;inset:var(--rule-w);z-index:-1;background:var(--fill, transparent);clip-path:var(--poly);transition:background-color var(--dur-short) var(--ease-out)}.card{--fill: var(--color-paper-2);--edge: var(--color-paper-3);padding:var(--space-lg)}.btn{--fill: var(--color-paper-3);--edge: var(--color-rule-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:48px;padding:0 var(--space-md);border:0;background:none;font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--color-ink);transition:transform var(--dur-micro) var(--ease-out)}.btn--honey{--fill: var(--color-honey);--edge: var(--color-honey);color:var(--color-honey-ink)}.btn:hover{transform:translateY(-1px)}.btn--honey:hover{--fill: var(--color-honey-2);--edge: var(--color-honey-2)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn[data-state=loading]{cursor:progress;opacity:.8}.link{color:var(--color-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--color-rule-2);text-underline-offset:.3em;text-decoration-thickness:2px;transition:text-decoration-color var(--dur-short) var(--ease-out);white-space:nowrap}.link:hover{text-decoration-color:var(--color-honey)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.chip{--fill: transparent;--edge: var(--color-rule);border:0;background:none;padding:var(--space-2xs) var(--space-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);white-space:nowrap}.chip:hover{--edge: var(--color-rule-2);color:var(--color-ink)}.chip[aria-pressed=true]{--fill: var(--color-ink);--edge: var(--color-ink);color:var(--color-paper)}.seg{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.seg label{position:relative;cursor:pointer}.seg input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.seg span{--fill: var(--color-paper-2);--edge: var(--color-rule);display:inline-block;padding:var(--space-2xs) var(--space-sm);font-size:var(--text-sm);font-weight:600;white-space:nowrap;color:var(--color-ink-2)}.seg label:hover span{--edge: var(--color-rule-2);color:var(--color-ink)}.seg input:checked+span{--fill: var(--color-ink);--edge: var(--color-ink);color:var(--color-paper)}.seg input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}.rail{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--rail-w);display:none;flex-direction:column;padding:var(--space-lg) var(--space-md);background:var(--color-paper);border-right:var(--rule-w) solid var(--color-paper-3)}.rail__brand{display:flex;align-items:center;gap:var(--space-xs);text-decoration:none;font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:var(--text-lg);line-height:.9;letter-spacing:.02em;color:var(--color-ink)}.rail__mark{width:44px;height:42px;color:var(--color-honey);flex:none}.menu{margin-top:var(--space-2xl);display:grid;gap:var(--space-3xs)}.menu a{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);margin-left:calc(var(--space-xs) * -1);text-decoration:none;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-xl);letter-spacing:.02em;line-height:1.1;color:var(--color-muted);white-space:nowrap;transition:color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.menu a kbd{font-size:.5em;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.menu a:hover{color:var(--color-ink);transform:translate(4px)}.menu a[aria-current=true]{color:var(--color-ink)}.menu a[aria-current=true] kbd{border-color:var(--color-honey);background:var(--color-honey);color:var(--color-honey-ink)}.rail__foot{margin-top:auto;display:grid;gap:var(--space-sm)}.rail__hint{font-size:var(--text-xs);color:var(--color-muted);line-height:2}.sound{display:inline-flex;align-items:center;gap:var(--space-2xs);background:none;border:0;padding:var(--space-3xs) 0;font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);justify-self:start}.sound:hover{color:var(--color-ink)}.sound__bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.sound__bars i{width:3px;background:var(--color-rule-2);height:4px;transition:height var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.sound[aria-pressed=true] .sound__bars i{background:var(--color-honey)}.sound[aria-pressed=true] .sound__bars i:nth-child(1){height:7px}.sound[aria-pressed=true] .sound__bars i:nth-child(2){height:14px}.sound[aria-pressed=true] .sound__bars i:nth-child(3){height:10px}.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background:var(--color-paper);border-bottom:var(--rule-w) solid var(--color-paper-3)}.bar__brand{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:var(--text-lg);text-decoration:none;color:var(--color-ink);white-space:nowrap}.bar__brand svg{width:30px;height:28px;color:var(--color-honey)}.bar__menu{background:none;border:var(--rule-w) solid var(--color-rule-2);padding:var(--space-2xs) var(--space-sm);font-weight:600;font-size:var(--text-sm);color:var(--color-ink);min-height:44px}.pause{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--color-paper);display:grid;align-items:center;padding:var(--space-lg);animation:fade var(--dur-short) var(--ease-out)}.pause[hidden]{display:none}.pause__title{font-family:var(--font-data);color:var(--color-honey);font-size:var(--text-sm);margin-bottom:var(--space-md)}.pause__list{display:grid;gap:var(--space-2xs)}.pause__list a{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(2.5rem,12vw,4rem);line-height:1;text-decoration:none;color:var(--color-ink)}.pause__list a:hover,.pause__list a:focus-visible{color:var(--color-honey)}.pause__resume{margin-top:var(--space-xl);justify-self:start;background:none;border:var(--rule-w) solid var(--color-rule-2);padding:var(--space-xs) var(--space-md);min-height:44px;font-weight:600}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(min-width:1024px){.rail{display:flex}.bar{display:none}main,.end{margin-left:var(--rail-w)}}.title{position:relative;min-height:min(100svh,920px);display:grid;grid-template-columns:minmax(0,1fr);align-content:end;gap:var(--space-xl);padding:var(--space-3xl) var(--space-sm) var(--space-xl);overflow:hidden}.title__field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:pan-y}.title:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,var(--color-paper) 0%,transparent 62%);opacity:.85}.title__copy,.next,.title__prompt{position:relative;z-index:2}.title__copy{pointer-events:none;max-width:52rem;min-width:0}.title__copy a{pointer-events:auto}.title__place{font-weight:600;color:var(--color-uv-ink);margin-bottom:var(--space-sm)}.title__h{font-family:var(--font-display);font-weight:900;font-size:var(--text-display);line-height:.84;letter-spacing:-.01em;text-transform:uppercase;color:var(--color-ink);overflow-wrap:anywhere;min-width:0}.title__lede{max-width:38ch;margin-top:var(--space-md);font-size:var(--text-md);color:var(--color-ink-2)}.title__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin-top:var(--space-lg)}.next{--c: var(--cut-md);justify-self:start;pointer-events:none;padding:var(--space-sm) var(--space-md);background:var(--color-paper-2);border-left:3px solid var(--color-honey)}.next__label{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.next__game{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-lg);color:var(--color-ink);line-height:1.2}.next__clock{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--text-lg);color:var(--color-ink);margin-top:var(--space-3xs)}.next__clock small{font-size:var(--text-xs);color:var(--color-muted);margin:0 var(--space-2xs) 0 1px}.title__prompt{font-size:var(--text-sm);color:var(--color-muted);pointer-events:none}.blink{color:var(--color-honey)}@media(min-width:900px){.title{grid-template-columns:minmax(0,1fr) auto;padding:var(--space-3xl) var(--space-2xl) var(--space-xl)}.next{justify-self:end;align-self:end}.title__prompt{grid-column:1 / -1}}.sec{padding:var(--space-3xl) var(--space-sm);border-top:var(--rule-w) solid var(--color-paper-3)}@media(min-width:900px){.sec{padding:var(--space-3xl) var(--space-2xl)}}.sec__head{display:grid;gap:var(--space-sm);max-width:60rem;margin-bottom:var(--space-2xl)}.sec__h{font-family:var(--font-display);font-weight:900;font-size:var(--text-3xl);line-height:.92;text-transform:uppercase;color:var(--color-ink);overflow-wrap:anywhere;min-width:0}.sec__lede{max-width:56ch;font-size:var(--text-md)}.select{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}@media(min-width:1180px){.select{grid-template-columns:auto minmax(0,1fr);gap:var(--space-2xl)}}.select__roster{--hw: min(150px, calc((100vw - 2 * var(--space-sm) - 16px) / 3));--hh: calc(var(--hw) * 1.1547);display:grid;grid-template-columns:repeat(6,calc(var(--hw) / 2 + 3px));grid-auto-rows:calc(var(--hh) * .75 + 4px);width:max-content;padding-bottom:calc(var(--hh) * .25)}.hex{--fill: var(--color-paper-2);--edge: var(--color-paper-4);--poly: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);position:relative;isolation:isolate;grid-column:span 2;width:var(--hw);height:var(--hh);display:grid;place-items:center;align-content:center;gap:var(--space-3xs);border:0;background:none;padding:0;color:var(--color-muted);transition:transform var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.hex:before,.hex:after{content:"";position:absolute;z-index:-1;clip-path:var(--poly);transition:background-color var(--dur-short) var(--ease-out)}.hex:before{top:0;right:0;bottom:0;left:0;background:var(--edge);z-index:-2}.hex:after{top:2px;right:2px;bottom:2px;left:2px;background:var(--fill)}.hex svg{width:42%;height:auto}.hex__name{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(.8rem,2.6vw,1rem);letter-spacing:.04em;line-height:1;white-space:nowrap}.hex:nth-child(4){grid-column:2 / span 2}.hex:nth-child(5){grid-column:4 / span 2}.hex:hover{color:var(--color-ink);--edge: var(--color-uv)}.hex[aria-checked=true]{--fill: var(--color-honey);--edge: var(--color-honey);color:var(--color-honey-ink)}.hex:focus-visible{outline:none;--edge: var(--color-ink)}.hex[aria-checked=true]:focus-visible{--edge: var(--color-ink)}.hex:active{transform:scale(.97)}.select__preview{--c: var(--cut-lg);--fill: var(--color-paper-2);--edge: var(--color-paper-3);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);padding:var(--space-lg);min-width:0}.select__preview:before,.select__preview:after{content:"";position:absolute;clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}.select__preview:before{top:0;right:0;bottom:0;left:0;background:var(--edge);z-index:-2}.select__preview:after{top:1px;right:1px;bottom:1px;left:1px;background:var(--fill);z-index:-1}@media(min-width:700px){.select__preview{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}}.pv__art{color:var(--color-uv-ink);aspect-ratio:1;width:100%;max-width:180px;justify-self:start}@media(min-width:700px){.pv__art{max-width:320px;justify-self:center}}.pv__art svg{width:100%;height:100%}.pv__art [data-glow]{color:var(--color-honey)}.pv__name{font-family:var(--font-display);font-weight:900;font-size:var(--text-3xl);line-height:.9;text-transform:uppercase;color:var(--color-ink)}.pv__tag{margin-top:var(--space-2xs);color:var(--color-uv-ink);font-weight:600}.pv__blurb{margin-top:var(--space-sm);max-width:44ch}.pv__facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3xs) var(--space-md);margin-top:var(--space-md);font-size:var(--text-sm)}.pv__facts dt{color:var(--color-muted)}.pv__facts dd{color:var(--color-ink)}.pv__games{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-md)}.pv__games li{font-size:var(--text-xs);font-weight:600;padding:2px var(--space-2xs);border:var(--rule-w) solid var(--color-rule);color:var(--color-ink-2)}.pv-enter{animation:pv-in var(--dur-long) var(--ease-out)}@keyframes pv-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.lounge__notes{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);margin-top:var(--space-2xl);max-width:72rem}@media(min-width:900px){.lounge__notes{grid-template-columns:repeat(3,minmax(0,1fr))}}.lounge__notes p{font-size:var(--text-sm);padding-top:var(--space-sm);border-top:var(--rule-w) solid var(--color-rule)}.lounge__notes strong{color:var(--color-ink)}.bout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);padding:var(--space-lg)}.bout{--c: var(--cut-lg);--fill: var(--color-paper-2);--edge: var(--color-paper-3);position:relative;isolation:isolate}.bout:before,.bout:after{content:"";position:absolute;clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}.bout:before{top:0;right:0;bottom:0;left:0;background:var(--edge);z-index:-2}.bout:after{top:1px;right:1px;bottom:1px;left:1px;background:var(--fill);z-index:-1}@media(min-width:1000px){.bout{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:var(--space-xl)}}.bout__status{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.dot{width:8px;height:8px;background:var(--color-honey);transform:rotate(45deg)}.bout__h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;color:var(--color-ink);font-size:clamp(4rem,12vw,9rem);line-height:.85;margin:var(--space-xs) 0 var(--space-md)}.bout__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);max-width:36rem}.bout__facts dt{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.bout__facts dd{color:var(--color-ink);font-weight:600}.bout__clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-xs)}.bout__clock div{display:grid;justify-items:center;padding:var(--space-sm) var(--space-xs);background:var(--color-paper-3);min-width:0}.bout__clock span{font-family:var(--font-display);font-weight:900;font-size:clamp(2.5rem,7vw,4.5rem);line-height:1;color:var(--color-ink);font-variant-numeric:tabular-nums}.bout__clock small{font-size:var(--text-xs);color:var(--color-muted)}@media(min-width:1000px){.bout__clock div{min-width:104px}}.history{margin-top:var(--space-2xl)}.history__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.history__h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-ink);line-height:1}.history__list{border-top:var(--rule-w) solid var(--color-rule)}.match{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:var(--space-2xs) var(--space-md);padding:var(--space-md) 0;border-bottom:var(--rule-w) solid var(--color-rule);transition:background-color var(--dur-short) var(--ease-out)}.match[hidden]{display:none}.match__date{font-family:var(--font-data);font-size:var(--text-sm);color:var(--color-muted);padding-top:.3em}.match__title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-xl);line-height:1.05;color:var(--color-ink)}.match__where{font-size:var(--text-sm);color:var(--color-muted);margin-top:2px}.match__detail{grid-column:2;font-size:var(--text-sm);display:flex;flex-wrap:wrap;gap:var(--space-3xs) var(--space-md)}.match__detail b{font-weight:600;color:var(--color-ink)}.match__tag{display:inline-block;font-size:var(--text-xs);font-weight:600;color:var(--color-uv-ink);margin-right:var(--space-2xs)}@media(min-width:900px){.match{grid-template-columns:6rem minmax(0,1.4fr) minmax(0,1fr);align-items:baseline;padding:var(--space-md) var(--space-sm)}.match__detail{grid-column:3;justify-content:flex-end;text-align:right}.match:hover{background:var(--color-paper-2)}}.campus__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xl);align-items:start}@media(min-width:1100px){.campus__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.planner,.lab__panel{display:grid;gap:var(--space-md)}.planner{--c: var(--cut-lg);--fill: var(--color-paper-2);--edge: var(--color-paper-3);position:relative;isolation:isolate;padding:var(--space-lg)}.planner:before,.planner:after,.lab__panel:before,.lab__panel:after,.drill:before,.drill:after{content:"";position:absolute;clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}.planner:before,.lab__panel:before,.drill:before{top:0;right:0;bottom:0;left:0;background:var(--edge);z-index:-2}.planner:after,.lab__panel:after,.drill:after{top:1px;right:1px;bottom:1px;left:1px;background:var(--fill);z-index:-1}.planner__h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-ink);line-height:1}.planner__note{font-size:var(--text-sm);color:var(--color-muted)}.field{display:grid;gap:var(--space-2xs);border:0;padding:0;margin:0;min-width:0}.field--row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.field>label,.field legend{font-size:var(--text-sm);font-weight:600;color:var(--color-ink);display:flex;justify-content:space-between;gap:var(--space-sm);padding:0}.field legend{margin-bottom:var(--space-2xs)}.field output{color:var(--color-honey);font-weight:500}.field input[type=text],.field input[type=number],.field select{width:100%;min-height:46px;padding:var(--space-2xs) var(--space-sm);background:var(--color-paper);border:var(--rule-w) solid var(--color-rule-2);border-radius:var(--radius-0);color:var(--color-ink);transition:border-color var(--dur-short) var(--ease-out)}.field input::placeholder{color:var(--color-muted)}.field input:hover,.field select:hover{border-color:var(--color-muted)}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--color-focus);outline-offset:0;border-color:var(--color-honey)}.field input[aria-invalid=true]{border-color:var(--color-danger)}.field input:disabled,.field select:disabled{opacity:.5;cursor:not-allowed}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-ink-2) 50%),linear-gradient(135deg,var(--color-ink-2) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;background:none;margin:0;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,var(--color-honey) var(--p, 50%),var(--color-rule) var(--p, 50%))}input[type=range]::-moz-range-track{height:4px;background:var(--color-rule)}input[type=range]::-moz-range-progress{height:4px;background:var(--color-honey)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:22px;margin-top:-9px;background:var(--color-ink);border:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}input[type=range]::-moz-range-thumb{width:20px;height:22px;background:var(--color-ink);border:0;border-radius:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}input[type=range]:hover::-webkit-slider-thumb{background:var(--color-honey)}input[type=range]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xs)}.readout div{display:grid;padding:var(--space-sm);background:var(--color-paper-3);min-width:0}.readout span{font-family:var(--font-display);font-weight:900;font-size:clamp(1.4rem,2.2vw,2rem);color:var(--color-ink);line-height:1;white-space:nowrap}.readout small{font-size:var(--text-xs);color:var(--color-muted)}.campus__side{display:grid;gap:var(--space-2xl);min-width:0}.spec{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.spec caption{text-align:left;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-ink);line-height:1;padding-bottom:var(--space-md)}.spec th{text-align:left;font-weight:600;color:var(--color-muted);padding:var(--space-2xs) 0;border-bottom:var(--rule-w) solid var(--color-rule-2);width:50%}.spec td{padding:var(--space-sm) var(--space-sm) var(--space-sm) 0;border-bottom:var(--rule-w) solid var(--color-rule);vertical-align:top}.spec td:first-child{color:var(--color-ink)}.proof{padding-left:var(--space-md);border-left:3px solid var(--color-uv)}.proof blockquote{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);line-height:1.05;text-transform:uppercase;color:var(--color-ink)}.proof figcaption{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-muted)}.lab{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}@media(min-width:1100px){.lab{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.lab__stage{position:relative;min-width:0}@media(min-width:1100px){.lab__stage{position:sticky;top:var(--space-lg)}}.mock{position:relative;aspect-ratio:400 / 440;max-width:560px;margin-inline:auto;background:radial-gradient(closest-side,var(--color-paper-3),transparent)}.mock[data-kind=mat]{aspect-ratio:400 / 260;max-width:680px}.mock__garment{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.mock__area{position:absolute;overflow:hidden;outline:1px dashed var(--color-rule-2);outline-offset:0;touch-action:none;transition:outline-color var(--dur-short) var(--ease-out)}.mock__area.is-over{outline-color:var(--color-honey);outline-style:solid}.mock[data-has-art=true] .mock__area:not(:hover):not(.is-dragging){outline-color:transparent}.mock__art{position:absolute;transform:translate(-50%,-50%);max-width:none;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mock__area.is-dragging .mock__art{cursor:grabbing}.mock__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;font-size:var(--text-sm);color:var(--color-muted);padding:var(--space-sm);pointer-events:none}.lab__hint{text-align:center;font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-sm)}.lab__panel{--c: var(--cut-lg);--fill: var(--color-paper-2);--edge: var(--color-paper-3);position:relative;isolation:isolate;padding:var(--space-lg)}.swatches{display:flex;gap:var(--space-xs);flex-wrap:wrap}.swatch{position:relative;cursor:pointer}.swatch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.swatch span{display:block;width:36px;height:36px;background:var(--sw);border:2px solid var(--color-rule-2);transition:border-color var(--dur-short) var(--ease-out)}.swatch:hover span{border-color:var(--color-muted)}.swatch input:checked+span{border-color:var(--color-honey);box-shadow:inset 0 0 0 2px var(--color-paper-2)}.swatch input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}[data-colours][hidden]{display:none}.upload{display:grid!important;gap:var(--space-3xs);cursor:pointer;justify-content:stretch!important}.upload__btn{display:flex;align-items:center;justify-content:center;min-height:56px;border:1px dashed var(--color-rule-2);color:var(--color-ink);font-weight:600;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.upload:hover .upload__btn{border-color:var(--color-honey)}input[type=file]:focus-visible+*,.upload:focus-within .upload__btn{outline:2px solid var(--color-focus);outline-offset:2px}#art-file:focus-visible~.warn{outline:none}.upload__meta{font-size:var(--text-xs);color:var(--color-muted);font-weight:400}.warn{font-size:var(--text-sm);color:var(--color-danger)}.lab__price{font-size:var(--text-sm);color:var(--color-ink)}.lab__fine{font-size:var(--text-xs);color:var(--color-muted)}.drops{margin-top:var(--space-2xl)}.drops__h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-ink);line-height:1}.drops__lede{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2xs)}.drops__list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,280px);gap:var(--space-md);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:var(--space-md) 0 var(--space-sm);scrollbar-color:var(--color-rule-2) transparent}.drop{scroll-snap-align:start;min-width:0}.drop button{display:grid;gap:var(--space-xs);width:100%;text-align:left;background:none;border:0;padding:0;color:inherit}.drop__art{aspect-ratio:4 / 3;background:var(--color-paper-2);overflow:hidden;transition:transform var(--dur-short) var(--ease-out)}.drop__art{display:grid;place-items:center}.drop__art img{width:100%;height:100%;object-fit:contain}.drop button:hover .drop__art{transform:translateY(-3px)}.drop button[aria-pressed=true] .drop__art{outline:2px solid var(--color-honey);outline-offset:3px}.drop__name{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-lg);color:var(--color-ink);line-height:1.05}.drop__meta{font-size:var(--text-xs);color:var(--color-muted)}.academy__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xl);align-items:start}@media(min-width:1100px){.academy__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.lessons{border-top:var(--rule-w) solid var(--color-rule)}.lesson{border-bottom:var(--rule-w) solid var(--color-rule)}.lesson summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;padding:var(--space-md) 0}.lesson summary::-webkit-details-marker{display:none}.lesson__t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-xl);line-height:1.05;color:var(--color-ink);transition:color var(--dur-short) var(--ease-out)}.lesson__s{display:block;font-family:var(--font-body);text-transform:none;font-weight:400;font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-3xs)}.lesson summary:hover .lesson__t{color:var(--color-honey)}.lesson__x{width:18px;height:18px;position:relative}.lesson__x:before,.lesson__x:after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--color-ink-2);transition:transform var(--dur-short) var(--ease-in-out)}.lesson__x:after{transform:rotate(90deg)}.lesson[open] .lesson__x:after{transform:rotate(0)}.lesson__body{display:grid;gap:var(--space-sm);padding:0 0 var(--space-lg);max-width:var(--measure)}.lesson__body p:last-child{color:var(--color-ink);font-weight:500}.drills{display:grid;gap:var(--space-lg);min-width:0}.drill{--c: var(--cut-lg);--fill: var(--color-paper-2);--edge: var(--color-paper-3);position:relative;isolation:isolate;padding:var(--space-lg);display:grid;gap:var(--space-sm)}.drill__h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-ink);line-height:1}.drill__p{font-size:var(--text-sm)}.react__pad{position:relative;display:grid;place-items:center;align-content:center;gap:var(--space-sm);width:100%;min-height:260px;padding:var(--space-md);background:var(--color-paper);border:0;padding:0;user-select:none;-webkit-user-select:none;touch-action:manipulation}.react__hex{width:min(40%,140px);aspect-ratio:1 / 1.1547;background:var(--color-paper-3);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:background-color var(--dur-micro) linear}.react__msg{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-lg);color:var(--color-ink);letter-spacing:.04em}.react__pad[data-state=wait] .react__hex{background:var(--color-uv-dim)}.react__pad[data-state=go] .react__hex{background:var(--color-honey);transition:none}.react__pad[data-state=foul] .react__hex{background:var(--color-danger)}.react__pad[data-state=go] .react__msg{color:var(--color-honey)}.react__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xs)}.react__stats div{display:grid;padding:var(--space-xs) var(--space-sm);background:var(--color-paper-3);min-width:0}.react__stats span{font-size:var(--text-md);color:var(--color-ink);white-space:nowrap}.react__stats small{font-size:var(--text-xs);color:var(--color-muted)}.react__pips{display:flex;gap:var(--space-2xs)}.react__pips li{width:14px;height:16px;background:var(--color-rule);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.react__pips li.is-done{background:var(--color-honey)}.react__pips li.is-foul{background:var(--color-danger)}.check__list{display:grid;gap:var(--space-2xs)}.check__list label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-sm);align-items:start;cursor:pointer;font-size:var(--text-sm);padding:var(--space-2xs) 0}.check__list input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:22px;margin:1px 0 0;background:var(--color-rule-2);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out)}.check__list input:hover{background:var(--color-muted)}.check__list input:checked{background:var(--color-honey)}.check__list input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.check__list input:checked+span{color:var(--color-muted);text-decoration:line-through;text-decoration-color:var(--color-rule-2)}.check__done{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--text-xl);color:var(--color-honey)}.visit__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:end}@media(min-width:1000px){.visit__grid{grid-template-columns:minmax(0,1fr) minmax(0,26rem)}}.visit__addr{font-style:normal;display:grid;gap:var(--space-md)}.visit__big{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:var(--text-3xl);line-height:.92;color:var(--color-ink);overflow-wrap:anywhere}.visit__links{border-top:var(--rule-w) solid var(--color-rule)}.row-link{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:var(--rule-w) solid var(--color-rule);text-decoration:none;font-weight:600;color:var(--color-ink);white-space:nowrap;transition:color var(--dur-short) var(--ease-out),padding var(--dur-short) var(--ease-out)}.row-link__meta{font-weight:400;font-size:var(--text-sm);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis}.row-link:hover{color:var(--color-honey)}.visit__next{margin-top:var(--space-xl);font-size:var(--text-sm);color:var(--color-uv-ink)}.end{padding:var(--space-3xl) var(--space-sm) var(--space-lg);border-top:var(--rule-w) solid var(--color-paper-3)}@media(min-width:900px){.end{padding:var(--space-3xl) var(--space-2xl) var(--space-lg)}}.end__line{font-family:var(--font-display);font-weight:900;text-transform:uppercase;color:var(--color-ink);font-size:clamp(3rem,10vw,9rem);line-height:.85;overflow-wrap:anywhere}.end__small{display:flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-xl);font-size:var(--text-sm);color:var(--color-muted)}.end__small svg{width:24px;height:22px;color:var(--color-honey)}.toast{position:fixed;left:50%;bottom:var(--space-lg);z-index:60;transform:translate(-50%);max-width:calc(100vw - 2 * var(--space-sm));padding:var(--space-xs) var(--space-md);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-sm);font-weight:600;animation:toast-in var(--dur-short) var(--ease-out)}.toast[hidden]{display:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.title__place,.title__h,.title__lede,.title__actions,.next{opacity:0;transform:translateY(12px);animation:rise var(--dur-long) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 70ms + .12s)}.title__place{--i: 0}.title__h{--i: 1}.title__lede{--i: 3}.title__actions{--i: 4}.next{--i: 6}@keyframes rise{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}.title__place,.title__h,.title__lede,.title__actions,.next{transform:none;animation-delay:0ms!important}.pv-enter{animation:none}}
