/* Ver0.4.38 visual-only: main purchases, separate restrained Shadow, clear race identity */
:root{--edge-gold:#ffdb7a;--edge-gold-strong:#ffe69c;--edge-soft-text:#cae3e7}
.ticket-overview-group{border:1px solid rgba(243,200,98,.68)!important;border-radius:13px;background:linear-gradient(155deg,rgba(9,48,48,.42),rgba(3,19,30,.86));box-shadow:0 0 20px rgba(250,197,66,.11),inset 0 0 23px rgba(210,163,62,.06);padding:14px!important}
.ticket-group-heading.enhanced h2{font-size:clamp(21px,2vw,27px);color:var(--edge-gold-strong);letter-spacing:.01em}
.ticket-group-heading.enhanced p{color:#d1e7e9;font-size:14px;line-height:1.5;margin:4px 0}
/* Place/time are safety-critical pre-purchase checks, including on narrow phones. */
.edge-race-identity{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 14px;padding:13px 16px;border:1px solid rgba(255,208,105,.7);border-radius:12px;background:linear-gradient(110deg,#0a3638,#132d31 52%,#2d2713);box-shadow:inset 0 0 17px rgba(252,208,97,.09)}
.edge-race-identity-main{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.edge-race-date{font-size:15px;color:#e5eeeb;white-space:nowrap;font-weight:800}
.edge-race-venue{font-size:clamp(22px,2.1vw,29px);color:#ffe49a;white-space:nowrap;font-weight:950}
.edge-race-name{font-size:clamp(16px,1.3vw,19px);font-weight:850;color:#f0faf5;overflow-wrap:anywhere}
.edge-race-identity-side{display:flex;flex-direction:column;gap:3px;align-items:flex-end;flex-shrink:0}
.edge-race-identity-side span{font-size:16px;font-weight:750;color:#eaf9f3}
#edge-race-time{font-size:clamp(19px,2vw,26px);color:var(--edge-gold-strong);font-weight:950;letter-spacing:.015em;white-space:nowrap}
#edge-race-time.unverified{font-size:clamp(15px,1.5vw,18px);color:#ffcdb2}
.edge-card-race{font-weight:850;color:#dff2f0;font-size:13px;line-height:1.5;padding:5px 0 3px;border-bottom:1px solid rgba(202,223,223,.18);overflow-wrap:anywhere}
/* Main cards: equal footprint for all four kinds, whether selected or not. */
.ticket-overview-group .practical-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.ticket-overview-group .practical-overview>.ticket-card{min-width:0;min-height:205px;display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:12px!important;text-align:left;border-radius:11px;overflow:hidden}
.practical-overview .ticket-label{font-size:clamp(17px,1.5vw,21px);line-height:1.3}
.practical-overview .tile-head{gap:5px;min-width:0}
.practical-overview .tile-head .ticket-stage{font-size:13px;white-space:nowrap;font-weight:850;line-height:1.4}
.practical-overview .tile-pick{min-height:44px;display:flex;align-items:center;gap:7px;margin:2px 0}
.practical-overview .tile-horse-name{font-size:clamp(16px,1.25vw,19px)}
.practical-overview .tile-horse-num{font-size:29px;width:48px;height:48px;line-height:48px}
.practical-overview .tile-pair{font-size:clamp(22px,2vw,32px);line-height:1.2;font-weight:900}
.practical-overview .tile-reason{font-size:13px;min-height:36px;line-height:1.5;color:#e1f0ed}
.practical-overview .tile-footer{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:auto}
.practical-overview .tile-footer small{font-size:12px;display:block}
.practical-overview .tile-footer strong{font-size:18px}
.practical-overview .tile-details{font-size:13px;min-height:34px;padding:6px 9px}
.practical-overview .ticket-card.selected-card{outline:2px solid #ffe39a;outline-offset:-3px;box-shadow:0 0 14px rgba(255,213,106,.36),inset 0 0 10px rgba(255,209,105,.12)}
.practical-overview .ticket-card.wide-card{border:2px solid #f6d16f;box-shadow:0 0 12px rgba(245,199,87,.3);background:linear-gradient(153deg,#30270b,#0b2830 75%)}
.practical-overview .ticket-card.ready .ticket-stage{background:linear-gradient(125deg,#ffe69d,#cb941d);color:#171b20;border:1px solid #ffefb5;box-shadow:0 0 9px rgba(255,208,106,.29);font-weight:900}
/* A single highlighted main detail viewport, switched by tabs. Existing WIDE engine untouched. */
.edge-active-detail{border:1px solid #cba553;border-radius:12px;padding:12px 12px 13px;margin-top:14px;background:linear-gradient(150deg,rgba(13,58,52,.36),rgba(3,19,29,.94));box-shadow:0 0 15px rgba(249,199,72,.18);scroll-margin-top:16px}
.edge-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:9px;flex-wrap:wrap;margin:0 2px 11px}
.edge-detail-kicker{color:#e8c66a;font-size:11px;font-weight:850;letter-spacing:.12em}
.edge-detail-head h3{margin:2px 0 0;font-size:clamp(20px,2vw,26px);color:#ffe8a4;font-weight:950}
.edge-detail-race-text{color:#e1f3ed;font-size:14px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}
.edge-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.edge-detail-tabs button{min-width:0;min-height:45px;padding:7px 5px;color:#edf8f7;background:#092536;border:1px solid #51767a;border-radius:9px;font-size:16px;font-weight:850;cursor:pointer}
.edge-detail-tabs button.active{background:linear-gradient(125deg,#ffe496,#c79526);color:#15232b;border-color:#ffdc78;box-shadow:0 0 15px rgba(255,223,123,.31)}
.edge-detail-panel .pick-section{margin:0!important}
.edge-detail-panel .pick-card{margin:0;min-height:166px;border:1px solid #d6b15b;background:linear-gradient(120deg,#042d31,#071e2b 75%)}
.edge-detail-panel .pick-topline{gap:10px;min-width:0}
.edge-detail-panel #pick-status.status-pass{color:#241c08;background:linear-gradient(125deg,#fff6bc,#f7d26d 44%,#c99b28);border:2px solid #fff1b1;box-shadow:0 0 13px rgba(255,216,104,.4);font-size:19px;font-weight:950;letter-spacing:.04em;padding:5px 15px}
.edge-detail-panel .race-context{color:#ffe3a1;font-size:clamp(13px,1.1vw,17px);font-weight:850;line-height:1.45}
.edge-detail-panel .edge-role-name{font-size:clamp(16px,1.65vw,25px)}
.edge-detail-panel .edge-role-number{font-size:clamp(24px,2vw,31px)}
.edge-detail-panel .key-metrics .metric span{font-size:14px}
.edge-detail-panel .key-metrics .metric strong{font-size:22px}
.edge-detail-panel #pick-reason{color:#d2e9e6;line-height:1.5}
.edge-detail-panel .research-footnote{font-size:12px}
.edge-detail-panel .pick-section[hidden]{display:none!important}
.edge-detail-empty{padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:160px;text-align:center;background:#0a242b;border:1px solid rgba(212,172,85,.34);border-radius:9px}
.edge-detail-empty[hidden]{display:none!important}
.edge-detail-empty>span{font-size:15px;color:#d4e9e9}
.edge-detail-empty>strong{font-size:clamp(22px,2.5vw,31px);color:#fff0be}
.edge-detail-empty p{margin:0;color:#d5eced;font-size:14px;line-height:1.6}
.edge-detail-probability{font-size:14px;font-weight:750;padding:8px 13px;color:#eef9fa;background:#154044;border:1px solid #78b3b5;border-radius:7px;min-height:39px}
/* Shadow is a clearly secondary, compact research-only row. No bright main-card glow. */
.ticket-overview-group .shadow-summary{margin-top:16px;padding-top:13px;border-top:1px solid rgba(151,185,190,.35)}
.shadow-summary-head{margin-bottom:8px}
.shadow-summary-head h3{font-size:clamp(17px,1.7vw,20px);font-weight:850;color:#bfe5e5}
.shadow-summary-head h3 small,.shadow-summary-head p{font-size:12px;color:#b4d2d5}
.ticket-overview-group .shadow-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.ticket-overview-group .shadow-overview>.ticket-card{display:grid;grid-template-columns:1fr;gap:3px;min-width:0;min-height:118px;padding:9px!important;border:1px solid #51757d;border-radius:9px;background:#09222d;box-shadow:none;opacity:.92;text-align:left}
.shadow-overview .tile-head{gap:4px}
.shadow-overview .ticket-label{font-size:14px;color:#d4e9e8;white-space:normal}
.shadow-overview .ticket-stage{font-size:11px;padding:2px 5px;font-weight:750;background:#223b43;border-color:#496971;color:#dce9ed;white-space:nowrap}
.shadow-overview .edge-card-race{font-size:11px;color:#a9c9c7;padding:2px 0}
.shadow-overview .tile-pick{display:flex;align-items:center;gap:6px;min-height:26px;margin:0}
.shadow-overview .tile-horse-num{font-size:20px;width:29px;height:29px;line-height:29px}
.shadow-overview .tile-horse-name{font-size:14px;overflow-wrap:anywhere}
.shadow-overview .tile-pair{font-size:19px;line-height:1.2}
.shadow-overview .tile-reason{font-size:11px;line-height:1.35;color:#b1cbd0;min-height:0}
.shadow-overview .tile-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px;margin:0}
.shadow-overview .tile-footer small{font-size:10px}
.shadow-overview .tile-footer strong{font-size:14px!important;line-height:1.2;overflow-wrap:anywhere}
.shadow-overview .tile-details{min-height:26px;padding:3px 7px;font-size:11px;border-radius:6px}
.shadow-overview .ticket-card.place-shadow-card{border-color:#2c8d71;background:linear-gradient(130deg,#092d2b,#092129);box-shadow:none}
.shadow-overview .ticket-card.wide-shadow-card{border-color:#b3994e;background:linear-gradient(140deg,#262615,#0c2127 80%);box-shadow:none}
.shadow-overview .ticket-card.wide-shadow-card .ticket-label{color:#ffe0a3}
.shadow-overview .ticket-card.wide-shadow-card .ticket-stage{background:#6a5416;border-color:#ae913f;color:#fff0c1}
.shadow-overview .ticket-card.pending .tile-pair{color:#d8ebeb}
@media(max-width:1260px){
 .ticket-overview-group .practical-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ticket-overview-group .shadow-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .edge-race-identity{align-items:flex-start}
}
@media(max-width:760px){
 .ticket-overview-group{padding:9px!important}
 .ticket-group-heading.enhanced h2{font-size:21px}
 .edge-race-identity{display:grid;grid-template-columns:1fr;gap:9px;padding:12px}
 .edge-race-identity-main{gap:6px 10px}
 .edge-race-venue{font-size:25px}
 .edge-race-name{width:100%;font-size:16px}
 .edge-race-identity-side{align-items:flex-start;flex-direction:row;gap:11px;flex-wrap:wrap}
 #edge-race-time{font-size:21px}
 .ticket-overview-group .practical-overview{grid-template-columns:1fr;gap:8px}
 .ticket-overview-group .practical-overview>.ticket-card{min-height:140px;padding:10px!important;gap:4px}
 .practical-overview .tile-pick{min-height:34px;margin:0}
 .practical-overview .tile-horse-num{width:37px;height:37px;line-height:37px;font-size:24px}
 .practical-overview .tile-pair{font-size:28px}
 .practical-overview .tile-reason{min-height:0}
 .practical-overview .tile-footer strong{font-size:17px}
 .practical-overview .tile-details{min-height:34px;font-size:13px}
 .edge-active-detail{padding:8px;scroll-margin-top:10px}
 .edge-detail-head{display:block}
 .edge-detail-race-text{display:block;margin-top:4px;font-size:13px}
 .edge-detail-tabs{gap:4px}
 .edge-detail-tabs button{font-size:13px;min-height:42px;padding:5px 2px}
 .edge-detail-panel .pick-card{padding:9px}
 .edge-detail-panel .race-context{font-size:13px}
 .edge-detail-panel #pick-status.status-pass{font-size:17px;padding:4px 9px}
 .edge-detail-panel .key-metrics .metric span{font-size:12px}
 .edge-detail-panel .key-metrics .metric strong{font-size:19px}
 .ticket-overview-group .shadow-overview{grid-template-columns:1fr;gap:5px}
 .ticket-overview-group .shadow-overview>.ticket-card{min-height:0;padding:8px!important;gap:2px}
 .shadow-overview .tile-footer{justify-content:flex-start;gap:12px}
 .shadow-overview .tile-details{margin-left:auto}
 .shadow-summary-head h3{font-size:18px}
}

.edge-race-provisional{font-size:11px;font-weight:850;border:1px solid #97753b;color:#ffe6b3;background:#463514;border-radius:5px;padding:3px 6px;white-space:nowrap}
.edge-race-provisional[hidden]{display:none!important}
/* Gold status is the primary selling signal: readable dark text on bright gold. */
.edge-detail-panel #pick-status.status-pass{color:#231904!important;font-size:20px!important;font-weight:950!important;text-shadow:none!important;letter-spacing:.035em!important}
@media(max-width:760px){.edge-detail-panel #pick-status.status-pass{font-size:18px!important}}


/* Ver0.4.39 complete UI finish: strong gold EDGE recommendation, tabbed single-detail view, restrained Shadow */
:root{--edge-gold-deep:#bf8720;--edge-gold-bright:#ffecae;--edge-gold-glow:rgba(255,213,92,.45)}
.ticket-overview-group{position:relative;overflow:hidden;border-width:1.5px!important;background:radial-gradient(circle at 16% 0%,rgba(255,213,102,.08),transparent 28%),linear-gradient(155deg,rgba(8,54,55,.56),rgba(3,18,30,.95));}
.ticket-group-heading.enhanced{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.ticket-group-heading.enhanced h2{margin:0;text-shadow:0 0 18px rgba(255,216,117,.12)}
.ticket-group-heading.enhanced p{margin:0;max-width:980px}
.edge-race-identity{margin-top:10px;margin-bottom:16px;border-color:rgba(255,214,115,.82);background:radial-gradient(circle at 14% 0%,rgba(255,220,138,.09),transparent 25%),linear-gradient(96deg,#0b4041,#0d2f36 55%,#312a12);}
.ticket-overview-group .practical-overview{margin-top:2px;margin-bottom:14px}
.practical-overview .ticket-card{position:relative;border:1px solid rgba(122,188,198,.52);background:linear-gradient(165deg,rgba(9,43,57,.92),rgba(7,25,36,.95));box-shadow:inset 0 0 18px rgba(35,98,99,.18)}
.practical-overview .ticket-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.practical-overview .ticket-card.selected-card{outline:none;border-color:#ffd878;box-shadow:0 0 0 2px rgba(255,216,120,.65),0 0 24px rgba(255,210,102,.22),inset 0 0 16px rgba(255,215,120,.08)}
.practical-overview .ticket-card.pending{opacity:1}
.practical-overview .ticket-card.pending .tile-horse-name,.practical-overview .ticket-card.pending .tile-pair{color:#e9f5f4}
.practical-overview .ticket-card.wide-card{background:radial-gradient(circle at 86% 18%,rgba(255,225,125,.24),transparent 34%),linear-gradient(155deg,rgba(69,54,9,.95),rgba(7,37,47,.97) 68%);border:1.5px solid #efc85b;box-shadow:0 0 18px rgba(245,199,87,.22),inset 0 0 22px rgba(236,193,67,.09)}
.practical-overview .ticket-card.ready .ticket-stage,.practical-overview .ticket-card .ticket-stage.enabled{background:linear-gradient(180deg,#fff4bc 0%,#ffd86f 43%,#e0aa36 66%,#9d6b11 100%);color:#281b05!important;border:1px solid #ffe8a5;box-shadow:0 0 16px var(--edge-gold-glow),inset 0 1px 0 rgba(255,255,255,.7);text-shadow:none;font-weight:950;letter-spacing:.02em;padding:4px 10px;border-radius:999px}
.practical-overview .ticket-card .ticket-stage{border-radius:999px}
.practical-overview .tile-footer strong{font-size:22px;color:#ffffff}
.practical-overview .tile-footer small{font-weight:700;color:#c3dfdd}
.practical-overview .tile-details{border-radius:999px;border:1px solid rgba(121,184,193,.45);background:rgba(6,31,41,.5);font-weight:800}
.edge-detail-flow-note{margin:2px 0 10px;color:#d7ebe8;font-size:13px;line-height:1.55;padding:8px 12px;border:1px solid rgba(102,155,158,.32);background:rgba(7,28,37,.38);border-radius:10px}
.edge-active-detail{position:relative;padding-top:14px;border-color:#d4af57;background:radial-gradient(circle at 78% 12%,rgba(255,216,100,.11),transparent 28%),linear-gradient(150deg,rgba(13,58,52,.4),rgba(3,19,29,.98));box-shadow:0 0 20px rgba(249,199,72,.2),inset 0 0 24px rgba(219,176,74,.06)}
.edge-detail-head{margin-bottom:12px}
.edge-detail-kicker{display:inline-block;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,222,136,.52);background:rgba(66,52,15,.38);color:#f5d57e;font-size:11px}
.edge-detail-head h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.edge-detail-head h3::after{content:"EDGE推奨";display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:7px 14px;border-radius:999px;border:1px solid #ffe49d;background:linear-gradient(180deg,#fff6c7 0%,#ffde79 38%,#d79d2a 68%,#94600c 100%);box-shadow:0 0 18px rgba(255,214,100,.38),inset 0 1px 0 rgba(255,255,255,.72);color:#241803;font-size:16px;font-weight:950;letter-spacing:.03em;text-shadow:none}
.edge-detail-race-text{font-weight:800;color:#f3faf7}
.edge-detail-tabs{margin-bottom:12px}
.edge-detail-tabs button{border-radius:12px;background:linear-gradient(180deg,#0d2b39,#0a2230);font-size:17px;font-weight:900}
.edge-detail-tabs button.active{background:linear-gradient(180deg,#fff7c9 0%,#ffe07f 48%,#d8a033 72%,#9b680f 100%);color:#1e180b;box-shadow:0 0 18px rgba(255,220,116,.34)}
.edge-detail-panel .section-heading{background:rgba(9,37,43,.45);border:1px solid rgba(96,145,146,.32);padding:10px 12px;border-radius:10px;margin-bottom:10px}
.edge-detail-panel #pick-status.status-pass,.edge-detail-panel #pick-status{border-radius:999px}
.edge-detail-panel #pick-status.status-pass{background:linear-gradient(180deg,#fff8cf 0%,#ffe17f 42%,#d9a032 72%,#965f0d 100%)!important;border:1px solid #ffe6a0!important;box-shadow:0 0 22px rgba(255,214,102,.46),inset 0 1px 0 rgba(255,255,255,.76)!important;color:#231904!important;padding:7px 16px!important;font-size:20px!important}
.edge-detail-panel .pick-card{border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,225,141,.18),inset 0 0 22px rgba(26,103,104,.12)}
.edge-detail-panel .key-metrics .metric{padding:10px 8px}
.edge-detail-panel .pick-actions .primary-action{background:linear-gradient(180deg,#2ddbb0,#21a587);border-color:#7bf2d8;color:#ffffff;font-weight:900}
.edge-detail-panel .pick-actions .secondary-action{border-radius:10px;font-weight:900}
.ticket-overview-group .shadow-summary{margin-top:18px;padding-top:14px;position:relative}
.ticket-overview-group .shadow-summary::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(124,174,182,.48),transparent)}
.shadow-summary-head h3{display:flex;align-items:center;gap:8px}
.ticket-overview-group .shadow-overview>.ticket-card{background:linear-gradient(180deg,rgba(7,31,41,.82),rgba(6,25,34,.9));border-color:rgba(90,124,131,.58);opacity:.86}
.shadow-overview .ticket-label{font-size:13px;color:#cfe4e6}
.shadow-overview .tile-footer strong{color:#f2fbfb}
.shadow-overview .ticket-card.place-shadow-card{border-color:rgba(57,132,107,.72)}
.shadow-overview .ticket-card.wide-shadow-card{border-color:rgba(167,145,79,.72);background:linear-gradient(180deg,rgba(39,34,18,.72),rgba(7,24,32,.92))}
@media (min-width:761px){.edge-active-detail{order:3}.shadow-summary{order:4}}
@media(max-width:760px){.ticket-group-heading.enhanced{display:block}.edge-detail-head h3::after{font-size:14px;min-width:98px;padding:6px 12px}.edge-detail-flow-note{font-size:12px;padding:7px 10px}.edge-detail-tabs button{font-size:14px}.practical-overview .ticket-card{min-height:148px}.practical-overview .ticket-stage{padding:4px 8px}.shadow-overview .ticket-card{opacity:.9}}


/* Ver0.4.41 UI 完全版 tuning */
:root{
  --edge-red:#ff4b63;
  --edge-red-deep:#6e1022;
  --edge-green:#31d17c;
  --edge-green-deep:#0f4d34;
  --edge-blue:#47a4ff;
  --edge-blue-deep:#0d3768;
  --edge-yellow:#ffd54f;
  --edge-yellow-deep:#6e5611;
  --edge-gold-1:#fff6c7;
  --edge-gold-2:#ffe07f;
  --edge-gold-3:#d79d2a;
  --edge-gold-4:#94600c;
  --edge-gold-text:#fff0ae;
}
.ticket-group-heading.enhanced h2{font-size:clamp(30px,3vw,44px);font-weight:950;letter-spacing:.01em;color:#f4d97e;text-shadow:0 0 18px rgba(247,207,84,.16)}
.ticket-group-heading.enhanced h2 small{font-size:.68em;color:#fff5d0;font-weight:900}
.ticket-group-heading.enhanced p{font-size:17px;line-height:1.65;color:#d8efee}
.edge-race-identity{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:14px 0 16px;padding:12px 16px;border-radius:14px;border:1px solid rgba(244,204,93,.45);background:linear-gradient(135deg,rgba(8,45,48,.92),rgba(4,20,29,.96));box-shadow:inset 0 0 18px rgba(247,205,84,.07)}
.edge-race-identity-main,.edge-race-identity-side{display:flex;flex-direction:column;gap:4px}
.edge-race-date{font-size:15px;color:#d9e9ea;font-weight:800}
.edge-race-venue{font-size:30px;line-height:1.1;color:#fff5cd;font-weight:950}
.edge-race-name{font-size:18px;color:#f1f6f7;font-weight:850}
.edge-race-identity-side span{font-size:16px;color:#cae0e2;font-weight:800;text-align:right}
.edge-race-identity-side strong{font-size:22px;color:#ffe18b;font-weight:950;text-align:right}
.ticket-overview-group .practical-overview>.ticket-card{border-radius:18px;padding:16px 16px 14px!important;gap:8px;min-height:226px}
.practical-overview .ticket-card{border:1.5px solid rgba(122,188,198,.46);background:linear-gradient(165deg,#0b3140,#081b27);box-shadow:inset 0 0 18px rgba(35,98,99,.12)}
.practical-overview .ticket-card .ticket-label{font-size:18px;font-weight:950;letter-spacing:.02em}
.practical-overview .ticket-card .ticket-stage{font-size:15px}
.practical-overview .edge-card-race{font-size:14px;color:#cce2e4;font-weight:800;min-height:20px}
.practical-overview .tile-pick{margin-top:2px}
.practical-overview .tile-horse-num,.practical-overview .tile-pair{font-size:24px;font-weight:950}
.practical-overview .tile-horse-name{font-size:18px;font-weight:900}
.practical-overview .tile-reason{font-size:16px;line-height:1.45;color:#e8f5f4;min-height:44px}
.practical-overview .tile-footer small{font-size:15px;font-weight:800;color:#d8eceb}
.practical-overview .tile-footer strong{display:block;font-size:18px;line-height:1.2;color:#fff;font-weight:950}
.practical-overview .tile-details{font-size:16px;font-weight:900}
.practical-overview [data-open-ticket="単勝"]{background:radial-gradient(circle at 85% 15%,rgba(255,95,123,.22),transparent 34%),linear-gradient(160deg,rgba(87,14,31,.98),rgba(9,27,39,.98) 72%);border-color:rgba(255,98,125,.70);box-shadow:0 0 20px rgba(255,73,106,.14),inset 0 0 18px rgba(255,111,136,.08)}
.practical-overview [data-open-ticket="複勝"]{background:radial-gradient(circle at 85% 15%,rgba(67,214,128,.20),transparent 34%),linear-gradient(160deg,rgba(8,77,47,.98),rgba(7,29,35,.98) 72%);border-color:rgba(64,205,120,.70);box-shadow:0 0 20px rgba(50,209,124,.14),inset 0 0 18px rgba(76,215,132,.08)}
.practical-overview [data-open-ticket="馬連"]{background:radial-gradient(circle at 85% 15%,rgba(93,169,255,.20),transparent 34%),linear-gradient(160deg,rgba(10,56,105,.98),rgba(7,26,37,.98) 72%);border-color:rgba(84,165,255,.70);box-shadow:0 0 20px rgba(71,164,255,.14),inset 0 0 18px rgba(104,183,255,.08)}
.practical-overview [data-open-ticket="ワイド"]{background:radial-gradient(circle at 86% 18%,rgba(255,225,125,.24),transparent 34%),linear-gradient(155deg,rgba(84,66,10,.98),rgba(7,37,47,.97) 68%);border-color:#efc85b;box-shadow:0 0 22px rgba(245,199,87,.20),inset 0 0 22px rgba(236,193,67,.10)}
.practical-overview [data-open-ticket="単勝"] .ticket-label{color:#ffd7df}
.practical-overview [data-open-ticket="複勝"] .ticket-label{color:#d4ffe6}
.practical-overview [data-open-ticket="馬連"] .ticket-label{color:#dceeff}
.practical-overview [data-open-ticket="ワイド"] .ticket-label{color:#fff1b6}
.practical-overview [data-open-ticket="単勝"] .ticket-stage.enabled{background:linear-gradient(180deg,#ffdce3 0%,#ff7691 38%,#d43657 68%,#7e142a 100%);color:#fff7fb;border-color:#ffc1cf;box-shadow:0 0 16px rgba(255,102,133,.30)}
.practical-overview [data-open-ticket="複勝"] .ticket-stage.enabled{background:linear-gradient(180deg,#e7ffef 0%,#73e3a0 40%,#2aac65 68%,#0f5b35 100%);color:#082b18;border-color:#c6f8d8;box-shadow:0 0 16px rgba(63,214,128,.28)}
.practical-overview [data-open-ticket="馬連"] .ticket-stage.enabled{background:linear-gradient(180deg,#eef7ff 0%,#7ac0ff 40%,#2e87e1 68%,#10477e 100%);color:#08233f;border-color:#cbe5ff;box-shadow:0 0 16px rgba(71,164,255,.28)}
.practical-overview [data-open-ticket="ワイド"] .ticket-stage.enabled{background:linear-gradient(180deg,var(--edge-gold-1) 0%,var(--edge-gold-2) 40%,var(--edge-gold-3) 68%,var(--edge-gold-4) 100%);color:#281b05;border-color:#ffe8a5;box-shadow:0 0 16px rgba(255,210,102,.30)}
.practical-overview .ticket-card.selected-card{transform:translateY(-1px)}
.edge-detail-head{align-items:flex-start;padding:2px 2px 0}
.edge-detail-kicker{display:inline-block;margin-bottom:7px;font-size:13px;font-weight:900;color:#f0d77c;letter-spacing:.12em;text-transform:uppercase}
.edge-detail-head h3{font-size:clamp(25px,2.4vw,34px);font-weight:950;color:#fff2bc}
.edge-detail-head h3::after{content:"EDGE推奨";min-width:178px;padding:10px 22px;border-radius:999px;border:2px solid #ffe49d;background:linear-gradient(180deg,var(--edge-gold-1) 0%,var(--edge-gold-2) 38%,var(--edge-gold-3) 68%,var(--edge-gold-4) 100%);box-shadow:0 0 24px rgba(255,214,100,.42),inset 0 1px 0 rgba(255,255,255,.74),0 0 60px rgba(255,223,118,.20);color:#241803;font-size:24px;font-weight:950;letter-spacing:.05em;text-shadow:none}
.edge-detail-race-text{font-size:18px;font-weight:900;color:#f5f4e8}
.edge-detail-flow-note{padding:10px 14px;border-radius:12px;border:1px solid rgba(242,206,95,.28);background:rgba(8,33,41,.72);font-size:14px;color:#d6eaeb}
.edge-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.edge-detail-tabs button{border-radius:14px;min-height:54px;padding:10px 10px;font-size:20px;font-weight:950;color:#f3f7f7;background:linear-gradient(180deg,#0d2b39,#0a2230);border:1px solid rgba(110,150,159,.68)}
.edge-detail-tabs button[data-edge-detail-ticket="単勝"]{border-color:rgba(255,91,120,.58);color:#ffd5de}
.edge-detail-tabs button[data-edge-detail-ticket="複勝"]{border-color:rgba(73,208,128,.58);color:#d7ffe6}
.edge-detail-tabs button[data-edge-detail-ticket="馬連"]{border-color:rgba(96,170,255,.58);color:#daecff}
.edge-detail-tabs button[data-edge-detail-ticket="ワイド"]{border-color:rgba(241,201,90,.78);color:#fff0b2}
.edge-detail-tabs button.active[data-edge-detail-ticket="単勝"]{background:linear-gradient(180deg,#ffe1e8 0%,#ff7b95 45%,#d63f60 73%,#84172d 100%);color:#2b0d14}
.edge-detail-tabs button.active[data-edge-detail-ticket="複勝"]{background:linear-gradient(180deg,#edfff3 0%,#7ce5a7 45%,#31b76c 73%,#0f5c36 100%);color:#0c2618}
.edge-detail-tabs button.active[data-edge-detail-ticket="馬連"]{background:linear-gradient(180deg,#eff7ff 0%,#83c4ff 45%,#318de8 73%,#104980 100%);color:#0c2138}
.edge-detail-tabs button.active[data-edge-detail-ticket="ワイド"]{background:linear-gradient(180deg,var(--edge-gold-1) 0%,var(--edge-gold-2) 48%,var(--edge-gold-3) 72%,var(--edge-gold-4) 100%);color:#1e180b;box-shadow:0 0 18px rgba(255,220,116,.34)}
.edge-active-detail .pick-section{border-radius:18px;border:2px solid rgba(245,199,87,.70);background:radial-gradient(circle at 82% 12%,rgba(255,218,121,.12),transparent 30%),linear-gradient(160deg,rgba(12,57,55,.96),rgba(5,24,32,.98));box-shadow:0 0 24px rgba(240,196,88,.18),inset 0 0 0 1px rgba(255,236,171,.06)}
.pick-section .section-heading{font-size:18px;color:#fff4c3;font-weight:900;border-bottom:1px solid rgba(255,214,108,.22)}
.pick-section .section-sub{color:#d6e9ea;font-size:14px}
.pick-card{padding:18px 18px 16px;border-radius:16px}
.pick-topline .kind-chip{font-size:20px;font-weight:950;border-radius:12px;padding:6px 12px}
.pick-topline .status-chip{font-size:18px;font-weight:950;padding:8px 18px;border-radius:999px}
.pick-topline .status-chip.status-wait,.pick-topline .status-chip.status-ready,.pick-topline .status-chip:not(.status-off){background:linear-gradient(180deg,var(--edge-gold-1) 0%,var(--edge-gold-2) 38%,var(--edge-gold-3) 68%,var(--edge-gold-4) 100%);color:#2a1d05;border:1px solid #ffe7a0;box-shadow:0 0 16px rgba(255,214,100,.28)}
.race-context{font-size:25px;font-weight:950;color:#f7f2d2}
.pair-view{font-size:50px;line-height:1.12}
.pair-names{font-size:22px;font-weight:900;color:#f3f8f8}
.key-metrics .metric span{font-size:17px;font-weight:800;color:#d7e7e8}
.key-metrics .metric strong{font-size:26px;font-weight:950;color:#ffffff}
.decision-note{font-size:18px;line-height:1.7;color:#deeeef;font-weight:700}
.primary-action,.secondary-action,.edge-detail-probability{font-size:18px;font-weight:950;min-height:54px;border-radius:14px}
.primary-action{background:linear-gradient(180deg,#74e7be,#39b88f);color:#0b3123}
.secondary-action{border-color:rgba(242,203,91,.60);color:#fff2ba}
.research-footnote{font-size:14px;line-height:1.6;color:#b8d0d3}
.ticket-overview-group .shadow-summary{margin-top:22px;padding-top:16px}
.shadow-summary-head h3{font-size:27px;font-weight:900;color:#d8e9ea}
.shadow-summary-head h3 small{font-size:16px;color:#a7c0c2;font-weight:700}
.shadow-summary-head p{font-size:15px;line-height:1.6;color:#a3bfc2}
.ticket-overview-group .shadow-overview>.ticket-card{min-height:132px;padding:11px 12px!important;border-radius:12px;background:linear-gradient(180deg,rgba(7,31,41,.76),rgba(6,25,34,.88));border-color:rgba(90,124,131,.46);opacity:.80;box-shadow:none}
.shadow-overview .ticket-label{font-size:15px;font-weight:900}
.shadow-overview .ticket-stage{font-size:12px}
.shadow-overview .edge-card-race{font-size:12px;color:#afc7cb}
.shadow-overview .tile-pick{margin-top:1px}
.shadow-overview .tile-horse-num,.shadow-overview .tile-pair{font-size:18px;font-weight:900}
.shadow-overview .tile-horse-name{font-size:16px;font-weight:850}
.shadow-overview .tile-reason{font-size:14px;line-height:1.5;color:#c8dcde}
.shadow-overview .tile-footer small{font-size:13px;color:#b8cdcf}
.shadow-overview .tile-footer strong{font-size:15px;font-weight:900;color:#f0f6f6}
.shadow-overview .tile-details{font-size:14px;font-weight:850}
.shadow-overview .place-shadow-card{border-color:rgba(57,132,107,.55)}
.shadow-overview .wide-shadow-card{border-color:rgba(167,145,79,.55)}
@media (max-width:980px){
 .edge-race-identity{display:block}
 .edge-race-identity-side{margin-top:10px}
 .edge-race-identity-side span,.edge-race-identity-side strong{text-align:left}
 .edge-race-venue{font-size:24px}
 .ticket-overview-group .practical-overview>.ticket-card{min-height:205px}
 .edge-detail-head h3::after{font-size:18px;min-width:136px;padding:8px 16px}
 .edge-detail-tabs button{font-size:17px;min-height:50px}
 .race-context{font-size:22px}
 .pair-view{font-size:42px}
 .pair-names{font-size:20px}
}
@media (max-width:760px){
 .ticket-group-heading.enhanced h2{font-size:24px}
 .ticket-group-heading.enhanced p{font-size:14px}
 .edge-race-identity{padding:10px 12px;margin:10px 0 14px}
 .edge-race-date{font-size:13px}
 .edge-race-venue{font-size:20px}
 .edge-race-name{font-size:15px}
 .edge-race-identity-side span{font-size:13px}.edge-race-identity-side strong{font-size:17px}
 .ticket-overview-group .practical-overview>.ticket-card{min-height:166px;padding:12px!important}
 .practical-overview .ticket-card .ticket-label{font-size:16px}
 .practical-overview .ticket-card .ticket-stage{font-size:13px}
 .practical-overview .tile-horse-num,.practical-overview .tile-pair{font-size:20px}
 .practical-overview .tile-horse-name{font-size:16px}
 .practical-overview .tile-reason{font-size:14px;min-height:0}
 .practical-overview .tile-details,.practical-overview .tile-footer small,.practical-overview .tile-footer strong{font-size:14px}
 .edge-detail-head h3{font-size:23px}
 .edge-detail-head h3::after{display:inline-flex;font-size:16px;min-width:116px;padding:7px 12px}
 .edge-detail-race-text{font-size:14px}
 .edge-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .edge-detail-tabs button{font-size:15px;min-height:46px;padding:8px 6px}
 .pick-section .section-heading{font-size:15px}
 .pick-topline .kind-chip{font-size:16px}
 .pick-topline .status-chip{font-size:15px;padding:6px 12px}
 .race-context{font-size:18px}
 .pair-view{font-size:32px}
 .pair-names{font-size:17px}
 .key-metrics .metric span{font-size:13px}
 .key-metrics .metric strong{font-size:20px}
 .decision-note{font-size:14px}
 .primary-action,.secondary-action,.edge-detail-probability{font-size:15px;min-height:46px}
 .shadow-summary-head h3{font-size:21px}
 .shadow-summary-head h3 small,.shadow-summary-head p{font-size:13px}
 .ticket-overview-group .shadow-overview>.ticket-card{min-height:auto;padding:9px 10px!important}
 .shadow-overview .ticket-label{font-size:14px}
 .shadow-overview .tile-horse-num,.shadow-overview .tile-pair{font-size:17px}
 .shadow-overview .tile-horse-name{font-size:15px}
 .shadow-overview .tile-reason,.shadow-overview .tile-footer small,.shadow-overview .tile-footer strong,.shadow-overview .tile-details{font-size:13px}
}

/* Ver0.4.44: 控えめなShadow4券種カラー。判定や買い目の計算は変更しない。 */
.ticket-overview-group .shadow-overview .shadow-win-card{--shadow-accent:#ed6779;--shadow-soft:rgba(237,103,121,.09);--shadow-dark:#4b1e2a}
.ticket-overview-group .shadow-overview .place-shadow-card{--shadow-accent:#47ce91;--shadow-soft:rgba(71,206,145,.09);--shadow-dark:#164636}
.ticket-overview-group .shadow-overview .shadow-quin-card{--shadow-accent:#6aaaff;--shadow-soft:rgba(106,170,255,.09);--shadow-dark:#183959}
.ticket-overview-group .shadow-overview .wide-shadow-card{--shadow-accent:#ebc660;--shadow-soft:rgba(235,198,96,.09);--shadow-dark:#4e421f}
.ticket-overview-group .shadow-overview>.ticket-card{background:linear-gradient(145deg,var(--shadow-soft,rgba(10,38,48,.08)),rgba(6,25,35,.92) 85%)!important;border:1px solid var(--shadow-accent,#638991)!important;box-shadow:inset 0 0 8px var(--shadow-soft,rgba(10,38,48,.05))!important;opacity:.90}
.ticket-overview-group .shadow-overview .ticket-label{color:var(--shadow-accent,#e5f3f2)!important;font-weight:900}
.ticket-overview-group .shadow-overview .ticket-stage{border-color:var(--shadow-accent,#638991)!important;background:var(--shadow-dark,#243d45)!important;color:#fff8ed!important;box-shadow:none!important}
.ticket-overview-group .shadow-overview .tile-details{border-color:var(--shadow-accent,#638991)!important;background:rgba(6,26,34,.66)!important;color:#edf6f5!important}
.ticket-overview-group .shadow-overview .tile-reason{font-size:13px;line-height:1.4}
.ticket-overview-group .shadow-overview .edge-card-race{font-size:12px}
.ticket-overview-group .shadow-overview .tile-footer strong{font-size:14px!important}
@media(max-width:560px){.ticket-overview-group .shadow-overview>.ticket-card{padding:9px 10px!important}.ticket-overview-group .shadow-overview .tile-reason{font-size:12px}}
