:root{--bg: #f6f4ef;--card: #ffffff;--ink: #1d2726;--muted: #687674;--line: #e6e2d9;--brand: #134e4a;--brand-ink: #ffffff;--brand-soft: #e3efed;--accent: #e8890c;--ok: #15803d;--ok-soft: #e7f5ec;--ko: #c2410c;--ko-soft: #fdeee4;--c-sommeil: #5b5bd6;--c-repas: #0e8fa8;--c-sport: #d9466b;--c-maison: #b98a10;--c-ecrans: #7c4fd1;--shadow: 0 1px 2px rgba(20, 30, 30, .05), 0 4px 16px rgba(20, 30, 30, .05);--radius: 18px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1615;--card: #18211f;--ink: #e9efed;--muted: #94a3a0;--line: #26312f;--brand: #5fb8ad;--brand-ink: #0b1312;--brand-soft: #1d302d;--accent: #f5a524;--ok: #4ade80;--ok-soft: #15291d;--ko: #fb923c;--ko-soft: #2d1d12;--c-sommeil: #8b8cf0;--c-repas: #38bdd8;--c-sport: #f0718f;--c-maison: #e0b33a;--c-ecrans: #a78bfa;--shadow: none;color-scheme:dark}}:root[data-theme=dark]{--bg: #0f1615;--card: #18211f;--ink: #e9efed;--muted: #94a3a0;--line: #26312f;--brand: #5fb8ad;--brand-ink: #0b1312;--brand-soft: #1d302d;--accent: #f5a524;--ok: #4ade80;--ok-soft: #15291d;--ko: #fb923c;--ko-soft: #2d1d12;--c-sommeil: #8b8cf0;--c-repas: #38bdd8;--c-sport: #f0718f;--c-maison: #e0b33a;--c-ecrans: #a78bfa;--shadow: none;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:16px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}h1{font-size:28px;line-height:1.15;margin:4px 0 6px;letter-spacing:-.02em}.h2{font-size:15px;margin:0 0 10px;letter-spacing:-.01em}p{margin:0}.muted{color:var(--muted)}.small{font-size:13.5px}.strong{font-weight:600}.center{text-align:center}.error{color:var(--ko)}.splash{min-height:100vh;display:grid;place-items:center}.splash img{width:72px;border-radius:18px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5;transform:scale(.96)}}.app{min-height:100vh}.main{padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 96px);max-width:640px;margin:0 auto}.page{display:flex;flex-direction:column;gap:12px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:space-around;padding:6px 4px calc(env(safe-area-inset-bottom) + 6px);background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-top:1px solid var(--line)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;color:var(--muted);border-radius:12px}.tab.active{color:var(--brand);font-weight:600}.card{background:var(--card);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);border:1px solid var(--line)}.card.note{font-size:14px;color:var(--muted)}.card.banner{background:var(--brand-soft);border-color:transparent;font-size:14.5px}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 16px;font-weight:600;font-size:15px}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn.small{padding:7px 12px;font-size:14px}.btn.block{width:100%}.btn:disabled{opacity:.55}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);font-size:22px;line-height:1;display:grid;place-items:center;flex:none}.icon-btn:disabled{opacity:.35}.input,.field input,.field select,.set-row input,textarea.input{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:11px 12px;font-size:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.field.inline{flex-direction:row;align-items:center;justify-content:space-between}.field.inline input{width:auto}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px}.set-row input{width:auto;max-width:52%;padding:8px 10px;text-align:right}.set-row .row input{max-width:110px}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.switch-row input{width:24px;height:24px;accent-color:var(--brand)}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login-card{width:100%;max-width:380px;text-align:center;display:flex;flex-direction:column;gap:10px}.login-logo{margin:0 auto 6px;border-radius:18px;box-shadow:var(--shadow)}.login form{text-align:left;margin-top:12px}.day-head{display:flex;align-items:center;gap:10px}.day-title{flex:1;text-align:center}.day-title h1{margin:0;font-size:26px}.day-title p{font-size:14px}.summary{display:flex;align-items:center;gap:16px}.summary-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.summary-count{font-size:15px}.summary-count strong{font-size:22px}.ring-bg{fill:none;stroke:var(--line);stroke-width:10}.ring-fg{fill:none;stroke:var(--brand);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.ring-txt{font-size:18px;font-weight:700;fill:var(--ink)}.chip{display:inline-block;align-self:flex-start;font-size:12.5px;padding:3px 9px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-weight:600}.cat-bars{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.cat-bar{font-size:11.5px;color:var(--muted)}.bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;transition:width .4s ease}.c-sommeil{background:var(--c-sommeil)}.c-repas{background:var(--c-repas)}.c-sport{background:var(--c-sport)}.c-maison{background:var(--c-maison)}.c-ecrans{background:var(--c-ecrans)}.alert{border-color:color-mix(in srgb,var(--ko) 40%,var(--line));background:var(--ko-soft);display:flex;flex-direction:column;gap:8px}.alert-title{font-weight:700;color:var(--ko)}.items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.item{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;position:relative}.item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.item.cat-sommeil:before{background:var(--c-sommeil)}.item.cat-repas:before{background:var(--c-repas)}.item.cat-sport:before{background:var(--c-sport)}.item.cat-maison:before{background:var(--c-maison)}.item.cat-ecrans:before{background:var(--c-ecrans)}.item-main{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px 13px 16px;background:none;border:0;text-align:left}.item-time{width:52px;flex:none;font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item-label{font-weight:600;font-size:15.5px;line-height:1.3}.item-detail,.item-menu{font-size:13px;color:var(--muted)}.item-menu{color:var(--c-repas);font-weight:500}.item.done .item-label{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 50%,transparent)}.check{width:30px;height:30px;flex:none;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-weight:800;color:var(--muted);transition:all .15s ease}.check.on{background:var(--ok);border-color:var(--ok);color:#fff;transform:scale(1.04)}.item-main:active .check{transform:scale(.92)}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.tag{font-size:11.5px;padding:2px 8px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-weight:600}.tag.lite{background:var(--ko-soft);color:var(--ko)}.num{display:flex;align-items:center;gap:8px;padding:0 14px 12px 80px}.num-value{flex:1;display:flex;align-items:baseline;gap:6px;justify-content:center;border:1px solid var(--line);border-radius:12px;padding:6px 10px;background:var(--bg)}.num-value input{width:80px;border:0;background:none;font-size:20px;font-weight:700;text-align:right;outline:none;padding:0}.num-value span{font-size:13px;color:var(--muted);min-width:30px}.num.ok .num-value{border-color:var(--ok);background:var(--ok-soft)}.num.ko .num-value{border-color:var(--ko);background:var(--ko-soft)}.journal-cta{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted)}.journal-cta strong{color:var(--ink)}.skeleton{height:76px;border-radius:var(--radius);background:linear-gradient(90deg,var(--card),var(--line),var(--card));background-size:200% 100%;animation:sk 1.2s linear infinite}@keyframes sk{to{background-position:-200% 0}}.toast{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:20;margin:0 auto;max-width:480px;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:14px;font-size:14.5px;font-weight:500;box-shadow:0 8px 30px #0003;animation:up .2s ease}.toast.error{background:var(--ko);color:#fff}@keyframes up{0%{transform:translateY(10px);opacity:0}}.segmented{display:flex;background:var(--line);border-radius:12px;padding:3px;gap:3px}.segmented button{flex:1;border:0;background:none;padding:8px 6px;border-radius:10px;font-weight:600;font-size:14px;color:var(--muted)}.segmented button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.back{color:var(--brand);font-weight:600;font-size:15px}.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:var(--c-sport);transition:width .3s}.exercises{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ex{display:flex;justify-content:space-between;align-items:center;gap:10px}.ex>div:first-child{display:flex;flex-direction:column;min-width:0}.ex.done strong{color:var(--muted)}.sets{display:flex;gap:6px;flex:none}.set{width:38px;height:38px;border-radius:50%;border:2px solid var(--line);background:var(--bg);font-weight:700;color:var(--muted)}.set.on{background:var(--c-sport);border-color:var(--c-sport);color:#fff}.menu-days,.shop,.journal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.menu-day.today{border-color:var(--brand)}.menu-head{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:0;text-align:left}.menu-day .stack{margin-top:12px}.menu-slot{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.shop-item{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding-right:8px}.shop-main{flex:1;display:flex;align-items:center;gap:12px;background:none;border:0;padding:11px 14px;text-align:left}.shop-item.done .shop-main>span:last-child{text-decoration:line-through;color:var(--muted)}.shop-item .icon-btn{width:32px;height:32px;font-size:18px}.row .input{flex:1;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{border:1px solid var(--line);background:var(--bg);padding:7px 12px;border-radius:99px;font-size:14px}.chip-btn.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.slider-head{display:flex;justify-content:space-between;color:var(--ink)}input[type=range]{width:100%;accent-color:var(--brand)}.jrow{display:flex;flex-direction:column;gap:4px}.jtop{display:flex;align-items:center;gap:8px}.jtop .icon-btn{margin-left:auto;width:30px;height:30px;font-size:16px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.week-strip{display:flex;gap:6px;height:64px;align-items:flex-end}.wday{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;font-size:11px;color:var(--muted)}.wday i{width:100%;max-width:22px;border-radius:6px;min-height:3px;background:var(--line)}.wday i.good{background:var(--ok)}.wday i.mid{background:var(--accent)}.wday i.low{background:var(--ko)}.cap-line{background:var(--brand-soft);border-color:transparent;font-weight:600;color:var(--brand)}.cat-row{display:grid;grid-template-columns:70px 1fr 44px;align-items:center;gap:10px;font-size:14px;padding:4px 0}.cat-row strong{text-align:right;font-size:13.5px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat{display:flex;flex-direction:column;gap:2px}.stat strong{font-size:20px}.mini-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14.5px}.mini-list li{display:flex;align-items:center;gap:8px}.mini-list li.ko{color:var(--ink)}.mini-list li.ok{color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;flex:none}.chart .recharts-tooltip-wrapper{font-size:13px}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}@media(min-width:700px){.main{padding-top:28px}}
