:root{color-scheme:light;--ink:#203c34;--muted:#68756b;--paper:#f4f2e9;--line:#d9ddce;--ochre:#b9794e;--forest:#214a3d;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,select:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #b66c40;outline-offset:4px}button{color:inherit}button:hover:not(:disabled){filter:brightness(.95)}button{transition:background .18s,color .18s}button[aria-pressed=true]{background:var(--forest);color:#fff}button[hidden],[hidden]{display:none!important}.masthead{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:2.1px;font-size:17px}.brand svg{width:42px;height:42px}.brand small{display:block;font-size:8.5px;font-weight:500;letter-spacing:2.6px;margin-top:7px;color:var(--muted)}.edition{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.5px;font-weight:700}.dot{width:6px;height:6px;background:var(--ochre);border-radius:50%}.edition-number{margin-left:22px;font-weight:400;color:var(--muted)}.categories{height:58px;display:flex;padding-left:26px;border-bottom:1px solid var(--line);gap:12px;align-items:stretch}.categories button{border:0;background:transparent;position:relative;padding:0 16px;font-size:13px;font-weight:600;color:var(--muted)}.categories button[aria-pressed=true]{color:var(--ink);background:transparent}.categories button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;left:16px;right:16px;height:3px;background:var(--forest)}.categories button span{font-family:monospace;font-weight:400;color:#8b9588;font-size:10px;margin-left:8px}main{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100dvh - 148px)}.viewport{height:calc(100dvh - 148px);min-height:520px;position:sticky;top:0;overflow:hidden;background:linear-gradient(#86afc8,#d8e0d6 62%,#acb7a0)}canvas,#proof{width:100%;height:100%;display:block;touch-action:none;object-fit:cover}.view-top{position:absolute;top:25px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.tag{font-family:monospace;font-size:9px;letter-spacing:1.8px;background:#f4f2e9de;border:1px solid #ffffff55;padding:9px 12px;color:#294037}.icon-button{pointer-events:auto;border:1px solid #fff5;background:#f4f2e9dc;width:39px;height:39px;font-size:24px}.scene-caption{position:absolute;left:32px;bottom:90px;color:#f9f7ec;pointer-events:none;text-shadow:0 1px 16px #18342666;z-index:1}.scene-caption h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.8vw,60px);font-weight:400;line-height:1.08;letter-spacing:-1.7px;margin:8px 0 12px;max-width:600px}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:700;line-height:1.6}.scene-caption>p:last-child{font-size:12px;letter-spacing:.15px}.viewport:after{content:'';position:absolute;bottom:0;left:0;right:0;height:225px;pointer-events:none;background:linear-gradient(transparent,#183b30b5)}.viewer-tools{position:absolute;left:26px;right:26px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fcf9ee;z-index:2}.viewer-tools p{font-size:10px;letter-spacing:.3px;line-height:1.5}.viewer-tools p span{padding:0 7px;opacity:.5}.viewer-tools>div{display:flex;gap:5px}.viewer-tools button{background:#f4f2e9ed;color:#244536;border:1px solid #fff4;min-height:38px;min-width:38px;font-size:10px;padding:0 12px}.viewer-tools button[aria-pressed=true]{background:#214a3d;color:white}.inspector{border-left:1px solid var(--line);padding:27px 26px 0}.inspector-intro>.eyebrow{color:var(--ochre);margin:0 0 12px}.inspector-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:28px;font-weight:400;letter-spacing:-.6px;margin:0 0 10px}.inspector-intro>p:last-child{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.asset-list{display:grid;gap:7px;margin:24px 0;max-height:270px;overflow:auto;scrollbar-width:thin}.asset-card{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px;border:1px solid var(--line);background:transparent;padding:12px 13px;min-height:52px}.asset-card .asset-index{font-family:monospace;font-size:10px;opacity:.55}.asset-card .asset-card-name{flex:1;font-size:12px;font-weight:600}.asset-card .arrow{font-size:15px}.asset-card[aria-pressed=true]{background:#e5e8db;color:var(--ink);border-color:#82947b}.asset-detail{padding:22px 0;border-top:1px solid var(--line)}.asset-detail>.eyebrow{margin:0 0 7px;color:var(--muted)}.asset-detail h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;margin:0 0 10px}.asset-detail>p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 20px}.control-group{margin:16px 0}.control-group label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin:0 0 9px}.control-group label span{font-size:10px;color:var(--muted);font-weight:400}.segmented{display:flex;gap:4px}.segmented button{flex:1;min-height:36px;border:1px solid var(--line);background:transparent;font-size:10px}.segmented button[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.swatches{display:flex;gap:9px;align-items:center;padding:3px}.swatches button{width:29px;height:29px;border-radius:50%;border:3px solid var(--paper);outline:1px solid transparent;padding:0}.swatches button[aria-pressed=true]{outline:1.5px solid var(--ink)}select{width:100%;height:38px;border:1px solid var(--line);background:#f4f2e9;color:var(--ink);font-size:11px;padding:0 10px;border-radius:0}.asset-detail .asset-note{font-size:10px!important;border-top:1px solid var(--line);padding-top:17px;margin:20px 0 0!important}.collection-footer{border-top:1px solid var(--line);padding:20px 0}.collection-footer span{font-size:8px;letter-spacing:1.2px;font-weight:700}.collection-footer p{font-size:10px;color:var(--muted);line-height:1.65}.loader{width:32px;height:32px;border:2px solid #fff4;border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#27453b66;backdrop-filter:blur(6px);z-index:3;color:#fff;font-size:12px;gap:15px}#render-message{position:absolute;top:82px;left:26px;right:26px;max-width:440px;padding:12px 14px;background:#f4f2e9ee;color:var(--ink);border:1px solid #fff7;font-size:11px;line-height:1.65;z-index:2}.viewport:fullscreen{width:100vw;height:100dvh}.viewport:fullscreen .scene-caption{bottom:95px}.viewport:fullscreen #scene{height:100%}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 380px}.inspector{padding-left:32px;padding-right:32px}.inspector-intro h2{font-size:31px}.scene-caption{left:42px;bottom:105px}}@media(max-width:1050px){main{grid-template-columns:minmax(0,1fr) 300px}.inspector{padding:23px 20px 0}.viewer-tools{flex-wrap:wrap;gap:0}.viewer-tools p{width:100%;margin-bottom:9px}.scene-caption{bottom:118px}.scene-caption h1{font-size:38px}}@media(max-width:760px){.masthead{height:75px;padding:0 18px}.brand{font-size:14px;gap:9px;letter-spacing:1.5px}.brand small{font-size:7px;letter-spacing:1.7px}.brand svg{width:33px;height:33px}.edition{font-size:8px}.edition-number{display:none}.categories{height:53px;padding:0 9px;gap:0;justify-content:space-between}.categories button{font-size:11px;padding:0 9px}.categories button span{display:none}.categories button[aria-pressed=true]:after{left:9px;right:9px}main{display:block}.viewport{position:relative;min-height:430px;height:61dvh;max-height:640px}.view-top{top:17px;left:18px;right:18px}.scene-caption{left:22px;bottom:105px}.scene-caption h1{font-size:38px;letter-spacing:-1.1px}.scene-caption>p:last-child{font-size:11px}.viewer-tools{left:18px;right:18px;bottom:16px}.viewer-tools>div{margin-left:auto}.viewer-tools p{width:auto;max-width:110px;font-size:9px}.viewer-tools p span{padding:0 3px}.viewer-tools button{padding:0 9px;min-height:40px}.inspector{padding:26px 22px 0;border-left:0}.inspector-intro h2{font-size:29px}.asset-list{display:flex;max-height:none;overflow-x:auto;margin:20px 0;gap:8px;padding-bottom:6px}.asset-card{min-width:165px;flex-shrink:0;max-width:240px}.asset-card .arrow{display:none}.asset-detail{padding-top:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.asset-detail>.eyebrow,.asset-detail>h3,.asset-detail>p{grid-column:1/-1}.asset-detail>.control-group{margin:8px 0 15px}.asset-detail #finish-group{grid-column:1/-1}.asset-detail .asset-note{margin-top:5px!important}.collection-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}#render-message{left:18px;right:18px;top:70px;font-size:10px}.swatches button{width:34px;height:34px}.segmented button,select{min-height:42px}}@media(max-width:370px){.brand small{letter-spacing:1px}.edition{display:none}.scene-caption h1{font-size:31px}.viewer-tools p{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.loader{animation:none}}
@media(max-width:1050px){.viewer-tools p{width:100%}}@media(max-width:760px){.viewer-tools p{width:auto;max-width:none;margin-bottom:8px}.viewer-tools>div{margin-left:0;width:100%}.viewer-tools button{min-width:36px;min-height:40px;flex:1;padding:0 8px}.viewer-tools #reset{flex:2.2}.scene-caption{bottom:122px}}@media(max-width:370px){.viewer-tools p{display:block}.viewer-tools button{min-width:30px}}
@media(max-height:600px) and (min-width:600px){.masthead{height:64px}.categories{height:44px}main{min-height:calc(100dvh - 108px)}.viewport{height:calc(100dvh - 108px);min-height:270px}.view-top{top:12px;left:18px;right:18px}.scene-caption{left:22px;bottom:59px}.scene-caption h1{font-size:30px;margin:5px 0}.scene-caption .eyebrow{margin:0}.scene-caption>p:last-child{display:none}.viewer-tools{bottom:12px;left:18px;right:18px}.viewer-tools p{display:none}.viewer-tools>div{width:auto;margin-left:auto}.viewer-tools button{min-height:34px}.tag{padding:7px 10px}.icon-button{width:33px;height:33px}#render-message{top:56px;max-width:360px;font-size:10px;padding:8px 10px}.viewport:after{height:150px}}

/* The expanded shared-world catalogue stays reachable at every width. */
.categories{overflow-x:auto;scrollbar-width:thin;gap:4px;white-space:nowrap}.categories button{flex-shrink:0}.world-link{display:block;border:1px solid #98aa8c;background:#e5e8db;color:#234a3c;padding:12px;font-size:11px;line-height:1.5;text-decoration:none;margin-top:20px}.world-link:hover{background:#dce3cf}#proof{object-fit:contain;background:#b6c1b2}.asset-detail .world-link{grid-column:1/-1}@media(max-width:760px){.categories{justify-content:flex-start}.categories button{padding:0 13px}.categories button[aria-pressed=true]:after{left:13px;right:13px}}
.categories{overflow-y:hidden}

@media(max-width:760px){
 .native-view #proof{height:calc(100% - 145px);object-fit:cover}
 .native-view .scene-caption{bottom:78px;left:22px;right:22px;max-width:none}
 .native-view .scene-caption h1{font-size:28px;letter-spacing:-.6px;margin:4px 0 0}
 .native-view .scene-caption .eyebrow{font-size:8px;margin:0}
 .native-view .scene-caption>p:last-child,.native-view .viewer-tools{display:none}
 .native-view:after{height:160px;background:linear-gradient(transparent,#183b30e6 24%)}
 .native-view #render-message{top:auto;bottom:12px;background:transparent;color:#f4f2e9;border:0;padding:0;font-size:9px;line-height:1.5}
}

.back-to-race{color:inherit;text-decoration:none;border:1px solid #b8c5ba;border-radius:20px;padding:9px 13px;font-size:11px;white-space:nowrap}.back-to-race:hover{background:#dfe8da}.viewport{background:linear-gradient(#8eb9d7,#dbe3d0 55%,#c8b68b)}
@media(max-width:650px){.edition{display:flex}.back-to-race{font-size:9px;padding:7px 9px}.edition>.dot{display:none}.brand span{font-size:11px}.brand small{font-size:7px}}

@media(max-width:760px){.scene-caption{bottom:101px}.scene-caption h1{font-size:30px}.scene-caption>p:last-child{display:none}}

/* The workshop and expedition pages share the racing game's visual language. */
:root{--ink:#173c34;--muted:#647368;--paper:#f7f4e9;--forest:#214a3d;--ochre:#b76549}
.masthead{min-height:90px;height:auto;padding:18px 34px;gap:20px}
.brand{gap:11px;font-size:17px;letter-spacing:1.6px}
.brand-mark{height:29px;width:24px;transform:skew(-19deg);display:flex;gap:3px;align-items:center;flex:none}
.brand-mark i{height:25px;width:5px;background:var(--ink)}
.brand-mark i:nth-child(2){height:17px}.brand-mark i:nth-child(3){height:10px}
.brand .wordmark-light{font-weight:400;font-size:inherit;letter-spacing:2px}
.brand small{font-size:10px;letter-spacing:1.5px;line-height:1.4;margin-top:5px}
.edition{display:flex;gap:16px;letter-spacing:0;font-size:12px}
.companion-link,.back-to-race{min-height:44px;display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:12px;line-height:1.4;color:var(--ink)}
.companion-link:hover{text-decoration:underline;text-underline-offset:4px}
.back-to-race{padding:10px 14px;border-radius:22px}
.categories{height:56px;padding-left:22px;gap:4px}
.categories button{min-height:44px;font-size:13px}
.categories button span{font-size:11px}
.inspector-intro>p:last-child,.asset-detail>p:not(.eyebrow){font-size:13px;line-height:1.65}
.asset-card .asset-card-name{font-size:13px;line-height:1.4}
.asset-card .asset-index{font-size:11px}
.control-group>label{font-size:12px;line-height:1.5}
.control-group select,.segmented button{min-height:44px;font-size:12px}
.swatches{gap:7px;flex-wrap:wrap;padding:5px}
.swatches button{width:44px;height:44px;border-width:5px;flex:none}
.swatches button:focus-visible{outline:3px solid #cc6346;outline-offset:3px}
.viewer-tools p{font-size:12px;line-height:1.5}
.viewer-tools button{min-width:44px;min-height:44px;font-size:12px;padding:0 12px;border-radius:4px}
.icon-button{width:44px;height:44px;border-radius:50%}
.world-link{font-size:12px;min-height:44px}
.collection-footer span{font-size:10px;line-height:1.5}
.collection-footer p{font-size:12px;line-height:1.6}
#render-message{font-size:13px;line-height:1.5}
.workshop-save-status{padding:12px;border:1px solid #b68c59;border-radius:4px;background:#fff3d7;color:#59411f;font-size:12px;line-height:1.5;grid-column:1/-1}
button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline-color:#cc6346}
@media(max-width:760px){
 .masthead{padding:15px 18px 10px;gap:10px;flex-wrap:wrap}
 .brand{font-size:15px;gap:9px;letter-spacing:1.3px}
 .brand>span:not(.brand-mark){font-size:15px}
 .brand small{font-size:9px;letter-spacing:1.2px}
 .edition{display:flex;width:100%;justify-content:space-between;gap:12px}
 .companion-link,.back-to-race{font-size:12px;min-height:44px}
 .categories{height:53px;padding:0 8px}
 .categories button{font-size:12px}
 .viewport{min-height:380px;height:54dvh;max-height:520px}
 .viewer-tools{left:18px;right:18px;bottom:16px}
 .viewer-tools p{display:block;font-size:11px;margin:0 0 8px;width:100%;max-width:none}
 .viewer-tools>div{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:7px;width:100%;margin:0}
 .viewer-tools button{min-width:44px;min-height:44px;padding:0 9px}
 .viewer-tools #reset,.viewer-tools #motion{grid-column:span 2}
 .scene-caption{left:22px;right:22px;bottom:150px}
 .scene-caption h1{font-size:29px;line-height:1.05}
 .scene-caption .eyebrow{font-size:10px;line-height:1.5}
 .viewport:after{height:260px}
 .swatches button{width:44px;height:44px}
 .control-group select{font-size:16px}
}
@media(max-height:600px) and (min-width:761px){
 .masthead{min-height:70px;padding:10px 22px}
 .categories{height:48px}
 .viewport{height:calc(100dvh - 118px);min-height:300px}
 .viewer-tools button{min-height:44px;min-width:44px}
 .scene-caption{bottom:72px}
 .icon-button{width:44px;height:44px}
}
