@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Barlow:wght@400;500;600;700;800&display=swap');
:root{font-family:'Barlow',Arial,sans-serif;color:#191c19;background:#efeee8;font-synthesis:none;--ink:#191c19;--yellow:#f5d438;--muted:#62655c;--line:#d5d5cb}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;transition:background .15s}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #287bdb;outline-offset:4px}
.masthead{height:88px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font:900 italic 33px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-1px;color:var(--ink);text-decoration:none;white-space:nowrap}.wordmark span{background:var(--yellow);padding:0 5px}.edition{font-size:11px;letter-spacing:1.5px;font-weight:700}.build-tag{font-size:11px;letter-spacing:1.2px;white-space:nowrap}
main{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:max(680px,calc(100dvh - 135px));max-width:2000px;margin:auto}.studio{position:relative;min-width:0;min-height:680px;overflow:hidden;background:radial-gradient(ellipse at 55% 46%,#f3f4e9 0%,#e3e5d8 70%)}#viewport{position:absolute;inset:0;touch-action:none}#viewport canvas{display:block;width:100%;height:100%}.studio-heading{position:absolute;left:38px;top:34px;z-index:1;pointer-events:none}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.studio-heading h1{font:800 clamp(46px,5.3vw,82px)/.9 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-2px;text-transform:uppercase;margin:17px 0 12px}.studio-heading p{font-size:14px;margin:0;color:#62685d}.stage-label{position:absolute;bottom:70px;left:38px;pointer-events:none;display:flex;flex-direction:column;gap:5px}.stage-label span{font-size:10px;font-weight:600;letter-spacing:2px;color:#656c5f}.stage-label b{font:700 32px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.5px}.orbit-hint{position:absolute;bottom:28px;left:38px;font-size:10px;letter-spacing:1px;color:#606856;pointer-events:none}.orbit-hint span{margin:0 7px}#loading{position:absolute;top:48%;left:15%;right:15%;padding:20px;text-align:center;background:#f4d438;font-weight:600;z-index:4}
.panel{padding:30px 27px 24px;background:#f8f7f1;border-left:1px solid var(--line)}.panel-title{margin-bottom:22px}.preview-pose-picker{display:flex;border:1px solid #b7bdab;margin:0 0 24px}.preview-pose-picker button{flex:1;border:0;background:transparent;padding:11px 8px;font-size:14px;font-weight:600;min-height:44px}.preview-pose-picker button.active{background:#252c24;color:#fff}.field-label{display:block;font-size:13px;font-weight:700;margin:0 0 8px}#athlete-name{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b7bdab;background:#fffef7;font-size:17px;font-weight:600;border-radius:0}.field-note{font-size:11px;color:var(--muted);margin:7px 0 0}.section-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0 12px}.section-line h2{margin:0;font-size:14px;font-weight:700}.text-button{border:0;padding:7px 0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:12px;color:#48543c;min-height:32px}.text-button:hover{color:#182514}.color-row{display:flex;gap:22px;align-items:center}.color-row label{font-size:12px;display:flex;gap:7px;align-items:center}.color-row input{width:33px;height:33px;padding:2px;background:#fffef7;border:1px solid #bdc3b0;cursor:pointer}.pattern-picker{display:flex;gap:6px;margin:15px 0 0}.pattern-picker button{flex:1;min-height:39px;padding:8px 4px;font-size:12px;border:1px solid #c6cbbb;background:transparent}.pattern-picker button.active{background:#e4e8d9;border-color:#69765a;font-weight:700}.accessory-title{margin-top:20px}.accessory-card{display:flex;align-items:center;gap:13px;background:#eeefe3;border:1px solid #d2d7c2;padding:14px;min-height:90px}.accessory-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;color:#525a3c;border:1px solid #c3c9af;font:700 31px Georgia,serif}.accessory-card strong{font-size:15px}.accessory-card p{font-size:12px;line-height:1.45;color:#606551;margin:4px 0 0}
.start-race-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:53px;margin:25px 0 12px;padding:15px 16px;background:#f5d438;border:1px solid #252c24;font-size:17px;font-weight:800}.start-race-button:hover{background:#ffe568}.start-race-button small{font-size:9px;letter-spacing:.8px;font-weight:700}.controls-note{font-size:11px;line-height:1.8;color:#606856;margin:0}.controls-note kbd{font:600 11px 'Barlow',Arial,sans-serif}.site-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 38px;font-size:9px;letter-spacing:1px;color:#60655d;gap:20px}
@media(max-width:1050px){.edition{display:none}.masthead{padding:0 24px}.studio-heading{left:24px}.studio-heading h1{font-size:57px}.studio-heading p{font-size:12px}.stage-label,.orbit-hint{left:24px}main{grid-template-columns:minmax(0,1fr) 340px}.panel{padding:28px 22px}.color-row{gap:15px}}
@media(max-width:720px){.masthead{height:70px;padding:0 16px;gap:8px}.wordmark{font-size:26px}.build-tag{font-size:9px;letter-spacing:.5px}main{display:flex;flex-direction:column;min-height:0}.studio{min-height:530px;height:65dvh;max-height:760px}.studio-heading{left:22px;top:24px}.studio-heading h1{font-size:49px}.studio-heading .eyebrow{font-size:10px}.stage-label{left:22px;bottom:60px}.stage-label b{font-size:27px}.orbit-hint{left:22px;bottom:25px;font-size:9px}.panel{border-left:0;border-top:1px solid var(--line);padding:24px}.color-row{gap:30px}.color-row label,.text-button,.field-note,.pattern-picker button,.accessory-card p{font-size:13px}.text-button{min-height:44px}.site-footer{padding:16px 24px}.site-footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
