.cardbox-shell { width: min(1280px, calc(100% - 28px)); padding-top: 29px; }
.breadcrumbs { display: flex; gap: 8px; margin-bottom: 22px; color: #f0ddba; font-size: .69rem; }
.cardbox-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 28px; color: #f5e5c8; }
.cardbox-heading h1 { margin-bottom: 12px; }
.cardbox-heading > div > p:last-child { max-width: 760px; color: #dfc9a8; font: italic .94rem/1.65 Georgia, serif; }
.cardbox-heading .eyebrow { color: #efc688; }
.private-note { position: relative; flex: 0 0 220px; padding: 24px 18px 17px; color: #4f422e; background: #dcd47b; box-shadow: 5px 7px 0 rgba(49,28,14,.15); text-align: center; transform: rotate(1deg); }
.private-note > span { position: absolute; top: 7px; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: #a45139; }
.private-note strong, .private-note small { display: block; }
.private-note small { margin-top: 4px; font-size: .64rem; }
.collection-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 20px; }
.collection-summary > div { padding: 18px; border-left: 4px solid #476c50; background: linear-gradient(145deg,#f0e4bc,#d7c28e); box-shadow: 4px 6px 0 rgba(50,29,15,.13); }
.collection-summary small, .collection-summary strong, .collection-summary span { display:block; }
.collection-summary small { color:#806746; font-size:.59rem; font-weight:900; text-transform:uppercase; }
.collection-summary strong { margin:4px 0 2px; font:700 1.5rem Georgia,serif; }
.collection-summary span { color:#76654c; font-size:.65rem; }
.set-progress-sheet, .collection-tools { margin-bottom:20px; padding:24px; border:1px solid rgba(83,61,37,.3); border-radius:4px 12px 4px 9px; background:linear-gradient(145deg,#eee2bb,#d3bf8d); box-shadow:8px 10px 0 rgba(52,30,16,.15); }
.sheet-title { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:16px; }
.sheet-title h2 { margin:0; font:700 1.8rem Georgia,serif; }
.sheet-title > a { color:#34583f; font-size:.7rem; font-weight:900; }
.sheet-title > strong { color:#476c50; font:700 1rem Georgia,serif; }
.set-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.set-progress button { display:grid; grid-template-columns:1fr auto; gap:6px 10px; padding:13px; border:1px solid rgba(80,61,38,.22); color:#403323; background:rgba(255,250,226,.42); text-align:left; cursor:pointer; }
.set-progress span strong, .set-progress span small { display:block; }
.set-progress span strong { font:700 .9rem Georgia,serif; }
.set-progress span small { color:#7a684e; font-size:.58rem; }
.set-progress i { grid-column:1/-1; height:5px; background:rgba(90,68,40,.14); }
.set-progress b { display:block; height:100%; background:#4e7657; }
.set-progress em { grid-column:2; grid-row:1; color:#4e7657; font:700 .8rem Georgia,serif; }
.filters { display:grid; grid-template-columns:2fr repeat(4,1fr); gap:8px; }
.filters input[type="search"], .filters select { min-width:0; height:42px; padding:8px 10px; border:1px solid rgba(78,60,37,.31); color:#3a2e20; background:rgba(255,251,229,.65); }
.filters label { grid-column:1/-1; color:#66563e; font-size:.67rem; font-weight:850; }
.filters input[type="checkbox"] { accent-color:#40664a; }
.collection-actions { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 5px; }
.collection-actions button, .import-button { padding:9px 12px; border:1px solid #3d6549; border-radius:3px; color:#f9edd0; background:#3d6549; font-size:.65rem; font-weight:900; cursor:pointer; }
.import-button input { display:none; }
.collection-actions .quiet-danger { border-color:rgba(123,62,45,.45); color:#7b3e2e; background:rgba(255,247,218,.45); }
.cardbox-message { min-height:25px; color:#715c42; font-size:.7rem; font-weight:800; }
.cardbox-message.success { color:#37623f; }
.cardbox-message.warning { color:#8b422e; }
.cardbox-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.collection-card { position:relative; display:grid; grid-template-columns:86px minmax(0,1fr); grid-template-rows:1fr auto; gap:8px 11px; min-height:154px; padding:11px; border:2px solid transparent; background:rgba(255,250,226,.38); }
.collection-card.owned { border-color:rgba(61,101,73,.55); background:rgba(224,235,194,.5); }
.collection-card.wanted:not(.owned) { border-color:rgba(157,105,48,.48); }
.card-image { grid-row:1/-1; align-self:center; }
.card-image img { width:82px; height:112px; object-fit:contain; }
.card-copy { min-width:0; }
.card-copy small, .card-copy p { display:block; margin:0; color:#76654d; font-size:.55rem; }
.card-copy h3 { margin:3px 25px 4px 0; font:700 .82rem/1.25 Georgia,serif; }
.card-copy h3 a { text-decoration:none; }
.wish-button { position:absolute; top:7px; right:7px; border:0; color:#90642d; background:transparent; font-size:1.25rem; cursor:pointer; }
.count-control { display:grid; grid-template-columns:29px 1fr 29px; align-items:center; gap:3px; }
.count-control button { width:29px; height:29px; border:1px solid rgba(72,56,36,.27); border-radius:50%; color:#4e4231; background:rgba(255,255,255,.35); font-weight:900; cursor:pointer; }
.count-control strong { color:#42694b; text-align:center; }
.empty-collection { grid-column:1/-1; padding:40px; color:#76654d; font:italic .8rem Georgia,serif; text-align:center; }
@media(max-width:1050px){.cardbox-grid{grid-template-columns:repeat(3,1fr)}.set-progress{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(3,1fr)}.filters input[type="search"]{grid-column:1/-1}}
@media(max-width:760px){.cardbox-heading{align-items:start;flex-direction:column}.private-note{flex-basis:auto;width:min(100%,260px)}.collection-summary{grid-template-columns:1fr 1fr}.cardbox-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.filters input[type="search"]{grid-column:1/-1}}
@media(max-width:500px){.collection-summary,.set-progress,.cardbox-grid,.filters{grid-template-columns:1fr}.filters input[type="search"]{grid-column:auto}.collection-card{grid-template-columns:76px minmax(0,1fr)}.card-image img{width:72px;height:99px}}
