@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@400;500;700;800&family=Fira+Code:wght@400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box}body,html{margin:0;height:100%;background:#04060c}:root{color-scheme:dark}button{color:inherit;background:none;border:none;cursor:pointer;padding:0}button,select{font:inherit}.ky-app{--base:#04060c;--surface:#0b1018;--surface-2:#121a28;--line:#1c2738;--ink:#eaf2ff;--muted:#7e8da8;--brand:#4d7cff;--cta:#ffc53d;--drop:#00e5ff;--surge:#ff4d8d;--reversal:#b98cff;--chip-ink:#04060c;--ui-font:"M PLUS 1",system-ui,sans-serif;--gap:8px;--pad:12px;--radius:16px;position:fixed;inset:0;background:var(--base);color:var(--ink);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ky-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.nums{font-family:Fira Code,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.ky-muted{color:var(--muted)}b{font-weight:700}.ky-scroll::-webkit-scrollbar{width:10px;height:10px}.ky-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:2px solid var(--base)}.ky-mascot{color:var(--drop)}.ky-float{animation:ky-bob 3.4s ease-in-out infinite}@keyframes ky-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.ky-antenna-glow{filter:drop-shadow(0 0 5px currentColor);animation:ky-ant 1.7s ease-in-out infinite}@keyframes ky-ant{0%,to{opacity:1}50%{opacity:.45}}.ky-ping{transform-origin:100px 11px;animation:ky-ping 1.9s ease-out infinite}@keyframes ky-ping{0%{transform:scale(1);opacity:.65}70%,to{transform:scale(2.7);opacity:0}}.ky-blink{animation:ky-blink 4.8s ease-in-out infinite;transform-origin:100px 96px}@keyframes ky-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.12)}}.ky-aura{animation:ky-aura 3.4s ease-in-out infinite}@keyframes ky-aura{0%,to{opacity:.7}50%{opacity:1}}.ky-shadow{animation:ky-sh 3.4s ease-in-out infinite}@keyframes ky-sh{0%,to{opacity:.28}50%{opacity:.16}}.ky-alert .ky-ping{animation-duration:.7s}.ky-alert .ky-antenna-glow{animation-duration:.5s}.ky-alert.ky-mascot{animation:ky-shake .5s ease-in-out 2}@keyframes ky-shake{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-4deg)}75%{transform:translateY(-4px) rotate(4deg)}}.ky-spark-line{stroke-dasharray:1;stroke-dashoffset:1;animation:ky-draw 1s ease forwards}@keyframes ky-draw{to{stroke-dashoffset:0}}.ky-spark-ping{transform-box:fill-box;transform-origin:center;animation:ky-dot-ping 1.8s ease-out infinite}@keyframes ky-dot-ping{0%{transform:scale(1);opacity:.7}70%,to{transform:scale(3);opacity:0}}.ky-live{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;position:relative}.ky-live-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor;animation:ky-pulse 1.6s ease-in-out infinite}.ky-live-ring{position:absolute;left:-2px;top:50%;width:8px;height:8px;margin-top:-4px;border:1.5px solid;border-radius:50%;animation:ky-ring 1.6s ease-out infinite}@keyframes ky-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes ky-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}.ky-badge{display:inline-flex;align-items:center;gap:4px;font-weight:700;border-radius:999px;border:1px solid;line-height:1;white-space:nowrap}.ky-badge-arrow{font-size:.85em}.ky-grade{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;border:1px solid;line-height:1.4;letter-spacing:.02em}.ky-appbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--base) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.ky-appbar-in{max-width:1160px;margin:0 auto;padding:12px var(--pad);justify-content:space-between}.ky-appbar-in,.ky-brand{display:flex;align-items:center}.ky-brand{gap:9px}.ky-wordmark{font-weight:900;font-size:18px;letter-spacing:.01em}.ky-wm-accent{color:var(--drop)}.ky-appbar-r{display:flex;align-items:center;gap:14px}.ky-clock{font-size:13px;color:var(--muted);font-weight:600}.ky-ticker{overflow:hidden;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 50%,transparent)}.ky-ticker-track{display:inline-flex;align-items:center;gap:0;white-space:nowrap;padding:7px 0;animation:ky-marq 38s linear infinite}@keyframes ky-marq{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.ky-tick-item{display:inline-flex;align-items:center;gap:7px;padding:0 14px;font-size:12.5px}.ky-tick-arrow{font-size:11px}.ky-tick-venue{color:var(--muted)}.ky-tick-num,.ky-tick-pct{font-weight:700}.ky-tick-sep{color:var(--line);margin-left:7px}.ky-ok{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:6px;border:1px solid;line-height:1;flex-shrink:0}.ky-ok-val{font-size:13px;font-weight:800;letter-spacing:.02em}.ky-ok-sm{min-width:20px;height:18px}.ky-ok-sm .ky-ok-val{font-size:12px}.ky-ok-high{color:var(--cta);border-color:color-mix(in srgb,var(--cta) 55%,transparent);background:color-mix(in srgb,var(--cta) 14%,transparent)}.ky-ok-mid{color:var(--ink);background:var(--surface-2)}.ky-ok-low,.ky-ok-mid{border-color:var(--line)}.ky-ok-low{color:var(--muted);background:transparent}.ky-honmei{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:.02em;color:var(--chip-ink);background:var(--cta);padding:2px 7px;border-radius:6px;box-shadow:0 0 10px -2px var(--cta)}.ky-honmei:before{content:"★";font-size:9px}.ky-row.is-honmei{border-color:color-mix(in srgb,var(--cta) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--cta) 35%,transparent),0 6px 20px -10px var(--cta)}.ky-row.is-honmei:hover{border-color:var(--cta)}.ky-row{position:relative;display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s ease,background .15s ease,border-color .15s ease}.ky-row:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateY(-1px)}.ky-row.is-done{opacity:.5}.ky-row-bar{position:absolute;left:0;top:0;bottom:0;width:4px}.is-fresh{animation:ky-fresh 1.4s ease-out}@keyframes ky-fresh{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 70%,transparent);background:color-mix(in srgb,var(--accent) 16%,var(--surface))}to{box-shadow:0 0 0 0 transparent}}.ky-row-card{padding:13px 15px 13px 18px}.ky-card-head{justify-content:space-between}.ky-card-head,.ky-card-head-l{display:flex;align-items:center;gap:8px}.ky-card-head-l{min-width:0}.ky-card-race{font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}.ky-card-race b{color:var(--ink);font-weight:800}.ky-card-post{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.ky-card-post.is-soon{color:var(--cta);font-weight:700}.ky-card-post.is-done{color:var(--muted);opacity:.7}.ky-post-dot{width:6px;height:6px;border-radius:50%;background:var(--cta);box-shadow:0 0 6px var(--cta);animation:ky-pulse 1.4s infinite}.ky-card-body{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:11px}.ky-card-horse{display:flex;align-items:center;gap:11px;min-width:0}.ky-numchip-lg{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:2px solid;font-weight:700;font-size:18px;flex-shrink:0;background:color-mix(in srgb,var(--accent) 10%,transparent)}.ky-numchip-lg.is-old{color:var(--muted)!important;border-color:var(--line)!important;opacity:.7}.ky-card-horse-meta{min-width:0}.ky-card-name{font-weight:700;font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ky-card-sub{font-size:12px;color:var(--muted);margin-top:2px}.ky-card-num{text-align:right;flex-shrink:0}.ky-odds-row{display:flex;align-items:baseline;justify-content:flex-end;gap:7px;font-size:15px}.ky-arrowto,.ky-odds-prev{color:var(--muted)}.ky-odds-curr{font-size:26px;font-weight:700;line-height:1}.ky-odds-unit{font-size:13px;margin-left:1px;opacity:.7}.ky-pct-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px}.ky-pct{font-size:17px;font-weight:700}.ky-card-rev{gap:14px}.ky-card-rev,.ky-rev-big{display:flex;align-items:center}.ky-rev-big{gap:9px}.ky-rev-arrow{font-size:22px;font-weight:700}.ky-rev-label{font-size:13px;line-height:1.4}.ky-row-list{position:relative;display:grid;-moz-column-gap:11px;column-gap:11px;row-gap:4px;align-items:center;padding:10px 14px 10px 18px;border-radius:12px;grid-template-columns:auto auto minmax(0,1fr) auto auto auto auto;grid-template-areas:"type race horse odds spark pct post"}.ky-list-type{grid-area:type}.ky-list-race{grid-area:race}.ky-list-horse{grid-area:horse}.ky-list-odds{grid-area:odds}.ky-list-spark{grid-area:spark;display:flex}.ky-list-pct{grid-area:pct}.ky-list-post{grid-area:post}.ky-list-bar{position:absolute;left:0;top:8px;bottom:8px;width:3px;height:auto;border-radius:0 3px 3px 0}.ky-list-type{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:13px;white-space:nowrap}.ky-list-type-t{font-size:12px}.ky-list-race{font-size:13px;color:var(--muted);white-space:nowrap}.ky-list-race b{color:var(--ink)}.ky-list-horse{display:flex;align-items:center;gap:8px;min-width:0}.ky-list-numchip{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;border:1px solid;border-radius:6px;font-size:12px;font-weight:700}.ky-list-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;min-width:0}.ky-list-name,.ky-list-odds{font-size:14px;white-space:nowrap}.ky-list-odds{display:inline-flex;align-items:baseline;gap:5px}.ky-list-pct{font-weight:700;font-size:14px;min-width:62px;text-align:right}.ky-list-post{font-size:11.5px;color:var(--muted);min-width:84px;text-align:right;white-space:nowrap}.ky-list-post.is-soon{color:var(--cta);font-weight:700}.ky-rev{font-size:13px}.ky-row-heat{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:13px;background:color-mix(in srgb,var(--accent) calc(var(--heat) * 22%),var(--surface));border-color:color-mix(in srgb,var(--accent) calc(var(--heat) * 50%),var(--line))}.ky-heat-top{display:flex;align-items:center;gap:6px}.ky-heat-arrow,.ky-heat-top{font-size:12px}.ky-heat-venue{color:var(--muted);font-weight:600}.ky-heat-num{font-size:24px;font-weight:700;line-height:1}.ky-heat-pct{font-size:18px;font-weight:700}.ky-heat-spark{margin-top:2px}.ky-lp{max-width:1120px;margin:0 auto;padding:0 var(--pad) 40px}.ky-lp-nav{justify-content:space-between;padding:16px 2px}.ky-lp-nav,.ky-lp-nav-r{display:flex;align-items:center}.ky-lp-nav-r{gap:14px}.ky-link{color:var(--muted);font-size:14px;font-weight:600;transition:color .15s}.ky-link:hover{color:var(--ink)}.ky-beta{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.ky-hero{display:grid;grid-template-columns:1fr;gap:30px;padding:24px 0 36px;align-items:center}.ky-hero-live{display:flex;align-items:center;gap:12px;margin-bottom:18px}.ky-hero-live-venues{font-size:12px;color:var(--muted)}.ky-hero-h1{font-size:clamp(36px,8vw,60px);font-weight:900;line-height:1.05;letter-spacing:-.01em;margin:0}.ky-grad{background:linear-gradient(100deg,var(--drop),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}.ky-hero-sub{font-size:clamp(15px,2.2vw,18px);color:var(--muted);line-height:1.7;margin:20px 0 26px}.ky-hero-sub b{color:var(--ink)}.ky-hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ky-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:800;border-radius:12px;padding:14px 26px;font-size:16px;transition:transform .12s,filter .15s,box-shadow .15s}.ky-btn-cta{background:var(--cta);color:#1a1206;box-shadow:0 6px 26px -8px var(--cta)}.ky-btn-cta:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 10px 30px -8px var(--cta)}.ky-cta-note,.ky-hero-stats{font-size:13px;color:var(--muted)}.ky-hero-stats{display:flex;gap:22px;margin-top:26px}.ky-hero-stats b{font-size:22px;font-weight:700;margin-right:5px}.ky-hero-mascot,.ky-hero-stage{position:relative}.ky-hero-mascot{display:flex;flex-direction:column;align-items:center;margin-bottom:8px}.ky-speech{margin-top:6px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;position:relative;box-shadow:0 8px 24px -12px #000}.ky-speech:before{content:"";position:absolute;top:-6px;left:50%;margin-left:-6px;width:12px;height:12px;background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.ky-glass{background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(8px)}.ky-miniboard{padding:13px}.ky-miniboard-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 2px;font-size:12px}.ky-miniboard-list{display:flex;flex-direction:column;gap:7px}.ky-miniboard-list .ky-row-list{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"type race post" "horse horse pct";-moz-column-gap:9px;column-gap:9px;row-gap:5px;padding:10px 13px 10px 16px}.ky-miniboard-list .ky-list-odds,.ky-miniboard-list .ky-list-spark{display:none}.ky-miniboard-list .ky-list-race{justify-self:start}.ky-miniboard-list .ky-list-pct,.ky-miniboard-list .ky-list-post{justify-self:end}.ky-bento{display:grid;grid-template-columns:1fr;gap:var(--gap);padding:14px 0}.ky-bento-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.ky-bento-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;font-size:18px;font-weight:700;margin-bottom:13px}.ky-bento-k{font-weight:800;font-size:17px;margin-bottom:5px}.ky-bento-d{font-size:14px;color:var(--muted);line-height:1.6}.ky-how{padding:34px 0 20px}.ky-h2{font-size:clamp(22px,4vw,28px);font-weight:900;margin:0 0 22px}.ky-how-steps{display:grid;grid-template-columns:1fr;gap:14px}.ky-how-step{display:flex;align-items:flex-start;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.ky-how-num{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--drop) 16%,transparent);color:var(--drop);display:flex;align-items:center;justify-content:center}.ky-how-num,.ky-how-t{font-weight:700;font-size:16px}.ky-how-d{font-size:14px;color:var(--muted);margin-top:3px}.ky-closer{text-align:center;padding:48px 0 24px;border-top:1px solid var(--line);margin-top:30px}.ky-closer-mascot{display:flex;justify-content:center;margin-bottom:8px}.ky-disclaimer{font-size:12.5px;color:var(--muted);line-height:1.7;max-width:560px;margin:14px auto 26px}.ky-footer{text-align:center;font-size:11.5px;color:color-mix(in srgb,var(--muted) 70%,transparent);padding:24px 0}.ky-board-in{max-width:1160px;margin:0 auto;padding:14px var(--pad) 60px}.ky-board-meta{align-items:center;justify-content:space-between;gap:12px;margin:6px 0 12px}.ky-board-meta,.ky-counts{display:flex;flex-wrap:wrap}.ky-counts{gap:8px}.ky-count{display:inline-flex;align-items:baseline;gap:6px;padding:7px 13px;border-radius:11px;background:var(--surface);border:1px solid var(--line);font-size:13px;color:var(--muted);transition:border-color .15s,background .15s}.ky-count b{font-size:18px;color:var(--c)}.ky-count.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--surface));color:var(--ink)}.ky-updated{font-size:12px}.ky-filterbar{align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ky-chips,.ky-filterbar{display:flex;flex-wrap:wrap}.ky-chips{gap:8px}.ky-chip{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:700;background:var(--surface);border:1px solid var(--line);color:var(--muted);transition:all .15s}.ky-chip:hover{border-color:color-mix(in srgb,var(--c) 50%,var(--line));color:var(--ink)}.ky-chip.on{box-shadow:0 4px 16px -6px var(--c)}.ky-chip-arrow{font-size:11px}.ky-venue{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}.ky-list{display:flex;flex-direction:column;gap:var(--gap)}.ky-list-heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--gap)}.ky-empty{text-align:center;padding:60px 0;display:flex;flex-direction:column;align-items:center;gap:10px}.ky-empty-t{color:var(--muted);font-size:15px}.ky-fineprint{font-size:11.5px;color:color-mix(in srgb,var(--muted) 75%,transparent);line-height:1.7;margin-top:26px}.ky-watcher{position:fixed;right:18px;bottom:18px;z-index:25;display:flex;align-items:flex-end;gap:10px;pointer-events:none}.ky-watcher-bubble{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:9px 13px;font-size:13px;line-height:1.4;box-shadow:0 12px 34px -12px #000;animation:ky-pop .3s ease;max-width:180px}@keyframes ky-pop{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}.ky-watcher .ky-mascot{transition:transform .2s}.ky-watcher.is-react .ky-mascot{transform:scale(1.08)}.ky-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-bottom:12px;font-size:12px;color:var(--muted)}.ky-legend-i{display:inline-flex;align-items:center;gap:5px}.ky-legend-sep{color:var(--line)}.ky-legend-more{font-size:12px;margin-left:auto}.ky-daytag{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 10px;white-space:nowrap}.ky-daytag b{color:var(--ink)}.ky-daytag.is-live{color:var(--drop);border-color:color-mix(in srgb,var(--drop) 45%,var(--line))}.ky-daytag.is-live b{color:var(--drop)}.ky-daytag-dot{width:7px;height:7px;border-radius:50%;background:var(--drop);box-shadow:0 0 7px var(--drop);animation:ky-pulse 1.6s ease-in-out infinite}@media (max-width:600px){.ky-daytag{font-size:11px;padding:3px 8px}}.ky-mini-pick{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;transition:background .15s,border-color .15s}.ky-mini-pick:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--cta) 40%,var(--line))}.ky-mini-pick-race{font-size:13px;color:var(--muted);white-space:nowrap}.ky-mini-pick-race b{color:var(--ink)}.ky-mini-pick-name{flex:1;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ky-preview-banner{display:flex;align-items:center;gap:14px;background:color-mix(in srgb,var(--drop) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--drop) 30%,var(--line));border-radius:16px;padding:12px 16px;margin:6px 0 14px}.ky-preview-banner-t{font-size:16px;font-weight:800}.ky-preview-banner-t b{color:var(--drop)}.ky-preview-banner-d{font-size:12.5px;color:var(--muted);margin-top:2px}.ky-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gap)}.ky-prace{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;transition:background .15s,border-color .15s,transform .15s}.ky-prace:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--drop) 40%,var(--line));transform:translateY(-1px)}.ky-prace-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ky-prace-r{font-size:15px;font-weight:600;color:var(--muted)}.ky-prace-r b{color:var(--ink);font-weight:800}.ky-prace-picks{display:flex;flex-direction:column;gap:5px}.ky-prace-pick{display:flex;align-items:center;gap:8px}.ky-prace-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;border:1px solid var(--line);border-radius:6px;font-size:12px;font-weight:700;flex-shrink:0}.ky-prace-name{flex:1;min-width:0;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ky-prace-foot{font-size:11px;border-top:1px solid var(--line);padding-top:6px}.ky-prace{cursor:pointer;position:relative}.ky-prace.is-honmei{border-color:color-mix(in srgb,var(--cta) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--cta) 30%,transparent),0 6px 20px -12px var(--cta)}.ky-prace-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ky-pb,.ky-prace-track{font-size:12.5px;font-weight:700}.ky-prace-track{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-top:2px;padding:7px 10px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);transition:background .15s,border-color .15s}.ky-prace-track svg{color:var(--drop)}.ky-prace-track:hover{border-color:color-mix(in srgb,var(--drop) 50%,var(--line))}.ky-prace-track:disabled{opacity:.6}.ky-prace-track.is-on{background:var(--drop);color:var(--chip-ink);border-color:var(--drop)}.ky-prace-track.is-on svg{color:var(--chip-ink)}.ky-tabs{display:flex;gap:6px;margin:6px 0 12px;border-bottom:1px solid var(--line)}.ky-tab{padding:9px 16px;font-size:15px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.ky-tab.on,.ky-tab:hover{color:var(--ink)}.ky-tab.on{border-bottom-color:var(--drop)}.ky-guide-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 6px}.ky-guide-sec{margin-top:30px}.ky-guide-row{display:flex;align-items:flex-start;gap:12px;margin-top:12px}.ky-guide-mini{flex-shrink:0}.ky-guide-bubble{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px 16px;font-size:14px;line-height:1.75;flex:1}.ky-guide-bubble:before{content:"";position:absolute;left:-7px;top:20px;width:12px;height:12px;background:var(--surface);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.ky-guide-cards{display:grid;grid-template-columns:1fr;gap:var(--gap);margin-top:14px}.ky-guide-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;overflow:hidden}.ky-guide-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.ky-guide-card-h{margin-bottom:8px}.ky-guide-card-d{font-size:13.5px;color:var(--muted);line-height:1.65}.ky-guide-card-d b{color:var(--ink)}.ky-guide-grades{display:flex;flex-direction:column;gap:10px;margin-top:14px}.ky-guide-grade{display:flex;align-items:center;gap:12px;font-size:14px}.ky-guide-grade b{color:var(--ink)}.ky-guide-honmei{background:color-mix(in srgb,var(--cta) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--cta) 35%,var(--line));border-radius:16px;padding:16px;margin-top:12px}.ky-guide-honmei-eq{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.ky-guide-plus{font-size:18px;font-weight:800;color:var(--muted)}.ky-guide-cta{display:flex;justify-content:center;margin-top:30px}.ky-guide-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ky-guide-notes li{position:relative;padding-left:20px;font-size:13.5px;color:var(--muted);line-height:1.6}.ky-guide-notes li:before{content:"・";position:absolute;left:2px;top:0;color:var(--drop);font-weight:800}.ky-guide-notes b{color:var(--ink)}@media (min-width:720px){.ky-guide-cards{grid-template-columns:repeat(3,1fr)}}.ky-back{color:var(--muted);font-size:14px;font-weight:600;padding:8px 0;transition:color .15s}.ky-back:hover{color:var(--ink)}.ky-race-head{margin:6px 0 18px}.ky-track{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:9px 16px;border-radius:12px;font-size:14px;font-weight:700;background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:transform .12s,filter .15s,background .15s,border-color .15s}.ky-track:hover{border-color:color-mix(in srgb,var(--drop) 50%,var(--line));transform:translateY(-1px)}.ky-track:disabled{opacity:.6;cursor:default}.ky-track svg{color:var(--drop)}.ky-track.is-on{background:var(--drop);color:var(--chip-ink);border-color:var(--drop);box-shadow:0 4px 16px -6px var(--drop)}.ky-track.is-on svg{color:var(--chip-ink);fill:var(--chip-ink)}.ky-race-title{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.ky-race-venue{font-size:26px;font-weight:900}.ky-race-meta{font-size:13px;color:var(--muted);margin-top:7px}.ky-chart-card{padding:16px}.ky-chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.ky-section-t{font-size:15px;font-weight:800;margin:0}.ky-chart-note{font-size:11.5px}.ky-mt{margin-top:30px;margin-bottom:12px}.ky-chart-axis{font-family:Fira Code,monospace}.ky-chart-axis,.ky-chart-axis-lbl{fill:var(--muted);font-size:11px}.ky-chart-lbl{font-size:11px;font-weight:700}.ky-chart-line{stroke-dasharray:1;stroke-dashoffset:1;animation:ky-draw 1.3s ease forwards}.ky-race-sigs{display:flex;flex-direction:column;gap:8px}.ky-race-sig{position:relative;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px 11px 16px;overflow:hidden}.ky-rsig-main{font-size:14px;flex:1;min-width:0}.ky-rsig-odds{font-size:13px;white-space:nowrap}.ky-rsig-time{font-size:11.5px;white-space:nowrap}.ky-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.ky-tr{display:grid;grid-template-columns:40px 46px 1fr 54px 60px 60px 50px;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}.ky-td-ok{display:flex;justify-content:flex-start}.ky-tr:last-child{border-bottom:none}.ky-th{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}.ky-tr.is-hi{background:color-mix(in srgb,var(--drop) 9%,var(--surface))}.ky-td-pop{color:var(--muted);text-align:center}.ky-td-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border:1.5px solid var(--line);border-radius:7px;font-weight:700;font-size:13px}.ky-td-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ky-td-jky{color:var(--muted);font-size:13px}.ky-td-odds{font-weight:700;text-align:right}.ky-td-spark{display:flex;justify-content:flex-end}.ky-note-line{color:#06c755;font-weight:800}.ky-gate{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:18px}.ky-gate-backdrop{position:absolute;inset:0;background:rgba(4,7,13,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:ky-fade .2s ease}@keyframes ky-fade{0%{opacity:0}to{opacity:1}}.ky-gate-card{position:relative;width:100%;max-width:380px;max-height:92vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px 24px 22px;text-align:center;box-shadow:0 30px 80px -20px #000;animation:ky-gate-in .26s cubic-bezier(.2,.9,.3,1.1)}@keyframes ky-gate-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}.ky-gate-x{position:absolute;top:12px;right:14px;font-size:22px;line-height:1;color:var(--muted);width:30px;height:30px;border-radius:8px}.ky-gate-x:hover{background:var(--surface-2);color:var(--ink)}.ky-gate-mascot{display:flex;justify-content:center;margin-bottom:6px}.ky-gate-title{font-size:21px;font-weight:900;line-height:1.4;margin:4px 0 0}.ky-gate-free{color:#06c755}.ky-gate-sub{font-size:13px;color:var(--muted);line-height:1.65;margin:10px 0 18px}.ky-line-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:#06c755;color:#fff;font-weight:800;font-size:15.5px;padding:14px;border-radius:13px;box-shadow:0 8px 24px -8px #06c755;transition:transform .12s,filter .15s}.ky-line-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.ky-line-btn svg{flex-shrink:0}.ky-gate-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11.5px;margin:16px 0}.ky-gate-or:after,.ky-gate-or:before{content:"";flex:1;height:1px;background:var(--line)}.ky-gate-qr{display:flex;align-items:center;gap:14px;justify-content:center}.ky-qr{width:108px;height:108px;display:grid;background:#fff;padding:7px;border-radius:10px;flex-shrink:0}.ky-qr i{display:block}.ky-qr i.on{background:#04060c}.ky-qr-cap{font-size:12px;color:var(--muted);text-align:left;line-height:1.5}.ky-gate-benefits{list-style:none;margin:18px 0 8px;padding:0;text-align:left;display:flex;flex-direction:column;gap:8px}.ky-gate-benefits li{position:relative;padding-left:26px;font-size:13px;color:var(--ink)}.ky-gate-benefits li:before{content:"✓";position:absolute;left:0;top:-1px;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--drop) 16%,transparent);color:var(--drop);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.ky-gate-skip{display:block;width:100%;color:var(--muted);font-size:13px;padding:11px;margin-top:8px;border-radius:10px;border:1px solid var(--line);transition:color .15s,border-color .15s}.ky-gate-skip:hover{color:var(--ink);border-color:var(--muted)}.ky-gate-fine{font-size:10.5px;color:color-mix(in srgb,var(--muted) 80%,transparent);line-height:1.6;margin:14px 0 0}.ky-gate-done{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0}.ky-gate-go{margin-top:18px;width:100%}@media (min-width:720px){.ky-bento,.ky-how-steps{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){.ky-hero{grid-template-columns:1.05fr .95fr;gap:48px;padding:48px 0 56px}.ky-list-card{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}}@media (min-width:1180px){.ky-list-card{grid-template-columns:1fr 1fr 1fr}}@media (max-width:600px){.ky-row-list{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"type race post" "horse horse pct";-moz-column-gap:9px;column-gap:9px;row-gap:5px;padding:10px 13px 10px 16px}.ky-list-odds,.ky-list-spark{display:none}.ky-list-race{justify-self:start}.ky-list-pct,.ky-list-post{justify-self:end}.ky-list-pct{font-size:15px}.ky-list-horse{padding-top:1px}.ky-card-name{max-width:46vw}.ky-table .ky-td-jky,.ky-table .ky-td-spark{display:none}.ky-tr{grid-template-columns:32px 40px 1fr auto 56px}.ky-watcher{right:10px;bottom:10px;transform:scale(.82);transform-origin:bottom right}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}