/* «Свет»: тёмное пыльное пространство и диагональный луч; карточки — дымчатое стекло, сквозь которое светит луч; тени падают от света */
:root:root:root{color-scheme:dark;--ink:#f6e8d6;--mut:rgba(246,232,214,.62);--line:rgba(255,220,180,.09);
 --mb:#ffb347;--ml:#86dc7c;--md:#a395ff;--ms:#ff86ad;--ma:#ff8f52;--mw:#74c8ff;--mk:#d9c2a5;
 --plate:rgba(24,10,6,.56);--rim:rgba(255,214,170,.26);--sx:16px;--sy:22px;--glow:rgba(255,170,90,.38);--bg:url(art/L_morning.jpg);--bgc:#3a1309}
html[data-light=evening]:root:root{--plate:rgba(28,8,6,.58);--sx:-16px;--glow:rgba(255,110,60,.4);--bg:url(art/L_evening.jpg);--bgc:#2e0c08}
html[data-light=night]:root:root{--ink:#e6edf8;--mut:rgba(220,230,245,.6);--line:rgba(190,210,240,.09);--plate:rgba(8,12,22,.6);--rim:rgba(180,205,245,.24);--sx:-12px;--glow:rgba(150,180,240,.3);--bg:url(art/L_night.jpg);--bgc:#0b111d}
html{background:var(--bgc)!important}body{background:transparent!important;color:var(--ink)}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:var(--bg) center/cover no-repeat}
#dust{position:fixed;inset:0;z-index:-1;pointer-events:none}
.top{background:linear-gradient(180deg,rgba(10,4,2,.45),rgba(10,4,2,0))!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ink)}
.top .ibtn{color:var(--ink)}.datebtn small{color:var(--mut)!important}
.datebtn b,.ring .c b,.sec-h h3,.repbtn b{font-family:ui-serif,"New York","Iowan Old Style",Georgia,serif!important;font-weight:600}
.datebtn b{font-size:22px;letter-spacing:.01em}.sec-h h3{font-size:20px}
.budget{background:linear-gradient(155deg,rgba(255,236,214,.17),rgba(255,236,214,.04))!important;backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35);
 border:1px solid rgba(255,220,180,.14);border-top-color:var(--rim);border-radius:26px!important;color:var(--ink);
 box-shadow:var(--sx) var(--sy) 50px -10px rgba(0,0,0,.55),0 0 80px -20px var(--glow)!important}
.budget .rk,.budget .mac span,.budget .mac em,.ring .c small{color:var(--mut)!important}.budget .rk b,.budget .mac b{color:var(--ink)}
.budget .rsep{background:var(--line)}.budget .mbar{background:rgba(255,255,255,.08)}
.ring svg circle:first-child{stroke:rgba(255,255,255,.09)!important}
.ring svg{filter:drop-shadow(0 0 10px var(--glow))}
.ring .c b{font-size:40px;text-shadow:0 0 24px var(--glow)}
.sec,.repbtn{background:var(--plate)!important;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border:1px solid rgba(255,220,180,.06);border-top-color:var(--rim);
 border-radius:22px!important;color:var(--ink);box-shadow:var(--sx) var(--sy) 40px -12px rgba(0,0,0,.6)!important;position:relative;overflow:hidden}
.sec[data-m]::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--c);box-shadow:0 0 12px 1px var(--c)}
.sec[data-m=b]{--c:var(--mb)}.sec[data-m=l]{--c:var(--ml)}.sec[data-m=d]{--c:var(--md)}.sec[data-m=s]{--c:var(--ms)}.sec[data-m=a]{--c:var(--ma)}.sec[data-m=w]{--c:var(--mw)}.sec[data-m=k]{--c:var(--mk)}
.sec .row{border-top-color:var(--line)}
.sec small,.sec .sec-h .k,.sec .empty,.repbtn small{color:var(--mut)!important}
.sec[data-m] .mtile{background:color-mix(in srgb,var(--c) 16%,transparent)!important;color:var(--c)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent)}
.sec[data-m] .plus{background:transparent!important;color:var(--c)!important;box-shadow:inset 0 0 0 1.5px var(--c),0 0 14px -2px var(--c)}
.repbtn .mtile{background:rgba(255,255,255,.08)!important;color:var(--ink)!important}
.sec[data-m=w] .btn{background:rgba(255,255,255,.07)!important;color:var(--mw)!important;box-shadow:inset 0 0 0 1px rgba(116,200,255,.25)}
.sec[data-m=w] .cups .f{color:var(--mw);filter:drop-shadow(0 0 4px rgba(116,200,255,.6))}.sec[data-m=w] .cups .e{color:rgba(255,255,255,.18)}
#tabs{background:rgba(12,5,3,.62)!important;backdrop-filter:blur(18px) saturate(1.3);border-top-color:rgba(255,220,180,.08)!important}
html[data-light=night] #tabs{background:rgba(6,9,16,.66)!important}
.tab{color:var(--mut)!important}.tab.on{color:var(--ink)!important}.tab.on svg{background:rgba(255,255,255,.1)!important}

