:root{--text:#93a4b3;--text-h:#e8eef3;--bg:#0d161e;--surface-main:#101b24;--course-background:var(--surface-main);--surface:#13212c;--surface-raised:#1c2c38;--surface-hover:#243846;--surface-rank:#1a2a35;--surface-rank-deep:#172630;--border:#31424f;--border-hover:#526371;--code-bg:#1c2c38;--accent:#f2c94c;--accent-bg:#f2c94c1f;--accent-border:#f2c94c8c;--social-bg:#13212c;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;background:var(--bg);flex-direction:column;width:94vw;min-height:100svh;margin:0 auto;display:flex}body{background:var(--bg);margin:0}button,select,input:not([type=radio]):not([type=checkbox]),select{color:var(--text-h);background-color:var(--surface-raised);border-color:var(--border);border-style:solid}input[type=radio],input[type=checkbox]{accent-color:var(--accent)}button:focus-visible,input:not([type=radio]):not([type=checkbox]):focus-visible,select:focus-visible{outline:2px solid var(--text-h);outline-offset:2px}input::placeholder{color:var(--text);opacity:.75}option{color:var(--text-h);background-color:var(--surface)}button:disabled{color:var(--text)}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px;font-weight:700}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}h3{color:var(--text-h);font-weight:600}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.app{box-sizing:border-box;flex-direction:column;align-items:center;gap:12px;width:100%;padding:16px 12px;display:flex}.app h1{margin:0;transform:translateY(6px)}.app-header{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.brand-title{justify-content:center;align-items:center;gap:8px;display:flex}.brand-title img{object-fit:contain;flex-shrink:0;width:48px;height:48px;transform:translateY(7px)}.brand-title h1{margin:0}.language-switch{z-index:2;border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:3px;padding:3px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.language-switch button{border:0;border-radius:999px;min-width:40px;min-height:30px;padding:0 7px;font-size:11px;font-weight:700;line-height:1}.language-switch button.selected{color:var(--text-h);background:var(--accent)}.fullscreen-toggle{white-space:nowrap}.game-layout{grid-template-columns:200px minmax(600px,1fr) 220px;align-items:start;gap:12px;width:100%;display:grid;overflow-x:auto}button:hover:not(:disabled),input:not([type=radio]):not([type=checkbox]):hover,select:hover{border-color:var(--border-hover);background-color:var(--surface-hover)}.app button{box-sizing:border-box;border:1px solid var(--border);border-radius:7px;min-height:40px;padding:0 12px;font-size:14px;font-weight:600;transition:background-color .12s,border-color .12s,color .12s,transform 80ms}.app button:hover:not(:disabled){border-color:var(--accent-border);background-color:var(--surface-hover)}.app button:active:not(:disabled){border-color:var(--accent);transform:translateY(1px)}.app button:disabled{cursor:not-allowed;opacity:.56}.app button:focus-visible,.app input:not([type=radio]):not([type=checkbox]):focus-visible,.app select:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-bg)}.app input:not([type=radio]):not([type=checkbox]),.app select{box-sizing:border-box;border:1px solid var(--border);border-radius:7px;height:40px;padding:0 12px;font-size:14px;transition:background-color .12s,border-color .12s,box-shadow .12s}.app input:not([type=radio]):not([type=checkbox]):focus,.app select:focus{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-bg)}.app .icon-button{border:1px solid var(--border);background:var(--surface-raised);width:30px;min-width:30px;height:30px;min-height:30px;color:var(--text);border-radius:6px;flex:0 0 30px;place-items:center;padding:0;line-height:1;display:inline-grid}.app .icon-button:hover:not(:disabled){border-color:var(--border-hover);background:var(--surface-hover);color:var(--text-h)}.app .icon-button:active:not(:disabled){transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.app .icon-button-danger:hover:not(:disabled){color:#f0aaaa;background:#e0696924;border-color:#e0696985}}.icon-button-svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.setup-app{gap:8px;padding-top:8px;padding-bottom:8px}.setup-layout{align-items:stretch;height:calc(clamp(280px,100svh - 240px,700px) + 24px)}.setup-layout>.setup,.setup-layout>.canvas-panel,.setup-layout>.course-settings{box-sizing:border-box;height:100%;min-height:0}.setup-layout>.setup{overflow:hidden}.setup-module-choices{width:100%}.setup-module-choices h2{margin:0 0 8px;font-size:18px}.setup-app .setup-module-choices{margin-top:-4px}.setup-app .setup-module-choices h2{margin-bottom:4px}.setup-module-choices .module-choices{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.setup-module-choices .module-choices button{padding:4px;font-size:13px}.setup-app .setup-module-choices{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:8px}.setup-module-choices .module-choices button{background:var(--surface-raised);border-radius:8px;min-height:76px}.setup-module-choices .module-choices button:hover:not(:disabled){background:var(--surface-hover)}.setup-module-choices .module-thumbnail{border-radius:5px;height:48px}.setup{text-align:left;background-color:var(--surface);flex-direction:column;align-items:stretch;gap:12px;display:flex}.setup p{font-size:14px}.course-settings{box-sizing:border-box;text-align:left;background-color:var(--surface);flex-direction:column;align-items:stretch;gap:8px;min-width:0;height:auto;display:flex;overflow:hidden auto}.course-settings h2,.course-settings h3{margin:0}.course-settings h3{font-size:16px}.course-settings p{margin:0;font-size:14px}.course-mode{border-color:var(--border);gap:8px;margin:0;padding:6px;display:flex}.course-mode label{white-space:nowrap}.module-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.module-choices button{cursor:pointer;flex-direction:column;align-items:stretch;gap:2px;min-width:0;padding:4px;display:flex}.module-choices button:disabled{cursor:default}.module-thumbnail{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-raised);width:100%;height:56px;display:block}.course-module-list{margin:0;padding-left:28px}.course-module-list li{margin:4px 0}.custom-course-list{padding:0;list-style:none}.custom-course-list .custom-course-row{border-bottom:1px solid var(--border);align-items:center;gap:3px;min-width:0;min-height:28px;margin:0;display:flex;position:relative}.custom-course-row.drop-before:before,.custom-course-row.drop-after:after{background:var(--accent);content:"";pointer-events:none;height:3px;position:absolute;left:0;right:0}.custom-course-row.drop-before:before{top:-2px}.custom-course-row.drop-after:after{bottom:-2px}.custom-course-end-drop{height:16px;list-style:none;position:relative}.custom-course-end-drop.drop-after:after{background:var(--accent);content:"";pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:0}.custom-course-row.pointer-drag-active.drop-before:before,.custom-course-row.pointer-drag-active.drop-after:after,.custom-course-end-drop.pointer-drag-active.drop-after:after{z-index:2;background:#f2c94c;height:5px;box-shadow:0 0 0 1px #0f161ecc,0 0 10px #f2c94ce6}.course-module-main{align-items:center;gap:3px;min-width:0;display:flex}.course-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;flex:none;padding:0 2px}@media (hover:hover) and (pointer:fine){.course-drag-handle{-webkit-user-drag:element}}.course-drag-handle:active{cursor:grabbing}.course-module-number{flex:none}.course-module-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.course-module-actions{flex:none;gap:2px;margin-left:auto;display:inline-flex}.course-module-actions button{padding:0 4px}.participant-list{box-sizing:border-box;border:1px solid var(--border);background-color:var(--surface-main);border-radius:8px;flex-direction:column;flex:auto;gap:4px;height:auto;min-height:0;padding:8px 4px;display:flex;overflow-y:auto}.participant-row{align-items:center;gap:4px;display:flex}.participant-number{text-align:right;flex:0 0 28px}.participant-input{box-sizing:border-box;min-width:0;font:inherit;flex:auto;padding:4px}.remove-participant{color:inherit;cursor:pointer;background:0 0;border:0;flex:0 0 18px;padding:0}.duplicate-name,.participant-input.duplicate-name:disabled{color:#dc2626;font-weight:600}.participant-input.duplicate-name:disabled{opacity:1;-webkit-text-fill-color:#dc2626}.setup-app .canvas-subtitle-spacer{height:18px}.preview-stage{position:relative}.map-selector{z-index:2;border:1px solid var(--border);background:var(--surface);border-radius:6px;gap:2px;padding:2px;display:inline-flex;position:absolute;top:8px;left:8px}.map-selector button{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 8px;font-size:12px}.map-selector button.selected{background:var(--accent);color:var(--bg)}.map-selector button.selected:hover:not(:disabled){background:var(--accent)}.setup-start-button,.setup-start-button:hover:not(:disabled){color:var(--bg);background-color:var(--accent);border-color:var(--accent)}.setup-app .setup,.setup-app .course-settings{background-color:#13212cb8;border:1px solid #31424fb8;border-radius:10px;gap:14px;padding:12px}.setup-app .setup h2,.setup-app .course-settings h2{text-align:center;border-bottom:1px solid var(--border);padding-bottom:10px;font-size:24px;font-weight:700}.setup-app .setup p,.setup-app .course-settings p{color:var(--text);font-size:13px;line-height:1.4}.setup-app .participant-instructions{flex-direction:column;gap:2px;display:flex}.setup-app .participant-instructions p:first-child{color:var(--text-h);font-size:14px;font-weight:500;line-height:1.5}.setup-app .setup>div:not(.participant-list),.setup-app .course-settings h3,.setup-app .course-settings>label{color:var(--text-h);font-size:14px;font-weight:600}.setup-app .course-settings h3{font-size:16px}.setup-app .participant-list{overscroll-behavior-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#96aab8b3 transparent;gap:8px;padding:8px}.setup-app .participant-list::-webkit-scrollbar{width:6px}.participant-full-view-list::-webkit-scrollbar{width:6px}.setup-app .participant-list::-webkit-scrollbar-thumb{background:#96aab8b3;border-radius:6px}.participant-full-view-list::-webkit-scrollbar-thumb{background:#96aab8b3;border-radius:6px}.setup-app .participant-list-shell{flex:auto;width:100%;min-height:0;display:flex;position:relative}.setup-app .participant-list-shell>.participant-list{flex:auto;width:100%}.setup-app .participant-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}.setup-app .participant-number{color:var(--text);font-size:13px;font-weight:600}.setup-app .course-mode{border:1px solid var(--border);background:var(--surface-main);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;margin:0;padding:6px;display:grid}.setup-app .course-mode legend{color:var(--text-h);grid-column:1/-1;padding:0 4px;font-size:14px;font-weight:600}.setup-app .course-mode label{border:1px solid var(--border);background:var(--surface-raised);min-height:40px;color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:6px;place-items:center;padding:0 8px;font-size:14px;font-weight:600;transition:none;display:grid;position:relative}.setup-app .course-mode input[type=radio]{opacity:0;width:1px;height:1px;margin:0;position:absolute}.setup-app .course-mode input[type=radio]:focus-visible{box-shadow:none;outline:none}.setup-app .course-mode label:has(input:checked){border-color:var(--accent);background:var(--accent);color:var(--bg)}.setup-app .course-mode label:hover{border-color:var(--accent-border)}.setup-app .course-mode label:focus-within{outline:2px solid var(--accent-border);outline-offset:1px}.setup-app .map-selector{border-radius:8px;gap:4px;padding:4px}.setup-app .map-selector button{border:1px solid var(--border);background:var(--surface-raised);min-height:40px;color:var(--text);touch-action:manipulation;border-radius:6px;padding:0 12px;font-size:14px;transition:none}.setup-app .map-selector button:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-hover);color:var(--text-h)}.setup-app .map-selector button.selected,.setup-app .map-selector button.selected:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--bg)}.setup-app .setup-start-button{border-radius:8px;min-height:44px;font-size:15px;font-weight:700}.setup-app .remove-participant,.setup-app .course-drag-handle,.setup-app .course-module-actions button{border-radius:6px;width:30px;height:30px;min-height:30px;padding:0}.setup-app .remove-participant{flex:0 0 30px}.setup-app .module-choices button{border-radius:8px;height:auto;min-height:76px;padding:6px;font-size:13px}.setup-app .module-thumbnail{height:48px}.setup-app .course-module-list{color:var(--text-h);font-size:14px;line-height:1.5}.setup-app .course-module-list li{margin:6px 0}.setup-app .course-module-list:not(.custom-course-list) li{border:1px solid var(--border);background:var(--surface-main);border-radius:6px;padding:5px 8px}.setup-app .custom-course-row{border:1px solid var(--border);background:var(--surface-main);border-radius:6px;padding:3px 5px}.setup-app .course-module-actions button{height:30px;min-height:30px}.setup-app .setup-layout{grid-template-columns:340px minmax(400px,1fr) 260px}.setup-app .preview-stage .game-canvas{height:clamp(280px,100svh - 240px,700px)}.setup-layout>.setup{grid-area:1/3}.setup-layout>.course-settings{grid-area:1/1}.setup-layout>.setup-start-action{z-index:2;grid-area:1/1;align-self:end;margin:0 12px 12px}.setup-app .course-settings{padding-bottom:68px}.setup-app .participant-panel-heading{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;padding-bottom:10px;display:grid}.setup-layout>.setup,.setup-layout>.course-settings{height:calc(100% - 10px);transform:translateY(10px)}.setup-app .participant-panel-heading h2{border:0;grid-area:1/2;justify-self:center;padding:0}.setup-app .participant-add-controls{align-self:center;align-items:center;gap:4px;min-width:0;display:none}.setup-app .participant-add-controls label{color:var(--text-h);white-space:nowrap;font-size:13px;font-weight:600}.setup-app .participant-add-controls input{box-sizing:border-box;text-align:center;width:64px;min-width:56px;min-height:40px;padding:0 6px}.setup-app .participant-add-controls button{box-sizing:border-box;border:1px solid var(--accent-border);background:var(--surface-main);min-width:56px;min-height:40px;color:var(--text-h);white-space:nowrap;cursor:pointer;border-radius:6px;padding:0 8px;font-size:13px;font-weight:700}.setup-app .participant-add-controls button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg)}.setup-app .participant-add-controls button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto}.setup-app .participant-actions{grid-template-columns:minmax(0,1fr);gap:0;width:100%;display:grid}.setup-app .participant-actions button{box-sizing:border-box;white-space:nowrap;width:100%;min-width:0;min-height:40px;padding:0 8px;font-size:14px;line-height:1.15}.setup-app .participant-actions .participant-clear-button{display:none}.setup-app .participant-count.has-add-toast{color:var(--accent);font-weight:700}.setup-app .participant-count{color:var(--text-h);text-align:center;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.2}.participant-quick-scroll,.participant-full-view-button,.participant-full-view-overlay{display:none}.setup-app .participant-add-controls,.setup-app .participant-actions button,.setup-app .remove-participant{touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto}@media (hover:none){.app.setup-app button.remove-participant.icon-button:hover:not(:disabled){border-color:var(--border);background:var(--surface-raised);color:var(--text)}.setup-app .remove-participant:focus:not(:focus-visible){box-shadow:none;outline:none}}@media (width<=600px){.setup-app .participant-add-controls{display:inline-flex}}@media (width<=850px){.setup-app .participant-actions button{width:100%;min-height:44px}}@media (width<=600px){.setup-app .participant-actions{grid-template-columns:minmax(0,1fr);gap:6px}.setup-app .participant-actions .participant-clear-button{display:block}}.setup-app .setup{gap:6px}.setup-app .participant-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px;display:grid}.setup-app .participant-number{text-align:right;grid-column:1}.setup-app .participant-input-wrap{grid-column:2;min-width:0;position:relative}.app.setup-app input.participant-input:not([type=radio]):not([type=checkbox]){width:100%;height:30px}.setup-app .remove-participant{grid-column:3}.setup-app .course-mode legend,.setup-app .course-list-section legend{color:var(--text-h);text-align:center;margin:0 auto;padding:0 8px;font-size:16px;font-weight:700}.setup-app .course-settings{gap:10px}.setup-app .course-list-section{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-main);border-radius:8px;flex-direction:column;flex:1 1 0;gap:4px;width:100%;min-width:0;min-height:0;margin:0;padding:0 8px 6px;display:flex}.setup-app .course-list-section>.course-module-list{flex:auto;min-height:0;padding-left:24px;overflow-y:auto}.setup-app .course-list-section>.custom-course-list{padding-left:0}.setup-app .course-list-section .course-module-list li{margin:2px 0}.setup-app .course-list-section .course-module-list:not(.custom-course-list) li{background:0 0;border:0;border-radius:0;margin:2px 0;padding:0;font-size:15px;font-weight:500;line-height:1.2}.setup-app .course-list-section .custom-course-row{background:0 0;border:0;border-radius:0;gap:2px;padding:0 4px}.setup-app .course-list-section .course-module-main{gap:2px}.setup-app .course-list-section .course-module-number{margin-left:8px;margin-right:2px}.setup-app .course-list-section .course-module-actions{gap:2px}.setup-app .course-list-section .course-module-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:14px;line-height:1.2;overflow:hidden}.setup-app .participant-suffix-overlay{pointer-events:none;white-space:pre;letter-spacing:.18px;align-items:baseline;max-width:calc(100% - 24px);font-size:14px;font-weight:600;display:flex;position:absolute;top:50%;left:12px;overflow:hidden;transform:translateY(-50%)}.setup-app .participant-suffix-measure{visibility:hidden}.setup-app .participant-suffix-text{color:#f0aaaa}.setup-app .participant-input.duplicate-name{color:var(--text-h)}.canvas-panel{text-align:center;min-width:0}.race-app .canvas-panel{--race-complete-card-offset:13px;position:relative}.race-complete-card{z-index:2;top:calc(50% + var(--race-complete-card-offset));box-sizing:border-box;text-align:center;background:#0d161efa;border:1.5px solid #f2c94cd1;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:min(156px,100% - 16px);min-height:108px;padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%)}.race-complete-title{color:#93a4b3;font-size:12px;font-weight:700;line-height:1.1}.race-complete-end{color:#f2c94c;font-size:36px;font-weight:800;line-height:1.1}.race-complete-feedback{color:#93a4b3;text-underline-offset:3px;margin-top:16px;font-size:12px;font-weight:500;line-height:1.2;text-decoration:underline;transition:color .12s}@media (hover:hover) and (pointer:fine){.race-complete-feedback{cursor:pointer}.race-complete-feedback:hover{color:#d2dae1}}.race-complete-feedback:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #93a4b3b8}.race-app .canvas-subtitle-spacer{height:26px}@media (width<=850px) and (orientation:portrait){.race-app .canvas-panel{--race-complete-card-offset:4px}}@media (width<=600px) and (orientation:portrait),(width<=980px) and (height<=500px) and (orientation:landscape) and (pointer:coarse){.race-app .canvas-panel{--race-complete-card-offset:0px}}.minimap-panel{box-sizing:border-box;background-color:var(--surface);flex-direction:column;min-width:0;height:clamp(320px,100svh - 180px,780px);padding:10px;display:flex}.ranking,.minimap-panel{border:1px solid var(--border);border-radius:8px}.ranking h2,.minimap-panel h2{border-bottom:1px solid var(--border);text-align:left;margin:0 0 8px;padding-bottom:8px;font-size:18px}.minimap-canvas{border:1px solid var(--border);box-sizing:border-box;background:var(--surface-main);cursor:crosshair;touch-action:none;border-radius:6px;flex:1 1 0;width:100%;min-height:0;display:block}.minimap-canvas:active{cursor:grabbing}.minimap-panel button{width:100%;margin-top:8px}.race-controls{flex-direction:column;display:flex}.race-controls .mobile-ranking-button,.race-controls .mobile-minimap-toggle{display:none}.mobile-minimap-view{display:contents}.mobile-minimap-close,.mobile-minimap-title,.app .mobile-minimap-header,.app .mobile-minimap-close{display:none}.game-canvas{box-sizing:border-box;border:1px solid var(--border-hover);background:var(--surface);width:100%;height:clamp(320px,100svh - 180px,780px);display:block;box-shadow:0 6px 16px #0003}.race-app:fullscreen{background:var(--bg);width:100vw;height:100dvh;min-height:0;color:var(--text-h);align-items:stretch;gap:10px;padding:12px;overflow:hidden}.race-app:fullscreen .race-layout{flex:auto;grid-template-columns:minmax(150px,18vw) minmax(0,1fr) minmax(160px,20vw);align-items:stretch;width:100%;height:auto;min-height:0;overflow:hidden}.race-app:fullscreen .app-header h1{letter-spacing:-.8px;font-size:32px}:is(.race-app:fullscreen .minimap-panel,.race-app:fullscreen .ranking){height:100%;min-height:0}.race-app:fullscreen .canvas-panel{flex-direction:column;min-height:0;display:flex}.race-app:fullscreen .game-canvas{flex:auto;height:auto;min-height:0}.ranking{box-sizing:border-box;text-align:left;background-color:var(--surface);flex-direction:column;width:100%;min-width:0;height:clamp(320px,100svh - 180px,780px);padding:10px;display:flex}.ranking p{color:var(--text);font-size:14px}.ranking-winner{border:1px solid var(--accent);background:var(--surface-raised);border-radius:6px;justify-content:center;align-items:center;min-width:0;margin-bottom:8px;padding:9px 12px;display:flex;position:relative}.ranking-winner-mark{background:var(--accent);border-radius:2px;width:3px;height:28px;position:absolute;left:8px}.ranking-winner-info{flex-direction:column;align-items:center;gap:5px;min-width:0;max-width:100%;display:flex}.ranking-winner-label{color:var(--accent);letter-spacing:.06em;font-size:20px;font-weight:800;line-height:1.1}.ranking-winner-label.is-current{white-space:nowrap;font-size:16px}.ranking-winner-main{justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.ranking-winner-name{min-width:0;color:var(--text-h);text-overflow:ellipsis;text-align:center;white-space:nowrap;flex:0 auto;font-size:19px;font-weight:700;line-height:1.1;display:block;overflow:hidden}.ranking-winner-color{border:1px solid var(--text);border-radius:50%;flex:0 0 13px;width:13px;height:13px;box-shadow:0 0 0 1px #00000059}.ranking-list{flex-direction:column;flex:auto;gap:3px;min-height:0;padding-right:1px;display:flex;overflow-y:auto}.ranking-row{box-sizing:border-box;background:var(--surface-main);min-height:32px;color:var(--text-h);border:1px solid #0000;border-radius:5px;grid-template-columns:34px 13px minmax(0,1fr);align-items:center;gap:8px;padding:4px 6px;font-weight:500;display:grid}.ranking-place{color:var(--text);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:700}.ranking-color{border:1px solid var(--text);border-radius:50%;flex:0 0 13px;width:13px;height:13px;box-shadow:0 0 0 1px #00000059}.ranking-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;line-height:1.25;overflow:hidden}.ranking-row.rank-top-1{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:700}.ranking-row.rank-top-1 .ranking-place{color:var(--bg)}.ranking .duplicate-name{color:#fca5a5}.finish-divider{align-items:center;gap:8px;margin:6px 0;line-height:1;display:flex}.finish-divider:before,.finish-divider:after{content:"";border-top:2px solid var(--border);flex:1}.ranking,.minimap-panel{border-radius:10px}.ranking h2,.minimap-panel h2{text-align:center}.race-app:not(:fullscreen){height:100svh;min-height:0;padding-bottom:20px}.race-app:not(:fullscreen) .race-layout{flex:auto;align-items:stretch;min-height:0}.race-app:not(:fullscreen) .canvas-panel{flex-direction:column;min-height:0;display:flex}.race-app:not(:fullscreen) .canvas-subtitle-spacer{flex:0 0 26px}.race-app:not(:fullscreen) .game-canvas{flex:auto;height:auto;min-height:0}:is(.race-app:not(:fullscreen) .minimap-panel,.race-app:not(:fullscreen) .ranking){margin-top:26px}.app .mobile-minimap-close{display:none}@media (width<=1100px){.game-layout{grid-template-columns:190px minmax(400px,1fr) 190px;gap:12px}.setup-app .setup-layout{grid-template-columns:300px minmax(300px,1fr) 210px}}@media (width<=850px){.setup-app .setup-layout{grid-template-columns:260px minmax(250px,1fr) 190px}}@media (width>=1101px) and (height<=760px){.setup-app .course-list-section>.course-module-list:not(.custom-course-list){grid-template-rows:repeat(5,min-content);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;align-content:start;gap:2px 12px;display:grid}.setup-app .course-list-section>.course-module-list:not(.custom-course-list)>li{margin:0}}@media (width<=600px) and (orientation:portrait){.app{width:100%;min-width:0;padding-left:12px;padding-right:12px;overflow-x:hidden}.game-layout{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;min-width:0;display:grid;overflow:visible}.setup-app{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:stretch;row-gap:12px;height:auto;min-height:100svh;display:grid}.setup-app .setup-layout{height:auto;display:contents}.setup-app .game-layout,.setup-app .canvas-panel,.setup-app .preview-stage,.setup-app .course-settings{display:contents}.setup-layout>.course-settings,.setup-layout>.canvas-panel,.setup-layout>.setup{grid-area:auto;width:100%;min-width:0;height:auto;min-height:0;transform:none}.setup-layout>.course-settings{order:0}.setup-layout>.canvas-panel{order:2}.setup-layout>.setup{order:6;overflow:visible}.setup-app .map-selector{z-index:auto;box-sizing:border-box;order:2;grid-area:auto/1;justify-self:stretch;width:100%;max-width:100%;margin:0;position:static}.setup-app .preview-stage .game-canvas{order:3;grid-area:auto/1;height:auto}.setup-app .course-settings>h2{box-sizing:border-box;order:0;width:100%;margin:0;padding:0 0 8px}.setup-app .course-settings>.course-mode{order:1;width:100%}.setup-app .course-settings>label[for=random-module-count],.setup-app .course-settings>#random-module-count,.setup-app .course-settings>button,.setup-app .course-settings>.course-list-section{order:4;width:100%}.setup-app .course-settings>label[for=random-module-count]{margin-top:2px}.setup-app>.setup-module-choices{order:5;width:100%;min-width:0}.setup-app .setup-layout>.setup-start-action{order:7;grid-area:auto;align-self:stretch;width:100%;margin:0}.setup-app:not(:has(>.setup-module-choices)) .setup-start-action{order:7}.setup-app:has(>.setup-module-choices) .canvas-panel{order:3}.setup-app:has(>.setup-module-choices) .setup{order:6}.setup-app:not(:has(>.setup-module-choices)) .setup{order:6}.setup-app:has(>.setup-module-choices) .setup-layout>.setup-start-action{order:7}.setup-app .course-list-section{flex:none;min-height:0}.setup-app .course-list-section>.course-module-list{flex:none;max-height:280px;overflow-y:auto}.setup-app .participant-list-shell{flex:0 300px;min-height:132px;max-height:300px}.setup-app .participant-list-shell>.participant-list{height:100%;min-height:0;max-height:none}.setup-app .preview-stage,.setup-app .preview-stage .game-canvas{width:100%;min-width:0}.setup-app .preview-stage .game-canvas{height:clamp(320px,92vw,420px)}.setup-app .map-selector{-webkit-overflow-scrolling:touch;scrollbar-width:thin;white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;width:100%;max-width:100%;display:flex;left:auto;right:auto;overflow:auto hidden}.setup-app .map-selector button{white-space:nowrap;flex:none;height:32px;min-height:32px;padding:0 7px;font-size:12px}.setup-module-choices .module-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-module-choices .module-choices button{white-space:normal;overflow-wrap:anywhere;min-height:84px;line-height:1.2}.race-app:not(:fullscreen){height:auto;min-height:100svh;padding-bottom:20px;overflow-y:visible}.race-app:fullscreen{height:100dvh;overflow-y:auto}.race-app:fullscreen .race-layout{flex:none;grid-template-columns:minmax(0,1fr);width:100%;height:auto;display:grid;overflow:visible}:is(.race-app:fullscreen .minimap-panel,.race-app:fullscreen .ranking){height:auto;min-height:0}.race-app:fullscreen .game-canvas{flex:none;height:clamp(250px,72vw,340px)}.race-app .race-layout{flex:none;grid-template-rows:auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;width:100%;min-width:0;min-height:0;display:grid;overflow:visible}.race-layout>.canvas-panel,.race-layout>.minimap-panel,.race-layout>.ranking{grid-column:1;width:100%;min-width:0;margin-top:0}.race-layout>.canvas-panel{grid-row:1}.race-layout>.minimap-panel{grid-row:2}.race-layout>.ranking{grid-row:3;height:auto;min-height:220px}.race-app .canvas-subtitle-spacer{display:none}.race-app .game-canvas{width:100%;height:clamp(250px,72vw,340px);min-height:0}:is(.race-app:not(:fullscreen) .minimap-panel,.race-app:not(:fullscreen) .ranking){margin-top:0}.race-app:not(:fullscreen) .minimap-panel{height:auto}.race-app:not(:fullscreen) .game-canvas{height:clamp(250px,72vw,340px)}.race-app .minimap-canvas{flex:none;height:180px}.race-app .ranking-list{max-height:360px}.race-app:not(:fullscreen){gap:8px;height:100svh;min-height:0;padding:8px 12px;overflow:hidden}.race-app:fullscreen{gap:8px;height:100dvh;padding:8px;overflow:hidden}:is(.race-app:not(:fullscreen) .race-layout,.race-app:fullscreen .race-layout){flex:auto;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);width:100%;height:auto;min-height:0;display:grid;position:relative;overflow:visible}:is(.race-app:not(:fullscreen) .canvas-panel,.race-app:fullscreen .canvas-panel){grid-area:1/1;min-height:0}.race-app .game-canvas{flex:auto;width:100%;height:clamp(300px,42svh,420px);min-height:0}.race-app:not(:fullscreen) .game-canvas{flex:auto;width:100%;height:clamp(300px,42svh,420px);min-height:0}.race-app:fullscreen .game-canvas{flex:auto;width:100%;height:clamp(300px,42svh,420px);min-height:0}.race-layout>.minimap-panel{z-index:3;box-sizing:border-box;background:#0d1820e6;border-color:#a0b1bead;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(42vw,152px);min-width:0;height:auto;margin:0;padding:6px;display:grid;position:absolute;top:8px;right:8px}.race-app:not(:fullscreen) .race-layout>.minimap-panel{z-index:3;box-sizing:border-box;background:#0d1820e6;border-color:#a0b1bead;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(42vw,152px);min-width:0;height:auto;margin:0;padding:6px;display:grid;position:absolute;top:8px;right:8px}.race-app:fullscreen .race-layout>.minimap-panel{z-index:3;box-sizing:border-box;background:#0d1820e6;border-color:#a0b1bead;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(42vw,152px);min-width:0;height:auto;margin:0;padding:6px;display:grid;position:absolute;top:8px;right:8px}.race-app .minimap-panel h2{display:none}.race-app .minimap-canvas{flex:none;grid-column:1/-1;width:100%;height:76px;min-height:0}.race-app .minimap-panel button{white-space:normal;width:100%;min-width:0;height:auto;min-height:32px;margin:0;padding:3px 4px;font-size:10px;line-height:1.15}.race-layout>.ranking{grid-area:2/1;gap:6px;width:100%;height:auto;min-height:0;max-height:none;margin:0;padding:8px}.race-app:not(:fullscreen) .race-layout>.ranking{grid-area:2/1;gap:6px;width:100%;height:auto;min-height:0;max-height:none;margin:0;padding:8px}.race-app:fullscreen .race-layout>.ranking{grid-area:2/1;gap:6px;width:100%;height:auto;min-height:0;max-height:none;margin:0;padding:8px}.race-app .ranking h2{margin:0;padding:0 0 5px;font-size:15px}.race-app .ranking-winner{margin:0;padding:5px 8px}.race-app .ranking-winner-label{font-size:14px}.race-app .ranking-winner-label.is-current{font-size:12px}.race-app .ranking-winner-info{gap:3px}.race-app .ranking-winner-name{font-size:15px}.race-app .ranking-list{flex:none;gap:2px;max-height:none;overflow:visible}.race-app .ranking-row{min-height:26px;padding:2px 5px}.race-app .ranking-name,.race-app .ranking-place{font-size:12px}:is(.race-app:not(:fullscreen) .race-layout,.race-app:fullscreen .race-layout){grid-template-rows:minmax(0,1fr) auto}:is(.race-app:not(:fullscreen) .race-layout>.minimap-panel,.race-app:fullscreen .race-layout>.minimap-panel){background:0 0;border:0;width:auto;height:auto;margin:0;padding:0;display:contents;position:static}.race-app .minimap-canvas{z-index:4;background:#0d1820e6;border-color:#a0b1becc;grid-column:auto;width:min(29vw,112px);height:72px;position:absolute;top:8px;right:8px}.race-app .race-controls{z-index:2;box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-area:2/1;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;width:100%;padding:6px;display:grid}.race-app .race-controls button{white-space:normal;grid-column:span 2;width:100%;min-width:0;height:auto;min-height:36px;margin:0;padding:4px 5px;font-size:12px;line-height:1.15}.race-app .race-controls .mobile-ranking-button{display:block}.race-app .race-controls button:nth-child(4){grid-column:2/span 2}.race-app .race-controls button:nth-child(5){grid-column:4/span 2}.race-app:not(.is-finished) .race-controls button:nth-last-child(2){grid-column:2/span 2}.race-app:not(.is-finished) .race-controls button:last-child{grid-column:4/span 2}.race-app .race-layout>.ranking{display:none}.ranking-sheet{z-index:1000;box-sizing:border-box;width:100%;height:66svh;min-height:0;max-height:70svh;padding:12px 14px max(12px, env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--surface);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;margin:0;display:flex;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -10px 32px #0000005c}.race-app:not(:fullscreen) .ranking-sheet{z-index:1000;box-sizing:border-box;width:100%;height:66svh;min-height:0;max-height:70svh;padding:12px 14px max(12px, env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--surface);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;margin:0;display:flex;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -10px 32px #0000005c}.race-app:fullscreen .ranking-sheet{z-index:1000;box-sizing:border-box;width:100%;height:66svh;min-height:0;max-height:70svh;padding:12px 14px max(12px, env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--surface);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;margin:0;display:flex;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -10px 32px #0000005c}.ranking-overlay-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.race-app .ranking-sheet .ranking-overlay-header h2{text-align:left;border:0;flex:auto;margin:0;padding:0}.race-app .ranking-sheet .ranking-overlay-close{flex:0 0 40px;width:40px;min-width:40px;min-height:40px;padding:0;font-size:26px;line-height:1}.race-app .ranking-sheet .ranking-winner{flex:none;margin:8px 0 0}.race-app .ranking-sheet .ranking-list{overscroll-behavior:contain;flex:auto;min-height:0;padding:8px 2px 12px 0;overflow-y:auto}:is(.race-app:not(:fullscreen) .race-layout>.minimap-panel,.race-app:fullscreen .race-layout>.minimap-panel){display:contents}:is(.race-app:not(:fullscreen) .canvas-panel,.race-app:fullscreen .canvas-panel){position:relative}.race-app .mobile-minimap-view{display:none}.race-app.has-open-minimap .mobile-minimap-view{z-index:1001;box-sizing:border-box;width:100%;height:min(46svh,400px);padding:42px 10px max(10px, env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--surface);border-bottom:0;border-radius:16px 16px 0 0;display:block;position:fixed;inset:auto 0 0;box-shadow:0 -10px 32px #0000005c}.race-app .mobile-minimap-close{place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;font-size:22px;line-height:1;display:grid;position:absolute;top:5px;right:5px}.race-app .mobile-minimap-title{color:var(--text-h);font-size:14px;display:block;position:absolute;top:12px;left:14px}.race-app .minimap-canvas{display:none}.race-app.has-open-minimap .mobile-minimap-view .minimap-canvas{width:100%;height:100%;min-height:0;display:block;position:static}.race-app .race-controls{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:6px}.race-app .race-controls button{grid-column:span 2;min-height:36px;padding:4px 5px;font-size:12px}.race-app .race-controls button:nth-child(4),.race-app .race-controls button:nth-child(5){grid-column:span 2}.race-app .race-controls .mobile-ranking-button,.race-app .race-controls .mobile-minimap-toggle,.race-app.is-finished .race-controls .mobile-restart-action,.race-app.is-finished .race-controls .mobile-return-action{display:block}.race-app .current-leader-card{z-index:auto;border:0;border-bottom:1px solid var(--border);width:100%;max-width:none;min-height:28px;box-shadow:none;background:0 0;border-radius:0;justify-content:flex-start;align-self:stretch;margin:0;padding:4px 2px;display:flex;position:static}.race-app .current-leader-card .ranking-winner-mark{display:none}.race-app .current-leader-card .ranking-winner-info{flex-direction:row;justify-content:flex-start;gap:8px;width:100%}.race-app .current-leader-card .ranking-winner-label{color:var(--text);white-space:nowrap;flex:none;font-size:11px}.race-app .current-leader-card .ranking-winner-main{justify-content:flex-start;width:auto;min-width:0}.race-app .current-leader-card .ranking-winner-color{flex-basis:10px;width:10px;height:10px}.race-app .current-leader-card .ranking-winner-name{max-width:42vw;font-size:12px}:is(.race-app:not(:fullscreen) .ranking-sheet,.race-app:fullscreen .ranking-sheet){width:100%;height:auto;min-height:0;max-height:46svh;padding:12px 14px max(12px, env(safe-area-inset-bottom));margin:0;inset:auto 0 0}.race-app .ranking-sheet .ranking-list{flex:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:4px;max-height:calc(46svh - 116px);padding-top:8px;display:grid;overflow-y:auto}.race-app .ranking-sheet .finish-divider{display:none}.race-app .ranking-sheet .ranking-row{gap:4px;min-width:0;min-height:28px;padding:3px 4px}.race-app .ranking-sheet .ranking-place,.race-app .ranking-sheet .ranking-name{font-size:11px}.race-app .ranking-sheet .ranking-winner{flex:none}.race-app.is-finished .race-controls button:nth-child(4){grid-column:5/span 2}.race-app.is-finished .race-controls button:nth-child(5){grid-column:2/span 2}.race-app.is-finished .race-controls button:nth-child(6){grid-column:4/span 2}.race-app.is-finished .race-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.race-app.is-finished .race-controls button,.race-app.is-finished .race-controls button:nth-child(4),.race-app.is-finished .race-controls button:nth-child(5),.race-app.is-finished .race-controls button:nth-child(6){grid-column:auto/span 1}.race-app.is-finished .race-controls .follow-leader-button{display:none}.race-app.is-finished:not(:fullscreen){height:auto;min-height:100svh;overflow:hidden auto}.race-app.is-finished:not(:fullscreen) .race-layout{flex:none;grid-template-rows:auto auto}.race-app.is-finished:fullscreen{overflow-y:auto}.race-app:not(:fullscreen){height:100svh;min-height:0;padding:8px 12px max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:6px;display:flex;overflow:hidden}.race-app:fullscreen{height:100svh;min-height:0;padding:8px 12px max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:6px;display:flex;overflow:hidden}.race-app.is-finished:not(:fullscreen){height:100svh;min-height:0;padding:8px 12px max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:6px;display:flex;overflow:hidden}.race-app.is-finished:fullscreen{height:100svh;min-height:0;padding:8px 12px max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:6px;display:flex;overflow:hidden}.race-app:fullscreen{height:100dvh}.race-app.is-finished:fullscreen{height:100dvh}.race-app .app-header{flex:none}.race-app .current-leader-card{text-align:center;flex:none;justify-content:center;min-height:28px;padding:2px 0 5px}.race-app .current-leader-card .ranking-winner-info{justify-content:center;width:auto}.race-app .current-leader-card .ranking-winner-label{color:#ffe08a}.race-app .race-layout{flex:auto;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;width:100%;min-width:0;height:auto;min-height:0;transition:grid-template-rows .24s;display:grid;position:relative;overflow:hidden}.race-app:not(:fullscreen) .race-layout{flex:auto;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;width:100%;min-width:0;height:auto;min-height:0;transition:grid-template-rows .24s;display:grid;position:relative;overflow:hidden}.race-app:fullscreen .race-layout{flex:auto;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;width:100%;min-width:0;height:auto;min-height:0;transition:grid-template-rows .24s;display:grid;position:relative;overflow:hidden}.race-app .race-layout>.canvas-panel{flex-direction:column;grid-area:1/1;min-width:0;min-height:0;display:flex;overflow:hidden}.race-app:not(:fullscreen) .race-layout>.canvas-panel{flex-direction:column;grid-area:1/1;min-width:0;min-height:0;display:flex;overflow:hidden}.race-app:fullscreen .race-layout>.canvas-panel{flex-direction:column;grid-area:1/1;min-width:0;min-height:0;display:flex;overflow:hidden}.race-app .game-canvas{flex:auto;width:100%;height:auto;min-height:0;transition:height .24s}.race-app:not(:fullscreen) .game-canvas{flex:auto;width:100%;height:auto;min-height:0;transition:height .24s}.race-app:fullscreen .game-canvas{flex:auto;width:100%;height:auto;min-height:0;transition:height .24s}.race-app .race-layout>.minimap-panel{display:contents}.race-app:not(:fullscreen) .race-layout>.minimap-panel{display:contents}.race-app:fullscreen .race-layout>.minimap-panel{display:contents}.race-app .race-layout>.ranking:not(.ranking-sheet){display:none}.race-app .race-controls{z-index:auto;grid-area:2/1;align-self:end}.race-app .race-layout.has-open-ranking,.race-app .race-layout.has-open-minimap{grid-template-rows:minmax(150px,1fr) auto}.race-app .race-layout.has-open-ranking .race-controls,.race-app .race-layout.has-open-minimap .race-controls{display:none}.race-app .race-layout>.ranking-sheet{border:1px solid var(--border);background:var(--surface);width:100%;height:auto;min-height:0;max-height:min(42svh,340px);box-shadow:none;border-radius:8px;grid-area:2/1;align-self:stretch;margin:0;padding:8px 10px;position:static;overflow:hidden}.race-app .ranking-sheet .ranking-overlay-header{padding-bottom:5px}.race-app .ranking-sheet .ranking-overlay-header h2{font-size:15px}.race-app .ranking-sheet .ranking-overlay-close,.race-app .mobile-minimap-close{width:30px;min-width:30px;height:30px;min-height:30px;font-size:inherit;flex:0 0 30px;align-self:center;padding:0;line-height:1;display:inline-grid;position:static}.race-app .ranking-sheet .ranking-list{overscroll-behavior:contain;flex:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:4px;min-height:0;max-height:calc(42svh - 92px);padding:6px 2px 2px 0;display:grid;overflow-y:auto}.race-app .ranking-sheet .ranking-list.ranking-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.race-app .ranking-sheet .ranking-row{min-height:28px;padding:3px 4px}.race-app .mobile-minimap-view,.race-app.has-open-minimap .mobile-minimap-view{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;height:min(40svh,340px);min-height:180px;box-shadow:none;border-radius:8px;flex-direction:column;grid-area:2/1;align-self:stretch;padding:8px;display:none;position:static}.race-app.has-open-minimap .mobile-minimap-view{display:flex}.race-app .mobile-minimap-title{color:var(--text-h);text-align:center;flex:none;padding:0;font-size:14px;display:block;position:static}.race-app.has-open-minimap .mobile-minimap-header{border-bottom:1px solid var(--border);flex:none;justify-content:center;align-items:center;min-height:30px;padding:0 38px 5px;display:flex;position:relative}.race-app.has-open-minimap .mobile-minimap-close{flex:0 0 30px;width:30px;min-width:30px;height:30px;min-height:30px;margin:0;padding:0;display:inline-grid;position:absolute;top:0;right:0}.race-app .mobile-minimap-view .minimap-canvas,.race-app.has-open-minimap .mobile-minimap-view .minimap-canvas{border-color:var(--border);background:var(--surface-main);flex:auto;width:100%;height:auto;min-height:0;display:block;position:static}:is(.race-app.is-finished:not(:fullscreen) .race-layout,.race-app.is-finished:fullscreen .race-layout){flex:auto;grid-template-rows:minmax(150px,1fr) auto;overflow:hidden}.race-app .current-leader-card{flex-direction:column;align-items:center;gap:2px}.race-app .current-leader-card .ranking-winner-info{flex-direction:row;justify-content:center;align-items:center;gap:8px;width:auto;max-width:100%}.race-app .current-leader-card .ranking-winner-label{white-space:nowrap;flex:none}.race-app .current-leader-card .ranking-winner-main{white-space:nowrap;flex:0 auto;gap:5px;width:auto;max-width:100%}.race-app .current-leader-card .ranking-winner-name{white-space:nowrap;max-width:38vw}.race-app .current-leader-finish-count{max-width:100%;color:var(--text);text-align:center;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.15;display:block}.race-app .race-controls button{min-height:32px;padding-top:3px;padding-bottom:3px}.setup-app .course-mode{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.setup-app .course-mode label{box-sizing:border-box;width:100%;min-width:0}.setup-app .map-selector{box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px;padding:8px;display:grid;overflow:hidden}.setup-app .map-selector button{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;height:auto;min-height:38px;padding:4px 2px;font-size:12px;line-height:1.1}.race-app .follow-leader-button[aria-pressed=true]:after{content:attr(data-active-label)}}@media (width>=601px) and (width<=850px) and (orientation:portrait){.setup-app{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-content:start;place-items:start stretch;display:grid;overflow-x:hidden}.setup-app>.app-header{order:0;grid-column:1/-1}.setup-app .setup-layout{width:auto;height:auto;display:contents;overflow:visible}.setup-app .custom-course-list-section{flex:none;min-height:0}.setup-app .custom-course-list-section>.custom-course-list{flex:none;min-height:0;overflow:visible}.setup-app .course-settings{order:1;grid-area:auto/1;width:auto;min-width:0;height:auto;max-height:none;padding:12px;overflow:visible;transform:none}.setup-app .canvas-panel{order:2;grid-area:auto/2;width:auto;min-width:0;transform:none}.setup-app .preview-stage{box-sizing:border-box;height:calc(clamp(280px,100svh - 240px,700px) + 56px)}.setup-app .canvas-subtitle-spacer{display:none}.setup-app .setup-module-choices{order:3;grid-column:1/-1;width:100%;min-width:0;margin-top:0}.setup-app:has(>.setup-module-choices) .course-settings{grid-row:2}.setup-app:has(>.setup-module-choices) .canvas-panel{grid-row:2/span 2}.setup-app:has(>.setup-module-choices)>.setup-module-choices{grid-area:3/1;align-self:start;height:fit-content;min-height:0;margin:0;transform:translateY(-5px)}.setup-app:has(>.setup-module-choices) .setup-module-choices .module-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.setup-app:has(>.setup-module-choices) .setup-module-choices .module-choices button{text-align:left;flex-direction:row;align-items:center;gap:5px;min-height:32px;padding:2px 4px;font-size:12px;line-height:1.1}.setup-app:has(>.setup-module-choices) .setup-module-choices .module-thumbnail{flex:0 0 42px;width:42px;height:24px}.setup-app .setup-module-choices .module-choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.setup-app .setup-module-choices .module-choices button{overflow-wrap:normal;min-width:0;min-height:92px;padding:6px;font-size:13px;line-height:1.2}.setup-app .setup-module-choices .module-thumbnail{height:44px}.setup-app .setup{order:4;grid-area:auto/1/auto/-1;width:auto;min-width:0;height:auto;min-height:0;max-height:none;padding:12px;overflow:visible;transform:none}.setup-app:has(>.setup-module-choices) .setup{grid-row:4}.setup-app:not(:has(>.setup-module-choices)) .setup{transform:translateY(5px)}.setup-app .participant-list-shell{flex:0 300px;min-height:132px;max-height:300px}.setup-app .participant-list-shell>.participant-list{height:100%;min-height:0;max-height:none}.setup-app .setup-layout>.setup-start-action{order:5;grid-area:auto/1/auto/-1;place-self:stretch stretch;width:100%;margin:0}.setup-app:has(>.setup-module-choices) .setup-layout>.setup-start-action{grid-row:5}.setup-app .map-selector{box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;margin:0 0 8px;padding:4px;display:grid;position:static;transform:none}.setup-app .map-selector button{white-space:normal;width:100%;min-width:0;min-height:38px;padding:4px 5px;font-size:12px;line-height:1.1}.setup-app .course-list-section{flex:none;min-height:0}.setup-app .course-list-section>.course-module-list{flex:0 auto;max-height:320px;overflow-y:auto}.setup-app .course-list-section:has(>.custom-course-list){padding-bottom:2px}.setup-app .course-list-section>.custom-course-list{flex:none;max-height:none;overflow:visible}.setup-app:has(>.setup-module-choices) .course-list-section>.custom-course-list>.custom-course-end-drop{height:12px}.setup-app .course-list-section>.custom-course-list{padding-left:0}.setup-app .course-list-section .course-module-list li.custom-course-row{padding-left:2px;padding-right:2px}.setup-app .course-list-section .course-module-main{flex:1 1 0;gap:1px}.setup-app .course-list-section .course-module-number{margin-left:3px;margin-right:1px}.setup-app .course-list-section .course-module-actions{gap:0}.setup-app .course-list-section .course-module-actions button{flex:0 0 40px;width:40px;min-width:40px;height:40px;min-height:40px}.setup-app .course-list-section .course-module-actions .icon-button-svg{width:14px;height:14px}.setup-app .course-list-section .course-module-name{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.setup-app .setup-start-action{min-width:0}.race-app:not(:fullscreen){align-items:stretch;height:auto;min-height:100svh;overflow:hidden auto}.race-app:not(:fullscreen) .race-layout{flex:none;grid-template-rows:auto auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;width:100%;min-width:0;height:auto;min-height:0;display:grid;overflow:visible}.race-app:not(:fullscreen) .canvas-panel{grid-area:1/1/auto/-1;width:100%;min-width:0;margin:0}.race-app:not(:fullscreen) .canvas-subtitle-spacer{flex:0 0 8px;height:8px}.race-app:not(:fullscreen) .game-canvas{flex:none;width:100%;height:clamp(420px,52svh,560px);min-height:0}:is(.race-app:not(:fullscreen) .minimap-panel,.race-app:not(:fullscreen) .ranking){grid-row:2;width:100%;min-width:0;height:clamp(300px,36svh,380px);min-height:0;margin:0}.race-app:not(:fullscreen) .minimap-panel{grid-column:1}.race-app:not(:fullscreen) .ranking{grid-column:2;max-height:380px}.race-app:not(:fullscreen) .ranking-list{min-height:0;overflow-y:auto}.race-app .ranking-winner{justify-content:stretch;padding:8px 10px}.race-app .ranking-winner-mark{display:none}.race-app .ranking-winner-info{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%}.race-app .ranking-winner-main{flex:auto;order:0;justify-content:flex-start;gap:5px;width:auto}.race-app .ranking-winner-name{text-align:left;max-width:min(28vw,190px);font-size:16px}.race-app .ranking-winner-label,.race-app .ranking-winner-label.is-current{letter-spacing:.02em;white-space:nowrap;flex:none;order:1;font-size:11px}}@media (width>=601px) and (width<=900px) and (height<=500px) and (orientation:landscape){.setup-app .setup-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr) minmax(0,.8fr);gap:8px}.setup-app .canvas-subtitle-spacer{display:none}.setup-app .preview-stage{flex-direction:column;align-items:center;display:flex}.setup-app .map-selector{box-sizing:border-box;flex-wrap:nowrap;justify-content:center;align-self:center;width:max-content;max-width:100%;height:34px;margin:10px 0 4px;position:static}.setup-app .map-selector button{box-sizing:border-box;height:28px;min-height:28px;padding:0 5px;font-size:12px}.setup-app .preview-stage .game-canvas{flex:0 auto;width:100%;height:clamp(220px,100svh - 134px,256px)}:is(.race-app:not(:fullscreen),.race-app:fullscreen){gap:6px;padding:8px 10px;overflow:hidden}:is(.race-app:not(:fullscreen) .race-layout,.race-app:fullscreen .race-layout){flex:auto;grid-template-columns:minmax(0,.8fr) minmax(0,2fr) minmax(0,.95fr);align-items:stretch;gap:8px;width:100%;min-width:0;min-height:0;overflow:hidden}:is(.race-app:not(:fullscreen) .canvas-panel,.race-app:fullscreen .canvas-panel){min-width:0;min-height:0}:is(.race-app:not(:fullscreen) .minimap-panel,.race-app:not(:fullscreen) .ranking,.race-app:fullscreen .minimap-panel,.race-app:fullscreen .ranking){height:auto;min-height:0;margin-top:8px;padding:8px}:is(.race-app:not(:fullscreen) .minimap-canvas,.race-app:fullscreen .minimap-canvas){min-height:0}.race-app .ranking-winner-label{font-size:14px}.race-app .ranking-winner-label.is-current{font-size:12px}.race-app .race-controls button{min-height:34px;margin-top:4px;padding-top:3px;padding-bottom:3px}}@media (width<=850px) and (orientation:portrait){.setup-app .map-selector button,.setup-app .course-mode label,.setup-app .custom-course-list .custom-course-row{min-height:42px}.setup-app .remove-participant,.setup-app .course-drag-handle,.setup-app .course-module-actions button{flex:0 0 42px;width:42px;min-width:42px;height:42px;min-height:42px}.setup-app .participant-list{padding-left:8px;padding-right:8px}.setup-app .participant-row{grid-template-columns:42px minmax(0,1fr) 42px;gap:4px}.setup-app .remove-participant{flex:0 0 30px;place-self:center;width:30px;min-width:30px;height:30px;min-height:30px;position:relative}.setup-app .remove-participant:before{content:"";background:0 0;width:42px;height:42px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.setup-app .remove-participant .icon-button-svg{z-index:1;position:relative}.setup-app .participant-add-controls{justify-content:center}.setup-app .participant-add-controls label{font-size:12px}.setup-app .participant-add-controls input{width:60px;min-width:60px}.setup-app .participant-add-controls button{min-width:52px;min-height:40px;padding-left:8px;padding-right:8px;font-size:11px}.setup-app .course-drag-handle{touch-action:none}.race-app .race-controls button{min-height:40px}.race-app .current-leader-card .ranking-winner-name{font-size:13px}.race-app .current-leader-finish-count{font-size:12px}.race-app .ranking-sheet .ranking-overlay-close,.race-app.has-open-minimap .mobile-minimap-close{flex-basis:42px;width:42px;min-width:42px;height:42px;min-height:42px}}@media (pointer:coarse){.race-app .game-canvas{touch-action:none}}@media (width<=600px){.race-app .race-controls .fullscreen-toggle{display:none}.app-header{box-sizing:border-box;padding-top:52px}.language-switch{top:0;transform:none}.setup-app .participant-list-shell{position:relative}.setup-app .participant-list-shell.has-overflow{flex-direction:column}.setup-app .participant-list-shell.has-overflow>.participant-list{margin-top:44px;margin-bottom:44px}.setup-app .participant-quick-scroll{z-index:2;width:44px;height:44px;color:var(--text-h);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#162631b8;border:1px solid #b4c6d173;border-radius:50%;place-items:center;padding:0;font-size:13px;line-height:1;display:grid;position:absolute;left:50%;transform:translate(-50%)}.setup-app .participant-quick-scroll-top{top:0}.setup-app .participant-quick-scroll-bottom{bottom:0}.participant-full-view-overlay{z-index:1000;background:var(--surface-main,#13212c);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0}.participant-full-view-panel{min-height:0;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));flex-direction:column;flex:auto;display:flex}.participant-full-view-header{border-bottom:1px solid var(--border);flex:none;justify-content:center;align-items:center;min-height:52px;margin-bottom:10px;display:flex;position:relative}.participant-full-view-header h2{margin:0;font-size:18px}.participant-full-view-header button{min-height:42px;padding:0 12px;position:absolute;right:0}.participant-full-view-list{border:1px solid var(--border);overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#96aab8b3 transparent;border-radius:8px;flex-direction:column;flex:auto;gap:8px;min-height:0;padding:8px;display:flex;overflow-y:auto}.participant-full-view-list .participant-row{grid-template-columns:42px minmax(0,1fr) 42px;gap:4px}.participant-full-view-list .remove-participant{flex:0 0 42px;width:42px;min-width:42px;height:42px;min-height:42px}}@media (pointer:coarse) and (height<=500px) and (orientation:landscape){.race-app .race-controls .fullscreen-toggle{display:none}.race-app .race-controls{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.race-app .race-controls button{grid-column:span 2}.race-app:not(.is-finished) .race-controls button:nth-child(5){grid-column:2/span 2}.race-app:not(.is-finished) .race-controls button:nth-child(6){grid-column:4/span 2}.race-app.is-finished .race-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.race-app.is-finished .race-controls button,.race-app.is-finished .race-controls button:nth-child(4),.race-app.is-finished .race-controls button:nth-child(5),.race-app.is-finished .race-controls button:nth-child(6){grid-column:auto/span 1}}@media (width>=601px) and (width<=850px) and (orientation:portrait){.setup-app:has(>.setup-module-choices) .canvas-panel{min-height:calc(clamp(280px,100svh - 240px,700px) + 110px)}.setup-app:has(>.setup-module-choices) .preview-stage{height:calc(clamp(280px,100svh - 240px,700px) + 86px)}.setup-app:has(>.setup-module-choices) .preview-stage .game-canvas{height:calc(clamp(280px,100svh - 240px,700px) + 50px)}.setup-app:has(>.setup-module-choices)>.setup-module-choices{transform:none}.setup-app .course-settings{gap:8px}.setup-app .course-list-section:has(>.custom-course-list){gap:2px;padding-bottom:1px}.setup-app:has(>.setup-module-choices) .course-list-section>.custom-course-list>.custom-course-end-drop{height:6px}.setup-app .course-list-section .course-module-list li.custom-course-row{min-height:40px;margin:0 0 2px}.setup-app .course-list-section .course-module-list li.custom-course-row:has(+.custom-course-end-drop){margin-bottom:0}.setup-app .course-drag-handle,.setup-app .course-module-actions button{flex:0 0 40px;width:40px;min-width:40px;height:40px;min-height:40px}.setup-app .setup-module-choices{padding-top:4px;padding-bottom:4px}.setup-app .setup-module-choices h2{margin-bottom:0}.setup-app .course-list-section .course-module-actions{gap:1px}.setup-app .course-list-section .course-module-actions .icon-button-svg{width:12px;height:12px}.setup-app .course-list-section .course-drag-handle .icon-button-svg{width:14px;height:14px}.setup-app:has(>.setup-module-choices) .setup-module-choices .module-choices{row-gap:2px}.setup-app:has(>.setup-module-choices) .setup-module-choices .module-choices button{min-height:30px;padding-top:1px;padding-bottom:1px}}@media (width>=951px) and (width<=1400px) and (height<=760px) and (orientation:landscape) and (pointer:coarse){.setup-app .course-settings{overflow:hidden auto}.setup-app .course-list-section{box-sizing:border-box;flex:none;height:min(32svh,180px);min-height:112px}.setup-app .course-list-section>.course-module-list{box-sizing:border-box;flex:1 1 0;height:0;min-height:0;max-height:none;overflow:hidden auto}.setup-app .setup-start-button:disabled{opacity:1;border-color:var(--border);background-color:var(--surface-raised);color:var(--text);filter:brightness(.82)}}@media (width<=950px) and (height<=500px) and (orientation:landscape) and (pointer:coarse){.setup-app{overflow-y:visible}.setup-app:has(>.setup-module-choices) .setup-layout{height:calc(clamp(280px,100svh - 240px,700px) + 92px)}.setup-app .participant-panel-heading h2{margin-bottom:0}.setup-app .canvas-panel{flex-direction:column;min-height:0;display:flex}.setup-app .preview-stage{flex:auto;min-height:0}.setup-app .preview-stage .game-canvas{flex:1 1 0;height:0;min-height:0}.setup-app .course-list-section:has(>.custom-course-list) .course-module-main{flex:1 1 0}.setup-app .course-list-section:has(>.custom-course-list) .course-module-actions>button:nth-child(-n+2){display:none}.setup-app .course-list-section:not(:has(>.custom-course-list)){box-sizing:border-box;flex:none;height:min(32svh,180px);min-height:104px}.setup-app .course-list-section:not(:has(>.custom-course-list))>.course-module-list:not(.custom-course-list){box-sizing:border-box;flex:1 1 0;height:0;min-height:0;max-height:none;overflow:hidden auto}}@media (width>=601px) and (width<=850px) and (orientation:portrait) and (pointer:coarse){.setup-app .setup-start-button:disabled{opacity:1;border-color:var(--border);background-color:var(--surface-raised);color:var(--text);filter:brightness(.82)}}@media (width<=980px) and (height<=500px) and (orientation:landscape) and (pointer:coarse){:is(.race-app:not(:fullscreen),.race-app:fullscreen){align-items:stretch;width:100%;height:auto;min-height:100svh;overflow:hidden auto}.race-app:fullscreen{min-height:100dvh}.race-app .race-layout{flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);align-items:start;gap:10px;width:100%;height:auto;min-height:0;display:grid;overflow:visible}.race-app:not(:fullscreen) .race-layout{flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);align-items:start;gap:10px;width:100%;height:auto;min-height:0;display:grid;overflow:visible}.race-app:fullscreen .race-layout{flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);align-items:start;gap:10px;width:100%;height:auto;min-height:0;display:grid;overflow:visible}.race-app .race-layout>.canvas-panel{flex-direction:column;grid-area:1/1/span 2;width:100%;min-width:0;min-height:0;display:flex;overflow:visible}.race-app:not(:fullscreen) .race-layout>.canvas-panel{flex-direction:column;grid-area:1/1/span 2;width:100%;min-width:0;min-height:0;display:flex;overflow:visible}.race-app:fullscreen .race-layout>.canvas-panel{flex-direction:column;grid-area:1/1/span 2;width:100%;min-width:0;min-height:0;display:flex;overflow:visible}.race-app .canvas-subtitle-spacer{display:none}.race-app .game-canvas{flex:none;width:100%;height:clamp(250px,72svh,560px);min-height:250px}.race-app:not(:fullscreen) .game-canvas{flex:none;width:100%;height:clamp(250px,72svh,560px);min-height:250px}.race-app:fullscreen .game-canvas{flex:none;width:100%;height:clamp(250px,72svh,560px);min-height:250px}.race-app .race-layout>.minimap-panel{flex-direction:column;grid-area:1/2;width:100%;min-width:0;height:auto;min-height:0;max-height:none;margin:0;display:flex;position:static;overflow:visible}.race-app:not(:fullscreen) .race-layout>.minimap-panel{flex-direction:column;grid-area:1/2;width:100%;min-width:0;height:auto;min-height:0;max-height:none;margin:0;display:flex;position:static;overflow:visible}.race-app:fullscreen .race-layout>.minimap-panel{flex-direction:column;grid-area:1/2;width:100%;min-width:0;height:auto;min-height:0;max-height:none;margin:0;display:flex;position:static;overflow:visible}.race-app .minimap-canvas{flex:none;width:100%;height:clamp(120px,30svh,180px);min-height:120px}.race-app:not(:fullscreen) .minimap-canvas{flex:none;width:100%;height:clamp(120px,30svh,180px);min-height:120px}.race-app:fullscreen .minimap-canvas{flex:none;width:100%;height:clamp(120px,30svh,180px);min-height:120px}.race-app .race-layout>.ranking{grid-area:2/2;width:100%;min-width:0;height:auto;min-height:160px;max-height:min(58svh,360px);margin:0;overflow:hidden}.race-app:not(:fullscreen) .race-layout>.ranking{grid-area:2/2;width:100%;min-width:0;height:auto;min-height:160px;max-height:min(58svh,360px);margin:0;overflow:hidden}.race-app:fullscreen .race-layout>.ranking{grid-area:2/2;width:100%;min-width:0;height:auto;min-height:160px;max-height:min(58svh,360px);margin:0;overflow:hidden}.race-app .ranking-list{min-height:0;max-height:none;overflow-y:auto}.race-app .race-layout>.mobile-landscape-panels{flex-direction:column;grid-area:1/2/span 2;align-self:stretch;gap:8px;min-width:0;display:flex}.race-app .mobile-landscape-accordion{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 3px 9px #0000002e}.race-app .mobile-landscape-accordion-header{background:var(--surface);width:100%;min-height:42px;color:var(--text-h);text-align:left;border:0;border-radius:0;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:flex}.race-app .mobile-landscape-accordion-header:hover:not(:disabled){background:var(--surface-hover)}.race-app .mobile-landscape-accordion.is-open>.mobile-landscape-accordion-header{border-bottom:1px solid var(--border)}.race-app .mobile-landscape-chevron{width:14px;color:var(--accent);font-size:20px;line-height:1;transition:transform .14s;display:inline-block;transform:rotate(0)}.race-app .mobile-landscape-chevron.is-open{transform:rotate(90deg)}.race-app .mobile-landscape-accordion-content[hidden]{display:none!important}.race-app .mobile-landscape-accordion-content{min-width:0;padding:8px}.race-app .mobile-landscape-accordion .minimap-panel,.race-app .mobile-landscape-accordion .ranking{width:100%;height:auto;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;overflow:visible}.race-app .mobile-landscape-accordion .minimap-panel>h2,.race-app .mobile-landscape-accordion .ranking>h2{display:none}.race-app .mobile-landscape-accordion .minimap-canvas{height:clamp(180px,50svh,300px);min-height:180px}.race-app .mobile-landscape-accordion .ranking{max-height:min(58svh,360px);overflow:hidden}.race-app .mobile-landscape-accordion .ranking-list{min-height:0;max-height:none;overflow-y:auto}.race-app .mobile-landscape-accordion .race-controls{flex-direction:column;gap:8px;display:flex}.race-app .mobile-landscape-accordion .race-controls button{white-space:normal;overflow-wrap:anywhere;grid-column:auto;width:100%;min-width:0;min-height:40px;margin:0;padding:6px 8px;font-size:12px;line-height:1.2}.race-app .mobile-landscape-accordion .race-controls .mobile-ranking-button,.race-app .mobile-landscape-accordion .race-controls .mobile-minimap-toggle{display:none}.race-app .mobile-landscape-accordion .race-controls .fullscreen-toggle{display:block}}
