:root{--mist:#f7f8fc;--ink:#29243e;--muted:#6a667a;--violet:#7562ce;--violet-dark:#5947a9;--lilac:#ece8ff;--teal:#397561;--line:#e5e3ed;--white:#fff;--peach:#f8ede6;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--mist);font-size:17px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--violet-dark)}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.2rem,4vw,3.5rem);margin-bottom:14px}h2{font-size:1.9rem}h3{font-size:1.08rem;line-height:1.4}p{margin-bottom:18px}.muted,.caption{color:var(--muted)}.caption{font-size:.8rem}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-dark);margin-bottom:12px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-size:.82rem;letter-spacing:.1em;font-weight:700}.brand img{width:38px;height:38px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:#fff;padding:10px}.skip:focus{top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--violet-dark);color:#fff;padding:13px 23px;border-radius:100px;text-decoration:none;font-weight:600;min-height:48px;font-size:.92rem}.btn:hover{background:#44358b}.btn.secondary{background:var(--lilac);color:var(--violet-dark)}.btn.secondary:hover{background:#ded6ff}.text-btn{color:var(--violet-dark);background:transparent;padding:10px 0;min-height:44px;text-align:left}.icon{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.loading{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column}.loading img{margin-bottom:20px}.login{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--lilac);display:flex;justify-content:center;flex-direction:column;padding:clamp(30px,6vw,90px)}.login-art .display{font-size:clamp(2.6rem,4.8vw,4.8rem);max-width:600px;margin:55px 0 20px}.login-art .bloom{max-width:290px;align-self:center;margin:30px}.login-panel{display:flex;justify-content:center;align-items:center;padding:40px}.login-box{max-width:420px;width:100%}.login-box h1{font-size:2.6rem}.login-box form{margin:30px 0}.login-box .btn{width:100%}.field{display:block;margin-bottom:20px;font-size:.88rem;font-weight:600}.field input,.field textarea,.field select{display:block;width:100%;margin-top:8px;background:#fff;border:1px solid #c6c1d8;border-radius:12px;padding:13px 16px;color:var(--ink);font-weight:400;min-height:50px}.field textarea{min-height:115px;resize:vertical}.form-message{font-size:.88rem;margin-top:15px}.form-message.error{color:#a32c44}.preview-banner{padding:10px 16px;background:#e5f3ee;color:#205640;font-size:.85rem;border-radius:10px;margin-bottom:18px}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100svh}.sidebar{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;padding:30px 20px;border-right:1px solid var(--line);background:#fff}.sidebar .brand{margin:0 0 48px 4px}.nav{display:flex;flex-direction:column;gap:9px}.nav a{display:flex;align-items:center;gap:14px;text-decoration:none;border-radius:12px;padding:13px 15px;color:var(--muted);font-weight:500;font-size:.88rem}.nav a[aria-current=page]{color:var(--violet-dark);background:var(--lilac);font-weight:650}.sidebar-bottom{margin-top:auto;padding:28px 10px 0}.sidebar-bottom p{font-family:Georgia,serif;font-size:1.15rem;line-height:1.4;color:var(--muted)}.sidebar-bottom a{font-size:.8rem}.workspace{min-width:0}.topbar{min-height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 42px;gap:20px}.topbar p{margin:0;font-size:.8rem;color:var(--muted)}.avatar{border-radius:50%;width:43px;height:43px;display:grid;place-content:center;background:var(--lilac);color:var(--violet-dark);text-decoration:none;font-size:1.05rem;font-weight:600}.page{max-width:1250px;margin:auto;padding:42px}.page-head{margin-bottom:32px}.page-head p{max-width:640px;color:var(--muted)}.page-head .eyebrow{color:var(--violet-dark)}.grid-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:24px;align-items:start}.stack{display:grid;gap:24px}.card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:22px}.journey-card{background:var(--lilac);border:0;display:grid;grid-template-columns:1.2fr .9fr;gap:20px;align-items:center;overflow:hidden}.journey-card h2{font-size:2.3rem}.journey-card p{font-size:.88rem}.bloom{width:100%;height:auto;max-width:220px;justify-self:center}.bloom text{font-family:'Segoe UI',Arial,sans-serif;fill:var(--ink);font-size:11px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.card-top h2,.card-top h3{margin:0}.card-top h2{font-size:1.65rem}.pill{font-size:.72rem;border-radius:30px;background:var(--mist);color:var(--muted);padding:4px 10px;white-space:nowrap}.habit-list{display:grid}.habit{display:flex;align-items:center;gap:14px;padding:19px 0;text-align:left;background:transparent;border-bottom:1px solid var(--line);color:var(--ink)}.habit:last-child{border:0}.habit .check{flex:0 0 27px;width:27px;height:27px;border:1.5px solid #b5aec9;border-radius:50%;display:grid;place-content:center;color:transparent;font-size:15px}.habit[aria-pressed=true] .check{background:var(--teal);color:#fff;border-color:var(--teal)}.habit strong{display:block;font-size:.92rem;font-weight:600}.habit small{font-size:.78rem;color:var(--muted)}.habit .arrow{margin-left:auto;color:#a39ab8}.day-strip{display:flex;gap:8px;margin:20px 0 0;justify-content:space-between}.day-dot{text-align:center;font-size:.7rem;color:var(--muted)}.day-dot span{width:31px;height:31px;display:grid;place-content:center;border-radius:50%;background:var(--mist);margin-top:5px;border:1px solid transparent}.day-dot.today span{border-color:var(--violet)}.day-dot.done span{background:#e3f1e9;color:var(--teal)}.soft{background:var(--peach);border:0}.soft h2{font-size:1.9rem}.progress-track{height:6px;background:#e4dff6;border-radius:10px;overflow:hidden;margin:17px 0}.progress-fill{height:100%;background:var(--violet);transition:width .3s}.recipe-art{height:145px;border-radius:15px;display:grid;place-content:center;font-size:54px;background:#eee8f8;margin-bottom:20px}.recipe-art svg{width:86px;height:86px}.recipe-art.lemon,.recipe-art.citrus{background:#f7f0d5}.recipe-art.carrot,.recipe-art.tomato{background:#f5e4dc}.recipe-art.apple{background:#e7efe4}.recipe-art.berries{background:#ebe5f4}.recipe-mini{display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:center}.recipe-mini .recipe-art{height:108px;margin:0}.recipe-mini .recipe-art svg{width:62px;height:62px}.recipe-mini h3{margin-bottom:5px}.recipe-mini .caption{margin:0}.week-list{display:grid;gap:16px}.week-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:20px;align-items:center;text-align:left;width:100%;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink)}.week-item:hover{border-color:var(--violet)}.week-number{font-family:Georgia,serif;font-size:1.7rem;color:var(--violet);background:var(--lilac);border-radius:50%;height:54px;display:grid;place-content:center}.week-item strong{font-size:1.08rem;display:block}.week-item small{color:var(--muted);font-size:.85rem}.week-item .status{font-size:.72rem;color:var(--teal)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.filter{border-radius:50px;padding:10px 18px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:.85rem}.filter[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recipe-card{padding:18px}.recipe-card h2{font:600 1.05rem/1.35 'Segoe UI',Arial,sans-serif;letter-spacing:0;margin:8px 0}.recipe-card .btn{width:100%;margin-top:15px}.journal-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start}.energy-picker{border:0;padding:0;margin:15px 0 22px}.energy-options{display:flex;gap:8px;margin-top:12px}.energy-options label{flex:1;position:relative;text-align:center}.energy-options input{position:absolute;opacity:0}.energy-options span{display:block;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.energy-options input:checked+span{border-color:var(--violet);background:var(--lilac)}.energy-options input:focus-visible+span{outline:3px solid var(--teal)}.journal-entry{border-top:1px solid var(--line);padding:22px 0}.journal-entry p{white-space:pre-wrap;margin:10px 0 0;font-size:.9rem;overflow-wrap:anywhere}.journal-entry strong{font-size:.83rem}.chart{display:flex;align-items:end;gap:12px;height:140px;border-bottom:1px solid var(--line);padding:0 10px;margin:24px 0 15px}.chart-bar{flex:1;max-width:42px;min-height:8px;background:var(--violet);border-radius:7px 7px 0 0}.empty{text-align:center;padding:35px 15px;color:var(--muted)}.empty img{width:60px;opacity:.5;margin-bottom:15px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.guide-card{padding:30px;text-align:left;color:var(--ink)}.guide-card h2{font-size:1.85rem;margin-top:20px}.settings{max-width:640px}.account-detail{overflow-wrap:anywhere}.notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:14px;padding:12px 22px;box-shadow:0 8px 30px #29243e20;max-width:90vw;z-index:20;display:none;font-size:.86rem}.notice.show{display:block}dialog{border:0;max-width:690px;width:calc(100% - 32px);max-height:90svh;border-radius:24px;padding:48px 38px 30px;color:var(--ink);background:var(--mist);box-shadow:0 25px 100px #29243e30}dialog::backdrop{background:#29243e75;backdrop-filter:blur(4px)}.close{position:absolute;right:14px;top:10px;width:42px;height:42px;font-size:28px;background:transparent;color:var(--muted)}dialog h2{font-size:2.3rem}dialog p,dialog li{font-size:.94rem}dialog li{padding:6px 0}dialog .callout{background:var(--lilac);border-radius:16px;padding:22px;margin:24px 0}.check-ingredients{display:grid;gap:12px;margin:18px 0 28px}.check-ingredients label{display:flex;gap:12px;align-items:start}.check-ingredients input{margin-top:7px;accent-color:var(--violet);width:18px;height:18px}.lesson-days{padding-left:25px}.page-footer{margin-top:42px;font-size:.72rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;display:flex;gap:20px;flex-wrap:wrap}.page-footer a{color:var(--muted)}
@media(min-width:1500px){.page{padding-top:55px}}@media(max-width:1150px){.shell{grid-template-columns:195px 1fr}.sidebar{padding:26px 13px}.sidebar .brand{font-size:.7rem;gap:5px}.page{padding:30px}.topbar{padding:16px 30px}.grid-main{grid-template-columns:1fr}.grid-main>.stack:last-child{grid-template-columns:1fr 1fr}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-card{grid-template-columns:1.5fr .8fr}.journal-layout{grid-template-columns:1fr}}
@media(max-width:760px){:root{font-size:16px}.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:auto;padding:8px 5px max(8px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);z-index:10}.sidebar>.brand,.sidebar-bottom{display:none}.nav{flex-direction:row;justify-content:space-around;gap:0}.nav a{padding:7px 4px;flex-direction:column;gap:4px;font-size:.62rem;min-width:50px;line-height:1.2}.nav .icon{width:22px;height:22px}.nav a[data-route=settings]{display:none}.workspace{padding-bottom:85px}.topbar{min-height:72px;padding:15px 22px}.page{padding:28px 20px}.page-head{margin-bottom:25px}h1{font-size:2.55rem}.page-head p{font-size:.95rem}.card{padding:23px;border-radius:18px}.grid-main{gap:20px}.stack{gap:20px}.grid-main>.stack:last-child{grid-template-columns:1fr}.journey-card{grid-template-columns:1fr .75fr;gap:10px}.journey-card h2{font-size:1.8rem}.journey-card .eyebrow{font-size:.64rem}.journey-card .btn{padding:11px 16px;font-size:.8rem}.journey-card p{font-size:.85rem}.bloom{max-width:170px}.recipe-grid{gap:13px}.recipe-card{padding:13px}.recipe-art{height:120px}.recipe-card .btn{padding:10px;font-size:.8rem}.week-item{gap:14px;padding:18px;grid-template-columns:43px minmax(0,1fr) auto}.week-number{height:43px;font-size:1.3rem}.week-item strong{font-size:.97rem}.week-item small{font-size:.78rem}.guide-grid{grid-template-columns:1fr}.login{display:block}.login-art{min-height:auto;padding:24px}.login-art .display{font-size:2.1rem;margin:25px 0 10px;max-width:300px}.login-art .bloom,.login-art>.muted{display:none}.login-panel{padding:35px 25px}.login-box h1{font-size:2rem}dialog{padding:48px 22px 24px}.page-footer{gap:10px 18px}.journal-layout{gap:20px}}
@media(max-width:370px){.page{padding:24px 15px}.journey-card{grid-template-columns:1fr}.journey-card .bloom{display:none}.recipe-grid{grid-template-columns:1fr}.week-item .status{max-width:40px;white-space:normal}.topbar{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
