:root{--bg: #16161a;--bg-elevated: #1f1f25;--fg: #e8e6e3;--muted: #8d8a85;--border: #2c2c33;--border-strong: #3a3a44;--accent: #e0664c;--accent-fg: #1a1a1f;--status-available: #3fb950;--status-available-bg: rgba(63, 185, 80, .12);--status-reserved: #e0913e;--status-reserved-bg: rgba(224, 145, 62, .12);--status-received: #4f8df0;--status-received-bg: rgba(79, 141, 240, .12);color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);line-height:1.5}a{color:var(--accent)}a:hover{filter:brightness(1.15)}header.app{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}main{max-width:920px;margin:24px auto;padding:0 16px}button{font:inherit;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);border-radius:6px;padding:8px 14px;cursor:pointer;transition:background .1s,border-color .1s}button:hover:not(:disabled){border-color:var(--muted)}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button.primary:hover:not(:disabled){filter:brightness(1.05);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font:inherit;padding:8px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elevated);color:var(--fg);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}label{display:block;margin:12px 0 4px;font-weight:500;font-size:.92em;color:var(--fg)}.gift-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pills .pill{padding:4px 12px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--muted);font-size:.9em;cursor:pointer}.filter-pills .pill:hover{color:var(--fg)}.filter-pills .pill.active.all{background:var(--fg);color:var(--bg);border-color:var(--fg)}.filter-pills .pill.active.available{background:var(--status-available-bg);color:var(--status-available);border-color:var(--status-available)}.filter-pills .pill.active.reserved{background:var(--status-reserved-bg);color:var(--status-reserved);border-color:var(--status-reserved)}.filter-pills .pill.active.received{background:var(--status-received-bg);color:var(--status-received);border-color:var(--status-received)}.gift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:20px}.gift-card{background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-left-color .15s}.gift-card.status-available{border-left-color:var(--status-available)}.gift-card.status-reserved{border-left-color:var(--status-reserved)}.gift-card.status-received{border-left-color:var(--status-received);opacity:.85}.gift-card img{width:100%;height:180px;object-fit:cover;background:#0e0e12}.gift-card .body{padding:12px 14px;flex:1}.gift-card h3{margin:0 0 6px;font-size:1em;color:var(--fg)}.gift-card .price{font-weight:600}.gift-card .actions{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--border);align-items:center;flex-wrap:wrap}.status-badge{display:inline-block;font-size:.82em;font-weight:600;padding:2px 10px;border-radius:999px;letter-spacing:.02em}.status-badge.available{color:var(--status-available);background:var(--status-available-bg)}.status-badge.reserved{color:var(--status-reserved);background:var(--status-reserved-bg)}.status-badge.received{color:var(--status-received);background:var(--status-received-bg)}.reaction-bar{display:flex;gap:6px}.reaction-bar button{padding:4px 8px;font-size:.95em}.reaction-bar button.mine{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.muted{color:var(--muted);font-size:.92em}.error{color:#f0676a}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stack>*+*{margin-top:12px}dialog{border:1px solid var(--border-strong);border-radius:12px;padding:20px;min-width:320px;background:var(--bg-elevated);color:var(--fg)}dialog::backdrop{background:#0000008c}.comments{margin-top:12px;padding:10px 14px;border-top:1px solid var(--border)}.comments .item{padding:6px 0;border-bottom:1px dashed var(--border)}.comments .item:last-child{border-bottom:none}.comments .author{font-weight:600;font-size:.9em}
