:root,[data-theme=light]{--bg-primary: #f7f3ee;--bg-card: #ffffff;--bg-elevated: #efe9e0;--bg-overlay: rgba(30, 36, 48, .32);--bg-scrim: rgba(247, 243, 238, .86);--accent-primary: #2a5fa5;--accent-deep: #1f4a85;--accent-soft: rgba(42, 95, 165, .1);--accent-ink: #ffffff;--text-primary: #1e2430;--text-secondary: #5a6a7a;--text-muted: #9aaabb;--text-on-accent: #ffffff;--success: #3a7a3a;--success-soft: rgba(58, 122, 58, .12);--warning: #b8642a;--warning-soft: rgba(184, 100, 42, .12);--danger: #c04040;--danger-soft: rgba(192, 64, 64, .12);--hair: rgba(30, 36, 48, .08);--hair-strong: rgba(30, 36, 48, .14);--shadow-sm: 0 1px 2px rgba(30, 36, 48, .04), 0 1px 1px rgba(30, 36, 48, .03);--shadow-md: 0 2px 8px rgba(30, 36, 48, .06), 0 1px 2px rgba(30, 36, 48, .04);--shadow-lg: 0 12px 32px rgba(30, 36, 48, .1), 0 4px 12px rgba(30, 36, 48, .06);--shadow-xl: 0 24px 56px rgba(30, 36, 48, .16), 0 8px 16px rgba(30, 36, 48, .08);--pip-red: #c04040;--pip-orange: #d97a3a;--pip-yellow: #c9a23a;--pip-green: #5a9a4a;--pip-blue: #2a5fa5}[data-theme=dark]{--bg-primary: #1a1815;--bg-card: #252320;--bg-elevated: #2f2c28;--bg-overlay: rgba(0, 0, 0, .55);--bg-scrim: rgba(26, 24, 21, .86);--accent-primary: #5a8fd5;--accent-deep: #4173b8;--accent-soft: rgba(90, 143, 213, .16);--text-primary: #f0ebe2;--text-secondary: #b3a89a;--text-muted: #6f6557;--text-on-accent: #ffffff;--success: #6aaa6a;--success-soft: rgba(106, 170, 106, .18);--warning: #d18a52;--warning-soft: rgba(209, 138, 82, .18);--danger: #d97070;--danger-soft: rgba(217, 112, 112, .18);--hair: rgba(240, 235, 226, .08);--hair-strong: rgba(240, 235, 226, .16);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 8px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.2);--shadow-lg: 0 12px 32px rgba(0,0,0,.45), 0 4px 12px rgba(0,0,0,.3);--shadow-xl: 0 24px 56px rgba(0,0,0,.55), 0 8px 16px rgba(0,0,0,.35);--pip-red: #d96868;--pip-orange: #e0925f;--pip-yellow: #d6ba6a;--pip-green: #82b878;--pip-blue: #5a8fd5}[data-accent=blue]{--accent-primary: #2a5fa5;--accent-deep: #1f4a85;--accent-soft: rgba(42, 95, 165, .1)}[data-accent=terracotta]{--accent-primary: #b8642a;--accent-deep: #944d1f;--accent-soft: rgba(184, 100, 42, .1)}[data-accent=forest]{--accent-primary: #3a7a3a;--accent-deep: #2b5d2b;--accent-soft: rgba(58, 122, 58, .1)}[data-accent=plum]{--accent-primary: #7a4373;--accent-deep: #5d325a;--accent-soft: rgba(122, 67, 115, .1)}[data-theme=dark][data-accent=blue]{--accent-primary: #5a8fd5;--accent-deep: #4173b8;--accent-soft: rgba(90, 143, 213, .16)}[data-theme=dark][data-accent=terracotta]{--accent-primary: #d18a52;--accent-deep: #b06d3a;--accent-soft: rgba(209, 138, 82, .16)}[data-theme=dark][data-accent=forest]{--accent-primary: #82b878;--accent-deep: #639759;--accent-soft: rgba(130, 184, 120, .16)}[data-theme=dark][data-accent=plum]{--accent-primary: #b078a5;--accent-deep: #8d5b85;--accent-soft: rgba(176, 120, 165, .16)}:root{--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, "Cascadia Mono", Menlo, monospace}[data-heading=lora]{--font-display: "Lora", Georgia, serif}[data-heading=newsreader]{--font-display: "Newsreader", Georgia, serif}[data-heading=fraunces]{--font-display: "Fraunces", Georgia, serif}:root,[data-density=cozy]{--gap-row: 18px;--pad-card: 16px;--pad-screen: 20px;--task-pad-y: 14px;--task-pad-x: 14px;--task-gap: 10px}[data-density=compact]{--gap-row: 12px;--pad-card: 12px;--pad-screen: 16px;--task-pad-y: 10px;--task-pad-x: 12px;--task-gap: 6px}[data-density=spacious]{--gap-row: 26px;--pad-card: 20px;--pad-screen: 24px;--task-pad-y: 18px;--task-pad-x: 16px;--task-gap: 14px}:root{--speed: 1;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.55, 0, .68, .06);--dur-fast: calc(.16s / var(--speed));--dur-base: calc(.28s / var(--speed));--dur-slow: calc(.48s / var(--speed));--dur-xslow: calc(.8s / var(--speed))}:root{--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-2xl: 28px;--r-pill: 999px}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-height: 60px}@keyframes screen-in-up{0%{transform:translateY(100%);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes screen-in-down{0%{transform:translateY(-100%);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes screen-in-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.screen-anim-up{animation:screen-in-up var(--dur-base) var(--spring)}.screen-anim-down{animation:screen-in-down var(--dur-base) var(--spring)}.screen-anim-fade{animation:screen-in-fade var(--dur-base) var(--ease-out)}.confetti-host{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:200}.confetti-piece{position:absolute;top:-10%;width:8px;height:14px;border-radius:2px;opacity:.95;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translate3d(0,-20vh,0) rotate(0);opacity:1}to{transform:translate3d(0,110vh,0) rotate(720deg);opacity:.1}}@keyframes splash-mark-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes splash-title-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-out{to{opacity:0;transform:scale(.98)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.serif{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}.h-display{font-family:var(--font-display);font-size:34px;line-height:1.15;font-weight:400;letter-spacing:-.02em}.h-1{font-family:var(--font-display);font-size:28px;line-height:1.2;font-weight:400;letter-spacing:-.015em}.h-2{font-family:var(--font-display);font-size:22px;line-height:1.25;font-weight:400;letter-spacing:-.01em}.h-3{font-family:var(--font-display);font-size:18px;line-height:1.3;font-weight:400}.label-eyebrow{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.muted{color:var(--text-secondary)}.dim{color:var(--text-muted)}.btn{font-family:var(--font-body);font-size:16px;font-weight:500;padding:14px 20px;border-radius:var(--r-xl);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) ease;background:transparent;color:var(--text-primary)}.btn:active{transform:scale(.97)}.btn>svg{width:18px;height:18px;flex-shrink:0}.btn-primary{background:linear-gradient(140deg,var(--accent-primary),var(--accent-deep));color:var(--text-on-accent);box-shadow:var(--shadow-md)}.btn-primary:hover{background:linear-gradient(140deg,var(--accent-deep),var(--accent-deep))}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent-primary)}.btn-filled{background:var(--bg-elevated);color:var(--text-primary)}.btn-block{width:100%}.segmented{display:flex;background:var(--bg-elevated);border-radius:var(--r-md);padding:3px;gap:2px}.segmented button{flex:1;font-family:var(--font-body);font-size:13px;font-weight:500;padding:8px 10px;border-radius:9px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) ease}.segmented button.is-on{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.switch{width:46px;height:28px;border-radius:999px;background:var(--hair-strong);position:relative;cursor:pointer;transition:background var(--dur-fast) ease;flex-shrink:0}.switch:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:3px;left:3px;box-shadow:0 2px 4px #0000002e;transition:left var(--dur-fast) var(--ease-out)}.switch.is-on{background:var(--accent-primary)}.switch.is-on:after{left:21px}.timeline{padding:0 var(--pad-screen);display:flex;flex-direction:column;gap:var(--task-gap)}.task-wrap{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--bg-card);transition:transform .2s var(--ease-out)}.task-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding:0 24px;color:#fff;font-weight:500;font-size:15px;pointer-events:none;opacity:0}.task-bg.swipe-left{background:var(--danger)}.task-bg.swipe-right{background:var(--success);justify-content:flex-start}.task-bg-text{display:flex;align-items:center;gap:8px}.task{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:var(--task-pad-y) var(--task-pad-x);background:var(--bg-card);border-radius:var(--r-lg);transition:transform .2s var(--ease-out),opacity var(--dur-base) ease;-webkit-user-select:none;user-select:none;touch-action:pan-y}.task.is-overdue{border-left:3px solid var(--warning);padding-left:calc(var(--task-pad-x) - 3px)}.task.is-done{opacity:.45}.task.is-done .task-title{text-decoration:line-through}.task.is-removing{opacity:0;transform:scale(.95);max-height:0;margin-top:-10px;padding-top:0;padding-bottom:0}.task-checkbox{width:24px;height:24px;border-radius:50%;border:2px solid var(--text-muted);background:transparent;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.task.is-done .task-checkbox{background:var(--success);border-color:var(--success)}.task.is-selected{box-shadow:inset 0 0 0 2px var(--accent-primary)}.task.is-selected .task-checkbox{background:var(--accent-primary);border-color:var(--accent-primary)}.selection-bar{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px) + 12px);z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;background:var(--bg-card);border:1px solid var(--hair);border-radius:var(--r-lg);box-shadow:0 8px 24px #1e243024}.selection-bar-count{font-size:14px;font-weight:600;color:var(--text-primary)}.selection-bar-actions{display:flex;gap:8px}.selection-btn{display:flex;align-items:center;gap:6px;padding:9px 14px;border:none;border-radius:var(--r-md);font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:transform var(--dur-fast) ease}.selection-btn:active{transform:scale(.95)}.selection-btn-done{background:var(--success)}.selection-btn-delete{background:var(--danger)}.task-body{min-width:0}.task-time-badge,.task-date-badge{display:inline-block;font-size:11px;font-weight:600;color:var(--accent-primary);background:var(--accent-soft);padding:2px 7px;border-radius:var(--r-sm);margin-bottom:5px;font-variant-numeric:tabular-nums}.task-date-badge+.task-time-badge,.task-time-badge+.task-date-badge{margin-left:6px}.task-title{font-size:16px;font-weight:500;color:var(--text-primary);letter-spacing:-.005em;display:flex;align-items:baseline;gap:8px;line-height:1.34}.task-title .pip{align-self:center}.task-steps{margin-top:8px}.task-steps-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent-primary);background:transparent;border:none;padding:0;cursor:pointer}.task-steps-caret{font-size:10px}.task-steps-progress{color:var(--text-muted);font-weight:600}.task-steps-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.task-step{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;padding:0;font-size:13px;color:var(--text-secondary);cursor:pointer}.task-step-box{width:16px;height:16px;border-radius:var(--r-sm);border:1.5px solid var(--hair-strong);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.task-step.is-done{color:var(--text-muted);text-decoration:line-through}.task-step.is-done .task-step-box{background:var(--accent-primary);border-color:var(--accent-primary)}.task-edit-btn{width:32px;height:32px;border-radius:var(--r-md);background:var(--bg-elevated);border:none;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;cursor:pointer;transition:color var(--dur-fast) ease}.task-edit-btn:hover{color:var(--accent-primary)}.task-handle{display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;cursor:grab;touch-action:none;padding:4px}.task-wrap.is-dragging{z-index:5;transition:none}.task-wrap.is-dragging .task{box-shadow:var(--shadow-lg);cursor:grabbing}.pip{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.pip-red{background:var(--pip-red)}.pip-orange{background:var(--pip-orange)}.pip-yellow{background:var(--pip-yellow)}.pip-green{background:var(--pip-green)}.pip-blue{background:var(--pip-blue)}.section-divider{display:flex;align-items:center;gap:12px;margin:12px var(--pad-screen) 6px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:var(--hair)}.tabbar-shell{position:fixed;left:0;right:0;bottom:0;z-index:30;pointer-events:none;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-card);border-top:1px solid var(--hair);box-shadow:0 -8px 24px #1e24300a}.tabbar-shell>*{pointer-events:auto}[data-theme=dark] .tabbar-shell{background:#252320f0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -8px 24px #0000004d}.tabbar{position:relative;display:grid;grid-template-columns:1fr 1fr 96px 1fr 1fr;align-items:stretch;padding:2px 6px;background:transparent}.tabbar-item{background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:10px 4px 4px;font-family:var(--font-body);color:var(--text-muted);transition:color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.tabbar-item:active{transform:scale(.92)}.tabbar-item.is-on{color:var(--accent-primary)}.tabbar-ico{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.tabbar-ico svg{width:22px;height:22px;display:block}.tabbar-lbl{font-size:10.5px;font-weight:500;letter-spacing:.01em;line-height:1}.tabbar-mic-slot{position:relative;display:flex;align-items:flex-start;justify-content:center;pointer-events:none}.tabbar-mic-slot .mic-btn{pointer-events:auto;position:relative;width:60px;height:60px;border-radius:50%;background:linear-gradient(140deg,var(--accent-primary),var(--accent-deep));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;margin-top:-22px;box-shadow:0 10px 22px #2a5fa552,0 2px 4px #0000001a,0 0 0 5px var(--bg-card);transition:transform var(--dur-base) var(--spring),box-shadow var(--dur-base) ease}.tabbar-mic-slot .mic-btn svg{width:24px;height:24px}.tabbar-mic-slot .mic-btn:active{transform:scale(.94)}.mic-zone.is-recording .mic-btn{animation:micPulse 1.2s ease-in-out infinite}.mic-zone .mic-ring{position:absolute;top:-22px;left:50%;width:60px;height:60px;margin-left:-30px;border-radius:50%;border:2px solid var(--accent-primary);pointer-events:none;opacity:0}.mic-zone.is-recording .mic-ring{animation:micRing 2.4s ease-out infinite}.mic-zone.is-recording .mic-ring:nth-child(2){animation-delay:.8s}.mic-zone.is-recording .mic-ring:nth-child(3){animation-delay:1.6s}@keyframes micPulse{0%,to{box-shadow:0 10px 22px #2a5fa552,0 0 0 5px var(--bg-card),0 0 #2a5fa573}50%{box-shadow:0 10px 22px #2a5fa56b,0 0 0 5px var(--bg-card),0 0 0 14px #2a5fa500}}@keyframes micRing{0%{width:60px;height:60px;top:-22px;margin-left:-30px;opacity:.6}to{width:220px;height:220px;top:-182px;margin-left:-110px;opacity:0}}.mic-zone.is-processing .mic-btn{background:var(--bg-card);color:var(--accent-primary);border:1.5px solid var(--accent-soft)}.mic-zone.is-processing .mic-btn:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent-primary);animation:micSpin .9s linear infinite}@keyframes micSpin{to{transform:rotate(360deg)}}.tabbar-floats{position:absolute;left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;pointer-events:none;z-index:2}.mic-hint-bubble,.mic-status-bubble{font-size:12px;color:var(--text-secondary);background:var(--bg-card);padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--hair);box-shadow:var(--shadow-sm);white-space:nowrap;font-family:var(--font-body)}.mic-status-bubble{color:var(--accent-primary);font-weight:500}.mic-zone.is-recording~.tabbar-floats .mic-hint-bubble,.tabbar-shell:has(.mic-zone.is-recording) .mic-hint-bubble{display:none}.mic-transcript{position:absolute;left:16px;right:16px;bottom:calc(104px + env(safe-area-inset-bottom,0px));background:var(--bg-card);border-radius:var(--r-xl);padding:14px 18px;box-shadow:var(--shadow-lg);font-size:15px;color:var(--text-primary);line-height:1.4;opacity:0;transform:translateY(8px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--spring);pointer-events:none;z-index:3}.mic-transcript.is-visible{opacity:1;transform:translateY(0)}.mic-transcript-cursor{display:inline-block;width:2px;height:16px;background:var(--accent-primary);vertical-align:text-bottom;margin-left:2px;animation:blink .9s steps(2) infinite}@keyframes blink{50%{opacity:0}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px 160px;text-align:center;gap:22px}.empty-art{width:140px;height:140px;color:var(--text-muted)}.empty-title{font-family:var(--font-display);font-size:22px;color:var(--text-primary);line-height:1.3}.empty-sub{font-size:14px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:14px}.arrow-down{width:24px;height:40px;color:var(--accent-primary);animation:arrowBob 1.6s ease-in-out infinite}@keyframes arrowBob{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:60;opacity:0;transition:opacity var(--dur-base) var(--ease-out);pointer-events:none}.sheet-backdrop.is-open{opacity:1;pointer-events:auto}.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--bg-card);border-radius:var(--r-2xl) var(--r-2xl) 0 0;z-index:61;transform:translateY(100%);transition:transform var(--dur-slow) var(--spring);max-height:92%;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);padding-bottom:28px}.sheet.is-open{transform:translateY(0)}.sheet-handle{width:38px;height:4px;background:var(--hair-strong);border-radius:999px;margin:10px auto 4px}.sheet-header{padding:18px var(--pad-screen) 8px;display:flex;align-items:baseline;justify-content:space-between}.sheet-title{font-family:var(--font-display);font-size:22px;color:var(--text-primary)}.sheet-sub{font-size:12px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.sheet-body{flex:1;overflow-y:auto;padding:8px var(--pad-screen);display:flex;flex-direction:column;gap:10px}.sheet-actions{padding:12px var(--pad-screen) 0;display:flex;flex-direction:column;gap:8px}.confirm-card{background:var(--bg-primary);border-radius:var(--r-md);border:1px solid var(--hair);transition:border-color var(--dur-fast) ease}.confirm-card:hover,.confirm-card.is-open{border-color:var(--accent-primary)}.confirm-card-head{padding:14px;display:flex;gap:12px;align-items:flex-start;cursor:pointer}.confirm-card-time{font-size:13px;font-weight:600;color:var(--accent-primary);font-variant-numeric:tabular-nums;min-width:50px;padding-top:1px}.confirm-card-body{flex:1;min-width:0}.confirm-card-title{font-size:15px;color:var(--text-primary)}.confirm-card-meta{margin-top:4px;font-size:12px;color:var(--text-muted);display:flex;gap:6px;align-items:center}.confirm-card-chev{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform var(--dur-fast) ease}.confirm-card-chev.is-open{transform:rotate(180deg)}.confirm-card-editor{padding:4px 14px 14px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--hair)}.confirm-card-editor .edit-datetime{margin-bottom:0}.confirm-card-remove{align-self:flex-start;background:transparent;border:none;color:var(--danger);font-size:13px;padding:4px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.confirm-phase{animation:confirmPhaseIn var(--dur-slow) var(--spring)}@keyframes confirmPhaseIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.confirm-transcript{font-size:13px;line-height:1.4;color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--r-lg);padding:10px 12px;margin-bottom:14px}.confirm-error-msg{font-size:14px;color:var(--danger);margin-bottom:8px}.confirm-skeleton{display:flex;flex-direction:column;gap:8px}.confirm-skeleton-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-card);border-radius:var(--r-lg)}.confirm-skeleton-pip{width:7px;height:7px;border-radius:50%;background:var(--hair-strong);flex-shrink:0}.confirm-skeleton-bar{height:9px;border-radius:5px;flex:1;background:linear-gradient(90deg,var(--hair) 25%,var(--bg-elevated) 50%,var(--hair) 75%);background-size:200% 100%;animation:confirmShimmer 1.3s linear infinite}.confirm-skeleton-row:nth-child(1) .confirm-skeleton-bar{max-width:62%}.confirm-skeleton-row:nth-child(2) .confirm-skeleton-bar{max-width:85%}.confirm-skeleton-row:nth-child(3) .confirm-skeleton-bar{max-width:50%}@keyframes confirmShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.conflict-sheet .conflict-icon{width:44px;height:44px;border-radius:50%;background:var(--warning-soft);color:var(--warning);display:flex;align-items:center;justify-content:center;margin:0 var(--pad-screen) 10px}.conflict-slots{display:flex;flex-direction:column;gap:8px}.conflict-option{padding:14px 16px;border-radius:var(--r-md);border:1.5px solid var(--hair);background:var(--bg-primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:all var(--dur-fast) ease}.conflict-option:hover,.conflict-option.is-selected{border-color:var(--accent-primary);background:var(--accent-soft)}.conflict-option-time{font-family:var(--font-display);font-size:22px;color:var(--text-primary)}.conflict-option-note{font-size:12px;color:var(--text-secondary)}.celebrate{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 40px;gap:22px;text-align:center}.celebrate-mark{width:96px;height:96px;border-radius:50%;background:var(--success-soft);color:var(--success);display:flex;align-items:center;justify-content:center;animation:celebrateBounce .8s var(--spring)}@keyframes celebrateBounce{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.celebrate-title{font-family:var(--font-display);font-size:42px;color:var(--text-primary);letter-spacing:-.02em}.celebrate-sub{font-size:15px;color:var(--text-secondary);max-width:280px;line-height:1.45}.celebrate-stats{display:flex;gap:24px;margin-top:8px}.celebrate-stat-num{font-family:var(--font-display);font-size:28px;color:var(--accent-primary)}.celebrate-stat-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;width:8px;height:12px;top:-20px;animation:confettiFall 2.4s linear forwards}@keyframes confettiFall{to{transform:translateY(900px) rotate(720deg);opacity:0}}.edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity var(--dur-base) ease}.edit-overlay.is-open{opacity:1;pointer-events:auto}.edit-card{width:100%;background:var(--bg-card);border-radius:var(--r-2xl);padding:22px;box-shadow:var(--shadow-xl);transform:scale(.96);transition:transform var(--dur-base) var(--spring)}.edit-overlay.is-open .edit-card{transform:scale(1)}.edit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.edit-title{font-size:15px;font-weight:600;color:var(--text-primary)}.edit-close{width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.edit-input{width:100%;font-family:var(--font-display);font-size:16px;background:transparent;border:none;outline:none;color:var(--text-primary);padding:4px 0;border-bottom:1.5px solid var(--hair);margin-bottom:16px}.edit-input:focus{border-bottom-color:var(--accent-primary)}.edit-input-multiline{resize:none;line-height:1.35;min-height:calc(1.35em * 3 + 8px);max-height:calc(1.35em * 3 + 8px);overflow-y:auto;font-family:var(--font-display)}.edit-field{display:flex;flex-direction:column;gap:6px}.edit-field-label{font-size:11px;color:var(--text-secondary)}.edit-card>.edit-field{margin-bottom:16px}.edit-datetime{display:flex;gap:8px;margin-bottom:12px}.edit-datetime .edit-field{flex:1;min-width:0}.edit-field-time{margin-bottom:18px}.edit-field-time .edit-dt-input{width:100%}.edit-dt-input{height:38px;background:var(--bg-elevated);border:none;border-radius:var(--r-md);color:var(--text-primary);font-size:14px;padding:0 10px}.edit-save{width:100%;padding:13px;font-size:14px;margin-bottom:8px}.edit-delete{width:100%;background:transparent;border:none;color:var(--danger);font-size:13px;padding:8px;cursor:pointer}.priority-picker{display:flex;gap:6px}.priority-seg{flex:1;padding:8px 4px;border:none;border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.priority-seg.is-on{background:var(--accent-primary);color:var(--text-on-accent)}.add-task-card{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 2 * var(--pad-screen));margin:8px var(--pad-screen) 0;padding:16px;background:var(--bg-elevated);border:1.5px dashed var(--hair);border-radius:var(--r-xl);color:var(--text-secondary);font-family:var(--font-display);font-size:14px;font-weight:500;cursor:pointer;transition:transform var(--dur-fast) ease,border-color var(--dur-fast) ease}.add-task-card:active{transform:scale(.98)}.add-task-card:hover{border-color:var(--accent-primary)}.create-ai-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:11px;margin-bottom:8px;background:var(--accent-soft);color:var(--accent-primary);border:none;border-radius:var(--r-md);font-size:13px;font-weight:600;cursor:pointer}.create-ai-btn:disabled{opacity:.5;cursor:default}.create-ai-error{font-size:12px;color:var(--danger);margin:0 0 8px}.create-ai-hint{font-size:12px;color:var(--text-secondary);margin:0 0 8px}.create-subtasks{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.create-subtask-row{display:flex;align-items:center;gap:6px}.create-subtask-input{flex:1;height:34px;background:var(--bg-elevated);border:none;border-radius:var(--r-md);color:var(--text-primary);font-size:13px;padding:0 10px}.create-subtask-remove{width:30px;height:30px;flex-shrink:0;border:none;border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.create-add-step{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--text-secondary);font-size:12px;padding:4px 0;margin-bottom:14px;cursor:pointer}.task-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap}.task-badge-window{background:var(--bg-elevated);color:var(--text-secondary)}.task-badge-window-now{background:var(--accent-soft);color:var(--accent-primary)}.task-badge-stale{background:var(--bg-elevated);color:var(--text-muted)}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:calc(var(--safe-top) + 14px) var(--pad-screen) 0;color:var(--accent-primary);-webkit-user-select:none;user-select:none;pointer-events:none}.app-header-brand{display:inline-flex;align-items:center;gap:8px}.app-header-logo{display:inline-flex;align-items:center;justify-content:center}.app-header-name{font-family:var(--font-display);font-size:18px;line-height:1;letter-spacing:-.01em;color:var(--text-primary)}.today-header{padding:32px var(--pad-screen) 18px;position:relative}.today-greeting{font-family:var(--font-display);font-size:26px;font-weight:400;letter-spacing:-.015em;color:var(--text-primary);display:flex;align-items:center;gap:8px}.today-date{margin-top:4px;font-size:13px;color:var(--text-secondary)}.today-progress-mini{margin-top:14px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary)}.progress-bar{flex:1;height:4px;background:var(--hair);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent-primary);border-radius:999px;transition:width var(--dur-slow) var(--spring)}.profile-btn{position:absolute;top:64px;right:var(--pad-screen);width:40px;height:40px;border-radius:50%;background:var(--bg-elevated);display:inline-flex;align-items:center;justify-content:center;font-size:18px;border:none;cursor:pointer;transition:transform var(--dur-fast) ease}.profile-btn:active{transform:scale(.92)}.today-scroll{display:contents}.today-bottom-spacer{height:96px;flex-shrink:0}.ai-insight{margin:14px var(--pad-screen);padding:14px 16px;background:var(--accent-soft);border-radius:var(--r-lg);font-size:13px;color:var(--text-primary);display:flex;gap:10px;align-items:flex-start}.ai-insight .robot{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--accent-primary);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center}.ai-insight-text{line-height:1.4}.ai-insight-text strong{font-weight:600}.overload-banner{margin:14px var(--pad-screen);padding:14px 16px;background:var(--danger-soft);border:none;border-radius:var(--r-lg);font-size:13px;color:var(--text-primary);text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer;transition:transform var(--dur-fast) ease}.overload-banner:active{transform:scale(.98)}.overload-banner-icon{flex-shrink:0;font-size:16px}.overload-banner-text{line-height:1.4}.task-trim-hint{border-radius:var(--r-lg);outline:2px solid var(--danger);outline-offset:2px}.onboard-track{flex:1;display:flex;flex-direction:column;padding:50px 0 28px}.onboard-pages{flex:1;display:flex;scroll-snap-type:x mandatory;scroll-behavior:smooth;min-height:0}.onboard-page{flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 28px;text-align:center;gap:24px}.onboard-mock-wrap{width:100%;display:flex;justify-content:center;align-items:flex-start;flex:0 0 auto}.onboard-copy{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 4px}.onboard-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--accent-primary)}.onboard-title{font-family:var(--font-display);font-size:26px;line-height:1.15;letter-spacing:-.018em;color:var(--text-primary);max-width:320px}.onboard-desc{font-size:14.5px;color:var(--text-secondary);line-height:1.5;max-width:300px}.ob-mock{width:260px;background:var(--bg-card);border-radius:22px;padding:14px 14px 12px;box-shadow:0 1px #fff9 inset,0 12px 28px -10px #281e142e,0 2px 6px #281e140f;border:1px solid rgba(0,0,0,.04);position:relative;overflow:hidden;text-align:left}[data-theme=dark] .ob-mock,.phone-screen[data-theme=dark] .ob-mock{background:var(--bg-elevated);box-shadow:0 14px 32px -12px #00000080,0 2px 8px #0000004d;border-color:#ffffff0a}.ob-mock-bar{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-bottom:10px;letter-spacing:.02em}.ob-mock-signal{width:22px;height:7px;background:linear-gradient(currentColor,currentColor) 0 100%/2px 4px no-repeat,linear-gradient(currentColor,currentColor) 4px 100%/2px 5px no-repeat,linear-gradient(currentColor,currentColor) 8px 100%/2px 6px no-repeat,linear-gradient(currentColor,currentColor) 12px 100%/2px 7px no-repeat;opacity:.7}.ob-mock-header{margin-bottom:10px}.ob-mock-greet{font-family:var(--font-display);font-size:16px;line-height:1.1;letter-spacing:-.01em;color:var(--text-primary)}.ob-mock-sub{font-size:10px;color:var(--text-muted);margin-top:3px}.ob-mock-list{display:flex;flex-direction:column;gap:5px}.ob-mock-task{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-primary);border-radius:9px;font-size:11px;line-height:1.2}.ob-mock-task-flat{background:transparent;border:1px dashed var(--hair)}.ob-mock-task.is-focus{background:var(--accent-soft);outline:1px solid var(--accent-primary);outline-offset:-1px}.ob-mock-task.ob-mock-task-new{background:var(--bg-primary)}.ob-mock-time{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);min-width:30px;font-size:10px}.ob-mock-pip{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ob-mock-title{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ob-mock-mic{margin:14px auto 2px;width:36px;height:36px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;position:relative}.ob-mock-mic span{width:10px;height:14px;border-radius:5px;background:#fff;display:block}.ob-mock-mic.is-active em{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:1px solid var(--accent-primary);border-radius:50%;opacity:0;animation:ob-mic-pulse 1.8s ease-out infinite}.ob-mock-mic.is-active em:nth-child(2){top:-14px;right:-14px;bottom:-14px;left:-14px;animation-delay:.3s}.ob-mock-mic.is-active em:nth-child(3){top:-20px;right:-20px;bottom:-20px;left:-20px;animation-delay:.6s}@keyframes ob-mic-pulse{0%{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(1.3)}}.ob-mock-voice-quote{font-family:var(--font-display);font-style:italic;font-size:12.5px;line-height:1.35;letter-spacing:-.005em;color:var(--text-primary);background:var(--accent-soft);padding:10px 12px;border-radius:10px;margin-bottom:10px}.ob-mock-voice-ai{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-secondary);margin-bottom:8px}.ob-mock-ai-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft);flex-shrink:0}.ob-mock-week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:10px}.ob-mock-day{background:var(--bg-primary);border-radius:7px;padding:6px 4px 5px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:76px}.ob-mock-day.is-today{background:var(--accent-soft);outline:1px solid var(--accent-primary);outline-offset:-1px}.ob-mock-day-busy{background:#c040400f}[data-theme=dark] .ob-mock-day-busy,.phone-screen[data-theme=dark] .ob-mock-day-busy{background:#d970701a}.ob-mock-day-l{font-size:9px;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.ob-mock-day-n{font-family:var(--font-display);font-size:13px;color:var(--text-primary);line-height:1;margin-bottom:3px}.ob-mock-day i{width:100%;border-radius:2px;display:block;opacity:.85}.ob-mock-insight{display:flex;align-items:center;gap:7px;background:var(--accent-soft);border-radius:9px;padding:8px 10px;font-size:11px;color:var(--text-primary);line-height:1.3}.ob-mock-insight strong{font-weight:600}.ob-mock-demo{display:flex;flex-direction:column}.ob-demo-stage{position:relative;height:132px;margin:6px 0 4px}.ob-demo-frame{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;display:flex;flex-direction:column;gap:5px;animation-duration:10s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.22,1,.36,1)}.ob-demo-f1{align-items:center;justify-content:center;animation-name:ob-demo-f1}.ob-demo-hint{font-size:12px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:6px}.ob-demo-arrow{width:12px;height:18px;background:linear-gradient(currentColor,currentColor) center / 1.5px 100% no-repeat,linear-gradient(currentColor,currentColor) center bottom / 8px 1.5px no-repeat;transform:rotate(180deg);position:relative}.ob-demo-arrow:before,.ob-demo-arrow:after{content:"";position:absolute;width:1.5px;height:7px;background:currentColor;top:1px}.ob-demo-arrow:before{left:3px;transform:rotate(-35deg);transform-origin:top}.ob-demo-arrow:after{right:3px;transform:rotate(35deg);transform-origin:top}.ob-demo-f2{align-items:center;justify-content:center;animation-name:ob-demo-f2}.ob-demo-status{font-size:12px;color:var(--accent-primary);font-weight:500}.ob-demo-wave{display:flex;align-items:center;gap:4px;height:32px}.ob-demo-wave i{display:block;width:3px;background:var(--accent-primary);border-radius:2px;animation:ob-demo-wave .6s ease-in-out infinite alternate}.ob-demo-wave i:nth-child(1){height:8px;animation-delay:0ms}.ob-demo-wave i:nth-child(2){height:14px;animation-delay:80ms}.ob-demo-wave i:nth-child(3){height:22px;animation-delay:.16s}.ob-demo-wave i:nth-child(4){height:18px;animation-delay:.24s}.ob-demo-wave i:nth-child(5){height:28px;animation-delay:0ms}.ob-demo-wave i:nth-child(6){height:20px;animation-delay:.12s}.ob-demo-wave i:nth-child(7){height:14px;animation-delay:.2s}.ob-demo-wave i:nth-child(8){height:18px;animation-delay:80ms}.ob-demo-wave i:nth-child(9){height:10px;animation-delay:.16s}@keyframes ob-demo-wave{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.ob-demo-f3{justify-content:center;animation-name:ob-demo-f3}.ob-demo-f4{animation-name:ob-demo-f4}@keyframes ob-demo-f1{0%{opacity:0}2%,18%{opacity:1}22%,95%{opacity:0}98%,to{opacity:1}}@keyframes ob-demo-f2{0%,18%{opacity:0}22%,38%{opacity:1}42%,to{opacity:0}}@keyframes ob-demo-f3{0%,38%{opacity:0}42%,68%{opacity:1}72%,to{opacity:0}}@keyframes ob-demo-f4{0%,68%{opacity:0}72%,95%{opacity:1}98%,to{opacity:0}}.ob-demo-mic{animation:ob-demo-mic-pulse 10s infinite cubic-bezier(.22,1,.36,1)}.ob-demo-mic em{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:1.5px solid var(--accent-primary);border-radius:50%;opacity:0;animation:ob-demo-mic-ripple 10s infinite ease-out}.ob-demo-mic em:nth-child(3){animation-delay:.6s}.ob-demo-mic em:nth-child(4){animation-delay:1.2s}@keyframes ob-demo-mic-pulse{0%,18%{transform:scale(1);box-shadow:none}22%,38%{transform:scale(1.08);box-shadow:0 0 0 4px var(--accent-soft)}42%,to{transform:scale(1);box-shadow:none}}@keyframes ob-demo-mic-ripple{0%,18%{opacity:0;transform:scale(.7)}22%{opacity:.45;transform:scale(.9)}38%{opacity:0;transform:scale(1.6)}42%,to{opacity:0}}.onboard-dots{display:flex;gap:8px;justify-content:center;margin:24px 0}.onboard-dot{width:6px;height:6px;border-radius:50%;background:var(--hair-strong);transition:all var(--dur-base) var(--spring)}.onboard-dot.is-on{width:22px;background:var(--accent-primary);border-radius:999px}.onboard-cta{padding:0 var(--pad-screen)}.splash{background:var(--bg-primary);display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:0 40px}.splash-mark{width:76px;height:76px;border-radius:22px;background:linear-gradient(140deg,var(--accent-primary),var(--accent-deep));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-lg)}.splash-phrase{font-family:var(--font-display);font-size:36px;line-height:1.15;letter-spacing:-.02em;text-align:center;color:var(--text-primary);animation:splashIn var(--dur-slow) var(--spring) .15s}.splash-sub{font-size:14px;color:var(--text-muted);letter-spacing:.06em;animation:splashIn var(--dur-slow) var(--spring) .3s}@keyframes splashIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.week-screen{padding:0 0 110px}.week-header{padding:32px var(--pad-screen) 16px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.week-nav-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.week-nav-btn:active{transform:scale(.92)}.week-title{font-family:var(--font-display);font-size:26px;text-align:center;flex:1}.week-sub{font-size:13px;color:var(--text-secondary);margin-top:4px;text-align:center}.week-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:0 8px;overflow-y:auto}.week-day{background:var(--bg-card);border-radius:var(--r-md);padding:8px 6px;min-height:0;display:flex;flex-direction:column;gap:4px;border:1px solid var(--hair);transition:border-color var(--dur-fast) ease}.week-day.is-today{border-color:var(--accent-primary);background:var(--accent-soft)}.week-day.is-drop-target{border-color:var(--accent-primary);border-style:dashed;background:var(--accent-soft)}.week-day-head{text-align:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600;padding-bottom:2px;border-bottom:1px solid var(--hair)}.week-day.is-today .week-day-head{color:var(--accent-primary)}.week-day-num{font-family:var(--font-display);font-size:18px;text-align:center;color:var(--text-primary);line-height:1;margin:2px 0}.week-day.is-today .week-day-num{color:var(--accent-primary);font-weight:600}.week-task{font-size:10px;color:var(--text-primary);background:var(--bg-elevated);padding:4px 5px;border-radius:4px;line-height:1.2;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:2px;touch-action:none}.week-task .wt-time{font-weight:600;font-size:9px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.week-task.is-dragging{opacity:.4}.week-task.has-pip{border-left:2px solid var(--accent-primary)}.history-screen{padding:0 var(--pad-screen) 130px;overflow-y:auto}.history-screen>.app-header{padding-left:0;padding-right:0}.history-header{padding-top:32px;padding-bottom:14px}.history-title{font-family:var(--font-display);font-size:26px}.history-sub{font-size:13px;color:var(--text-secondary);margin-top:4px}.donut-wrap{display:flex;align-items:center;gap:16px;padding:18px;background:var(--bg-card);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}.donut-wrap svg{width:130px;height:130px;flex-shrink:0}.donut-legend{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.legend-row{display:flex;align-items:center;gap:10px;font-size:13px}.legend-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-label{flex:1;color:var(--text-secondary)}.legend-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.history-insights{margin-top:22px;display:flex;flex-direction:column;gap:10px}.insight-card{padding:14px 16px;background:var(--bg-card);border-radius:var(--r-lg);display:flex;gap:12px;align-items:flex-start;box-shadow:var(--shadow-sm)}.insight-card .robot{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.insight-card-body{font-size:14px;line-height:1.4;color:var(--text-primary)}.insight-card-body strong{font-weight:600}.history-share{margin-top:22px}.settings-head{padding:32px var(--pad-screen) 16px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--hair)}.settings-back{width:36px;height:36px;border-radius:50%;background:var(--bg-elevated);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.settings-title{font-family:var(--font-display);font-size:26px}.settings-body{flex:1;overflow-y:auto;padding:20px var(--pad-screen) 32px;display:flex;flex-direction:column;gap:24px}.settings-section h3{font-family:var(--font-body);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin:0 0 10px 4px}.settings-group{background:var(--bg-card);border-radius:var(--r-lg);overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.settings-row+.settings-row{border-top:1px solid var(--hair)}.settings-row-label{font-size:15px;color:var(--text-primary);display:flex;align-items:center;gap:10px}.settings-row-label>svg{width:20px;height:20px;flex-shrink:0;color:var(--text-secondary)}.settings-row-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.profile-row .avatar{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:28px}.plan-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 9px;border:none;border-radius:999px;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;pointer-events:auto}.plan-badge-free{background:var(--hair);color:var(--text-muted)}.plan-badge-counter{font-variant-numeric:tabular-nums;opacity:.85}.plan-badge-premium{background:linear-gradient(135deg,#e0a93b,#b8842a);color:#fff;box-shadow:0 2px 8px #b8842a59}.plan-badge-premium svg{stroke-width:2.4}.danger-zone .settings-row-label{color:var(--danger)}.pw-screen{padding-top:var(--safe-top);padding-bottom:calc(28px + var(--safe-bottom));background:var(--bg-primary)}.pw-header{display:flex;align-items:center;justify-content:space-between;padding:14px var(--pad-screen) 8px}.pw-brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:18px;letter-spacing:-.01em;color:var(--text-primary)}.pw-logo{color:var(--accent-primary);display:inline-flex}.pw-name{line-height:1}.pw-close{width:32px;height:32px;border-radius:999px;background:transparent;border:none;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pw-close:active{background:var(--hair)}.pw-hero{padding:20px var(--pad-screen) 0}.pw-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:12px}.pw-title{font-family:var(--font-display);font-size:30px;line-height:1.15;letter-spacing:-.02em;color:var(--text-primary);margin:0;font-weight:400;text-wrap:balance}.pw-desc{font-size:14px;line-height:1.45;color:var(--text-secondary);margin:10px 0 0}.pw-compare-wrap{padding:16px var(--pad-screen) 0}.pw-compare{background:var(--bg-card);border-radius:var(--r-lg);padding:6px 16px;box-shadow:var(--shadow-sm)}.pw-compare-head,.pw-compare-row{display:grid;grid-template-columns:1fr 70px 120px;align-items:center}.pw-compare-head{padding:14px 0 8px;border-bottom:1px solid var(--hair)}.pw-col-free,.pw-col-prem{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pw-col-free{text-align:center;color:var(--text-muted)}.pw-col-prem{text-align:right;color:var(--accent-primary)}.pw-compare-row{padding:12px 0;border-bottom:1px solid var(--hair)}.pw-compare-row:last-child{border-bottom:none}.pw-feature{font-size:13.5px;color:var(--text-primary);line-height:1.35;padding-right:8px}.pw-free-val{text-align:center;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.pw-free-val.is-none{font-size:16px}.pw-prem-val{text-align:right;font-size:12.5px;color:var(--text-primary);font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:flex-end;gap:6px}.pw-tick{width:16px;height:16px;border-radius:999px;background:var(--accent-primary);color:var(--text-on-accent);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pw-plans{padding:20px var(--pad-screen) 0;display:flex;gap:8px}.pw-plan{flex:1;padding:12px 10px;border-radius:var(--r-md);border:1px solid var(--hair);background:transparent;text-align:center;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;font-family:inherit;color:var(--text-primary)}.pw-plan[aria-pressed=true]{border:2px solid var(--accent-primary);background:var(--bg-card);box-shadow:var(--shadow-sm);padding:11px 9px}.pw-plan-name{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.pw-plan-price{font-family:var(--font-display);font-size:18px;color:var(--text-primary);letter-spacing:-.01em;margin-top:2px}.pw-plan-per{font-size:10.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.pw-cta-wrap{padding:18px var(--pad-screen) 0}.pw-cta{width:100%;height:56px;border-radius:var(--r-2xl);border:none;background:linear-gradient(140deg,var(--accent-primary),var(--accent-deep));color:var(--text-on-accent);font-size:17px;font-weight:600;box-shadow:var(--shadow-md);cursor:pointer;transition:transform .12s ease;font-family:inherit}.pw-cta:active{transform:scale(.98)}.pw-cta:disabled{opacity:.6;cursor:not-allowed}.pw-reassure{display:flex;justify-content:center;align-items:center;gap:14px;padding:12px 16px 0;flex-wrap:wrap}.pw-reassure-item{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-secondary);line-height:1.2}.pw-rtick{width:14px;height:14px;border-radius:999px;background:var(--success-soft);color:var(--success);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pw-ios-only{font-size:13px;text-align:center;color:var(--text-muted);margin:0}.pw-footer{margin-top:auto;display:flex;justify-content:center;gap:18px;padding:24px 0 8px;font-size:12px;color:var(--text-muted)}.pw-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.pw-link-static{cursor:default}.pw-link:disabled{opacity:.5;cursor:not-allowed}.pw-footer-sheet{margin-top:12px;padding:12px 0 4px}.history-tabs{display:flex;gap:8px;padding:0;margin-top:0;margin-bottom:16px}.history-tab{flex:1;height:36px;border-radius:18px;border:none;background:var(--bg-elevated);color:var(--text-secondary);font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.history-tab.is-active{background:var(--accent-primary);color:var(--text-on-accent)}.history-tab-count{min-width:20px;height:20px;border-radius:10px;background:#0000002e;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.history-overdue-grid{display:grid;grid-template-columns:1fr;gap:10px}.history-overdue-card{position:relative;display:flex;flex-direction:column;background:var(--bg-card);border-radius:14px;padding:12px 12px 10px;border-left:3px solid var(--card-accent, var(--accent-primary));min-height:132px}.history-overdue-body{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:transparent;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;flex:1}.history-overdue-body:active{opacity:.7}.history-overdue-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--card-accent, var(--text-muted));margin-bottom:4px}.history-overdue-title{font-weight:600;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.history-overdue-meta{font-size:12px;color:var(--text-secondary);margin-top:4px}.history-overdue-actions{display:flex;gap:6px;margin-top:10px}.btn-restore{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:var(--font-body);font-size:12px;font-weight:600;padding:7px 8px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) ease}.btn-restore:active{transform:scale(.96)}.btn-restore-primary{background:var(--accent-soft);border-color:transparent;color:var(--accent-primary)}.btn-restore>svg{width:13px;height:13px}.history-empty{text-align:center;padding:32px 16px;color:var(--text-secondary)}.period-selector{display:flex;gap:6px;margin:16px 0 12px;background:var(--bg-elevated);padding:4px;border-radius:999px}.period-option{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-size:13px;color:var(--text-secondary);background:transparent;border:0;border-radius:999px;cursor:pointer}.period-option.is-active{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.period-option.is-locked{color:var(--text-muted)}.stats-block{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.stats-cell{background:var(--bg-card);padding:14px;border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.stats-cell-value{font-family:var(--font-display),Georgia,serif;font-size:28px;color:var(--text-primary)}.stats-cell-label{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--text-muted);margin-top:4px}.category-bar-chart{width:100%;height:auto;margin:6px 0 8px}.category-legend{display:flex;flex-direction:column;gap:4px;margin:4px 0 16px}.insights-block{display:flex;flex-direction:column;gap:10px;margin-top:12px}.insight-loading,.insight-error{font-size:12px;color:var(--text-muted);text-align:center}.insight-error{color:var(--pip-red)}.share-report-button{margin-top:14px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{width:100%;height:100%;background:var(--bg-primary)}[data-theme=dark] html{background:var(--bg-primary)}body{width:100%;min-height:100dvh;height:100dvh;font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px;line-height:1.5;overflow:hidden;overscroll-behavior:none}#root{width:100%;height:100dvh;position:relative;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}button{border:none;background:none;cursor:pointer;font-family:inherit;color:inherit}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}input,textarea{font-family:inherit;font-size:16px;border:none;outline:none;background:transparent;color:inherit}img,svg{display:block;max-width:100%}.app-root{position:relative;width:100%;height:100dvh;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-primary);overflow-y:auto;overflow-x:hidden;padding-bottom:130px;scrollbar-width:thin}.screen::-webkit-scrollbar{width:4px}.screen::-webkit-scrollbar-thumb{background:var(--hair-strong);border-radius:4px}@keyframes pulse-record{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.85}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes bounce-check{0%{transform:scale(.6)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.pulse{animation:pulse-record 1.4s ease-in-out infinite}.slide-up{animation:slide-up .28s cubic-bezier(.32,.72,0,1)}.fade-in{animation:fade-in .2s ease-out}.bounce-check{animation:bounce-check .32s ease-out}.spin{animation:spin .8s linear infinite}
