﻿:root{--bg: #0f1216;--card: #171b21;--card-hover: #1d232b;--border: #262c35;--text: #f5f6f7;--muted: #9aa0a6;--accent: #ff3b3b;--accent2: #ffb703}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.deal-thumb img{-webkit-user-drag:none;user-drag:none;pointer-events:none}.deal-card{-webkit-user-drag:none;user-drag:none}a.brand-link{text-decoration:none;color:inherit;display:inline-block}a.brand-link:hover .brand .accent{filter:brightness(1.15)}.hotdeal-shell{height:100vh;height:100dvh;max-width:2400px;margin:0 auto;padding:0 clamp(8px,1vw,18px);display:flex;flex-direction:column;gap:0}.topbar{flex:0 0 auto;padding:8px 0 0;overflow:visible;position:relative;z-index:5}.topbar-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;padding-bottom:6px;min-width:0;overflow:visible}.filter-chip.open{z-index:210}.brand-link{min-width:0}.brand{font-size:clamp(.95rem,.5vw + .85rem,1.2rem);font-weight:800;letter-spacing:-0.5px;white-space:nowrap;margin:0;overflow:hidden;text-overflow:ellipsis}.brand .accent{color:var(--accent2)}@media(max-width: 720px){.brand-tail{display:none}}@media(max-width: 380px){.brand-link{display:none}}.topbar-spacer{flex:1 1 auto;min-width:4px}.filter-chip{position:relative;display:inline-flex;align-items:center;gap:4px;font-size:.78rem;padding:4px 10px;border:1px solid rgba(255,183,3,.45);border-radius:999px;color:#fff;background:rgba(255,183,3,.08);font-weight:700;white-space:nowrap;cursor:pointer;user-select:none;transition:border-color .15s,background .15s;flex-shrink:0}.filter-chip:hover{border-color:var(--accent2);background:rgba(255,183,3,.15)}.filter-chip b{color:#fff;font-weight:800}.filter-chip .caret{font-size:.58rem;margin-left:2px;opacity:.7;transition:transform .15s}.filter-chip.open{border-color:var(--accent2);background:rgba(255,183,3,.18)}.filter-chip.open .caret{transform:rotate(180deg)}.filter-menu{position:absolute;top:calc(100% + 5px);left:0;display:none;min-width:140px;max-height:min(60vh,420px);overflow-y:auto;padding:5px;background:#1b1f26;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.5);z-index:200;scrollbar-width:thin;scrollbar-color:#3a4150 rgba(0,0,0,0)}.filter-menu::-webkit-scrollbar{width:6px}.filter-menu::-webkit-scrollbar-thumb{background:#3a4150;border-radius:3px}.filter-chip.open .filter-menu{display:block}.filter-menu button{display:block;width:100%;text-align:left;padding:6px 10px;font-size:.75rem;background:rgba(0,0,0,0);border:none;color:#e8eaed;border-radius:6px;cursor:pointer;font-weight:600}.filter-menu button:hover{background:#2a2f36}.filter-menu button.active{background:rgba(255,183,3,.15);color:var(--accent2)}.filter-menu button.active::before{content:"✓ ";font-weight:800}.countdown-pill{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.countdown-pill .num{color:#fff;font-weight:800;font-size:.95rem;display:inline-block;font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;width:5.5ch;min-width:5.5ch;max-width:5.5ch;text-align:right;box-sizing:content-box}.tool-btn{width:30px;height:30px;border-radius:50%;border:none;background:rgba(0,0,0,0);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1;padding:0;cursor:pointer;transition:opacity .15s,transform .15s;flex-shrink:0}.tool-btn:hover{background:rgba(0,0,0,0);color:#fff;opacity:.72;transform:scale(1.08)}.tool-btn:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px}.tool-btn.spinning i{animation:spin .9s linear infinite}.tool-btn:disabled{opacity:.5;cursor:wait}.roulette-track{width:100%;height:3px;background:#111827;border-radius:999px;overflow:hidden;position:relative;box-shadow:inset 0 0 6px rgba(17,24,39,.65)}.roulette-blue{position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(90deg, #1e4fff 0%, #2d7dff 50%, #1e4fff 100%);background-size:220% 100%;transform-origin:left center;transform:scaleX(0);will-change:transform;border-radius:999px;animation:blue-wave 1.1s linear infinite;box-shadow:0 0 8px rgba(30,79,255,.3)}.roulette-fill{position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(90deg, #ffb703 0%, #ff6b3b 50%, #ff3b3b 100%);transform-origin:left center;transform:scaleX(1);will-change:transform;border-radius:999px;box-shadow:0 0 10px rgba(255,183,3,.35)}.topbar.urgent .roulette-fill{animation:pulse-glow .5s ease-in-out infinite alternate}.topbar.spinning .roulette-fill{background:linear-gradient(90deg, #ffb703, #ff3b3b, #ffb703);background-size:200% 100%;animation:shimmer-bar .6s linear infinite;transform:scaleX(1) !important}.topbar.spinning .roulette-blue{display:none}.topbar.paused .countdown-pill .num{color:#6c757d}@keyframes pulse-glow{from{filter:brightness(1)}to{filter:brightness(1.4)}}@keyframes shimmer-bar{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes blue-wave{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.hotdeal-grid{flex:1 1 auto;min-height:0;display:grid;gap:6px;padding:6px 0 3px;grid-template-columns:repeat(auto-fill, minmax(148px, 1fr));align-content:start;overflow:hidden}@media(min-width: 1200px){.hotdeal-grid{gap:8px;grid-template-columns:repeat(auto-fill, minmax(162px, 1fr))}}@media(min-width: 1800px){.hotdeal-grid{grid-template-columns:repeat(auto-fill, minmax(172px, 1fr))}}.deal-card{position:relative;background:var(--card);border:1px solid rgba(255,255,255,.22);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;will-change:transform;opacity:0;animation:dealIn .4s cubic-bezier(0.2, 0.85, 0.3, 1) forwards;min-width:0}@keyframes dealIn{0%{opacity:0;transform:translateY(12px) scale(0.95)}60%{opacity:1;transform:translateY(-1px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes dealEmberGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,80,80,.28),0 3px 14px rgba(255,45,45,.2),0 0 22px rgba(255,55,55,.14)}50%{box-shadow:0 0 0 1px rgba(255,110,95,.42),0 5px 22px rgba(255,50,50,.3),0 0 34px rgba(255,70,65,.22)}}.deal-card.deal-card--ember{border-color:rgba(255,95,90,.38);animation:dealIn .4s cubic-bezier(0.2, 0.85, 0.3, 1) forwards,dealEmberGlow 2.6s ease-in-out infinite;will-change:transform,box-shadow}@media(prefers-reduced-motion: reduce){.deal-card.deal-card--ember{animation:dealIn .4s cubic-bezier(0.2, 0.85, 0.3, 1) forwards;box-shadow:0 0 0 1px rgba(255,90,85,.32),0 4px 18px rgba(255,48,48,.22),0 0 26px rgba(255,58,55,.16)}}.deal-card:hover{transform:translateY(-2px);background:var(--card-hover);border-color:var(--accent2);color:inherit}.deal-card.deal-card--ember:hover{border-color:rgba(255,130,115,.55);animation-play-state:running,paused;box-shadow:0 0 0 1px rgba(255,120,105,.45),0 6px 24px rgba(255,55,50,.32),0 0 36px rgba(255,75,70,.24)}.deal-thumb{position:relative;width:100%;aspect-ratio:1/1;background:#0a0c0f;overflow:hidden;flex-shrink:0}.deal-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.deal-card:hover .deal-thumb img{transform:scale(1.04)}.discount-banner{position:absolute;top:0;left:0;width:72px;min-height:44px;padding:2px 4px 3px;background:linear-gradient(135deg, #ff3b3b 0%, #ff6b3b 100%);color:#fff;font-weight:900;font-size:clamp(1.05rem,1vw + .4rem,1.55rem);line-height:1.02;border-bottom-right-radius:10px;box-shadow:0 4px 14px rgba(255,59,59,.4);letter-spacing:-0.5px;font-feature-settings:"tnum";display:inline-flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-sizing:border-box}.discount-banner .pct{font-size:.7em;vertical-align:top;margin-left:1px}.discount-banner .sub{display:block;font-size:.56em;font-weight:700;opacity:.95;margin-top:2px;letter-spacing:0;width:100%;line-height:1.03;white-space:pre-line;word-break:keep-all;overflow:hidden}.discount-banner.refurb{background:linear-gradient(135deg, #3a86ff 0%, #266fff 100%);color:#fff;box-shadow:0 4px 14px rgba(58,134,255,.38)}.discount-banner.best{background:linear-gradient(135deg, #3a86ff 0%, #266fff 100%);color:#fff;box-shadow:0 4px 14px rgba(58,134,255,.38)}.discount-banner.hot .sub{font-size:.86em;font-weight:900;line-height:1;letter-spacing:-0.15px}.discount-banner.refurb .sub{font-size:.86em;font-weight:900;line-height:1;letter-spacing:-0.15px}.discount-banner.no-rate{font-size:clamp(.7rem,.35vw + .58rem,.9rem);padding:5px 9px 6px;line-height:1.15}.discount-banner.no-rate .sub{display:block;font-size:.52em;margin-top:1px;opacity:1;font-weight:800;line-height:1.03;white-space:normal;word-break:keep-all}.discount-banner.best.no-rate .sub{font-size:.86em;font-weight:900;line-height:1;letter-spacing:-0.15px;white-space:nowrap}.discount-banner.search .sub{font-size:.72em;font-weight:900;line-height:1;letter-spacing:-0.12px;white-space:nowrap}.discount-banner.search{width:78px}.discount-ribbon{position:absolute;top:12px;right:-30px;width:132px;text-align:center;transform:rotate(45deg);transform-origin:center;background:linear-gradient(90deg, #ff0000 0%, #ff3b3b 100%);color:#fff;font-size:.78rem;font-weight:900;letter-spacing:-0.15px;line-height:1.5;padding:4px 0;box-shadow:0 2px 8px rgba(0,0,0,.35);z-index:3;pointer-events:none;text-transform:uppercase}.discount-ribbon.hot{background:linear-gradient(90deg, #ff0000 0%, #ff3b3b 100%)}.discount-ribbon.refurb{background:linear-gradient(90deg, #266fff 0%, #3a86ff 100%)}.deal-body{padding:7px 8px 9px;display:flex;flex-direction:column;gap:3px;min-height:68px;justify-content:space-between}.deal-price-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;min-width:0;width:100%;margin-top:auto}.deal-origin{color:#8a9099;font-size:clamp(.58rem,.2vw + .52rem,.68rem);font-weight:500;text-decoration:line-through;text-decoration-color:rgba(138,144,153,.65);text-decoration-thickness:1px;white-space:nowrap;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.deal-origin .won{font-size:.85em;opacity:.85;margin-left:1px}.deal-price{color:#fff;font-weight:800;font-size:clamp(.98rem,.58vw + .74rem,1.22rem);line-height:1;letter-spacing:-0.3px;font-feature-settings:"tnum";flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center}@media(min-width: 561px){.deal-price{font-size:clamp(.98rem,.58vw + .74rem,1.22rem)}}.deal-price .won{font-size:.78em;font-weight:700;margin-left:1px;opacity:.9}.deal-price.is-discounted{color:#ff5a5f}.deal-typing-hint{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:4px 8px;border-radius:0;font-size:.65rem;font-weight:900;line-height:1.2;letter-spacing:-0.1px;white-space:nowrap;overflow:hidden;pointer-events:none;background:#fff;border-top:1px solid rgba(255,255,255,.95)}.deal-typing-hint.hot{color:#e60000}.deal-typing-hint.refurb{color:#1f66ff}.deal-typing-hint .typing-text{display:inline-block;white-space:nowrap;border-right:2px solid currentColor;animation:caret-blink .7s step-end infinite}@keyframes caret-blink{0%,49%{border-right-color:currentColor}50%,100%{border-right-color:rgba(0,0,0,0)}}.deal-name{color:#cfd3d8;font-size:.76rem;line-height:1.3;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skel-card{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.skel-box{width:100%;aspect-ratio:1/1;background:linear-gradient(90deg, #141820 0%, #1c222b 50%, #141820 100%);background-size:200% 100%;animation:shimmer 1.2s infinite;flex-shrink:0}.skel-body{padding:8px;display:flex;flex-direction:column;gap:6px}.skel-line{height:10px;border-radius:6px;background:linear-gradient(90deg, #141820 0%, #1c222b 50%, #141820 100%);background-size:200% 100%;animation:shimmer 1.2s infinite}.skel-line.short{width:45%}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.flash-overlay{position:fixed;inset:0;background:radial-gradient(circle at center, rgba(255, 183, 3, 0.22) 0%, rgba(255, 59, 59, 0) 60%);pointer-events:none;opacity:0;z-index:100;transition:opacity .35s ease}.flash-overlay.active{opacity:1}.empty-state{grid-column:1/-1;align-self:center;text-align:center;color:var(--muted);padding:2rem 1rem;border:1px dashed var(--border);border-radius:14px}.disclaimer{flex:0 0 auto;font-size:.62rem;color:#5a6268;text-align:center;padding:3px 6px 6px;line-height:1.3}@media(max-width: 560px){.brand{font-size:.9rem}.topbar-row{gap:5px}.filter-chip{font-size:.7rem;padding:3px 7px;gap:3px}.filter-chip .caret{font-size:.52rem;margin-left:1px}.countdown-pill{font-size:.68rem}.countdown-pill .num{font-size:.82rem;width:5.5ch;min-width:5.5ch;max-width:5.5ch}.tool-btn{width:28px;height:28px}.hotdeal-grid{grid-template-columns:repeat(3, minmax(0, 1fr));gap:5px;padding:5px 0 2px}.discount-banner{width:58px;min-height:38px;padding:2px 3px 3px;border-bottom-right-radius:8px}.discount-banner .sub,.discount-banner.hot .sub,.discount-banner.refurb .sub,.discount-banner.best .sub,.discount-banner.best.no-rate .sub{font-size:1.02em !important;line-height:1 !important;font-weight:900 !important}.discount-banner.no-rate .sub{font-size:1.02em !important;line-height:1 !important;font-weight:900 !important;white-space:nowrap !important}.discount-banner.search .sub{font-size:.88em !important;line-height:1 !important;letter-spacing:-0.1px !important}.discount-banner.search{width:60px}.deal-ribbon{width:98px}.discount-ribbon{width:112px;right:-34px;top:13px;font-size:.7rem;padding:3px 0}.deal-body{padding:6px 7px 8px;min-height:66px;gap:2px}.deal-name{font-size:.66rem;line-height:1.25}.deal-price-row{flex-wrap:nowrap;gap:3px 5px}.deal-origin{font-size:.6rem}.deal-price{font-size:clamp(1.2rem,.75vw + .96rem,1.4rem)}.deal-typing-hint{left:0;right:0;bottom:0;padding:3px 6px;font-size:.58rem;border-radius:0}.discount-banner{font-size:clamp(.84rem,.9vw + .28rem,1.08rem)}}
