:root{--ink:#493b40;--muted:#8c7370;--accent:#b9634d;--paper:#f7e5dc;--line:rgba(91,59,54,.14);--surface:rgba(255,245,235,.76);font-family:ui-rounded,'SF Pro Rounded',Nunito,'Varela Round','Segoe UI Variable Display','Segoe UI',system-ui,-apple-system,Roboto,'Helvetica Neue',Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button{padding:0}h1,h2,p{margin:0}h1,h2{font-weight:600;letter-spacing:-.035em}button,a{transition:color .2s,background .2s,opacity .2s}button:hover,a:hover{color:var(--accent)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
#world{position:fixed;inset:0;z-index:0;background:#f7dfd1}#world canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#world canvas:active{cursor:grabbing}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 3.2vw;position:fixed;top:0;width:100%;z-index:20;border-bottom:1px solid var(--line);background:rgba(249,232,221,.68);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;font-weight:650;font-size:20px;letter-spacing:-.8px;white-space:nowrap}.header nav{position:absolute;left:50%;transform:translateX(-50%);height:100%;display:flex;gap:32px;align-items:center;font-size:14px}.header nav a{height:100%;display:flex;align-items:center;position:relative}.header nav a[aria-current=page]{color:var(--accent)}.header nav a[aria-current=page]:after{content:'';position:absolute;bottom:23px;left:0;right:0;height:1px;background:var(--accent)}.header-actions{display:flex;align-items:center;gap:21px}.ca{font-size:12px;letter-spacing:.02em;font-family:ui-monospace,monospace}.muted{color:var(--muted)}.icon-button{width:32px;height:36px;display:inline-flex;align-items:center;justify-content:center}.inactive{opacity:.4;cursor:default}.inactive:hover{color:inherit}.action-divider{width:1px;height:20px;background:var(--line)}#twitter svg{width:16px;height:16px;fill:currentColor;stroke:none}.search-button{display:flex;align-items:center;gap:9px;font-size:12px}.search-button svg{width:18px;height:18px}.page{position:relative;z-index:2}.race-page{height:100svh;min-height:570px;pointer-events:none}.race-page button{pointer-events:auto}.race-heading{position:absolute;top:130px;left:3.5vw}.eyebrow{font-size:11px;letter-spacing:.065em;color:var(--muted);font-weight:500}.race-heading .eyebrow{display:flex;gap:16px}.race-heading .eyebrow span+span{padding-left:16px;border-left:1px solid var(--line)}.race-heading h1{font-size:38px;margin-top:10px;line-height:1.1}.race-stats{position:absolute;right:3.5vw;top:130px;display:flex;gap:38px}.stat>div{font-size:29px;font-weight:500;letter-spacing:-1px;margin-top:9px;font-variant-numeric:tabular-nums}.stat .unit{font-size:13px;letter-spacing:0}.timer{min-width:83px;padding-left:30px;border-left:1px solid var(--line)}.race-bottom{position:absolute;left:3.5vw;right:3.5vw;bottom:65px;display:flex;justify-content:space-between;align-items:center}.follow-panel{display:flex;align-items:center;gap:11px;background:var(--surface);backdrop-filter:blur(18px);border:1px solid rgba(255,249,237,.55);padding:14px 20px 14px 15px;border-radius:12px;min-width:202px}.follow-panel>div{display:flex;flex-direction:column;gap:5px}.follow-panel button{display:flex;align-items:center;gap:16px;text-align:left;font-size:12px;font-weight:600}.follow-panel button svg{width:12px;height:12px}.follow-panel #duckStatus{font-size:11px;color:var(--muted)}.camera-controls{display:flex;background:var(--surface);padding:5px;border:1px solid rgba(255,249,237,.55);border-radius:12px;backdrop-filter:blur(18px);box-shadow:0 4px 20px #8d553608}.camera-controls button{display:flex;align-items:center;gap:8px;padding:13px 17px;border-radius:8px;font-size:12px;color:#8c7370}.camera-controls button[aria-pressed=true]{background:#fdf2e7;color:var(--ink);box-shadow:0 2px 6px #673d2810}.camera-controls svg{width:17px;height:17px}.recenter{border-radius:10px;background:var(--surface);width:47px;height:47px;backdrop-filter:blur(18px)}.race-footnote{position:absolute;left:3.5vw;right:3.5vw;bottom:28px;display:flex;justify-content:space-between;font-size:10px;color:#876c68}.hint-divider{opacity:.4;margin:0 10px}.duck-tag{position:fixed;top:0;left:0;background:#faf0df;color:#5b413a;padding:8px 11px;border-radius:5px;font:500 10px ui-monospace,monospace;transform:translate(-50%,-100%);box-shadow:0 3px 12px #69493713;white-space:nowrap}.duck-tag i{position:absolute;bottom:-4px;left:calc(50% - 4px);width:8px;height:8px;background:inherit;transform:rotate(45deg)}.race-message{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);text-align:center;min-width:260px;background:rgba(255,240,227,.9);padding:25px 35px;border-radius:14px;backdrop-filter:blur(20px)}.race-message h2{font-size:28px}.race-message p{font-size:12px;line-height:1.7;margin-top:10px;color:var(--muted)}
#optics{display:none;position:fixed;inset:88px 0 0;z-index:1;pointer-events:none;box-shadow:inset 0 0 12vw 3vw rgba(40,20,33,.35);border-radius:4% / 3%;background:radial-gradient(ellipse,transparent 48%,rgba(71,42,52,.2));color:rgba(255,244,224,.8);font:10px ui-monospace,monospace;letter-spacing:.07em}body[data-camera=pov] #optics{display:block}.lens-top{position:absolute;top:30px;left:50%;transform:translateX(-50%)}.lens-bottom{position:absolute;left:50%;bottom:150px;transform:translateX(-50%);display:flex;gap:30px}body[data-camera=pov] .race-heading,body[data-camera=pov] .race-stats{filter:drop-shadow(0 1px 5px #f7e5dc)}
.info-page{pointer-events:none}.info-section{height:100svh;min-height:650px;display:flex;justify-content:center;align-items:flex-end;padding:0 20px 8vh;position:relative}.info-copy{text-align:center;max-width:650px;pointer-events:auto}.info-copy h1,.info-copy h2{font-size:clamp(40px,5vw,68px);line-height:1.06}.info-copy .eyebrow{display:block;margin-bottom:17px}.info-copy p{font-size:14px;line-height:1.8;margin-top:16px;color:#806563}.text-link{display:inline-flex;gap:24px;font-size:12px;margin-top:22px;padding-bottom:7px;border-bottom:1px solid currentColor}.scroll-note{position:absolute;right:3.5vw;bottom:40px;font-size:10px;color:var(--muted)}.info-end{padding:60px 8vw 65px;display:flex;justify-content:space-between;align-items:flex-end;background:rgba(250,234,223,.95);pointer-events:auto;border-top:1px solid var(--line)}.info-end h2{font-size:28px}.info-end p{font-size:12px;margin-top:12px;line-height:1.8;color:var(--muted)}
.proof-page{min-height:100svh;background:#f5e8df;padding:155px max(6vw,24px) 100px}.proof-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px}.proof-top h1{font-size:64px;margin-top:12px}.proof-top p{font-size:13px;color:var(--muted);margin-bottom:10px}.notice{font-size:12px;color:var(--muted);padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);line-height:1.6}.proof-table{margin-top:28px}.proof-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;gap:16px;text-align:left;padding:24px 4px;width:100%;border-bottom:1px solid var(--line);font-size:14px}.proof-row:not(.table-head):hover{background:#ecd5c54a}.table-head{font-size:10px;letter-spacing:.07em;color:var(--muted);padding:17px 4px}.proof-row span:last-child{text-align:right;font-size:11px;color:var(--muted)}
.closed-page{height:100svh;pointer-events:none}.closed-copy{position:absolute;bottom:10vh;left:0;width:100%;text-align:center}.closed-copy h1{font-size:56px}.closed-copy p{font-size:14px;color:var(--muted);margin-top:12px}.closed-copy .eyebrow{display:block;margin-top:24px}body[data-state=closed] .header nav,body[data-state=closed] #searchOpen,body[data-state=closed] .action-divider{display:none}
.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);max-width:100%;height:100%;max-height:100%;border:0;border-left:1px solid var(--line);padding:34px;background:#f9eee5;color:var(--ink);box-shadow:-20px 0 90px #55312b20;overflow-y:auto}.drawer::backdrop{background:rgba(71,49,47,.18);backdrop-filter:blur(6px)}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.drawer-head h2{font-size:28px;letter-spacing:-1px}.close-dialog{font-size:17px}.drawer-intro{font-size:12px;color:var(--muted);margin-bottom:30px}.search-field{display:flex;border-bottom:1px solid #bfa092;padding-bottom:12px}.search-field input{background:none;border:0;min-width:0;flex:1;font-size:13px;outline:none}.search-field input:focus-visible{outline:none}.search-field:focus-within{border-color:var(--accent)}.search-field button{font-size:26px;width:32px}.form-error{font-size:12px;color:#a34535;line-height:1.7;margin-top:12px}.wallet-empty{margin-top:15vh;text-align:center}.wallet-empty svg{width:42px;height:42px;stroke-width:1.1;color:#b69485;margin-bottom:22px}.wallet-empty p{font-size:14px}.wallet-empty span{display:block;margin-top:10px;color:var(--muted);font-size:11px}.result-note{font-size:12px;line-height:1.8;color:var(--muted);margin:28px 0}.wallet-ducks{display:flex;flex-wrap:wrap;gap:10px}.wallet-ducks button{padding:14px 18px;border:1px solid var(--line);border-radius:8px;font-size:12px}.detail-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.detail-row span:first-child{color:var(--muted)}.detail-row span:last-child{text-align:right;overflow-wrap:anywhere;max-width:65%}.record-action{display:block;margin-top:25px;font-size:12px;color:var(--muted)}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#493b40;color:#fff1e4;z-index:100;padding:13px 22px;border-radius:8px;font-size:12px;box-shadow:0 5px 30px #493b4025}.loading{position:fixed;inset:0;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;z-index:100;transition:opacity .45s}.loading span{font-size:20px;letter-spacing:-.7px;font-weight:600}.loading small{font-size:11px;color:var(--muted)}.loading.done{opacity:0;pointer-events:none}.no-script{position:fixed;top:50%;width:100%;text-align:center;z-index:101;background:var(--paper);padding:30px}
@media(min-width:1450px){.race-heading{top:145px}.race-stats{top:145px}.race-bottom{bottom:80px}.race-footnote{bottom:37px}.race-heading h1{font-size:44px}}
@media(max-width:1050px){.header{padding:0 24px}.header nav{gap:23px;left:43%}.header-actions{gap:15px}.search-button span{display:none}.brand{font-size:18px}.race-heading{left:25px}.race-stats{right:25px;gap:24px}.race-bottom,.race-footnote{left:25px;right:25px}}
@media(max-width:650px){.header{height:74px;padding:0 18px;flex-wrap:wrap}.brand{font-size:0;gap:0}.brand img{width:28px}.header nav{left:72px;transform:none;gap:22px;font-size:12px}.header nav a[aria-current=page]:after{bottom:19px}.header-actions{gap:9px}.ca{font-size:9px}.action-divider{display:none}.header-actions .icon-button{width:24px}.search-button{width:24px;justify-content:center}.race-page{min-height:540px}.race-heading{top:104px;left:20px}.race-heading h1{font-size:29px;margin-top:9px}.race-heading .eyebrow{font-size:9px;gap:8px}.race-heading .eyebrow span+span{padding-left:8px}.race-stats{top:104px;right:20px;gap:16px}.stat>div{font-size:22px;margin-top:9px}.stat .eyebrow{font-size:9px}.stat .unit{font-size:10px}.timer{padding-left:16px;min-width:66px}.race-bottom{left:16px;right:16px;bottom:57px;gap:8px;align-items:flex-end}.follow-panel{padding:12px;min-width:0;flex:1;gap:8px;height:59px}.follow-panel img{width:21px}.follow-panel button{font-size:10px;gap:9px}.follow-panel #duckStatus{font-size:10px}.camera-controls{padding:4px;gap:0}.camera-controls button{padding:14px 12px;position:relative}.camera-controls button span{font-size:0}.camera-controls button[aria-pressed=true]:after{content:'';position:absolute;bottom:7px;left:calc(50% - 6px);width:12px;height:1px;background:var(--accent)}.camera-controls svg{width:17px;height:17px}.recenter{height:51px;width:36px;flex-shrink:0}.race-footnote{left:20px;right:20px;bottom:25px;font-size:8px}.hint-divider{margin:0 5px}.info-section{padding-bottom:10vh;min-height:590px}.info-copy h1,.info-copy h2{font-size:41px}.info-copy p{font-size:12px;max-width:310px;margin-left:auto;margin-right:auto}.scroll-note{right:20px;bottom:28px;font-size:9px}.info-end{display:block;padding:40px 25px}.info-end .text-link{margin-top:35px}.proof-page{padding:125px 22px 70px}.proof-top{display:block;margin-bottom:25px}.proof-top h1{font-size:48px}.proof-top p{margin-top:17px;font-size:12px}.proof-row{grid-template-columns:1fr .9fr 1fr .8fr;font-size:12px;gap:8px;padding:23px 2px}.table-head{font-size:9px}.proof-row span:last-child{font-size:10px}.drawer{padding:25px}.lens-bottom{bottom:143px}.lens-top{top:110px;font-size:8px}#optics{inset:74px 0 0}.closed-copy h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* The optical view changes the lens, not the world's colour grade. */
#optics{box-shadow:inset 0 0 9vw 1vw rgba(30,24,35,.12);background:radial-gradient(ellipse,transparent 60%,rgba(30,24,35,.07));border-radius:2% / 2%;color:rgba(76,57,65,.55)}
.duck-tag{will-change:transform}
.wallet-search{position:relative;width:190px;flex-shrink:0}
.wallet-field{height:38px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,245,235,.25);transition:border-color .18s,background .18s}
.wallet-field:focus-within{border-color:rgba(185,99,77,.45);background:#faeee5}
.wallet-field>button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:17px;height:28px;color:var(--muted)}
.wallet-field svg{width:16px;height:16px}
.wallet-field input{width:100%;min-width:0;flex:1;border:0;outline:none;background:none;font-size:11px;letter-spacing:0;color:var(--ink);padding:0}
.wallet-field input::placeholder{color:var(--muted);opacity:1}
.wallet-field input:focus-visible{outline:none}
.wallet-field .wallet-clear{font-size:18px;font-weight:300;width:16px}
.wallet-popover{position:absolute;right:0;top:calc(100% + 10px);width:320px;max-width:calc(100vw - 32px);max-height:min(420px,calc(100svh - 110px));overflow-y:auto;padding:17px 18px;background:#faeee5;border:1px solid rgba(119,79,69,.12);border-radius:10px;box-shadow:0 10px 36px rgba(90,54,49,.1)}
.wallet-popover .result-note{margin:0;font-size:12px;line-height:1.65}
.wallet-popover .result-note:not(:first-child){margin-top:15px}
.wallet-popover .form-error{margin:0;font-size:12px}
.wallet-popover .wallet-ducks{gap:7px;margin-top:12px}
.wallet-popover .wallet-ducks button{padding:10px 12px;font-size:11px}
.wallet-popover .detail-row{padding:14px 0;font-size:11px}
body[data-state=closed] .wallet-search{display:none}
@media(min-width:651px) and (max-width:850px){.wallet-search{width:154px}.header-actions{gap:11px}.header nav{left:41%;gap:20px}}
@media(max-width:650px){
  .wallet-search{width:24px}
  .wallet-field{padding:0;border:0;background:none;gap:0;height:32px}
  .wallet-field>button{width:24px;height:32px}
  .wallet-field input,.wallet-field .wallet-clear{display:none}
  .wallet-search.editing{position:absolute;left:16px;right:16px;top:15px;width:auto;z-index:2}
  .wallet-search.editing .wallet-field{height:44px;padding:0 12px;gap:10px;border:1px solid rgba(185,99,77,.4);background:#faeee5;box-shadow:0 0 0 8px #f6e4d9}
  .wallet-search.editing .wallet-field input{display:block;font-size:13px}
  .wallet-search.editing .wallet-field .wallet-clear:not([hidden]){display:flex}
  .wallet-popover{width:100%;max-width:none;max-height:min(360px,calc(100svh - 100px));top:calc(100% + 8px)}
}

body[data-state="waiting"] .race-message{left:3.5vw;top:222px;transform:none;text-align:left;min-width:0;padding:0;background:none;backdrop-filter:none}body[data-state="waiting"] .race-message h2{font-size:15px}body[data-state="waiting"] .race-message p{margin-top:6px;font-size:11px}


/* The name is set in capitals: caps need open tracking and a heavier weight to stay crisp at small sizes. */
.brand span{font-size:17px;font-weight:750;letter-spacing:.07em}
.loading span{font-size:18px;font-weight:750;letter-spacing:.09em}
@media(max-width:1050px){.brand span{font-size:15px}}