#walker{margin:-2px 18px 14px;position:relative;z-index:1}
#walker .lane{position:relative;height:58px}
#walker .lane::before{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28) 8%,rgba(255,255,255,.28) 92%,transparent)}
#walker .done{position:absolute;left:0;bottom:8px;height:2px;width:calc(var(--p)*100%);border-radius:2px;background:linear-gradient(90deg,transparent,var(--glowc,#ffd28a));box-shadow:0 0 10px var(--glowc,#ffd28a)}
#walker .flag{position:absolute;right:6px;bottom:9px;width:2px;height:22px;background:rgba(255,255,255,.55)}
#walker .flag::after{content:"";position:absolute;left:2px;top:0;border-left:11px solid var(--glowc,#ffd28a);border-top:5px solid transparent;border-bottom:5px solid transparent;filter:drop-shadow(0 0 4px var(--glowc,#ffd28a))}
#walker .lbl{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--mut);margin-top:2px}
#walker .lbl b{font-weight:600;color:var(--ink);font-family:ui-serif,Georgia,serif;font-size:13px;letter-spacing:.01em}
html[data-light=evening]:root:root{--glowc:#ffa66b}html[data-light=night]:root:root{--glowc:#bcd0ff}#walker .lbl{text-shadow:0 1px 8px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.5)}

#walker .fig{position:absolute;bottom:4px;left:calc(var(--p)*100%);transform:translateX(-50%);transition:left var(--dur,1.5s) cubic-bezier(.45,.05,.55,.95);width:40px;height:58px}
#walker .done{transition:width var(--dur,1.5s) cubic-bezier(.45,.05,.55,.95)}
#walker .man{width:40px;height:58px;display:block;overflow:visible;filter:drop-shadow(0 0 7px var(--glow))}
#walker .fig.left .man{transform:scaleX(-1)}
#walker .sh{position:absolute;bottom:2px;left:50%;width:58px;height:6px;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);transform-origin:0 50%;transform:skewX(var(--shk,-55deg))}
#walker.over .flag::after{border-left-color:#ff7a6b}
#walker .lane{height:62px}
@media (prefers-reduced-motion:reduce){.man *{animation:none!important}#walker .fig,#walker .done{transition:none}}
html[data-light=morning]:root:root{--glowc:#ffd28a}
html{--manmid:#3a2519;--mandark:#170e0a}
html[data-light=night]:root:root{--manmid:#26324a;--mandark:#0d1220}
#walker .lane{height:70px}
.man .torso,.man .face{fill:url(#rim)}
.man .limb{fill:none;stroke:url(#rim);stroke-width:5.4;stroke-linecap:round}
.man .arm .limb{stroke-width:4.6}.man .arm .edge{fill:none;stroke:var(--mandark);stroke-width:6.6;stroke-linecap:round}
.man .back .limb{stroke:var(--mandark)}.man .back .hand{fill:var(--mandark)}.man .hand{fill:var(--manmid)}
.man .shoe{fill:var(--mandark)}
.man .eye{fill:#fff3e2}.man .cheek{fill:none;stroke:var(--glowc);stroke-width:.9;stroke-linecap:round;opacity:.8}
.man .cap,.man .cuff{fill:var(--capc)}.man .cuff{opacity:.85}
.man .scarf,.man .tail,.man .pom{fill:var(--glowc)}
.man .shd{fill:rgba(0,0,0,.35)}
.man .leg,.man .arm,.man .head,.man .bob,.man .tail{transform-box:view-box}
.man .leg{transform-origin:22px 41px}.man .arm{transform-origin:22px 26px}
.man .head{transform-origin:22px 21px;animation:look 7s ease-in-out infinite}
.man .bob{transform-origin:22px 57px;animation:breathe 3.2s ease-in-out infinite}
.man .tail{transform-origin:16px 24.4px;animation:flut 2.4s ease-in-out infinite}
.walk .man .bob{animation:bob .52s linear infinite}
.walk .man .leg,.walk .man .arm{animation:swing .52s ease-in-out infinite}
.walk .man .leg.back,.walk .man .arm.front{animation-delay:-.26s}
.walk .man .tail{animation:flut .26s ease-in-out infinite}
.walk .man .head{animation:none;transform:rotate(4deg)}
.arrive .man .arm.front{animation:wave 1s ease-in-out}
@keyframes swing{0%,100%{transform:rotate(28deg)}50%{transform:rotate(-28deg)}}
@keyframes bob{0%,50%,100%{transform:translateY(0)}25%,75%{transform:translateY(-1.8px)}}
@keyframes breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.025)}}
@keyframes look{0%,40%,100%{transform:rotate(0)}48%,62%{transform:rotate(-8deg)}70%{transform:rotate(3deg)}}
@keyframes flut{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
@keyframes wave{0%,100%{transform:rotate(0)}30%{transform:rotate(-155deg)}50%{transform:rotate(-125deg)}70%{transform:rotate(-155deg)}}
html:root:root{--capc:#7a2e22}html[data-light=evening]:root:root{--capc:#5b1f1a}html[data-light=night]:root:root{--capc:#2c3b63}
.stage{position:relative;height:84px;margin:-6px 0 4px;pointer-events:none}
.stage canvas{position:absolute;left:0;top:0;width:100%;height:84px;display:block}
.stage::after{content:"";position:absolute;left:14px;right:14px;top:70px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16) 12%,rgba(255,255,255,.16) 88%,transparent)}
.cups.glx{gap:6px}.cups.glx svg{width:25px;height:40px;overflow:visible}

#manlayer{position:fixed;top:0;left:0;height:84px;z-index:-1;pointer-events:none;will-change:transform}
.gapA{height:84px;margin:-6px 0 4px}.gapZ{height:96px}

/* остальные экраны: те же стеклянные плашки */
.card{background:var(--plate)!important;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border:1px solid rgba(255,220,180,.06);border-top-color:var(--rim);box-shadow:0 10px 30px -12px rgba(0,0,0,.55)}
.card h3,.card .lab{font-family:ui-serif,"New York","Iowan Old Style",Georgia,serif}
/* листы и элементы, где приложение красит фоном страницы */
:root:root:root{--sheetc:#1c100b}html[data-light=night]:root:root{--sheetc:#0e1322}
.sheet{background:var(--sheetc)!important}.sh-f,.search{background:var(--sheetc)!important}
.chip.on,.cd.sel,.cd.sel small,#toast{color:#1a0e09!important}
/* ===== «Свет» для листов и общих элементов ===== */
:root:root:root{--accent:var(--glowc);--accent-ink:#1a0e09;--accent-soft:color-mix(in srgb,var(--glowc) 16%,transparent);
 --soft:rgba(255,235,215,.07);--card:rgba(255,235,215,.05);--muted:var(--mut)}
.tile{background:var(--plate)!important;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border:1px solid rgba(255,220,180,.06);border-top-color:var(--rim);box-shadow:0 10px 30px -12px rgba(0,0,0,.55)!important}
#tabs .tab.on{color:var(--glowc)}#tabs .tab.on svg{background:color-mix(in srgb,var(--glowc) 16%,transparent)}
.btn{background:rgba(255,235,215,.07);box-shadow:inset 0 0 0 1px rgba(255,220,180,.1);color:var(--ink)}
.btn.pri{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 82%,#fff),var(--accent));color:#1a0e09;box-shadow:0 10px 26px -10px var(--accent),inset 0 1px 0 rgba(255,255,255,.45)}
.btn.bad{color:#ff8f7f}
.inp{background:rgba(0,0,0,.24);border-color:rgba(255,220,180,.13);color:var(--ink)}
.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.inp::placeholder{color:rgba(246,232,214,.38)}
.seg{background:rgba(0,0,0,.26);box-shadow:inset 0 0 0 1px rgba(255,220,180,.07)}
.seg button.on{background:color-mix(in srgb,var(--accent) 20%,transparent)!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)!important}
.chip{background:rgba(255,235,215,.07);box-shadow:inset 0 0 0 1px rgba(255,220,180,.08)}
.chip.on{background:var(--accent)!important;color:#1a0e09!important;box-shadow:0 6px 18px -8px var(--accent)}
.link{color:var(--accent)}
.preview{background:rgba(0,0,0,.22)!important;box-shadow:inset 0 0 0 1px rgba(255,220,180,.08)!important}
.preview b{font-family:ui-serif,"New York",Georgia,serif;font-weight:600}
.prog{background:rgba(255,255,255,.08)}.prog i{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 60%,transparent),var(--accent));box-shadow:0 0 12px var(--accent)}
/* лист */
.ov{background:rgba(8,3,2,.5)!important;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.sheet{--acc:var(--glowc);--accent:var(--acc);background:linear-gradient(180deg,rgba(46,22,14,.8),rgba(20,9,6,.93))!important;backdrop-filter:blur(26px) saturate(1.35);-webkit-backdrop-filter:blur(26px) saturate(1.35);
 border-top:1px solid var(--rim);box-shadow:0 -24px 60px -28px var(--acc),0 -1px 0 rgba(255,255,255,.05);overflow:hidden}
html[data-light=night] .sheet{background:linear-gradient(180deg,rgba(20,28,48,.8),rgba(8,11,20,.93))!important}
.sheet::before{content:"";position:absolute;left:50%;top:7px;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:rgba(255,235,215,.22);z-index:2}
.sheet::after{content:"";position:absolute;left:-20%;top:-120px;width:90%;height:260px;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 30%,transparent),transparent);pointer-events:none;opacity:.55}
.sheet[data-m=b]{--acc:var(--mb)}.sheet[data-m=l]{--acc:var(--ml)}.sheet[data-m=d]{--acc:var(--md)}.sheet[data-m=s]{--acc:var(--ms)}.sheet[data-m=a]{--acc:var(--ma)}.sheet[data-m=w]{--acc:var(--mw)}.sheet[data-m=k]{--acc:var(--mk)}
.sh-h{padding-top:18px;position:relative;z-index:1}
.sh-h h2{font-family:ui-serif,"New York","Iowan Old Style",Georgia,serif;font-size:21px;font-weight:600;color:var(--ink)}
.sh-h h2::first-letter{color:var(--acc)}
.sh-b{position:relative;z-index:1}
.sh-f{background:transparent!important;border-top-color:rgba(255,220,180,.08)!important;position:relative;z-index:1}
.search{background:transparent!important}
.x{background:rgba(255,235,215,.08)!important;box-shadow:inset 0 0 0 1px rgba(255,220,180,.1);color:var(--ink)}
.sheet .list,.sheet .card{background:rgba(255,235,215,.035)!important;box-shadow:inset 0 0 0 1px rgba(255,220,180,.07)!important;backdrop-filter:none;-webkit-backdrop-filter:none;border:0}
.sheet .row b{font-weight:500}
.sheet .row:active{background:color-mix(in srgb,var(--acc) 10%,transparent)}
.sheet .lab,.sheet .field>label{color:var(--mut);letter-spacing:.02em}
.ri{background:rgba(255,235,215,.045)!important;box-shadow:inset 0 0 0 1px rgba(255,220,180,.07)!important}
.ri.ok .dot{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.cd.v{background:rgba(255,235,215,.05)}.cd.sel{background:var(--acc)!important;box-shadow:0 6px 18px -8px var(--acc)}
.cd.today{box-shadow:inset 0 0 0 1.5px var(--acc)}.cd.plan{outline-color:var(--acc)}
/* ===== поля ввода: явные цвета, без системного оформления iOS ===== */
:root:root:root{--fieldbg:#25140d;--fieldink:#f6e8d6}html[data-light=night]:root:root{--fieldbg:#121a2c;--fieldink:#e6edf8}
input.inp,textarea.inp,select.inp,.sheet input,.sheet textarea{-webkit-appearance:none!important;appearance:none!important;background-color:var(--fieldbg)!important;color:var(--fieldink)!important;-webkit-text-fill-color:var(--fieldink)!important;caret-color:var(--accent);color-scheme:dark;opacity:1}
input.inp:focus,textarea.inp:focus,select.inp:focus{background-color:var(--fieldbg)!important;color:var(--fieldink)!important;-webkit-text-fill-color:var(--fieldink)!important}
input.inp::placeholder,textarea.inp::placeholder{color:rgba(246,232,214,.42)!important;-webkit-text-fill-color:rgba(246,232,214,.42)!important;opacity:1}
input.inp::selection,textarea.inp::selection{background:rgba(255,190,120,.42);color:#fff;-webkit-text-fill-color:#fff}
input.inp:-webkit-autofill,input.inp:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px var(--fieldbg) inset!important;-webkit-text-fill-color:var(--fieldink)!important}
input.inp:disabled{opacity:.55}
input[type=search].inp::-webkit-search-decoration,input[type=search].inp::-webkit-search-cancel-button{-webkit-appearance:none}
input[type=date].inp{min-height:46px;line-height:24px;text-align:left}
input[type=date].inp::-webkit-date-and-time-value{text-align:left;color:var(--fieldink)}
input[type=date].inp::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7}
select.inp option{background:#1c100b;color:#f6e8d6}
/* ===== кольцо калорий: контраст в луче ===== */
.budget{background:linear-gradient(155deg,rgba(40,18,10,.34),rgba(16,7,4,.5))!important}
html[data-light=night] .budget{background:linear-gradient(155deg,rgba(18,26,46,.36),rgba(6,9,18,.52))!important}
.ring svg circle:first-child{stroke:rgba(0,0,0,.38)!important}
.ring svg{filter:drop-shadow(0 0 1px rgba(0,0,0,.75)) drop-shadow(0 3px 8px rgba(0,0,0,.45)) drop-shadow(0 0 12px var(--glow))}
.ring .c{border-radius:50%;inset:22px!important;background:radial-gradient(circle,rgba(12,5,3,.5),rgba(12,5,3,.18) 70%,transparent 72%)}
.ring .c b{text-shadow:0 1px 2px rgba(0,0,0,.65),0 0 22px var(--glow)}
.ring .c small{color:rgba(246,232,214,.8)!important;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.budget .rk,.budget .mac span,.budget .mac em{color:rgba(246,232,214,.78)!important;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.budget .rk b,.budget .mac b{text-shadow:0 1px 2px rgba(0,0,0,.6)}
.budget .rk i{box-shadow:0 0 0 1.5px rgba(0,0,0,.35),0 0 8px currentColor}
.budget .mbar{background:rgba(0,0,0,.32)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.budget .rsep{background:rgba(255,220,180,.16)}
/* ===== «Что съесть дальше» ===== */
.advbtn{background:linear-gradient(180deg,color-mix(in srgb,var(--glowc) 82%,#fff),var(--glowc))!important;color:#1a0e09!important;box-shadow:0 10px 26px -12px var(--glowc),inset 0 1px 0 rgba(255,255,255,.45)}
.advhead div{background:rgba(0,0,0,.24)!important;box-shadow:inset 0 0 0 1px rgba(255,220,180,.07)}.advhead b{font-family:ui-serif,"New York",Georgia,serif!important}
.advtip{background:color-mix(in srgb,var(--acc,var(--glowc)) 12%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc,var(--glowc)) 30%,transparent)}
.advmeal{background:rgba(255,235,215,.035)!important;box-shadow:inset 0 0 0 1px rgba(255,220,180,.07)!important}.advmeal::before{box-shadow:0 0 12px var(--c)}
.advmeal .mh b{font-family:ui-serif,"New York",Georgia,serif;font-weight:600}
.advit{border-top-color:rgba(255,220,180,.06)!important}.advsw{background:rgba(255,235,215,.06)!important;box-shadow:inset 0 0 0 1px rgba(255,220,180,.1);color:var(--acc,var(--glowc))!important}
.advalt.cur{background:color-mix(in srgb,var(--acc,var(--glowc)) 10%,transparent)!important}.advalt.cur .ck{background:var(--acc,var(--glowc))!important;box-shadow:0 0 10px var(--acc,var(--glowc))}
.chip.off{background:rgba(255,120,100,.14)!important;color:#ffb0a2!important;box-shadow:inset 0 0 0 1px rgba(255,120,100,.4)!important}
