/* OPER8 series: shared training and learning tools. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.series-page .section{padding-top:68px;padding-bottom:68px}
.series-intro .breadcrumb{display:inline-block;margin-bottom:42px;font-size:.9rem}
.series-intro-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:60px;align-items:center}
.series-intro h1{font-size:clamp(3.7rem,7.8vw,7.4rem);margin-bottom:25px}
.series-intro .hero-lead{max-width:620px;margin-bottom:0}
.intro-aside{border-left:1px solid var(--line);padding:16px 0 16px 35px}
.series-index{font-family:ui-monospace,monospace;font-size:.75rem;letter-spacing:.14em;color:var(--muted)}
.intro-aside>p{font-weight:850;font-size:2rem;line-height:1.15;letter-spacing:-.04em;margin:28px 0 18px}
.intro-aside>span:not(.series-index){display:block;color:#60697b;font-size:.95rem}
.intro-aside .text-link{display:inline-block;margin-top:24px}
.builder-section{padding-top:0!important;scroll-margin-top:110px}
.builder-shell{background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 60px #121b3010}
.builder-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px;background:var(--ink);color:white}
.builder-top .eyebrow{display:block;margin:0 0 5px;color:#9bb3ff;font-size:.68rem}
.builder-top p{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:-.03em}
.quiet-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;background:none;border:0;color:var(--blue);font-size:.875rem;font-weight:750;cursor:pointer;border-radius:7px}
.quiet-button:hover{background:#2864ff0d}
.builder-top .quiet-button{color:#c5cfe8}
.builder-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 22px;border-bottom:1px solid var(--line);background:#fcfcff}
.builder-tabs button{position:relative;min-height:74px;background:none;border:0;color:#616a7b;font-size:.85rem;font-weight:750;text-align:left;cursor:pointer;padding:15px 10px;line-height:1.35}
.builder-tabs button span{display:block;font-family:ui-monospace,monospace;font-weight:500;font-size:.66rem;letter-spacing:.04em;margin-bottom:4px}
.builder-tabs button[aria-selected=true]{color:var(--blue)}
.builder-tabs button[aria-selected=true]::after{content:"";position:absolute;bottom:-1px;left:10px;right:10px;height:3px;background:var(--blue)}
.builder-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr)}
.builder-workspace{min-width:0;padding:36px 32px 30px}
.builder-panel>h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:14px}
.builder-panel>.eyebrow{font-size:.67rem;margin-bottom:12px}
.panel-intro{color:#656e7d;font-size:.93rem;margin-bottom:25px}
.context-options{display:grid;gap:10px;margin-bottom:18px}
.context-option{display:flex;gap:15px;align-items:center;min-height:97px;padding:19px 18px;background:white;border:1px solid var(--line);border-radius:12px;cursor:pointer;position:relative}
.context-option input{position:absolute;right:16px;top:18px;accent-color:var(--blue);width:16px;height:16px}
.context-option:has(input:checked){border-color:var(--blue);background:#f4f6ff;box-shadow:inset 3px 0 var(--blue)}
.context-number{color:#98a1b1;font-family:ui-monospace,monospace;font-size:.76rem}
.context-option strong{display:block;font-size:1rem;letter-spacing:-.025em;padding-right:20px}
.context-option small{display:block;color:#687285;font-size:.84rem;margin-top:4px}
.context-note{font-size:.86rem;line-height:1.6;color:#596476;min-height:55px}
.builder-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;border-top:1px solid var(--line);padding-top:22px;flex-wrap:wrap}
.plate-sidebar{align-self:stretch;background:linear-gradient(150deg,#f1f3fa,#edf0fc 55%,#ede9fc);border-left:1px solid var(--line);padding:26px 24px;min-width:0}
.plate-meta{display:flex;justify-content:space-between;gap:12px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#5b6379;font-weight:750}
.plate-visual{width:100%;max-width:365px;aspect-ratio:1;margin:40px auto 24px;border:1px solid #dce2f0;border-radius:50%;background:linear-gradient(135deg,#fff,#f8f9fd);box-shadow:0 20px 30px #53608e17,inset 0 0 0 13px #f7f8fc,inset 0 0 0 14px #e4e8f2;display:grid;place-items:center;position:relative;overflow:hidden}
.plate-visual::before{content:"";position:absolute;inset:28px;border:1px solid #e6e9f2;border-radius:50%;pointer-events:none}
.plate-empty{text-align:center;position:absolute;inset:35px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}
.plate-empty .brand-mark{transform:scale(.7)}
.plate-empty strong{font-size:1.1rem;line-height:1.3;letter-spacing:-.025em}
.plate-empty>span:last-child{font-size:.75rem;color:#788197}
.plate-items{display:flex;align-content:center;justify-content:center;flex-wrap:wrap;gap:8px;max-width:78%;padding:36px 0;max-height:88%;overflow:auto;z-index:1}
.plate-food{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:70px;max-width:92px;padding:8px 5px;line-height:1.2}
.plate-food>span{font-size:2.1rem;line-height:1.1}
.plate-food strong{font-size:.61rem;font-weight:700;margin-top:5px}
.plate-food small{font-size:.6rem;margin-top:4px;color:#6b758b}
.plate-visual.many .plate-food{min-width:54px;max-width:72px;padding:4px 2px}
.plate-visual.many .plate-food>span{font-size:1.45rem}
.plate-visual.many .plate-items{gap:1px}
.plate-caption{text-align:center;max-width:300px;margin:0 auto;color:#596479;font-size:.84rem;min-height:45px}
.plate-divider{height:1px;background:#d3d9ec;margin:28px 0 22px}
.plate-summary>span{font-size:.95rem;font-weight:800;letter-spacing:-.025em}
.plate-summary p{font-size:.82rem;color:#677289;margin:6px 0 0}
.food-search input{width:100%;height:46px;border:1px solid #ccd3df;border-radius:9px;padding:0 14px;background:#fafbfe;font-size:.9rem}
.food-filters{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.food-filters button{padding:8px 11px;border:1px solid #e1e5ef;border-radius:100px;background:white;font-size:.75rem;min-height:36px;font-weight:750;cursor:pointer;color:#606b80}
.food-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}
.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:440px;overflow:auto;padding:3px 4px 8px;scrollbar-width:thin}
.food-card{position:relative;text-align:left;border:1px solid var(--line);border-radius:12px;background:white;padding:15px 11px 12px;cursor:pointer;min-height:145px;display:flex;flex-direction:column;align-items:flex-start}
.food-card[aria-pressed=true]{border-color:var(--blue);background:#f1f5ff;box-shadow:inset 0 0 0 1px var(--blue)}
.food-card .food-icon{font-size:1.8rem;line-height:1;margin-bottom:12px}
.food-card strong{font-size:.8rem;line-height:1.2;letter-spacing:-.02em}
.food-card small{color:#748094;font-size:.65rem;line-height:1.4;margin-top:5px}
.food-card .food-add{position:absolute;right:10px;top:9px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#eff2f8;color:#59677d;font-size:1rem}
.food-card[aria-pressed=true] .food-add{background:var(--blue);color:white}
.small-note{font-size:.75rem;color:#738096;line-height:1.55;margin:16px 0 0}
.empty-selection{padding:28px 16px;background:#f6f8fd;border-radius:12px;text-align:center;color:#657287;font-size:.9rem}
.portion-row{padding:18px 0;border-bottom:1px solid var(--line)}
.portion-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.portion-name{display:flex;gap:12px;align-items:center;min-width:0}
.portion-name>span{font-size:1.6rem}
.portion-name strong{font-size:.94rem;display:block;letter-spacing:-.025em}
.portion-name small{font-size:.72rem;color:#768196;display:block;margin-top:3px}
.portion-controls{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:13px;flex-wrap:wrap}
.serving-select{font:inherit;font-size:.75rem;border:1px solid var(--line);border-radius:7px;padding:10px 26px 10px 9px;max-width:190px;background:white;color:#3b465c}
.weight-control{display:flex;gap:5px;align-items:center;font-size:.75rem;color:#616b7b}
.weight-control button{width:32px;height:36px;border:1px solid var(--line);background:#f7f9fd;border-radius:6px;cursor:pointer;font-size:1.15rem}
.weight-control input{width:64px;height:36px;border:1px solid var(--line);border-radius:6px;text-align:center;font-size:.86rem;-moz-appearance:textfield}
.weight-control input::-webkit-inner-spin-button{-webkit-appearance:none}
.remove-food{border:0;background:none;color:#79839a;cursor:pointer;min-width:32px;min-height:32px;border-radius:5px;font-size:1.1rem}
.meal-name{font-size:1.15rem;font-weight:750;letter-spacing:-.025em;line-height:1.35;margin-bottom:8px}
.meal-context-copy{color:#68758c;font-size:.84rem;margin-bottom:22px}
.macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:15px}
.macro-stat{padding:15px 9px;background:#f6f8ff;border-right:1px solid var(--line)}
.macro-stat:last-child{border:0}
.macro-stat strong{display:block;font-size:1.4rem;letter-spacing:-.05em;line-height:1.2}
.macro-stat strong small{font-size:.66rem;font-weight:500}
.macro-stat>span{display:block;font-size:.66rem;color:#67748a;margin-top:6px}
.energy-toggle{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#64728b;cursor:pointer;margin:12px 0}
.energy-toggle input{accent-color:var(--blue)}
.energy-value{font-size:.86rem;margin:12px 0;color:#53637b}
.results-heading{font-size:1.25rem;line-height:1.2;margin:28px 0 15px}
.strength-list{padding:0;list-style:none;margin:0}
.strength-list li{font-size:.84rem;color:#61708a;margin:0 0 12px;padding-left:22px;position:relative;line-height:1.55}
.strength-list li::before{content:"↗";position:absolute;left:0;color:var(--blue);font-weight:800}
.strength-list strong{color:#22304c}
.micro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.micro-card{padding:15px 13px;border:1px solid #dfe4f2;border-radius:10px;min-width:0}
.micro-card>span{display:block;font-size:.71rem;font-weight:700;color:#62718d}
.micro-card>strong{display:block;font-size:1.3rem;letter-spacing:-.04em;margin:6px 0}
.micro-card small{display:block;font-size:.7rem;color:#758198;line-height:1.5}
.micro-card p{font-size:.72rem;color:#5c6b84;margin:8px 0 0;line-height:1.5}
.micro-table{border-collapse:collapse;width:100%;font-size:.8rem;margin-top:14px}
.micro-table th,.micro-table td{padding:8px 4px;border-bottom:1px solid var(--line);text-align:left}
.micro-table th{font-weight:650;color:#647089}
.micro-table td{text-align:right}
.experiment-card{border-left:3px solid var(--purple);padding:16px 18px;background:#f3efff;border-radius:0 10px 10px 0;margin-top:24px}
.experiment-card strong{font-size:.88rem;color:#4f3e89}
.experiment-card p{font-size:.82rem;color:#6b6089;margin:7px 0 0}
.source-details{border-top:1px solid var(--line);padding:16px 0;color:#68758a;font-size:.82rem}
.source-details summary{cursor:pointer;font-weight:750;color:#384860;min-height:30px;padding-top:4px}
.source-details p{margin:13px 0 0;line-height:1.65}
.source-details a{color:var(--blue)}
.fuel-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.fuel-note-grid h2{font-size:clamp(2.3rem,4vw,3.8rem)}
.fuel-note-grid>div>p:not(.eyebrow){color:#68758a;max-width:500px}
.saved-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:26px}
.saved-heading h2{font-size:clamp(2rem,4vw,3.2rem);margin:0}
.saved-heading>p{font-size:.82rem;color:#68758a}
.saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.saved-card{border:1px solid var(--line);background:white;border-radius:14px;padding:22px;display:flex;flex-direction:column}
.saved-card h3{font-size:1.1rem;line-height:1.25}
.saved-card p{font-size:.77rem;color:#6c7990;margin-bottom:12px}
.saved-card .button-row{margin-top:auto;gap:6px}
.load-message{padding:40px;color:#62718a}
.series-home{padding-top:90px;padding-bottom:80px}
.series-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.series-feature{position:relative;overflow:hidden;padding:40px;border-radius:22px;min-height:480px;display:flex;flex-direction:column;align-items:flex-start}
.series-feature h3{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.06em;margin:85px 0 22px}
.series-feature p{max-width:365px;font-size:.95rem;line-height:1.7}
.series-feature .button{margin-top:auto;position:relative;z-index:1}
.series-bell{background:radial-gradient(ellipse at 100% 10%,#242251,#0c101a 65%);color:white}
.series-bell p{color:#b3bdd1}
.series-fuel{background:#eeedfb;border:1px solid #d7d7f1}
.series-fuel p{color:#68718d}
.series-footnote{display:block;font-size:.68rem;margin-top:20px;text-transform:uppercase;letter-spacing:.055em;color:#8f9bb3}
.series-fuel .series-footnote{color:#727d96}
.bell-symbol{position:absolute;right:45px;top:70px;width:110px;height:105px;border-radius:40% 40% 37% 37%;background:linear-gradient(130deg,#393c59,#131827);border:1px solid #525575;box-shadow:inset 5px 0 15px #9899c51f;transform:rotate(-10deg)}
.bell-symbol i{position:absolute;width:60px;height:45px;left:25px;top:-29px;border:10px solid #4b4b6b;border-radius:24px 24px 16px 16px}
.bell-symbol b{position:absolute;inset:20px;display:grid;place-items:center;color:#7d83b7;font-size:2rem;font-weight:400}
.mini-plate{position:absolute;right:35px;top:50px;width:135px;height:135px;border:9px solid #fcfcff;border-radius:50%;background:#e4e5f5;box-shadow:0 12px 30px #7976b21f;display:flex;align-items:center;justify-content:center;gap:5px}
.mini-plate i{height:54px;width:28px;border-radius:50%;background:#7657ff66;transform:rotate(25deg)}
.mini-plate i:nth-child(2){height:65px;background:#2864ff99}
.mini-plate i:nth-child(3){height:38px;background:#a7b9e7}
.session-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:28px}
.session-choice{position:relative;min-height:185px;padding:25px;text-align:left;background:white;border:1px solid var(--line);border-radius:15px;cursor:pointer}
.session-choice[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink);box-shadow:0 10px 25px #121b3020}
.session-choice>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}
.session-choice[aria-pressed=true]>span{color:#a3baff}
.session-choice strong{display:block;font-size:1.7rem;letter-spacing:-.05em;margin:20px 0 12px;line-height:1.05}
.session-choice small{font-size:.78rem;color:#748097}
.session-choice[aria-pressed=true] small{color:#adb8ce}
.kb-detail{display:grid;grid-template-columns:1.4fr 1fr;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.kb-plan{padding:35px;min-width:0}
.kb-plan h2{font-size:clamp(2rem,3.8vw,3.3rem);margin-bottom:16px}
.kb-plan>.panel-intro{max-width:550px}
.session-facts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.session-facts span{font-size:.72rem;font-weight:700;color:#546580;border:1px solid #dce2ee;padding:7px 10px;border-radius:100px}
.session-stage{border-top:1px solid var(--line);padding:20px 0}
.session-stage h3{font-size:1.1rem;line-height:1.3;margin:0 0 10px;letter-spacing:-.025em}
.session-stage>p,.session-stage li{font-size:.86rem;color:#647089;line-height:1.65}
.session-stage ol{padding-left:19px;margin-bottom:0}
.session-stage li{padding-left:4px;margin:7px 0}
.kb-timer{padding:35px;background:var(--ink);color:white;align-self:stretch;display:flex;flex-direction:column}
.kb-timer .eyebrow{color:#98b2ff;font-size:.68rem}
.timer-phase{font-size:.8rem;color:#97a4bf;text-transform:uppercase;letter-spacing:.06em;min-height:24px;margin-top:16px}
.timer-number{font-size:clamp(4rem,6vw,6rem);font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.07em;line-height:1.2;margin:20px 0}
.timer-move{font-size:1.45rem;line-height:1.15;letter-spacing:-.035em;margin:0 0 14px}
.timer-cue{font-size:.84rem;color:#9faec8;line-height:1.65;min-height:80px}
.timer-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.timer-controls .quiet-button{color:#c9d5ed}
.timer-progress{height:4px;background:#30384d;border-radius:10px;margin-top:30px;overflow:hidden}
.timer-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--purple))}
.timer-total{display:flex;justify-content:space-between;gap:10px;color:#95a4bf;font-size:.75rem;margin:12px 0 26px}
.timer-note{border-top:1px solid #30384d;padding-top:20px;color:#9cabc5;font-size:.78rem;line-height:1.7;margin-top:auto;margin-bottom:0}
.kb-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.kb-principles article{border-top:1px solid var(--line);padding-top:24px}
.kb-principles h3{font-size:1.45rem}
.kb-principles p{color:#68758b;font-size:.9rem;line-height:1.7}
.movement-guide details{padding:15px 0;border-top:1px solid var(--line);font-size:.85rem;color:#65758e}
.movement-guide summary{font-weight:750;color:#27374f;cursor:pointer;padding:6px 0}
.movement-guide p{margin:12px 0 0;line-height:1.7}
@media(min-width:1050px){.plate-sidebar{position:relative}.plate-visual{margin-top:54px}}
@media(max-width:1000px){.builder-grid{grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr)}.builder-workspace{padding:28px 22px}.plate-sidebar{padding:24px 18px}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.series-intro-grid{gap:30px}.series-feature{padding:30px}.series-feature h3{margin-top:100px}.series-home-grid{gap:15px}.kb-plan,.kb-timer{padding:28px}.fuel-note-grid{gap:40px}}
@media(max-width:760px){.series-page .section{padding-top:46px;padding-bottom:46px}.series-intro .breadcrumb{margin-bottom:30px}.series-intro-grid{grid-template-columns:1fr}.series-intro h1{font-size:clamp(3.5rem,12vw,6rem)}.intro-aside{display:none}.builder-grid{grid-template-columns:1fr}.plate-sidebar{order:-1;border-left:0;border-bottom:1px solid var(--line);padding:18px 22px 22px}.plate-visual{max-width:230px;margin:16px auto 12px}.plate-visual::before{inset:22px}.plate-empty{inset:25px;gap:9px}.plate-empty strong{font-size:.85rem}.plate-empty .brand-mark{transform:scale(.5);height:40px}.plate-empty>span:last-child{font-size:.65rem}.plate-caption{font-size:.75rem;min-height:0}.plate-divider,.plate-summary{display:none}.plate-food{min-width:54px;max-width:66px;padding:5px 0}.plate-food>span{font-size:1.6rem}.plate-food strong{font-size:.54rem}.plate-food small{font-size:.53rem}.plate-items{gap:1px;padding:24px 0}.plate-visual.many .plate-food{min-width:40px;max-width:55px}.plate-visual.many .plate-food>span{font-size:1.15rem}.plate-visual.many .plate-food strong{font-size:.48rem}.builder-tabs{padding:0 10px}.builder-tabs button{font-size:.72rem;min-height:70px;padding:11px 6px}.builder-top{padding:20px 22px}.builder-workspace{padding:26px 22px}.food-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fuel-note-grid,.series-home-grid,.kb-detail{grid-template-columns:1fr}.saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-picker{gap:8px}.session-choice{padding:16px 13px;min-height:160px}.session-choice strong{font-size:1.35rem}.session-choice>span{font-size:.58rem}.session-choice small{font-size:.7rem}.timer-number{font-size:5rem}.timer-cue{min-height:0}.kb-timer{min-height:450px}.series-feature{min-height:430px}.series-feature h3{font-size:3rem}.series-home .split-heading{display:block}.series-home .split-heading>p{margin-top:25px}.kb-principles{gap:20px}.kb-principles h3{font-size:1.2rem}}
@media(max-width:420px){.series-page .section,.series-home{width:calc(100% - 28px)}.builder-shell{border-radius:17px}.builder-top{padding:18px 16px}.builder-workspace{padding:25px 16px}.builder-top p{font-size:1rem}.builder-tabs{padding:0 6px}.builder-tabs button{font-size:.66rem;padding:10px 4px}.food-card{padding:13px 8px 10px}.food-card strong{font-size:.73rem}.food-grid{gap:6px}.food-card small{font-size:.6rem}.macro-stat{padding:13px 7px}.macro-stat strong{font-size:1.15rem}.macro-stat>span{font-size:.6rem}.builder-actions .button{font-size:.82rem;padding:0 13px}.saved-heading{display:block}.saved-heading>p{margin-top:15px}.saved-grid{grid-template-columns:1fr}.kb-principles{grid-template-columns:1fr}.session-choice{padding:15px 10px}.session-choice strong{font-size:1.15rem}.session-choice small{font-size:.64rem}.kb-plan,.kb-timer{padding:25px 20px}.series-feature{padding:28px}.bell-symbol{right:32px}.mini-plate{right:24px}}
@media print{.series-intro,.builder-top,.builder-tabs,.plate-sidebar,.builder-actions,.food-search,.food-filters,.fuel-notes,.saved-section,.session-picker,.kb-timer,.energy-toggle,.small-note,.series-home{display:none!important}.builder-grid,.kb-detail{display:block}.builder-shell,.kb-detail{border:0;box-shadow:none}.builder-workspace,.kb-plan{padding:0}.builder-panel:not([hidden]){display:block}#meal-results .source-details[open]{display:block}.micro-grid{grid-template-columns:repeat(2,1fr)}.macro-stat,.micro-card,.experiment-card{break-inside:avoid}}
