:root{--cream:#f5ede0;--cream-card:#f6f2e6;--ink:#1d1c18;--ink-soft:#6f6a5e;--dark:#262521;--blue:#5865e0;--orange:#ff5b1c;--green:#26b96e;--yellow:#f0a800;--pink:#ff7bac;--purple:#9a86ff;--edge-r:clamp(36px, 4.5vw, 80px);--concept-overlap:clamp(56px, 7vw, 134px);--en:"Baloo 2", "Zen Maru Gothic", sans-serif;--jp:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--jp);color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.9;overflow-x:clip}h1,h2,h3,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}img,svg{max-width:100%;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{position:relative}.page-viewport{touch-action:pan-y;height:100dvh;position:sticky;top:0;overflow:hidden}.page-track{will-change:transform;align-items:stretch;width:max-content;height:100%;display:flex}.page-main{display:contents}.page-track section,.page-track footer{height:100%}.menu-toggle{z-index:100;background:var(--ink);cursor:pointer;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:58px;height:58px;transition:transform .25s;display:flex;position:fixed;top:clamp(16px,2.5vw,28px);left:clamp(16px,2.5vw,28px)}.menu-toggle:hover{transform:scale(1.08)}.menu-toggle span{background:#fff;border-radius:2px;width:22px;height:3px;display:block}.scroll-hint{right:clamp(16px,3vw,32px);bottom:calc(clamp(16px, 3vw, 32px) + env(safe-area-inset-bottom,0px));z-index:90;background:var(--ink);color:var(--cream);font-family:var(--en);letter-spacing:.14em;opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;font-weight:700;transition:opacity .4s,transform .4s;display:flex;position:fixed;transform:translate(10px)}body.is-scroll-start .scroll-hint{opacity:.85;transform:translate(0)}.scroll-hint-arrow{animation:1.4s ease-in-out infinite scroll-hint-nudge;display:inline-flex}@keyframes scroll-hint-nudge{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.menu{z-index:200;position:fixed;inset:0}.menu-backdrop{background:#1d1c1873;animation:.25s both menu-fade;position:absolute;inset:0}.menu-panel{background:var(--cream-card);border-radius:clamp(22px,3vw,32px);width:min(94vw,800px);max-height:calc(100svh - clamp(24px,5vw,56px));padding:clamp(72px,9vw,96px) clamp(28px,5vw,72px) clamp(32px,5vw,64px);animation:.35s cubic-bezier(.22,1,.36,1) both menu-pop;position:absolute;top:clamp(12px,2.5vw,28px);left:clamp(12px,2.5vw,28px);overflow-y:auto;box-shadow:0 24px 64px -24px #1d1c1880}@keyframes menu-fade{0%{opacity:0}}@keyframes menu-pop{0%{opacity:0;transform:translateY(-16px)scale(.97)}}.menu-close{background:var(--ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .25s;display:flex;position:absolute;top:clamp(16px,2vw,24px);left:clamp(16px,2vw,24px)}.menu-close:hover{transform:scale(1.08)}.menu-close svg{stroke:#fff;stroke-width:2.5px;stroke-linecap:round;width:16px;height:16px}.menu-body{grid-template-columns:auto 1fr;align-items:center;gap:clamp(32px,6vw,88px);display:grid}.menu-logo{width:clamp(130px,15vw,210px)}.menu-list li+li{border-top:1px solid #1d1c1824}.menu-link{align-items:flex-start;gap:14px;padding:15px 4px;transition:transform .2s;display:flex}.menu-link:hover{transform:translate(6px)}.menu-link-bird{flex:none;width:22px;margin-top:7px}.menu-link-text{flex-direction:column;display:flex}.menu-link-en{font-family:var(--en);font-size:21px;font-weight:700;line-height:1.3}.menu-link.is-active .menu-link-en{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2.5px}.menu-link-jp{letter-spacing:.08em;color:var(--ink-soft);font-size:12px}.section-title{font-family:var(--en);align-items:center;gap:12px;font-size:clamp(30px,3.4vw,42px);font-weight:800;line-height:1.2;display:flex}.section-title-bird{flex:none;width:clamp(26px,2.6vw,34px);margin-top:4px}.hero{z-index:4;background:var(--cream);flex:none;align-items:center;width:100vw;display:flex;position:relative}.hero-logo{z-index:1;flex:none;margin-left:clamp(24px,7vw,130px);animation:1s cubic-bezier(.22,1,.36,1) .15s both hero-rise;position:relative}.hero-logo img{width:clamp(250px,31vw,560px)}.hero-art{animation:1.2s both hero-fade;position:absolute;inset:0 -8vw 0 0}@keyframes hero-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes hero-fade{0%{opacity:0}}.hero-art img{object-fit:cover;object-position:right center;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,#000 82%,#0000 99%);mask-image:linear-gradient(90deg,#000 82%,#0000 99%)}.hero-login{z-index:2;writing-mode:vertical-rl;border:1.5px solid var(--ink);background:var(--cream);color:var(--ink);font-family:var(--jp);letter-spacing:.15em;cursor:pointer;border-left:none;border-radius:0 16px 16px 0;justify-content:center;align-items:center;padding:20px 10px;font-size:14px;font-weight:700;transition:opacity .2s .3s,transform .2s .3s;display:flex;position:absolute;bottom:clamp(48px,12vh,120px);left:0}.hero-login:disabled{cursor:default}.hero-race-cta{z-index:2;background:var(--orange);color:#fff;font-family:var(--jp);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:12px 22px;font-size:13px;font-weight:800;animation:1.8s ease-in-out infinite hero-race-pulse;display:flex;position:absolute;top:clamp(20px,4vh,40px);right:clamp(20px,5vw,60px);box-shadow:0 10px 24px -10px #ff5b1cb3}@keyframes hero-race-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.countdown{z-index:2;-webkit-backdrop-filter:blur(14px);background:#f5ede09e;border-radius:clamp(24px,3vw,32px);flex-direction:column;align-items:center;gap:12px;padding:clamp(14px,2vw,20px) clamp(14px,2.2vw,22px) clamp(16px,2.4vw,24px);display:flex;position:absolute;top:clamp(20px,4vh,40px);right:clamp(14px,4vw,56px);box-shadow:0 24px 48px -24px #1d1c1873}.countdown-label{border:1.5px solid var(--ink);background:var(--ink);color:var(--cream);font-family:var(--jp);letter-spacing:.16em;border-radius:999px;padding:7px 20px;font-size:clamp(12px,1.3vw,14px);font-weight:700}.countdown-row{gap:clamp(8px,1.8vw,16px);display:flex}.countdown-card{background:var(--ink);border-radius:clamp(17px,1.8vw,19px);flex-direction:column;align-items:center;gap:5px;width:clamp(56px,7.2vw,78px);padding:clamp(11px,1.4vw,15px) 0 clamp(9px,1.2vw,11px);display:flex;box-shadow:0 15px 30px -14px #1d1c18ad}.countdown-value{font-family:var(--en);letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(27px,3.8vw,38px);font-weight:800;line-height:1}.countdown-unit{font-family:var(--jp);letter-spacing:.1em;color:#ffffffad;font-size:11px;font-weight:700}.hero-login.is-hidden{opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;transform:translate(-6px)scale(.92)}.concept{z-index:3;background:var(--cream);flex:none;align-items:center;width:100vw;display:flex;position:relative}.concept-row{align-items:center;gap:clamp(24px,4vw,64px);width:100%;max-width:1600px;height:100%;margin-left:auto;display:flex}.concept-head{flex:none;width:min(72vw,430px);margin-left:clamp(24px,7vw,130px)}.concept-lead{letter-spacing:.06em;margin-top:clamp(24px,4vh,44px);font-size:clamp(16px,1.7vw,20px);font-weight:700;line-height:1.9}.concept-date{font-family:var(--en);letter-spacing:.08em;color:var(--ink-soft);margin-top:clamp(16px,3vh,28px);font-size:13px;font-weight:600}.concept-art{height:100%;margin-left:auto;margin-right:calc(-1 * var(--concept-overlap));flex:none;align-self:stretch}.concept-art img{border-radius:clamp(18px,2vw,30px);width:auto;height:100%}.howto{z-index:2;padding:0 clamp(24px, 7vw, 130px) 0 calc(var(--concept-overlap) + clamp(48px, 5vw, 96px));border-radius:0 var(--edge-r) var(--edge-r) 0;background:var(--blue);color:#fff;flex:none;align-items:center;gap:clamp(32px,5vw,90px);display:flex;position:relative;overflow:hidden}.howto-head{flex:none;width:min(72vw,470px)}.howto-title{font-family:var(--en);flex-direction:column;align-items:center;font-size:clamp(34px,3.8vw,52px);font-weight:800;line-height:1.28;display:flex}.howto-line{align-items:center;gap:.16em;display:inline-flex}.howto-flower{width:.62em;margin-top:-.5em}.howto-swirl{width:.8em;margin-top:.15em}.howto-line-last{font-size:1.16em}.howto-caption{text-align:center;letter-spacing:.14em;margin-top:clamp(14px,2.5vh,24px);font-size:clamp(13px,1.3vw,16px);font-weight:700}.howto-list{z-index:1;align-items:center;gap:clamp(20px,2.4vw,40px);display:flex;position:relative}.howto-list li{flex:none}.enjoy-card{background:var(--card-color,var(--ink));color:#fff;border-radius:28px;flex-direction:column;gap:16px;width:min(92vw,460px);height:clamp(440px,60vh,540px);padding:clamp(24px,2.8vw,32px);transition:transform .3s;display:flex}.enjoy-card:hover{transform:translateY(-8px)rotate(-.5deg)}.enjoy-card-label{align-items:baseline;gap:8px;line-height:1.5;display:flex}.enjoy-card-name{font-size:18px;font-weight:900}.enjoy-card-category{opacity:.9;font-size:12px;font-weight:500}.enjoy-card-image{background:#d9d9d9;border-radius:18px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.enjoy-card-image img{object-fit:cover;backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.enjoy-card-en{font-family:var(--en);font-size:24px;font-weight:700;line-height:1.2}.enjoy-card-list{opacity:.95;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;line-height:1.4;display:flex}.enjoy-card-list li{padding-left:1.1em;position:relative}.enjoy-card-list li:before{content:"・";position:absolute;left:0}.enjoy-card-cta{font-family:var(--jp);letter-spacing:.06em;color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fff;border-radius:999px;align-self:flex-start;margin-top:auto;padding:9px 26px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.enjoy-card:hover .enjoy-card-cta{color:var(--card-color,var(--ink));background:#fff}.howto-marquee{font-family:var(--en);white-space:nowrap;color:#fff;pointer-events:none;gap:.6em;font-size:clamp(90px,11vw,150px);font-weight:800;line-height:1;display:flex;position:absolute;bottom:-.22em;left:0;right:0}.howto-marquee span{flex:none;animation:60s linear infinite marquee}@keyframes marquee{to{transform:translate(calc(-100% - .6em))}}.enjoy-detail{z-index:300;background:var(--detail-color);align-items:stretch;animation:.3s both enjoy-detail-fade;display:flex;position:fixed;inset:0}.enjoy-detail-side{background:var(--detail-color);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;flex:none;width:clamp(14px,8vw,220px)}.enjoy-detail-scroll{overscroll-behavior:contain;background:var(--cream-card);flex:1;min-width:0;height:100%;animation:.4s cubic-bezier(.22,1,.36,1) both enjoy-detail-rise;overflow-y:auto}@keyframes enjoy-detail-fade{0%{opacity:0}}@keyframes enjoy-detail-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.enjoy-detail-hero{aspect-ratio:16/11;background:var(--detail-color);border-radius:20px;margin:clamp(20px,4vw,28px) clamp(20px,5vw,64px) 0;position:relative;overflow:hidden;box-shadow:0 16px 32px -18px #1d1c1866}.enjoy-detail-hero img{object-fit:cover;width:100%;height:100%}.enjoy-detail-category{background:var(--ink);color:#fff;letter-spacing:.06em;border-radius:999px;padding:7px 16px;font-size:11.5px;font-weight:700;position:absolute;top:14px;left:14px}.enjoy-detail-body{padding:18px clamp(20px,5vw,64px) clamp(40px,6vw,72px)}.enjoy-detail-en{font-family:var(--en);color:var(--detail-color);font-size:clamp(28px,5vw,44px);font-weight:700;line-height:1.1}.enjoy-detail-title{margin-top:4px;font-size:clamp(17px,2.4vw,20px);font-weight:900}.enjoy-detail-lead{color:var(--ink-soft);margin-top:14px;font-size:14px;line-height:1.8}.enjoy-detail-divider{border-top:1.5px dashed #1d1c182e;margin:24px 0}.enjoy-detail-heading{font-size:15px;font-weight:900}.enjoy-detail-items{flex-direction:column;gap:10px;margin-top:16px;display:flex}.enjoy-detail-items li{background:#fff;border-radius:14px;padding:14px 18px 14px 34px;font-size:14px;font-weight:700;position:relative}.enjoy-detail-item-title{font-weight:900;display:block}.enjoy-detail-item-description{color:var(--ink-soft);margin-top:7px;font-size:13px;font-weight:500;line-height:1.8}.enjoy-detail-items li:before{content:"";background:var(--detail-color);border-radius:50%;width:6px;height:6px;position:absolute;top:22px;left:16px}.enjoy-detail-close{z-index:1;background:var(--ink);color:#fff;font-family:var(--jp);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 22px;font-size:13px;font-weight:700;transition:transform .2s;display:flex;position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);box-shadow:0 12px 30px -12px #1d1c1899}.enjoy-detail-close:hover{transform:scale(1.05)}.enjoy-detail-close svg{stroke:#fff;stroke-width:2.5px;stroke-linecap:round;width:12px;height:12px}.info{z-index:1;margin-left:calc(-1 * var(--edge-r));padding:0 clamp(24px, 7vw, 130px) 0 calc(clamp(24px, 7vw, 130px) + var(--edge-r));border-radius:0 var(--edge-r) var(--edge-r) 0;background:var(--dark);color:var(--cream);flex:none;align-items:center;gap:clamp(32px,4.5vw,80px);display:flex;position:relative}.info-cards{align-items:stretch;gap:clamp(32px,4.5vw,80px);display:flex}.info-head{flex:none;width:min(70vw,380px)}.info-head-title{font-family:var(--en);color:#fff;font-size:clamp(40px,4.6vw,64px);font-weight:800;line-height:1.22}.info-head-line{align-items:center;gap:.24em;display:flex}.info-head-line:last-child{margin-left:clamp(24px,3vw,52px)}.info-head-bird{width:.58em;margin-top:.1em}.info-head-star{width:.34em;margin-top:-.7em}.info-head-caption{letter-spacing:.14em;color:#f5ede0b8;margin-top:clamp(14px,2.5vh,24px);font-size:clamp(13px,1.3vw,15px);font-weight:700}.info-card{background:var(--cream-card);width:min(88vw,480px);color:var(--ink);border-radius:26px;flex-direction:column;flex:none;padding:clamp(24px,3vw,40px);display:flex}.info-card-title{font-size:clamp(24px,2.4vw,30px)}.about-rows{flex:1;min-height:0;margin-top:clamp(18px,3vh,30px)}.about-row{border-bottom:1.5px dotted #1d1c1866;grid-template-columns:100px 1fr;gap:14px;padding:15px 0;display:grid}.about-row:last-child{border-bottom:none}.about-row dt{letter-spacing:.06em;font-size:14px;font-weight:900}.about-row dd{letter-spacing:.02em;font-size:14px;font-weight:500}.about-row-note{color:var(--ink-soft);font-size:12px;display:block}.map-frame{aspect-ratio:3/2;cursor:zoom-in;background:#fff;border:none;border-radius:16px;place-items:center;width:100%;max-height:52vh;margin-top:clamp(18px,3vh,28px);padding:0;display:grid;overflow:hidden}.map-frame img{object-fit:contain;width:100%;height:100%}.map-expand{background:var(--ink);color:var(--cream);font-family:var(--jp);letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;margin:clamp(18px,3vh,28px) auto 0;padding:12px 30px;font-size:14px;font-weight:700;display:flex}.map-modal{z-index:300;background:#1d1c18eb;animation:.25s both enjoy-detail-fade;display:flex;position:fixed;inset:0}.map-modal-stage{touch-action:none;cursor:grab;flex:1;place-items:center;display:grid;overflow:hidden}.map-modal-img{touch-action:none;-webkit-user-select:none;user-select:none;max-width:92vw;max-height:88dvh}.map-modal-zoom{z-index:1;gap:10px;display:flex;position:fixed;bottom:clamp(16px,3vw,32px);left:clamp(16px,3vw,32px)}.map-modal-zoom button{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:999px;width:44px;height:44px;font-size:20px;font-weight:700;line-height:1}.map-modal-zoom button:disabled{opacity:.35;cursor:default}.map-modal-close{z-index:1;background:var(--ink);color:#fff;font-family:var(--jp);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 22px;font-size:13px;font-weight:700;display:flex;position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);box-shadow:0 12px 30px -12px #1d1c1899}.map-modal-close svg{stroke:#fff;stroke-width:2.5px;stroke-linecap:round;width:12px;height:12px}.race-section{z-index:1;width:min(96vw,1040px);margin-left:calc(-1 * var(--edge-r));padding:clamp(28px, 6vh, 64px) clamp(24px, 6vw, 72px) clamp(28px, 6vh, 64px) calc(clamp(24px, 6vw, 72px) + var(--edge-r));border-radius:0 var(--edge-r) var(--edge-r) 0;background:var(--dark);color:var(--cream);flex-direction:column;flex:none;justify-content:center;gap:clamp(20px,3vh,32px);display:flex;position:relative;overflow-y:auto}.race-head{flex-direction:column;gap:6px;display:flex}.race-title{color:var(--cream)}.race-caption{letter-spacing:.1em;color:#f5ede0ad;font-size:12px;font-weight:700}.race-countdown{letter-spacing:.08em;color:#f5ede0ad;align-items:baseline;gap:8px;font-size:12px;font-weight:700;display:flex}.race-countdown span{font-family:var(--en);font-variant-numeric:tabular-nums;color:#fff;font-size:22px;font-weight:800}.race-horse-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.6vw,18px);display:grid}.race-horse-list li{min-width:0}.race-horse-card{aspect-ratio:.76;width:100%;height:auto;min-height:252px;color:var(--cream);text-align:left;cursor:pointer;background:#f5ede00d;border:1.5px solid #f5ede024;border-radius:20px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 20px;transition:background .15s,border-color .15s,transform .15s;display:flex}.race-horse-image{aspect-ratio:16/9;background:#f5ede014;border-radius:12px;place-items:center;width:100%;height:auto;display:grid;overflow:hidden}.race-horse-image img{object-fit:contain;width:100%;height:100%}.race-horse-placeholder{font-family:var(--en);color:#f5ede0ad;font-size:48px;font-weight:900}.race-horse-card:disabled{cursor:default}.race-horse-card:not(:disabled):hover{border-color:var(--race-horse-color);transform:translateY(-1px)}.race-horse-card.is-selected{border-color:var(--race-horse-color);background:color-mix(in srgb, var(--race-horse-color) 22%, transparent)}.race-horse-card.is-winner{border-color:var(--race-horse-color);background:color-mix(in srgb, var(--race-horse-color) 32%, transparent);box-shadow:0 0 0 1px var(--race-horse-color)}.race-horse-index{border:1.5px solid var(--race-horse-color);width:34px;height:34px;font-family:var(--en);color:var(--race-horse-color);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.race-horse-name{font-size:16px;font-weight:800;line-height:1.3}.race-horse-odds{font-family:var(--en);color:var(--race-horse-color);align-self:flex-end;font-size:26px;font-weight:800}.race-cta{background:var(--orange);color:#fff;font-family:var(--jp);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;padding:13px;font-size:14px;font-weight:800}.race-bet-form{background:#f5ede00f;border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.race-balance{color:#f5ede0c7;font-size:13px;font-weight:700}.race-amount-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.race-amount-button{min-width:0;color:var(--cream);font-family:var(--en);white-space:nowrap;cursor:pointer;background:0 0;border:1.5px solid #f5ede033;border-radius:999px;padding:10px;font-size:12px;font-weight:700}.race-amount-button:disabled{opacity:.3;cursor:default}.race-amount-button.is-selected{border-color:var(--orange);background:var(--orange);color:#fff}.race-confirm-button{background:var(--cream);color:var(--ink);font-family:var(--jp);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;padding:13px;font-size:14px;font-weight:800}.race-confirm-button:disabled{opacity:.4;cursor:default}.race-my-bet{text-align:center;color:#f5ede0d9;background:#f5ede014;border-radius:999px;padding:12px 16px;font-size:13px;font-weight:700}.race-result{background:#f5ede00f;border-radius:18px;flex-direction:column;gap:10px;padding:16px;display:flex}.race-result-winner{font-size:15px;font-weight:900}.race-result-mine{font-size:14px;font-weight:800}.race-result-mine.is-win{color:var(--green)}.race-result-mine.is-lose{color:#f5ede099}.footer{width:min(56vw,900px);margin-left:calc(-1 * var(--edge-r));padding:0 clamp(32px, 4vw, 80px) 0 calc(clamp(32px, 4vw, 80px) + var(--edge-r));background:var(--cream);flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.footer-logo{width:clamp(180px,17vw,300px)}.footer-login{border:2px solid var(--ink);background:var(--cream);color:var(--ink);font-family:var(--jp);letter-spacing:.06em;cursor:pointer;border-radius:999px;margin-top:clamp(16px,2.5vh,28px);padding:12px 34px;font-size:14px;font-weight:700}.footer-login:disabled{cursor:default}.footer-copy{letter-spacing:.08em;color:var(--ink-soft);font-size:11px;position:absolute;bottom:clamp(20px,4vh,40px)}.auth-panel-anchor{z-index:150;pointer-events:none;position:fixed;top:50%;left:0;transform:translateY(-50%)}.auth-panel{pointer-events:auto;background:var(--cream-card);border-radius:0 24px 24px 0;width:min(84vw,260px);max-height:calc(100svh - 48px);padding:22px 22px 28px;overflow-y:auto;box-shadow:0 20px 50px -20px #1d1c1873}.auth-panel:has(.race-admin){width:min(94vw,440px)}.auth-panel.is-open{animation:.38s cubic-bezier(.22,1,.36,1) both auth-panel-slide-in}.auth-panel.is-closing{animation:.3s cubic-bezier(.4,0,.6,1) both auth-panel-slide-out}@keyframes auth-panel-slide-in{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes auth-panel-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.auth-panel-close{background:var(--ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:14px;right:14px}.auth-panel-close svg{stroke:#fff;stroke-width:2.5px;stroke-linecap:round;width:10px;height:10px}.auth-panel-eyebrow{letter-spacing:.12em;color:var(--ink-soft);font-size:11px;font-weight:700}.auth-panel-title{margin-top:4px;font-size:20px;font-weight:900}.auth-form{flex-direction:column;gap:10px;margin-top:16px;display:flex}.auth-field input{width:100%;font-family:var(--jp);color:var(--ink);background:#fff;border:1.5px solid #1d1c1829;border-radius:12px;padding:11px 14px;font-size:14px}.auth-field input:focus{border-color:var(--ink);outline:none}.auth-error{color:var(--orange);font-size:12px;font-weight:700}.auth-submit{background:var(--ink);color:var(--cream);font-family:var(--jp);letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;margin-top:4px;padding:12px;font-size:14px;font-weight:700}.auth-submit:disabled{opacity:.5;cursor:default}.auth-divider{text-align:center;color:var(--ink-soft);letter-spacing:.08em;margin-top:14px;font-size:11px}.auth-switch{font-family:var(--jp);color:var(--blue);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:6px auto 0;padding:0;font-size:13px;font-weight:700;text-decoration:underline;display:block}.auth-switch-note{text-align:center;color:var(--ink-soft);margin:6px auto 0;font-size:13px;font-weight:700}.auth-qr{background:#1d1c180f;border-radius:16px;place-items:center;margin-top:16px;padding:16px;display:grid}.auth-qr svg{border-radius:8px;width:100%;max-width:168px;height:auto}.auth-balance{text-align:center;flex-direction:column;align-items:center;gap:4px;margin-top:16px;display:flex}.auth-balance-label{letter-spacing:.1em;color:var(--ink-soft);font-size:11px;font-weight:700}.auth-balance-value{font-family:var(--en);font-size:26px;font-weight:800}.auth-logout{font-family:var(--jp);color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:16px auto 0;padding:0;font-size:12px;font-weight:700;text-decoration:underline;display:block}.admin-home-actions{flex-direction:column;gap:12px;margin-top:20px;display:flex}.admin-action-button{font-family:var(--jp);letter-spacing:.04em;color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:16px;padding:14px;font-size:15px;font-weight:800}.admin-home-actions .admin-action-button{margin-top:0}.admin-action-button:disabled{opacity:.5;cursor:default}.admin-action-deposit{background:var(--green)}.admin-action-collect{background:var(--orange)}.admin-action-prize{background:var(--purple)}.admin-action-race{background:var(--blue)}.admin-target-balance{color:var(--ink-soft);margin-top:6px;font-size:13px;font-weight:700}.admin-prize-status{letter-spacing:.04em;border-radius:999px;margin-top:10px;padding:6px 14px;font-size:12px;font-weight:800;display:inline-block}.admin-prize-status-none{color:var(--purple);background:#9a86ff29}.admin-prize-status-done{color:var(--orange);background:#ff5b1c24}.admin-panel>.auth-field{margin-top:16px;display:block}.admin-scan{margin-top:16px}.admin-scan-video{aspect-ratio:1;object-fit:cover;background:var(--dark);border-radius:16px;width:100%}.race-admin{flex-direction:column;gap:14px;margin-top:16px;display:flex}.race-admin-title{font-size:16px;font-weight:900}.race-admin-flow{background:#1d1c180f;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.race-admin-flow-step{color:var(--ink-soft);border-radius:9px;flex-direction:column;align-items:center;gap:4px;padding:7px 2px;font-size:10px;font-weight:800;display:flex}.race-admin-flow-step.is-complete{background:var(--ink);color:var(--cream)}.race-admin-flow-number{border:1px solid;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.race-admin-next-action{font-size:13px;font-weight:900}.race-admin-note{color:var(--ink-soft);font-size:12px;font-weight:700}.race-admin-horse-inputs{flex-direction:column;gap:8px;display:flex}.race-admin-horse-row{grid-template-columns:78px 1fr;align-items:center;gap:10px;display:grid}.race-admin-horse-thumb{background:#1d1c1814;border-radius:10px;place-items:center;width:78px;height:58px;display:grid;overflow:hidden}.race-admin-horse-thumb img{object-fit:contain;width:100%;height:100%}.race-admin-horse-thumb span{font-family:var(--en);color:var(--ink-soft);font-size:28px;font-weight:900}.race-admin-horse-row .auth-field{display:block}.race-admin-complete-mark{background:var(--green);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:6px 12px;font-size:12px;font-weight:900;display:inline-flex}.race-admin-horse-inputs .auth-field{display:block}.race-admin-visible{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.race-admin-visible input{width:16px;height:16px;accent-color:var(--blue)}.race-admin-status{color:var(--ink-soft);font-size:13px;font-weight:800}.race-admin-monitor{background:#1d1c180d;border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.race-admin-monitor-row{grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;font-size:12px;font-weight:700;display:grid}.race-admin-monitor-name{font-weight:900}.race-admin-controls{flex-direction:column;gap:10px;display:flex}.race-admin-controls .auth-field{display:block}.race-admin-winner-list{flex-wrap:wrap;gap:8px;display:flex}.race-admin-winner-button{font-family:var(--jp);color:var(--ink);cursor:pointer;background:#fff;border:1.5px solid #1d1c1829;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:700}.race-admin-winner-button.is-selected{border-color:var(--ink);background:var(--ink);color:var(--cream)}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);transform:translateY(28px)}.reveal-soft{transform:none}.reveal.is-visible{opacity:1;transform:none}@media (width<=1024px){.race-section{width:calc(100vw + var(--edge-r));min-width:calc(100vw + var(--edge-r));margin-left:calc(-1 * var(--edge-r));padding:18px 16px 18px calc(16px + var(--edge-r));border-radius:0 var(--edge-r) var(--edge-r) 0;justify-content:center;gap:12px;overflow:hidden}.race-horse-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.race-horse-list li{min-width:0}.race-horse-card{aspect-ratio:auto;border-radius:12px;gap:6px;height:174px;min-height:174px;padding:8px}.race-horse-image{aspect-ratio:1;border-radius:10px}.race-horse-index{width:25px;height:25px;font-size:10px}.race-horse-name{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:12px;line-height:1.2;overflow:hidden}.race-horse-odds{font-size:16px}.race-amount-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.race-amount-button{padding:8px 2px;font-size:10px}.race-bet-form{gap:8px;padding:12px}.race-confirm-button{padding:11px}}@media (width<=720px){.menu-panel{width:auto;right:clamp(12px,2.5vw,28px)}.menu-body{grid-template-columns:1fr;justify-items:start;gap:28px}.menu-logo{width:120px}.hero{flex-direction:column;justify-content:flex-end;align-items:flex-start}.hero-logo{margin-left:0;position:absolute;top:clamp(96px,16vh,150px);left:24px}.hero-logo img{width:min(62vw,300px)}.hero-art{width:100%;height:58%;position:static}.concept-row{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:0;max-width:none;margin-left:0}.concept-head{width:auto;margin:clamp(88px,14vh,130px) 24px 0}.concept-art{align-self:center;height:56%;margin-left:0;margin-right:0}.about-row{grid-template-columns:84px 1fr}.footer{width:100vw}}
