:root{--bg: #f3eee6;--bg-accent: #e7f1ea;--ink: #171A1F;--muted: #5f6773;--line: #d7d0c4;--panel: rgba(255, 252, 247, .88);--brand: #d62828;--brand-deep: #9b1c1c;--live: #19e68c;--live-dim: #7acfa3;--live-bg: #0b1f16;--badge-bg: #14181f;--shadow: 0 18px 50px rgba(23, 26, 31, .08);--radius: 18px;--font-display: "Sora", "Noto Sans KR", sans-serif;--font-body: "Noto Sans KR", "Sora", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;touch-action:pan-x pan-y;overscroll-behavior:none}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 500px at 10% -10%,#ffe3ae 0%,transparent 55%),radial-gradient(900px 420px at 100% 0%,#c8f3d8 0%,transparent 50%),linear-gradient(180deg,#f7f2ea,#efe7db)}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app{width:min(1200px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 3rem}.site-header{display:grid;gap:1rem;margin-bottom:1.5rem}.brand-block{animation:rise .7s ease both}.brand{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;letter-spacing:-.04em;color:var(--ink)}.tagline{margin:.25rem 0 0;color:var(--muted);font-size:.98rem}.live-badges{display:flex;flex-wrap:wrap;gap:.55rem;animation:rise .8s ease .08s both}.badge{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.55rem .95rem;font-size:.86rem;line-height:1.2;white-space:nowrap}.badge-updated{background:var(--badge-bg);color:#f4f6f8;border:1px solid #2a3140}.badge-live{background:var(--live-bg);color:var(--live-dim);border:1px solid rgba(25,230,140,.45);box-shadow:0 0 0 1px #19e68c14,0 0 24px #19e68c1f}.badge-live strong{color:var(--live);font-weight:700}.live-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--live);box-shadow:0 0 #19e68cb3;animation:pulse 1.8s ease-out infinite}.sep{opacity:.55}.nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;animation:rise .85s ease .12s both}.nav button,.auth-link{border:1px solid var(--line);background:#ffffffb3;color:var(--ink);border-radius:999px;padding:.55rem .95rem;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.nav button:hover,.auth-link:hover{transform:translateY(-1px);border-color:#b7ae9f}.nav button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.alert-btn.on{background:#123524;color:var(--live);border-color:#19e68c66}.auth-link.muted{opacity:.65}.auth-link.alert-hint{border-color:#c8503c73;color:#9a3b2f;background:#ffece6e6}.keyword-panel{margin-bottom:.85rem;padding:.55rem .7rem;border:1px solid rgba(215,208,196,.9);border-radius:14px;background:#fffcf7e0}.keyword-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center;max-width:28rem}.keyword-form .keyword-input{width:100%;min-width:0;border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;background:#ffffffeb;font-size:.88rem}.keyword-form button{border:1px solid #123524;border-radius:999px;padding:.45rem .75rem;background:#123524;color:#e8fff3;cursor:pointer;white-space:nowrap;font-size:.88rem}.keyword-form button:disabled{opacity:.65;cursor:wait}.keyword-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none}.keyword-chips li{display:inline-flex;align-items:center;gap:.2rem;border:1px solid rgba(18,53,36,.16);border-radius:999px;padding:.12rem .25rem .12rem .55rem;background:#1235240d;color:#123524;font-size:.78rem;max-width:100%}.keyword-chips li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keyword-remove{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border:0;border-radius:999px;padding:0;background:transparent;color:#5f6773;font-size:.95rem;line-height:1;cursor:pointer}.keyword-remove:hover:not(:disabled){background:#171a1f14;color:#9a3b2f}.keyword-remove:disabled{opacity:.45;cursor:wait}.keyword-warn{margin:.35rem 0 0;color:#9a3b2f;font-size:.78rem}.panel{background:var(--panel);border:1px solid rgba(215,208,196,.9);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;align-items:end;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.panel-head h1{margin:0;font-family:var(--font-display);font-size:1.55rem;letter-spacing:-.03em}.panel-head p{margin:0;color:var(--muted)}.panel-head em{font-style:normal;color:var(--brand);font-weight:700}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:1.15rem}.check{display:inline-flex;gap:.4rem;align-items:center;padding:.45rem .7rem;border-radius:999px;background:#fff;border:1px solid var(--line)}.toolbar select,.search input,.search button,.price-search input,.pager button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.5rem .85rem}.order-tabs{display:flex;flex-wrap:wrap;gap:.3rem}.order-tabs button{border:0;background:transparent;color:var(--muted);padding:.45rem .65rem;cursor:pointer;border-bottom:2px solid transparent}.order-tabs button.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:700}.price-search{display:flex;align-items:center;gap:.3rem}.price-search input{width:6.5rem;min-width:0}.price-search span{color:var(--muted);font-size:.85rem}.search{display:flex;gap:.4rem;margin-left:auto}.search button{background:var(--ink);color:#fff;border-color:var(--ink);cursor:pointer}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.product{display:flex;flex-direction:column;gap:.7rem;min-width:0;transition:transform .2s ease}.product:hover{transform:translateY(-3px)}.product-media{position:relative;aspect-ratio:1;overflow:hidden;background:#f0ebe3;border-radius:4px}.product-media img{width:100%;height:100%;object-fit:cover;display:block}.product-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#efe8dc,#dfe8e2)}.soldout-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffff9e;color:#8a8f97;font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.04em}.product-body h3{margin:0;font-size:.95rem;font-weight:500;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price{margin:.35rem 0 0;color:var(--brand);font-weight:700;font-size:1.02rem}.pager{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.pager button{cursor:pointer}.pager button:disabled{opacity:.4;cursor:not-allowed}.empty,.error{padding:2rem 1rem;text-align:center;color:var(--muted)}.error{color:var(--brand-deep)}.content-area{position:relative;min-height:12rem}.content-area.is-loading{pointer-events:none}.content-area .is-dimmed{opacity:.35;filter:grayscale(.15)}.content-spinner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;color:var(--ink);font-weight:600;background:#fffcf773;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.spinner{width:2rem;height:2rem;border-radius:50%;border:3px solid rgba(23,26,31,.15);border-top-color:var(--brand);animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sales-list{display:flex;flex-direction:column;gap:.75rem}.sales-row{display:grid;grid-template-columns:72px 1fr;gap:.85rem;align-items:center;padding:.7rem;border-radius:14px;border:1px solid transparent;transition:background .18s ease,border-color .18s ease}.sales-row:hover{background:#ffffffb3;border-color:var(--line)}.sales-thumb{width:72px;height:72px;border-radius:10px;overflow:hidden;background:#efe8dc}.sales-thumb img{width:100%;height:100%;object-fit:cover}.sales-top{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.25rem;color:var(--muted);font-size:.82rem}.sales-type{font-weight:700}.type-restock .sales-type{color:#0f8a55}.type-sold_out .sales-type,.type-sale .sales-type{color:var(--brand)}.sales-main strong{display:block;font-weight:600}.sales-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.35rem;color:var(--muted);font-size:.85rem}.site-footer{margin-top:1.5rem;color:var(--muted);font-size:.85rem}@keyframes pulse{0%{box-shadow:0 0 #19e68c8c}70%{box-shadow:0 0 0 10px #19e68c00}to{box-shadow:0 0 #19e68c00}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.app{width:min(100% - 1.2rem,1200px)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.search{margin-left:0;width:100%}.search input{flex:1}.price-search{width:100%}.price-search input{flex:1;width:auto}.panel-head h1{font-size:1.3rem}}
