.card-base{border:1px solid var(--border-color);border-radius:8px}.card-base,.card-base-rounded{background:var(--surface-color);cursor:pointer;overflow:hidden;position:relative}.card-base-rounded{border:1px solid var(--border-color);border-radius:12px}.card-transition{transition:box-shadow .3s ease,top .3s ease,border-color .3s ease}.card-transition-fast{transition:box-shadow .25s ease,top .25s ease}.card-hover:hover{box-shadow:0 6px 18px #0000001f;top:-2px;transform:none}.card-hover-large:hover{box-shadow:0 8px 24px #0000001f;top:-2px;transform:none}.card-hover-border:hover{border-color:var(--accent-color)}html[data-theme=dark] .card-hover-large:hover,html[data-theme=dark] .card-hover:hover{box-shadow:0 6px 18px #0006,0 0 0 1px #fff3}.image-container{border-radius:6px;overflow:hidden;position:relative}.image-container-rounded{border-radius:8px;overflow:hidden;position:relative}.cover-image{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.responsive-image{display:block!important;height:auto!important;width:100%!important}.text-clamp-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clamp-2{-webkit-line-clamp:2}.text-clamp-2,.text-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;line-height:1.4;overflow:hidden}.text-clamp-3{-webkit-line-clamp:3}.page-container{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:20px}@media(min-width:1600px){.page-container{max-width:1600px}}@media(max-width:768px){.page-container{padding:16px}}@media(max-width:480px){.page-container{padding:12px 8px}}.page-container-compact{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:16px}@media(min-width:1600px){.page-container-compact{max-width:1600px}}@media(max-width:768px){.page-container-compact{padding:12px}}@media(max-width:480px){.page-container-compact{padding:8px}}.flex{display:flex}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-column{display:flex;flex-direction:column}.flex-gap-4{display:flex;gap:4px}.flex-gap-8{display:flex;gap:8px}.flex-gap-12{display:flex;gap:12px}.flex-gap-16{display:flex;gap:16px}.flex-gap-20{display:flex;gap:20px}.corner-badge{align-items:center;background:#000000b3;border-radius:12px;color:#fff;display:flex;font-size:11px;gap:2px;padding:4px 8px;position:absolute;right:8px;top:8px}@media(max-width:768px){.mobile-hidden{display:none!important}}@media(min-width:769px){.desktop-hidden{display:none!important}}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.p-24{padding:24px}@media(hover:hover){.clickable,.product-item,.ranking-item,.user-card{position:relative;transition:box-shadow .25s ease,top .25s ease}.clickable:hover,.product-item:hover,.ranking-item:hover,.user-card:hover{top:-1px}}.touch-target{min-height:44px;min-width:44px}.pressable{-webkit-tap-highlight-color:rgba(0,0,0,.08);transition:transform .08s ease}.pressable:active{transform:scale(.98)}.hit-slop{position:relative}.hit-slop:before{content:"";inset:-8px;position:absolute}.carousel{touch-action:pan-x;-ms-touch-action:pan-x}.bottom-safe{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.no-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}:root{color-scheme:light;--page-bg:#f8fafc;--surface-color:#fff;--surface-ghost:#f1f5f9;--text-color:#0f172a;--muted-color:#475569;--muted-strong:#334155;--border-color:#e2e8f0;--border-color-strong:#cbd5e1;--accent-color:#ec4899;--accent-strong:#db2777;--accent-surface:#fce7f3;--accent-soft-border:#fbcfe8;--shadow-subtle:0 4px 14px rgba(15,23,42,.06);--shadow-soft:0 12px 40px rgba(15,23,42,.08)}html[data-theme=dark]{color-scheme:dark;--page-bg:#0b1220;--surface-color:#111827;--surface-ghost:#0f172a;--text-color:#e2e8f0;--muted-color:#94a3b8;--muted-strong:#cbd5e1;--border-color:#1f2937;--border-color-strong:#334155;--accent-color:#ec4899;--accent-strong:#f472b6;--accent-surface:#831843;--accent-soft-border:#db2777;--shadow-subtle:0 6px 18px rgba(0,0,0,.4);--shadow-soft:0 14px 40px rgba(0,0,0,.55)}*,:after,:before{box-sizing:border-box}body{background:var(--page-bg);color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;margin:0;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:var(--accent-color);text-decoration:none;transition:color .16s ease}a:hover{color:var(--accent-strong)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.app-shell{background:var(--page-bg);color:var(--text-color);display:flex;flex-direction:column;min-height:100vh}.main-container{margin:0 auto;max-width:1600px;padding:0;width:100%}.page-stack{gap:28px;padding:8px 0 24px}.page-section,.page-stack{display:flex;flex-direction:column}.page-section{gap:12px}.hero-card{background:linear-gradient(120deg,var(--surface-color),var(--surface-ghost));border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-subtle);padding:24px}.section-header{align-items:flex-end;display:flex;gap:12px;justify-content:space-between}.section-title{font-size:24px;letter-spacing:-.02em;margin:0}.section-lede{color:var(--muted-color);margin-top:6px;max-width:740px}.card-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card-panel{background:var(--surface-color);border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .18s ease}.card-panel:hover{border-color:var(--border-color-strong);box-shadow:var(--shadow-soft)}.card-title{color:var(--text-color);font-size:18px;margin:0}.card-muted{color:var(--muted-color);font-size:14px}.card-body{color:var(--muted-strong);line-height:1.6}.cta-link{align-items:center;color:var(--accent-color);display:inline-flex;font-weight:700;gap:6px}.cta-link:hover,.eyebrow{color:var(--accent-strong)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.muted,.pill{color:var(--muted-color)}.pill{align-items:center;background:var(--surface-ghost);border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:13px;gap:6px;padding:4px 8px}.meta-row{color:var(--muted-color);display:flex;flex-wrap:wrap;font-size:14px;gap:10px}.prose{color:var(--muted-strong);line-height:1.7}.prose p{margin:0 0 10px}.prose h2,.prose h3,.prose h4{color:var(--text-color);margin:18px 0 10px}.prose ol,.prose ul{margin:8px 0 12px;padding-left:18px}.empty-text{color:var(--muted-color);font-style:italic}.tag-list{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:960px){.header-inner,.main-container{width:min(100%,100% - 24px)}.section-header{align-items:flex-start;flex-direction:column}}.vel-fade-enter-active,.vel-fade-leave-active{transition:all .3s ease}.vel-fade-enter-from,.vel-fade-leave-to{opacity:0}.vel-img-swiper{display:block;position:relative}.vel-modal{background:#00000080;inset:0;margin:0;position:fixed;z-index:9998}.vel-img-wrapper{left:50%;margin:0;position:absolute;top:50%;transform:translate(-50% -50%);transition:.3s linear;will-change:transform opacity}.vel-img,.vel-img-wrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vel-img{background-color:#000000b3;box-shadow:0 5px 20px 2px #000000b3;display:block;max-height:80vh;max-width:80vw;position:relative;transition:transform .3s ease-in-out}@media(max-width:750px){.vel-img{max-height:95vh;max-width:85vw}}.vel-btns-wrapper{position:static}.vel-btns-wrapper .btn__close,.vel-btns-wrapper .btn__next,.vel-btns-wrapper .btn__prev{-webkit-tap-highlight-color:transparent;color:#fff;cursor:pointer;font-size:32px;opacity:.6;outline:none;position:absolute;top:50%;transform:translateY(-50%);transition:.15s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vel-btns-wrapper .btn__close:hover,.vel-btns-wrapper .btn__next:hover,.vel-btns-wrapper .btn__prev:hover{opacity:1}.vel-btns-wrapper .btn__close.disable,.vel-btns-wrapper .btn__close.disable:hover,.vel-btns-wrapper .btn__next.disable,.vel-btns-wrapper .btn__next.disable:hover,.vel-btns-wrapper .btn__prev.disable,.vel-btns-wrapper .btn__prev.disable:hover{cursor:default;opacity:.2}.vel-btns-wrapper .btn__next{right:12px}.vel-btns-wrapper .btn__prev{left:12px}.vel-btns-wrapper .btn__close{right:10px;top:24px}@media(max-width:750px){.vel-btns-wrapper .btn__next,.vel-btns-wrapper .btn__prev{font-size:20px}.vel-btns-wrapper .btn__close{font-size:24px}.vel-btns-wrapper .btn__next{right:4px}.vel-btns-wrapper .btn__prev{left:4px}}.vel-modal.is-rtl .vel-btns-wrapper .btn__next{left:12px;right:auto}.vel-modal.is-rtl .vel-btns-wrapper .btn__prev{left:auto;right:12px}@media(max-width:750px){.vel-modal.is-rtl .vel-btns-wrapper .btn__next{left:4px;right:auto}.vel-modal.is-rtl .vel-btns-wrapper .btn__prev{left:auto;right:4px}}.vel-modal.is-rtl .vel-img-title{direction:rtl}.vel-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.vel-loading .ring{display:inline-block;height:64px;width:64px}.vel-loading .ring:after{animation:ring 1.2s linear infinite;border-color:hsla(0,0%,100%,.7) transparent;border-radius:50%;border-style:solid;border-width:5px;content:" ";display:block;height:46px;margin:1px;width:46px}@keyframes ring{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.vel-on-error{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.vel-on-error .icon{color:#aaa;font-size:80px}.vel-img-title{bottom:60px;color:#ccc;cursor:default;font-size:12px;left:50%;line-height:1;max-width:80%;opacity:.8;overflow:hidden;position:absolute;text-align:center;text-overflow:ellipsis;transform:translate(-50%);transition:opacity .15s;white-space:nowrap}.vel-img-title:hover{opacity:1}.vel-icon{fill:currentColor;height:1em;overflow:hidden;vertical-align:-.15em;width:1em}.vel-toolbar{border-radius:4px;bottom:8px;display:flex;left:50%;opacity:.9;overflow:hidden;padding:0;position:absolute;transform:translate(-50%)}.vel-toolbar,.vel-toolbar .toolbar-btn{background-color:#2d2d2d;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vel-toolbar .toolbar-btn{-ms-flex-negative:0;-webkit-tap-highlight-color:transparent;color:#fff;cursor:pointer;flex-shrink:0;font-size:20px;outline:none;padding:6px 10px}.vel-toolbar .toolbar-btn:active,.vel-toolbar .toolbar-btn:hover{background-color:#3d3d3d}
