@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--turf-50: #e9f9ef;--turf-100: #c9f0d7;--turf-300: #6cd896;--turf-500: #19a85c;--turf-600: #138a4b;--turf-700: #0e6c3a;--turf-900: #0a3d22;--carrot-50: #fff2e6;--carrot-100: #ffdfbf;--carrot-400: #ff9a3d;--carrot-500: #f97316;--carrot-600: #e25e09;--carrot-700: #b94807;--saddle-400: #b07a4a;--saddle-600: #7c5230;--paper: #faf7f0;--surface: #ffffff;--sunken: #f2ede3;--ink-900: #1c1a15;--ink-700: #4a463d;--ink-500: #807a6c;--ink-300: #b7b0a0;--line: #e8e1d3;--line-strong: #d8cfbd;--info: #2563eb;--info-bg: #e7efff;--success: #19a85c;--success-bg: #e9f9ef;--warning: #f0a517;--warning-bg: #fff4dd;--danger: #dc2626;--danger-bg: #fdeaea;--stat-low: #ef4444;--stat-mid: #f0a517;--stat-high: #22b765;--stat-track: #ece6da;--style-front: #e2562b;--style-insert: #2f7ae0;--style-lead: #14a39a;--style-closer: #8b5cf6;--race-open: var(--success);--race-running: var(--warning);--race-finished: #8b8578;--race-cancelled: var(--danger);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(40,30,10,.06);--shadow-md: 0 2px 4px rgba(40,30,10,.05), 0 8px 20px rgba(40,30,10,.07);--shadow-lg: 0 8px 16px rgba(40,30,10,.08), 0 24px 48px rgba(40,30,10,.12);--shadow-focus: 0 0 0 3px rgba(25,168,92,.28);--shadow-inset: inset 0 1px 2px rgba(40,30,10,.06);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--font-sans: "Pretendard", "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, "Menlo", monospace;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--w-black: 800}.ch-display{font-family:var(--font-sans);font-weight:var(--w-black);font-size:44px;line-height:1.08;letter-spacing:-.02em;color:var(--ink-900)}.ch-h1{font-family:var(--font-sans);font-weight:var(--w-black);font-size:30px;line-height:1.18;letter-spacing:-.015em;color:var(--ink-900)}.ch-h2{font-family:var(--font-sans);font-weight:var(--w-bold);font-size:22px;line-height:1.25;letter-spacing:-.01em;color:var(--ink-900)}.ch-h3{font-family:var(--font-sans);font-weight:var(--w-bold);font-size:17px;line-height:1.35;color:var(--ink-900)}.ch-body{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:15px;line-height:1.6;color:var(--ink-700)}.ch-body-strong{font-family:var(--font-sans);font-weight:var(--w-semibold);font-size:15px;line-height:1.6;color:var(--ink-900)}.ch-caption{font-family:var(--font-sans);font-weight:var(--w-medium);font-size:13px;line-height:1.45;color:var(--ink-500)}.ch-label{font-family:var(--font-sans);font-weight:var(--w-bold);font-size:11px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}.ch-mono{font-family:var(--font-mono);font-weight:var(--w-medium);font-size:13px;letter-spacing:-.01em;color:var(--ink-700)}.ch-num{font-family:var(--font-mono);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;color:var(--ink-900)}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);font-family:var(--font-sans);color:var(--ink-900);-webkit-font-smoothing:antialiased}button{font-family:inherit}::selection{background:var(--turf-100)}.app{min-height:100vh;display:flex;flex-direction:column}.page{flex:1;max-width:1100px;margin:0 auto;padding:30px 28px 80px;width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 22px}.section-rule{display:flex;align-items:center;gap:12px;margin:34px 0 16px;color:var(--ink-500)}.section-rule:before,.section-rule:after{content:"";height:1px;background:var(--line);flex:1}.section-rule span{font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.nav{position:sticky;top:0;z-index:40;background:#faf7f0db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav-in{max-width:1100px;margin:0 auto;height:62px;display:flex;align-items:center;gap:26px;padding:0 28px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;letter-spacing:-.4px;cursor:pointer}.brand img{width:30px;height:30px}.brand .h{color:var(--turf-500)}.nav-links{display:flex;gap:4px;margin-left:8px}.nav-link{padding:8px 14px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--ink-700);cursor:pointer;border:none;background:none;white-space:nowrap}.nav-link:hover{background:var(--sunken)}.nav-link.active{background:var(--turf-50);color:var(--turf-700)}.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px}.net-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-weight:700;font-size:12px;padding:5px 10px;border-radius:var(--r-pill);border:1.5px solid}.net-ok{color:var(--turf-700);background:var(--turf-50);border-color:var(--turf-300)}.net-bad{color:var(--danger);background:var(--danger-bg);border-color:#f2c0c0;cursor:pointer}.carrot-pill{display:inline-flex;align-items:center;gap:6px;background:var(--carrot-50);border:1.5px solid var(--carrot-100);border-radius:var(--r-pill);padding:6px 13px;font-weight:800;color:var(--carrot-700);transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.carrot-pill:hover{transform:scale(1.06) rotate(-1deg)}.carrot-pill .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eth-pill{display:inline-flex;align-items:center;gap:5px;background:var(--info-bg);border:1.5px solid #bcd2f7;border-radius:var(--r-pill);padding:6px 12px;font-weight:800;color:var(--info);transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.eth-pill:hover{transform:scale(1.06) rotate(-1deg)}.eth-pill .eth-ico{flex:none;color:var(--info)}.eth-pill .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eth-pill .unit{font-size:11px;font-weight:800;letter-spacing:.03em;color:var(--info);opacity:.72}.wallet-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-weight:700;font-size:13px;padding:7px 13px;border-radius:var(--r-pill);cursor:pointer;border:1.5px solid;background:var(--turf-50);border-color:var(--turf-300);color:var(--turf-700);white-space:nowrap}.wallet-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--turf-500)}.wallet-chip .chev{font-size:10px;opacity:.7;transition:transform .2s ease}.wallet-chip.open .chev{transform:rotate(180deg)}.wallet-chip:hover{background:var(--turf-100)}.wallet-menu{position:relative}.wallet-pop{position:absolute;top:calc(100% + 8px);right:0;width:236px;z-index:70;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:7px;animation:wp-in .18s cubic-bezier(.34,1.56,.64,1)}@keyframes wp-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}.wp-head{display:flex;align-items:center;gap:10px;padding:9px 9px 11px}.wp-avatar{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--turf-50);border:1.5px solid var(--turf-300);color:var(--turf-700);font-weight:800;font-size:16px}.wp-id{display:flex;flex-direction:column;gap:2px;min-width:0}.wp-name{font-weight:800;font-size:14px;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-addr{font-size:11px;color:var(--ink-500)}.wp-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;cursor:pointer;text-align:left;font-family:var(--font-sans);font-weight:700;font-size:13px;color:var(--ink-700);padding:9px 10px;border-radius:var(--r-sm);transition:background .14s ease,color .14s ease}.wp-item:hover{background:var(--sunken)}.wp-item.danger{color:var(--danger)}.wp-item.danger:hover{background:var(--danger-bg)}.wp-divider{height:1px;background:var(--line);margin:5px 8px}.wp-edit{padding:6px 8px 8px;display:flex;flex-direction:column;gap:8px}.wp-edit input{width:100%;font-family:var(--font-sans);font-weight:600;font-size:13px;padding:8px 10px;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-900);box-shadow:var(--shadow-inset)}.wp-edit input:focus{outline:none;border-color:var(--turf-300);box-shadow:var(--shadow-focus)}.wp-edit-row{display:flex;gap:6px;justify-content:flex-end}.role-seg{position:relative;display:inline-flex;background:var(--sunken);border:1.5px solid var(--line-strong);border-radius:var(--r-pill);padding:3px}.role-seg .rs-slider{position:absolute;top:3px;left:3px;bottom:3px;width:calc(50% - 3px);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .26s cubic-bezier(.34,1.56,.64,1),background .2s ease}.role-seg.admin .rs-slider{transform:translate(100%);background:var(--turf-50)}.role-seg .rs-opt{position:relative;z-index:1;border:none;background:none;cursor:pointer;font-family:var(--font-sans);font-weight:700;font-size:12px;padding:5px 12px;border-radius:var(--r-pill);color:var(--ink-500);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;transition:color .18s ease}.role-seg .rs-opt.on{color:var(--ink-900)}.role-seg.admin .rs-opt.on{color:var(--turf-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:600;font-size:14px;border-radius:var(--r-sm);padding:11px 18px;transition:transform .16s cubic-bezier(.34,1.56,.64,1),background .12s ease-out,box-shadow .16s ease-out;box-shadow:var(--shadow-sm);white-space:nowrap}.btn-lg{padding:15px 26px;font-size:16px;border-radius:var(--r-md)}.btn-sm{padding:8px 13px;font-size:13px}.btn-block{width:100%}.btn-primary{background:var(--turf-500);color:#fff}.btn-primary:hover{background:var(--turf-600);transform:translateY(-1.5px)}.btn-carrot{background:var(--carrot-500);color:#fff}.btn-carrot:hover{background:var(--carrot-600);transform:translateY(-1.5px)}.btn-wallet{background:var(--info);color:#fff}.btn-wallet:hover{background:#1d50c9;transform:translateY(-1.5px)}.btn-secondary{background:var(--surface);color:var(--ink-900);border:1.5px solid var(--line-strong);box-shadow:none}.btn-secondary:hover{background:var(--sunken)}.btn-danger{color:var(--danger);border:1.5px solid var(--danger);background:var(--surface);box-shadow:none}.btn-danger:hover{background:var(--danger-bg)}.btn-ghost{background:none;color:var(--turf-600);box-shadow:none;padding:8px 12px}.btn-ghost:hover{background:var(--turf-50)}.btn:active{transform:translateY(1px) scale(.97)!important}.btn:disabled{background:var(--sunken);color:var(--ink-300);box-shadow:none;cursor:not-allowed;transform:none!important}.btn:disabled:hover{background:var(--sunken)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.horse-card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--c);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden;cursor:pointer;transition:transform .24s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease-out}.horse-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.horse-card.selectable{cursor:pointer}.horse-card.selected{outline:3px solid var(--turf-500);outline-offset:1px}.sprite{position:relative;height:130px;background:radial-gradient(110% 90% at 50% 34%,#fffdf8 0%,var(--sunken) 78%);display:flex;align-items:center;justify-content:center;font-size:60px;line-height:1}.sprite:after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(0deg,rgba(108,216,150,.34),transparent);pointer-events:none}.sprite .horse{display:inline-block;position:relative;z-index:1;animation:ch-bob 2.8s ease-in-out infinite;transform-origin:50% 90%;filter:drop-shadow(0 6px 5px rgba(40,30,10,.16))}.sprite .horse-flip{display:inline-block;position:relative;z-index:1;line-height:1}.sprite .style-tag{position:absolute;top:10px;left:10px;background:var(--c,#888);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;z-index:3}.sprite .tok{position:absolute;top:10px;right:10px;font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--ink-500);background:#fff;padding:2px 7px;border-radius:var(--r-xs)}.sprite .check{position:absolute;top:0;right:0;bottom:0;left:0;background:#19a85c29;display:flex;align-items:center;justify-content:center;font-size:30px}.horse-card .body{padding:13px 15px}.horse-card .name{font-weight:800;font-size:16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.horse-card .rec{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-500);font-weight:600}.horse-card:hover .sprite .horse{animation-duration:1s}.has-tip{position:relative}.style-tip{position:absolute;top:calc(100% + 9px);left:0;width:212px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:11px 13px;display:flex;flex-direction:column;gap:5px;text-align:left;white-space:normal;opacity:0;transform:translateY(-5px) scale(.97);transform-origin:top left;pointer-events:none;transition:opacity .15s ease-out,transform .15s cubic-bezier(.34,1.56,.64,1);z-index:60}.has-tip:hover .style-tip{opacity:1;transform:none}.style-tip .tip-h{font-weight:800;font-size:13px;letter-spacing:0;line-height:1.2}.style-tip .tip-en{color:var(--ink-300);font-weight:700;font-size:10.5px;letter-spacing:.02em}.style-tip .tip-d{font-size:12px;line-height:1.55;color:var(--ink-700);font-weight:500}.style-tip:before{content:"";position:absolute;bottom:100%;left:18px;border:6px solid transparent;border-bottom-color:var(--surface)}.style-tip:after{content:"";position:absolute;bottom:100%;left:18px;margin-bottom:1px;border:6px solid transparent;border-bottom-color:var(--line);z-index:-1}.style-tag-inline{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:11.5px;font-weight:700;color:#fff;white-space:nowrap}.statbar{display:flex;align-items:center;gap:9px;margin-bottom:6px}.statbar .ab{width:30px;font-weight:800;font-size:10.5px;color:var(--ink-500)}.statbar .ko{width:54px;font-size:11.5px;color:var(--ink-500)}.statbar .track{flex:1;height:9px;border-radius:var(--r-pill);background:var(--stat-track);overflow:hidden}.statbar .fill{height:100%;border-radius:var(--r-pill);transition:width .6s cubic-bezier(.2,.7,.2,1)}.statbar .val{width:26px;text-align:right;font-family:var(--font-mono);font-weight:700;font-size:12px}.statbar.lg{margin-bottom:9px}.statbar.lg .track{height:12px}.statbar.lg .val{font-size:14px;width:32px}.statbar .delta{font-family:var(--font-mono);font-weight:700;font-size:11px;color:var(--turf-500);width:34px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);font-size:12px;font-weight:700;white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%}.badge-open{background:var(--success-bg);color:var(--success)}.badge-running{background:var(--warning-bg);color:#9a6a00}.badge-finished{background:#efece5;color:#6b6559}.badge-cancelled{background:var(--danger-bg);color:var(--danger)}.hero{text-align:center;padding:60px 20px 30px}.hero .mark{width:84px;height:84px;margin-bottom:18px;animation:ch-bob 3.4s ease-in-out infinite}.hero h1{font-weight:800;font-size:40px;letter-spacing:-1px;margin:0 0 8px}.hero h1 .h{color:var(--turf-500)}.hero .sub{font-size:18px;color:var(--ink-500);margin:0 0 30px}.hero-feats{display:flex;gap:30px;justify-content:center;margin-top:40px;color:var(--ink-700)}.hero-feats div{font-size:15px;font-weight:600;white-space:nowrap}.hero-floats{position:relative;height:0}.hero-float{position:absolute;font-size:26px;opacity:.9;animation:ch-bob 3s ease-in-out infinite}.empty{text-align:center;padding:46px 30px;border:2px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface)}.empty .big{font-size:44px;margin-bottom:6px;display:inline-block;animation:ch-bob 2.8s ease-in-out infinite}.empty h3{font-weight:800;font-size:20px;margin:0 0 6px}.empty p{color:var(--ink-500);margin:0 0 20px}.horse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.race-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:14px}.race-card .top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.race-card .rid{font-weight:800;font-size:17px}.race-card .meta{margin-left:auto;display:flex;gap:18px;color:var(--ink-500);font-size:13px;font-weight:600}.race-card .meta b{color:var(--ink-900);font-family:var(--font-mono)}.entry-pool{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pool-chip{display:inline-flex;align-items:center;gap:5px;background:var(--sunken);border-radius:var(--r-sm);padding:6px 11px;font-size:12.5px;font-weight:700;color:var(--ink-700);white-space:nowrap}.pool-chip .tk{font-family:var(--font-mono);color:var(--ink-500)}.pool-empty{border:1.5px dashed var(--line-strong);background:none;color:var(--ink-300)}.race-card .actions{display:flex;gap:10px}.laps-tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--saddle-600);background:#f4ece2;border:1px solid #e6d8c6;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap}.admin-hint{font-size:13px;font-weight:600;color:var(--ink-500);background:var(--sunken);border:1px solid var(--line);padding:8px 14px;border-radius:var(--r-pill);white-space:nowrap}.filter-row{display:flex;gap:8px;margin-bottom:18px}.filter{padding:8px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:600;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);color:var(--ink-700);white-space:nowrap}.filter.on{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.sort-label{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--ink-300);margin-right:2px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a1580;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;animation:ch-scrim-in .2s ease-out}@keyframes ch-scrim-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:460px;max-width:100%;max-height:90vh;overflow:auto;position:relative;animation:ch-modal-in .26s cubic-bezier(.34,1.56,.64,1)}.modal.wide{width:540px}@keyframes ch-modal-in{0%{transform:translateY(14px) scale(.96);opacity:.4}to{transform:none;opacity:1}}.modal-head{display:flex;align-items:center;gap:10px;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-weight:800;font-size:18px}.modal-head .x{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--ink-300);font-size:20px;line-height:1;padding:4px;border-radius:6px}.modal-head .x:hover{background:var(--sunken);color:var(--ink-700)}.modal-body{padding:22px 24px}.modal-foot{display:flex;gap:10px;padding:0 24px 22px;justify-content:flex-end}.field{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:11px 14px;box-shadow:var(--shadow-inset)}.field:focus-within{border-color:var(--turf-500);box-shadow:var(--shadow-focus)}.field input{border:none;outline:none;background:none;font-family:var(--font-mono);font-weight:700;font-size:15px;color:var(--ink-900);width:100%}.field .u{font-size:14px;color:var(--ink-500);white-space:nowrap}.chips{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.chip{font-weight:600;font-size:13px;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:8px 14px;cursor:pointer;color:var(--ink-700)}.chip:hover{background:var(--sunken)}.chip.on{background:var(--turf-50);border-color:var(--turf-500);color:var(--turf-700)}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg .opt{padding:9px 15px;border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--surface);font-weight:700;font-size:14px;cursor:pointer;font-family:var(--font-mono);color:var(--ink-700)}.seg .opt.on{background:var(--turf-500);border-color:var(--turf-500);color:#fff}.field-label{font-size:13px;font-weight:700;color:var(--ink-700);margin:16px 0 8px}.field-label:first-child{margin-top:0}.train-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}.train-opt{border:1.5px solid var(--line-strong);border-radius:var(--r-md);padding:16px 12px;text-align:center;cursor:pointer;background:var(--surface);transition:all .12s}.train-opt:hover{border-color:var(--turf-500);background:var(--turf-50)}.train-opt .em{font-size:28px}.train-opt .tn{font-weight:800;font-size:14px;margin:6px 0 2px}.train-opt .cur{font-size:12px;color:var(--ink-500)}.train-opt .cost{margin-top:8px;font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--carrot-700)}.kv{display:flex;justify-content:space-between;padding:7px 0;font-size:14px}.kv .k{color:var(--ink-500)}.kv .v{font-family:var(--font-mono);font-weight:700}.bet-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-md);margin-bottom:8px;cursor:pointer}.bet-row.on{border-color:var(--turf-500);background:var(--turf-50)}.bet-row .radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);flex:none}.bet-row.on .radio{border-color:var(--turf-500);background:var(--turf-500);box-shadow:inset 0 0 0 3px #fff}.bet-row .odds{margin-left:auto;font-family:var(--font-mono);font-weight:700;color:var(--carrot-700)}.lap-counter{font-family:var(--font-mono);font-weight:800;font-size:15px;color:var(--ink-900);background:var(--warning-bg);border:1.5px solid #f0d79a;padding:6px 14px;border-radius:var(--r-pill);white-space:nowrap}.oval-panel{background:radial-gradient(120% 100% at 50% 0%,#26824a,#0e5e31 70%,#0a4d28);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:24px;overflow:hidden}.oval-stage{position:relative;width:760px;height:320px;max-width:100%;margin:0 auto}.oval-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.oval-runner{position:absolute;top:0;left:0;font-size:28px;line-height:1;offset-path:path("M 380,50 A 292,110 0 1,1 380,270 A 292,110 0 1,1 380,50");offset-rotate:0deg;offset-distance:0%;animation:ch-gallop .42s ease-in-out infinite}.oval-runner .rln{position:absolute;left:50%;top:100%;transform:translate(-50%);font-family:var(--font-mono);font-size:10px;font-weight:700;color:#fff;background:#00000073;padding:1px 5px;border-radius:6px;white-space:nowrap}.race-layout{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:start}@media (max-width:1080px){.race-layout{grid-template-columns:1fr}}.live-board{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:14px;position:sticky;top:84px}.live-board-head{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;letter-spacing:.04em;color:var(--ink-700);margin-bottom:12px;text-transform:uppercase}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 #d6454580;animation:live-pulse 1.4s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 #d6454580}70%{box-shadow:0 0 0 7px #d6454500}to{box-shadow:0 0 #d6454500}}.live-rows{display:flex;flex-direction:column;gap:7px}.live-row{display:grid;grid-template-columns:24px 22px 1fr auto;grid-template-rows:auto auto;column-gap:7px;row-gap:5px;align-items:center;padding:8px 9px;border-radius:var(--r-md);background:var(--sunken);border:1.5px solid transparent}.live-row.lead{background:var(--warning-bg);border-color:#f0d79a}.live-row .lr-rank{font-size:15px;font-weight:800;text-align:center;font-family:var(--font-mono)}.live-row .lr-horse{font-size:17px;line-height:1;text-align:center}.live-row .lr-name{font-weight:700;font-size:13px;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-row .lr-id{font-family:var(--font-mono);font-size:10px;color:var(--ink-300);font-weight:700}.live-row .lr-pct{font-family:var(--font-mono);font-size:12px;font-weight:800;color:var(--ink-500);font-variant-numeric:tabular-nums}.live-row .lr-fin{font-family:var(--font-mono);font-size:10px;font-weight:800;color:var(--turf-600);background:var(--turf-50);border:1px solid var(--turf-300);padding:1px 6px;border-radius:6px}.live-row .lr-bar{grid-column:1 / -1;height:5px;border-radius:3px;background:#00000014;overflow:hidden}.live-row .lr-fill{display:block;height:100%;border-radius:3px;background:var(--turf-500);transition:width .12s linear}.live-row.lead .lr-fill{background:var(--carrot-500)}.podium-row{display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:var(--r-md);margin-bottom:8px;background:var(--surface);border:1px solid var(--line)}.podium-row.win{border:2px solid var(--carrot-400);background:var(--carrot-50);box-shadow:var(--shadow-md);animation:ch-winpop .55s cubic-bezier(.34,1.56,.64,1)}.podium-row.mine{outline:2px solid var(--turf-300)}.podium-row .rank{font-size:20px;width:34px;text-align:center}.podium-row.win .rank{display:inline-block;animation:ch-bob 1.6s ease-in-out infinite}.podium-row .pname{font-weight:800;font-size:15px}.podium-row .pmeta{font-size:12px;color:var(--ink-500)}.podium-row .pscore{margin-left:auto;font-family:var(--font-mono);font-weight:700;text-align:right}.podium-row .preward{font-family:var(--font-mono);font-weight:700;color:var(--carrot-700);width:90px;text-align:right}.market-card{cursor:default}.market-card .market-stat{font-size:12.5px;color:var(--ink-500);font-weight:600;margin-bottom:12px}.market-card .market-stat b{color:var(--ink-900);font-family:var(--font-mono)}.market-card .market-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px;border-top:1px solid var(--line)}.market-card .price{font-family:var(--font-mono);font-weight:800;font-size:16px;color:var(--info)}.market-card .market-seller{margin-top:9px;font-size:11px;color:var(--ink-300);font-weight:600}.market-card:hover{transform:translateY(-4px)}.market-card .market-admin-del{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:11px;padding:8px 12px;border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-sans);font-weight:700;font-size:12.5px;line-height:1;border:1.5px solid var(--danger);background:var(--surface);color:var(--danger);transition:background .14s ease}.market-card .market-admin-del:hover{background:var(--danger-bg)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:6}.confetti.fixed{position:fixed}.confetti .cf{position:absolute;top:-16px;width:9px;height:14px;border-radius:2px;animation:ch-fall linear forwards}@keyframes ch-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(640px) rotate(620deg);opacity:.15}}.toasts{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:11px;padding:13px 16px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg);min-width:300px;border-left:4px solid;animation:ch-toast-in .34s cubic-bezier(.34,1.56,.64,1)}@keyframes ch-toast-in{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.toast .ic{font-size:18px}.toast .t1{font-weight:700;font-size:14px}.toast .t2{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-500)}.toast .x{margin-left:auto;background:none;border:none;color:var(--ink-300);font-size:15px;cursor:pointer}.toast.pending{border-color:var(--warning)}.toast.success{border-color:var(--success)}.toast.fail{border-color:var(--danger)}.banner{position:sticky;top:62px;z-index:35;background:var(--danger-bg);border-bottom:1px solid #f2c0c0;color:var(--danger);font-weight:700;font-size:14px;padding:11px 28px;display:flex;align-items:center;gap:12px;justify-content:center}.spin{font-size:34px;display:inline-block;animation:ch-spin 1.4s linear infinite}@keyframes ch-spin{to{transform:rotate(360deg)}}.note-strong{font-weight:600;color:var(--ink-900)}.brand:hover img{animation:ch-bob .7s ease-in-out}@keyframes ch-bob{0%,to{transform:translateY(0) rotate(-2.5deg)}50%{transform:translateY(-7px) rotate(2.5deg)}}@keyframes ch-gallop{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}@keyframes ch-winpop{0%{transform:scale(.95)}55%{transform:scale(1.045)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.sprite .horse,.hero .mark,.empty .big,.oval-runner,.podium-row.win,.podium-row.win .rank,.hero-float{animation:none!important}}
