:root{--bg:#111210;--bg-card:#181916;--bg-elevated:#1d1f1a;--bg-input:#22241f;--border:#ffffff17;--border-active:#fff3;--text-primary:#ece9e1;--text-secondary:#a3a59a;--text-muted:#71736a;--accent:#74b485;--accent-soft:#74b48524;--accent-hover:#87c396;--accent-contrast:#0f100e;--danger:#cf7264;--danger-soft:#cf726424;--success:#74b485;--radius-sm:7px;--radius:10px;--radius-lg:22px;--bottom-nav-offset:calc(28px + env(safe-area-inset-bottom,0px));--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--shadow:0 14px 32px #00000061;--shadow-sm:0 2px 10px #00000047}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f2ec;--bg-card:#fff;--bg-elevated:#fff;--bg-input:#efece3;--border:#1f23201f;--border-active:#1f232042;--text-primary:#1f2320;--text-secondary:#5c6058;--text-muted:#8b8f86;--accent:#2f5d4a;--accent-soft:#2f5d4a17;--accent-hover:#24493a;--accent-contrast:#f5f2ec;--danger:#a3492f;--danger-soft:#a3492f1a;--success:#2f5d4a;--shadow:0 12px 28px #1f232014;--shadow-sm:0 2px 8px #1f23200d}}:root[data-theme=light]{--bg:#f5f2ec;--bg-card:#fff;--bg-elevated:#fff;--bg-input:#efece3;--border:#1f23201f;--border-active:#1f232042;--text-primary:#1f2320;--text-secondary:#5c6058;--text-muted:#8b8f86;--accent:#2f5d4a;--accent-soft:#2f5d4a17;--accent-hover:#24493a;--accent-contrast:#f5f2ec;--danger:#a3492f;--danger-soft:#a3492f1a;--success:#2f5d4a;--shadow:0 12px 28px #1f232014;--shadow-sm:0 2px 8px #1f23200d}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{height:100%;min-height:100dvh;overflow:hidden}body{background:var(--bg);height:100%;min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;overflow:hidden}#root{background:var(--bg);flex-direction:column;height:100%;min-height:100dvh;transition:background .2s,color .2s;display:flex;position:relative}#root.future-month-theme{--accent:#b8863f;--accent-soft:#b8863f21;--accent-hover:#a5762f;--accent-contrast:#f5f2ec}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #root.future-month-theme{--accent:#d1a05a;--accent-soft:#d1a05a29;--accent-hover:#dcae6c;--accent-contrast:#14120c}}:root[data-theme=dark] #root.future-month-theme{--accent:#d1a05a;--accent-soft:#d1a05a29;--accent-hover:#dcae6c;--accent-contrast:#14120c}.login-page{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.login-card{width:100%;max-width:360px}.login-mark{background:var(--accent-soft);border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:16px;display:grid}.login-mark svg{fill:none;width:27px;stroke:var(--accent);stroke-width:1.7px}.login-subtitle{color:var(--text-muted);margin:-18px 0 24px;font-size:13px}.scroll-area{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-y:auto}.scroll-area::-webkit-scrollbar{display:none}.page-scroll{padding-bottom:var(--bottom-nav-offset)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-elevated{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.month-hero{padding:max(16px, env(safe-area-inset-top,16px)) 16px 0}.budget-total{text-align:center;padding:22px 0 14px}.budget-total-value{color:var(--accent);font:600 clamp(32px, 9vw, 42px)/1 var(--font-mono);letter-spacing:.035em;margin-top:18px}.budget-pills{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;display:flex}.budget-pills span{border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;padding:6px 12px;font-size:11.5px}.couple-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:38px;padding:14px 16px;display:grid;position:relative}.couple-person{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.couple-person:nth-child(2){text-align:right;align-items:flex-end}.couple-person strong{font:600 16px/1.2 var(--font-mono);margin-top:4px}.couple-person small{color:var(--text-muted);margin-top:4px;font-size:10px}.couple-caption{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:10px}.couple-heart{fill:none;width:25px;height:25px;stroke:var(--accent);stroke-width:1.6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.transfer-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:10px;padding:14px}.statement{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.statement-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:13px 16px;display:flex}.statement-row:last-child{border-bottom:none}.statement-row.total{padding:18px 16px}.statement-row.total .k{color:var(--text-primary);font-size:13.5px;font-weight:600}.statement-row.total .v{font-family:var(--font-mono);color:var(--accent);font-size:28px;font-weight:600}.statement-row.sub .k{color:var(--text-secondary);font-size:13px}.statement-row.sub .v{font-family:var(--font-mono);color:var(--text-secondary);font-size:13.5px;font-weight:500}.statement-row.due{flex-direction:column;align-items:stretch;gap:3px;padding:14px 16px}.statement-row.due .line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.statement-row.due .k{color:var(--text-primary);font-size:13.5px;font-weight:600}.statement-row.due .v{font-family:var(--font-mono);font-size:17px;font-weight:600}.statement-row.due .note{color:var(--text-muted);font-size:11px}.transfer-task{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:7px 0;display:flex}.transfer-task-check{border:1.5px solid var(--border-active);background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;transition:all .2s;display:flex}.transfer-task-check.done{border-color:var(--accent);background:var(--accent)}.transfer-task-label{color:var(--text-primary);flex:1;min-width:0;font-size:13px}.transfer-task-label.done{color:var(--text-muted);text-decoration:line-through}.transfer-task-amount{font-family:var(--font-mono);color:var(--text-primary);font-size:13px;font-weight:600}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--accent);color:var(--accent-contrast);font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--border-active);color:var(--text-primary)}.btn-danger{color:var(--danger);border:1px solid var(--danger-soft);background:0 0}.btn-danger:hover{background:var(--danger-soft)}.btn-icon{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);padding:0;font-size:16px}.fab{top:calc(env(safe-area-inset-top,0px) + 72px);background:var(--accent);width:52px;height:52px;color:var(--accent-contrast);cursor:pointer;z-index:50;touch-action:none;-webkit-user-select:none;user-select:none;border:none;border-radius:14px;justify-content:center;align-items:center;font-size:24px;font-weight:400;transition:all .2s;display:flex;position:fixed;right:20px;box-shadow:0 10px 22px #0000003d}.fab:active{transform:scale(.93)}.fab.dragging{cursor:grabbing;transition:none;animation:none;transform:none}.fab{animation:2.8s ease-out infinite fabPulse}@keyframes fabPulse{0%{box-shadow:0 10px 22px #0000003d, 0 0 0 0 var(--accent-soft)}70%{box-shadow:0 10px 22px #0000003d,0 0 0 14px #0000}to{box-shadow:0 10px 22px #0000003d,0 0 #0000}}@keyframes rowIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.expense-item,.card-elevated{animation:.4s cubic-bezier(.22,1,.36,1) both rowIn}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-body);-webkit-appearance:none;outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}.search-field{position:relative}.search-field>svg{z-index:1;fill:none;width:19px;stroke:var(--text-muted);stroke-width:1.7px;position:absolute;top:9px;left:11px}.search-field .input{border-radius:999px;padding-left:38px;padding-right:36px}.search-field>button{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:19px;position:absolute;top:4px;right:7px}.search-count{color:var(--text-muted);padding:5px 10px 0;font-size:10px}.expense-skeleton{padding:18px 16px}.expense-skeleton span{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-card), var(--bg-input), var(--bg-card));background-size:220% 100%;height:54px;margin-bottom:10px;animation:1.2s linear infinite skeleton;display:block}.query-error{text-align:center;color:var(--text-secondary);padding:42px 16px}.query-error .btn{margin-top:12px}@keyframes skeleton{to{background-position:-220% 0}}.input-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip:active{transform:scale(.96)}.chip-dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}.tabs{border-bottom:1px solid var(--border);gap:20px;padding:0 16px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;margin-bottom:-1px;padding:10px 2px 11px;font-size:13px;font-weight:500}.tab.active{color:var(--text-primary);border-color:var(--accent);font-weight:600}.bottom-nav{background:color-mix(in srgb, var(--bg-card) 80%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(140%);width:100%;max-width:430px;padding:0 4px calc(env(safe-area-inset-bottom,0px) + 4px);z-index:100;transition:transform .22s,opacity .18s;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--text-muted);font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;background:0 0;border:none;border-top:2px solid #0000;flex-direction:column;flex:1;align-items:center;min-width:0;padding:12px 2px 8px;font-size:11.5px;font-weight:500;transition:color .15s,border-color .15s;display:flex;position:relative}.nav-item.active{color:var(--accent);border-top-color:var(--accent);font-weight:600}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;margin-bottom:3px}.month-tools{color:var(--text-muted);font-size:12px}.month-tools summary{cursor:pointer;min-height:36px;padding:8px 2px}.nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav-badge{border:2px solid var(--bg-card);color:#fff;background:#c98492;border-radius:9px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:8px;font-weight:800;display:grid;position:absolute;top:7px;left:calc(50% + 7px)}@media (width<=859px){#root:has(.sheet-overlay) .bottom-nav{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(calc(100% + env(safe-area-inset-bottom,0px)))}}.sheet-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;overscroll-behavior:contain;padding-top:max(12px, env(safe-area-inset-top,0px));background:#00000080;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet{background:var(--bg-elevated);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:430px;padding:20px 20px calc(env(safe-area-inset-bottom,0px) + 20px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;max-height:min(88dvh,820px);box-shadow:var(--shadow);margin:0 auto;animation:.28s cubic-bezier(.32,.72,0,1) slideUp;overflow-y:auto}.sheet-handle{background:var(--border-active);border-radius:2px;width:36px;height:4px;margin:0 auto 20px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.display{font-family:var(--font-body);letter-spacing:-.01em;font-weight:700}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.amount-large{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--accent);font-size:34px;font-weight:600;line-height:1}.amount-medium{font-family:var(--font-mono);color:var(--text-primary);font-size:21px;font-weight:600;line-height:1}.label-sm{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;font-weight:600}.badge-person{letter-spacing:.02em;color:var(--text-muted);border:1px solid var(--border);border-radius:20px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.ledger-tag{color:var(--accent);font-weight:600}.goal-budget-note{color:var(--text-secondary);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));border-radius:10px;margin-top:9px;padding:8px 10px;font-size:11.5px;line-height:1.4}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.w-full{width:100%}.text-center{text-align:center}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.pt-safe{padding-top:env(safe-area-inset-top,0px)}.toast{top:max(20px, env(safe-area-inset-top,20px));background:var(--bg-elevated);border:1px solid var(--border-active);border-radius:var(--radius);z-index:1000;white-space:normal;width:calc(100% - 24px);max-width:360px;box-shadow:var(--shadow);justify-content:center;align-items:center;gap:12px;padding:12px 14px 12px 20px;font-size:14px;font-weight:500;animation:.25s cubic-bezier(.32,.72,0,1) slideDown;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast.success{border-color:var(--success);color:var(--success)}.toast.error{border-color:var(--danger);color:var(--danger)}.toast-action{color:inherit;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600}.toast-action:active{transform:scale(.96)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ledger-day{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);z-index:1;padding:16px 16px 6px;font-size:11px;position:sticky;top:0}.expense-item{position:relative;overflow:hidden}.expense-row{z-index:1;background:var(--bg);border-bottom:1px solid var(--border);align-items:stretch;position:relative}.expense-tick{border-radius:2px;flex-shrink:0;width:3px}.expense-meta{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;min-width:82px;display:flex}.expense-meta-amount{font-family:var(--font-mono);white-space:nowrap;font-size:15px;font-weight:600;line-height:1.1}.expense-delete-btn{background:color-mix(in srgb, var(--danger) 14%, var(--bg));border:none;border-left:1px solid var(--danger-soft);color:var(--danger);cursor:pointer;z-index:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:background .15s;display:flex;position:absolute;top:0;bottom:0;right:0}.sheet-section{margin-bottom:16px}.sheet-section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.sheet-section-title{margin-bottom:10px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.chip-scroll{-webkit-overflow-scrolling:touch;max-height:172px;padding-right:4px;overflow-y:auto}.inline-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.inline-summary-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.muted-note{color:var(--text-muted);margin-top:6px;font-size:11px}.mobile-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shrink-card{min-width:0}.grid-end{text-align:right}.split-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.split-row-label{flex:1;min-width:0}.split-row-value{text-align:right;white-space:nowrap;flex-shrink:0}.category-breakdown-item{align-items:stretch;gap:10px;display:flex}.category-breakdown-content{flex:1;min-width:0}.category-breakdown-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.category-breakdown-name{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:500}.category-breakdown-value{text-align:right;white-space:nowrap;font-family:var(--font-mono);flex-shrink:0}.section-title{margin-bottom:10px;padding:0 16px}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.category-donut-shell{height:228px;margin-bottom:18px}.history-chip{color:var(--text-secondary);border-radius:var(--radius-sm);max-width:100%;font-size:11px;font-family:var(--font-mono);align-items:center;gap:6px;padding:4px 9px;display:inline-flex}@media (width<=390px){:root{--bottom-nav-offset:calc(24px + env(safe-area-inset-bottom,0px))}.card,.card-elevated{padding:14px}.amount-large{font-size:28px}.amount-medium{font-size:19px}.statement-row.total .v{font-size:24px}.label-sm{letter-spacing:.06em;font-size:10.5px}.fab{width:48px;height:48px;font-size:22px}.sheet{width:calc(100% - 8px);padding:18px 14px calc(env(safe-area-inset-bottom,0px) + 18px);max-height:92dvh}.form-grid-2,.inline-summary,.mobile-grid-2{grid-template-columns:1fr}.split-row,.category-breakdown-header{flex-direction:column;align-items:flex-start}.split-row-value,.category-breakdown-value,.grid-end{text-align:left}.chart-card{padding:12px}.category-donut-shell{height:212px}.expense-meta{min-width:74px}.expense-meta-amount{font-size:14px}}@media (width>=860px){:root{--bottom-nav-offset:0px}.app-page,.page-scroll{width:100%;max-width:640px;margin:0 auto}.app-content{margin-left:220px}.bottom-nav{border-top:none;border-right:1px solid var(--border);-webkit-backdrop-filter:none;background:var(--bg-card);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;width:220px;max-width:none;padding:28px 12px;top:0;bottom:0;left:0;transform:none}.nav-item{border-radius:var(--radius-sm);border-top:none;border-left:2px solid #0000;flex-direction:row;flex:none;justify-content:flex-start;gap:10px;padding:10px 14px}.nav-item.active{border-top-color:#0000;border-left-color:var(--accent);background:var(--accent-soft)}.nav-label{font-size:13.5px}.fab{inset:auto 32px 32px auto!important}.sheet-overlay{align-items:center;padding:24px}.sheet{border-radius:var(--radius-lg);max-width:480px;max-height:min(85vh,760px);animation:.18s dialogIn}.sheet-handle{display:none}}@keyframes dialogIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.settings-page{height:100%;padding-top:max(16px, env(safe-area-inset-top,16px))}.settings-page-content{padding:0 16px 24px}.settings-page .sheet-handle{display:none}.history-month-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.pilot-total{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 62%), var(--bg-card);border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));border-radius:var(--radius-lg);margin:14px 0 10px;padding:22px 16px 18px}.pilot-total.negative,.pilot-hero-card.negative{border-color:color-mix(in srgb, var(--danger) 55%, var(--border))}.pilot-total-caption{color:var(--text-muted);margin-top:7px;font-size:12px}.allocation-strip{background:var(--border);border-radius:999px;flex-wrap:wrap;height:8px;margin:13px 2px 18px;display:flex;overflow:visible}.allocation-segment{min-width:2px}.allocation-segment:first-child{border-radius:999px 0 0 999px}.allocation-segment:last-of-type{border-radius:0 999px 999px 0}.allocation-segment.fixed{background:var(--text-secondary)}.allocation-segment.savings{background:var(--accent)}.allocation-segment.flexible{background:var(--success)}.allocation-legend{width:100%;color:var(--text-muted);justify-content:space-between;margin-top:12px;font-size:10px;display:flex}.pilot-alert{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-card));color:var(--text-secondary);border-radius:12px;margin:10px 0;padding:11px 13px;font-size:12px;line-height:1.45}.pilot-alert.danger{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--danger-soft);color:var(--danger)}.pilot-alert.success{border-color:color-mix(in srgb, var(--success) 35%, var(--border));background:color-mix(in srgb, var(--success) 9%, var(--bg-card));color:var(--success)}.pilot-hero-card{text-align:center;background:var(--bg-card);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px 16px}.pilot-hero-card strong{color:var(--accent);font:600 clamp(30px, 9vw, 40px)/1 var(--font-mono);margin:8px 0 5px;display:block}.pilot-hero-card p:last-child{color:var(--text-muted);font-size:12px}.pilot-grid{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 18px;display:grid}.pilot-grid>div{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:5px;padding:12px;display:flex}.pilot-grid span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.pilot-grid strong{font:600 13px/1.3 var(--font-mono)}.pilot-section{margin:20px 0 14px}.pilot-progress{margin:13px 0;font-size:12px}.pilot-progress-track{background:var(--border);border-radius:999px;height:6px;margin-top:7px;overflow:hidden}.pilot-progress-value{border-radius:inherit;background:var(--accent);height:100%;transition:width .65s cubic-bezier(.22,1,.36,1)}.pilot-progress-value.success{background:var(--success)}.pilot-progress-value.danger{background:var(--danger)}.closed-month-note{z-index:20;right:16px;bottom:calc(78px + env(safe-area-inset-bottom,0px));border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);color:var(--text-muted);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:10px 12px;font-size:11px;position:fixed;left:16px}.form-field{margin-bottom:16px}.input-money{font:600 20px/1 var(--font-mono);text-align:right}.goal-form-intro{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--bg-card));color:var(--text-secondary);border-radius:12px;gap:10px;margin-bottom:18px;padding:12px;font-size:12px;line-height:1.45;display:flex}.goal-impact-card{border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));background:color-mix(in srgb, var(--success) 7%, var(--bg-card));border-radius:14px;margin:6px 0 18px;padding:15px}.goal-impact-card.warning{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--danger-soft)}.goal-impact-main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.goal-impact-main span{color:var(--text-secondary);font-size:12px}.goal-impact-main strong{color:var(--accent);font:600 19px/1 var(--font-mono)}.goal-impact-grid{color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;margin-top:12px;font-size:10.5px;display:flex}.goal-impact-alert,.goal-impact-ok{margin-top:10px;font-size:11.5px;line-height:1.4}.goal-impact-alert{color:var(--danger)}.goal-impact-ok{color:var(--success)}.goal-month-status,.goal-card-meta{justify-content:space-between;gap:10px;margin-top:9px;font-size:11px;display:flex}.goal-month-status{border-top:1px solid var(--border);padding-top:9px}.goal-card-meta{color:var(--text-muted)}.goals-overview{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 7%, var(--bg-card));flex-direction:column;gap:4px;padding:14px 16px;display:flex}.goals-overview span,.goals-overview small{color:var(--text-muted);font-size:11px}.goals-overview strong{color:var(--accent);font:600 22px/1.2 var(--font-mono)}.history-state{color:var(--accent);margin-top:5px;font-size:10px;display:inline-block}.history-state.closed{color:var(--success)}.history-pilot-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;display:grid}.history-pilot-grid span{background:var(--bg);color:var(--text-muted);border-radius:9px;flex-direction:column;gap:4px;padding:8px;font-size:9.5px;display:flex}.history-pilot-grid strong{color:var(--text-primary);font:600 11px/1 var(--font-mono)}.history-chip i{border-radius:50%;width:6px;height:6px}.settings-preview{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;display:grid}.settings-preview span{background:var(--bg);color:var(--text-muted);border-radius:9px;flex-direction:column;gap:4px;padding:8px;font-size:9.5px;display:flex}.settings-preview strong{color:var(--text-primary);font:600 11px/1 var(--font-mono)}.settings-disclosure{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.unsaved-note{color:var(--accent);margin-top:3px;font-size:10px}.wishes-page{--wish-rose:#c98492;--wish-rose-soft:#c9849224;--wish-gold:#d4aa61;--wish-gold-soft:#d4aa612b;min-height:100%;padding-top:max(18px, env(safe-area-inset-top,18px));background:radial-gradient(circle at 8% 8%, var(--wish-rose-soft), transparent 30%), radial-gradient(circle at 92% 25%, var(--wish-gold-soft), transparent 26%), var(--bg);position:relative}.wish-ambient{pointer-events:none;height:330px;position:absolute;inset:0 0 auto;overflow:hidden}.wish-ambient i{color:var(--wish-gold);opacity:.28;font-style:normal;animation:7s ease-in-out infinite wishFloat;position:absolute}.wish-ambient i:first-child{top:42px;left:8%}.wish-ambient i:nth-child(2){color:var(--wish-rose);font-size:20px;animation-delay:-2s;top:124px;right:7%}.wish-ambient i:nth-child(3){font-size:26px;animation-delay:-4s;top:230px;left:15%}.wish-ambient i:nth-child(4){font-size:11px;animation-delay:-5.5s;top:72px;right:27%}@keyframes wishFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-13px)rotate(10deg)}}.wish-hero{z-index:1;text-align:center;padding:18px 20px 14px;position:relative}.wish-eyebrow{color:var(--wish-rose);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.wish-hero h1{letter-spacing:-.035em;margin-top:7px;font:500 clamp(30px,9vw,42px)/1.04 Georgia,Times New Roman,serif}.wish-hero>p:last-of-type{max-width:370px;color:var(--text-secondary);margin:12px auto 0;font-size:13px}.wish-crown-slots{grid-template-columns:1fr 1fr;gap:9px;margin-top:22px;display:grid}.wish-crown-slot{border:1px dashed color-mix(in srgb, var(--wish-gold) 45%, transparent);background:color-mix(in srgb, var(--bg-card) 72%, transparent);text-align:left;border-radius:14px;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.wish-crown-slot>span{background:var(--wish-gold-soft);width:28px;height:28px;color:var(--wish-gold);border-radius:50%;flex:0 0 28px;place-items:center;display:grid}.wish-crown-slot div{min-width:0}.wish-crown-slot small,.wish-crown-slot strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.wish-crown-slot small{color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;font-size:8px}.wish-crown-slot strong{color:var(--text-secondary);margin-top:2px;font-size:11px;font-weight:600}.wish-crown-slot.filled{background:linear-gradient(135deg, var(--wish-gold-soft), color-mix(in srgb, var(--bg-card) 88%, transparent));border-style:solid;box-shadow:inset 0 1px #ffffff14}.wish-crown-slot.filled strong{color:var(--text-primary)}.wish-notification-card{z-index:1;border:1px solid color-mix(in srgb, var(--wish-rose) 30%, var(--border));background:color-mix(in srgb, var(--bg-card) 90%, var(--wish-rose) 10%);border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:2px 16px 14px;padding:13px;display:grid;position:relative}.wish-notification-icon{background:var(--wish-rose-soft);width:34px;height:34px;color:var(--wish-rose);border-radius:50%;place-items:center;display:grid}.wish-notification-card strong{font-size:12px;display:block}.wish-notification-card p{color:var(--text-muted);margin-top:2px;font-size:10px;line-height:1.35}.wish-notification-card .btn{padding:7px 9px;font-size:10px}.history-entry-button{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;display:flex}.history-entry-button strong,.history-entry-button small{display:block}.history-entry-button strong{font-size:11px}.history-entry-button small{color:var(--text-muted);margin-top:1px;font-size:9px}.history-entry-button>span:last-child{color:var(--accent)}.wish-detail-toggle{color:var(--text-secondary);align-items:center;gap:6px;margin-top:7px;font-size:10px;display:flex}.wish-detail-toggle input{accent-color:var(--wish-rose)}.wish-tabs{z-index:8;border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(16px);border-radius:14px;grid-template-columns:1fr 1fr;margin:0 16px 10px;padding:4px;display:grid;position:sticky;top:0}.wish-tabs button{min-height:38px;color:var(--text-muted);font:600 11px/1 var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:10px}.wish-tabs button.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.wish-tabs span{background:var(--wish-rose-soft);min-width:18px;height:18px;color:var(--wish-rose);border-radius:9px;place-items:center;margin-left:4px;font-size:9px;display:inline-grid}.wish-category-filters{scrollbar-width:none;gap:6px;padding:0 16px 10px;display:flex;overflow-x:auto}.wish-category-filters::-webkit-scrollbar{display:none}.wish-category-filters button{border:1px solid var(--border);color:var(--text-muted);font:500 10px/1 var(--font-body);background:0 0;border-radius:999px;flex:none;padding:6px 10px}.wish-category-filters button.active{border-color:color-mix(in srgb, var(--wish-rose) 50%, transparent);background:var(--wish-rose-soft);color:var(--wish-rose)}.wish-grid{gap:12px;padding:2px 16px 90px;display:grid}.wish-card-reveal{animation:.55s cubic-bezier(.22,1,.36,1) both wishReveal}@keyframes wishReveal{0%{opacity:0;transform:translateY(18px)scale(.98)}}.wish-card{border:1px solid var(--border);background:linear-gradient(145deg, color-mix(in srgb, var(--bg-elevated) 96%, white 4%), var(--bg-card));box-shadow:var(--shadow-sm);border-radius:20px;padding:16px;transition:transform .25s,border-color .25s;position:relative;overflow:hidden}.wish-card.crowned{border-color:color-mix(in srgb, var(--wish-gold) 52%, transparent);background:radial-gradient(circle at 100% 0, var(--wish-gold-soft), transparent 38%), linear-gradient(145deg, color-mix(in srgb, var(--bg-elevated) 94%, var(--wish-gold) 6%), var(--bg-card));box-shadow:var(--shadow-sm), 0 0 28px color-mix(in srgb, var(--wish-gold) 12%, transparent)}.wish-card.realized{background:radial-gradient(circle at 0 100%, var(--wish-rose-soft), transparent 42%), var(--bg-card)}.wish-card.highlighted{animation:2s ease-out wishHighlight}@keyframes wishHighlight{0%,35%{box-shadow:0 0 0 5px var(--wish-rose-soft), 0 0 38px var(--wish-rose-soft)}}.wish-card-aura{border:1px solid color-mix(in srgb, var(--wish-gold) 30%, transparent);border-radius:50%;width:120px;height:120px;position:absolute;top:-52px;right:-48px}.wish-card-aura:before,.wish-card-aura:after{content:"";border:inherit;border-radius:inherit;position:absolute;inset:12px}.wish-card-aura:after{inset:25px}.wish-new-dot{background:var(--wish-rose);width:7px;height:7px;box-shadow:0 0 0 5px var(--wish-rose-soft);border-radius:50%;position:absolute;top:11px;right:11px}.wish-card-topline{justify-content:space-between;align-items:center;gap:10px;padding-right:8px;display:flex}.wish-category{color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:700}.wish-category i{color:var(--wish-rose);margin-right:3px;font-size:13px;font-style:normal}.wish-stars{gap:1px;display:flex}.wish-stars i{color:color-mix(in srgb, var(--text-muted) 32%, transparent);font-size:11px;font-style:normal}.wish-stars i.active{color:var(--wish-gold)}.wish-crown-rating{color:var(--wish-gold);font-family:Georgia,serif;font-size:11px;font-style:italic}.wish-crown-rating i{margin-right:3px;font-style:normal}.wish-card h2{letter-spacing:-.02em;max-width:92%;margin-top:11px;font:500 22px/1.12 Georgia,Times New Roman,serif;position:relative}.wish-description{color:var(--text-secondary);white-space:pre-line;margin-top:9px;font-size:12.5px;line-height:1.55}.wish-card-details{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.wish-card-details span{background:var(--bg);color:var(--text-muted);border-radius:999px;padding:5px 8px;font-size:9.5px}.wish-inspiration-link{color:var(--wish-rose);align-items:center;gap:5px;margin-top:13px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.wish-secret-actions{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:7px;margin-top:15px;padding-top:13px;display:grid}.wish-secret-actions small{color:var(--text-muted);grid-column:1/-1;font-size:9px}.wish-prepare-button,.wish-realize-button{min-height:37px;padding:8px 10px;font-size:10px}.wish-prepare-button{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.wish-prepare-button.active{border-color:color-mix(in srgb, var(--wish-rose) 40%, transparent);background:var(--wish-rose-soft);color:var(--wish-rose)}.wish-realize-button{background:var(--wish-rose);color:#fff}.wish-edit-button,.wish-reopen-button{color:var(--wish-rose);background:0 0;border:0;margin-top:13px;padding:6px 0;font-size:11px}.wish-memory-stamp{border-top:1px solid var(--border);color:var(--wish-rose);align-items:center;gap:9px;margin-top:14px;padding-top:13px;display:flex}.wish-memory-stamp>span:first-child{background:var(--wish-rose-soft);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.wish-memory-stamp strong,.wish-memory-stamp small{display:block}.wish-memory-stamp strong{font:500 12px/1.2 Georgia,serif}.wish-memory-stamp small{color:var(--text-muted);margin-top:2px;font-size:9px}.wish-empty{text-align:center;padding:58px 24px 100px}.wish-empty>span{border:1px solid color-mix(in srgb, var(--wish-rose) 26%, transparent);background:var(--wish-rose-soft);width:62px;height:62px;color:var(--wish-rose);border-radius:50%;place-items:center;margin:0 auto;font:28px/1 Georgia,serif;display:grid}.wish-empty h2{margin-top:16px;font:500 20px/1.2 Georgia,serif}.wish-empty p{max-width:310px;color:var(--text-muted);margin:8px auto 0;font-size:12px}.wish-loading-orbit{place-items:center;height:65vh;display:grid}.wish-loading-orbit span{color:var(--wish-gold);font-size:28px;animation:1.4s ease-in-out infinite wishOrbit}@keyframes wishOrbit{50%{transform:rotate(180deg)scale(1.5)}}.wish-fab{top:auto;right:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--wish-rose);color:#fff;width:auto;min-width:112px;height:48px;box-shadow:0 12px 30px color-mix(in srgb, var(--wish-rose) 34%, transparent);border-radius:24px;gap:7px;padding:0 15px;animation:none}.wish-fab span{font-size:21px}.wish-fab small{font-size:11px;font-weight:700}.wish-sheet-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.wish-sheet-heading h2{margin-top:4px;font:500 25px/1.1 Georgia,Times New Roman,serif}.wish-form-group,.wish-fieldset{margin-bottom:18px}.wish-textarea{resize:vertical;min-height:98px;line-height:1.45}.wish-fieldset{border:0;min-width:0}.wish-fieldset legend{margin-bottom:7px}.wish-rating-picker{gap:5px;display:flex}.wish-rating-picker button{color:color-mix(in srgb, var(--text-muted) 38%, transparent);cursor:pointer;background:0 0;border:0;font-size:28px;transition:color .15s,transform .15s}.wish-rating-picker button.active{color:var(--wish-gold);transform:translateY(-1px)}.wish-crown-toggle{border:1px solid var(--border);width:100%;color:var(--text-secondary);text-align:left;background:0 0;border-radius:13px;align-items:center;gap:10px;margin-top:8px;padding:10px;display:flex}.wish-crown-toggle>span:first-child{background:var(--wish-gold-soft);width:31px;height:31px;color:var(--wish-gold);border-radius:50%;place-items:center;display:grid}.wish-crown-toggle strong,.wish-crown-toggle small{display:block}.wish-crown-toggle strong{font-size:11px}.wish-crown-toggle small{color:var(--text-muted);margin-top:1px;font-size:9px}.wish-crown-toggle.active{border-color:color-mix(in srgb, var(--wish-gold) 54%, transparent);background:var(--wish-gold-soft)}.wish-form-grid{gap:14px;margin-bottom:20px;display:grid}.wish-save-button{background:var(--wish-rose);color:#fff;min-height:50px}.wish-delete-button{color:var(--danger);background:0 0;margin-top:8px;font-size:11px}@media (width>=700px){.wish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wish-form-grid{grid-template-columns:1fr 1fr}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1200px){.suivi-charts-grid{grid-template-columns:minmax(320px,420px) 1fr;align-items:start;gap:24px;display:grid}.goals-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}}
