:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}html,body{overflow-x:hidden;width:100%;margin:0;padding:0}:root{--primary: #6366f1;--primary-hover: #4f46e5;--bg-color: #f8fafc;--card-bg: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--border-color: #e2e8f0;--danger: #ef4444;--success: #22c55e}@media(prefers-color-scheme:dark){:root{--bg-color: #0f172a;--card-bg: #1e293b;--text-main: #f1f5f9;--text-muted: #94a3b8;--border-color: #334155}}.app-container{max-width:500px;width:100%;margin:1rem auto;padding:0 1rem;box-sizing:border-box}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.logo-section{display:flex;align-items:center;gap:.75rem}.logo-icon{color:var(--primary)}h1{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-main)}.share-btn{display:flex;align-items:center;gap:.5rem;background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:9999px;font-weight:500;transition:all .2s}.share-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.share-btn.copied{background:var(--success)}main{background:var(--card-bg);border-radius:1rem;padding:1.5rem;box-shadow:0 10px 15px -3px #0000001a;border:1px solid var(--border-color);width:100%}.input-group{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:stretch}input{flex:1;padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);font-size:1rem;transition:border-color .2s;line-height:1.5;min-width:0}input:focus{outline:none;border-color:var(--primary)}.add-btn{background:var(--primary);color:#fff;border:none;padding:0 1rem;border-radius:.5rem;display:grid;place-items:center;transition:transform .2s;cursor:pointer;flex-shrink:0}.add-btn:hover{transform:scale(1.05)}.status-bar{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;background:var(--bg-color);border-radius:.75rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.status-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;color:var(--text-muted)}.online-icon{color:var(--success)}.offline-icon{color:var(--danger)}.status-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.status-dot.online{background:var(--success);box-shadow:0 0 8px var(--success)}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.shopping-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-color);border-radius:.5rem;transition:opacity .2s,transform .2s}.list-item.completed{opacity:.6}.list-item.completed .item-text{text-decoration:line-through}.item-text{flex:1;color:var(--text-main);word-break:break-word}.check-btn,.delete-btn{background:transparent;border:none;padding:.25rem;cursor:pointer;display:grid;place-items:center;border-radius:.25rem;color:var(--text-muted);flex-shrink:0}.check-btn:hover{color:var(--primary)}.checked-icon{color:var(--success)}.delete-btn:hover{color:var(--danger)}footer{margin-top:2rem;text-align:center;padding-bottom:2rem}.room-info,.version-info{font-size:.75rem;color:var(--text-muted);margin:.25rem 0;word-wrap:break-word}code{background:var(--border-color);padding:.2rem .4rem;border-radius:.25rem;word-break:break-all}
