:root{--bg: #fbfaf8;--surface: #ffffff;--text: #1c1b19;--muted: #6b6862;--border: #e3e0da;--accent: #4f8ef7;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #16151a;--surface: #1f1e24;--text: #f1efeb;--muted: #a09c96;--border: #322f38;--accent: #7aa9ff}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}.app{max-width:48rem;margin:0 auto;padding:1.5rem 1rem}.app-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--border)}.app-header h1{margin:0;font-size:1.5rem;letter-spacing:-.01em}.me{display:inline-flex;gap:.5rem;align-items:center;color:var(--muted);font-size:.9rem}.me select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font:inherit}.status{color:var(--muted)}code{padding:.1rem .35rem;border:1px solid var(--border);border-radius:.35rem;background:var(--surface);color:var(--accent);font-size:.9em}.board{display:flex;gap:.75rem;align-items:flex-start;margin-top:1.25rem;padding-bottom:1rem;overflow-x:auto;scroll-snap-type:x proximity}.column{display:flex;flex:0 0 15rem;flex-direction:column;gap:.5rem;max-height:calc(100vh - 9rem);padding:.6rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);scroll-snap-align:start}.column-head{display:flex;gap:.25rem;align-items:center;justify-content:space-between}.column-name{display:inline-flex;gap:.4rem;align-items:center;padding:.15rem .3rem;border:1px solid transparent;border-radius:.4rem;background:none;color:var(--text);font:inherit;font-weight:600;cursor:pointer}.column-name:hover{border-color:var(--border)}.column-count{padding:0 .4rem;border-radius:999px;background:var(--bg);color:var(--muted);font-size:.75rem;font-weight:500}.column-rename{flex:1;min-width:0;padding:.2rem .35rem;border:1px solid var(--accent);border-radius:.4rem;background:var(--bg);color:var(--text);font:inherit;font-weight:600}.column-tools{display:flex;gap:.15rem}.column-tools button{padding:.15rem .35rem;border:1px solid transparent;border-radius:.35rem;background:none;color:var(--muted);font-size:.8rem;cursor:pointer}.column-tools button:hover:not(:disabled){border-color:var(--border);color:var(--text)}.column-tools button:disabled{opacity:.3;cursor:default}.cards{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;overflow-y:auto;list-style:none}.card{border:1px solid var(--border);border-radius:.55rem;background:var(--bg)}.card-done .card-title{color:var(--muted);text-decoration:line-through}.card-head{display:flex;gap:.5rem;align-items:center;width:100%;padding:.5rem;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.card-icon{flex:0 0 auto;font-size:1rem}.card-title{flex:1;min-width:0;word-break:break-word}.card-who{flex:0 0 auto;width:1.3rem;height:1.3rem;border-radius:999px;color:#fff;font-size:.7rem;line-height:1.3rem;text-align:center}.card-options{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border-top:1px solid var(--border)}.card-options label{display:flex;gap:.4rem;align-items:center;justify-content:space-between;color:var(--muted);font-size:.8rem}.card-description{width:100%;box-sizing:border-box;padding:.3rem .4rem;border:1px solid var(--border);border-radius:.35rem;background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;resize:vertical}.card-options select{flex:1;min-width:0;padding:.2rem .3rem;border:1px solid var(--border);border-radius:.35rem;background:var(--surface);color:var(--text);font:inherit;font-size:.8rem}.icon-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:.15rem}.icon-picker button{padding:.15rem;border:1px solid transparent;border-radius:.3rem;background:none;font-size:.95rem;cursor:pointer}.icon-picker button:hover,.icon-picker .icon-on{border-color:var(--accent);background:var(--surface)}.card-actions{display:flex;gap:.3rem}.card-actions button{flex:1;padding:.25rem;border:1px solid var(--border);border-radius:.35rem;background:var(--surface);color:var(--text);font:inherit;font-size:.75rem;cursor:pointer}.card-actions button:disabled{opacity:.35;cursor:default}button.danger:hover:not(:disabled){border-color:#d6453c;color:#d6453c}.card-confirm{align-items:center}.card-confirm span{flex:1.4;color:var(--text);font-size:.75rem}.card-actions button.danger-solid,.card-actions button.danger-solid:hover{border-color:#d6453c;background:#d6453c;color:#fff}.composer{display:flex;gap:.3rem}.composer input,.column-new input{flex:1;min-width:0;padding:.35rem .5rem;border:1px solid var(--border);border-radius:.4rem;background:var(--bg);color:var(--text);font:inherit;font-size:.85rem}.composer button,.column-new button{padding:.35rem .6rem;border:1px solid var(--border);border-radius:.4rem;background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;cursor:pointer}.composer button:disabled,.column-new button:disabled{opacity:.35;cursor:default}.column-new{gap:.4rem;border-style:dashed;background:none}.board-stacked{flex-direction:column;align-items:stretch;gap:.5rem;overflow-x:visible;scroll-snap-type:none}.board-stacked .column{flex:0 0 auto;width:100%;max-height:none}.board-stacked .cards{overflow-y:visible}.board-stacked .column-folded{padding-bottom:.6rem}.column-chevron{display:inline-block;width:.8rem;color:var(--accent);font-size:.6rem}@media (max-width: 767px){.app{padding:1rem .75rem}.column-name{flex:1;justify-content:flex-start;padding:.45rem .3rem}.column-tools button{padding:.35rem .5rem}.card-head{padding:.65rem .5rem}}.centred{padding:3rem 1rem;color:var(--muted);text-align:center}.gate{max-width:22rem;margin:0 auto;padding:3rem 1rem;text-align:center}.gate h1{margin:0;font-size:1.75rem;letter-spacing:-.01em}.gate-sub{margin:.25rem 0 1.5rem;color:var(--muted)}.gate form{display:flex;flex-direction:column;gap:.75rem;text-align:left}.gate label{display:flex;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.85rem}.gate input{padding:.5rem .6rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font:inherit}.gate input:focus-visible{border-color:var(--accent);outline:none}.code-input{font-family:ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase}.gate button[type=submit]{margin-top:.25rem;padding:.55rem;border:1px solid var(--accent);border-radius:.5rem;background:var(--accent);color:#fff;font:inherit;font-weight:500;cursor:pointer}.gate button[type=submit]:disabled{opacity:.4;cursor:default}.link{margin-top:.9rem;padding:.2rem;border:0;background:none;color:var(--accent);font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}.link.quiet{color:var(--muted)}.error,.notice{margin:0;padding:.5rem .6rem;border:1px solid var(--border);border-radius:.5rem;font-size:.85rem}.error{border-color:#d6453c;color:#d6453c}.notice{color:var(--muted)}.who{display:inline-flex;gap:.75rem;align-items:center}.me-name{padding:.2rem .6rem;border:2px solid var(--border);border-radius:999px;font-size:.9rem;font-weight:500}.invite{margin:1rem 0 0;padding:.6rem .75rem;border:1px dashed var(--border);border-radius:.6rem;color:var(--muted);font-size:.9rem}.code{padding:.15rem .45rem;border:1px solid var(--border);border-radius:.35rem;background:var(--surface);color:var(--text);font-family:ui-monospace,monospace;font-size:.95em;letter-spacing:.12em}.card-repeat{margin-left:.4rem;color:var(--accent);font-size:.8em}.card-overdue{margin-left:.4rem;padding:.05rem .35rem;border-radius:999px;background:#d6453c;color:#fff;font-size:.65rem;font-weight:500;letter-spacing:.02em;vertical-align:.05em}.card-due{margin:0;color:var(--muted);font-size:.75rem}.card-due.is-overdue{color:#d6453c}.board-filter{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1.25rem}.board-filter input,.board-filter select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font:inherit;font-size:.9rem}.board-filter input{flex:1 1 12rem;min-width:0}.board-filter+.board{margin-top:.75rem}.filter-mine{padding:.35rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:.9rem;cursor:pointer}.filter-mine[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.board-filter .link{margin-top:0}
