:root{--bg:#16110d;--bg-soft:#1e1712;--card:#241b14;--card-hover:#2c2119;--line:#3a2d21;--text:#ede4d6;--text-dim:#a8987f;--gold:#d4a24e;--gold-soft:#e8c98a;--radius:14px;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;line-height:1.55;min-height:100vh}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#1d1610,var(--bg));padding:2.2rem 1.5rem 1.6rem}.header-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:flex-end;justify-content:space-between}.logo{font-family:Didot,Playfair Display,Georgia,serif;font-size:2.4rem;font-weight:500;letter-spacing:.04em}.logo span{color:var(--gold);font-style:italic}.tagline{color:var(--text-dim);font-size:.95rem;margin-top:.2rem}.header-actions{display:flex;gap:.7rem;align-items:center}.header-search{margin-bottom:1.6rem}.search{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;color:var(--text);padding:.6rem 1.1rem;width:100%;max-width:420px;font-size:.92rem;outline:none}.search:focus{border-color:var(--gold)}.btn{display:inline-block;border:none;border-radius:999px;padding:.62rem 1.25rem;font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .12s ease,filter .12s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn:disabled{opacity:.6;cursor:wait}.btn-gold{background:var(--gold);color:#241a0c}.btn-outline{background:transparent;color:var(--gold-soft);border:1px solid var(--gold)}.input,.select{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:.55rem .8rem;font-size:.9rem;font-family:inherit;outline:none;width:100%}.select{width:auto}.input:focus,.select:focus{border-color:var(--gold)}.container{max-width:1100px;margin:0 auto;padding:1.8rem 1.5rem 4rem}.section-title{font-family:Didot,Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:500;letter-spacing:.03em}.section-title.small{font-size:1.15rem;margin-bottom:.7rem}.section-sub{color:var(--text-dim);font-size:.88rem;margin:.15rem 0 1rem}.back-link{display:inline-block;color:var(--text-dim);font-size:.9rem;margin-bottom:1.4rem}.back-link:hover{color:var(--gold-soft)}.reco-section{margin-bottom:2.4rem;padding:1.4rem 1.5rem 1.6rem;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(ellipse at top left,#2a2013 0,var(--bg-soft) 60%)}.reco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.reco-card{display:flex;align-items:center;gap:.4rem}.reco-because{font-size:.82rem;color:var(--text-dim);margin-top:.4rem}.reco-because strong{color:var(--gold-soft);font-weight:600}.toolbar{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;margin-bottom:.8rem}.tabs{display:flex;gap:.3rem;background:var(--bg-soft);border-radius:999px;padding:.25rem;border:1px solid var(--line)}.tab{border:none;background:transparent;color:var(--text-dim);padding:.45rem 1.1rem;border-radius:999px;font-size:.9rem;cursor:pointer}.tab.active{background:var(--gold);color:#241a0c;font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.4rem}.chip{border:1px solid var(--line);background:transparent;color:var(--text-dim);border-radius:999px;padding:.3rem .85rem;font-size:.82rem;cursor:pointer;text-transform:capitalize}.chip:hover{border-color:var(--gold);color:var(--gold-soft)}.chip.active{background:var(--gold);border-color:var(--gold);color:#241a0c;font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:1.1rem;gap:1.1rem}.card{position:relative;display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.card:focus-visible,.card:hover{transform:translateY(-3px);background:var(--card-hover);border-color:#57452f;outline:none}.card-art{display:flex;justify-content:center;margin-bottom:.4rem}.card-brand{color:var(--gold);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.card-name{font-family:Didot,Playfair Display,Georgia,serif;font-weight:500;font-size:1.12rem;margin:.15rem 0 .3rem}.card-accords{color:var(--text-dim);font-size:.82rem;text-transform:capitalize}.card-meta{color:var(--text-dim);font-size:.78rem;margin-top:.45rem}.owned-badge{position:absolute;top:.7rem;right:.85rem;color:var(--gold);font-size:1.05rem}.empty{color:var(--text-dim);text-align:center;padding:3rem 0}.detail-page{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;max-width:720px;margin:0 auto}.detail-top{display:flex;gap:1.4rem;flex-wrap:wrap}.detail-art{flex-shrink:0}.detail-info{flex:1 1;min-width:230px}.detail-name{font-family:Didot,Playfair Display,Georgia,serif;font-size:1.6rem;font-weight:500;margin:.1rem 0 .5rem}.detail-desc{color:var(--text-dim);font-size:.92rem;margin-bottom:.6rem}.sizes{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0 1rem}.size-pill{border:1px solid var(--line);border-radius:999px;padding:.28rem .8rem;font-size:.82rem;color:var(--gold-soft)}.pyramid{margin-top:1.6rem}.tier{display:flex;gap:.8rem;align-items:baseline;margin-bottom:.55rem}.tier-label{width:52px;flex-shrink:0;color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.tier-notes{display:flex;flex-wrap:wrap;gap:.35rem}.note-pill{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.22rem .7rem;font-size:.8rem}.comments{margin-top:1.8rem;border-top:1px solid var(--line);padding-top:1.2rem}.comment-list{list-style:none;margin-bottom:1rem}.comment{padding:.7rem 0;border-bottom:1px solid var(--line)}.comment-author{font-weight:600;color:var(--gold-soft);font-size:.9rem}.comment-date{color:var(--text-dim);font-size:.78rem;margin-left:.5rem}.comment-text{font-size:.92rem;margin-top:.2rem}.comment-none{color:var(--text-dim);font-size:.9rem;padding:.4rem 0 .8rem}.comment-form{display:flex;flex-direction:column;gap:.6rem}.comment-form .btn{align-self:flex-start}.add-form{flex-direction:column;margin-top:1rem}.add-form,.form-row{display:flex;gap:.65rem}.form-row{flex-wrap:wrap}.form-row>*{flex:1 1;min-width:150px}.form-error{color:#e08a7a;font-size:.88rem}.color-label{display:flex;align-items:center;gap:.6rem;color:var(--text-dim);font-size:.88rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:.35rem .8rem}.color-label input{border:none;background:none;width:42px;height:30px;cursor:pointer}.add-form .btn{align-self:flex-start;margin-top:.4rem}.user-menu{display:flex;align-items:center;gap:.7rem}.user-name{color:var(--text-dim);font-size:.9rem}.auth-page{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;max-width:440px;margin:0 auto}.auth-form{display:flex;flex-direction:column;gap:.7rem;margin-top:1rem}.auth-form .btn{align-self:flex-start;margin-top:.3rem}.auth-switch{margin-top:1.2rem;color:var(--text-dim);font-size:.9rem}.link-button{background:none;border:none;color:var(--gold-soft);font:inherit;cursor:pointer;padding:0;text-decoration:underline}.form-notice{color:var(--gold-soft);font-size:.88rem}.login-prompt{text-align:center;padding:2.6rem 1rem;border:1px dashed var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:1rem}.login-prompt p,.site-footer{color:var(--text-dim)}.site-footer{border-top:1px solid var(--line);text-align:center;font-size:.82rem;padding:1.4rem}@media (max-width:560px){.logo{font-size:1.9rem}.toolbar{flex-direction:column;align-items:stretch}.tabs{justify-content:center}.detail-page{padding:1.2rem}}