*{box-sizing:border-box}
:root{--gap:9px;--radius:15px;--border:#e8e8e8;--muted:#777;--bg:#f5f5f3}
body{margin:0;background:var(--bg);color:#171717;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}
.page{max-width:960px;margin:auto;background:#fff;min-height:100vh;padding:20px 14px 48px}
.hero{padding-bottom:6px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;margin:0 0 4px}h1{font-size:clamp(30px,6vw,46px);margin:0}.updated{color:var(--muted);font-size:15px;margin:5px 0 0}
.notice{background:#fff3bf;border:1px solid #f1dfa1;border-radius:14px;padding:16px 18px;margin:18px 0 20px;font-size:15px;line-height:1.68}.notice ul{padding-left:18px;margin:7px 0 0}
.topic-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;scrollbar-width:none}.topic-nav::-webkit-scrollbar{display:none}.topic-btn{border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 15px;font-size:15px;font-weight:800;white-space:nowrap;cursor:pointer}.topic-btn.active{background:#171717;color:#fff}
.topic{display:none}.topic.active{display:block}.section-head{margin:0 0 12px}.section-head h2{font-size:clamp(25px,4.4vw,34px);margin:0}.section-head p{margin:5px 0 0;color:var(--muted);font-size:14px}.topic-head{margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);grid-auto-rows:1fr}
.card{min-width:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;height:100%}.card-link{color:inherit;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.card-link:hover{transform:translateY(-2px);box-shadow:0 5px 18px rgba(0,0,0,.08)}.card-link:focus-visible{outline:3px solid #171717;outline-offset:2px}.card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee;display:block}.body{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}.market{font-size:13px;color:var(--muted);font-weight:750}.name{font-size:clamp(16px,3vw,20px);font-weight:800;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}.price{font-size:clamp(19px,3.3vw,24px);font-weight:900}.comment{font-size:clamp(14px,2.7vw,17px);color:#555;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}.buy{margin-top:auto;display:block;text-align:center;background:#171717;color:#fff;border-radius:9px;padding:11px 8px;font-size:15px;font-weight:850}
.featured-carousel{margin-bottom:4px;overflow-anchor:none}.featured-viewport{overflow:hidden;min-height:0;touch-action:pan-y;overscroll-behavior-x:contain}.featured-track{display:flex;width:100%;align-items:stretch;transition:transform .46s cubic-bezier(.22,.61,.36,1);will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}.featured-track.no-transition{transition:none!important}.featured-slide{flex:0 0 100%;min-width:0;display:flex}.featured-slide>.grid{width:100%}.featured-controls{display:flex;align-items:center;justify-content:center;gap:13px;padding:12px 0 2px}.roll-btn{border:0;background:transparent;color:#555;font-size:17px;cursor:pointer;padding:6px 8px;border-radius:8px}.roll-btn:hover{background:#f3f3f3}.roll-dots{display:flex;align-items:center;gap:7px}.roll-dot{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#cfcfcf;cursor:pointer;transition:transform .18s ease,background .18s ease}.roll-dot.active{background:#171717;transform:scale(1.08)}
.category-title{margin-top:38px}.cat{border-top:1px solid var(--border)}.cat:last-child{border-bottom:1px solid var(--border)}.cat summary{cursor:pointer;list-style:none;padding:18px 2px;font-size:20px;font-weight:850;display:flex;justify-content:flex-start;align-items:center;gap:9px}.cat summary::-webkit-details-marker{display:none}.cat-arrow{display:inline-block;font-size:15px;transition:transform .15s ease;transform-origin:center}.cat[open] .cat-arrow{transform:rotate(90deg)}.cat .grid{padding-bottom:18px}
.empty{padding:30px 10px;border:1px dashed var(--border);border-radius:14px;text-align:center;color:var(--muted)}
@media(max-width:420px){.page{padding:14px 8px 36px}:root{--gap:7px;--radius:13px}.body{padding:10px}.market{font-size:12px}.name{font-size:15px}.price{font-size:18px}.comment{font-size:13.5px}.buy{font-size:14px;padding:10px 5px}.featured-controls{padding-top:10px}.cat summary{font-size:19px}.notice{font-size:14px}.featured-track{transition-duration:.44s}}
