:root{--bg:#f6f4ef;--surface:#fff;--text:#1d2321;--muted:#69736f;--accent:#1f6f5c;--border:#e3dfd6;--danger:#b3261e;--danger-strong:#b3261e;--person-1:#2a78d6;--person-2:#eb6834;--person-3:#1baf7a;--note:#fff4b8;--note-own:#ffe4c7;--note-text:#3b3420;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141816;--surface:#1d2321;--text:#eef1ef;--muted:#9aa5a0;--accent:#5cc4a6;--border:#2c3431;--danger:#f2b8b5;--person-1:#3987e5;--person-2:#d95926;--person-3:#199e70;--note:#4a4322;--note-own:#4d3a28;--note-text:#f6f0d8}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{padding:calc(env(safe-area-inset-top) + 16px) 16px 8px}.app-header h1{margin:0;font-size:1.75rem}.app-main{flex:1;padding:16px}.empty{text-align:center;color:var(--muted);align-items:center;margin-top:30vh}.tab-bar{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:sticky;bottom:0}.tab{min-height:56px;color:var(--muted);font:inherit;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:.8rem;display:flex;position:relative}.tab[aria-current=page]{color:var(--accent);font-weight:600}.tab-icon{font-size:1.3rem}.app-header{justify-content:space-between;align-items:baseline;display:flex}button.link{color:var(--muted);font:inherit;background:0 0;border:none;padding:8px 0 8px 16px;font-size:.9rem}.login{flex-direction:column;justify-content:center;max-width:420px;min-height:100dvh;margin:0 auto;padding:16px;display:flex}.login h1{color:var(--accent);text-align:center;margin:0 0 32px;font-size:2rem}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.login-form input{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:10px;padding:12px;font-size:16px}.login-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}.form-error{color:var(--danger);margin:0}button.primary{background:var(--accent);min-height:48px;color:var(--bg);font:inherit;border:none;border-radius:10px;font-weight:600}button.primary:disabled{opacity:.6}.intro{text-align:center;margin:0 0 8px;line-height:1.5}.stack{flex-direction:column;gap:12px;display:flex}.row{gap:8px;display:flex}.grow{flex:1}.muted{color:var(--muted)}.card{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin-top:12px;padding:16px}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;font-size:16px}.icon-field{width:72px}.icon-field input{text-align:center}button.secondary,button.danger{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:0 16px}button.danger{border-color:var(--danger);color:var(--danger);font-weight:600}button.full{width:100%;margin-top:12px}.section-title{color:var(--muted);margin:24px 0 8px;font-size:1rem}.done-log{padding-bottom:72px}.tiles{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.tile{border:1px solid var(--border);background:var(--surface);width:100%;min-height:80px;color:var(--text);font:inherit;text-align:center;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:.75rem;line-height:1.2;transition:transform .1s;display:flex}.tile:active{transform:scale(.95)}.tile:disabled{opacity:.7}.tile[aria-busy=true]{border-color:var(--accent);opacity:1}.tile-icon{font-size:1.6rem}.tile-add{color:var(--muted);border-style:dashed}.entries{margin:0;padding:0;list-style:none}.entry{border-bottom:1px solid var(--border)}.entry-row{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:none;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.entry-icon{font-size:1.4rem;line-height:1.2}.entry-text{flex-direction:column;flex:1;gap:2px;display:flex}.entry-note{color:var(--muted);font-size:.9rem}.entry-time{color:var(--muted);white-space:nowrap;font-size:.8rem}.entry-edit{padding-bottom:12px}.toast{left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);border-radius:12px;align-items:center;gap:4px;padding:8px 8px 8px 14px;display:flex;position:fixed;box-shadow:0 4px 16px #0003}.toast>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.toast button{min-height:40px;color:var(--bg);font:inherit;background:0 0;border:none;flex:none;padding:4px 8px;font-weight:600}.entry-status{margin:0 0 12px 40px;font-size:.9rem}.entry-photo{background:0 0;border:none;margin:0 0 12px 40px;padding:0;display:block}.entry-photo img{object-fit:cover;border-radius:10px;max-width:min(240px,100%);max-height:180px;display:block}.lightbox{z-index:10;color:#fff;font:inherit;background:#000000eb;border:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 96px)}.shopping{padding-bottom:24px}.add-item{gap:8px;display:flex}.add-item input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:12px;flex:1;padding:12px;font-size:16px}.add-item button{width:48px;padding:0;font-size:1.3rem}.add-item button.listening{border-color:var(--danger);animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{to{opacity:.5}}.suggestions{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--accent);background:var(--surface);min-height:36px;color:var(--accent);font:inherit;border-radius:18px;padding:0 14px;font-size:.95rem}.shopping>.form-error,.shopping>.muted{margin:16px 0 0}.items{margin:12px 0 0;padding:0;list-style:none}.item{border-bottom:1px solid var(--border)}.item-row{align-items:center;display:flex}.item-toggle{min-height:52px;color:var(--text);font:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:14px;padding:8px 0;font-size:1.05rem;display:flex}.check{border:2px solid var(--muted);width:26px;height:26px;color:var(--bg);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:700;display:grid}.item.checked .check{border-color:var(--accent);background:var(--accent)}.item.checked .item-name{color:var(--muted);text-decoration:line-through}.item-text{flex-direction:column;display:flex}.item-note{color:var(--muted);font-size:.85rem}.item-more{width:44px;height:44px;color:var(--muted);background:0 0;border:none;font-size:1.3rem}.item-edit{padding-bottom:12px}.checked-header{justify-content:space-between;align-items:baseline;display:flex}.offline{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:10px;margin:0 16px;padding:8px 12px;font-size:.85rem}.segmented{background:var(--border);border-radius:12px;padding:3px;display:flex}.segmented button{min-height:36px;color:var(--muted);font:inherit;background:0 0;border:none;border-radius:9px;flex:1}.segmented button[aria-selected=true],.segmented button[aria-checked=true]{background:var(--surface);color:var(--text);font-weight:600}.period-nav{justify-content:space-between;align-items:center;gap:8px;margin:16px 0 4px;display:flex}.period-nav h2{text-align:center;margin:0;font-size:1rem}.period-nav button{width:44px;padding:0;font-size:1.3rem}.period-nav button:disabled{opacity:.4}.people{grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.person{flex-direction:column;gap:2px;display:flex}.person-name{color:var(--muted);align-items:center;gap:8px;display:flex}.swatch{border-radius:50%;width:10px;height:10px}.person-total{font-size:2rem;font-weight:700;line-height:1.1}.task-bars{margin:20px 0 0;padding:0;list-style:none}.task-bars li{border-bottom:1px solid var(--border);padding:10px 0}.task-bar-title{justify-content:space-between;margin-bottom:6px;display:flex}.bar-row{align-items:center;gap:8px;height:18px;margin-top:2px;display:flex}.bar-name{width:72px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.bar-track{flex:1}.bar{border-radius:0 4px 4px 0;min-width:4px;height:8px;display:block}.bar-value{width:20px;color:var(--muted);text-align:right;font-size:.8rem}.pantry>p{margin:0}.pantry-items{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pantry-items .chip{min-height:44px;font-size:1rem}.chip.on-list{border-color:var(--border);background:var(--border);color:var(--muted)}.pantry>button.link{align-self:center;padding:8px 16px}.board textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:10px 12px;font-size:16px}.board>p{margin:0}.notes{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.note{background:var(--note);min-height:110px;color:var(--note-text);border-radius:4px 4px 14px;flex-direction:column;justify-content:space-between;padding:12px;display:flex;position:relative;box-shadow:0 2px 6px #0000001f}.note.own{background:var(--note-own)}.note-text{overflow-wrap:anywhere;white-space:pre-wrap;margin:0 18px 8px 0}.note-meta{opacity:.75;margin:0;font-size:.75rem}.note-remove{width:32px;height:32px;color:inherit;opacity:.6;background:0 0;border:none;position:absolute;top:4px;right:4px}html:has(script[src*="debug.bastelbude.online"]) .app-header{padding-right:64px}.due-hints{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:12px;flex-direction:column;gap:4px;margin:0 0 12px;padding:10px 12px;font-size:.9rem;list-style:none;display:flex}.tile.due{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tiles.edit-mode .tile{border-style:dashed}.tiles.wish-mode .tile{border-color:var(--accent)}.tile-modes{justify-content:center;gap:8px;margin-top:8px;display:flex}.tile-modes button{padding:8px 12px}.tile-modes button[aria-pressed=true]{color:var(--accent);font-weight:600}.mode-hint{color:var(--accent);text-align:center;margin:0 0 12px;font-weight:600}.wishes ul{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.wish{border:1px solid var(--accent);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.wish-icon{font-size:1.4rem}.wish-text{flex-direction:column;flex:1;font-size:.95rem;display:flex}.wish-text .muted{font-size:.85rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.badge{background:var(--danger-strong);color:#fff;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:4px;left:calc(50% + 6px)}.chat{min-height:calc(100dvh - 160px - env(safe-area-inset-top) - env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.chat .messages{margin-top:auto}.messages{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.message{background:var(--surface);border:1px solid var(--border);border-radius:16px 16px 16px 4px;flex-direction:column;align-self:flex-start;max-width:80%;padding:8px 12px;display:flex}.message.own{background:var(--accent);color:var(--bg);border-color:#0000;border-radius:16px 16px 4px;align-self:flex-end}.message-author{color:var(--muted);font-size:.75rem;font-weight:600}.message-text{overflow-wrap:anywhere;white-space:pre-wrap}.message-time{opacity:.7;align-self:flex-end;font-size:.7rem}.composer{bottom:calc(57px + env(safe-area-inset-bottom));background:var(--bg);gap:8px;padding:8px 0;display:flex;position:sticky}.composer textarea{border:1px solid var(--border);background:var(--surface);min-width:0;max-height:120px;color:var(--text);font:inherit;resize:none;border-radius:20px;flex:1;padding:12px;font-size:16px}.composer button{border-radius:24px;width:48px;font-size:1.1rem}
