:root{--marfil:#f4efe5;--marfil-2:#fbf8f2;--cafe:#49392f;--salvia:#78866b;--salvia-d:#5f6b54;--salvia-l:#e6eadf;--salvia-xl:#eef0e8;--ocre:#c9a34a;--ocre-l:#f1e6c8;--ocre-t:#e2c77e;--topo:#b7a99a;--topo-t:#6e6258;--topo-l:#e9e3db;--line:#e4dbcf;--line-2:#efe8dc;--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", system-ui, -apple-system, sans-serif;--nav-h:76px;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--marfil);color:var(--cafe);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}body{min-height:100dvh}a{color:var(--salvia-d)}a:hover{color:var(--cafe)}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ocre);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{max-width:480px;min-height:100dvh;margin:0 auto;position:relative}.screen{padding:calc(env(safe-area-inset-top,0px) + 40px) 22px 40px;flex-direction:column;gap:18px;display:flex}.screen.with-nav{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 28px)}.screen.with-actions{padding-bottom:calc(96px + var(--safe-b))}.center-screen{justify-content:center;align-items:center;min-height:100dvh;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--topo-t);margin:0;font-size:13px;font-weight:500}.kicker{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.h1{font-family:var(--serif);margin:0;font-size:30px;font-weight:500;line-height:1.15}.h2{font-family:var(--serif);margin:0;font-size:20px;font-weight:500}.h3{margin:0;font-size:15px;font-weight:600}.lead{color:var(--topo-t);margin:0;font-size:15px;line-height:1.5}.muted{color:var(--topo-t)}.small{font-size:13px}.num{font-family:var(--serif)}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.stack-lg{flex-direction:column;gap:16px;display:flex}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.card{background:var(--marfil-2);border:1px solid var(--line);border-radius:18px;padding:16px}.card.tight{border-radius:14px;padding:12px 14px}.card-cafe{background:var(--cafe);color:var(--marfil);border-radius:22px;padding:22px;position:relative;overflow:hidden}.card-salvia{background:var(--salvia-d);color:var(--marfil-2);border-radius:20px;padding:16px 18px}.note{background:var(--ocre-l);border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.5}.quote{font-family:var(--serif);margin:0;font-size:21px;line-height:1.4}.deco-sun{pointer-events:none;position:absolute;top:-50px;right:-50px}.btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--salvia-d);color:var(--marfil-2)}.btn-primary:hover{color:var(--marfil-2);background:#535e49}.btn-secondary{border-color:var(--topo);color:var(--cafe);background:0 0}.btn-dashed{border:1.5px dashed var(--topo);color:var(--salvia-d);background:0 0;width:100%;min-height:50px}.btn-ghost{min-height:40px;color:var(--cafe);padding:0 12px}.btn-block{width:100%}.btn-sm{border-radius:10px;min-height:40px;padding:0 14px;font-size:14px}.icon-btn{border:1px solid var(--line);background:var(--marfil-2);width:44px;height:44px;color:var(--cafe);cursor:pointer;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.link-btn{color:var(--salvia-d);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.danger{color:#8a3b2e}.field{flex-direction:column;gap:8px;display:flex}.field>label,.label{font-size:15px;font-weight:600}.input,.textarea,.select{border:1px solid var(--topo);background:var(--marfil-2);width:100%;color:var(--cafe);border-radius:14px;padding:12px 14px;font-size:16px;line-height:1.45}.input{min-height:50px}.textarea{resize:vertical;min-height:84px}.input::placeholder,.textarea::placeholder{color:#9a8d80}.input-plain{width:100%;color:var(--cafe);background:0 0;border:none;padding:0;font-size:16px;font-weight:600}.input-plain:focus{outline:none}.checkbox-row{align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:flex}.checkbox-row input{width:20px;height:20px;accent-color:var(--salvia-d);flex-shrink:0;margin-top:1px}.error{color:#8a3b2e;margin:0;font-size:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--salvia-d);min-height:36px;color:var(--marfil-2);border:none;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.chip-outline{color:var(--cafe);border:1px solid var(--topo);cursor:pointer;background:0 0}.chip-outline[aria-pressed=true],.chip-outline[aria-selected=true]{background:var(--cafe);color:var(--marfil);border-color:var(--cafe);font-weight:600}.tag{background:var(--salvia-l);color:var(--cafe);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.tag.ocre{background:var(--ocre-l)}.tag.topo{background:var(--topo-l)}.tag.salvia{background:var(--salvia-d);color:var(--marfil-2)}.seg{background:var(--line-2);border-radius:12px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:3px;display:grid}.seg button{min-height:38px;color:var(--topo-t);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:0 4px;font-size:14px;font-weight:500}.seg button[aria-checked=true],.seg button[aria-selected=true]{background:var(--marfil-2);color:var(--cafe);font-weight:600}.seg button.on-f[aria-checked=true]{background:var(--salvia-d);color:var(--marfil-2)}.seg button.on-d[aria-checked=true]{background:var(--ocre);color:var(--cafe)}.seg.tabs{background:#eae2d5;border-radius:14px;padding:4px}.pill-tabs{scrollbar-width:none;gap:6px;margin:0 -22px;padding:0 22px;display:flex;overflow-x:auto}.pill-tabs::-webkit-scrollbar{display:none}.pill-tabs button{flex-shrink:0;min-height:40px}.bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.bar>span{background:var(--salvia-d);border-radius:3px;height:100%;transition:width .3s;display:block}.bar.thin{height:4px}.bar>span.low{background:var(--topo)}.bar>span.mid{background:var(--ocre)}.bar>span.high{background:var(--salvia-d)}.legend{color:var(--topo-t);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.habit-row{border:1px solid var(--line);background:var(--marfil-2);cursor:pointer;text-align:left;border-radius:16px;align-items:center;gap:14px;width:100%;min-height:64px;padding:12px 14px;transition:background .15s,border-color .15s;display:flex}.habit-row[aria-pressed=true]{background:var(--salvia-xl);border-color:#c9d0bf}.check{border:2px solid var(--topo);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.habit-row[aria-pressed=true] .check{background:var(--salvia-d);border-color:var(--salvia-d)}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.week>div{color:var(--topo-t);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.day{background:var(--line);cursor:pointer;border:none;border-radius:8px;width:28px;height:28px;padding:0}.day.done{background:var(--salvia-d)}.day.today{box-shadow:inset 0 0 0 2px var(--salvia-d)}.day.today.done{box-shadow:none}.day:disabled{cursor:default;opacity:.45}.bottom-nav{z-index:20;width:100%;max-width:480px;height:calc(var(--nav-h) + var(--safe-b));padding:8px 8px var(--safe-b);background:var(--marfil-2);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{color:var(--topo-t);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--salvia-d);font-weight:600}.step-top{align-items:center;gap:12px;display:flex}.step-top .meta{color:var(--topo-t);flex-direction:column;flex:1;gap:6px;font-size:13px;display:flex}.save-state{color:var(--topo-t);text-align:right;min-width:64px;font-size:12px}.actions-bar{z-index:20;width:100%;max-width:480px;padding:14px 22px calc(14px + var(--safe-b));background:var(--marfil);border-top:1px solid var(--line);gap:10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.actions-bar>*{flex:1}.actions-bar>.grow{flex:1.4}.steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps a{background:var(--marfil-2);border:1px solid var(--line);min-height:56px;color:var(--cafe);border-radius:16px;align-items:center;gap:14px;padding:8px 14px;text-decoration:none;display:flex}.dot{border:1.5px solid var(--topo);width:30px;height:30px;color:var(--topo-t);border-radius:15px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.dot.ok{background:var(--salvia-d);border-color:var(--salvia-d);color:var(--marfil-2)}.dot.now{background:var(--ocre);border-color:var(--ocre);color:var(--cafe)}.quad{border-radius:14px;flex-direction:column;gap:6px;min-height:96px;padding:12px;font-size:13px;line-height:1.45;display:flex}.quad .kicker{letter-spacing:.08em;font-size:11px}.quad.f{background:var(--salvia-l)}.quad.d{background:var(--ocre-l)}.quad.o{background:var(--marfil-2);border:1px solid var(--line)}.quad.a{background:var(--topo-l)}.badge{background:var(--cafe);width:40px;height:28px;color:var(--marfil);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}details.guide{background:var(--ocre-l);border-radius:14px;padding:12px 14px}details.guide summary{cursor:pointer;font-size:14px;font-weight:600}details.guide p{margin:8px 0 0;font-size:14px;line-height:1.55}details.acc{background:var(--marfil-2);border:1px solid var(--line);border-radius:18px}details.acc>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:60px;padding:0 16px;list-style:none;display:flex}details.acc>summary::-webkit-details-marker{display:none}details.acc>.acc-body{flex-direction:column;gap:14px;padding:0 16px 16px;display:flex}.soft-limit{background:var(--ocre-l);border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;font-size:14px;line-height:1.45;display:flex}.soft-limit .row{align-items:flex-start}.soft-limit .btns{justify-content:flex-end;gap:8px;display:flex}.banner{background:var(--marfil-2);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;line-height:1.4;display:flex}.welcome{min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 72px) 28px calc(40px + var(--safe-b));flex-direction:column;display:flex;position:relative;overflow:hidden}.wordmark{font-family:var(--serif);letter-spacing:.18em;margin:0;font-size:40px;font-weight:500}.welcome .deco{pointer-events:none;position:absolute;top:-170px;right:-150px}.spinner{border:3px solid var(--line);border-top-color:var(--salvia-d);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:0s!important}}
