:root{--bg:#f6f1e6;--input-bg:#fffdf8;--card:#fffaf0;--surface:#efe8d8;--surface-2:#e7dfcb;--surface-3:#ddd3bb;--line:#d6cab0;--text:#22332a;--muted:#586659;--accent:#2f5d46;--accent-dim:#3f7358;--on-accent:#fffaf0;--sage:#9bb09a;--earth:#7a5537;--sunrise:#c96f2e;--sunrise-soft:#f6dcc0;--danger:#a63a2a;--danger-bg:#f7ddd5;--warn:#8a5a10;--warn-bg:#f6e5c4;--radius:16px;--radius-sm:10px;--shadow:0 6px 20px #3c2d1914;--font:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;background-image:linear-gradient(135deg,#2f5d460b 25%,#0000 25%),linear-gradient(225deg,#2f5d460b 25%,#0000 25%),linear-gradient(315deg,#7a55370a 25%,#0000 25%),linear-gradient(45deg,#7a55370a 25%,#0000 25%);background-size:28px 28px;background-attachment:fixed;margin:0;font-size:16px;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.01em;margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:750}h2{font-size:1.2rem;font-weight:700}h3{font-size:1.02rem;font-weight:700}h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.8rem}p{margin:0 0 .8em}a{color:var(--accent);text-underline-offset:3px}code{background:var(--surface-2);border-radius:5px;padding:.1em .35em}.lime{color:var(--sunrise)}.muted{color:var(--muted)}.small{font-size:.88rem}.tiny{font-size:.78rem}.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}.skip-link{z-index:50;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}input,textarea,select{font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:44px;padding:.62em .75em}textarea{resize:vertical;min-height:60px}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none;margin:0}input[type=date],input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2f5d4638}input:disabled,textarea:disabled{opacity:.6}.field{flex-direction:column;flex:1;gap:6px;min-width:0;margin-bottom:14px;display:flex}.field label{font-size:.92rem;font-weight:600}.hint{color:var(--muted);margin:0;font-size:.82rem}.field-error{color:var(--danger);margin:6px 0;font-size:.9rem;display:block}fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 14px;padding:12px}legend{padding:0 6px;font-size:.92rem;font-weight:600}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row>input{flex:160px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.form-actions.spread{justify-content:space-between}.consent{background:var(--input-bg);border:1px dashed var(--warn);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;margin:8px 0 12px;padding:10px 12px;font-size:.9rem;display:flex}.consent input{margin-top:2px}.toggle-line{cursor:pointer;align-items:center;gap:10px;margin:8px 0 12px;display:flex}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:.55em 1.15em;font-weight:650;transition:background .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-dim)}.btn-secondary{color:var(--text);border-color:var(--line);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--accent)}.btn-ghost{color:var(--muted);background:0 0;padding-inline:.7em}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fffaf0}.btn.full{width:100%}.link-button{color:var(--accent);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:6px 0;text-decoration:underline}.icon-button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.icon{flex:none;width:22px;height:22px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}.spinner-sm{border-width:2px;border-color:currentColor #fffaf073 #fffaf073;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading{color:var(--muted);align-items:center;gap:12px;padding:24px 4px;display:flex}.error-note{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);border:1px solid #e5b4a7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:10px 14px;display:flex}.notice{background:var(--surface-2);border-left:4px solid var(--accent);border-radius:var(--radius-sm);margin:12px 0;padding:12px 14px}.notice-success{border-left-color:var(--accent)}.empty{text-align:center;color:var(--muted);padding:24px 12px}.empty-mark{border:2px solid var(--line);border-radius:6px;width:38px;height:38px;margin:0 auto 10px;position:relative;transform:rotate(45deg)}.empty-mark:after{content:"";background:var(--accent);opacity:.8;border-radius:50%;position:absolute;inset:11px}.empty-title{color:var(--text);margin-bottom:4px;font-weight:650}.empty-body p{margin:0}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.card.narrow{width:100%;max-width:440px}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.card-head h2{margin:0}.card-head a{font-size:.88rem}.tag{background:var(--surface-3);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:.74rem;font-weight:650;display:inline-block}.tag-lime{color:var(--accent);background:#2f5d461f}.tag-warn{background:var(--warn-bg);color:var(--warn)}.overdue{color:var(--warn)}.shell{min-height:100%}.sidebar{display:none}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f6f1e6f2;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-nav{z-index:30;background:var(--bg);padding:12px 16px 80px;position:fixed;inset:64px 0 0;overflow-y:auto}.mobile-nav ul,.sidebar ul{margin:0;padding:0;list-style:none}.mobile-nav a,.sidebar a{color:var(--text);border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:12px;font-weight:550;text-decoration:none;display:flex}.mobile-nav a.active,.sidebar a.active{background:var(--surface-2);color:var(--accent)}.sidebar a:hover{background:var(--surface)}.main{outline:none;max-width:1100px;margin:0 auto;padding:16px 16px 96px}.bottombar{z-index:20;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fffaf0f7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottombar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:8px 2px;font-size:.72rem;text-decoration:none;display:flex}.bottombar a.active{color:var(--accent)}@media (width>=900px){.shell{grid-template-columns:250px 1fr;display:grid}.sidebar{border-right:1px solid var(--line);background:#efe8d8bf;flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar nav{flex:1;margin-top:24px}.sidebar-foot{padding:8px 12px}.topbar,.bottombar,.mobile-nav{display:none}.main{width:100%;padding:32px 36px 48px}}.kete-nav{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.kete-nav a,.kete-nav button,.sidebar .kete-nav a{min-height:36px;color:var(--text);font:inherit;opacity:.85;cursor:pointer;background:0 0;border:1.5px solid;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.kete-nav a:hover,.kete-nav button:hover,.sidebar .kete-nav a:hover{opacity:1;background:0 0}.sidebar nav.kete-nav{flex:none;margin:0 0 20px}.topbar{gap:8px}.topbar .kete-nav{flex-wrap:nowrap;gap:6px;margin:0}.kete-nav.push{margin-left:auto}@media (width<=360px){.topbar .kete-nav a,.topbar .kete-nav button{padding:0 9px;font-size:.8rem}}.legal-links{flex-wrap:wrap;gap:6px 18px;display:flex}.agree-bar{padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));background:var(--bg);position:sticky;bottom:0}.speak{margin:6px 0 2px}.speak-button{border:1.5px solid var(--line);min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.9rem;font-weight:650;display:inline-flex}.speak-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.speak-button:hover:not(:disabled){border-color:var(--accent)}.speak-button.on{border-color:var(--accent);color:var(--accent);background:#2f5d461a}.speak-button:disabled{opacity:.5;cursor:default}.composer .speak{flex-basis:100%;order:3;margin:0}.speak.compact{flex:none;margin:0}.speak.compact .speak-button{justify-content:center;width:44px;height:44px;min-height:44px;padding:0}.logo{color:var(--text);align-items:center;gap:10px;display:flex}.logo-mark{width:34px;height:34px}.logo-text{letter-spacing:.01em;font-size:1.1rem;font-weight:750}.logo-kete{color:var(--sunrise);letter-spacing:.14em;margin-right:2px;font-size:.82em}.logo-compact .logo-mark{width:28px;height:28px}.logo-compact .logo-text{font-size:1rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-header .lead{max-width:60ch;margin:0}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.lead{color:var(--muted);font-size:1.04rem}.eyebrow{color:var(--earth);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.82rem;font-weight:650}.back-link{margin-bottom:12px;text-decoration:none;display:inline-block}.center-screen{place-items:center;min-height:100%;padding:16px;display:grid}.page section>h2{margin-top:22px}.auth-screen{align-content:center;gap:24px;max-width:1040px;min-height:100%;margin:0 auto;padding:32px 16px;display:grid}.auth-hero h1{margin:28px 0 14px;font-size:clamp(1.9rem,6vw,3rem)}.auth-hero p{color:var(--muted);max-width:46ch;font-size:1.08rem}.auth-card{width:100%;max-width:440px}.auth-switch{flex-wrap:wrap;gap:4px 18px;margin-top:12px;display:flex}@media (width>=900px){.auth-screen{grid-template-columns:1.2fr 1fr;align-items:center}}.hello h1{font-size:clamp(1.8rem,5vw,2.5rem)}.quick{gap:10px;margin:8px 0 20px;display:grid}.quick-card{border-radius:var(--radius);color:var(--text);border:1px solid var(--line);background:linear-gradient(135deg,#c96f2e24,#fffaf0f5 60%);align-items:center;gap:14px;min-height:64px;padding:14px 16px;text-decoration:none;display:flex}.quick-card:hover{border-color:var(--accent)}.quick-card .icon{color:var(--accent);width:26px;height:26px}.quick-card span{flex-direction:column;display:flex}.quick-card small{color:var(--muted)}@media (width>=640px){.quick{grid-template-columns:repeat(3,1fr)}}.dash-grid{gap:0 16px;display:grid}@media (width>=900px){.dash-grid{grid-template-columns:1fr 1fr}}.upcoming,.plain-list,.progress-list{margin:0;padding:0;list-style:none}.upcoming a,.plain-list a{border-bottom:1px solid var(--line);color:var(--text);align-items:center;gap:10px;min-height:44px;padding:10px 4px;text-decoration:none;display:flex}.plain-list a{flex-direction:column;align-items:flex-start;gap:2px}.plain-list small{color:var(--muted)}.upcoming a span:nth-child(2){flex:1}.date-chip{color:var(--accent);min-width:78px;font-size:.78rem;font-weight:700}.progress-list a{color:var(--text);border-bottom:1px solid var(--line);gap:4px;padding:10px 4px;text-decoration:none;display:grid}.progress-title{font-weight:650}.progress-meta{color:var(--muted);font-size:.84rem}.bar{background:var(--surface-3);border-radius:999px;height:6px;display:block;overflow:hidden}.bar>span{background:var(--accent);border-radius:999px;height:100%;display:block}.tabs{gap:6px;margin-bottom:12px;padding-bottom:2px;display:flex;overflow-x:auto}.tabs button{font:inherit;color:var(--muted);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:8px 14px;display:inline-flex}.tabs button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:650}.tabs .count{opacity:.8;font-size:.78rem}.task-list{margin:0;padding:0;list-style:none}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 4px;display:flex}.task-list.compact .task{padding:10px 0}.task-check{margin-top:3px!important}.idea-dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;margin:8px 5px 0}.task-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-title{overflow-wrap:anywhere;font-weight:600}.task.done .task-title{color:var(--muted);text-decoration:line-through}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.84rem;display:flex}.task-notes{color:var(--muted);white-space:pre-wrap;font-size:.88rem}.task-actions{flex-wrap:wrap;justify-content:flex-end;display:flex}.task-actions .btn{min-height:36px;padding:.3em .6em;font-size:.88rem}.task.editing{display:block}.proposal{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-sm);margin:10px 0;padding:12px 14px}.proposal-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.proposal-title{overflow-wrap:anywhere;font-weight:650}.proposal-detail p{color:var(--muted);margin:0 0 4px;font-size:.92rem}.proposal-detail .meta{font-size:.84rem}.milestone-preview{color:var(--muted);margin:6px 0;padding-left:20px;font-size:.9rem}.proposal-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.proposal-accepted,.proposal-dismissed{border-left-color:var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.proposal-accepted{border-left-color:var(--accent)}.proposal-dismissed{opacity:.6}.proposal-state{color:var(--muted);margin-left:auto;font-size:.84rem}.milestone-row input:first-child{flex:2 160px}.talk{gap:16px;display:grid}.talk-list ul{margin:0;padding:0;list-style:none}.talk-list a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;min-height:44px;padding:10px 12px;text-decoration:none;display:block;overflow:hidden}.talk-list a.active{background:var(--surface-2);color:var(--accent)}.talk-list-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.talk-list-head h1{margin:0}.talk.has-thread .talk-list{display:none}.talk:not(.has-thread) .talk-list ul{margin-bottom:8px}.talk-thread{flex-direction:column;min-height:60vh;display:flex}.thread-head{flex-wrap:wrap;align-items:center;gap:8px;min-height:10px;display:flex}.thread-title{overflow-wrap:anywhere;flex:1;margin:0;font-size:1.1rem}.thread-actions{display:flex}.rename{flex:1;gap:8px;display:flex}.messages{flex:1;padding:8px 0}.msg{flex-direction:column;margin:12px 0;display:flex}.msg-user{align-items:flex-end}.bubble{overflow-wrap:anywhere;border-radius:16px;max-width:min(680px,92%);padding:12px 15px}.bubble p:last-child,.bubble ul:last-child,.bubble ol:last-child{margin-bottom:0}.bubble ul,.bubble ol{margin:0 0 .8em;padding-left:1.3em}.msg-user .bubble{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}.msg-assistant .bubble{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:4px}.msg-assistant .proposal{width:100%;max-width:min(680px,100%)}.typing{gap:5px;display:flex}.typing .dot{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.typing .dot:nth-child(2){animation-delay:.2s}.typing .dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.talk-welcome{padding:20px 0}.starters{gap:8px;margin-top:14px;display:grid}.starter{text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;min-height:44px;padding:12px 14px}.starter:hover{border-color:var(--accent)}.composer{background:var(--bg);align-items:flex-end;gap:10px;padding:10px 0 6px;display:flex;position:sticky;bottom:64px}.composer textarea{min-height:48px;max-height:200px}.composer{flex-wrap:wrap}.composer textarea{flex:1 1 0;width:auto;min-width:0}@media (width>=640px){.starters{grid-template-columns:1fr 1fr}}@media (width>=900px){.talk{grid-template-columns:250px 1fr;align-items:start}.talk.has-thread .talk-list{display:block}.talk-list{max-height:calc(100vh - 48px);position:sticky;top:24px;overflow-y:auto}.back-link.back-link{display:none}.page .back-link{display:inline-block}.composer{bottom:0}}.row .field{flex:180px}.row.three{align-items:flex-start}.row.three .field{flex:140px}.money-input{align-items:center;gap:6px;display:flex}.money-input span{color:var(--muted);font-weight:650}.money-input input{flex:1;min-width:0}.label-like{font-size:.92rem;font-weight:600}.town-now{align-items:center;gap:10px;margin:0;display:flex}.search-row{align-items:flex-start}.search-row .btn{margin-top:27px}.place-list{gap:6px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.place-list .starter{width:100%}.toggles{margin-top:10px}.center-actions{justify-content:center;margin:12px 0 20px}.section-title{margin:22px 0 10px;font-size:1.1rem}.sub-head{color:var(--muted);margin:14px 0 4px;font-size:.95rem}.day-card{padding:12px 16px}.day-title{color:var(--accent);margin:0 0 4px;font-size:1rem}.agenda{margin:0;padding:0;list-style:none}.agenda-item{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;min-height:48px;padding:10px 2px;text-decoration:none;display:flex}.agenda li:last-child .agenda-item{border-bottom:0}.agenda-item.static{cursor:default}.agenda-item:hover:not(.static) .agenda-what strong{color:var(--accent)}.agenda-time{min-width:76px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}.agenda-time.overdue{color:var(--warn)}.agenda-what{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.agenda-what small{color:var(--muted)}.overdue-card{border-color:#8a5a1059}.tag-danger{background:var(--danger-bg);color:var(--danger)}.bill-total{color:var(--muted);margin:0 0 12px}.bill-total strong{color:var(--text)}.bill-list{margin:0;padding:0;list-style:none}.bill-row{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px;padding:12px 16px;display:flex}.bill-main{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:180px;justify-content:center;gap:2px;min-height:44px;padding:0;display:flex}.bill-name{font-weight:650}.bill-main:hover .bill-name{color:var(--accent)}.bill-meta{color:var(--muted);font-size:.85rem}.bill-amount{font-variant-numeric:tabular-nums;font-weight:700}.mini-bills{margin:0;padding:0;list-style:none}.mini-bills li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.mini-bills li:last-child{border-bottom:0}.mini-bill-name{flex-direction:column;flex:120px;display:flex}.mini-bill-name small{color:var(--muted)}.finished{color:var(--muted);margin:12px 0}.finished summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.weather-card{padding:14px 18px}.weather-main{align-items:center;gap:14px;display:flex}.weather-emoji{font-size:2.6rem;line-height:1}.weather-main .eyebrow{margin-bottom:2px}.weather-summary{margin:0;font-size:1.05rem;font-weight:600}.weather-card .tiny{margin:8px 0 0}.setup-card .plain-list a{flex-direction:row;align-items:center;gap:10px}.setup-card .icon{color:var(--accent)}.wind-card{background:linear-gradient(135deg,#7a553724,#fffaf0f5 60%);margin-bottom:16px}.routine-grid{gap:10px;display:grid}@media (width>=640px){.routine-grid{grid-template-columns:1fr 1fr}}.routine-card{text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:4px;min-height:44px;padding:16px;display:flex}.routine-card:hover{border-color:var(--accent)}.routine-card span{color:var(--muted);font-size:.92rem}.routine-stage{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:12px 0;display:flex}.routine-stage.left{text-align:left;align-items:stretch}.breath-circle{background:radial-gradient(circle,#c96f2e59,#c96f2e0d 70%);border:2px solid #c96f2e99;border-radius:50%;width:160px;height:160px;transition:transform 4s ease-in-out;transform:scale(.6)}.breath-circle.in{transition-duration:4s;transform:scale(1)}.breath-circle.out{transition-duration:6s;transform:scale(.6)}.breath-word{margin:0;font-size:1.4rem;font-weight:650}.scan-step{max-width:32ch;min-height:5em;margin:0;font-size:1.25rem;line-height:1.5}.step-count{margin:0}.goodnight{text-align:center;padding-top:12vh}.goodnight .moon{width:84px;height:84px;color:var(--accent);background:#2f5d461a;border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.goodnight .moon .icon{width:44px;height:44px}@media (prefers-reduced-motion:reduce){.breath-circle,.breath-circle.in,.breath-circle.out{transition:none;transform:scale(.8)}}.memory-list{margin:0 0 12px;padding:0;list-style:none}.memory-list .card{margin-bottom:10px}.memory-content{margin-bottom:8px;font-size:1.02rem}.memory-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.memory-meta .toggle-line{margin:0 0 0 auto}.row-actions{gap:4px;margin-top:6px;display:flex}.stack{gap:4px;display:grid}.setting-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.setting-row p{margin:0}.privacy,.legal{max-width:720px}.page.privacy,.page.legal{margin:0 auto;padding:24px 16px 0}.privacy h2,.legal h2{margin-top:26px}.privacy ul,.legal ul{padding-left:1.2em}.dialog{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);width:min(92vw,460px);box-shadow:var(--shadow);padding:22px}.dialog::backdrop{background:#22332a80}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.hero-actions{flex-wrap:wrap;gap:10px;margin:4px 0 18px;display:flex}.hero-btn{border:2px solid var(--accent);background:var(--card);min-height:56px;color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:0 22px;font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-flex}.hero-btn .icon{width:24px;height:24px}.hero-btn.primary{background:var(--accent);color:var(--on-accent)}.hero-btn:hover{box-shadow:0 4px 14px #2f5d4638}.hero-btn:disabled{opacity:.6;cursor:default}.hero-btn.glow{border-color:var(--sunrise);box-shadow:0 0 0 4px var(--sunrise-soft)}.priority-card{border-left:5px solid var(--sunrise);background:linear-gradient(135deg, var(--sunrise-soft), var(--card) 55%)}.priority-text{margin:0;font-size:1.15rem;font-weight:650}.routine-times{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.routine-times li{align-items:center;gap:10px;display:flex}.routine-times .icon{color:var(--earth)}.button-link{border:1.5px solid var(--line);min-height:44px;color:var(--accent);border-radius:999px;align-items:center;padding:0 16px;font-weight:650;text-decoration:none;display:inline-flex}.button-link:hover{border-color:var(--accent)}.planner-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.segmented{border:1.5px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.segmented button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:42px;padding:0 18px;font-weight:650}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.date-nav{align-items:center;gap:6px;display:flex}.date-nav .icon-button{font-size:1.4rem;line-height:1}.empty-day{margin:6px 4px 10px}.listen{font:inherit;border:1px solid var(--line);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;min-height:32px;margin-top:8px;padding:4px 12px;font-size:.82rem;font-weight:650}.routine-section h2{align-items:center;gap:8px;display:flex}.routine-section fieldset{margin-top:6px}.sticky-save{background:var(--bg);z-index:5;padding:10px 0;position:sticky;bottom:72px}@media (width>=900px){.sticky-save{bottom:0}}.fav{vertical-align:middle;margin-left:8px}.center{text-align:center}.repeat-buttons{flex-wrap:wrap;gap:6px;display:flex}.repeat-buttons button,.repeat-buttons select{font:inherit;border:1.5px solid var(--line);background:var(--card);min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;width:auto;padding:0 16px;font-weight:650}.repeat-buttons button.on,.repeat-buttons select.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.repeat-buttons button:hover{border-color:var(--accent)}.scanner-head{align-items:center;gap:14px;display:flex}.scanner-head p{margin:2px 0 0}.plus-button{background:var(--accent);width:56px;height:56px;color:var(--on-accent);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;font-size:2rem;font-weight:400;line-height:1;display:grid;box-shadow:0 4px 12px #2f5d4640}.plus-button:hover:not(:disabled){background:var(--accent-dim)}.plus-button:disabled{opacity:.6;cursor:default}.scan-summary{margin:12px 0 4px;font-weight:600}.scanner .hint{margin-top:10px}.weather-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.weather-top .eyebrow{margin:0}.segmented.small button{min-height:36px;padding:0 14px;font-size:.88rem}.segmented button:disabled{opacity:.45;cursor:default}.day-parts{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 6px;padding:0;list-style:none;display:grid}.day-parts li{text-align:center;background:var(--surface);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.part-emoji{font-size:1.6rem;line-height:1.2}.hourly{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:8px;padding:8px 2px 10px;display:flex;overflow-x:auto}.hour{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--input-bg);scroll-snap-align:start;flex-direction:column;flex:none;align-items:center;gap:2px;width:64px;padding:8px 4px;display:flex}.hour-time{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:700}.hour-emoji{font-size:1.4rem;line-height:1.3}.hour-temp{font-weight:700}.hour-rain{color:var(--accent);min-height:1em;font-size:.72rem}.proposal-link{flex-basis:100%;font-size:.88rem;font-weight:650}.page-count{color:var(--muted);letter-spacing:.02em;margin:4px 0 0;font-size:.82rem}
