:root{color-scheme:dark;--c-bg: #0f1216;--c-surface: #1a1f26;--c-surface-2: #242b34;--c-ink: #e6ebf2;--c-ink-muted: #98a4b3;--c-line: #2c3540;--c-primary: #7aa6ea;--c-primary-dark:#4477c0;--c-on-primary: #0a1420;--c-danger: #f06b61;--c-danger-dark: #d9554b;--c-on-danger: #1c0c0b;--c-err-bg: #3a211f;--c-err-ink: #f6c9c4;--c-err-line: #6f3c37;--c-ok-bg: #14301f;--c-ok-ink: #b9eed3;--c-ok-line: #316046;--sp-1: 8px;--sp-2: 12px;--sp-3: 16px;--sp-4: 24px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;color:var(--c-ink);background:var(--c-bg)}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--c-ink-muted)}input[type=checkbox]{accent-color:var(--c-primary)}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--c-surface);border-bottom:1px solid var(--c-line)}.topbar h1,#greet{font-size:1.15rem;margin:0;flex:1 1 auto}.wrap{max-width:720px;margin:0 auto;padding:var(--sp-3) var(--sp-3) var(--sp-4)}.wrap.list{max-width:860px}.wrap.login{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;padding-top:12vh}.wrap.login .card{width:100%;max-width:360px}.wrap.login h1{margin:0 0 var(--sp-3);font-size:1.35rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-2)}.card{display:block;padding:var(--sp-3);background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px}.card:hover{border-color:var(--c-primary)}.card-name{font-weight:600;font-size:1.05rem;margin-bottom:var(--sp-1)}.card-bought{color:var(--c-ink-muted);font-size:.9rem}.card-date{color:var(--c-ink-muted);font-size:.8rem;margin-top:var(--sp-1)}.card-open{margin-top:var(--sp-2);color:var(--c-primary);font-weight:600;font-size:.9rem}.plus{position:fixed;bottom:var(--sp-3);right:var(--sp-3);width:56px;height:56px;border:0;border-radius:50%;background:var(--c-primary);color:var(--c-on-primary);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 0 0 1px var(--c-line);z-index:10}.plus:hover{background:var(--c-primary-dark)}.plus-new{position:fixed;bottom:88px;right:var(--sp-3);width:min(320px,calc(100vw - var(--sp-4)));padding:var(--sp-3);background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px;z-index:10}.plus-new h2{margin:0 0 var(--sp-2);font-size:1rem}.plus-new .btn-ghost{margin-top:var(--sp-2);width:100%}.list h2{font-size:1rem;margin:var(--sp-4) 0 var(--sp-2)}#items{display:flex;flex-direction:column;gap:var(--sp-1)}.row{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px}.row input[type=checkbox]{width:22px;height:22px;margin:2px 0 0;flex:0 0 auto}.row .txt{flex:1 1 auto;min-width:0}.row .lbl{display:block}.row .qty{display:block;color:var(--c-ink-muted);font-size:.9em}.row.bought .lbl{text-decoration:line-through;color:var(--c-ink-muted)}.row.bought .qty{color:var(--c-ink-muted)}.row.editing{flex-direction:column}.row.editing input[type=text]{margin-bottom:var(--sp-1)}.row.editing .btn,.row.editing .btn-ghost{margin-right:var(--sp-1)}.edit-fields{display:flex;gap:var(--sp-1)}.edit-fields input{flex:1 1 0;min-width:0}[data-post] label{display:block;margin-bottom:var(--sp-2);color:var(--c-ink-muted);font-size:.9rem}[data-post] input:not([type=checkbox]):not([type=hidden]),[data-post] select{display:block;width:100%;min-width:0;margin-top:4px;padding:10px 12px;font:inherit;color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px}.add-item,.share{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:var(--sp-2);align-items:end}.add-item .btn,.share .btn{grid-column:1 / -1}.btn,.btn-ghost,.btn-danger,a.lnk{display:inline-block;padding:10px 16px;min-height:44px;border:1px solid transparent;border-radius:8px;font:inherit;font-weight:600;line-height:1;text-align:center;cursor:pointer}a.lnk{border:0;background:transparent;color:inherit;font-weight:500;display:inline-flex;align-items:center}a.lnk:hover{background:var(--c-surface-2)}.btn{border-color:var(--c-primary);background:var(--c-primary);color:var(--c-on-primary)}.btn:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.btn-danger{border-color:var(--c-danger);background:var(--c-danger);color:var(--c-on-danger)}.btn-danger:hover{background:var(--c-danger-dark);border-color:var(--c-danger-dark)}.btn-ghost{border-color:var(--c-line);background:transparent;color:var(--c-ink);font-weight:500}.btn-ghost:hover{background:var(--c-surface-2);border-color:var(--c-line);color:var(--c-ink)}.ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:8px;background:transparent;cursor:pointer}.ico svg{display:block}.ico-edit{color:var(--c-ink-muted)}a.ico-edit:hover{background:var(--c-surface-2);color:var(--c-ink)}.ico-del{color:var(--c-danger)}button.ico-del:hover{background:var(--c-danger);color:#fff}button.ico-del:active{background:var(--c-danger-dark);color:#fff}.btn:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible,.ico:focus-visible,a.lnk:focus-visible,[data-post] input:focus-visible,[data-post] select:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid var(--c-primary-dark);outline-offset:2px}.err{margin:0 0 var(--sp-2);padding:10px 14px;background:var(--c-err-bg);color:var(--c-err-ink);border:1px solid var(--c-err-line);border-radius:10px;font-size:.95rem}.err[hidden]{display:none}.ok{margin:0 0 var(--sp-2);padding:10px 14px;background:var(--c-ok-bg);color:var(--c-ok-ink);border:1px solid var(--c-ok-line);border-radius:10px;font-size:.95rem}.ok[hidden]{display:none}.users h2{font-size:1rem;margin:var(--sp-4) 0 var(--sp-2)}.users h2:first-child{margin-top:0}.acc{display:flex;flex-direction:column;gap:var(--sp-2)}.acc-item{background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px;overflow:hidden}.acc-item:hover{border-color:var(--c-primary)}.acc-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) calc(var(--sp-2) + 1.2em);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;position:relative}.acc-head::-webkit-details-marker{display:none}.acc-head:before{content:"\25b8";position:absolute;left:var(--sp-2);top:50%;margin-top:-.6em;color:var(--c-ink-muted);transition:transform .15s}[open] .acc-head:before{transform:rotate(90deg)}.acc-name{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-tags{display:flex;gap:6px;flex:0 0 auto}.tag{font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px}.tag-admin{background:var(--c-primary);color:var(--c-on-primary)}.tag-active{background:var(--c-ok-bg);color:var(--c-ok-ink)}.tag-locked{background:var(--c-err-bg);color:var(--c-err-ink)}.acc-body{padding:var(--sp-2) var(--sp-2) var(--sp-2) calc(var(--sp-2) + 1.2em);border-top:1px solid var(--c-line)}.acc-body label{display:block;margin-bottom:var(--sp-2)}.acc-body .checkline{display:flex;align-items:center;gap:var(--sp-1)}.acc-save{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2)}.acc-save .muted{font-size:.8rem}.acc-row{display:flex;justify-content:space-between;gap:var(--sp-2);padding:4px 0;font-size:.92rem}.acc-k{color:var(--c-ink-muted)}@media(min-width:640px){body{font-size:17px}.wrap{padding-top:var(--sp-4)}.wrap.login{padding-top:16vh}.card{padding:var(--sp-4)}.cards{gap:var(--sp-3)}}
