:root{color-scheme:dark;--bg:#080b10;--panel:#111722;--panel2:#151d29;--line:#263042;--text:#f4f7fb;--muted:#91a0b5;--gold:#d8b45d;--gold2:#f3d78a;--good:#56d39b;--warn:#ffb45a;--bad:#ff6f7d;--shadow:0 14px 40px rgba(0,0,0,.34)}
*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at top,#131a25 0,#080b10 42%,#06080c 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif}body{min-height:100vh}.shell{max-width:1100px;margin:auto;padding:0 14px 88px}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 0;background:linear-gradient(180deg,rgba(8,11,16,.96),rgba(8,11,16,.82),transparent);backdrop-filter:blur(12px)}.brand{display:flex;gap:10px;align-items:center}.brand img{width:46px;height:46px;border-radius:14px;object-fit:cover;box-shadow:0 6px 20px rgba(0,0,0,.45)}.brand b{display:block;font-size:18px;letter-spacing:.04em}.brand small,.muted{color:var(--muted)}.iconBtn{border:1px solid var(--line);background:var(--panel);color:var(--text);width:42px;height:42px;border-radius:13px;font-size:22px}.statusGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.card{background:linear-gradient(145deg,rgba(20,28,40,.95),rgba(13,18,27,.96));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.status{padding:14px}.status span{color:var(--muted);font-size:12px}.status strong{display:block;font-size:25px;margin:4px 0}.status small{color:var(--muted)}.hero{margin-top:12px;padding:20px;overflow:hidden;position:relative}.hero:after{content:"YAS";position:absolute;right:-8px;top:-26px;font-weight:900;font-size:96px;color:rgba(216,180,93,.05);transform:rotate(-8deg)}.kicker,.sectionHead small{color:var(--gold);font-weight:800;letter-spacing:.14em}.hero h1{font-size:30px;margin:7px 0}.hero p{color:#b7c3d3;margin:0;max-width:720px}.autoFlow{display:flex;align-items:center;gap:9px;margin-top:16px;flex-wrap:wrap}.autoFlow span{border:1px solid rgba(216,180,93,.45);background:rgba(216,180,93,.08);padding:8px 12px;border-radius:999px;color:var(--gold2);font-weight:700}.autoFlow i{color:#5e6a7d}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin:24px 2px 10px}.sectionHead h2{margin:2px 0 0}.sectionHead select{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:9px 10px;border-radius:10px}.raceList{display:grid;gap:11px}.raceCard{padding:15px;display:grid;grid-template-columns:1fr auto;gap:10px;cursor:pointer}.raceCard h3{margin:0 0 5px;font-size:18px}.meta{color:var(--muted);font-size:13px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.chip{font-size:11px;border:1px solid var(--line);background:#0c1118;padding:5px 8px;border-radius:999px;color:#b6c2d2}.chip.good{border-color:rgba(86,211,155,.5);color:var(--good)}.chip.warn{border-color:rgba(255,180,90,.5);color:var(--warn)}.score{font-weight:900;font-size:29px;color:var(--gold2);align-self:center}.auditList{display:grid;gap:8px}.audit{padding:12px;border-left:3px solid var(--gold);background:rgba(17,23,34,.8);border-radius:12px;color:#c9d3df}.audit small{display:block;color:var(--muted);margin-top:3px}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}dialog{border:0;padding:0;background:transparent;width:min(760px,100%);max-height:92vh}dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}.sheet{background:#0c1118;border:1px solid var(--line);border-radius:26px;padding:18px;max-height:90vh;overflow:auto}.sheetHead{display:flex;justify-content:space-between;align-items:start}.sheetHead h2{margin:4px 0 12px}.sheetHead small{color:var(--gold)}.predSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.metric{background:#111824;border:1px solid var(--line);padding:10px;border-radius:14px}.metric span{display:block;color:var(--muted);font-size:11px}.metric b{font-size:19px}.horseRows{display:grid;gap:7px}.horse{display:grid;grid-template-columns:42px 1fr 58px;gap:9px;align-items:center;padding:10px;background:#111824;border:1px solid #202b3b;border-radius:14px}.mark{font-size:22px;text-align:center;color:var(--gold2);font-weight:900}.horse .sub{font-size:12px;color:var(--muted);margin-top:3px}.horse .pt{text-align:right;font-weight:900;font-size:21px}.scenario,.tickets,.review{margin-top:15px;padding:12px;background:#101722;border:1px solid var(--line);border-radius:14px}.scenario h4,.tickets h4,.review h4{margin:0 0 8px;color:var(--gold2)}.ticket{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #202a39}.ticket:first-of-type{border-top:0}.bottom{display:none}.dangerFlag{color:var(--bad)}
@media(max-width:720px){.shell{padding:0 10px 88px}.statusGrid{grid-template-columns:repeat(2,1fr)}.hero{padding:16px}.hero h1{font-size:24px}.raceCard{grid-template-columns:1fr 52px}.predSummary{grid-template-columns:repeat(3,1fr)}.bottom{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(9,13,19,.94);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:30}.bottom button{border:0;background:transparent;color:#7f8da0;padding:9px 3px;font-size:17px}.bottom span{display:block;font-size:10px;margin-top:2px}.bottom .active{color:var(--gold2)}.sheet{border-radius:24px 24px 0 0;max-height:88vh}dialog{margin:auto 0 0;width:100%}.horse{grid-template-columns:38px 1fr 54px}.top{padding-top:max(8px,env(safe-area-inset-top))}}
.primaryAction,.secondaryAction{width:100%;border-radius:14px;padding:13px 14px;font-size:16px;font-weight:800;cursor:pointer}.primaryAction{border:1px solid rgba(216,180,93,.7);background:linear-gradient(135deg,#d8b45d,#f3d78a);color:#111}.secondaryAction{margin-top:14px;border:1px solid var(--line);background:#151d29;color:var(--text)}.primaryAction:disabled{opacity:.55}.readyBox{padding:18px;background:#101722;border:1px solid var(--line);border-radius:16px}.readyBox b{color:var(--good);font-size:18px}.readyBox p{color:var(--muted)}.previewBanner{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:4px 0 10px;padding:9px 11px;border-radius:12px;border:1px solid rgba(255,180,90,.45);background:rgba(255,180,90,.08);color:var(--warn)}.previewBanner.lockedBanner{border-color:rgba(86,211,155,.45);background:rgba(86,211,155,.08);color:var(--good)}.previewBanner span{font-size:12px}.previewNote{font-size:12px;color:var(--muted);line-height:1.6}
