/* The forecast desk belongs to Week 11; every rule is deliberately local. */
#season .week-picker .forecast-week {position:relative}
#season .week-picker .forecast-week::after {content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:#b996ff;box-shadow:0 0 0 2px #09110f}
#season .week-picker .forecast-week[aria-pressed=true]::after {background:#7543c8;box-shadow:0 0 0 2px #d6ff42}
#season .forecast-desk {
  grid-column:1/-1; min-width:0; padding:22px 0 0; border-top:1px solid #b7c3ae;
  color:#112c22; position:relative;
}
#season .forecast-heading {display:flex;gap:16px;justify-content:space-between;align-items:center;margin:0 0 8px}
#season .forecast-heading>span {font:700 8px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#526146}
#season .forecast-heading h4 {font:700 clamp(23px,2.5vw,34px)/1 var(--sport,Impact,sans-serif);letter-spacing:-.01em;margin:0}
#season .forecast-layout {display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);align-items:center;gap:24px;max-width:760px;margin:auto}
#season .forecast-machine {height:215px;position:relative;isolation:isolate;max-width:300px;width:100%;justify-self:center}
#season .forecast-feed {position:absolute;height:133px;left:0;right:0;top:0;overflow:hidden;z-index:2}
#season .forecast-paper {position:absolute;width:204px;height:129px;top:5px;left:calc(50% - 102px);background:#fffef5;border:1px solid #b9baa9;padding:14px 13px;color:#112c22;transform:rotate(-3deg);box-shadow:4px 5px 0 #112c2210}
#season .forecast-paper-top {display:flex;align-items:center;justify-content:space-between;font:700 7px/1.2 Arial,sans-serif;letter-spacing:.06em;padding-bottom:10px;border-bottom:1px dashed #a8ada0}
#season .forecast-paper-top>span {font:700 16px/1 var(--sport,Impact,sans-serif);color:#7543c8}
#season .forecast-paper-labels {display:flex;justify-content:space-between;margin-top:10px;font:700 7px/1 Arial,sans-serif;letter-spacing:.08em}
#season .forecast-paper>strong {font:700 29px/1.1 var(--sport,Impact,sans-serif);letter-spacing:-.02em;display:block;white-space:nowrap}
#season .forecast-paper>strong i {font-style:normal;color:#858d7f;padding:0 2px}
#season .forecast-paper-rule {height:1px;background:#b9c1b3;margin:7px 0}
#season .forecast-paper>em {font:700 7px/1 Arial,sans-serif;font-style:normal;letter-spacing:.14em}
#season .forecast-coffee-ring {position:absolute;right:16px;top:33px;width:45px;height:45px;border:5px solid #7543c827;border-radius:50%;transform:rotate(25deg);border-right-color:#7543c813;pointer-events:none}
#season .forecast-slot {position:absolute;left:calc(50% - 115px);top:125px;width:230px;height:12px;background:#020906;border:4px solid #3e5b48;border-bottom:0;border-radius:5px 5px 0 0;z-index:3;box-shadow:0 -2px 0 #112c2255}
#season .forecast-chassis {position:absolute;left:calc(50% - 121px);top:136px;width:242px;height:55px;border-radius:2px 2px 5px 5px;background:#112c22;color:#d6ff42;box-shadow:0 5px 0 #082016;display:flex;align-items:center;gap:10px;padding:10px 18px;z-index:4;border-top:1px solid #5c795f}
#season .forecast-chassis>span:nth-child(2) {font:700 8px/1.4 Arial,sans-serif;letter-spacing:.1em}
#season .forecast-chassis svg {width:36px;height:32px;margin-left:auto}
#season .forecast-led {width:7px;height:7px;border-radius:50%;background:#9861ff;box-shadow:0 0 8px #9861ff88}
#season .forecast-shreds {position:absolute;left:calc(50% - 101px);top:181px;width:202px;height:34px;overflow:hidden;z-index:1}
#season .forecast-shreds>span {position:absolute;top:-43px;left:calc(var(--strip)*11.111%);width:8.8%;height:43px;background:repeating-linear-gradient(0deg,#fffef5 0 11px,#8da18b 11px 12px,#fffef5 12px 15px);border:1px solid #afb9a8;opacity:0;transform:translateY(0)}
#season .forecast-console {min-width:0;padding:8px 0;max-width:310px;width:100%;justify-self:end}
#season .forecast-before>span,#season .forecast-result>span {display:block;font:700 8px/1.5 Arial,sans-serif;letter-spacing:.13em;color:#53664d;margin-bottom:6px}
#season .forecast-before>strong,#season .forecast-result>strong {font:700 clamp(42px,5vw,65px)/1 var(--sport,Impact,sans-serif);display:block;letter-spacing:-.03em;color:#7543c8;white-space:nowrap}
#season .forecast-before>strong small,#season .forecast-result>strong small {font:700 15px/1 var(--sport,Impact,sans-serif);letter-spacing:.02em;margin-left:3px}
#season .forecast-before>p,#season .forecast-result>p {font:400 10px/1.6 Arial,sans-serif;color:#4f6149;margin:8px 0 0}
#season .forecast-result>strong {color:#24573b}
#season .forecast-stamp {display:inline-block;background:#d6ff42;border:1px solid #24573b;color:#112c22;transform:rotate(-2deg);padding:5px 9px;font:700 16px/1 var(--sport,Impact,sans-serif);letter-spacing:.035em;margin-top:11px}
#season .forecast-button {margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid #112c22;color:#f3f0df;background:#112c22;padding:13px 14px;min-height:46px;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.05em;transition:background .18s,color .18s}
#season .forecast-button>span:last-child {font:700 21px/1 Arial,sans-serif}
#season .forecast-button:hover:not(:disabled) {background:#7543c8}
#season .forecast-button:focus-visible {outline:3px solid #7543c8;outline-offset:4px}
#season .forecast-button:disabled {color:#d6ff42;background:#203e2c;border-color:#436448;opacity:1}
#season .forecast-result[hidden],#season .forecast-before[hidden] {display:none}
#season .forecast-desk[data-state=shredding] .forecast-paper {animation:forecast-feed-paper 1.1s cubic-bezier(.3,.1,.7,.8) both}
#season .forecast-desk[data-state=shredding] .forecast-shreds>span {animation:forecast-shred-fall 1.1s calc(.25s + var(--strip)*.018s) ease-in both}
#season .forecast-desk[data-state=shredding] .forecast-led {background:#d6ff42;box-shadow:0 0 13px #d6ff4280}
#season .forecast-desk[data-state=complete] .forecast-paper {transform:translateY(145px);opacity:0}
#season .forecast-desk[data-state=complete] .forecast-led {background:#d6ff42;box-shadow:0 0 8px #d6ff4250}
#season .forecast-desk[data-state=complete] .forecast-stamp {animation:forecast-stamp-in .22s ease-out both}
#season .forecast-desk[data-state=complete] .forecast-shreds>span {opacity:1;transform:translateY(calc(19px + var(--strip)*1px)) rotate(calc((var(--strip) - 4)*2deg))}
@keyframes forecast-feed-paper {0%{transform:rotate(-3deg)}20%{transform:translateY(5px) rotate(0)}100%{transform:translateY(143px) rotate(0)}}
@keyframes forecast-shred-fall {0%{opacity:0;transform:translateY(0)}25%{opacity:1}100%{opacity:1;transform:translateY(calc(19px + var(--strip)*1px)) rotate(calc((var(--strip) - 4)*2deg))}}
@keyframes forecast-stamp-in {from{transform:scale(1.2) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(-2deg);opacity:1}}
body.motion-paused #season .forecast-desk *,body.motion-paused #season .forecast-desk *::before,body.motion-paused #season .forecast-desk *::after {animation:none!important;transition:none!important}
@media(max-width:650px) {
  #season .forecast-heading {align-items:flex-start;flex-direction:column;gap:6px}
  #season .forecast-layout {grid-template-columns:minmax(0,1fr);gap:0}
  #season .forecast-machine {height:205px;max-width:290px;margin-top:8px}
  #season .forecast-console {max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;justify-self:stretch}
  #season .forecast-before>strong,#season .forecast-result>strong {font-size:43px}
  #season .forecast-button {margin-top:0;padding:12px 11px;min-height:57px}
  #season .forecast-before>p,#season .forecast-result>p {font-size:9px;max-width:140px}
  #season .forecast-stamp {font-size:13px;padding:5px 6px;white-space:nowrap}
}
@media(max-width:380px) {
  #season .forecast-heading h4 {font-size:25px}
  #season .forecast-console {grid-template-columns:minmax(0,1fr);gap:12px}
  #season .forecast-before>p,#season .forecast-result>p {max-width:none}
  #season .forecast-button {min-height:46px}
  #season .forecast-chassis {width:218px;left:calc(50% - 109px);padding-left:14px;padding-right:14px}
  #season .forecast-slot {width:208px;left:calc(50% - 104px)}
  #season .forecast-paper {width:192px;left:calc(50% - 96px);padding-left:10px;padding-right:10px}
}
@media(prefers-reduced-motion:reduce) {#season .forecast-desk *,#season .forecast-desk *::before,#season .forecast-desk *::after {animation:none!important;transition:none!important}}
