/* Senin Kampın — Kariyer Modu'nun Anton / Archivo, kâğıt, petrol ve kırmızı dili.
   FitMate görselleri tek bir resmî mağaza setinden; her biri tek tip çerçevede, kendi zemin rengiyle ışır. */
@property --stage{syntax:'<color>';inherits:true;initial-value:#05bfed}
[data-shot=yemek]{--shot:#05bfed}[data-shot=antrenman]{--shot:#ffb81c}[data-shot=adim]{--shot:#6e5ad3}[data-shot=seri]{--shot:#2fcb6e}[data-shot=hedef]{--shot:#3b6ea5}
[data-stage=yemek]{--stage:#ff4b2b}[data-stage=antrenman]{--stage:#2a9d8f}[data-stage=beslenme]{--stage:#ffb81c}[data-stage=hedef]{--stage:#05bfed}

.camp-page{overflow:hidden}
.store-shot{display:block;aspect-ratio:9/16;border-radius:clamp(14px,1.8vw,24px);overflow:hidden;background:var(--shot);box-shadow:0 34px 70px -26px color-mix(in srgb,var(--shot) 70%,transparent),0 18px 40px -12px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.12)}
.store-shot img{display:block;width:100%;height:100%;object-fit:cover}

/* İlk ekran */
.camp-hero{position:relative;background:radial-gradient(ellipse at 78% 45%,#1d3431 0,transparent 55%),var(--night)}
.camp-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-block:34px 40px}
.camp-back{display:inline-block;font-size:13px;color:var(--muted);padding-block:10px;margin-bottom:26px}.camp-back:hover{color:var(--paper)}
.camp-hero-copy>.eyebrow{color:var(--muted)}
.camp-hero h1{font-size:clamp(84px,8.5vw,130px);line-height:.98;letter-spacing:-.025em;margin-top:22px}.camp-hero h1 span{color:var(--accent)}
.camp-lead{font-size:17px;line-height:1.75;margin-top:26px;color:#d0d4d7}
.camp-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}.camp-hero-actions .button{gap:16px}.camp-hero-actions .text-link{font-size:14px;padding-block:12px}
.camp-hero-visual{position:relative;height:min(600px,64svh);min-height:440px}
.camp-track{position:absolute;inset:4% 0 6%;transform:rotate(-14deg)}
.camp-track>i{position:absolute;border:1px solid rgba(166,198,190,.32);border-radius:50%}
.camp-track>i:nth-child(1){inset:0}.camp-track>i:nth-child(2){inset:7% 5%}.camp-track>i:nth-child(3){inset:14% 10%}.camp-track>i:nth-child(4){inset:21% 15%;border-color:rgba(255,75,43,.7)}
.camp-runner{position:absolute;right:9%;top:11%;z-index:3;background:var(--accent);color:var(--night);font:800 13px/1 var(--body);letter-spacing:.06em;padding:9px 15px;transform:rotate(14deg);box-shadow:0 0 45px rgba(255,75,43,.35)}
.camp-runner:after{content:'';position:absolute;top:100%;left:16px;border:7px solid transparent;border-top-color:var(--accent)}
.camp-fan{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.camp-fan .store-shot{position:absolute;width:clamp(150px,14.5vw,224px);transition:transform .9s cubic-bezier(.16,1,.3,1)}
.fan-left{transform:translate(-64%,5%) rotate(-11deg)}.fan-right{transform:translate(64%,5%) rotate(11deg)}.fan-mid{z-index:2;transform:translateY(-3%) scale(1.06)}
.camp-hero-visual:hover .fan-left{transform:translate(-72%,4%) rotate(-14deg)}.camp-hero-visual:hover .fan-right{transform:translate(72%,4%) rotate(14deg)}
.camp-hero-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding-block:6px}
.camp-hero-bottom a{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-block:14px;transition:color .2s}.camp-hero-bottom a:hover{color:var(--accent)}

.camp-section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.paper .camp-section-top{border-color:var(--paper-line)}
.camp-section-top>span{font-size:11px;font-weight:700;letter-spacing:.12em}
.camp-section-lead{max-width:420px;font-size:17px;line-height:1.8;margin-top:24px}
.camp-detail{font-size:13px;margin-top:14px;color:#53575b}

/* 01 · Adım yarışı */
.camp-race{padding-block:36px 60px}
.camp-race-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:50px}
.camp-race h2{font-size:clamp(64px,7vw,106px);line-height:1.04}.camp-race h2>span{color:var(--accent-ink)}.camp-race .button{margin-top:28px;gap:14px}
.camp-race-art{margin:0;display:flex;flex-direction:column;align-items:center;gap:22px;padding:44px 30px 28px;background:radial-gradient(70% 60% at 50% 42%,rgba(5,191,237,.16),transparent 70%),#e8e3d8;border:1px solid rgba(22,24,29,.08)}

.camp-race-art figcaption{font-size:12px;color:#53575b;text-align:center}
.camp-race-steps{list-style:none;padding:32px 0 0;margin:0;border-top:1px solid var(--paper-line);display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.camp-race-steps li{display:flex;gap:20px}.camp-race-steps li>span{font:38px/1 var(--display);color:var(--accent-ink)}.camp-race-steps h3{font-size:25px}.camp-race-steps p{font-size:14px;line-height:1.7;margin-top:8px;max-width:240px;color:#53575b}

/* 02 · Özellik sahnesi */
.camp-tools{position:relative;padding-block:50px 90px}
.camp-anchor{position:absolute;top:0}
.camp-tools-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:40px}.camp-tools-heading>p{font-size:15px;color:var(--muted);line-height:1.8;text-align:right}
.camp-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);grid-template-areas:"tabs stage" "detail stage";column-gap:72px;margin-top:46px;align-items:start}
.camp-tabs{grid-area:tabs;display:flex;flex-direction:column}
.camp-tab{display:flex;align-items:center;gap:18px;width:100%;padding:22px 0;background:none;border:0;border-bottom:1px solid var(--line);color:rgba(242,238,227,.62);text-align:left;position:relative;transition:color .25s,padding .35s cubic-bezier(.16,1,.3,1)}
.camp-tab::before{content:'';position:absolute;left:0;top:22%;bottom:22%;width:3px;background:var(--accent);transform:scaleY(0);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.camp-tab-no{font-size:12px;font-weight:700;letter-spacing:.1em}
.camp-tab strong{font:clamp(26px,2.6vw,40px)/1.15 var(--display);font-weight:400}
.camp-tab:hover{color:var(--paper)}
.camp-tab[aria-pressed=true]{color:var(--paper);padding-left:20px}.camp-tab[aria-pressed=true]::before{transform:scaleY(1)}.camp-tab[aria-pressed=true] .camp-tab-no{color:var(--accent)}
.camp-stage{grid-area:stage;position:relative;aspect-ratio:5/6;overflow:hidden;background:radial-gradient(75% 60% at 50% 45%,color-mix(in srgb,var(--stage) 42%,transparent),transparent 72%),#10171b;border:1px solid var(--line);transition:--stage .6s ease}
.camp-stage .app-device{width:min(320px,80%)}
.camp-feature-detail{grid-area:detail;padding-top:30px}
.camp-feature-detail .eyebrow{display:flex;align-items:center;gap:12px;color:var(--accent)}
.camp-premium{font-size:10px;letter-spacing:.12em;color:var(--paper);border:1px solid rgba(242,238,227,.4);border-radius:99px;padding:3px 9px}
.camp-premium[hidden]{display:none}
#camp-feature-copy{font-size:18px;line-height:1.75;max-width:460px;margin-top:14px;color:#d8dcde}
.camp-note{font-size:13px;color:var(--muted);margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}

/* 03 · Kamp kartı */
.camp-card-section{padding-block:36px 70px}
.camp-card-grid{display:grid;grid-template-columns:1fr minmax(0,400px);gap:80px;align-items:center;padding-top:50px}
.camp-card-section h2{font-size:clamp(58px,6.4vw,98px);line-height:1.04}.camp-card-section h2>span{color:var(--accent-ink)}
.camp-card-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px;max-width:520px}
.camp-card-form label{display:grid;gap:8px}.camp-card-form label:first-child{grid-column:1/-1}
.camp-card-form label>span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.camp-card-form input,.camp-card-form select{font:600 18px/1.2 var(--body);color:var(--ink);background:#fbf9f4;border:1px solid rgba(22,24,29,.25);border-radius:2px;padding:14px;min-height:52px;width:100%}
.camp-card-form input:focus-visible,.camp-card-form select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.camp-card-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.camp-card-actions .button{gap:12px}
.camp-card-form .camp-detail{grid-column:1/-1;margin-top:0}
.button.outline-dark{background:transparent;color:var(--ink);border:1px solid var(--ink)}.button.outline-dark:hover{background:var(--ink);color:var(--paper)}
.camp-card-preview{margin:0;display:grid;gap:14px;justify-items:center}
.camp-card-preview canvas{width:100%;max-width:400px;height:auto;aspect-ratio:9/16;border-radius:20px;background:var(--night);box-shadow:0 40px 80px -30px rgba(22,24,29,.55)}
.camp-card-preview figcaption{font-size:12px;color:#53575b}

/* İndir */
.camp-start{background:var(--petrol);padding-block:64px}
.camp-start-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}
.camp-start h2{font-size:clamp(45px,5vw,76px);margin-top:26px}.camp-start h2>span{color:#b8cfc6}.camp-start h2+p{font-size:16px;margin-top:22px}
.camp-download{display:grid;gap:22px;justify-items:start}
.camp-download-mobile{display:none}
.camp-qr{display:flex;align-items:center;gap:20px}.camp-qr img{border-radius:6px;background:var(--paper)}.camp-qr p{font-size:14px;line-height:1.6;color:#d0e0da}.camp-qr strong{font:24px/1.1 var(--display);font-weight:400;color:var(--paper)}
.store-badges{display:flex;flex-wrap:wrap;gap:12px}.store-badges a{display:block;transition:transform .2s}.store-badges a:hover{transform:translateY(-2px)}.store-badges img{height:50px;width:auto}
.camp-legal{font-size:13px;line-height:1.7;color:#d0e0da}
.camp-download>.text-link{font-size:14px}

@media(min-width:900px) and (max-width:1100px){.camp-race-grid,.camp-card-grid{gap:45px}.camp-feature-grid{column-gap:40px}}
@media(max-width:899px){
.camp-hero-grid{grid-template-columns:1fr;gap:10px}.camp-hero h1{font-size:clamp(80px,15vw,110px)}
.camp-hero-visual{height:420px;min-height:0}.camp-fan .store-shot{width:150px}
.camp-race-grid,.camp-card-grid{grid-template-columns:1fr;gap:40px}.camp-card-preview canvas{max-width:340px}
.camp-feature-grid{grid-template-columns:1fr;grid-template-areas:"tabs" "stage" "detail";margin-top:30px}
.camp-tabs{flex-direction:row;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;margin-inline:-28px;padding-inline:28px;scrollbar-width:none}.camp-tabs::-webkit-scrollbar{display:none}
.camp-tab{flex:0 0 auto;width:auto;scroll-snap-align:start;border:1px solid var(--line);border-radius:99px;padding:11px 18px;gap:10px}.camp-tab::before{display:none}
.camp-tab strong{font-size:20px}.camp-tab[aria-pressed=true]{background:var(--paper);color:var(--night);padding-left:18px}.camp-tab[aria-pressed=true] .camp-tab-no{color:var(--accent-ink)}

.camp-start-grid{grid-template-columns:1fr;gap:30px}
.camp-qr{display:none}.camp-download-mobile{display:inline-flex;min-width:240px;gap:14px}}
@media(max-width:599px){
.camp-hero-grid{padding-top:16px;padding-bottom:10px}.camp-back{margin-bottom:16px}.camp-hero h1{font-size:clamp(76px,22vw,118px);margin-top:18px}.camp-lead{font-size:15px;margin-top:20px}
.camp-hero-actions{flex-direction:column;align-items:flex-start;gap:6px;margin-top:24px}.camp-hero-actions .button{min-height:52px;font-size:14px}
.camp-hero-visual{height:330px;margin-top:6px}.camp-fan .store-shot{width:118px}.fan-left{transform:translate(-70%,6%) rotate(-11deg)}.fan-right{transform:translate(70%,6%) rotate(11deg)}.camp-runner{right:2%;top:6%;font-size:12px}
.camp-hero-bottom{overflow-x:auto;justify-content:flex-start;gap:22px;scrollbar-width:none}.camp-hero-bottom::-webkit-scrollbar{display:none}.camp-hero-bottom a{flex:0 0 auto;font-size:11px}
.camp-section-top{gap:12px}.camp-section-top>span{font-size:10px;text-align:right;max-width:120px}
.camp-race{padding-block:26px 40px}.camp-race-grid{padding-block:30px;gap:32px}.camp-race h2{font-size:clamp(60px,16vw,84px)}.camp-section-lead{font-size:15px}
.camp-race-art{padding:26px 16px 22px}
.camp-race-steps{grid-template-columns:1fr;gap:24px}.camp-race-steps li>span{font-size:34px;min-width:36px}
.camp-tools{padding-block:30px 50px}.camp-tools-heading{display:block;margin-top:30px}.camp-tools-heading h2{font-size:44px}.camp-tools-heading>p{font-size:14px;margin-top:18px;text-align:left}
.camp-tabs{margin-inline:-16px;padding-inline:16px}.camp-tab strong{font-size:18px}
#camp-feature-copy{font-size:16px}
.camp-card-section{padding-block:26px 50px}.camp-card-section h2{font-size:clamp(54px,14vw,76px)}.camp-card-grid{padding-top:30px}.camp-card-form{grid-template-columns:1fr}
.camp-start{padding-block:40px 48px}.camp-start h2{font-size:46px}.camp-download-mobile{width:100%}}
@media(prefers-reduced-motion:no-preference){
.camp-fan .store-shot{animation:camp-fan-in 1.1s cubic-bezier(.16,1,.3,1) both}.fan-left{animation-delay:.12s}.fan-right{animation-delay:.2s}
.camp-runner{animation:camp-runner 2.8s ease-in-out .9s infinite}
@keyframes camp-fan-in{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
@keyframes camp-runner{0%,100%{translate:0 0}50%{translate:0 -6px}}
.stage-shot.is-changing{animation:camp-swap .45s cubic-bezier(.16,1,.3,1)}@keyframes camp-swap{from{opacity:.2;translate:0 14px;scale:.97}to{opacity:1;translate:0 0;scale:1}}}
@media(prefers-reduced-motion:reduce){.camp-stage{transition:none}.camp-fan .store-shot,.camp-tab{transition:none}}

/* ---------- Hareketli sahneler: FitMate'in kendi içeriği, Kariyer Modu'nun baskı dili ----------
   Varsayılan hâl = son kare (JS yok / hareket azaltılmış). .play eklenince animasyonlar baştan oynar. */
.sc-card{position:absolute;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:12px;box-shadow:6px 6px 0 var(--stage,var(--ink))}
.sc-card>small,.sc-week-label{display:block;font:800 2.3cqw/1.2 var(--body);letter-spacing:.14em;color:rgba(22,24,29,.6)}
.scene{position:absolute;inset:0;container-type:inline-size;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.scene.is-active{opacity:1;visibility:visible;transition:opacity .35s}
.sc-meter{display:block;height:1.4cqw;border-radius:9px;background:rgba(22,24,29,.12);overflow:hidden}.sc-meter i{display:block;height:100%;width:calc(var(--w,0)*100%);background:var(--stage);border-radius:9px}
.sc-macro{display:grid;grid-template-columns:30cqw 1fr 18cqw;align-items:center;gap:2.5cqw;font:600 2.7cqw/1.2 var(--body)}.sc-macro em{font-style:normal;color:rgba(22,24,29,.7)}.sc-macro b{text-align:right}

/* Yemek: tara, işaretle, fırlat, say */
.sc-photo{position:absolute;left:6%;top:6%;width:60%;aspect-ratio:1;border:2px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:6px 6px 0 var(--stage)}
.sc-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sc-scan{position:absolute;left:0;right:0;top:0;height:22%;background:linear-gradient(transparent,rgba(255,75,43,.0) 40%,rgba(255,75,43,.55) 96%,#fff);opacity:0;pointer-events:none}
.sc-dot{position:absolute;left:calc(var(--x)*100%);top:calc(var(--y)*100%);width:5cqw;height:5cqw;margin:-2.5cqw 0 0 -2.5cqw;border-radius:50%;background:#fff;border:.9cqw solid var(--ink);box-shadow:0 0 0 1.4cqw rgba(255,255,255,.45)}
.sc-tag{position:absolute;left:3cqw;bottom:3cqw;background:rgba(11,15,20,.82);color:#fff;font:700 2.4cqw/1 var(--body);padding:1.6cqw 2.4cqw;border-radius:99px}
.sc-chip{position:absolute;right:5%;display:grid;gap:.6cqw;background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:2cqw 3cqw;box-shadow:4px 4px 0 var(--ink);font:800 3.4cqw/1.1 var(--body)}
.sc-chip small{font:700 2.6cqw/1.2 var(--body);color:var(--accent-ink)}
.sc-chip.c0{top:10%}.sc-chip.c1{top:25%;right:2%}.sc-chip.c2{top:40%;right:8%}
.sc-total{left:6%;right:6%;top:62%;padding:3.5cqw 4.5cqw}
.sc-total strong{display:flex;align-items:baseline;gap:2cqw;font:400 12cqw/1 var(--display);margin:1cqw 0 2.5cqw}.sc-total strong em{font:700 3.4cqw var(--body);font-style:normal}
.sc-macros{display:grid;gap:1.8cqw}
.play .sc-scan{animation:sc-scan 1.1s cubic-bezier(.4,0,.2,1) .15s both}
.play .sc-dot{animation:sc-pop .45s cubic-bezier(.34,1.56,.64,1) both}.play .sc-dot:nth-of-type(1){animation-delay:.55s}.play .sc-dot:nth-of-type(2){animation-delay:.7s}.play .sc-dot:nth-of-type(3){animation-delay:.85s}.play .sc-dot:nth-of-type(4){animation-delay:1s}.play .sc-dot:nth-of-type(5){animation-delay:1.15s}
.play .sc-tag{animation:sc-rise .4s ease-out 1.25s both}
.play .sc-chip{animation:sc-fly .6s cubic-bezier(.16,1,.3,1) both}.play .sc-chip.c0{animation-delay:1.35s}.play .sc-chip.c1{animation-delay:1.5s}.play .sc-chip.c2{animation-delay:1.65s}
.play .sc-total{animation:sc-rise .55s cubic-bezier(.16,1,.3,1) 1.8s both}
.play .sc-meter i{animation:sc-fill 1s cubic-bezier(.16,1,.3,1) 2.1s both}

/* Antrenman: slot makinesi + hafta kartları */
.sc-form{left:6%;right:6%;top:5%;padding:3.5cqw 4.5cqw}
.sc-sets{display:grid;grid-template-columns:1fr 1fr;gap:2cqw 3cqw;margin-top:2.5cqw}
.sc-set{display:grid;gap:.6cqw;border:1.5px solid rgba(22,24,29,.22);border-radius:8px;padding:1.8cqw 2.4cqw;background:#fff;overflow:hidden}
.sc-set em{font:700 2.2cqw/1 var(--body);font-style:normal;color:rgba(22,24,29,.55);letter-spacing:.06em;text-transform:uppercase}.sc-set b{font:800 3.3cqw/1.2 var(--body);white-space:nowrap}
.sc-set b.is-rolling{color:var(--accent-ink);filter:blur(.4px)}
.sc-week{position:absolute;left:6%;right:6%;top:52%;display:grid;grid-template-columns:repeat(4,1fr);gap:2.4cqw}
.sc-week-label{grid-column:1/-1;color:rgba(242,238,227,.7)}
.sc-day{display:grid;gap:1cqw;align-content:start;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:2.4cqw;box-shadow:4px 4px 0 var(--stage);min-height:27cqw}
.sc-day b{font:400 6cqw/1 var(--display);color:var(--accent-ink)}.sc-day span{font:800 2.8cqw/1.15 var(--body)}.sc-day small{font:600 2.2cqw/1.3 var(--body);color:rgba(22,24,29,.62)}
.play .sc-form{animation:sc-rise .5s cubic-bezier(.16,1,.3,1) both}
.play .sc-week-label{animation:sc-rise .4s ease-out 1.9s both}
.play .sc-day{animation:sc-deal .55s cubic-bezier(.16,1,.3,1) both}.play .sc-day.d0{animation-delay:2s}.play .sc-day.d1{animation-delay:2.12s}.play .sc-day.d2{animation-delay:2.24s}.play .sc-day.d3{animation-delay:2.36s}

/* Beslenme: dolap → yapay zekâ → öğünler */
.sc-pantry-row{position:absolute;left:6%;right:6%;top:5%;display:flex;flex-wrap:wrap;justify-content:center;gap:2cqw}
.sc-pantry{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:99px;padding:1.6cqw 3.2cqw;font:800 3.1cqw/1 var(--body);box-shadow:3px 3px 0 var(--stage)}
.sc-ai{position:absolute;left:50%;top:20%;width:13cqw;height:13cqw;margin-left:-6.5cqw;border-radius:50%;display:grid;place-items:center;background:var(--stage);color:var(--ink);font:400 5cqw/1 var(--display);border:2px solid var(--ink);box-shadow:0 0 0 2.5cqw rgba(255,184,28,.18),0 0 9cqw rgba(255,184,28,.55)}
.sc-meals{left:6%;right:6%;top:37%;padding:3.2cqw 4.2cqw;display:grid;gap:1.8cqw}
.sc-meal{display:grid;grid-template-columns:22cqw 1fr auto;align-items:center;gap:2cqw;border-top:1.5px solid rgba(22,24,29,.14);padding-top:1.8cqw}
.sc-meal b{font:800 3.2cqw/1 var(--body)}.sc-meal small{font:600 2.4cqw/1.25 var(--body);color:rgba(22,24,29,.62)}.sc-meal strong{font:400 4.8cqw/1 var(--display)}
.sc-sum{display:flex;align-items:baseline;gap:1.5cqw;margin-top:.6cqw;font:400 6.4cqw/1 var(--display)}.sc-sum em{font:700 2.6cqw var(--body);font-style:normal;color:rgba(22,24,29,.6)}
.play .sc-pantry{animation:sc-into-ai 1.4s cubic-bezier(.65,0,.35,1) both}.play .sc-pantry.p0{animation-delay:.1s}.play .sc-pantry.p1{animation-delay:.2s}.play .sc-pantry.p2{animation-delay:.3s}.play .sc-pantry.p3{animation-delay:.4s}.play .sc-pantry.p4{animation-delay:.5s}
.play .sc-ai{animation:sc-think 1.5s ease-in-out .3s both}
.play .sc-meals{animation:sc-rise .5s cubic-bezier(.16,1,.3,1) 1.6s both}
.play .sc-meal{animation:sc-deal .5s cubic-bezier(.16,1,.3,1) both}.play .sc-meal.m0{animation-delay:1.8s}.play .sc-meal.m1{animation-delay:1.95s}.play .sc-meal.m2{animation-delay:2.1s}.play .sc-meal.m3{animation-delay:2.25s}

/* Hedef: halka + sayılar */
.sc-ring{position:absolute;left:6%;top:5%;width:52%;aspect-ratio:1}
.sc-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sc-ring-track{fill:none;stroke:rgba(242,238,227,.12);stroke-width:16}
.sc-ring-fill{fill:none;stroke:var(--stage);stroke-width:16;stroke-linecap:round;stroke-dasharray:527.8;stroke-dashoffset:202.8;filter:drop-shadow(0 0 10px rgba(5,191,237,.5))}
.sc-ring-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:400 11cqw/1 var(--display);color:var(--paper)}.sc-ring-num small{font:800 2.4cqw var(--body);letter-spacing:.14em;color:rgba(242,238,227,.7);margin-top:1.4cqw}
.sc-left{right:5%;top:12%;width:36%;padding:3cqw 3.6cqw;display:grid;gap:1.2cqw}
.sc-left strong{font:400 7cqw/1 var(--display);color:var(--ink)}.sc-left>small{font:600 2.4cqw/1.3 var(--body);color:rgba(22,24,29,.62)}
.sc-io{display:grid;gap:.8cqw;margin-top:1cqw;border-top:1.5px solid rgba(22,24,29,.14);padding-top:1.4cqw}.sc-io em{font:600 2.5cqw var(--body);font-style:normal;display:flex;justify-content:space-between}
.sc-goals{left:6%;right:6%;top:64%;padding:3.6cqw 4.5cqw;display:grid;gap:2.4cqw}
.play .sc-ring-fill{animation:sc-ring 1.6s cubic-bezier(.16,1,.3,1) .2s both}
.play .sc-left{animation:sc-fly .6s cubic-bezier(.16,1,.3,1) .7s both}
.play .sc-goals{animation:sc-rise .55s cubic-bezier(.16,1,.3,1) 1s both}
.play .sc-goals .sc-meter i{animation:sc-fill 1.1s cubic-bezier(.16,1,.3,1) 1.25s both}

@keyframes sc-scan{0%{opacity:1;transform:translateY(-100%)}85%{opacity:1}100%{opacity:0;transform:translateY(460%)}}
@keyframes sc-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes sc-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes sc-fly{from{opacity:0;transform:translateX(-40px) scale(.85) rotate(-4deg)}to{opacity:1;transform:none}}
@keyframes sc-deal{from{opacity:0;transform:translateY(30px) rotate(3deg)}to{opacity:1;transform:none}}
@keyframes sc-fill{from{width:0}}
@keyframes sc-ring{from{stroke-dashoffset:527.8}}
@keyframes sc-think{0%{transform:scale(.6);opacity:0}35%{transform:scale(1.15);opacity:1}55%{transform:scale(.95)}75%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes sc-into-ai{0%{opacity:0;transform:translateY(-18px)}20%{opacity:1;transform:none}60%{opacity:1;transform:none}80%{opacity:.2;transform:translateY(14cqw) scale(.4)}100%{opacity:1;transform:none}}

/* Adım yarışı panosu */
.race-board{position:relative;width:min(440px,100%);background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:16px;box-shadow:8px 8px 0 var(--ink);padding:20px 20px 16px;container-type:inline-size}
.rb-head{display:flex;justify-content:space-between;align-items:center;font:800 12px/1 var(--body);letter-spacing:.14em;color:rgba(22,24,29,.6);margin-bottom:12px}.rb-head b{color:var(--accent-ink)}
.rb-rows{list-style:none;margin:0;padding:0;position:relative;height:calc(4*64px)}
.rb-row{position:absolute;left:0;right:0;top:calc(var(--slot,0)*64px);height:56px;display:grid;grid-template-columns:22px 38px 1fr 26% 82px;align-items:center;gap:10px;padding:0 12px;border:1.5px solid rgba(22,24,29,.14);border-radius:12px;background:#fff;transition:top .5s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s}
.rb-row.is-me{border:2px solid var(--ink);background:#fff4ec;box-shadow:4px 4px 0 var(--accent)}
.rb-rank{font:400 24px/1 var(--display)}.rb-row.is-me .rb-rank{color:var(--accent-ink)}
.rb-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef0f1;font:800 15px var(--body)}.rb-row.is-me .rb-av{background:var(--accent);color:#fff}
.rb-name{font:800 16px/1.1 var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-bar{height:8px;border-radius:9px;background:rgba(22,24,29,.1);overflow:hidden}.rb-bar i{display:block;height:100%;width:calc(var(--w,0)*100%);background:#9aa3a8;border-radius:9px}.rb-row.is-me .rb-bar i{background:var(--accent)}
.rb-num{font:400 22px/1 var(--display);text-align:right;font-variant-numeric:tabular-nums}
.rb-stamp{position:absolute;right:-14px;top:-18px;background:var(--paper);color:var(--accent);border:4px solid var(--accent);font:400 26px/1 var(--display);padding:8px 14px;transform:rotate(6deg);box-shadow:4px 4px 0 var(--ink)}
.race-board.is-racing .rb-stamp{opacity:0;transform:rotate(6deg) scale(2.2)}
.race-board.is-done .rb-stamp{animation:rb-slam .35s cubic-bezier(.34,1.56,.64,1) both}
.rb-replay{margin-top:12px;background:none;border:0;color:var(--ink);font:700 13px var(--body);text-decoration:underline;text-underline-offset:4px;padding:6px 0}
@keyframes rb-slam{from{opacity:0;transform:rotate(6deg) scale(2.2)}to{opacity:1;transform:rotate(6deg) scale(1)}}
@media(max-width:599px){.rb-row{grid-template-columns:18px 32px 1fr 74px;gap:8px;padding:0 10px}.rb-bar{display:none}.rb-av{width:32px;height:32px}.rb-name{font-size:15px}.rb-num{font-size:20px}.rb-stamp{font-size:20px;right:-6px}}
@media(prefers-reduced-motion:reduce){.scene,.scene *{animation:none!important;transition:none!important}.rb-row{transition:none}.race-board .rb-stamp{animation:none!important;opacity:1!important;transform:rotate(6deg)!important}}
.rb-row:nth-child(2){--slot:1}.rb-row:nth-child(3){--slot:2}.rb-row:nth-child(4){--slot:3}
.sc-card>small,.sc-week-label,.sc-set em,.sc-day small,.sc-meal small,.sc-left>small,.sc-io em,.sc-tag,.sc-chip small,.sc-macro,.sc-sum em,.sc-ring-num small{font-size:max(11px,var(--fs,2.4cqw))}
.sc-day small{--fs:2.3cqw}.sc-macro{--fs:2.7cqw}.sc-io em{--fs:2.5cqw}.sc-chip small{--fs:2.6cqw}
@media(max-width:599px){.sc-day small{display:none}.sc-meal{grid-template-columns:1fr auto}.sc-meal small{grid-column:1/-1;grid-row:2}.sc-chip{padding:1.6cqw 2.4cqw}.sc-left{width:40%}}
@media(max-width:599px){.camp-stage{aspect-ratio:10/13.4}.sc-meals{top:31%;gap:1.2cqw}.sc-meal{padding-top:1.2cqw}.sc-set b{white-space:normal}.sc-week{top:56%}.sc-total{top:58%}.sc-goals{top:60%}.rb-stamp{top:-26px;right:-4px}}
