:root{--bg:#f7f6fb;--card:#fff;--ink:#2a2740;--muted:#5f5c75;--track:#ebe9f3;--accent:#5b52c9;--accent-soft:#eeecfb;--on-accent:#fff;--peach:#fdeee8;--peach-ink:#9a4529;--badge:#c2462a;--on-badge:#fff;--sky:#e8f2fb;--sky-ink:#2f6c9f;--mint:#e6f5f0;--mint-ink:#24735f;--butter:#fdf5df;--butter-ink:#86630f;--rose:#fbebf1;--rose-ink:#a2416a;--shadow:0 2px 10px #423a8212;--radius-btn:18px;--radius-row:16px}*,:before,:after{box-sizing:border-box}html{font:-apple-system-body;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background:var(--bg);color:var(--ink);min-height:100dvh;margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}a,button{touch-action:manipulation}button:active,.tap:active{transition:transform 80ms;transform:scale(.98)}input,textarea,select{font-size:max(1rem,16px)}.chip-accent{background:var(--accent-soft);color:var(--accent)}.chip-sky{background:var(--sky);color:var(--sky-ink)}.chip-mint{background:var(--mint);color:var(--mint-ink)}.chip-butter{background:var(--butter);color:var(--butter-ink)}.chip-rose{background:var(--rose);color:var(--rose-ink)}.owner-frame{flex-direction:column;min-height:100dvh;display:flex}.top-bar{padding:max(.5rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(8px, .5rem) max(1rem, env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:.75rem;display:flex}.top-bar-name{letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.125rem;font-weight:700}.avatar{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;text-decoration:none;display:flex}.toggle{background:var(--track);border-radius:99px;gap:8px;margin:0 1rem max(8px,.5rem);padding:3px;display:flex}.toggle-half{min-height:48px;color:var(--muted);border-radius:99px;flex:1;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.toggle-half[aria-current=page]{background:var(--card);color:var(--ink);box-shadow:0 2px 6px #423a821f}.home{flex-direction:column;flex:1;min-height:0;display:flex}.need{background:var(--peach);min-height:48px;color:var(--peach-ink);border-radius:14px;align-items:center;gap:.5rem;margin:0 1rem max(8px,.5rem);padding:.5rem .75rem;font-weight:600;text-decoration:none;display:flex}.need i{background:var(--badge);border-radius:50%;flex:none;width:8px;height:8px}.need-none{background:var(--card);color:var(--muted)}.need-none i{background:var(--track)}.home-grid{width:100%;max-width:960px;padding:0 max(1rem, env(safe-area-inset-right)) .5rem max(1rem, env(safe-area-inset-left));flex:1;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(64px,1fr);gap:8px;margin:0 auto;display:grid}@media (min-width:600px){.home-grid{grid-template-columns:repeat(4,1fr)}}.home-btn{border-radius:var(--radius-btn);background:var(--card);min-height:64px;box-shadow:var(--shadow);color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.25rem;font-weight:600;text-decoration:none;display:flex;position:relative}.tap-label{overflow-wrap:anywhere}.chip{border-radius:11px;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.chip svg{width:1.125rem;height:1.125rem}.badge{background:var(--badge);min-width:1.25rem;height:1.25rem;color:var(--on-badge);text-align:center;border-radius:99px;padding:0 .3rem;font-size:.75rem;font-weight:700;line-height:1.25rem;position:absolute;top:6px;right:8px}.dash{flex-direction:column;flex:1;min-height:0;display:flex}.dash-cards{width:100%;max-width:960px;padding:0 max(1rem, env(safe-area-inset-right)) .5rem max(1rem, env(safe-area-inset-left));flex-direction:column;flex:1;gap:8px;margin:0 auto;display:flex}.card{border-radius:var(--radius-row);background:var(--card);min-height:48px;box-shadow:var(--shadow);color:var(--ink);padding:.75rem .875rem;text-decoration:none;display:block}.card-title{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600}.card-list{color:var(--muted);margin:.25rem 0 0;padding:0;font-size:.875rem;list-style:none}.card-list li{overflow-wrap:anywhere}.card-list li+li{margin-top:.125rem}.empty{color:var(--muted);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.875rem}.screen{width:100%;max-width:960px;min-height:0;padding:0 max(1rem, env(safe-area-inset-right)) .5rem max(1rem, env(safe-area-inset-left));flex-direction:column;flex:1;margin:0 auto;display:flex}.screen-nav{padding-top:max(.5rem, env(safe-area-inset-top));flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav-link{min-width:48px;min-height:48px;color:var(--accent);overflow-wrap:anywhere;border-radius:12px;align-items:center;gap:.25rem;padding:0 .5rem;font-weight:600;text-decoration:none;display:inline-flex}.screen-title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:.25rem 0 .75rem;font-size:1.5rem;font-weight:700}.main-action{background:var(--accent);width:100%;min-height:52px;color:var(--on-accent);box-shadow:var(--shadow);text-align:center;overflow-wrap:anywhere;border-radius:14px;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:flex}.banner{background:var(--butter);color:var(--butter-ink);overflow-wrap:anywhere;border-radius:14px;margin:.75rem 0 0;padding:.625rem .875rem;font-weight:600}.screen-list{margin-top:.75rem}.screen-list>.empty{margin:0;font-size:1rem}.empty-actions{flex-wrap:wrap;gap:8px;margin-top:.75rem;display:flex}.empty-action{background:var(--card);min-height:48px;box-shadow:var(--shadow);color:var(--accent);overflow-wrap:anywhere;border-radius:99px;align-items:center;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.ny-count{color:var(--muted);margin:0 0 .75rem;font-weight:600}.ny-list{flex-direction:column;gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.ny-row{border-radius:var(--radius-row);background:var(--card);box-shadow:var(--shadow);padding:.75rem .875rem}.ny-row[aria-busy=true]{opacity:.7}.ny-text{overflow-wrap:anywhere;margin:0;font-weight:600}.ny-next{color:var(--muted);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.875rem}.ny-actions{flex-wrap:wrap;gap:8px;margin-top:.625rem;display:flex}.ny-btn{border:1px solid var(--track);background:var(--card);min-width:48px;min-height:48px;color:var(--accent);font:inherit;cursor:pointer;border-radius:99px;justify-content:center;align-items:center;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.ny-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.ny-note{background:var(--peach);color:var(--peach-ink);overflow-wrap:anywhere;border-radius:12px;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.875rem}.ny-note:empty{display:none}button.main-action{font:inherit;cursor:pointer;border:0;font-weight:600}.approval-facts{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;display:flex}.approval-facts dt{color:var(--muted);font-size:.875rem}.approval-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.approval-body{border-radius:var(--radius-row);background:var(--card);box-shadow:var(--shadow);white-space:pre-wrap;overflow-wrap:anywhere;margin:.75rem 0 0;padding:.75rem .875rem}.approval-when{color:var(--muted);margin:.5rem 0 .75rem;font-size:.875rem}.approval-status{background:var(--mint);color:var(--mint-ink);overflow-wrap:anywhere;border-radius:14px;margin:0;padding:.75rem .875rem;font-weight:600}.approval-gap{margin-top:.75rem}.settings-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.settings-row{border-radius:var(--radius-row);background:var(--card);min-height:48px;box-shadow:var(--shadow);color:var(--ink);overflow-wrap:anywhere;flex-direction:column;justify-content:center;gap:.125rem;padding:.625rem .875rem;text-decoration:none;display:flex}.settings-name{font-weight:600}.settings-summary{color:var(--muted);font-size:.875rem}.settings-facts{margin:0}.settings-facts dt{color:var(--muted);font-size:.875rem}.settings-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.settings-gap{margin-top:1rem}.alerts-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.alerts-row{border-radius:var(--radius-row);background:var(--card);box-shadow:var(--shadow);padding:.625rem .875rem .75rem}.alerts-name{margin:0;font-size:1rem;font-weight:600}.alerts-switches{flex-wrap:wrap;gap:8px;margin-top:.5rem;display:flex}.alerts-channel{flex:5.5rem;min-width:0}.alerts-switch{border:1px solid var(--track);background:var(--card);width:100%;min-width:48px;min-height:48px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .875rem;display:flex}.alerts-switch[aria-checked=true]{border-color:var(--mint-ink);background:var(--mint);color:var(--mint-ink)}.alerts-switch:disabled{color:var(--muted);cursor:default}.alerts-label{font-weight:600}.alerts-state{font-size:.875rem}.alerts-why{color:var(--muted);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.875rem}.alerts-note-text{background:var(--peach);color:var(--peach-ink);overflow-wrap:anywhere;border-radius:12px;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.875rem}.alerts-app{margin:0 0 .75rem}.alerts-app-text{overflow-wrap:anywhere;margin:0}.alerts-app-link{min-height:48px;color:var(--accent);align-items:center;font-weight:600;display:inline-flex}.alerts-failover{color:var(--muted);margin:1rem 0 0;font-size:.875rem}.security-line{overflow-wrap:anywhere;margin:0 0 .5rem}.security-heading{margin:1.25rem 0 .5rem;font-size:1.0625rem}.security-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.security-device{flex-direction:column;min-width:0;display:flex}.security-form,.security-confirm{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.security-input{border:1px solid var(--track);background:var(--card);min-height:48px;color:var(--ink);font:inherit;border-radius:12px;padding:0 .75rem;font-size:1rem}.security-key{overflow-wrap:anywhere}.security-wide{width:100%}.ask{padding:.5rem max(1rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:var(--bg);transform:translateY(calc(-1 * var(--kb,0px)));margin:0;position:sticky;bottom:0}.ask-row{background:var(--card);width:100%;max-width:960px;min-height:48px;box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:.5rem;margin:0 auto;padding:0 .75rem;display:flex}.sun{background:linear-gradient(135deg,#f9c97c,#ef8a6f);border-radius:50%;flex:none;width:1.25rem;height:1.25rem}.ask-input{min-width:0;min-height:48px;color:var(--ink);background:0 0;border:0;flex:1}.ask-input::placeholder{color:var(--muted)}.ask-input:focus-visible{outline:none}.ask-row:focus-within{outline:3px solid var(--accent);outline-offset:2px}.ask-note{max-width:960px;color:var(--muted);margin:.375rem auto 0;font-size:.875rem}.ask-note:empty{margin:0}.usage-list,.activity-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.usage-row,.activity-row{border-radius:var(--radius-row);background:var(--card);box-shadow:var(--shadow);overflow-wrap:anywhere;padding:.75rem .875rem}.usage-line{margin:0;font-weight:600}.usage-line:first-letter{text-transform:uppercase}.usage-meter{background:var(--track);border-radius:99px;height:.5rem;margin-top:.5rem;overflow:hidden}.usage-fill{background:var(--accent);border-radius:99px;height:100%;display:block}.usage-row[data-usage-state=warned] .usage-fill{background:var(--butter-ink)}.usage-row[data-usage-state=at_limit] .usage-fill{background:var(--badge)}.usage-note,.activity-note{background:var(--peach);color:var(--peach-ink);border-radius:12px;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.875rem}.usage-reset{color:var(--muted);margin:1rem 0 0;font-size:.875rem}.activity-head{flex-wrap:wrap;justify-content:space-between;gap:.25rem .5rem;margin:0;display:flex}.activity-who{font-weight:600}.activity-when,.activity-what{color:var(--muted);font-size:.875rem}.activity-what{margin:.125rem 0 0}.activity-content{background:var(--bg);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.875rem}.logout{margin-top:1.5rem}.logout-link{min-width:48px;min-height:48px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .5rem;text-decoration:underline}.last-home-name{margin-top:1rem}.need.last-home-need{margin:.75rem 0 0}.last-home-counts{margin:.75rem 0 0;padding:0;list-style:none}.last-home-counts li{border-bottom:1px solid var(--track);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:1rem;min-height:48px;padding:0 .875rem;display:flex}.settings-install{background:var(--accent-soft);margin-bottom:1rem}.install-banner{width:calc(100% - 2rem);max-width:calc(960px - 2rem);margin:0 auto 8px}.install-card{border-radius:var(--radius-row);background:var(--accent-soft);color:var(--ink);overflow-wrap:anywhere;padding:.75rem .875rem}.install-lead{margin:0;font-weight:600}.install-alerts,.install-done{color:var(--muted);margin:.5rem 0 0;font-size:.875rem}.install-done{font-size:1rem}.install-pictures{flex-wrap:wrap;gap:8px;margin:.625rem 0 0;padding:0;list-style:none;display:flex}.install-picture{color:var(--accent);flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.install-picture svg{width:auto;height:2rem;display:block}.install-picture-label{color:var(--muted);font-size:.75rem}.install-actions{flex-wrap:wrap;gap:8px;margin-top:.625rem;display:flex}.install-btn{background:var(--card);min-width:48px;min-height:48px;color:var(--accent);font:inherit;cursor:pointer;border:0;border-radius:99px;padding:0 1rem;font-weight:600}.install-primary{background:var(--accent);color:var(--on-accent)}.old-browser{padding:max(.625rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .625rem max(1rem, env(safe-area-inset-left));background:var(--peach);color:var(--peach-ink);overflow-wrap:anywhere;margin:0;font-weight:600}.old-browser[hidden]{display:none}
