:root{color-scheme:dark;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;background:#0a1220;color:#e8eef8;line-height:1.65}*{box-sizing:border-box}body{margin:0}main{max-width:1440px;margin:auto;padding:24px}header{margin-bottom:20px}h1{font-size:clamp(1.5rem,4vw,2rem);margin:4px 0 16px}h2{font-size:1.2rem;margin:0}h3{font-size:1rem}.eyebrow{color:#7dd3fc;font-size:.875rem;letter-spacing:.06em;margin:0}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{padding:10px 20px;background:#17283d;color:#dce9fa;border:1px solid #34455f;border-radius:10px;text-decoration:none;font-weight:700}nav a[aria-current=page]{background:#075985;border-color:#38bdf8;color:#fff}.panel{background:#121f32;border:1px solid #2b3b53;border-radius:14px;padding:20px;margin-bottom:18px}.controls{display:flex;flex-wrap:wrap;gap:14px;align-items:end}label{display:flex;flex-direction:column;gap:6px;font-size:.875rem}input,select,button{font:inherit;font-size:1rem;min-height:44px;border:1px solid #455771;border-radius:8px;padding:8px 12px;background:#0c192b;color:#f4f7ff;max-width:100%}button{cursor:pointer;background:#0369a1;border-color:#38bdf8;font-weight:650}button:disabled{opacity:.6;cursor:wait}button.secondary{background:#1a2e47;border-color:#526780}.muted{color:#a7b8cd;font-size:.875rem}.section-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}#status{margin-bottom:0}#coverage{color:#7dd3fc}.picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pick{padding:16px;background:#192e46;border:1px solid #355979;border-radius:10px}.pick strong{display:block;color:#8ee4ff;font-size:1.4rem;margin:4px 0}.pick small{font-size:.875rem;color:#bdcde0}.scroll{overflow:auto;border-radius:8px}table{border-collapse:collapse;min-width:800px;width:100%;font-size:.875rem}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #2a3b54;vertical-align:top}th{background:#1b2e46;color:#b9d8ef;white-space:nowrap}td:nth-child(2){min-width:170px}td:last-child{min-width:230px}tbody tr:first-child td{background:#122b3d}td strong{color:#8ee4ff;font-size:1.1rem}details summary{cursor:pointer;font-weight:700;min-height:28px}details p{max-width:1000px}#history p{border-bottom:1px solid #2a3b54;padding:10px 0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7dd3fc;outline-offset:3px}@media(max-width:640px){main{padding:12px}.panel{padding:14px}nav a{flex:1;text-align:center;padding:10px 8px;font-size:.875rem}.controls label{flex:1;min-width:100px}.controls label:first-child{min-width:155px}.controls button{width:100%}.picks{grid-template-columns:1fr}.pick{padding:12px}.pick strong{font-size:1.25rem}th,td{padding:10px}input[type=date]{min-width:0;width:100%}}
.page-tabs{display:flex;gap:8px;margin:0 0 18px}.page-tabs button{flex:1;background:#17283d;border-color:#34455f}.page-tabs button[aria-selected="true"]{background:#075985;border-color:#38bdf8}.screen{display:none}.screen.active{display:block}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.summary-card{padding:16px;border-radius:12px;background:#17283d;border:1px solid #35506f;display:flex;flex-direction:column;gap:4px}.summary-card span{font-size:.8rem;color:#9fb1c8;font-weight:700}.summary-card strong{font-size:1.35rem;color:#fff}.summary-card small{color:#b9c9dc}.summary-card.axis{border-color:#d2a74c}.summary-card.value{border-color:#35b77d}.summary-card.risk{border-color:#d75b68}.summary-card.confidence{border-color:#6ea8ff}.insight-box{margin-top:12px;padding:12px 14px;border-radius:10px;background:#0e1a2b;border:1px solid #2f4968;color:#c8d7e9}.x-live{margin-top:12px;padding:18px;border-radius:12px;background:#0e1a2b;border:1px solid #35506f}.x-live strong{display:block;font-size:1.35rem;color:#f4d35e;margin:5px 0}.x-live small{display:block;color:#b9c9dc}@media(max-width:850px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.summary-grid{grid-template-columns:1fr}.page-tabs{overflow:auto}.page-tabs button{min-width:120px}}

/* V45: 南関・地方も中央競馬と同じAI分析サマリー表示 */
.central-match{position:relative;border-radius:0!important;border-color:rgba(52,234,255,.46)!important;background:linear-gradient(145deg,rgba(4,20,46,.97),rgba(2,9,24,.99))!important;box-shadow:0 0 20px rgba(0,128,255,.12),inset 0 0 28px rgba(52,234,255,.025)!important}
.central-match::before,.ai-ranking::before{content:"";position:absolute;left:0;top:0;width:130px;height:2px;background:linear-gradient(90deg,#34eaff,transparent);box-shadow:0 0 12px #34eaff}
.ai-ranking{position:relative;border-radius:0!important;border-color:rgba(52,234,255,.46)!important;background:linear-gradient(145deg,rgba(4,20,46,.97),rgba(2,9,24,.99))!important}
.v29-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:3px 4px 12px;border-bottom:1px solid rgba(52,234,255,.18)}
.v29-title strong{font-size:21px;letter-spacing:.01em;color:#f0fbff}.v29-title em{font-style:normal;font-size:9px;color:#54dfff;letter-spacing:.13em;font-weight:900}
.v29-summary{display:grid;grid-template-columns:1.15fr repeat(4,1fr);gap:9px;margin-top:18px;width:100%}
.v29-gauge,.v29-stat{min-height:135px;border:1px solid rgba(73,181,255,.3);background:linear-gradient(180deg,rgba(6,27,58,.95),rgba(2,12,30,.98));display:flex;align-items:center;justify-content:center;text-align:center}
.v29-ring{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#34eaff calc(var(--pct)*1%),#12304c 0);box-shadow:0 0 22px rgba(52,234,255,.30)}
.v29-ring::before{content:"";position:absolute;width:82px;height:82px;border-radius:50%;background:#031329}.v29-ring>div{z-index:2}.v29-ring small{display:block;color:#bcecff;font-size:10px}.v29-ring b{display:block;font-size:30px;color:#f0fbff}
.v29-stat{flex-direction:column;padding:8px;gap:6px}.v29-stat .k{font-size:13px;font-weight:900;color:#f0fbff}.v29-stat .v{font-size:27px;font-weight:1000;line-height:1.15}.v29-stat .s{font-size:9px;color:#a8cbe2;line-height:1.35}
.v29-stat.gold{border-color:rgba(255,210,74,.55)}.v29-stat.gold .v{color:#ffd24a;text-shadow:0 0 15px rgba(255,210,74,.45)}.v29-stat.green{border-color:rgba(19,233,178,.5)}.v29-stat.green .v{color:#13e9b2}.v29-stat.red{border-color:rgba(255,61,99,.56)}.v29-stat.red .v{color:#ff3d63}.v29-stat.violet{border-color:rgba(160,68,255,.56)}.v29-stat.violet .v{color:#c175ff}
.central-match .insight-box{margin-top:12px;border-radius:0;background:#05162e;border-color:rgba(52,234,255,.23);color:#c8d7e9}
.local-race-head{margin-top:14px}.ai-ranking #raceTitle{font-size:1.05rem;color:#f0fbff}
@media(max-width:700px){.v29-title{align-items:flex-start}.v29-title strong{font-size:19px}.v29-title em{font-size:8px}.v29-summary{grid-template-columns:1fr 1fr;gap:8px}.v29-gauge{grid-column:1/-1;min-height:120px}.v29-stat{min-height:108px;padding:10px 7px}.v29-stat .v{font-size:25px}.v29-stat .s{font-size:10px}}
@media(max-width:390px){.v29-summary{grid-template-columns:1fr 1fr}.v29-gauge{grid-column:1/-1}}

/* v54: 3頭版 / 妙味馬追加4頭版 */
.pick-set-head{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:8px;padding:10px 12px;border:1px solid rgba(125,211,252,.28);border-radius:12px;background:rgba(12,38,62,.45)}
.pick-set-head strong{font-size:1rem}.pick-set-head small{opacity:.75}.pick-set-head.value-added{border-color:rgba(52,211,153,.35);background:rgba(16,64,56,.28)}
.pick.pick-value{border-color:rgba(52,211,153,.35)}
#boxCompareTotals td:nth-child(2){white-space:nowrap;font-weight:700}
#boxCompareTotals td:last-child{white-space:nowrap}

/* v55: X / note conditional auto publishing */
.publish-panel{border:1px solid rgba(56,189,248,.35);background:linear-gradient(180deg,rgba(8,47,73,.42),rgba(15,23,42,.8))}.publish-panel .section-head{align-items:center}.publish-toggle{display:flex;gap:8px;align-items:center;font-weight:800}.publish-preview{white-space:pre-wrap;padding:14px;border-radius:12px;background:rgba(2,6,23,.72);border:1px solid rgba(148,163,184,.25);line-height:1.7;margin:10px 0 14px}.publish-preview.paid{border-color:rgba(250,204,21,.5)}.publish-preview.free{border-color:rgba(34,197,94,.45)}
