@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap");body{margin:0;padding:0;font-family:Rubik,sans-serif;background-color:#f9f9f9}:root{--bg:#fff;--surface:#f7f7f8;--text:#0f172a;--muted:#6b7280;--accent:#2563eb;--danger:#ef4444;--topbar-border:rgba(15,23,42,.06)}:root[data-theme=dark]{--bg:#0b1220;--surface:#0f1724;--text:#e6eef8;--muted:#94a3b8;--accent:#60a5fa;--danger:#f87171;--topbar-border:hsla(0,0%,100%,.04)}#__next,body,html{height:100%}body{background-color:var(--bg);color:var(--text)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}h1,h2,h3,h4,h5,h6{color:var(--text);margin:0 0 .5rem;font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}h4{font-size:1rem}h5{font-size:.95rem}h6{font-size:.85rem}p{margin:0 0 1rem;color:var(--muted);line-height:1.6;font-size:1rem}a{color:var(--accent);text-decoration:none;transition:opacity .12s ease,-webkit-text-decoration .12s ease;transition:opacity .12s ease,text-decoration .12s ease;transition:opacity .12s ease,text-decoration .12s ease,-webkit-text-decoration .12s ease}a:focus,a:hover{text-decoration:underline;opacity:.95}input,select,textarea{font-family:inherit;font-size:1rem;color:var(--text);background:var(--surface);border:1px solid var(--topbar-border);padding:8px 10px;border-radius:8px;outline:none;transition:box-shadow .14s ease,border-color .12s ease,background .12s ease}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,var(--topbar-border))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:10px;border:none;cursor:pointer;font-weight:600;font-size:.95rem;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 85%,#000));color:#fff;box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 20%,rgba(2,6,23,.35))}.btn-danger{background:var(--danger);color:#fff;border:none;box-shadow:0 8px 20px color-mix(in srgb,var(--danger) 20%,rgba(2,6,23,.12))}.btn-danger:hover{filter:brightness(.95)}.btn-danger svg{color:#fff;stroke:#fff}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.shopping-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:shopping-item}.shopping-list li{background:#fff;color:#000;padding:12px 14px 12px 80px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(2,6,23,.06);box-shadow:0 6px 20px rgba(2,6,23,.96);position:relative}.shopping-list li:before{counter-increment:shopping-item;content:counter(shopping-item);position:absolute;left:18px;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(2,6,23,.26);color:#000;font-weight:700;font-size:.95rem;box-shadow:0 2px 6px rgba(2,6,23,.96)}.shopping-list li .item-content{background:rgba(15,23,42,.11);padding:12px 14px;border-radius:6px;flex:1 1 auto;margin-right:16px}.shopping-list li .item-text{margin:0;color:#000!important;font-weight:700;font-weight:600;color:inherit}@media (prefers-color-scheme:dark){.shopping-list li{color:var(--text)}}:root[data-theme=dark] .shopping-list li{background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.14);box-shadow:0 6px 18px rgba(2,6,23,.06);color:var(--text)}:root[data-theme=dark] .shopping-list li:before{background:hsla(0,0%,100%,.18);color:var(--surface);box-shadow:0 1px 4px rgba(2,6,23,.06)}:root[data-theme=dark] .shopping-list li .item-content{background:hsla(0,0%,100%,.11)}:root[data-theme=dark] .shopping-list li .item-text{color:var(--text)!important}.btn-secondary{background:var(--surface);color:var(--text)}.btn-secondary,.card{border:1px solid var(--topbar-border)}.card{border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 90%,transparent),var(--surface));box-shadow:0 8px 40px rgba(2,6,23,.2)}.card--flat{box-shadow:none;background:var(--surface)}.lead,.muted{color:var(--muted)}.lead{font-size:1.125rem}@media (max-width:640px){h1{font-size:2rem}}.lists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px;padding:20px 0}.list-card{background:var(--surface);border-radius:12px;padding:20px;border:1px solid var(--topbar-border);transition:transform .2s ease,box-shadow .2s ease;position:relative}.list-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.list-header h3{margin:0;color:var(--text)}.btn-small{padding:6px!important;font-size:.9rem!important}.delete-confirm{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--surface);border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px;animation:fadeIn .2s ease}.delete-actions{display:flex;gap:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.list-metadata{font-size:.9rem;color:var(--muted);margin-bottom:16px}.bullet-list{list-style-type:none;padding:0;margin:0}.bullet-list li{position:relative;padding-left:20px;margin-bottom:8px;color:var(--text)}.bullet-list li:before{content:"•";position:absolute;left:0;color:var(--accent);font-weight:700}:root{--topbar-height:56px}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg)}.main-content{flex:1 1;padding:calc(var(--topbar-height) + 20px) 20px 20px;max-width:1200px;margin:0 auto;width:100%;position:relative;z-index:1}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid var(--topbar-border);background:linear-gradient(180deg,var(--bg),var(--bg));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40}.topbar,.topbar nav{display:flex;align-items:center}.topbar nav{gap:16px}.nav-link{color:var(--muted);text-decoration:none;font-weight:500;padding:6px 12px;border-radius:6px;transition:all .2s ease}.nav-link.active,.nav-link:hover{color:var(--text);background:var(--surface)}.logo{display:inline-flex;align-items:center;gap:8px;font-weight:600}.logo svg{width:20px;height:20px}.page-wrap{min-height:calc(100vh - var(--topbar-height));justify-content:center;padding:28px 20px}.hero{max-width:980px;width:100%;text-align:left;padding-left:14px}.hero-inner{padding:36px 20px}.hero h1{font-size:64px;line-height:1.03;margin:0 0 12px;font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(2,6,23,.5)}.hero p.lead{margin:0 0 24px;color:var(--muted);font-size:18px;max-width:720px}.card{border:1px solid hsla(0,0%,100%,.06);padding:18px;border-radius:10px;background:linear-gradient(180deg,hsla(0,0%,100%,.01),transparent);box-shadow:0 8px 40px rgba(2,6,23,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-6px);box-shadow:0 18px 60px rgba(2,6,23,.6)}.card h3{margin:0 0 8px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:14px}.hero-center{display:grid;grid-gap:22px;gap:22px}.page-wrap{display:flex;align-items:center;justify-content:flex-start}@media (max-width:640px){.hero h1{font-size:32px}.hero{padding:10px}}.theme-toggle{--w:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:var(--w);height:32px;padding:4px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 80%,transparent),var(--surface));border:1px solid rgba(0,0,0,.06);color:var(--text);cursor:pointer;position:relative}.theme-toggle .knob{width:24px;height:24px;background:var(--bg);border-radius:50%;transition:transform .17s ease,background .17s ease;box-shadow:0 1px 2px rgba(0,0,0,.12)}:root[data-theme=dark] .theme-toggle .knob{transform:translateX(24px)}.theme-toggle:focus{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle.compact{width:36px;height:36px;padding:6px;border-radius:8px;background:transparent;border:none}.theme-toggle.compact svg{color:var(--muted)}