:root{--bg:#000;--surface:#0d0d0d;--text:#fff;--muted:#8a8a8a;--line:#333;--accent:#fff;--accent-text:#000;--accent-soft:#1c1c1c;--error-bg:#2a100c;--error-text:#f2b8ab;--radius:4px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.page{max-width:40rem;padding:0 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:0;font-size:1.25rem}h2{margin:24px 0 8px;font-size:1rem}a{color:var(--accent)}.muted{color:var(--muted);font-size:.9rem}button,input{font:inherit}input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;color:var(--text);padding:12px}button{cursor:pointer;border-radius:var(--radius);border:none;padding:12px 16px}button:disabled{opacity:.5;cursor:default}.primary{background:var(--accent);color:var(--accent-text);font-weight:600}.button-link{border-radius:var(--radius);padding:12px 16px;text-decoration:none;display:inline-block}.secondary{background:var(--accent-soft);color:var(--text)}.link{color:var(--accent);background:0 0;padding:8px;text-decoration:none}.icon-button{color:var(--text);background:0 0;padding:8px 10px;font-size:1.2rem;line-height:1;text-decoration:none}.icon-button.active{background:var(--accent-soft)}.header{z-index:1;padding:calc(12px + env(safe-area-inset-top)) 0 12px;background:var(--bg);align-items:center;gap:8px;display:flex;position:sticky;top:0}.header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.header-spacer{width:4px}.header-actions{gap:4px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.add-row{gap:8px;margin:12px 0;display:flex}.add-row button{flex-shrink:0}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding-right:8px;display:flex}.row-main{min-width:0;color:var(--text);text-align:left;background:0 0;border-radius:0;flex-direction:column;flex:1;padding:14px 12px;text-decoration:none;display:flex}.row-title{overflow-wrap:anywhere}.row-main.check{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:row;align-items:center;gap:12px}.row-main.check:disabled{opacity:1}.state-dot{border:2px solid #0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.state-dot.large{width:26px;height:26px}.color-none{border-color:var(--muted);background:0 0}.color-red{background:#d64541}.color-yellow{background:#f2c230}.color-green{background:#2f9e5a}.color-blue{background:#3b7ddd}.color-orange{background:#f08a24}.color-purple{background:#8b5cf6}.color-gray{background:#9aa09a}.rows.pinned{top:calc(52px + env(safe-area-inset-top));z-index:1;background:var(--surface);border-bottom:1px solid var(--line);max-height:33vh;margin-bottom:12px;position:sticky;overflow-y:auto}.shopping .rows.pinned{top:calc(52px + 64px + env(safe-area-inset-top))}.item.purchased .row-title{color:var(--muted)}.state-label{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:.8rem}.offline-hint{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;background:var(--accent-soft);border-radius:999px;margin:0;padding:8px 16px;font-size:.9rem;position:fixed;transform:translate(-50%);box-shadow:0 6px 16px -8px #00000080}.legend,.state-counts{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.legend{color:var(--muted);margin:4px 0 12px;font-size:.85rem}.legend-entry{color:var(--muted);align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.sort-toggle{border:1px solid var(--line);border-radius:var(--radius);margin-left:auto;display:inline-flex;overflow:hidden}.sort-toggle button{background:var(--surface);color:var(--text);border-radius:0;padding:6px 10px;font-size:.85rem}.sort-toggle button.active{background:var(--accent);color:var(--accent-text)}select{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px}.state-row{border-bottom:1px solid var(--line);padding:12px}.state-row:last-child{border-bottom:none}.state-row-main{align-items:center;gap:8px;display:flex}.state-row-main input{flex:1;padding:8px}.state-row-options{flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:8px;font-size:.9rem;display:flex}.state-row-options label{align-items:center;gap:6px;display:inline-flex}.state-row-options input{width:auto}.state-row-actions{margin-left:auto}.trip-bar{top:calc(52px + env(safe-area-inset-top));z-index:1;border-radius:var(--radius);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:12px;margin:8px 0;padding:8px 8px 8px 16px;display:flex;position:sticky}.sheet,.card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);margin:12px 0;padding:16px}.sheet h2{margin-top:0}.store-buttons{flex-wrap:wrap;gap:8px;display:flex}.link-field{margin:8px 0;font-size:.85rem}.error{border-radius:var(--radius);background:var(--error-bg);color:var(--error-text);justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px 8px 8px 16px;display:flex}.error .link{color:inherit}.login{text-align:center;padding-top:14vh}.login-logo{width:128px;height:128px;margin-bottom:16px}.login h1{letter-spacing:.04em;margin-bottom:12px;font-size:2rem;font-weight:400}.account{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:32px;display:flex}.toggle-row{align-items:center;gap:10px;margin:8px 0;display:flex}.toggle-row input{width:auto}.category-field label{align-items:center;gap:10px;margin:8px 0 4px;display:flex}.category-field select{flex:1}.category-field p{margin:4px 0}.group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 6px;font-size:.85rem;font-weight:600}.help p,.help li{line-height:1.5}.help ul{padding-left:20px}.help li+li{margin-top:6px}.help section{scroll-margin-top:16px}.help-toc{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 16px;padding:12px 0;display:flex}.help-toc a{color:var(--muted);text-decoration:none}.account-actions{gap:16px;display:flex}.link.danger{color:var(--error-text)}
