:root{--ink: #1a110c;--ink-2: #2a1b12;--ink-a: rgba(26, 17, 12, .84);--paper: #f4e6c4;--paper-2: #e9d6a8;--paper-dim: rgba(244, 230, 196, .74);--line: rgba(244, 230, 196, .16);--gold: #f5b83d;--gold-hi: #ffd47a;--ember: #e2552b;--teal: #38b7bb;--magenta: #c8407f;--slab: "Alfa Slab One", "Rockwell", serif;--cond: "Barlow Condensed", "Arial Narrow", sans-serif;--sans: "DM Sans", system-ui, sans-serif;--jp: "Noto Sans JP", "Hiragino Sans", sans-serif;--gutter: clamp(16px, 2.4vw, 32px);--shadow: 0 10px 30px rgba(10, 6, 3, .35), 0 2px 6px rgba(10, 6, 3, .25);color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:var(--ink);color:var(--paper)}body{font-family:var(--sans);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:none}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}kbd{font-family:var(--cond);font-weight:700;font-size:.78em;letter-spacing:.04em;padding:.12em .5em .08em;border-radius:4px;border:1px solid currentColor;border-bottom-width:2px;opacity:.92}#world,#world canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:2}.masthead{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:20px;padding:calc(var(--gutter) * .8) var(--gutter);pointer-events:none}.masthead>*{pointer-events:auto}.brand{margin-right:auto;display:flex;align-items:baseline;gap:12px;text-decoration:none;text-shadow:0 2px 10px rgba(10,6,3,.5)}.brand-mark{width:26px;height:26px;color:var(--gold);align-self:center;stroke-width:2.2}.brand-name{font-family:var(--slab);font-size:22px;letter-spacing:.01em;text-transform:uppercase;line-height:.95}.brand-jp{font-family:var(--jp);font-weight:700;font-size:12px;letter-spacing:.08em;color:var(--paper-dim)}.edition{font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);text-shadow:0 2px 8px rgba(10,6,3,.5)}.edition span{color:var(--paper-dim);margin-left:8px;font-weight:600}.icon-button{display:grid;place-items:center;width:44px;height:44px;border-radius:6px;border:1px solid var(--line);background:var(--ink-a);color:var(--paper);font-size:22px;transition:background-color .2s,border-color .2s}.icon-button:hover{background:var(--ink-2);border-color:#f4e6c466}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-end;background:radial-gradient(120% 90% at 78% 30%,#6a2d3c 0%,#3a1d2a 38%,var(--ink) 75%);transition:opacity .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.intro.leaving{opacity:0;filter:blur(6px) saturate(1.3);pointer-events:none}.intro-art{position:absolute;top:0;right:0;bottom:0;width:min(72vw,120vh);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%);mask-image:linear-gradient(90deg,transparent 0%,#000 26%)}.intro-art img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}.intro:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,#140c08b3,#140c0866 30%,#140c0800 50%),linear-gradient(0deg,#140c08b3,#140c0800 34%)}.intro-copy{position:relative;z-index:2;max-width:37rem;padding:0 var(--gutter) calc(var(--gutter) * 2.6 + 32px);animation:rise 1.1s cubic-bezier(.16,1,.3,1) both}.intro-jp{font-family:var(--jp);font-weight:900;font-size:clamp(18px,1.7vw,24px);letter-spacing:.06em;color:var(--gold);margin:0 0 18px}.intro h1{font-family:var(--slab);font-weight:400;font-size:clamp(40px,4.3vw,72px);line-height:.92;letter-spacing:-.01em;margin:0 0 24px;text-wrap:balance;color:var(--paper);text-shadow:0 4px 24px rgba(10,6,3,.45)}.intro-body{font-size:clamp(16px,1.15vw,18px);line-height:1.45;color:var(--paper-dim);max-width:33rem;margin:0 0 32px}.controls-preview{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;margin:24px 0 0;font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim)}.controls-preview li{display:flex;align-items:center;gap:6px}.controls-preview kbd{color:var(--paper)}.touch-preview{display:none;font-family:var(--cond);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim);margin:20px 0 0}@keyframes rise{0%{opacity:0;transform:translateY(24px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.start-button{display:inline-flex;align-items:center;gap:16px;padding:18px 26px 16px 28px;border:0;border-radius:6px;background:var(--gold);color:var(--ink);font-family:var(--slab);font-size:20px;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 10px 28px #f5b83d47,0 2px #b8821c;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background-color .2s}.start-button svg{width:22px;height:22px;stroke-width:2.4;transition:transform .25s cubic-bezier(.16,1,.3,1)}.start-button:hover:not(:disabled){background:var(--gold-hi);transform:translateY(-2px);box-shadow:0 16px 34px #f5b83d5c,0 2px #b8821c}.start-button:hover:not(:disabled) svg{transform:translate(4px)}.start-button:disabled{background:#f4e6c429;color:var(--paper-dim);box-shadow:none;cursor:progress}.start-button:disabled svg{animation:nudge 1.2s ease-in-out infinite}@keyframes nudge{50%{transform:translate(4px);opacity:.5}}.ghost-button{padding:16px 22px;border-radius:6px;border:1px solid rgba(244,230,196,.35);background:transparent;color:var(--paper);font-family:var(--cond);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase}.ghost-button:hover{background:#f4e6c414}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;animation:fadein 1.2s .3s both}@keyframes fadein{0%{opacity:0}}.panel{background:var(--ink-a);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.k{display:block;font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim)}.race-clock{position:absolute;top:calc(var(--gutter) * .8);left:50%;transform:translate(-50%);display:flex;gap:2px}.race-clock>div{background:var(--ink-a);border:1px solid var(--line);padding:8px 16px 6px;min-width:112px;text-align:center}.race-clock>div:first-child{border-radius:6px 0 0 6px;min-width:148px}.race-clock>div:last-child{border-radius:0 6px 6px 0}.race-clock strong{font-family:var(--cond);font-weight:700;font-size:28px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.02em}.race-clock small{font-size:18px;color:var(--paper-dim);font-weight:600}.gait-panel{position:absolute;left:var(--gutter);bottom:calc(var(--gutter) + 40px);width:300px;padding:16px 18px 14px;background:var(--ink-a);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.gait-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.gait-row strong#gaitName{display:block;font-family:var(--slab);font-weight:400;font-size:32px;line-height:.92;text-transform:uppercase}#gaitJp{font-family:var(--jp);font-weight:700;font-size:13px;color:var(--gold);letter-spacing:.1em}.speed{text-align:right}.speed strong{display:block;font-family:var(--cond);font-weight:800;font-size:44px;line-height:.85;font-variant-numeric:tabular-nums}.speed span{font-family:var(--cond);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim)}.stamina{margin-top:14px}.stamina .track{display:block;height:8px;border-radius:4px;background:#f4e6c41f;overflow:hidden;position:relative}.stamina .track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),rgba(26,17,12,.85) calc(10% - 2px) 10%)}.stamina .fill{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--ember),var(--gold));transition:transform .2s linear}.stamina .note{display:block;margin-top:8px;font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim)}.stamina.low .fill{background:var(--ember)}.stamina.winded .note{color:var(--ember)}.stamina.winded .track{animation:pulse .9s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.route{position:absolute;left:50%;bottom:calc(var(--gutter) + 40px);transform:translate(-50%);width:min(620px,calc(100vw - 2 * 300px - 4 * var(--gutter)));padding:14px 18px 12px;background:var(--ink-a);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.route-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}.route-head strong#stageName{font-family:var(--slab);font-weight:400;font-size:20px;line-height:1;text-transform:uppercase}#stageJp{font-family:var(--jp);font-weight:700;font-size:12px;color:var(--gold);margin-left:10px;letter-spacing:.08em}.to-go{font-family:var(--cond);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);white-space:nowrap}.to-go strong{font-weight:800;font-size:18px;color:var(--paper);font-variant-numeric:tabular-nums}.route-track{position:relative;height:22px;margin:0 8px}.route-track .line{position:absolute;left:0;right:0;top:50%;height:2px;background:#f4e6c44d;transform:translateY(-50%)}.route-track .tick{position:absolute;top:50%;width:2px;height:10px;background:var(--paper-dim);transform:translate(-50%,-50%)}.route-track .rival{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--c);border:2px solid var(--ink);transform:translate(-50%,-50%);transition:left .3s linear}.route-track .you{position:absolute;top:50%;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--ink);transform:translate(-50%,-50%);box-shadow:0 2px 8px #0a060380;z-index:2;transition:left .3s linear}.route-track .you svg{width:16px;height:16px;stroke-width:2.4}.route-ends{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--cond);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim)}.route-ends b{color:var(--paper);font-weight:800}#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;padding:5px 10px 4px 8px;border-radius:4px;background:var(--ink-a);border:1px solid var(--line);font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .3s}.label i{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}.label.met i{background:var(--teal)}.label.on{opacity:1}.card{position:fixed;z-index:15;right:var(--gutter);top:50%;width:380px;transform:translateY(-50%);padding:0;background:var(--paper);color:var(--ink);border-radius:6px;box-shadow:0 24px 60px #0a060373,0 4px 12px #0a06034d;cursor:pointer;overflow:visible}.card.in{animation:card-in .7s cubic-bezier(.16,1,.3,1) both}@keyframes card-in{0%{opacity:0;transform:translate(40px,-50%);clip-path:inset(0 0 0 100%)}to{opacity:1;transform:translateY(-50%);clip-path:inset(-200px -200px -200px -200px)}}.card img{display:block;width:210px;height:280px;object-fit:contain;object-position:bottom;margin:-150px auto 0;filter:drop-shadow(0 12px 18px rgba(10,6,3,.35))}.card-body{padding:4px 26px 24px;border-top:3px solid var(--ink)}.card-role{margin:14px 0 6px;font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#8a4a1c}.card h2{margin:0;font-family:var(--slab);font-weight:400;font-size:30px;line-height:.95;text-transform:uppercase}.card-jpname{margin:6px 0 16px;font-family:var(--jp);font-weight:700;font-size:13px;letter-spacing:.1em;color:#6b4a2e}.card blockquote{margin:0;padding-top:14px;border-top:1px solid rgba(26,17,12,.18)}.card-line{margin:0 0 8px;font-family:var(--jp);font-weight:900;font-size:20px;line-height:1.35}.card-en{margin:0;font-style:italic;font-size:15px;line-height:1.4;color:#4a3424}.toast{position:fixed;z-index:14;left:50%;top:17%;transform:translate(-50%);text-align:center;pointer-events:none;opacity:0}.toast.show{animation:toast 4.2s cubic-bezier(.16,1,.3,1) both}@keyframes toast{0%{opacity:0;transform:translate(-50%,18px);filter:blur(8px)}12%{opacity:1;transform:translate(-50%);filter:none}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)}}.toast span{display:block;font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px 10px rgba(10,6,3,.7)}.toast strong{display:block;margin:8px 0 6px;font-family:var(--slab);font-weight:400;font-size:clamp(36px,4.6vw,72px);line-height:.92;text-transform:uppercase;color:var(--paper);text-shadow:0 6px 30px rgba(10,6,3,.6),0 2px 2px rgba(10,6,3,.4);white-space:nowrap}.toast em{font-style:normal;font-family:var(--jp);font-weight:900;font-size:20px;letter-spacing:.14em;color:var(--paper);text-shadow:0 2px 10px rgba(10,6,3,.7)}.countdown{position:fixed;z-index:16;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;font-family:var(--slab);font-size:clamp(120px,22vw,300px);line-height:1;color:var(--gold);-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 12px 40px rgba(10,6,3,.5)}.countdown.pop{animation:pop .85s cubic-bezier(.16,1,.3,1) both}.countdown.go{color:var(--paper)}@keyframes pop{0%{transform:scale(1.6);opacity:0;filter:blur(10px)}30%{transform:scale(1);opacity:1;filter:none}to{transform:scale(.92);opacity:0}}.hint{position:fixed;z-index:12;left:50%;top:96px;transform:translate(-50%);padding:10px 16px;border-radius:6px;background:var(--ink-a);border:1px solid var(--line);font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim);white-space:nowrap}.footer{position:fixed;z-index:20;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px var(--gutter) calc(10px + env(safe-area-inset-bottom));font-family:var(--cond);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);text-shadow:0 1px 6px rgba(10,6,3,.6)}.credit a{color:var(--paper)}.footer-buttons{display:flex;gap:6px}.footer-buttons button{display:inline-flex;align-items:center;gap:7px;padding:7px 11px 6px;border-radius:5px;border:1px solid var(--line);background:var(--ink-a);font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);transition:background-color .2s,border-color .2s}.footer-buttons button svg{width:16px;height:16px}.footer-buttons button:hover{background:var(--ink-2);border-color:#f4e6c461}.footer-buttons button[aria-pressed=true]{color:var(--gold);border-color:#f5b83d73}body:not(.riding) #help,body:not(.riding) #viewBtn{display:none}dialog{border:0;padding:0}dialog::backdrop{background:#0e09069e}.guide{width:min(940px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:40px 44px 36px;background:var(--paper);color:var(--ink);border-radius:8px;box-shadow:0 30px 80px #00000080;scrollbar-color:#b49a6a transparent}.guide[open]{animation:rise .6s cubic-bezier(.16,1,.3,1) both}.guide .close{position:absolute;top:16px;right:16px;background:transparent;color:var(--ink);border-color:#1a110c33}.guide .close:hover{background:#1a110c0f}.guide h2{margin:0 0 12px;font-family:var(--slab);font-weight:400;font-size:clamp(34px,4vw,52px);line-height:.92;text-transform:uppercase}.guide .lede{max-width:62ch;margin:0 0 32px;font-size:16px;line-height:1.45;color:#4a3424}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px}.guide-grid .wide{grid-column:1 / -1}.guide h3{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ink);font-family:var(--cond);font-weight:800;font-size:16px;letter-spacing:.14em;text-transform:uppercase}.guide h3 span{font-variant-numeric:tabular-nums;color:#8a4a1c}.keys{display:grid;grid-template-columns:max-content 1fr;gap:9px 18px;margin:0;font-size:15px}.keys dt{font-family:var(--cond);font-weight:700;letter-spacing:.04em}.keys dd{margin:0;color:#4a3424}.stage-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.stage-list li{display:grid;grid-template-columns:28px 1fr auto;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px solid rgba(26,17,12,.1);color:#1a110c73}.stage-list .n{font-family:var(--cond);font-weight:700;font-variant-numeric:tabular-nums}.stage-list .nm{font-weight:700}.stage-list .jp{font-family:var(--jp);font-size:12px;font-weight:700}.stage-list li.found{color:var(--ink)}.stage-list li.found .n{color:var(--ember)}.cast-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}.cast-list li{display:grid;justify-items:center;text-align:center;gap:2px}.cast-list img{width:88px;height:106px;object-fit:cover;object-position:top;border-radius:6px;background:#e3cf9f;filter:grayscale(1) brightness(.55) contrast(1.1);opacity:.55;transition:filter .4s,opacity .4s}.cast-list li.met img{filter:none;opacity:1}.cast-list .nm{font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;line-height:1.1;margin-top:4px}.cast-list .jp{font-family:var(--jp);font-size:10px;font-weight:700;color:#6b4a2e}.cast-list li:not(.met) .nm:after{content:" ?";color:#8a4a1c}.guide .small{margin:32px 0 24px;max-width:70ch;font-size:13px;line-height:1.45;color:#5d4532}.finish{width:min(620px,calc(100vw - 32px));padding:44px 44px 36px;background:var(--ink);color:var(--paper);border-radius:8px;border:1px solid rgba(245,184,61,.35);box-shadow:0 30px 80px #0009;text-align:center}.finish[open]{animation:rise .8s cubic-bezier(.16,1,.3,1) both}.finish-jp{margin:0 0 8px;font-family:var(--jp);font-weight:900;font-size:18px;letter-spacing:.14em;color:var(--gold)}.finish h2{margin:0;font-family:var(--slab);font-weight:400;font-size:clamp(56px,9vw,96px);line-height:.9;text-transform:uppercase}.finish-place{margin:18px 0 6px;font-size:19px}.finish-place strong{font-family:var(--slab);font-weight:400;color:var(--gold);font-size:26px}.finish-line{margin:0 auto 28px;max-width:40ch;color:var(--paper-dim)}.finish-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:0 0 30px}.finish-stats div{padding:12px 8px 10px;background:#f4e6c412}.finish-stats div:first-child{border-radius:6px 0 0 6px}.finish-stats div:last-child{border-radius:0 6px 6px 0}.finish-stats dt{font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim)}.finish-stats dd{margin:4px 0 0;font-family:var(--cond);font-weight:800;font-size:26px;font-variant-numeric:tabular-nums}.finish-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.touch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}#joystick{position:absolute;left:calc(var(--gutter) + 8px);bottom:calc(var(--gutter) + 40px);width:132px;height:132px;border-radius:50%;border:2px solid rgba(244,230,196,.35);background:#1a110c59}#stick{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:var(--paper);box-shadow:0 4px 14px #0a060373}.touch-buttons{position:absolute;right:calc(var(--gutter) + 4px);bottom:calc(var(--gutter) + 44px);display:flex;gap:14px;align-items:flex-end;pointer-events:auto}.touch-buttons button{display:grid;place-items:center;gap:2px;width:76px;height:76px;border-radius:50%;border:2px solid rgba(244,230,196,.4);background:var(--ink-a);color:var(--paper);font-family:var(--cond);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;align-content:center}.touch-buttons button svg{width:26px;height:26px}#gallopBtn{width:92px;height:92px;background:var(--gold);color:var(--ink);border-color:transparent}.rotate-hint,.error{position:fixed;z-index:40;left:50%;top:50%;transform:translate(-50%,-50%);padding:16px 20px;border-radius:6px;background:var(--ink);border:1px solid var(--line);font-family:var(--cond);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center}.error{color:var(--gold)}body[data-time=night] .route-track .line{background:#f4e6c466}@media (max-width: 1100px){.route{width:min(560px,calc(100vw - 2 * var(--gutter)));bottom:auto;top:calc(var(--gutter) * .8 + 64px)}.credit{display:none}.footer{justify-content:flex-end}}@media (max-width: 760px){.brand-jp,.edition{display:none}.brand-name{font-size:18px}.masthead{padding-top:calc(10px + env(safe-area-inset-top))}.intro{align-items:flex-end}.intro:before{background:linear-gradient(0deg,#140c08f5,#140c08db 46%,#140c081a 72%)}.intro-art{left:0;width:100%;bottom:30%;-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 30%);mask-image:linear-gradient(0deg,transparent 0%,#000 30%)}.intro-art img{object-position:50% 20%}.intro-copy{padding-bottom:64px}.intro h1{font-size:42px;margin-bottom:16px}.intro-body{font-size:15px;margin-bottom:24px}.controls-preview{display:none}.touch-preview{display:block}.race-clock{left:auto;right:var(--gutter);transform:none;top:calc(66px + env(safe-area-inset-top))}.race-clock>div{padding:6px 10px 4px;min-width:0}.race-clock>div:first-child{min-width:96px}.race-clock strong{font-size:20px}.route{top:auto;bottom:auto;top:calc(128px + env(safe-area-inset-top));left:var(--gutter);right:var(--gutter);transform:none;width:auto;padding:10px 12px 8px}.route-head{margin-bottom:8px}.route-head strong#stageName{font-size:15px}#stageJp,.route-ends{display:none}.gait-panel{left:50%;transform:translate(-50%);width:200px;padding:10px 12px;bottom:calc(var(--gutter) + 44px)}.gait-row strong#gaitName{font-size:20px}.speed strong{font-size:28px}.stamina .note{display:none}.card{left:var(--gutter);right:var(--gutter);width:auto;top:auto;bottom:180px;transform:none;display:grid;grid-template-columns:96px 1fr}.card.in{animation:fadein .5s both}.card img{width:96px;height:128px;margin:-32px 0 0}.card-body{padding:0 14px 12px;border-top:0}.card-role{margin-top:10px}.card h2{font-size:20px}.card-jpname{margin-bottom:8px}.card-line{font-size:15px}.card-en{font-size:13px}.footer-buttons span{display:none}.footer-buttons button{padding:8px}.footer{padding-top:4px}.guide{padding:28px 20px 24px}.guide-grid{grid-template-columns:1fr}.finish{padding:32px 20px 24px}}@media (max-height: 520px) and (orientation: landscape){:root{--gutter: 12px}.masthead{padding:calc(8px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left))}.brand-jp,.edition{display:none}.brand-name{font-size:16px}.brand-mark{width:20px;height:20px}.icon-button{width:38px;height:38px;font-size:19px}.intro-copy{padding-bottom:48px;max-width:30rem}.intro h1{font-size:34px;margin-bottom:12px}.intro-jp{font-size:15px;margin-bottom:10px}.intro-body{font-size:14px;margin-bottom:16px}.start-button{padding:13px 18px 11px 20px;font-size:17px}.controls-preview{display:none}.touch-preview{display:block;margin-top:12px;font-size:13px}.race-clock{top:calc(8px + env(safe-area-inset-top));left:50%;right:auto;transform:translate(-50%)}.race-clock>div,.race-clock>div:first-child{min-width:0;padding:4px 10px 3px}.race-clock .k{font-size:10px}.race-clock strong{font-size:18px}.race-clock small{font-size:13px}.route{top:calc(58px + env(safe-area-inset-top));bottom:auto;left:50%;right:auto;transform:translate(-50%);width:min(400px,48vw);padding:7px 12px 6px}.route-head{margin-bottom:4px}.route-head strong#stageName{font-size:13px}#stageJp,.route-ends{display:none}.to-go{font-size:11px}.to-go strong{font-size:13px}.route-track{height:18px}.route-track .you{width:20px;height:20px}.route-track .you svg{width:12px;height:12px}.gait-panel{left:50%;right:auto;transform:translate(-50%);bottom:calc(8px + env(safe-area-inset-bottom));width:190px;padding:8px 12px 9px}.gait-row strong#gaitName{font-size:18px}#gaitJp{font-size:11px}.speed strong{font-size:24px}.speed span{font-size:10px}.stamina{margin-top:7px}.stamina .track{height:6px}.stamina .note{display:none}.footer{top:calc(8px + env(safe-area-inset-top));bottom:auto;left:auto;right:calc(58px + env(safe-area-inset-right));padding:0}.credit{display:none}.footer-buttons button{padding:9px}.footer-buttons span{display:none}.card{left:auto;right:calc(12px + env(safe-area-inset-right));top:112px;bottom:auto;width:min(320px,40vw);transform:none;display:grid;grid-template-columns:76px 1fr}.card.in{animation:fadein .5s both}.card img{width:76px;height:100px;margin:-18px 0 0}.card-body{padding:0 12px 10px;border-top:0}.card-role{margin:8px 0 2px;font-size:10px}.card h2{font-size:17px}.card-jpname{margin:2px 0 6px;font-size:10px}.card blockquote{padding-top:6px}.card-line{font-size:13px;margin-bottom:4px}.card-en{font-size:11px}.toast{top:30%}.toast strong{font-size:34px}.toast span{font-size:12px}.toast em{font-size:14px}#joystick{left:calc(16px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));width:112px;height:112px}#stick{width:48px;height:48px;margin:-24px}.touch-buttons{right:calc(16px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}.touch-buttons button{width:64px;height:64px}#gallopBtn{width:80px;height:80px}.guide{max-height:calc(100dvh - 16px);padding:20px 20px 18px}.guide h2{font-size:30px}.finish{padding:22px 20px 18px;max-height:calc(100dvh - 16px);overflow:auto}.finish h2{font-size:48px}.finish-stats{margin-bottom:16px}}@media (pointer: coarse){.hint{display:none!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
