:root{--bg: #e7ece9;--bg-2: #dfe7e3;--ink: #182225;--ink-2: #3f4c4f;--muted: #5f6c6e;--line: rgba(24, 34, 37, .1);--line-strong: rgba(24, 34, 37, .2);--card: #f7f9f8;--tile: #ffffff;--field: #ffffff;--bar: #eef2f0;--accent: #2c6a6e;--accent-soft: rgba(44, 106, 110, .12);--accent-ink: #ffffff;--warm: #9a6728;--warm-btn: #8d5e22;--warm-soft: rgba(168, 116, 47, .14);--on-warm: #ffffff;--rose: #a85467;--rose-soft: rgba(168, 84, 103, .13);--on-rose: #ffffff;--violet: #7a5fb0;--focus: #1f5c99;--toast-bg: #182225;--toast-ink: #eef3f1;--toast-act: #8fd0c8;--glow-1: rgba(159, 202, 195, .45);--glow-2: rgba(236, 208, 168, .35);--font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif;--font-round: ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--r-card: 22px;--r-ctl: 16px;--tabs-h: 58px;--moments-h: 72px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0b1113;--bg-2: #0f171a;--ink: #e5edea;--ink-2: #c3cfcc;--muted: #93a2a0;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .18);--card: #141d20;--tile: #1a2427;--field: #121a1d;--bar: #10181b;--accent: #7dbcb5;--accent-soft: rgba(125, 188, 181, .15);--accent-ink: #0a1919;--warm: #d8ad69;--warm-btn: #d8ad69;--warm-soft: rgba(216, 173, 105, .15);--on-warm: #2a1c08;--rose: #dc8c9e;--rose-soft: rgba(220, 140, 158, .15);--on-rose: #2a0f16;--violet: #a993d8;--focus: #9cc8ff;--toast-bg: #e5edea;--toast-ink: #0b1113;--toast-act: #2c6a6e;--glow-1: rgba(23, 66, 63, .55);--glow-2: rgba(63, 50, 32, .4);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg)}body{color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overflow-x:hidden;min-height:100dvh;background:radial-gradient(120% 60% at 0% 0%,var(--glow-1),transparent 60%),radial-gradient(90% 50% at 100% 10%,var(--glow-2),transparent 60%),var(--bg);background-attachment:fixed}body.has-flow{overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0;touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2{text-wrap:balance}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:10px}.muted{color:var(--muted)}.small{font-size:14px}.pad{padding:6px 2px}.app{max-width:480px;margin:0 auto}.page{padding:0 max(16px,env(safe-area-inset-left,0px)) calc(var(--tabs-h) + var(--safe-b) + 28px) max(16px,env(safe-area-inset-right,0px))}.tab-today .page{padding-bottom:calc(var(--tabs-h) + var(--moments-h) + var(--safe-b) + 28px)}.view{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.view>*{min-width:0}.banner{margin:calc(8px + var(--safe-t)) 16px 0;padding:10px 14px;border-radius:14px;background:var(--warm-soft);color:var(--ink);font-size:14.5px}.banner+.page .head{padding-top:12px}.splash{min-height:100dvh;display:grid;place-items:center}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:calc(18px + var(--safe-t))}.head h1{font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.02em}.head .sub{color:var(--muted);font-size:16px;font-weight:500;margin-top:2px}.sos-link{flex:none;min-height:44px;padding:0 4px;color:var(--rose);font-size:15px;font-weight:600}.dock{position:fixed;z-index:30;left:50%;bottom:0;transform:translate(-50%);width:min(100%,480px);background:var(--bar);border-top:1px solid var(--line);padding:0 max(10px,env(safe-area-inset-right,0px)) var(--safe-b) max(10px,env(safe-area-inset-left,0px))}.moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 2px 6px}.moment{min-height:60px;border-radius:18px;padding:0 4px;font-size:clamp(15px,4.4vw,17.5px);font-weight:650;letter-spacing:-.005em;transition:transform .15s ease}.moment:active{transform:scale(.97)}.moment.pull{background:var(--accent);color:var(--accent-ink)}.moment.lapse{background:var(--warm-btn);color:var(--on-warm)}.moment.panic{background:var(--rose);color:var(--on-rose)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);height:var(--tabs-h)}.tab{display:grid;justify-items:center;align-content:center;gap:2px;color:var(--muted);border-radius:14px}.tab span{font-size:11.5px;font-weight:600}.tab[aria-current=page]{color:var(--accent)}.sec{display:grid;gap:10px}.sec-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sec-h{font-size:19px;font-weight:650;letter-spacing:-.01em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:16px 12px;display:grid;gap:12px;min-width:0}.card.list{gap:0;padding-block:4px}.card.soft{background:var(--accent-soft);border-color:transparent;font-size:17px}.card.now .eyebrow{font-size:12.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.card.now.rose .eyebrow{color:var(--rose)}.now-h{font-size:24px;font-weight:650;letter-spacing:-.01em;margin-top:-6px}.card.quiet{padding-block:18px}.now-none{color:var(--muted);font-size:17px}.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.row2.tight{display:inline-grid;gap:6px}.support{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:58px;padding:8px 2px;text-align:left;border-bottom:1px solid var(--line)}.support:last-child{border-bottom:0}.check{width:28px;height:28px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;color:var(--accent-ink)}.support.done .check{background:var(--accent);border-color:var(--accent)}.support-l{font-size:17px;font-weight:550}.support.done .support-l{color:var(--muted)}.support-t{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.marks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mark{min-height:58px;border-radius:var(--r-ctl);background:var(--card);border:1px solid var(--line);font-size:15px;font-weight:600;padding:4px;color:var(--ink);transition:transform .15s ease}.mark:active{transform:scale(.96)}.note-mark{display:grid;justify-items:center;align-content:center;gap:2px;color:var(--accent)}.season{color:var(--muted);font-size:14px}.tiles{display:grid;gap:10px}.tiles.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tiles.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tile{min-height:64px;border-radius:var(--r-ctl);background:var(--tile);border:1px solid var(--line-strong);padding:10px 12px;display:grid;align-content:center;justify-items:center;gap:2px;text-align:center;color:var(--ink);transition:transform .15s ease,background .15s ease}.tiles.cols-3 .tile{padding:8px 3px}.tile:active{transform:scale(.97)}.tile-l{font-size:17px;font-weight:600;line-height:1.25}.tiles.cols-3 .tile-l{font-size:clamp(14.5px,4.05vw,17px)}.tile-s{font-size:13px;color:var(--muted)}.tile.on.tone-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tile.on.tone-rose{background:var(--rose);border-color:var(--rose);color:var(--on-rose)}.tile.on.tone-warm{background:var(--warm-btn);border-color:var(--warm-btn);color:var(--on-warm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:999px;padding:0 22px;font-size:17px;font-weight:650;background:var(--accent);color:var(--accent-ink);text-align:center;transition:transform .15s ease,opacity .15s ease}.btn:active{transform:scale(.97)}.btn.wide{width:100%}.btn.tall{min-height:60px}.btn.small{min-height:40px;padding:0 14px;font-size:15px}.btn.ghost{background:var(--tile);color:var(--ink);border:1px solid var(--line-strong);font-weight:600}.btn.rose{background:var(--rose);color:var(--on-rose)}.btn:disabled{opacity:.4;cursor:default;transform:none}.link{color:var(--accent);font-weight:600;font-size:15.5px;min-height:44px;padding:0 4px;display:inline-flex;align-items:center;gap:4px;justify-self:start}.link.add{justify-self:start}.icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);flex:none}.icon-btn:disabled{opacity:.3}.field{width:100%;min-height:52px;border-radius:14px;border:1px solid var(--line-strong);background:var(--field);padding:12px 14px;font-size:17px;color:var(--ink);min-width:0}.field::placeholder{color:var(--muted);opacity:.85}.field.code-input{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:16px;letter-spacing:0;padding-left:12px;padding-right:12px}.nowrap{white-space:nowrap}.field.area{min-height:140px;resize:vertical;line-height:1.45}.field.area.big{min-height:34vh}.field.time{width:auto;min-width:112px;flex:none}.edit-row{display:flex;align-items:center;gap:8px;min-width:0}.edit-row .field:not(.time){flex:1}.edit-row.between{justify-content:space-between}.edit-row label{flex:1}.edit-support,.edit-contact{display:grid;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;text-align:left;font-size:16.5px}.switch .sw{width:51px;height:31px;border-radius:16px;background:var(--line-strong);position:relative;flex:none;transition:background .2s}.switch .sw:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .25s ease}.switch[aria-checked=true] .sw{background:var(--accent)}.switch[aria-checked=true] .sw:after{transform:translate(20px)}ul.plain{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:16.5px}ul.kv li,.kv-row{display:flex;justify-content:space-between;gap:12px}ul.kv li span:last-child,.kv-row span:last-child{text-align:right;font-variant-numeric:tabular-nums}ul.dots li:before{content:"· ";color:var(--muted)}ul.devices li{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px}.pair{display:grid;gap:6px;padding:12px;border-radius:16px;background:var(--accent-soft)}.code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:26px;font-weight:650;letter-spacing:.08em;display:flex;flex-wrap:wrap;gap:4px 14px}.code.big{font-size:clamp(22px,6.6vw,28px);padding:14px 16px;border-radius:18px;background:var(--card);border:1px solid var(--line-strong)}.hint{font-size:15px;color:var(--muted);line-height:1.4}.hint.warn,.warn-text{color:var(--warm);font-weight:600}.flow{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding-top:var(--safe-t)}.flow:focus{outline:none}.flow-top{display:flex;justify-content:space-between;align-items:center;padding:6px max(10px,env(safe-area-inset-right,0px)) 0 max(10px,env(safe-area-inset-left,0px));width:100%;max-width:520px;margin:0 auto}.flow-body{flex:1;display:flex;flex-direction:column;width:100%;max-width:520px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-right,0px)) calc(20px + var(--safe-b)) max(20px,env(safe-area-inset-left,0px))}.step{flex:1;display:flex;flex-direction:column;min-height:0}.step-head{display:grid;gap:16px;padding-top:8px}.step-title{font-size:27px;line-height:1.25;font-weight:650;letter-spacing:-.015em}.step-actions{margin-top:auto;display:grid;gap:10px;padding-top:28px}.big-line{font-size:22px;line-height:1.35;font-weight:550;text-wrap:pretty}.timer{font-family:var(--font-round);font-size:68px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--accent);line-height:1}.value-line{font-size:19px;line-height:1.4;padding:4px 0 4px 14px;border-left:3px solid var(--accent)}.plan-line{font-size:17px;line-height:1.4;padding:12px 14px;border-radius:16px;background:var(--warm-soft)}.note{gap:12px}.note-label{font-size:24px;font-weight:650;padding-top:4px}.voice{display:grid;gap:8px}.voice-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;width:100%;border-radius:var(--r-ctl);border:1.5px dashed var(--line-strong);color:var(--accent);font-size:17px;font-weight:600}.voice-btn:disabled{opacity:.6}.voice-rec{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 4px 0 14px;border-radius:var(--r-ctl);background:var(--rose-soft)}.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--rose);animation:rec 1.4s ease-in-out infinite}@keyframes rec{50%{opacity:.35}}.rec-time{flex:1;font-variant-numeric:tabular-nums;font-weight:600}.crisis .step-head{gap:18px}.helps{margin:0;padding-left:20px;display:grid;gap:8px;font-size:19px}.call{display:flex;align-items:center;gap:12px;min-height:64px;padding:0 18px;border-radius:18px;background:var(--card);border:1px solid var(--line-strong);color:var(--ink);text-decoration:none}.call-name{flex:1;font-size:18px;font-weight:650;min-width:0}.call-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px;text-align:right}.call.sos{background:var(--rose);border-color:var(--rose);color:var(--on-rose)}.call.sos .call-num{color:var(--on-rose);opacity:.85}.flow-dark{--bg: #0d1517;--ink: #e2ebe8;--ink-2: #b9c7c4;--muted: #95a6a3;background:#0d1517;color:#e2ebe8;color-scheme:dark}.flow-dark .icon-btn{color:#95a6a3}.panic-screen{flex:1;display:flex;flex-direction:column}.panic-center{flex:1;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:8px 0 16px}.panic-lines p{font-size:27px;line-height:1.3;font-weight:600;margin-bottom:10px}.panic-small{font-size:14.5px;color:#95a6a3}.panic-small a{color:#cfe0dc;font-weight:650}.panic-tools{display:grid;gap:10px}.panic-step{font-size:32px;line-height:1.25;font-weight:600;min-height:3.75em;display:flex;align-items:center}.panic-text{font-size:20px;line-height:1.4;text-align:center}.btn.ghost-dark{background:#1b2629;color:#e2ebe8;border:1px solid #2c3b3e}.btn.quiet-dark{background:#0d1517;color:#b9c7c4;border:1px solid #2c3b3e;font-weight:550}.btn.calm{background:#7dbcb5;color:#0a1919}.btn.eased{min-height:66px;font-size:19px}.breath{width:190px;height:190px;margin:0 auto;display:grid;place-items:center}.breath span{width:100%;height:100%;border-radius:50%;border:3px solid #4f807b;animation:breathe 10s ease-in-out infinite}@keyframes breathe{0%{transform:scale(.72)}40%{transform:scale(1)}to{transform:scale(.72)}}.day-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px}.day-name{font-size:17px;font-weight:600;text-align:center;flex:1}.tl{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:2px}.tl:before{content:"";position:absolute;left:55px;top:8px;bottom:8px;width:2px;background:var(--line)}.tl-i{display:grid;grid-template-columns:46px 20px minmax(0,1fr);gap:6px;align-items:start;padding:6px 0;--tc: var(--accent)}.tl-i.tone-warm{--tc: var(--warm)}.tl-i.tone-rose{--tc: var(--rose)}.tl-i.tone-violet{--tc: var(--violet)}.tl-i time{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:1px}.tl-i .dot{width:12px;height:12px;border-radius:50%;margin:4px auto 0;background:var(--tc);position:relative;z-index:1;box-shadow:0 0 0 3px var(--card)}.tl-x{display:grid;gap:1px;min-width:0}.tl-x b{font-weight:600}.tl-x span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.stat-line{font-size:17px;padding:10px 2px;border-bottom:1px solid var(--line)}.stat-line:last-child{border-bottom:0}.setup{min-height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;padding:calc(24px + var(--safe-t)) max(22px,env(safe-area-inset-right,0px)) calc(22px + var(--safe-b)) max(22px,env(safe-area-inset-left,0px))}.setup-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:22px}.setup-head{display:grid;gap:14px;justify-items:start}.setup-head>*{max-width:100%}.setup-head h1{font-size:34px;font-weight:700;letter-spacing:-.02em}.setup-head h2{font-size:27px;font-weight:650;letter-spacing:-.015em}.setup-head .field{width:100%}.setup-lead{font-size:20px;line-height:1.45;color:var(--ink-2)}.setup-actions{margin-top:auto;display:grid;gap:10px;padding-top:28px}.setup-actions .link{justify-self:center}.steps{margin:0;padding-left:22px;display:grid;gap:10px;font-size:18px}.toast-slot{position:fixed;z-index:60;left:0;right:0;bottom:calc(var(--tabs-h) + var(--safe-b) + 12px);display:flex;justify-content:center;pointer-events:none;padding:0 16px}.toast-slot.lifted{bottom:calc(var(--tabs-h) + var(--moments-h) + var(--safe-b) + 12px)}body.has-flow .toast-slot{bottom:auto;top:calc(var(--safe-t) + 56px)}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:100%;min-height:48px;padding:6px 6px 6px 18px;border-radius:999px;background:var(--toast-bg);color:var(--toast-ink);font-weight:550;box-shadow:0 10px 28px #0000002e;animation:toastIn .25s ease}.toast span{padding-right:12px}.toast button{min-height:40px;padding:0 14px;color:var(--toast-act);font-weight:700;border-radius:999px}@keyframes toastIn{0%{transform:translateY(12px);opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.breath span{transform:scale(.86)}}@media (prefers-contrast: more){:root{--line: rgba(127, 127, 127, .55);--line-strong: rgba(127, 127, 127, .8)}}
