:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1f14;--bg2:#172e1f;--surface:#1e3827;--surface-elevated:#1f3826;--text:#ebf5ed;--muted:#a6bfad;--accent:#73db8c;--accent-ink:#062013;--amber:#f2bf59;--pin:#59b2f2;--danger:#e86a6a;--border:#73db8c24;--glow:#73db8c24;--tab-h:64px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);background:var(--bg);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,Segoe UI,system-ui,sans-serif;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(900px 420px at 88% -8%, var(--glow), transparent 55%), radial-gradient(760px 420px at -10% 108%, #59b2f21a, transparent 50%), var(--bg);background-attachment:fixed;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}a{color:var(--accent)}button{-webkit-tap-highlight-color:transparent}.app-frame{flex-direction:column;width:min(480px,100%);min-height:100dvh;margin:0 auto;display:flex;position:relative}.app-frame.auth{padding:calc(1.25rem + var(--safe-top)) 1.1rem calc(1.5rem + var(--safe-bottom));justify-content:center}.app-header{z-index:20;padding:calc(.85rem + var(--safe-top)) 1.1rem .75rem;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:sticky;top:0}.app-header .brand{letter-spacing:-.03em;align-items:center;gap:.65rem;font-size:1.2rem;font-weight:700;display:flex}.app-header .greeting{margin-top:.85rem}.app-header .greeting h1{letter-spacing:-.03em;margin:0;font-size:1.55rem;font-weight:700}.app-header .greeting p{margin:.2rem 0 0}.app-main{padding:1rem 1.1rem calc(var(--tab-h) + var(--safe-bottom) + 1.25rem);flex:1;align-content:start;gap:.9rem;display:grid}.app-main.detail-mode{padding-bottom:calc(1.25rem + var(--safe-bottom))}.brand-mark{object-fit:cover;width:36px;height:36px;box-shadow:0 0 0 1px var(--border);border-radius:10px;flex-shrink:0}.brand-mark.large{border-radius:18px;width:76px;height:76px;margin:0 auto .85rem;display:block}.auth-panel{text-align:center;width:min(420px,100%)}.auth-heading h1{letter-spacing:-.035em;margin:.15rem 0 .35rem;font-size:1.7rem}.auth-heading .muted{max-width:34ch;margin:0 auto .25rem}.mode-toggle{background:var(--bg2);border:1px solid var(--border);border-radius:14px;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.mode-toggle button{color:var(--muted);box-shadow:none;background:0 0}.mode-toggle button.active{background:var(--accent);color:var(--accent-ink)}.field{text-align:left;gap:.35rem;display:grid}.field span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:650}.error.banner{text-align:left;background:#781e1873;border:1px solid #e86a6a59;border-radius:12px;padding:.75rem .85rem}.auth-footnote{margin:.25rem 0 0;font-size:.85rem}.panel{background:color-mix(in srgb, var(--surface) 92%, black);border:1px solid var(--border);border-radius:18px;padding:1.05rem 1.1rem;box-shadow:0 10px 28px #0000002e}.panel h3{letter-spacing:-.02em;margin:0 0 .15rem;font-size:1.02rem}.hero-card{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 55%), var(--surface);border-radius:18px;align-items:center;gap:.95rem;padding:1rem;display:flex}.hero-card img{object-fit:cover;border-radius:16px;flex-shrink:0;width:72px;height:72px}.hero-card h2{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.15rem}.hero-card p{margin:0}.stack{gap:.75rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.stats-row{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.stat-pill{border:1px solid var(--border);background:color-mix(in srgb, var(--bg2) 85%, black);text-align:center;border-radius:14px;padding:.7rem .55rem}.stat-pill strong{letter-spacing:-.03em;color:var(--accent);font-size:1.15rem;display:block}.stat-pill span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}input,select,textarea{background:var(--bg2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:12px;outline:none;padding:.78rem .9rem}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}textarea{resize:vertical;min-height:5rem;line-height:1.45}.place-hits{gap:.4rem;display:grid}.place-hit{text-align:left;background:var(--bg2);color:var(--text);border:1px solid var(--border);gap:.15rem;padding:.7rem .8rem;display:grid}.place-hit.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.place-hit .muted{font-size:.78rem;font-weight:400}button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:12px;padding:.72rem 1rem;font-weight:650;transition:transform .12s,opacity .12s}button:active{transform:scale(.98)}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}button.ghost{color:var(--muted);background:0 0;border:0;padding:.35rem .45rem}button.danger{background:var(--danger);color:#fff}button.ghost.danger-text,.danger-text{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:.35rem .5rem;font-weight:600}button.ghost.danger-text:hover{opacity:.85}button:disabled{opacity:.5;cursor:default;transform:none}.muted{color:var(--muted);font-size:.92rem}.error{color:var(--danger)}.list-card{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-elevated) 90%, white 4%), var(--bg2));cursor:pointer;border-radius:16px;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;transition:border-color .15s,transform .12s;display:flex}.list-card:active{transform:scale(.99)}.list-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.list-card .title{letter-spacing:-.02em;font-weight:650}.list-card.history{opacity:.78}.item-row{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.item-row:last-child{border-bottom:0}.item-row.checked .name{color:var(--muted);text-decoration:line-through}.check{border:2px solid color-mix(in srgb, var(--muted) 70%, transparent);width:26px;height:26px;color:var(--accent);background:0 0;border-radius:999px;place-items:center;padding:0;display:grid}.item-row.checked .check{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--accent)}.badge{border:1px solid var(--border);color:var(--muted);text-transform:capitalize;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;display:inline-block}.badge.chore{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 35%, var(--border))}.badge.shopping{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.activity{max-height:220px;margin:0;padding-left:1.1rem;font-size:.9rem;overflow:auto}.activity li{margin:.4rem 0}.photo{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:48px;height:48px}.loading-panel{text-align:center;justify-items:center;gap:.65rem;padding:2rem 1.25rem;display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite sr-spin}@keyframes sr-spin{to{transform:rotate(360deg)}}.tab-bar{width:min(480px,100%);height:calc(var(--tab-h) + var(--safe-bottom));padding:.35rem .5rem var(--safe-bottom);background:color-mix(in srgb, var(--bg) 92%, black);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:40;grid-template-columns:repeat(4,1fr);gap:.15rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-bar button{color:var(--muted);letter-spacing:.01em;background:0 0;border:0;border-radius:12px;align-content:center;justify-items:center;gap:.15rem;padding:.35rem .2rem;font-size:.68rem;font-weight:600;display:grid}.tab-bar button svg{width:22px;height:22px}.tab-bar button.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.back-row{align-items:center;gap:.35rem;margin-bottom:.35rem;display:flex}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:.35rem 0 0;font-size:.75rem;font-weight:650}@media (width>=720px){.app-frame:not(.auth){border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 94%, black);border-radius:28px;min-height:calc(100dvh - 2.5rem);margin-top:1.25rem;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 24px 60px #00000059}.tab-bar{border-radius:0 0 28px 28px;position:absolute}}.auth-legal{text-align:center;margin:.35rem 0 0;font-size:.85rem}.legal-page{width:min(720px,100%);min-height:100dvh;padding:calc(1rem + var(--safe-top)) 1.25rem calc(2rem + var(--safe-bottom));flex-direction:column;gap:1.5rem;margin:0 auto;display:flex}.legal-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.legal-brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:.55rem;font-weight:700;text-decoration:none;display:inline-flex}.legal-brand img{border-radius:8px}.legal-nav{gap:1rem;font-size:.92rem;display:flex}.legal-nav a{color:var(--muted);text-decoration:none}.legal-nav a:hover,.legal-nav a.active{color:var(--accent)}.legal-body h1{letter-spacing:-.03em;margin:0 0 .35rem;font-size:1.85rem}.legal-body h2{margin:1.5rem 0 .5rem;font-size:1.15rem}.legal-body p,.legal-body li{color:color-mix(in srgb, var(--text) 92%, var(--muted))}.legal-body ul{margin:.4rem 0;padding-left:1.2rem}.legal-body li{margin:.35rem 0}.legal-body code{background:var(--surface);border-radius:6px;padding:.1rem .35rem;font-size:.9em}.legal-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:1.5rem;font-size:.85rem}.legal-footer p{margin:.15rem 0}
