:root{
  --ink:#183129;--muted:#66756f;--green:#174b38;--green-deep:#103b2c;
  --gold:#bd9141;--line:#dce5df;--paper:#f4f7f4;--white:#fff;--red:#a33d39;
  --male:#e9f6ff;--male-line:#8bc5e8;--male-ink:#17638d;
  --female:#fff0f5;--female-line:#eba6bd;--female-ink:#a44568;
  --shadow:0 10px 30px rgba(27,62,48,.07);--radius:14px;
  font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;color:var(--ink);
  background:var(--paper);font-size:16px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-width:0;background:radial-gradient(circle at 50% -20%,#fff 0,#f4f7f4 48%,#eef3ef 100%);min-height:100vh}
header,footer{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 30px}
header{position:relative;border-bottom:1px solid var(--line);background:rgba(244,247,244,.9)}
.brand{font-size:28px;color:var(--green);text-decoration:none;display:flex;gap:11px;align-items:center}
.brand span{font-size:19px;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:.25em;margin-top:2px}
.edition,footer,.quiet{color:var(--muted);font-size:13px}
main{max-width:1180px;margin:auto;padding:30px;min-height:76vh}
h1{font-family:Georgia,'Yu Mincho',serif;font-size:44px;line-height:1.45;font-weight:600;margin:12px 0}
h1 em{font-style:normal;color:var(--green)}h2{font-size:25px;line-height:1.4;margin:7px 0 18px}h3{font-size:18px;line-height:1.45}
p{line-height:1.8}.eyebrow{font-size:11px;letter-spacing:.18em;color:#876a35;font-weight:800;margin-bottom:5px}.lead-copy{font-size:15px;color:var(--muted);margin:-8px 0 24px}
.welcome{max-width:680px;padding:34px 0 62px}.welcome form{margin:34px 0 0}.start-main-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,260px);gap:14px;align-items:end}.start-main-row label{min-width:0}.start-main-row button{width:100%;white-space:nowrap}.welcome>.quiet{margin-top:18px}.start-secondary-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:82px}.start-secondary-actions button{min-width:126px}
input,select{display:block;width:100%;min-height:48px;padding:13px 14px;border:1px solid #b9c9be;background:white;border-radius:9px;color:var(--ink);font:inherit;margin-top:8px}
button,.button{min-height:48px;font:inherit;font-weight:750;border:1px solid transparent;background:var(--green);color:white;border-radius:9px;padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.35;touch-action:manipulation;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}
@media(hover:hover){button:hover,.button:hover{filter:brightness(1.08);transform:translateY(-1px)}}
button:active,.button:active{transform:translateY(1px)}button:disabled{opacity:.43;cursor:not-allowed;transform:none}
button.secondary,.button.secondary{background:white;color:var(--green);border-color:#cbd9d0}button.subtle{background:transparent;color:var(--muted);padding:9px 13px;min-height:42px}button.danger{background:#913c37}button span{margin-left:14px}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d1a653;outline-offset:3px}
.toolbar,.actions,.row,.season-actions,.choice-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:26px}.toolbar h2,.toolbar p{margin-top:0;margin-bottom:3px}.actions{margin-top:22px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel,.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow)}.card{padding:19px;box-shadow:0 6px 18px rgba(27,62,48,.05)}.card h3{margin:8px 0}.card.selected{border:2px solid var(--green);box-shadow:0 0 0 4px rgba(23,75,56,.09),var(--shadow)}
.tag{font-size:12px;border-radius:999px;padding:4px 9px;background:#e8f0eb;display:inline-block}.tag.gold{background:#f4ead2;color:#725516}.muted{color:var(--muted)}
.statline{display:flex;justify-content:space-between;gap:12px;margin:12px 0}.statline b{font-variant-numeric:tabular-nums}.statbar,.fatigue{height:6px;background:#eaf0ec;border-radius:5px;overflow:hidden}.statbar i,.fatigue i{display:block;height:100%;background:var(--green)}.fatigue i{background:#c0904e}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:19px 0}.stats>div{min-width:0}.stats b{font-family:Georgia,serif;font-size:32px;line-height:1.25;display:block;font-variant-numeric:tabular-nums}.stats small{font-size:11px;color:var(--muted);white-space:nowrap}
.aptitudes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:19px 0}.aptitudes div{font-size:13px}.aptitudes b{display:block;margin-top:4px;font-size:17px}
.hero-panel{background:linear-gradient(145deg,var(--green),var(--green-deep));color:white;border:0;position:relative;overflow:hidden}.hero-panel:after{content:'✦';position:absolute;right:-12px;top:-47px;font-size:180px;color:rgba(255,255,255,.035);pointer-events:none}.hero-panel .muted,.hero-panel .stats small{color:#c4d5cc}.hero-panel .statbar{background:#476b5c}.hero-panel .statbar i{background:#d5b361}.hero-panel h1{font-size:34px}.hero-panel .tag{background:#e9f0eb;color:#17382c}.hero-panel .tag.gold{background:#f1e8cf;color:#795b19}
.season-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0 20px;background:#e9efeb;padding:5px;border-radius:10px}.season-strip span{text-align:center;padding:8px 10px;font-size:13px;border-radius:7px;color:var(--muted)}.season-strip .active{background:white;box-shadow:0 2px 8px #17382c12;color:var(--green);font-weight:800}
.choice-block{border:1px solid #c9d9cf;background:#f3f8f5;border-radius:12px;padding:15px;margin-top:20px}.choice-block.completed{background:#f6f7f6}.choice-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.choice-heading span{font-size:12px;color:var(--muted);background:white;border:1px solid var(--line);border-radius:999px;padding:4px 9px}.choice-buttons>*{flex:1}.season-actions{margin-top:12px}.season-actions>*{flex:1 1 120px}
.number{font-family:Georgia,serif;font-size:32px}.race-list{display:grid;gap:12px}.race-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.race-row h3{margin:8px 0}.race-row .forecast{font-size:23px;font-weight:bold}
.training-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(130px,2fr) 70px;gap:18px;align-items:center;margin:21px 0}.training-row input{margin:0}.training-row label small{display:block;line-height:1.5;margin-top:4px}
.table-wrap{overflow:auto;overscroll-behavior-x:contain;border-radius:10px;-webkit-overflow-scrolling:touch}.table-wrap:focus{outline:2px solid var(--gold)}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:14px}th,td{text-align:left;padding:14px 11px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted);font-weight:600;background:#fafcfb}.mine{background:#e8f3ec;font-weight:bold}
.result-title{text-align:center;padding:10px}.result-title h1{font-size:40px}.reveal{padding:23px;border-left:4px solid var(--gold);background:#fff;margin:14px 0;border-radius:0 12px 12px 0;box-shadow:var(--shadow)}
.sticky{position:sticky;z-index:5;bottom:calc(10px + env(safe-area-inset-bottom));padding:16px 20px;background:#102f25;color:white;box-shadow:0 12px 38px #0003;border-radius:12px;display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:24px}.sticky button{background:#d1a752;color:#14251d}.pair-summary{min-width:0;overflow-wrap:anywhere}.pair-summary b{color:#d9b968;padding:0 6px}
.inline-note{padding:13px 16px;background:#e8f1ea;border-radius:9px;font-size:14px}.warning{color:var(--red)}#notice{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:13px 20px;background:#172b25;color:white;border-radius:9px;display:none;z-index:20;max-width:calc(100vw - 28px);box-shadow:0 8px 30px #0004}.share-img{width:min(100%,400px);border-radius:10px}.empty{text-align:center;padding:40px}.compact{font-size:13px}.divider{border:0;border-top:1px solid var(--line);margin:23px 0}details{margin:12px 0}summary{cursor:pointer}.field{margin:20px 0}footer{border-top:1px solid var(--line)}
.global-controls{display:flex;justify-content:flex-end;margin:-13px 0 10px}.global-controls .subtle{border:1px solid var(--line);background:#fff}.parent-column{min-width:0}.parent-heading{display:flex;align-items:center;gap:11px;margin-bottom:12px}.parent-heading h3,.parent-heading p{margin:0}.sex-symbol{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:21px;font-weight:900}.sire-column .sex-symbol{color:var(--male-ink);background:var(--male);border:1px solid var(--male-line)}.dam-column .sex-symbol{color:var(--female-ink);background:var(--female);border:1px solid var(--female-line)}
.horse-card{position:relative;overflow:hidden}.horse-card:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:var(--sex-accent)}.horse-card.sex-male{--sex-accent:var(--male-line);background:linear-gradient(105deg,var(--male),#fff 32%)}.horse-card.sex-female{--sex-accent:var(--female-line);background:linear-gradient(105deg,var(--female),#fff 32%)}.horse-card.selected{border-color:var(--sex-accent)}.horse-card.sex-male.selected{box-shadow:0 0 0 4px rgba(139,197,232,.22),var(--shadow)}.horse-card.sex-female.selected{box-shadow:0 0 0 4px rgba(235,166,189,.22),var(--shadow)}.horse-card.sex-male .tag:first-child{background:#d8effc;color:var(--male-ink)}.horse-card.sex-female .tag:first-child{background:#fde0ea;color:var(--female-ink)}

@media(max-width:920px){
  header,footer{padding:20px 24px}main{padding:26px 24px}.grid{grid-template-columns:1fr}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.starter-grid{gap:30px}.welcome{padding-top:22px}.hero-panel h1{font-size:31px}
}
@media(max-width:640px){
  :root{font-size:15px}header{padding:14px 16px}.brand{font-size:24px;gap:8px}.brand span{font-size:17px}.brand small{font-size:8px}.edition{display:none}main{padding:18px 14px;min-height:78vh}footer{padding:18px 16px;align-items:flex-start;gap:10px;flex-direction:column}
  h1{font-size:32px;line-height:1.42}h2{font-size:22px;margin-bottom:15px}h3{font-size:17px}.welcome{padding:12px 0 38px}.welcome p br{display:none}.welcome form{margin:28px 0 0}.start-main-row{grid-template-columns:1fr;gap:13px}.start-main-row button{width:100%}.welcome>.quiet{margin-top:16px}.start-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px}.start-secondary-actions button{width:100%;min-width:0}
  .toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:18px}.toolbar>div:last-child{text-align:right}.toolbar h2{margin-bottom:0}.eyebrow{font-size:10px}.lead-copy{font-size:14px;margin-bottom:19px}
  .panel,.card{padding:16px;border-radius:12px}.grid,.three{grid-template-columns:1fr;gap:14px}.starter-grid{gap:26px}.card{padding:16px 16px 16px 19px}.parent-heading{margin-bottom:10px}
  .stats{gap:6px;margin:16px 0}.stats b{font-size:25px}.stats small{font-size:10px}.aptitudes{gap:9px;margin:16px 0}.aptitudes div{font-size:12px}.aptitudes b{font-size:16px}
  .hero-panel h1{font-size:28px}.season-strip{margin-bottom:14px}.season-strip span{padding:8px 4px}.choice-block{padding:13px;margin-top:16px}.choice-heading{align-items:flex-start}.choice-heading span{font-size:11px}.choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-buttons>*{width:100%}.season-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.season-actions>*{width:100%}.season-actions>*:last-child:nth-child(odd){grid-column:1/-1}
  .actions{display:grid;grid-template-columns:1fr;gap:9px}.actions button,.actions .button{width:100%}.race-row{grid-template-columns:1fr;gap:12px}.race-row button{width:100%}.race-row .compact{display:block;line-height:1.7}.sticky{bottom:calc(7px + env(safe-area-inset-bottom));padding:13px;flex-direction:column;align-items:stretch}.sticky button{width:100%}
  .training-row{grid-template-columns:minmax(0,1fr) 62px;gap:8px 10px;padding:12px 0;margin:0;border-bottom:1px solid var(--line)}.training-row label{grid-column:1/-1}.training-row input[type=range]{grid-column:1}.training-row input[type=number]{grid-column:2;padding:8px;min-height:44px}.training-row label small{font-size:11px}.table-wrap{margin-inline:-4px}table{min-width:600px}th,td{padding:12px 10px}.result-title h1{font-size:36px}.global-controls{margin:-7px 0 8px}.global-controls button{font-size:12px;min-height:38px}.share-img{display:block;margin:auto}
}
@media(max-width:370px){
  main{padding-inline:10px}.panel,.card{padding:14px}.stats{gap:4px}.stats b{font-size:22px}.stats small{font-size:9px}.aptitudes{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{grid-template-columns:1fr}.toolbar>div:last-child{text-align:left}.choice-buttons{grid-template-columns:1fr}.season-actions{grid-template-columns:1fr}.season-actions>*:last-child:nth-child(odd){grid-column:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,.button{transition:none}}

/* ウマサク！ pop theme */
:root{
  --ink:#243735;--muted:#667975;--green:#149978;--green-deep:#0c7a64;
  --gold:#ffd75e;--coral:#ff786b;--line:#d9ebe5;--paper:#fffaf1;--red:#dc4f59;
  --shadow:0 9px 24px rgba(23,105,84,.10);--radius:18px;
  font-family:'Hiragino Maru Gothic ProN','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif
}
body{background-color:var(--paper);background-image:radial-gradient(circle at 12px 12px,rgba(20,153,120,.055) 2px,transparent 2.5px),linear-gradient(180deg,#fffef9 0,#fff8eb 100%);background-size:28px 28px,100% 100%}
header{border-bottom:3px solid var(--gold);background:rgba(255,255,255,.92)}
.brand{color:var(--green-deep)}
.brand>span:not(.brand-icon){font-size:22px;font-weight:900;letter-spacing:.02em}
.brand small{font-size:12px;letter-spacing:.14em;margin-top:1px;color:#42a88e}
.brand-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--gold);color:var(--coral);font-size:28px;line-height:1;box-shadow:0 4px 0 #f2b932;transform:rotate(-3deg)}
h1{font-family:inherit;font-weight:900;letter-spacing:.03em}
h1 em{color:var(--coral);background:linear-gradient(transparent 72%,rgba(255,215,94,.7) 72%)}
h2{font-weight:900}
.eyebrow{font-size:12px;letter-spacing:.13em;color:#db6057;font-weight:900}
.lead-copy{font-size:16px}
input,select{min-height:50px;border:2px solid #bfe0d5;border-radius:14px}
button,.button{min-height:50px;font-weight:850;background:linear-gradient(135deg,#18a985,var(--green));border-radius:14px;box-shadow:0 4px 0 #08735c}
button:active,.button:active{transform:translateY(3px);box-shadow:0 1px 0 #08735c}
button:disabled{box-shadow:none}
button.secondary,.button.secondary{background:#fff;color:var(--green-deep);border:2px solid #bfe0d5;box-shadow:0 4px 0 #c5e4da}
button.subtle{background:#fff;box-shadow:none}
button.danger{background:var(--coral);box-shadow:0 4px 0 #ca5148}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--gold)}
.panel,.card{border:2px solid #e2eee9;border-radius:var(--radius);box-shadow:var(--shadow)}
.card{box-shadow:0 7px 18px rgba(23,105,84,.08)}
.card.selected{border:3px solid var(--green);box-shadow:0 0 0 5px rgba(20,153,120,.12),var(--shadow)}
.tag{padding:5px 10px;background:#ddf6ef;color:#08735c;font-weight:800}
.tag.gold{background:#fff0ab;color:#815d00}
.statbar,.fatigue{height:8px;border-radius:99px}
.statbar i,.fatigue i{background:linear-gradient(90deg,#20b993,#56d6b6)}
.fatigue i{background:linear-gradient(90deg,#ffd75e,#ff9f62)}
.stats b,.number{font-family:inherit;font-weight:900}
.stats small{font-size:12px}
.hero-panel{background:linear-gradient(145deg,#18a985,var(--green-deep));box-shadow:0 10px 0 rgba(8,115,92,.16)}
.hero-panel:after{content:'★';color:rgba(255,215,94,.14);transform:rotate(12deg)}
.hero-panel .muted,.hero-panel .stats small{color:#d8fff4}
.hero-panel .statbar{background:#55a994}.hero-panel .statbar i{background:var(--gold)}
.hero-panel .tag{background:#dffbf3;color:#08735c}.hero-panel .tag.gold{background:#fff0a8;color:#795b19}
.season-strip{background:#fff0bb;padding:6px;border-radius:16px}
.season-strip span{border-radius:11px;color:#806a30;font-weight:700}
.season-strip .active{background:var(--coral);box-shadow:0 3px 0 #d95850;color:#fff;font-weight:900}
.choice-block{border:2px solid #bce8dc;background:#edfbf7;border-radius:16px}
.result-title h1{font-weight:900}
.reveal{border-left:7px solid var(--gold);border-radius:0 16px 16px 0}
.sticky{background:var(--green-deep);border-radius:18px}
.sticky button{background:var(--gold);color:#654a00;box-shadow:0 4px 0 #e2ad26}
.pair-summary b{color:var(--gold)}
.inline-note{background:#fff2b9;border:1px solid #f5d767;border-radius:14px}
#notice{background:var(--green-deep);border-radius:14px}
#notice.info-notice{top:50%;bottom:auto;width:min(520px,calc(100vw - 32px));max-width:none;padding:22px 24px;transform:translate(-50%,-50%);border:3px solid var(--green);border-radius:18px;background:#fff;color:#1f2f2c;box-shadow:0 16px 48px rgba(23,105,84,.26);font-size:16px;font-weight:700;line-height:1.8;text-align:left;z-index:30}
.share-img{border-radius:18px;box-shadow:var(--shadow)}
.divider{border-top:2px dashed var(--line)}
footer{border-top:3px solid var(--gold);background:rgba(255,255,255,.72)}
footer a{color:var(--green-deep);font-weight:800}.consent-banner{position:fixed;z-index:100;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(920px,calc(100vw - 28px));padding:18px 20px;background:#fff;border:3px solid var(--green);border-radius:18px;box-shadow:0 18px 55px rgba(20,80,64,.28);display:flex;align-items:center;justify-content:space-between;gap:22px}.consent-banner[hidden]{display:none}.consent-banner p{margin:4px 0 0;line-height:1.55;color:var(--muted);font-size:14px}.consent-banner a,.policy-page a:not(.button),.admin-page a:not(.button){color:var(--green-deep);font-weight:800}.consent-actions{display:flex;gap:10px;flex:0 0 auto}.consent-actions button{white-space:nowrap}.policy-page,.admin-page{max-width:1000px;margin:0 auto;padding:30px}.policy-page h1,.admin-page h1{font-size:36px}.policy-page h2{font-size:20px;margin-top:30px;margin-bottom:6px}.admin-summary{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;margin-bottom:14px}.admin-summary>div{display:grid}.admin-summary b{font-size:24px;color:var(--green-deep)}.admin-summary span{font-size:12px;color:var(--muted)}.admin-table{padding:0}.admin-table table{min-width:1050px}.admin-table form{margin:0}.admin-table button{min-height:38px;padding:7px 13px;font-size:13px}

@media(max-width:640px){
  :root{font-size:16px}
  .brand>span:not(.brand-icon){font-size:20px}
  .brand-icon{width:40px;height:40px;border-radius:13px;font-size:24px}
  .brand small,.eyebrow,.stats small,.training-row label small{font-size:12px}
  .lead-copy{font-size:16px}
  .consent-banner{align-items:stretch;flex-direction:column;padding:16px;gap:13px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}.consent-actions button{width:100%;padding-inline:10px}.policy-page,.admin-page{padding:18px 14px}.admin-summary{grid-template-columns:1fr 1fr}.admin-summary>a{grid-column:1/-1}
}
@media(max-width:370px){
  .stats small{font-size:12px;letter-spacing:-.04em}
}

.choice-buttons .development{background:linear-gradient(135deg,#ff8b7f,var(--coral));border-color:transparent;color:#fff;box-shadow:0 4px 0 #c95048}
.choice-buttons .development:active{box-shadow:0 1px 0 #c95048}
.season-panel>.statline:first-child{margin-top:2px}
.start-main-row>button{position:relative;top:-3px}
.season-actions .next-season{flex:1 0 100%;background:linear-gradient(135deg,#ffe27b,var(--gold));border:2px solid #efbd35;color:#674b00;box-shadow:0 4px 0 #dfa923;font-size:16px;font-weight:900}
.season-actions .next-season:active{box-shadow:0 1px 0 #dfa923}.next-season span{margin-left:10px;font-size:20px;line-height:1}
.tag-info,.label-info{display:inline-flex;align-items:center;gap:6px}.info-trigger{width:24px;height:24px;min-height:24px;padding:0;border:2px solid currentColor;border-radius:50%;background:#fff;color:var(--green-deep);box-shadow:none;font-family:Georgia,serif;font-size:14px;font-weight:900;line-height:1;text-transform:none}.info-trigger:hover,.info-trigger:focus-visible{transform:none;filter:none;background:#fff5bd}.info-trigger:active{transform:none;box-shadow:none}.hero-panel .info-trigger{background:#fff;color:var(--green-deep)}
.training-result{--result-color:var(--green);border:3px solid var(--result-color);overflow:hidden}.result-outcome{margin:-23px -23px 22px;padding:20px;text-align:center;background:var(--result-color);color:#fff}.result-outcome small{display:block;margin-bottom:3px;font-weight:800;letter-spacing:.12em}.result-outcome strong{display:block;font-size:38px;line-height:1.2;font-weight:900}.training-result .result-gain{color:var(--result-color);font-weight:900}.result-super{--result-color:#8757d9}.result-super .result-outcome{background:linear-gradient(135deg,#7145cd,#d45bb4)}.result-great{--result-color:#e77925}.result-great .result-outcome{background:linear-gradient(135deg,#f19a36,#ff786b)}.result-success{--result-color:#12876c}.result-failure{--result-color:#7d7777}.result-failure .result-outcome{background:#7d7777}

.howto{max-width:960px;margin:0 auto;padding-bottom:32px}
.guide-hero{text-align:center;max-width:660px;margin:0 auto 30px}.guide-hero h1{margin:4px 0 8px}.guide-hero p:last-child{color:var(--muted)}
.guide-list{display:grid;gap:22px}
.guide-step{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(360px,1.2fr);gap:20px;background:#fff;border:2px solid #e2eee9;border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.guide-copy{display:flex;gap:13px;align-items:flex-start}.guide-copy h2{margin:3px 0 7px}.guide-copy p{margin:0;color:var(--muted)}
.guide-number{flex:0 0 38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--coral);color:#fff;font-weight:900;box-shadow:0 3px 0 #c95048}
.guide-shot{grid-column:2;grid-row:1 / span 2;align-self:center;min-height:210px;padding:17px;background-color:#fffaf1;background-image:radial-gradient(circle at 7px 7px,rgba(20,153,120,.08) 1.5px,transparent 2px);background-size:18px 18px;border:2px solid #cde8df;border-radius:17px;box-shadow:inset 0 0 0 5px rgba(255,255,255,.65);font-size:13px}
.guide-notes{margin:12px 0 0 51px;padding:0;list-style:none;display:grid;gap:6px}.guide-notes li{position:relative;color:var(--muted);font-size:14px}.guide-notes li:before{content:'✓';color:var(--green);font-weight:900;margin-right:7px}
.guide-mini{min-width:0;flex:1;padding:14px;border:2px solid;border-radius:14px;display:grid;gap:11px}.guide-mini span{font-weight:900;letter-spacing:.12em}.guide-mini.male{background:var(--male);border-color:var(--male-line);color:var(--male-ink)}.guide-mini.female{background:var(--female);border-color:var(--female-line);color:var(--female-ink)}
.guide-pair{display:flex;align-items:center;gap:10px}.guide-pair>b{font-size:20px;color:var(--coral)}
.guide-mock-button{margin-top:15px;padding:11px 14px;text-align:center;border-radius:12px;background:var(--green);color:#fff;font-weight:900;box-shadow:0 3px 0 #08735c}
.guide-seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;background:#fff0bb;border-radius:12px}.guide-seasons span{text-align:center;padding:7px;border-radius:8px}.guide-seasons .on{background:var(--coral);color:#fff;font-weight:900}
.guide-status{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.guide-status>div{padding:11px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;gap:7px}.guide-status span{color:var(--muted)}.guide-status i,.guide-slider i{display:block;height:7px;background:#e5efeb;border-radius:99px;overflow:hidden}.guide-status u,.guide-slider u{display:block;height:100%;background:linear-gradient(90deg,#ffd75e,#ff9f62);text-decoration:none}
.guide-dev{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px;padding:10px;background:#edfbf7;border:2px solid #bce8dc;border-radius:12px}.guide-dev b{grid-column:1/-1}.guide-dev span{padding:8px;text-align:center;border-radius:9px;background:var(--coral);color:#fff;font-weight:900}
.guide-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.guide-actions span{padding:8px;text-align:center;background:#fff;border:2px solid #bfe0d5;border-radius:9px;font-weight:800}
.guide-slider{display:grid;grid-template-columns:110px minmax(80px,1fr) 28px;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}.guide-slider u{background:linear-gradient(90deg,#20b993,#56d6b6)}
.guide-apt{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.guide-apt span{padding:12px 8px;text-align:center;background:#fff;border:2px solid #d9ebe5;border-radius:12px;color:var(--muted)}.guide-apt b{display:block;margin-top:5px;color:var(--green-deep);font-size:17px}
.guide-races{display:grid;gap:8px}.guide-races>div,.guide-result{display:flex;justify-content:space-between;gap:10px;padding:11px 13px;background:#fff;border:2px solid #d9ebe5;border-radius:11px}.guide-races span,.guide-result span{color:var(--muted)}.guide-races>div:first-child{border-color:var(--gold);background:#fff8d7}.guide-result{margin-top:12px;border-color:#bce8dc;background:#edfbf7}
.guide-retire{display:grid;gap:8px;text-align:center}.guide-retire>div:not(.guide-arrow){padding:17px;background:#fff;border:2px solid #d9ebe5;border-radius:13px;display:grid;gap:5px}.guide-retire>div:last-child{border-color:var(--coral);background:#fff1ef}.guide-retire span{color:var(--muted)}.guide-arrow{font-size:24px;color:var(--coral);font-weight:900}
.guide-footer{display:flex;justify-content:center;margin-top:26px}.guide-footer button{min-width:240px}

.ranking-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.ranking-intro p{margin:0;max-width:720px}.ranking-intro .tag{white-space:nowrap}
.ranking-state{text-align:center;padding-block:46px}.ranking-state h3{margin-bottom:8px}.ranking-loader{width:34px;height:34px;margin:0 auto 14px;border:4px solid #cde8df;border-top-color:var(--coral);border-radius:50%;animation:ranking-spin .8s linear infinite}
.ranking-table{padding:0}.ranking-table table{min-width:1470px}.ranking-table th,.ranking-table td{text-align:center}.ranking-table th:nth-child(2),.ranking-table th:nth-child(3),.ranking-table td:nth-child(2),.ranking-table td:nth-child(3){text-align:left}.ranking-table th:first-child,.ranking-table td:first-child{position:sticky;left:0;z-index:2;background:#fff}.ranking-table thead th:first-child{z-index:3;background:#fafcfb}.ranking-table .rank-1{background:#fff9d7}.ranking-table .rank-2{background:#f4f7f8}.ranking-table .rank-3{background:#fff0e5}.ranking-table .rank-1 td:first-child{background:#fff9d7}.ranking-table .rank-2 td:first-child{background:#f4f7f8}.ranking-table .rank-3 td:first-child{background:#fff0e5}.ranking-money{font-weight:900;color:var(--green-deep)}
@keyframes ranking-spin{to{transform:rotate(360deg)}}

@media(max-width:760px){
  .ranking-intro{align-items:flex-start;flex-direction:column}.ranking-table{margin-inline:-4px}
  .guide-step{grid-template-columns:1fr;padding:17px}.guide-shot{grid-column:1;grid-row:auto;min-height:0}.guide-notes{margin-left:0}.guide-copy h2{font-size:20px}
  .guide-races>div,.guide-result{display:grid}.guide-status{grid-template-columns:1fr}.guide-actions{grid-template-columns:1fr}.guide-slider{grid-template-columns:90px minmax(60px,1fr) 24px}
}
@media(max-width:410px){
  .start-secondary-actions{grid-template-columns:1fr}.guide-pair{align-items:stretch}.guide-mini{padding:11px 8px}.guide-mini span{font-size:12px;letter-spacing:0}.guide-apt{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:640px){
  .start-main-row>button{top:0}.season-actions .next-season{grid-column:1/-1}.result-outcome{margin:-16px -16px 18px}.result-outcome strong{font-size:32px}
}
