:root{--accent: #c8694b;--accent-soft: #e8a98f;--accent-ink: #8a3f28;--bg: #f6efe7;--bg-2: #efe6da;--surface: #fffdfa;--surface-2: #f7f0e7;--border: #e6d9c8;--border-strong: #d8c6ae;--ink: #2c2622;--ink-2: #5e544c;--muted: #8a7d70;--sand: #efe2cf;--sage: #cdd8c4;--sky: #c7d8e0;--blush: #f0d2cf;--lilac: #d8cfe6;--butter: #f3e3b3;--ok: #4f8a5b;--warn: #c98a2b;--danger: #c0533f;--radius: 18px;--radius-sm: 12px;--radius-lg: 26px;--shadow-sm: 0 1px 2px rgba(60, 40, 24, .05), 0 1px 3px rgba(80, 55, 30, .04);--shadow: 0 1px 2px rgba(60, 40, 24, .04), 0 8px 24px rgba(80, 55, 30, .07);--shadow-lg: 0 12px 40px rgba(70, 45, 25, .16);--text-xs: .72rem;--text-sm: .8rem;--text-base: .9rem;--text-md: 1rem;--text-lg: 1.15rem;--radius-tile: 13px;--tint-1: color-mix(in srgb, var(--accent) 8%, transparent);--tint-2: color-mix(in srgb, var(--accent) 14%, transparent);--tint-3: color-mix(in srgb, var(--accent) 22%, transparent);--dur: .16s;--ease: cubic-bezier(.4, 0, .2, 1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif}[data-theme=dark]{--accent: #db7d5c;--accent-soft: #6f4334;--accent-ink: #f0b196;--bg: #1d1916;--bg-2: #221d19;--surface: #2a2420;--surface-2: #322b25;--border: #3b332c;--border-strong: #4a4038;--ink: #f3ece2;--ink-2: #cdbfb0;--muted: #9b8d7d;--sand: #3a322a;--sage: #2f3a2e;--sky: #2b3742;--blush: #3f2e2f;--lilac: #352f40;--butter: #3c3422;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .25);--shadow: 0 1px 2px rgba(0, 0, 0, .25), 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5)}[data-accent=plum]{--accent: #8a5a7e;--accent-soft: #c39bba;--accent-ink: #5e3a55}[data-accent=sage]{--accent: #6f8a5f;--accent-soft: #a8c096;--accent-ink: #4a5e3f}[data-accent=ocean]{--accent: #3f7d8a;--accent-soft: #8fbac4;--accent-ink: #2a5560}[data-accent=berry]{--accent: #b04a63;--accent-soft: #d99aab;--accent-ink: #7c3144}[data-accent=rose]{--accent: #c4577f;--accent-soft: #e6a6bd;--accent-ink: #8c3556}[data-accent=amber]{--accent: #c2871f;--accent-soft: #e6c277;--accent-ink: #8a5d12}[data-accent=teal]{--accent: #2f8c80;--accent-soft: #8fc7bf;--accent-ink: #1f6359}[data-accent=indigo]{--accent: #5b5fc0;--accent-soft: #a9abe0;--accent-ink: #3d3f8a}[data-accent=forest]{--accent: #4a7a4e;--accent-soft: #9cc09e;--accent-ink: #325636}[data-accent=coral]{--accent: #d56a52;--accent-soft: #eea995;--accent-ink: #9c4631}[data-accent=slate]{--accent: #5a6b7a;--accent-soft: #a6b3bf;--accent-ink: #3b4853}[data-theme=dark][data-accent=plum]{--accent: #b27ca4;--accent-soft: #543049;--accent-ink: #e7bdda}[data-theme=dark][data-accent=sage]{--accent: #8fab7d;--accent-soft: #3f5036;--accent-ink: #c4d9b3}[data-theme=dark][data-accent=ocean]{--accent: #5ea4b3;--accent-soft: #2f4d56;--accent-ink: #abd6e0}[data-theme=dark][data-accent=berry]{--accent: #d07288;--accent-soft: #5c2e3b;--accent-ink: #edaebd}[data-theme=dark][data-accent=rose]{--accent: #d97ea0;--accent-soft: #5a2c41;--accent-ink: #f0b3c8}[data-theme=dark][data-accent=amber]{--accent: #d9a648;--accent-soft: #4d3c1a;--accent-ink: #ecc985}[data-theme=dark][data-accent=teal]{--accent: #4fab9d;--accent-soft: #244d47;--accent-ink: #a3d8cf}[data-theme=dark][data-accent=indigo]{--accent: #8688d6;--accent-soft: #2f3060;--accent-ink: #c3c4ef}[data-theme=dark][data-accent=forest]{--accent: #74a877;--accent-soft: #2b4430;--accent-ink: #b6d4b8}[data-theme=dark][data-accent=coral]{--accent: #e2876f;--accent-soft: #5a3026;--accent-ink: #f2b6a4}[data-theme=dark][data-accent=slate]{--accent: #8597a6;--accent-soft: #2f3b45;--accent-ink: #bcc8d2}[data-accent=custom]{--accent-soft: color-mix(in srgb, var(--accent) 42%, #ffffff);--accent-ink: color-mix(in srgb, var(--accent) 78%, #000000)}[data-theme=dark][data-accent=custom]{--accent-soft: color-mix(in srgb, var(--accent) 38%, #000000);--accent-ink: color-mix(in srgb, var(--accent) 55%, #ffffff)}*{box-sizing:border-box}html,body,#root{height:100%}html{font-size:calc(100% * var(--font-scale, 1))}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:.95rem;line-height:1.5;-webkit-font-smoothing:antialiased}html,body{overflow-x:clip}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;margin:0;color:var(--ink)}h1{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.01em}h2{font-size:clamp(1.2rem,2.2vw,1.45rem)}h3{font-size:1.05rem}p{margin:0}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:.82rem}.center{text-align:center}.row{display:flex;align-items:center;gap:var(--space-3)}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.grow,.spacer{flex:1}.hidden{display:none!important}.stack>*+*{margin-top:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:600;font-size:.92rem;padding:.6rem 1.05rem;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .08s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap;line-height:1}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow)}.btn-primary:hover{background:var(--accent-ink)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border-strong);font-weight:500}.btn-ghost:hover{background:var(--surface-2)}.btn-soft{background:var(--surface-2);color:var(--ink);font-weight:500}.btn-soft:hover{background:var(--bg-2)}.btn-danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.btn-sm{padding:.38rem .72rem;font-size:.82rem}.btn-icon{padding:.45rem;border-radius:50%;width:36px;height:36px}.btn-block{width:100%}.btn svg{flex:none}.btn:focus-visible,.btn-icon:focus-visible,.chip-pick:focus-visible,.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card-pad-sm{padding:var(--space-4)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.input,.textarea,.select{width:100%;font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .8rem;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.textarea{resize:vertical;min-height:80px;line-height:1.5}.label{display:block;font-size:.82rem;font-weight:600;color:var(--ink-2);margin-bottom:var(--space-2)}.field+.field{margin-top:var(--space-4)}.chip{display:inline-flex;align-items:center;gap:6px;padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.chip-accent{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-ink);border-color:transparent}.chip-pick{cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip-pick:hover{color:var(--ink);border-color:var(--accent)}.chip-pick.sel{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-ink);border-color:transparent}.badge{font-size:.72rem;font-weight:700;padding:.18rem .5rem;border-radius:6px;background:var(--surface-2);color:var(--muted)}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh;min-height:100dvh}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-logo{width:38px;height:38px;border-radius:11px;flex:none}.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.25rem;letter-spacing:-.01em}.nav{display:flex;flex-direction:column;gap:2px}.nav-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:.55rem .7rem;border-radius:12px;color:var(--ink-2);font-weight:500;font-size:var(--text-base);cursor:pointer;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-link:hover{background:var(--surface-2);text-decoration:none}.nav-link.active{background:var(--tint-2);color:var(--ink);font-weight:600}.nav-link.active:before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-link .ic{font-size:1.1rem;width:1.4rem;display:inline-flex;align-items:center;justify-content:center;flex:none}.nav-link.active .ic{color:var(--accent-ink)}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-more{display:flex;align-items:center;gap:var(--space-3);padding:.5rem .7rem;border-radius:12px;color:var(--muted);font-weight:500;font-size:var(--text-sm);cursor:pointer;text-align:left;background:none;border:none;font-family:var(--font-body);width:100%;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-more:hover{background:var(--surface-2);color:var(--ink-2)}.nav-more .ic{width:1.4rem;display:inline-flex;align-items:center;justify-content:center;flex:none}.nav-more-chevron{margin-left:auto;display:inline-flex;transition:transform var(--dur) var(--ease)}.nav-more-chevron.open{transform:rotate(90deg)}.nav-section{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 .7rem;margin-top:var(--space-2)}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateZ(0);-webkit-transform:translateZ(0);z-index:20;border-bottom:1px solid var(--border)}.content{padding:var(--space-6);max-width:1180px;width:100%;margin:0 auto}.topbar-title{flex:1;font-family:var(--font-display);font-weight:600;font-size:var(--text-md);color:var(--ink);letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.topbar-title{display:none}}.page-head{margin-bottom:var(--space-5)}.page-head .eyebrow{color:var(--accent-ink);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.menu-btn{display:none}.notif,.notif-bell{position:relative}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:.62rem;font-weight:700;display:grid;place-items:center;line-height:1;box-shadow:0 0 0 2px var(--bg)}.notif-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:min(360px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-bottom:1px solid var(--border)}.notif-clear{border:none;background:none;cursor:pointer;color:var(--accent-ink);font:inherit;font-size:.8rem;font-weight:600;padding:0}.notif-clear:disabled{opacity:.5;cursor:default}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:1.6rem 1rem;color:var(--muted)}.notif-list{list-style:none;margin:0;padding:0;max-height:min(420px,70vh);overflow-y:auto}.notif-item{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .9rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s ease}.notif-item:last-child{border-bottom:none}.notif-item:hover,.notif-item:focus-visible{background:var(--surface-2);outline:none}.notif-ic{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);overflow:hidden}.notif-ic img{width:100%;height:100%;object-fit:cover}.notif-text{flex:1;min-width:0}.notif-title{font-weight:600;font-size:.88rem;line-height:1.25}.notif-sub{margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time{font-size:.72rem;margin-top:2px}.notif-x{flex:none;border:none;background:none;cursor:pointer;color:var(--muted);width:26px;height:26px;border-radius:8px;display:grid;place-items:center}.notif-x:hover{background:var(--surface-2);color:var(--ink)}@media (max-width: 560px){.notif-panel{position:fixed;top:calc(env(safe-area-inset-top,0px) + 64px);left:12px;right:12px;width:auto}}.fin-click{cursor:pointer;transition:background .12s ease,transform .06s ease}.fin-click:hover{background:var(--surface-2)}.fin-click:active{transform:translateY(1px)}.fin-click:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.widget-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-4)}.widget{grid-column:span 2;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4);display:flex;flex-direction:column;min-height:150px;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.widget:hover{box-shadow:var(--shadow)}.widget.size-sm{grid-column:span 2}.widget.size-md{grid-column:span 3}.widget.size-lg{grid-column:span 6}.widget-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.widget-title{font-family:var(--font-display);font-weight:600;font-size:1.02rem;flex:1}.widget-body{flex:1;min-height:0;overflow:hidden}.widget-drag{cursor:grab;color:var(--muted);opacity:0;transition:opacity .15s}.widget:hover .widget-drag{opacity:1}.widget.dragging{opacity:.5}.widget-remove{background:var(--surface-2);color:var(--muted)}.widget-remove:hover,.widget-remove:focus-visible{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.greeting-emoji{font-size:.85em;margin-left:.3em;font-family:var(--font-body)}.sidebar-actions{flex-wrap:nowrap}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.masonry{columns:3 220px;column-gap:var(--space-4)}.masonry>*{break-inside:avoid;margin-bottom:var(--space-4)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#281c1273;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:var(--space-6)}.modal-lg{max-width:760px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.check{width:22px;height:22px;border-radius:7px;border:2px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;background:var(--surface);transition:all .12s ease;color:#fff;font-size:.8rem}.check.done{background:var(--accent);border-color:var(--accent)}.li-row{display:flex;align-items:center;gap:var(--space-3);padding:.4rem 0;border-bottom:1px solid var(--border)}.li-row:last-child{border-bottom:none}.li-text.done{text-decoration:line-through;color:var(--muted)}.empty{text-align:center;padding:var(--space-7) var(--space-4);color:var(--muted)}.empty .emoji{font-size:2.6rem;display:block;margin-bottom:var(--space-3)}.empty-icon{display:inline-grid;place-items:center;width:64px;height:64px;margin:0 auto var(--space-3);border-radius:20px;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 14%,transparent)}.disclosure-toggle{display:inline-flex;align-items:center;gap:6px;padding:.3rem 0;background:none;border:none;cursor:pointer;color:var(--accent-ink);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm)}.disclosure-toggle:hover{text-decoration:underline}.disclosure-toggle .chev{display:inline-flex;transition:transform var(--dur) var(--ease)}.disclosure-toggle .chev.open{transform:rotate(90deg)}.disclosure-body{animation:rise .2s var(--ease) both}.image-field{display:flex;flex-direction:column;gap:var(--space-2)}.image-drop{display:grid;place-items:center;gap:4px;text-align:center;padding:var(--space-5) var(--space-4);border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.image-drop:hover{border-color:var(--accent)}.image-drop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.image-drop.drag{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.image-drop.busy{cursor:default}.image-drop-ic{color:var(--accent-ink)}.image-field-preview{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface-2)}.image-field-preview img{display:block;width:100%;max-height:220px;object-fit:cover}.image-field-actions{position:absolute;right:var(--space-2);bottom:var(--space-2);display:flex;gap:var(--space-2)}.image-field-actions .btn{box-shadow:var(--shadow-sm)}.amount-pos{color:var(--ok);font-weight:700}.amount-neg{color:var(--danger);font-weight:700}.amount-zero{color:var(--muted);font-weight:600}.bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .3s ease}.seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.seg-scroll{display:flex;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.seg-scroll::-webkit-scrollbar{display:none}.seg-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:.4rem .85rem;border-radius:999px;border:none;cursor:pointer;background:transparent;color:var(--ink-2);font-family:var(--font-body);font-weight:600;font-size:.85rem;transition:background .15s ease,color .15s ease}.seg-item:hover{color:var(--ink)}.seg-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.seg-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg-badge{font-size:.68rem;font-weight:700;line-height:1;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-ink)}.tag-pill{display:inline-flex;align-items:center;gap:6px;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-ink)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:var(--space-6) auto}@keyframes spin{to{transform:rotate(360deg)}}.toast-wrap{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;gap:var(--space-2)}.toast{background:var(--ink);color:var(--bg);padding:.7rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-lg);font-size:.9rem;font-weight:500}.toast.error{background:var(--danger);color:#fff}.pwa-update{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:320;display:flex;align-items:center;gap:var(--space-3);background:var(--ink);color:var(--bg);padding:.5rem .5rem .5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-lg);font-size:.9rem;font-weight:500}.swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent}.swatch.sel{border-color:var(--ink)}.auth-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + var(--space-4)) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-4));background:radial-gradient(120% 120% at 0% 0%,var(--bg-2),var(--bg))}.auth-card{width:100%;max-width:410px}@media (max-width: 900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;z-index:200;transform:translate(-100%);transition:transform .2s ease;height:100%;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-5))}.sidebar.open{transform:translate(0)}.menu-btn{display:inline-flex}.content{padding:var(--space-4)}.topbar{padding:var(--space-3) var(--space-4)}.widget.size-md,.widget.size-sm{grid-column:span 3}.widget.size-lg{grid-column:span 6}.widget-grid{grid-template-columns:repeat(6,1fr)}.masonry{columns:2 160px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:150}}@media (max-width: 560px){.widget.size-sm,.widget.size-md,.widget.size-lg{grid-column:span 6}.masonry{columns:1}}:root{--bottomnav-h: 64px}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{overscroll-behavior-y:none}.topbar-brand{display:none;align-items:center;gap:var(--space-2)}.bottomnav{display:none}.bottomnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border:none;background:none;cursor:pointer;color:var(--muted);font-family:var(--font-body);font-size:.66rem;font-weight:600;text-decoration:none;min-width:0}.bottomnav-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottomnav-item.active{color:var(--accent-ink)}.bottomnav-item.active svg{transform:translateY(-1px)}.landing{min-height:100vh;min-height:100dvh;background:radial-gradient(120% 80% at 85% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),radial-gradient(90% 70% at 0% 0%,var(--bg-2),var(--bg));padding-bottom:var(--space-7)}.landing-nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + var(--space-4)) clamp(var(--space-4),5vw,var(--space-7)) var(--space-4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg) 75%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.landing-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(var(--space-5),4vw,var(--space-7));align-items:center;max-width:1120px;margin:0 auto;padding:clamp(var(--space-5),6vw,var(--space-7)) clamp(var(--space-4),5vw,var(--space-7))}.landing-pitch{animation:rise .6s ease both}.landing-eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent-ink);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb,var(--accent) 14%,transparent);padding:.3rem .7rem;border-radius:999px}.landing-title{font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.05;letter-spacing:-.02em;margin:var(--space-4) 0 var(--space-3)}.landing-sub{font-size:clamp(1rem,2.4vw,1.15rem);color:var(--ink-2);max-width:38ch;line-height:1.55}.landing-bullets{list-style:none;padding:0;margin:var(--space-5) 0;display:grid;gap:var(--space-2)}.landing-bullets li{display:flex;align-items:center;gap:var(--space-3);font-weight:500}.landing-bullet-ic{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;flex:none;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-ink)}.landing-authwrap{animation:rise .6s ease .1s both}.landing-authwrap .auth-card{max-width:420px;margin-left:auto}.landing-trust{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:center;max-width:420px;margin:var(--space-4) auto 0}.landing-trust span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-sm);font-weight:600}.landing-trust svg{color:var(--accent-ink)}.landing-section-title{font-size:clamp(1.4rem,4vw,2rem);margin-bottom:var(--space-5)}.landing-features,.landing-why{max-width:1120px;margin:0 auto;padding:var(--space-6) clamp(var(--space-4),5vw,var(--space-7))}.landing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.landing-grid-3{grid-template-columns:repeat(3,1fr)}.landing-feature{transition:transform .15s ease,box-shadow .15s ease}.landing-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.landing-feature strong,.landing-why-card strong{display:block;margin:var(--space-3) 0 4px;font-family:var(--font-display);font-size:1.05rem}.landing-feature-ic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-ink)}.landing-why{background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:var(--radius-lg)}.landing-why-card{padding:var(--space-4)}.landing-footer{padding:var(--space-6) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-5));line-height:1.7}.app-footer{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--muted);font-size:.78rem}.app-footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 8px}.app-footer-links a{color:var(--muted)}.app-footer-links a:hover{color:var(--accent-ink);text-decoration:underline}.app-footer-links .sep{opacity:.45}.app-footer-meta{max-width:52ch;line-height:1.5}.legal-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;margin:var(--space-5) 0;padding-bottom:var(--space-4);border-bottom:1px solid var(--border);font-size:.82rem;font-weight:600}.legal-nav+.legal-nav{margin-top:var(--space-6);border-bottom:none;padding-bottom:0}.legal-nav a{color:var(--muted)}.legal-nav a:hover{color:var(--accent-ink);text-decoration:underline}.legal-nav-current{color:var(--accent-ink)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.intro-modal{max-width:440px;text-align:center;position:relative;padding-top:var(--space-6)}.intro-close{position:absolute;top:var(--space-3);right:var(--space-3)}.intro-hero{display:flex;justify-content:center;margin-bottom:var(--space-4)}.intro-hero-icon{display:grid;place-items:center;width:84px;height:84px;border-radius:26px;color:var(--accent-ink);background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--sky) 60%,transparent));animation:rise .4s ease both}.intro-dots{display:flex;justify-content:center;gap:7px;margin:var(--space-4) 0}.intro-dot{width:8px;height:8px;border-radius:999px;border:none;background:var(--border-strong);cursor:pointer;padding:0;transition:all .2s}.intro-dot.active{background:var(--accent);width:22px}.intro-skip{justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.intro-skip input{width:16px;height:16px;accent-color:var(--accent)}.intro-help-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:var(--space-4) auto 0;padding:4px 8px;background:none;border:none;cursor:pointer;color:var(--accent-ink);font-family:var(--font-body);font-weight:600;font-size:.85rem}.intro-help-link:hover{text-decoration:underline}.intro-checklist{text-align:left;margin:var(--space-3) 0 var(--space-2)}.firststeps-card{margin-bottom:var(--space-5)}.firststeps-progress{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin:var(--space-3) 0 var(--space-2)}.firststeps-progress-bar{height:100%;background:var(--accent);border-radius:99px;transition:width .4s ease}.firststeps-list{display:flex;flex-direction:column;gap:6px}.firststep{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:.55rem .7rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:background .15s,border-color .15s;font-family:var(--font-body)}.firststep:hover{background:var(--surface-2);border-color:var(--border-strong)}.firststep-check{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.firststep.done .firststep-check{background:var(--accent);color:#fff;border-color:transparent}.firststep-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.firststep-text strong{font-weight:600}.firststep.done .firststep-text strong{color:var(--muted);text-decoration:line-through}.firststep-go{flex:none;color:var(--accent-ink);font-size:.78rem;font-weight:700;display:inline-flex}.firststep.done .firststep-go{color:var(--muted)}.note-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed color-mix(in srgb,var(--ink) 14%,transparent)}.note-suggest-spark{display:inline-flex;color:var(--accent-ink);opacity:.85}.note-suggest-chip{display:inline-flex;align-items:center;gap:5px;padding:.28rem .6rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-size:var(--text-xs);font-weight:600;cursor:pointer;font-family:var(--font-body);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.note-suggest-chip:hover{background:var(--surface-2);border-color:var(--accent);transform:translateY(-1px)}.help-hero{text-align:center;padding:var(--space-4) 0 var(--space-2)}.help-hero-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:22px;margin:0 auto var(--space-4);color:var(--accent-ink);background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--sky) 60%,transparent));animation:rise .4s ease both}.help-search{position:relative;max-width:520px;margin:var(--space-5) auto 0}.help-search .input{padding-left:2.6rem;padding-right:2.6rem;border-radius:999px}.help-search .input::-webkit-search-cancel-button{display:none}.help-search-ic{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:inline-flex}.help-search-clear{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:none;background:var(--surface-2);color:var(--ink-2);cursor:pointer}.help-search-clear:hover{background:var(--bg-2)}.help-body{max-width:820px;margin:0 auto}.help-cats{display:flex;justify-content:flex-start;margin:var(--space-5) 0}@media (min-width: 720px){.help-cats{justify-content:center}}.help-section{margin-top:var(--space-6)}.help-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:var(--space-3)}.help-topics{display:flex;flex-direction:column;gap:var(--space-3)}.help-topic{padding:0;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease}.help-topic.open{border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.help-topic-head{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:var(--space-4);font-family:var(--font-body);color:var(--ink)}.help-topic-head:hover{background:var(--surface-2)}.help-topic-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;flex:none;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 13%,transparent)}.help-topic-title{font-family:var(--font-display);font-weight:600;font-size:1rem;line-height:1.25}.help-chevron{color:var(--muted);flex:none;display:inline-flex;transition:transform .2s ease}.help-chevron.open{transform:rotate(90deg);color:var(--accent-ink)}.help-topic-body{padding:0 var(--space-4) var(--space-4);animation:rise .25s ease both}.help-topic-inner{border-top:1px dashed var(--border);padding-top:var(--space-3);line-height:1.6;color:var(--ink-2)}.help-topic-inner ul{margin:var(--space-2) 0 0;padding-left:1.15em;display:grid;gap:6px}.help-topic-inner strong{color:var(--ink)}.help-contact{text-align:center;margin-top:var(--space-6);background:color-mix(in srgb,var(--accent) 6%,transparent)}@media (max-width: 900px){.input,.textarea,.select{font-size:16px}.topbar{padding-top:calc(env(safe-area-inset-top,0px) + var(--space-3));padding-left:calc(env(safe-area-inset-left,0px) + var(--space-4));padding-right:calc(env(safe-area-inset-right,0px) + var(--space-4))}.topbar-brand{display:flex;flex:1;justify-content:center}.sidebar{padding-top:calc(env(safe-area-inset-top,0px) + var(--space-5))}.content{padding-bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + var(--space-5))}.bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.toast-wrap,.pwa-update{bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + var(--space-3))}.btn{padding:.7rem 1.1rem}.btn-sm{padding:.45rem .8rem}.btn-icon{width:44px;height:44px}.nav-link{padding:.7rem}.notif-x{width:40px;height:40px}.landing-hero{grid-template-columns:1fr}.landing-hero-extra{display:none}.landing-authwrap .auth-card{margin:0 auto}.landing-trust{margin-left:auto;margin-right:auto}.landing-grid,.landing-grid-3{grid-template-columns:1fr 1fr}.landing-nav-cta{display:none}.overlay{align-items:flex-end;padding:0}.modal{max-width:100%;width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;max-height:92dvh;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));animation:sheet .25s ease both}.intro-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}}@media (max-width: 560px){.landing-grid,.landing-grid-3{grid-template-columns:1fr}.content{padding-left:var(--space-3);padding-right:var(--space-3)}.page-head h1{font-size:1.6rem}}.install-modal{max-width:460px}.install-lead{margin:0;line-height:1.55}.install-step-head{display:flex;align-items:center;gap:var(--space-3)}.install-step-badge{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;flex:none;color:var(--accent-ink);background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--sky) 55%,transparent))}.install-step-n{font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--accent-ink);text-transform:uppercase}.install-step-title{font-family:var(--font-display);font-weight:600;font-size:1.12rem;line-height:1.2}.install-step-body{line-height:1.55;margin:0}.install-mock{display:flex;justify-content:center}.install-mock svg{width:100%;max-width:240px;height:auto;display:block}.install-phone-screen{fill:var(--surface)}.install-phone-frame{fill:var(--bg-2);stroke:var(--border-strong)}.install-mock-line{stroke:var(--border-strong)}.install-mock-soft{fill:var(--surface-2)}.install-mock-ink{fill:var(--ink)}.install-mock-muted{fill:var(--muted)}.install-mock-accent{fill:var(--accent)}.install-mock-accent-ink{fill:var(--accent-ink)}.install-mock-stroke{stroke:var(--ink-2);fill:none}.ios-target-glow{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 65%,transparent))}.ios-pulse-ring{fill:none;stroke:var(--accent);stroke-width:2.5;transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion: no-preference){.ios-pulse-ring{animation:ios-pulse 1.7s ease-out infinite}}@keyframes ios-pulse{0%{transform:scale(.96);opacity:.9}70%{opacity:0}to{transform:scale(1.22);opacity:0}}.install-dots{display:flex;align-items:center;gap:7px}.install-dot{width:8px;height:8px;border-radius:999px;border:none;padding:0;cursor:pointer;background:var(--border-strong);transition:all .2s ease}.install-dot.active{background:var(--accent);width:22px}.install-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.install-skip{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.install-skip input{width:16px;height:16px;accent-color:var(--accent);flex:none}.install-guard-hero{display:flex;justify-content:center}.install-guard-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;color:var(--accent-ink);background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--sky) 55%,transparent))}.install-tip{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--ink-2);line-height:1.45}.install-tip svg{flex:none;margin-top:1px;color:var(--accent-ink)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}[data-radius=sharp]{--radius: 8px;--radius-sm: 6px;--radius-lg: 12px}[data-radius=round]{--radius: 26px;--radius-sm: 18px;--radius-lg: 34px}[data-density=compact]{--space-1: 3px;--space-2: 6px;--space-3: 9px;--space-4: 12px;--space-5: 18px;--space-6: 24px;--space-7: 36px}[data-density=comfortable]{--space-1: 5px;--space-2: 10px;--space-3: 15px;--space-4: 20px;--space-5: 30px;--space-6: 42px;--space-7: 60px}[data-contrast=high]{--border: #cbb89e;--border-strong: #a98f6c;--muted: #6a5d4e;--ink-2: #463d34}[data-theme=dark][data-contrast=high]{--border: #5a4f44;--border-strong: #7a6c5c;--muted: #c2b4a2;--ink-2: #e4d7c7}[data-contrast=high] .input,[data-contrast=high] .textarea,[data-contrast=high] .select{border-width:2px}[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-bg=plain] body{background:var(--surface-2)}[data-bg=warm] body{background:radial-gradient(120% 90% at 100% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),radial-gradient(90% 70% at 0% 0%,var(--bg-2),var(--bg));background-attachment:fixed}[data-bg=cool] body{background:radial-gradient(120% 90% at 0% -10%,color-mix(in srgb,var(--sky) 60%,transparent),transparent 60%),radial-gradient(90% 70% at 100% 0%,var(--bg-2),var(--bg));background-attachment:fixed}[data-bg=dawn] body{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 12%,var(--bg)),color-mix(in srgb,var(--blush) 50%,var(--bg)) 55%,var(--bg));background-attachment:fixed}[data-bg=mesh] body{background:radial-gradient(40% 40% at 12% 18%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%),radial-gradient(45% 45% at 88% 12%,color-mix(in srgb,var(--sky) 55%,transparent),transparent 70%),radial-gradient(50% 50% at 80% 90%,color-mix(in srgb,var(--lilac) 55%,transparent),transparent 70%),radial-gradient(45% 45% at 10% 95%,color-mix(in srgb,var(--butter) 55%,transparent),transparent 70%),var(--bg);background-attachment:fixed}[data-design=graphite]{--bg: #eceef2;--bg-2: #e2e6ec;--surface: #f8f9fb;--surface-2: #eaedf2;--border: #d1d7df;--border-strong: #b4bcc7;--ink: #1a1f26;--ink-2: #424a55;--muted: #69717c;--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(18, 26, 38, .07), 0 1px 3px rgba(18, 26, 38, .06);--shadow: 0 1px 2px rgba(18, 26, 38, .06), 0 10px 30px rgba(18, 26, 38, .1);--shadow-lg: 0 16px 48px rgba(14, 20, 30, .22)}[data-theme=dark][data-design=graphite]{--bg: #0e1116;--bg-2: #141922;--surface: #181e27;--surface-2: #1f2632;--border: #2a323d;--border-strong: #3a4350;--ink: #eef1f5;--ink-2: #b9c2cd;--muted: #7e8a98;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 36px rgba(0, 0, 0, .55);--shadow-lg: 0 18px 56px rgba(0, 0, 0, .7)}[data-design=editorial]{--bg: #f4f2ee;--bg-2: #ece9e3;--surface: #ffffff;--surface-2: #f3f1ec;--border: #e1ddd5;--border-strong: #c8c2b7;--ink: #1a1814;--ink-2: #4a463f;--muted: #837d73;--radius: 6px;--radius-sm: 4px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 2px 8px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .12)}[data-theme=dark][data-design=editorial]{--bg: #121110;--bg-2: #181614;--surface: #1d1b18;--surface-2: #24211d;--border: #322e29;--border-strong: #4a443c;--ink: #f4f1ea;--ink-2: #cbc4b8;--muted: #968d7f}.appr-section+.appr-section{margin-top:var(--space-5)}.appr-section-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.appr-section-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;flex:none;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 14%,transparent)}.appr-section-head h2{font-size:1.12rem}.appr-opts{display:flex;flex-wrap:wrap;gap:var(--space-3)}.appr-opt{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:120px;padding:.7rem .9rem;border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);border:1.5px solid var(--border);color:var(--ink);font-family:var(--font-body);text-align:left;transition:border-color .12s,box-shadow .12s,transform .06s}.appr-opt:hover{border-color:var(--border-strong)}.appr-opt:active{transform:translateY(1px)}.appr-opt.sel{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.appr-opt-title{font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:6px}.appr-opt-desc{font-size:.76rem;color:var(--muted)}.appr-designs .appr-design{min-width:150px}.appr-design-swatch{display:inline-flex;border-radius:8px;overflow:hidden;margin-bottom:6px;border:1px solid var(--border);box-shadow:var(--shadow)}.appr-design-swatch span{width:22px;height:28px;display:block}.appr-accents{display:flex;flex-wrap:wrap;gap:var(--space-3)}.appr-accent{position:relative;width:42px;height:42px;border-radius:50%;cursor:pointer;padding:0;border:2px solid var(--border);transition:transform .1s,box-shadow .12s;display:grid;place-items:center;color:#fff}.appr-accent:hover{transform:scale(1.06)}.appr-accent.sel{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--accent)}.appr-accent-custom{background:conic-gradient(from 0deg,#e35d5b,#f3c14a,#58c46c,#4aa3e3,#9a6ae0,#e35d5b)}.appr-range{display:flex;align-items:center;gap:var(--space-3);max-width:360px}.appr-range input[type=range]{flex:1;accent-color:var(--accent)}.appr-range-val{min-width:3.2rem;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.appr-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0}.appr-toggle+.appr-toggle{border-top:1px solid var(--border)}.switch{position:relative;width:46px;height:26px;flex:none}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border-strong);transition:background .15s;pointer-events:none}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.appr-preview{position:sticky;top:calc(var(--space-4) + 56px)}.appr-preview-greeting{font-family:var(--font-display);font-size:1.4rem;line-height:1.15}@media (max-width: 900px){.appr-preview{position:static}}.appr-layout{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width: 1024px){.appr-layout{grid-template-columns:1fr 320px;align-items:start}}.avatar-lg{width:72px;height:72px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--border)}.avatar-lg img{width:100%;height:100%;object-fit:cover}.chip-x{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:2px;border:none;border-radius:50%;cursor:pointer;padding:0;background:color-mix(in srgb,var(--ink) 12%,transparent);color:inherit}.chip-x:hover{background:color-mix(in srgb,var(--danger) 30%,transparent);color:#fff}.album-card{padding:0;overflow:hidden;text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column}.album-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);transition:transform .12s,box-shadow .12s}.album-card-cover{position:relative;aspect-ratio:4 / 3;background:var(--surface-2)}.album-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.album-card-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted)}.album-card-count{position:absolute;bottom:8px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:.72rem;font-weight:700;background:#0000008c;color:#fff}.album-card-body{padding:var(--space-3) var(--space-4) var(--space-4)}.album-card-title{font-family:var(--font-display);font-weight:600;font-size:1.02rem}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-2)}.album-grid-item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}.album-grid-item img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.album-grid-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity .12s}.album-grid-item:hover .album-grid-actions,.album-grid-item:focus-within .album-grid-actions{opacity:1}.album-grid-btn{display:grid;place-items:center;width:26px;height:26px;border:none;border-radius:50%;cursor:pointer;background:#0009;color:#fff}.album-grid-btn:hover{background:#000c}.album-grid-btn.danger:hover{background:var(--danger)}@media (hover: none){.album-grid-actions{opacity:1}}.photo-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--space-2);max-height:60vh;overflow-y:auto}.photo-pick-item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:var(--surface-2)}.photo-pick-item img{width:100%;height:100%;object-fit:cover;display:block}.photo-pick-item.sel{border-color:var(--accent)}.photo-pick-check{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff}.stories-row{display:flex;gap:var(--space-3);overflow-x:auto;padding:2px 2px var(--space-2);scrollbar-width:none;-webkit-overflow-scrolling:touch}.stories-row::-webkit-scrollbar{display:none}.story-chip{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer;width:74px;flex:none}.story-chip-ring{position:relative;width:66px;height:66px;border-radius:50%;padding:3px;background:linear-gradient(140deg,var(--ring, var(--accent)),color-mix(in srgb,var(--ring, var(--accent)) 35%,#fff));display:grid;place-items:center}.story-chip-ring>img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--surface)}.story-chip-fallback{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);border:2px solid var(--surface)}.story-chip-add{background:var(--surface-2);border:2px dashed var(--border-strong);color:var(--accent-ink)}.story-chip-count{position:absolute;bottom:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:.62rem;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}.story-chip-name{font-size:.72rem;color:var(--ink-2);max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mem-masonry{columns:3 260px;column-gap:var(--space-4)}.mem-masonry>*{break-inside:avoid;margin-bottom:var(--space-4)}.mem-card{padding:0;overflow:hidden}.mem-card-body{padding:var(--space-3) var(--space-4) var(--space-4)}.mem-thumb{display:block;width:100%;border:none;padding:0;margin:0;background:var(--surface-2);cursor:pointer;position:relative;line-height:0;color:#fff}.mem-thumb>img,.mem-thumb>video{width:100%;display:block}.mem-thumb-text{width:100%;min-height:170px;display:flex;align-items:center;justify-content:center;padding:var(--space-5);color:#fff;text-align:center}.mem-thumb-text span{font-family:var(--font-display);font-size:1.1rem;line-height:1.35;white-space:pre-wrap;word-break:break-word}.mem-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.mem-play svg{background:#0006;border-radius:50%;padding:8px;box-sizing:content-box;filter:drop-shadow(0 1px 4px rgba(0,0,0,.45))}.mem-provider{position:absolute;bottom:8px;left:8px;background:#0000008c;color:#fff;font-size:.66rem;font-weight:600;padding:2px 7px;border-radius:999px;text-transform:capitalize}.coll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.coll-card{padding:0;overflow:hidden;text-align:left;cursor:pointer;display:block;transition:transform .14s ease,box-shadow .14s ease}.coll-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.coll-cover{position:relative;aspect-ratio:16 / 10;display:grid;place-items:center;color:#fff}.coll-cover-icon{opacity:.92}.coll-cover-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;gap:2px}.coll-cover-grid>img{width:100%;height:100%;object-fit:cover}.coll-cover-grid-1{grid-template-columns:1fr}.coll-cover-grid-2{grid-template-columns:1fr 1fr}.coll-cover-grid-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.coll-cover-grid-3>img:first-child{grid-row:span 2}.coll-cover-grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.coll-card-body{padding:var(--space-3) var(--space-4) var(--space-4)}.mem-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:var(--space-2)}.mem-mini{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}.mem-mini .mem-thumb{width:100%;height:100%}.mem-mini .mem-thumb>img,.mem-mini .mem-thumb>video,.mem-mini .mem-thumb-text{width:100%;height:100%;object-fit:cover;min-height:0}.mem-mini-del{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;background:#0000008c;color:#fff;border:none;display:grid;place-items:center;cursor:pointer}.mem-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);border-style:dashed;border-color:var(--border-strong);color:var(--muted);width:100%;cursor:pointer;text-align:center}.mem-upload-preview{position:relative;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:#000}.mem-upload-preview>img,.mem-upload-preview>video{width:100%;max-height:280px;object-fit:contain;display:block}.mem-upload-preview>span{position:absolute;bottom:8px;right:8px;background:#0009;color:#fff;padding:3px 9px;border-radius:999px}.link-preview{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.link-preview>img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);flex:none}.vis-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.vis-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;text-align:left;color:var(--ink)}.vis-opt>svg{color:var(--accent-ink)}.vis-opt.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.friend-pick{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--ink)}.friend-pick>svg{color:var(--accent-ink);flex:none}.friend-pick.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.story-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#000;display:grid;place-items:center}.story-stage{position:relative;width:100%;height:100%;max-width:480px;background:#000;overflow:hidden}@media (min-width: 520px){.story-stage{height:92dvh;border-radius:18px;box-shadow:var(--shadow-lg)}}.story-media{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000}.story-img{width:100%;height:100%;object-fit:contain}.story-link{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-5)}.story-link-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(20px) brightness(.45)}.story-link-card{position:relative;z-index:4;background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:var(--space-5);max-width:320px;text-align:center;display:flex;flex-direction:column;gap:var(--space-3);align-items:center;box-shadow:var(--shadow-lg)}.story-link-card h3{word-break:break-word}.story-text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-6);background:linear-gradient(160deg,var(--accent),var(--accent-ink))}.story-text p{color:#fff;font-family:var(--font-display);font-size:1.6rem;line-height:1.35;text-align:center;white-space:pre-wrap;word-break:break-word}.story-touch{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;-webkit-tap-highlight-color:transparent}.story-bars{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;gap:4px;padding:calc(env(safe-area-inset-top,0px) + 8px) 10px 0}.story-bar{flex:1;height:3px;border-radius:3px;background:#ffffff52;overflow:hidden}.story-bar>i{display:block;height:100%;background:#fff;border-radius:3px}.story-head{position:absolute;top:calc(env(safe-area-inset-top,0px) + 18px);left:0;right:0;z-index:3;display:flex;align-items:center;gap:var(--space-2);padding:0 12px;color:#fff}.story-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex:none;background:#fff3;display:grid;place-items:center}.story-avatar>img{width:100%;height:100%;object-fit:cover}.story-head-text{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}.story-head-text strong{font-size:.9rem;text-shadow:0 1px 3px rgba(0,0,0,.55)}.story-head-text span{font-size:.72rem;opacity:.88;text-shadow:0 1px 3px rgba(0,0,0,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-paused{font-size:.7rem;background:#0006;padding:2px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;flex:none}.story-icon-btn{background:none;border:none;color:#fff;cursor:pointer;padding:6px;display:grid;place-items:center;flex:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.story-foot{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:var(--space-5) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-4));background:linear-gradient(to top,rgba(0,0,0,.65),transparent);display:flex;flex-direction:column;gap:var(--space-3)}.story-caption{color:#fff;white-space:pre-wrap;word-break:break-word;text-shadow:0 1px 3px rgba(0,0,0,.6)}.story-actions{display:flex;align-items:center;gap:var(--space-4)}.story-like{display:flex;align-items:center;gap:6px;background:none;border:none;color:#fff;cursor:pointer;font-weight:700;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}@media (max-width: 560px){.mem-masonry{columns:2 150px;column-gap:var(--space-3)}.mem-masonry>*{margin-bottom:var(--space-3)}.vis-grid{grid-template-columns:1fr}}.assist-card{margin-bottom:var(--space-5)}.assist-head{margin-bottom:var(--space-3)}.assist-head-ic{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-tile);background:var(--tint-2);color:var(--accent-ink);flex:none}.assist-title{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.assist-focus{color:var(--muted);font-size:var(--text-sm);margin:var(--space-1) 0 0}.assist-stats{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.assist-stat{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-xs);color:var(--ink-2)}.assist-stat strong{color:var(--ink);font-weight:700}.assist-stat-label{color:var(--muted)}.assist-stat.tone-danger{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:transparent}.assist-stat.tone-danger strong{color:var(--danger)}.assist-stat.tone-ok{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:transparent}.assist-stat.tone-ok strong{color:var(--ok)}.assist-list{display:flex;flex-direction:column;gap:2px}.assist-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:inherit;text-decoration:none;transition:background var(--dur) var(--ease);border-left:3px solid transparent}.assist-row:hover{background:var(--surface-2)}.assist-row.sev-urgent{border-left-color:var(--danger)}.assist-row.sev-attention{border-left-color:var(--accent)}.assist-row.sev-celebrate{border-left-color:var(--ok)}.assist-row.sev-info{border-left-color:var(--border-strong)}.assist-row-ic{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-tile);background:var(--surface-2);flex:none}.assist-row.sev-urgent .assist-row-ic{background:color-mix(in srgb,var(--danger) 12%,transparent)}.assist-row.sev-attention .assist-row-ic{background:var(--tint-2)}.assist-row.sev-celebrate .assist-row-ic{background:color-mix(in srgb,var(--ok) 14%,transparent)}.assist-row-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}.assist-row-title{font-weight:600;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assist-row-body{color:var(--muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assist-row-action{display:inline-flex;align-items:center;gap:3px;flex:none;color:var(--accent-ink);font-size:var(--text-xs);font-weight:600}@media (max-width: 560px){.assist-row-action span:not(.ic){display:none}}.assist-empty{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.assist-skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0}.assist-skeleton .sk-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:sk-shimmer 1.3s ease infinite}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;justify-content:center;align-items:flex-start;padding:10vh var(--space-4) var(--space-4);background:#281c1266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cmdk-fade var(--dur) var(--ease)}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}.cmdk{width:100%;max-width:600px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;max-height:min(70vh,560px);animation:cmdk-pop .18s var(--ease)}@keyframes cmdk-pop{0%{transform:translateY(-8px) scale(.98);opacity:0}to{transform:none;opacity:1}}.cmdk-input-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);color:var(--muted)}.cmdk-input{flex:1;border:none;background:transparent;font-size:var(--text-md);color:var(--ink);outline:none;font-family:var(--font-body)}.cmdk-input::placeholder{color:var(--muted)}.cmdk-esc{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:8px;padding:3px 8px;font-size:var(--text-xs);cursor:pointer;flex:none}.cmdk-esc:hover{color:var(--ink)}.cmdk-spin{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex:none}.cmdk-list{overflow-y:auto;padding:var(--space-2);-webkit-overflow-scrolling:touch}.cmdk-section{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:var(--space-3) var(--space-3) var(--space-1)}.cmdk-item{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;cursor:pointer;padding:var(--space-3);border:none;background:transparent;border-radius:var(--radius-sm);color:var(--ink);transition:background var(--dur) var(--ease)}.cmdk-item.active{background:var(--tint-2)}.cmdk-item-ic{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-tile);background:var(--surface-2);color:var(--accent-ink);flex:none}.cmdk-item.active .cmdk-item-ic{background:var(--surface)}.cmdk-item-main{display:flex;flex-direction:column;min-width:0;flex:1}.cmdk-item-title{font-weight:600;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-sub{font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-go{color:var(--muted);flex:none}.cmdk-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--muted);text-align:center}.cmdk-foot{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--muted)}.cmdk-foot span{display:inline-flex;align-items:center;gap:5px}.cmdk-foot kbd,.topbar-search-kbd{font-family:var(--font-body);font-size:.65rem;line-height:1;padding:3px 5px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-2)}@media (max-width: 560px){.cmdk-overlay{padding:var(--space-4) var(--space-2) var(--space-2);align-items:stretch}.cmdk{max-height:80vh}.cmdk-foot{display:none}}.topbar-search{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);padding:.4rem .7rem}.topbar-search:hover{color:var(--ink)}.topbar-search-label{font-weight:500}.topbar-search-kbd{margin-left:var(--space-1)}.topbar-search-icon{display:none}@media (max-width: 900px){.topbar-search{display:none}.topbar-search-icon{display:inline-flex}}.image-drop:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}
