@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-400.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-ext-500.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-500.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-ext-600.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-600.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-700.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}:root{color-scheme:dark;--palette-ink-950: oklch(16% .006 70);--palette-ink-900: oklch(21% .007 70);--palette-ink-850: oklch(25% .008 70);--palette-ink-700: oklch(33% .006 70);--palette-ink-650: oklch(28% .006 70);--palette-mist-050: oklch(95% .006 80);--palette-mist-400: oklch(72% .012 78);--palette-espresso: oklch(22% .03 72);--palette-amber-500: oklch(80% .135 78);--palette-amber-400: oklch(85% .12 82);--palette-amber-900: oklch(32% .045 75);--palette-amber-border: oklch(55% .09 78);--palette-gold-400: oklch(85% .11 88);--palette-steel-500: oklch(74% .055 235);--palette-steel-400: oklch(80% .06 235);--palette-steel-900: oklch(30% .03 235);--palette-green-500: oklch(78% .13 158);--palette-red-500: oklch(68% .17 25);--palette-orange-500: oklch(80% .13 62);--color-bg-base: var(--palette-ink-950);--color-bg-surface: var(--palette-ink-900);--color-bg-surface-alt: var(--palette-ink-850);--color-fg-primary: var(--palette-mist-050);--color-fg-muted: var(--palette-mist-400);--color-fg-on-brand: var(--palette-espresso);--color-fg-on-accent: var(--palette-espresso);--color-border-base: var(--palette-ink-700);--color-border-subtle: var(--palette-ink-650);--color-border-strong: var(--palette-amber-border);--color-brand: var(--palette-amber-500);--color-brand-deep: var(--palette-amber-400);--color-brand-wash: var(--palette-amber-900);--color-secondary: var(--palette-steel-500);--color-secondary-deep: var(--palette-steel-400);--color-secondary-wash: var(--palette-steel-900);--color-accent: var(--palette-gold-400);--color-status-success: var(--palette-green-500);--color-status-danger: var(--palette-red-500);--color-status-warning: var(--palette-orange-500);--color-status-info: var(--palette-steel-500);--color-bg-overlay: oklch(8% .01 60 / .72);--color-shimmer-base: oklch(24% .006 70);--color-shimmer-shine: oklch(34% .008 70);--color-confetti-1: var(--color-brand);--color-confetti-2: var(--color-secondary);--color-confetti-3: var(--color-accent);--color-confetti-4: var(--color-fg-primary);--media-placeholder: linear-gradient(135deg, oklch(27% .012 70), oklch(22% .02 250) 55%, oklch(20% .03 300));--dur-instant: 90ms;--dur-fast: .15s;--dur-base: .24s;--dur-slow: 1.1s;--ease-out-smooth: cubic-bezier(.32, .72, 0, 1);--ease-out-back: cubic-bezier(.34, 1.4, .64, 1);--font-display: "Be Vietnam Pro", system-ui, sans-serif;--font-body: "Be Vietnam Pro", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, monospace;--text-xs: .8125rem;--text-sm: .875rem;--text-base: .9375rem;--text-input: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2.25rem;--leading-base: 1.5;--leading-tight: 1.15;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--control-sm: 2rem;--touch-min: 2.5rem;--touch-large: 3.5rem;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-pill: 9999px;--shadow-soft: 0 1px 2px oklch(0% 0 0 / .35), 0 10px 28px -12px oklch(0% 0 0 / .55);--shadow-pop: 0 24px 64px -16px oklch(0% 0 0 / .66);--shadow-focus: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-brand);--google-button-bg: #ffffff;--google-button-border: #747775;--google-button-fg: #1f1f1f;--google-button-hover-overlay: rgb(48 48 48 / .08);--qr-code-surface: #ffffff}html{margin:0;padding:0;background:var(--color-bg-base)}body{margin:0;padding:0;background:var(--color-bg-base);color:var(--color-fg-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:var(--radius-sm)}a{color:var(--color-brand-deep);text-decoration-thickness:1px;text-underline-offset:.15em}button:not(:disabled),summary,[role=menuitem]{cursor:pointer}.app-header{position:sticky;top:0;z-index:20;box-sizing:border-box;display:flex;align-items:center;gap:var(--space-3);height:var(--touch-large);padding:0 var(--space-5);background:color-mix(in oklab,var(--color-bg-surface) 82%,transparent);backdrop-filter:saturate(1.1) blur(14px);-webkit-backdrop-filter:saturate(1.1) blur(14px);border-bottom:1px solid var(--color-border-subtle)}.app-header__logo{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-base);letter-spacing:var(--tracking-tight);color:var(--color-fg-primary);text-decoration:none}.app-header__logo-mark{display:block;height:1.65rem;width:auto}.app-header__tagline{margin-right:auto;padding-left:var(--space-3);border-left:1px solid var(--color-border-base);color:var(--color-fg-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-variant-numeric:tabular-nums}@media(max-width:30rem){.app-header{gap:var(--space-2);padding:0 var(--space-4)}.app-header__tagline{display:none}.app-header__logo{margin-right:auto}.app-header__logo,.app-header__nav-link,.app-header__login,.app-header__balance{white-space:nowrap}.app-header__nav-link,.app-header__balance{padding:0 var(--space-2)}.app-header__account{gap:var(--space-2)}.app-header .tier-badge{display:none}.app-header:has(.app-header__account) .app-header__nav{display:none}}.app-header__nav{display:flex;align-items:center}.app-header__nav-link{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:color var(--dur-fast) var(--ease-out-smooth),background var(--dur-fast) var(--ease-out-smooth)}.app-header__nav-link:hover{color:var(--color-fg-primary);background:var(--color-bg-surface-alt)}.app-header__nav-link[aria-current=page]{color:var(--color-brand-deep);background:var(--color-brand-wash)}.app-header__login{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:0 var(--space-4);border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-fg-on-brand);text-decoration:none;font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;box-shadow:var(--shadow-soft);transition:background var(--dur-fast) var(--ease-out-smooth),transform var(--dur-fast) var(--ease-out-smooth)}.app-header__login:hover{background:var(--color-brand-deep);transform:translateY(-1px)}.app-header__login:active{transform:translateY(0)}.app-header__account{display:flex;align-items:center;gap:var(--space-3)}.app-header__balance{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-base);background:var(--color-bg-surface-alt);color:var(--color-fg-primary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600;text-decoration:none;transition:border-color var(--dur-fast) var(--ease-out-smooth)}.app-header__balance:hover{border-color:var(--color-border-strong)}.app-header__avatar,.app-header__avatar-fallback{width:2rem;height:2rem;font-size:var(--text-sm);border-radius:var(--radius-pill);-o-object-fit:cover;object-fit:cover}.app-header__avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--color-brand-wash);color:var(--color-brand-deep);font-family:var(--font-display)}.tier-badge{padding:.125rem var(--space-2);border-radius:var(--radius-sm);background:var(--color-secondary-wash);color:var(--color-secondary-deep);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.breadcrumb-nav{padding:var(--space-3) var(--space-5)}.breadcrumb-nav__list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0;color:var(--color-fg-muted)}.breadcrumb-nav__item:not(:last-child):after{content:"›";margin-left:var(--space-2)}.breadcrumb-nav a{color:var(--color-fg-muted)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page-container{max-width:80rem;margin:0 auto;padding:0 var(--space-5) var(--space-6)}.catalog-page{box-sizing:border-box;max-width:none;height:calc(100dvh - var(--touch-large));display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-3)}.catalog-page .lut-infinite-grid{flex:1;min-height:0;height:auto;padding-top:var(--space-2);margin-right:calc(var(--space-2) * -1);padding-right:var(--space-2)}.bottom-action-bar{position:sticky;bottom:0;z-index:20;background:var(--color-bg-surface);border-top:1px solid var(--color-border-base);padding:var(--space-3) var(--space-5);padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.contact-bubble{position:fixed;right:var(--space-4);bottom:max(var(--space-4),env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.contact-bubble__actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.contact-bubble__action{display:inline-flex;align-items:center;gap:var(--space-2);height:2.75rem;padding:0 var(--space-3) 0 .35rem;border-radius:var(--radius-pill);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft);color:var(--color-fg-primary);font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);text-decoration:none;white-space:nowrap;transform:translateY(.75rem) scale(.94);opacity:0;pointer-events:none;transition:transform var(--dur-fast) var(--ease-out-smooth),opacity var(--dur-fast) var(--ease-out-smooth)}.contact-bubble--open .contact-bubble__action{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.contact-bubble--open .contact-bubble__action:last-child{transition-delay:45ms}.contact-bubble__action:hover{border-color:var(--color-border-base);transform:translateY(-1px)}.contact-bubble__action:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.contact-bubble__action-icon{display:grid;place-items:center;flex:none;width:2.05rem;height:2.05rem;border-radius:var(--radius-pill);color:#fff}.contact-bubble__action-icon svg{width:1.15rem;height:1.15rem}.contact-bubble__action--zalo .contact-bubble__action-icon{background:#0068ff}.contact-bubble__action--call .contact-bubble__action-icon{background:linear-gradient(140deg,var(--color-brand),var(--color-accent));color:var(--color-fg-on-brand)}.contact-bubble__toggle{position:relative;display:grid;place-items:center;width:3.5rem;height:3.5rem;border:none;border-radius:var(--radius-pill);background:linear-gradient(140deg,var(--color-brand),var(--color-accent));color:var(--color-fg-on-brand);box-shadow:var(--shadow-pop);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out-smooth)}.contact-bubble__toggle svg{width:1.6rem;height:1.6rem}.contact-bubble__toggle:hover{transform:translateY(-2px)}.contact-bubble__toggle:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.contact-bubble__toggle:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 color-mix(in oklab,var(--color-brand) 60%,transparent);animation:contact-bubble-pulse 2.6s var(--ease-out-smooth) infinite;pointer-events:none}.contact-bubble--open .contact-bubble__toggle:after{animation:none}@keyframes contact-bubble-pulse{0%{box-shadow:0 0 color-mix(in oklab,var(--color-brand) 55%,transparent)}70%{box-shadow:0 0 0 14px transparent}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.contact-bubble__toggle:after{animation:none}}@media(max-width:30rem){.contact-bubble{right:var(--space-3);bottom:max(var(--space-3),env(safe-area-inset-bottom))}}.catalog-filters{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.search-bar{position:relative;display:flex;align-items:center;flex:1 1 18rem;min-width:0;max-width:36rem}.search-bar__icon{position:absolute;left:var(--space-3);width:1.125rem;height:1.125rem;color:var(--color-fg-muted);pointer-events:none;transition:color var(--dur-fast) var(--ease-out-smooth)}.search-bar:focus-within .search-bar__icon{color:var(--color-brand)}.search-bar__input{flex:1;width:100%;height:var(--touch-min);padding:0 var(--space-6) 0 2.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-base);background:var(--color-bg-surface);color:var(--color-fg-primary);font-size:var(--text-input);transition:border-color var(--dur-fast) var(--ease-out-smooth),background var(--dur-fast) var(--ease-out-smooth),box-shadow var(--dur-fast) var(--ease-out-smooth)}.search-bar__input:hover{border-color:var(--color-fg-muted)}.search-bar__input::-moz-placeholder{color:var(--color-fg-muted)}.search-bar__input::placeholder{color:var(--color-fg-muted)}.search-bar__input:focus-visible{outline:none;border-color:var(--color-brand);background:var(--color-bg-base);box-shadow:var(--shadow-focus)}.search-bar__input::-webkit-search-cancel-button{display:none}.search-bar__kbd{position:absolute;right:var(--space-2);display:inline-flex;align-items:center;justify-content:center;min-width:1.375rem;height:1.375rem;padding:0 var(--space-1);border-radius:4px;border:1px solid var(--color-border-subtle);background:var(--color-bg-surface-alt);color:var(--color-fg-muted);font:500 var(--text-xs) / 1 var(--font-mono);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out-smooth)}.search-bar:focus-within .search-bar__kbd{opacity:0}@media(hover:none){.search-bar__kbd{display:none}}.search-bar__clear{position:absolute;right:var(--space-1);display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-fg-muted);cursor:pointer}.search-bar__clear svg{width:1rem;height:1rem}.search-bar__clear:hover{color:var(--color-fg-primary);background:var(--color-bg-surface-alt)}.category-picker{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.category-picker__trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--touch-min);max-width:16rem;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-base);background:var(--color-bg-surface);color:var(--color-fg-primary);font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out-smooth),background var(--dur-fast) var(--ease-out-smooth),color var(--dur-fast) var(--ease-out-smooth)}.category-picker__trigger:hover{border-color:var(--color-fg-muted)}.category-picker__trigger:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:var(--shadow-focus)}.category-picker--open .category-picker__trigger{border-color:var(--color-brand)}.category-picker--active .category-picker__trigger{border-color:var(--color-border-strong);border-top-right-radius:0;border-bottom-right-radius:0;background:var(--color-brand-wash);color:var(--color-brand-deep)}.category-picker__icon,.category-picker__chevron{flex-shrink:0;color:var(--color-fg-muted);transition:color var(--dur-fast) var(--ease-out-smooth),transform var(--dur-fast) var(--ease-out-smooth)}.category-picker__icon{width:1rem;height:1rem}.category-picker__chevron{width:.875rem;height:.875rem}.category-picker--active .category-picker__icon,.category-picker--active .category-picker__chevron{color:var(--color-brand-deep)}.category-picker--open .category-picker__chevron{transform:rotate(180deg)}.category-picker__label{overflow:hidden;text-overflow:ellipsis}.category-picker__count{font-size:var(--text-xs);font-variant-numeric:tabular-nums;opacity:.8}.category-picker__clear{display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--touch-min);margin-left:-1px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;border:1px solid var(--color-border-strong);background:var(--color-brand-wash);color:var(--color-brand-deep);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-smooth)}.category-picker__clear svg{width:.875rem;height:.875rem}.category-picker__clear:hover{background:var(--color-bg-surface-alt)}.category-picker__clear:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.category-picker__backdrop{position:fixed;inset:0;z-index:30;background:transparent}.category-picker__popover{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:31;display:flex;flex-direction:column;width:20rem;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--color-border-base);background:var(--color-bg-surface);box-shadow:var(--shadow-pop)}.category-picker__filter-wrap{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--color-border-subtle)}.category-picker__filter-icon{position:absolute;left:var(--space-3);width:1rem;height:1rem;color:var(--color-fg-muted);pointer-events:none}.category-picker__filter{flex:1;width:100%;height:var(--touch-min);padding:0 var(--space-3) 0 2.375rem;border:none;background:transparent;color:var(--color-fg-primary);font-size:var(--text-input)}.category-picker__filter::-moz-placeholder{color:var(--color-fg-muted)}.category-picker__filter::placeholder{color:var(--color-fg-muted)}.category-picker__filter:focus-visible{outline:none}.category-picker__list{list-style:none;margin:0;padding:var(--space-1);max-height:22rem;overflow-y:auto;overscroll-behavior:contain}.category-picker__option{display:flex;align-items:center;gap:var(--space-2);height:var(--control-sm);padding:0 var(--space-2);border-radius:4px;color:var(--color-fg-primary);font-size:var(--text-sm);cursor:pointer}.category-picker__option[data-current=true]{background:var(--color-bg-surface-alt)}.category-picker__option[aria-selected=true]{color:var(--color-brand-deep);font-weight:600}.category-picker__option--all{position:relative;margin-bottom:calc(var(--space-1) + 1px)}.category-picker__option--all:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);bottom:calc(-1 * var(--space-1) - 1px);height:1px;background:var(--color-border-subtle)}.category-picker__check{flex-shrink:0;width:.875rem;height:.875rem;visibility:hidden}.category-picker__option[aria-selected=true] .category-picker__check{visibility:visible}.category-picker__option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-picker__option-count{color:var(--color-fg-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.category-picker__option[aria-selected=true] .category-picker__option-count{color:var(--color-brand-deep)}.category-picker__empty{padding:var(--space-3);color:var(--color-fg-muted);font-size:var(--text-sm)}@media(max-width:40rem){.search-bar{flex-basis:100%;max-width:none}.category-picker{flex:1 1 auto}.category-picker__trigger{flex:1;max-width:none}.category-picker__backdrop{background:var(--color-bg-overlay)}.category-picker__popover{position:fixed;inset:auto 0 0;width:auto;max-height:75dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom)}.category-picker__filter{height:var(--touch-large)}.category-picker__list{flex:1;min-height:0;max-height:none}.category-picker__option{height:var(--touch-min)}}.sort-control{display:inline-flex;flex-shrink:0;padding:2px;gap:2px;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-surface)}.sort-control__option{height:calc(var(--control-sm) - 4px);padding:0 var(--space-3);border-radius:4px;border:none;background:transparent;color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease-out-smooth),background var(--dur-fast) var(--ease-out-smooth)}.sort-control__option:hover{color:var(--color-fg-primary)}.sort-control__option--active{background:var(--color-bg-surface-alt);color:var(--color-fg-primary);box-shadow:var(--shadow-soft)}.result-count{margin:0 0 0 auto;color:var(--color-fg-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}.empty-state{padding:var(--space-6);text-align:center;color:var(--color-fg-muted)}.lut-infinite-grid{height:75vh;overflow-y:auto;position:relative}.lut-infinite-grid__grid,.pack-lut-grid{display:grid;gap:var(--space-4) var(--space-3);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.lut-infinite-grid__sentinel{height:1px}.lut-infinite-grid__spinner{display:flex;justify-content:center;padding:var(--space-4) 0}.lut-infinite-grid__spinner:after{content:"";width:1.5rem;height:1.5rem;border:2px solid var(--color-border-base);border-top-color:var(--color-fg-primary);border-radius:50%;animation:lut-infinite-grid-spin .7s linear infinite}@keyframes lut-infinite-grid-spin{to{transform:rotate(360deg)}}.lut-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"link link" "pack action";-moz-column-gap:var(--space-2);column-gap:var(--space-2);align-items:center}.lut-tile__link{grid-area:link;display:block;text-decoration:none;color:var(--color-fg-primary);border-radius:var(--radius-md)}.lut-tile__thumb-wrap{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-md);background:var(--media-placeholder);border:1px solid var(--color-border-subtle);content-visibility:auto;contain-intrinsic-size:auto 15rem;transition:transform var(--dur-base) var(--ease-out-smooth),box-shadow var(--dur-base) var(--ease-out-smooth),border-color var(--dur-base) var(--ease-out-smooth)}.lut-tile__thumb{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;color:transparent;font-size:0}.lut-tile__thumb--missing{visibility:hidden}.lut-tile__link:hover .lut-tile__thumb-wrap{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:var(--color-border-strong)}.lut-tile__link:focus-visible{outline:none}.lut-tile__link:focus-visible .lut-tile__thumb-wrap{box-shadow:var(--shadow-focus);border-color:var(--color-brand)}.lut-tile__name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-tight);margin-top:var(--space-2)}.lut-tile__pack{grid-area:pack;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-fg-muted);font-size:var(--text-xs);text-decoration:none;transition:color var(--dur-fast) var(--ease-out-smooth)}a.lut-tile__pack:hover{color:var(--color-brand-deep)}.lut-tile__action{grid-area:action;transition:opacity var(--dur-fast) var(--ease-out-smooth)}@media(hover:hover)and (pointer:fine){.lut-tile{grid-template-columns:minmax(0,1fr);grid-template-areas:"link" "pack"}.lut-tile__action{position:absolute;right:0;bottom:-.25rem;opacity:0}.lut-tile__action .add-to-cart-button{background:var(--color-bg-surface)}.lut-tile:hover .lut-tile__action,.lut-tile:focus-within .lut-tile__action,.lut-tile__action:has(.add-to-cart-button--active){opacity:1}}@media(max-width:40rem){.lut-tile{grid-template-columns:minmax(0,1fr);grid-template-areas:"link" "pack" "action"}.lut-tile__action{position:static;margin-top:var(--space-2);opacity:1}.lut-tile__action .add-to-cart-button{width:100%}}.lut-tile__action .add-to-cart-button{min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-base);color:var(--color-fg-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.lut-tile__action .add-to-cart-button:hover,.lut-tile__action .add-to-cart-button--active{color:var(--color-brand-deep);border-color:var(--color-border-strong);background:var(--color-brand-wash)}.lut-tile__badge{position:absolute;top:var(--space-2);right:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);background:color-mix(in oklab,var(--color-secondary-wash) 88%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--color-secondary);color:var(--color-secondary-deep);border-radius:var(--radius-sm);padding:.125rem var(--space-2);font-size:var(--text-xs);font-weight:600}.pack-header{padding:var(--space-5) 0}.pack-header__description{color:var(--color-fg-muted);max-width:60ch}.lut-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:var(--space-6);align-items:start;margin-top:var(--space-3)}.lut-detail__stage{--stage-max-h: calc(100dvh - var(--touch-large) - 7rem);display:flex;justify-content:center;min-width:0}.lut-detail__rail{display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:calc(var(--touch-large) + var(--space-4))}.lut-detail__heading{display:flex;flex-direction:column;gap:var(--space-2)}.lut-detail__heading h1{font-size:var(--text-xl)}.lut-detail__pack-link{color:var(--color-brand-deep);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;text-decoration:none}.lut-detail__pack-link:hover{text-decoration:underline}.lut-detail__pack-excerpt{margin:0;color:var(--color-fg-muted);font-size:var(--text-sm)}.lut-detail__photo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.lut-detail__control-label{color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.lut-detail__cta{padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}@media(max-width:64rem){.lut-detail__layout{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.lut-detail__stage{--stage-max-h: 62dvh}.lut-detail__rail{position:static}.lut-detail__cta{position:sticky;bottom:0;z-index:5;margin:0 calc(var(--space-5) * -1);padding:var(--space-3) var(--space-5) max(var(--space-3),env(safe-area-inset-bottom));background:color-mix(in oklab,var(--color-bg-base) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--color-border-base)}}.lut-detail-modal__backdrop{position:fixed;inset:0;z-index:40;background:var(--color-bg-overlay)}.lut-detail-modal{position:fixed;inset:0;z-index:41;display:flex;flex-direction:column;background:var(--color-bg-surface)}.lut-detail-modal__close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);border:none;border-radius:var(--radius-sm);background:var(--color-bg-surface-alt);color:var(--color-fg-muted);transition:background var(--dur-fast) var(--ease-out-smooth),color var(--dur-fast) var(--ease-out-smooth)}.lut-detail-modal__close:hover{background:var(--color-border-base);color:var(--color-fg-primary)}.lut-detail-modal__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-6) var(--space-5) var(--space-5)}.lut-detail-modal__state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-7) var(--space-5);color:var(--color-fg-muted);text-align:center}.lut-skel-block{background:linear-gradient(90deg,var(--color-shimmer-base),var(--color-shimmer-shine),var(--color-shimmer-base));background-size:200% 100%;animation:shimmer-sweep var(--dur-slow) ease-in-out infinite;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){.lut-skel-block{animation:none}}.lut-skel-line{height:.85rem;border-radius:var(--radius-pill)}.lut-skel-line--eyebrow{width:6rem;height:.7rem}.lut-skel-line--title{width:72%;height:1.4rem}.lut-skel-line--text{width:100%}.lut-skel-line--text-short{width:55%}.lut-skel-line--price{width:40%;height:1.4rem}.lut-skel-line--link{width:11rem;height:.7rem}.lut-skel-pill{height:2rem;border-radius:var(--radius-pill)}.lut-skel-btn{height:2.75rem;border-radius:var(--radius-sm)}.lut-skel-thumb{aspect-ratio:1;border-radius:var(--radius-md)}.lut-detail-modal .lut-detail__pack-link--static{cursor:default}.lut-detail-modal .lut-detail__stage{--stage-max-h: 56dvh}.lut-detail-modal .lut-detail__rail{position:static}@media(min-width:48rem){.lut-detail-modal{top:4dvh;bottom:4dvh;left:50%;right:auto;transform:translate(-50%);width:min(72rem,calc(100% - 2 * var(--space-6)));border:1px solid var(--color-border-base);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}}.before-after-compare{position:relative;width:100%;display:flex;justify-content:center}.before-after-compare__frame{position:relative;aspect-ratio:3 / 2;width:100%;max-height:var(--stage-max-h, 70dvh);max-width:min(100%,calc(var(--stage-max-h, 70dvh) * var(--frame-ar, 1.5)));overflow:hidden;border-radius:var(--radius-lg);background:var(--media-placeholder);border:1px solid var(--color-border-base);box-shadow:var(--shadow-pop);-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:pan-y}.before-after-compare__img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none}.before-after-compare__slider{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;z-index:3}.before-after-compare__slider::-webkit-slider-thumb{-webkit-appearance:none;width:3rem;height:100%}.before-after-compare__slider::-moz-range-thumb{width:3rem;height:100%;border:0;background:transparent}.before-after-compare__divider{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--color-fg-primary);box-shadow:0 0 0 1px #00000059;z-index:2;pointer-events:none}.before-after-compare__handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-fg-on-brand);box-shadow:var(--shadow-soft),0 0 0 3px #00000040;transition:transform var(--dur-fast) var(--ease-out-smooth)}.before-after-compare__slider:hover~.before-after-compare__divider .before-after-compare__handle,.before-after-compare__slider:active~.before-after-compare__divider .before-after-compare__handle{transform:translate(-50%,-50%) scale(1.08)}.before-after-compare__slider:focus-visible~.before-after-compare__divider .before-after-compare__handle{box-shadow:var(--shadow-focus)}.before-after-compare__chip-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.before-after-compare__chip{position:absolute;top:var(--space-3);z-index:2;padding:.2rem var(--space-2);border-radius:var(--radius-sm);background:#050302b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--color-fg-primary);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;pointer-events:none}.before-after-compare__chip--before{left:var(--space-3)}.before-after-compare__chip--after{right:var(--space-3);background:color-mix(in oklab,var(--color-brand) 85%,transparent);color:var(--color-fg-on-brand)}.before-after-compare__hint{position:absolute;top:calc(50% + 2.25rem);left:50%;transform:translate(-50%);white-space:nowrap;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-fg-primary);color:var(--color-bg-base);font-size:var(--text-xs);font-weight:600;box-shadow:var(--shadow-soft);animation:compare-hint-nudge 1.6s var(--ease-out-smooth) infinite}.before-after-compare__hint:before{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;transform:translate(-50%) rotate(45deg);background:inherit}@keyframes compare-hint-nudge{0%,to{transform:translate(-50%)}50%{transform:translate(calc(-50% + 6px))}}@media(prefers-reduced-motion:reduce){.before-after-compare__hint{animation:none}}.pack-page__showcase{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0 var(--space-6);--stage-max-h: 60dvh}.pack-page__showcase-controls{display:flex;align-items:center;gap:var(--space-3)}.sample-picker{display:inline-flex;flex-shrink:0;padding:2px;gap:2px;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-surface)}.sample-picker__option{height:calc(var(--control-sm) - 4px);padding:0 var(--space-3);border-radius:4px;border:none;background:transparent;color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.sample-picker__option--active{background:var(--color-brand-wash);color:var(--color-brand-deep);box-shadow:var(--shadow-soft)}.price-action-bar{display:flex;flex-direction:column;gap:var(--space-3)}.price-action-bar__price{display:flex;align-items:baseline;gap:var(--space-2)}.price-action-bar__amount{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.price-action-bar__caption{color:var(--color-fg-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.price-action-bar__actions{display:flex;gap:var(--space-2)}.price-action-bar__buy,.price-action-bar__cart,.price-action-bar__download{min-height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:600;font-size:var(--text-base);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out-smooth),transform var(--dur-fast) var(--ease-out-smooth),border-color var(--dur-fast) var(--ease-out-smooth)}.price-action-bar__buy{background:var(--color-brand);color:var(--color-fg-on-brand);border:none;flex:1;box-shadow:var(--shadow-soft)}.price-action-bar__buy:hover:not(:disabled){background:var(--color-brand-deep);transform:translateY(-1px)}.price-action-bar__buy:disabled{opacity:.45;cursor:not-allowed}.price-action-bar__cart,.price-action-bar__download{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-brand-deep)}.price-action-bar__cart:hover,.price-action-bar__download:hover{background:var(--color-brand-wash)}.price-action-bar__full-pack{color:var(--color-fg-muted);font-size:var(--text-xs);text-decoration:none}.price-action-bar__full-pack:hover{color:var(--color-brand-deep);text-decoration:underline}.related-luts-strip{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-subtle)}.related-luts-strip__title{margin-bottom:var(--space-3);font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted)}.related-luts-strip__scroller{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);scrollbar-width:thin}.related-luts-strip__item{flex:0 0 auto;width:8.5rem;text-decoration:none;color:var(--color-fg-primary);font-size:var(--text-xs);font-weight:600}.related-luts-strip__item span{display:block;margin-top:var(--space-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.related-luts-strip__item img{display:block;width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md)}.site-footer{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6) var(--space-5);margin-top:var(--space-6);background:var(--color-bg-surface-alt);border-top:1px solid var(--color-border-base);color:var(--color-fg-muted);font-size:var(--text-base)}.footer-owner-block{display:flex;flex-direction:column;gap:var(--space-1)}.footer-owner-block__name{color:var(--color-fg-primary);font-family:var(--font-display)}.footer-owner-block a{color:var(--color-fg-muted)}.footer-policy-links ul{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;margin:0;padding:0}.footer-policy-links__link{display:inline-flex;align-items:center;min-height:var(--touch-min);color:var(--color-fg-muted);text-decoration:none}.footer-policy-links__link:hover{color:var(--color-brand-deep)}.bct-badge{display:inline-flex;align-items:center;min-height:var(--touch-min);color:var(--color-secondary-deep)}.legal-page{display:flex;flex-direction:column;gap:var(--space-5);max-width:42rem}.legal-page__updated{color:var(--color-fg-muted);font-size:var(--text-sm)}.legal-section h2{font-size:var(--text-lg)}.legal-section p{line-height:var(--leading-base)}.legal-citations-list{display:flex;flex-direction:column;gap:var(--space-2);padding:0;list-style:none;color:var(--color-fg-muted);font-size:var(--text-sm)}.legal-citations-list__ref{color:var(--color-fg-primary)}.contact-channels{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4)}.contact-channels dt{color:var(--color-fg-muted)}.contact-channels dd{margin:0}.dang-nhap-page__cta{display:flex;flex-direction:column;gap:var(--space-3)}.dang-nhap-page__consent{color:var(--color-fg-muted);font-size:var(--text-sm)}.sample-picker__option,.library-filter-chips__chip{cursor:pointer;transition:background var(--dur-fast) var(--ease-out-smooth),border-color var(--dur-fast) var(--ease-out-smooth),color var(--dur-fast) var(--ease-out-smooth)}.library-filter-chips__chip:hover:not(.library-filter-chips__chip--active){border-color:var(--color-border-strong);color:var(--color-fg-primary)}.sample-picker__option:hover:not(.sample-picker__option--active){color:var(--color-fg-primary)}.pack-header__title,.pack-header h1{font-size:var(--text-xl);letter-spacing:var(--tracking-tight)}.pack-header__description{font-size:var(--text-base);line-height:var(--leading-base)}.related-luts-strip__item img{background:var(--media-placeholder);border:1px solid var(--color-border-subtle);transition:transform var(--dur-base) var(--ease-out-smooth),border-color var(--dur-base) var(--ease-out-smooth)}.related-luts-strip__item:hover img{transform:translateY(-2px);border-color:var(--color-border-strong)}.empty-state{display:flex;flex-direction:column;gap:var(--space-2);align-items:center;border:1px dashed var(--color-border-base);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.site-footer{background:var(--color-bg-surface)}.footer-owner-block__name{font-weight:700;letter-spacing:var(--tracking-tight);color:var(--color-fg-primary)}.bottom-sheet__backdrop{position:fixed;inset:0;z-index:40;background:var(--color-bg-overlay)}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;display:flex;flex-direction:column;max-height:85dvh;overflow-y:auto;background:var(--color-bg-surface);border:1px solid var(--color-border-base);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-pop);padding:var(--space-3) var(--space-5);padding-bottom:max(var(--space-5),env(safe-area-inset-bottom))}.bottom-sheet__handle{flex-shrink:0;width:var(--touch-min);height:var(--space-1);margin:0 auto var(--space-3);border-radius:var(--radius-pill);background:var(--color-border-base)}.bottom-sheet__head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.bottom-sheet__title{margin:0;font-size:var(--text-lg)}.bottom-sheet__close{display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);margin-right:calc(-1 * var(--space-2));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-fg-muted);transition:background var(--dur-fast) var(--ease-out-smooth),color var(--dur-fast) var(--ease-out-smooth)}.bottom-sheet__close:hover{background:var(--color-bg-surface-alt);color:var(--color-fg-primary)}.bottom-sheet .btn-primary{min-height:2.75rem;font-size:var(--text-base)}@media(min-width:48rem){.bottom-sheet__handle{display:none}.bottom-sheet{padding:var(--space-5);border-bottom:1px solid var(--color-border-base)}.bottom-sheet--dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(28rem,calc(100% - 2 * var(--space-5)));max-height:min(85dvh,44rem);border-radius:var(--radius-lg)}.bottom-sheet--drawer{inset:0 0 0 auto;width:min(26rem,100%);max-height:none;overflow:hidden;border-radius:0;border-top:none;border-right:none}}.toast-host{position:fixed;left:50%;bottom:var(--space-6);transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:var(--space-2)}.toast-host__item{display:flex;align-items:center;gap:var(--space-3);background:var(--color-fg-primary);color:var(--color-fg-on-brand);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-pop)}.toast-host__dismiss{min-width:var(--touch-min);min-height:var(--touch-min);background:transparent;border:none;color:var(--color-fg-on-brand);font-size:var(--text-lg)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-large);padding:0 var(--space-6);border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-fg-on-brand);border:none;font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);cursor:pointer;box-shadow:var(--shadow-soft);transition:background var(--dur-fast) var(--ease-out-smooth),transform var(--dur-fast) var(--ease-out-smooth)}.btn-primary:hover:not(:disabled){background:var(--color-brand-deep);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.copy-button{min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-base);background:var(--color-bg-surface)}.countdown-timer{font-family:var(--font-mono, var(--font-display));font-size:var(--text-lg);color:var(--color-brand-deep)}.skeleton-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,var(--color-shimmer-base),var(--color-shimmer-shine),var(--color-shimmer-base));background-size:200% 100%;animation:shimmer-sweep var(--dur-slow) ease-in-out infinite;border-radius:var(--radius-md)}@media(prefers-reduced-motion:reduce){.skeleton-shimmer{animation:none}}@keyframes shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.confetti-burst{position:fixed;inset:0;pointer-events:none;z-index:60}.confetti-burst__particle{position:absolute;top:-1rem;left:calc(50% + (var(--confetti-i, 0) * 3%) - 24%);width:var(--space-3);height:var(--space-3);border-radius:var(--radius-sm);background:var(--color-confetti-1);animation:confetti-fall var(--dur-slow) var(--ease-out-smooth) forwards}.confetti-burst__particle:nth-child(4n+1){background:var(--color-confetti-1)}.confetti-burst__particle:nth-child(4n+2){background:var(--color-confetti-2)}.confetti-burst__particle:nth-child(4n+3){background:var(--color-confetti-3)}.confetti-burst__particle:nth-child(4n){background:var(--color-confetti-4)}@keyframes confetti-fall{to{transform:translateY(60vh) rotate(180deg);opacity:0}}@media(prefers-reduced-motion:reduce){.confetti-burst{display:none}}.qr-payment-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.qr-payment-panel__frame{padding:var(--space-3);border-radius:var(--radius-md);background:var(--qr-code-surface);box-shadow:var(--shadow-soft)}.qr-payment-panel__qr{display:block;width:12rem;height:12rem;border-radius:var(--radius-sm)}.qr-payment-panel__scan{margin:0;color:var(--color-fg-muted);font-size:var(--text-sm)}.qr-payment-panel__rows{display:flex;flex-direction:column;gap:1px;width:100%;margin:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-border-subtle);overflow:hidden}.qr-payment-panel__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);text-align:left}.qr-payment-panel__row dt{flex-shrink:0;color:var(--color-fg-muted);font-size:var(--text-sm)}.qr-payment-panel__row dd{margin:0;min-width:0}.qr-payment-panel__amount{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-brand-deep);font-variant-numeric:tabular-nums}.qr-payment-panel__memo{display:flex;align-items:center;gap:var(--space-2)}.qr-payment-panel__memo strong{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.02em;word-break:break-all}.qr-payment-panel__memo .copy-button{flex-shrink:0;min-height:2rem;padding:0 var(--space-3);font-size:var(--text-xs)}.qr-payment-panel__hint{margin:0;color:var(--color-fg-muted);font-size:var(--text-xs);line-height:var(--leading-base)}.qr-payment-panel__timer{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-bg-surface-alt);color:var(--color-fg-muted);font-size:var(--text-sm)}.topup-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;text-align:center}.topup-result__mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:var(--radius-pill)}.topup-result__mark--ok{background:color-mix(in oklab,var(--color-status-success) 22%,var(--color-bg-surface));color:var(--color-status-success)}.topup-result__mark--warn{background:var(--color-bg-surface-alt);color:var(--color-fg-muted)}.topup-result__title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.topup-result__hint{margin:0;color:var(--color-fg-muted);font-size:var(--text-sm)}.topup-result .btn-primary{margin-top:var(--space-2)}.order-status-chip{display:inline-flex;align-items:center;padding:0 var(--space-3);min-height:1.5rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.chip-pending{background:color-mix(in oklab,var(--color-status-warning) 25%,var(--color-bg-surface));color:var(--color-fg-primary)}.chip-paid{background:var(--color-secondary-wash);color:var(--color-secondary-deep)}.chip-expired{background:var(--color-bg-surface-alt);color:var(--color-fg-muted)}.chip-underpaid{background:color-mix(in oklab,var(--color-status-danger) 20%,var(--color-bg-surface));color:var(--color-status-danger)}.tier-gate-sheet{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-surface-alt);box-shadow:var(--shadow-soft)}.library-filter-chips{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0}.library-filter-chips__chip{min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border-base);background:var(--color-bg-surface);white-space:nowrap}.library-filter-chips__chip--active{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-fg-on-brand)}.library-grid__items{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.library-item-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft);transition:transform var(--dur-base) var(--ease-out-smooth),border-color var(--dur-base) var(--ease-out-smooth)}.library-item-card:hover{transform:translateY(-2px);border-color:var(--color-border-strong)}.library-item-card__thumb{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);background:var(--media-placeholder)}.library-item-card__stats{color:var(--color-fg-muted);font-size:var(--text-sm)}.library-item-card__download{min-height:var(--touch-min);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-brand-deep)}.library-item-card__download:disabled{opacity:.6}.library-empty-state{text-align:center;padding:var(--space-7) var(--space-5);border:1px dashed var(--color-border-base);border-radius:var(--radius-md);color:var(--color-fg-muted)}.library-empty-state p{margin:0}.library-empty-state a,.full-pack-banner a{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);color:var(--color-brand-deep);font-family:var(--font-display);font-weight:600;text-decoration:none;transition:background var(--dur-fast) var(--ease-out-smooth)}.library-empty-state a:hover,.full-pack-banner a:hover{background:var(--color-brand-wash)}.library-empty-state a{margin-top:var(--space-3)}.full-pack-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);border-radius:var(--radius-md);background:var(--color-secondary-wash);color:var(--color-secondary-deep)}.add-to-cart-button{min-height:var(--touch-large);padding:0 var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-brand-deep);font-family:var(--font-display)}.add-to-cart-button--active{background:var(--color-brand-wash)}.cart-badge-button{position:relative;min-width:2.25rem;min-height:2.25rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-base);background:var(--color-bg-surface);font-size:var(--text-base)}.cart-badge-button__count{position:absolute;top:-.25rem;right:-.25rem;min-width:1.25rem;height:1.25rem;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-fg-on-brand);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center}.cart-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-base)}.cart-row__thumb{width:3rem;height:3rem;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm)}.cart-row__info{display:flex;flex-direction:column;flex:1}.cart-row__pack{color:var(--color-fg-muted);font-size:var(--text-sm)}.cart-row__remove{min-width:var(--touch-min);min-height:var(--touch-min);background:transparent;border:none;color:var(--color-status-danger);font-size:var(--text-lg)}.cart-sheet{display:flex;flex-direction:column;flex:1;min-height:0;gap:var(--space-4)}.cart-sheet__rows{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.cart-row:last-child{border-bottom:none}.cart-sheet__footer{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-base)}.cart-sheet__summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.cart-sheet__summary-line{color:var(--color-fg-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.cart-sheet__total{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:var(--tracking-tight)}.cart-sheet__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-7) var(--space-5);border:1px dashed var(--color-border-base);border-radius:var(--radius-md);text-align:center}.cart-sheet__empty p{margin:0}.cart-sheet__empty-title{font-weight:600}.cart-sheet__empty-hint{color:var(--color-fg-muted);font-size:var(--text-sm)}.cart-terms-line{margin:0;color:var(--color-fg-muted);font-size:var(--text-xs)}.cart-terms-line a{color:var(--color-fg-primary)}.cart-sheet__pay{width:100%}.your-photo-sheet{display:flex;flex-direction:column;gap:var(--space-4)}.photo-picker-button__input{position:absolute;width:1px;height:1px;opacity:0}.photo-picker-button__trigger{width:100%;min-height:var(--touch-large);border-radius:var(--radius-pill);border:1px dashed var(--color-border-strong);background:var(--color-brand-wash);color:var(--color-brand-deep);font-family:var(--font-display)}.upload-progress{height:var(--space-3);border-radius:var(--radius-pill);background:var(--color-bg-surface-alt);overflow:hidden}.upload-progress__bar{height:100%;background:var(--color-brand);transition:width var(--dur-base) var(--ease-out-smooth)}.your-photo-sheet__error{padding:var(--space-4);border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-status-danger) 12%,var(--color-bg-surface));color:var(--color-status-danger)}.your-photo-sheet__use-sample{min-height:var(--touch-min);border:1px solid var(--color-border-base);border-radius:var(--radius-pill);background:var(--color-bg-surface)}.recent-uploads-strip{display:flex;gap:var(--space-3);overflow-x:auto}.recent-uploads-strip__item img{width:4rem;height:4rem;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm)}.app-header__photo-chip{min-height:2.25rem;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-secondary);background:var(--color-secondary-wash);color:var(--color-secondary-deep);font-size:var(--text-xs);font-weight:600;cursor:pointer}.app-header__avatar-trigger{display:grid;place-items:center;min-width:var(--touch-min);min-height:var(--touch-min);border:none;background:transparent;padding:0;border-radius:var(--radius-pill)}.app-header__avatar-trigger:hover .app-header__avatar,.app-header__avatar-trigger:hover .app-header__avatar-fallback{box-shadow:0 0 0 2px var(--color-border-strong)}.app-header__menu{position:absolute;top:calc(100% + var(--space-1));right:var(--space-5);display:flex;flex-direction:column;gap:2px;min-width:12rem;padding:var(--space-1);background:var(--color-bg-surface);border:1px solid var(--color-border-base);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:30}.app-header__menu form{display:contents}.app-header__menu a,.app-header__menu button{display:flex;align-items:center;width:100%;min-height:2.25rem;padding:0 var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;text-align:left;color:var(--color-fg-primary);text-decoration:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;transition:background var(--dur-fast) var(--ease-out-smooth)}.app-header__menu a:hover,.app-header__menu button:hover{background:var(--color-bg-surface-alt)}.app-header__menu form button{margin-top:var(--space-1);border-top:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--color-fg-muted)}.app-header__menu form button:hover{color:var(--color-fg-primary)}.lut-tile__thumb-wrap{position:relative}.lut-tile__skeleton{position:absolute;inset:0;border-radius:var(--radius-md)}.lut-detail__need-purchase{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-bg-surface-alt);border:1px solid var(--color-border-subtle);text-align:center}.cart-row__thumb,.recent-uploads-strip__item img{background:var(--media-placeholder)}.add-to-cart-button,.library-item-card__download,.copy-button,.cart-badge-button,.photo-picker-button__trigger,.your-photo-sheet__use-sample{transition:background var(--dur-fast) var(--ease-out-smooth),border-color var(--dur-fast) var(--ease-out-smooth),transform var(--dur-fast) var(--ease-out-smooth)}.add-to-cart-button:hover,.library-item-card__download:hover:not(:disabled){background:var(--color-brand-wash)}.cart-badge-button:hover{border-color:var(--color-border-strong)}.cart-sheet__total,.qr-payment-panel__memo{font-variant-numeric:tabular-nums}.lut-detail__use-own-photo{height:var(--control-sm);padding:0 var(--space-3);border:1px dashed var(--color-border-base);border-radius:var(--radius-sm);background:transparent;color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:color var(--dur-fast) var(--ease-out-smooth),border-color var(--dur-fast) var(--ease-out-smooth)}.lut-detail__use-own-photo:hover{color:var(--color-fg-primary);border-color:var(--color-border-strong)}.upgrade-page{display:flex;flex-direction:column;gap:var(--space-7);max-width:64rem;padding-top:var(--space-6)}.upgrade-hero{display:flex;flex-direction:column;gap:var(--space-3);max-width:40rem}.upgrade-hero__eyebrow{margin:0;color:var(--color-brand-deep);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.upgrade-hero__title{margin:0;font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.upgrade-hero__lede{margin:0;color:var(--color-fg-muted);font-size:var(--text-base);line-height:var(--leading-base)}.upgrade-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:stretch}.upgrade-plan{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-base);background:var(--color-bg-surface)}.upgrade-plan--featured{border-color:var(--color-border-strong);background:linear-gradient(180deg,var(--color-brand-wash),var(--color-bg-surface) 38%);box-shadow:var(--shadow-soft)}.upgrade-plan__tag{position:absolute;top:calc(-1 * var(--space-3));left:var(--space-5);padding:.125rem var(--space-3);border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-fg-on-brand);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.upgrade-plan__name{margin:0;color:var(--color-fg-muted);font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.upgrade-plan--featured .upgrade-plan__name{color:var(--color-brand-deep)}.upgrade-plan__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);margin:0}.upgrade-plan__amount{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:var(--tracking-tight);line-height:1;font-variant-numeric:tabular-nums}.upgrade-plan__caption{color:var(--color-fg-muted);font-size:var(--text-sm)}.upgrade-plan__math{margin:calc(-1 * var(--space-2)) 0 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle);color:var(--color-fg-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.upgrade-plan__features{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none;flex:1}.upgrade-plan__features li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-base)}.upgrade-plan__check{flex-shrink:0;width:1rem;height:1rem;margin-top:.2rem;color:var(--color-brand-deep)}.upgrade-plan__cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-brand-deep);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--dur-fast) var(--ease-out-smooth),transform var(--dur-fast) var(--ease-out-smooth)}.upgrade-plan__cta:hover:not(:disabled){background:var(--color-brand-wash);transform:translateY(-1px)}.upgrade-plan__cta:disabled{opacity:.45;cursor:progress}.upgrade-plan--featured .upgrade-plan__cta{border:none;background:var(--color-brand);color:var(--color-fg-on-brand);box-shadow:var(--shadow-soft)}.upgrade-plan--featured .upgrade-plan__cta:hover:not(:disabled){background:var(--color-brand-deep)}.upgrade-plan__current{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;border-radius:var(--radius-sm);background:var(--color-secondary-wash);color:var(--color-secondary-deep);font-size:var(--text-sm);font-weight:600}.upgrade-compare__table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.upgrade-compare__table th,.upgrade-compare__table td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border-subtle);text-align:left;vertical-align:top;line-height:var(--leading-base)}.upgrade-compare__table thead th{color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;border-bottom-color:var(--color-border-base)}.upgrade-compare__table tbody th{width:40%;color:var(--color-fg-primary);font-weight:500}.upgrade-compare__table td{color:var(--color-fg-muted);font-variant-numeric:tabular-nums}.upgrade-compare__table .upgrade-compare__featured{background:color-mix(in oklab,var(--color-brand-wash) 45%,transparent);color:var(--color-fg-primary)}.upgrade-compare__table thead .upgrade-compare__featured{color:var(--color-brand-deep)}.upgrade-compare__yes{width:1rem;height:1rem;color:var(--color-brand-deep)}.upgrade-compare__no{color:var(--color-fg-muted)}.upgrade-faq{display:flex;flex-direction:column;max-width:40rem}.upgrade-faq__title{margin:0 0 var(--space-2);font-size:var(--text-lg)}.upgrade-faq__item{border-bottom:1px solid var(--color-border-subtle)}.upgrade-faq__item summary{padding:var(--space-3) 0;cursor:pointer;font-weight:600;font-size:var(--text-base);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.upgrade-faq__item summary::-webkit-details-marker{display:none}.upgrade-faq__item summary:after{content:"+";color:var(--color-fg-muted);font-family:var(--font-mono);transition:transform var(--dur-fast) var(--ease-out-smooth)}.upgrade-faq__item[open] summary:after{transform:rotate(45deg)}.upgrade-faq__item p{margin:0 0 var(--space-4);color:var(--color-fg-muted);line-height:var(--leading-base)}.upgrade-faq__item a{color:var(--color-brand-deep)}@media(max-width:48rem){.upgrade-page{gap:var(--space-6);padding-top:var(--space-5)}.upgrade-hero__title{font-size:var(--text-xl)}.upgrade-plans{grid-template-columns:minmax(0,1fr)}.upgrade-plan--featured{order:-1}.upgrade-compare__table,.upgrade-compare__table tbody,.upgrade-compare__table tr,.upgrade-compare__table th,.upgrade-compare__table td{display:block}.upgrade-compare__table thead{display:none}.upgrade-compare__table tr{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle)}.upgrade-compare__table th,.upgrade-compare__table td{padding:0;border-bottom:none}.upgrade-compare__table tbody th{width:auto;margin-bottom:var(--space-2)}.upgrade-compare__table td{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:1.75rem;padding:.125rem var(--space-2);border-radius:4px}.upgrade-compare__table td:before{content:attr(data-plan);color:var(--color-fg-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.upgrade-compare__table td.upgrade-compare__featured:before{color:var(--color-brand-deep)}}.settings-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:46rem;padding-top:var(--space-6)}.settings-page__head{display:flex;flex-direction:column;gap:var(--space-1)}.settings-page__title{font-size:var(--text-xl)}.settings-page__lede{margin:0;color:var(--color-fg-muted);font-size:var(--text-sm)}.settings-section{display:flex;flex-direction:column;gap:var(--space-3)}.settings-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.settings-section__title{font-size:var(--text-lg)}.settings-section__meta{color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;font-variant-numeric:tabular-nums}.balance-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-base);background:linear-gradient(135deg,color-mix(in oklab,var(--color-brand-wash) 55%,var(--color-bg-surface)),var(--color-bg-surface) 60%)}.balance-hero__main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.balance-hero__label{color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.balance-hero__amount{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.balance-hero__topup{min-height:2.75rem;padding:0 var(--space-5);font-size:var(--text-base);white-space:nowrap}.full-pack-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-base);background:var(--color-bg-surface)}.full-pack-card--paying{flex-direction:column;align-items:stretch}.full-pack-card__body{display:flex;flex-direction:column;gap:var(--space-1)}.full-pack-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:var(--tracking-tight)}.full-pack-card__desc{margin:0;color:var(--color-fg-muted);font-size:var(--text-sm)}.full-pack-card__price{margin-top:var(--space-1);color:var(--color-brand-deep);font-weight:700;font-variant-numeric:tabular-nums}.full-pack-card__buy{min-height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-brand-deep);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out-smooth),transform var(--dur-fast) var(--ease-out-smooth)}.full-pack-card__buy:hover{background:var(--color-brand-wash);transform:translateY(-1px)}.full-pack-card__payment{padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.order-history-list{display:flex;flex-direction:column;border:1px solid var(--color-border-base);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:hidden}.order-history-list__row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-4);min-height:3rem;padding:0 var(--space-4);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.order-history-list__row:last-child{border-bottom:none}.order-history-list__amount{font-weight:600}.order-history-list__date{color:var(--color-fg-muted)}.order-history-list__empty{margin:0;padding:var(--space-5);border:1px dashed var(--color-border-base);border-radius:var(--radius-md);color:var(--color-fg-muted);text-align:center}.order-history-list__row--resumable{grid-template-columns:1fr auto auto auto;text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-out-smooth)}.order-history-list__row--resumable:hover{background:var(--color-bg-surface-alt)}.order-history-list__resume{color:var(--color-brand-deep);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);white-space:nowrap}.payment-page{max-width:30rem;margin:0 auto;padding:var(--space-6) var(--space-5)}.payment-page__inner{display:flex;flex-direction:column;gap:var(--space-5)}.payment-page__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.payment-page__title{font-size:var(--text-xl)}.payment-page__back{color:var(--color-fg-muted);font-size:var(--text-sm);text-decoration:none;white-space:nowrap}.payment-page__back:hover{color:var(--color-fg-primary)}.payment-page__cta{width:100%}.payment-page__loading{color:var(--color-fg-muted);text-align:center;padding:var(--space-7) 0}.payment-page__missing{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-7) 0;text-align:center}.wallet-page__notes{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none;color:var(--color-fg-muted);font-size:var(--text-sm);line-height:var(--leading-base)}.wallet-page__notes li{padding-left:var(--space-4);border-left:2px solid var(--color-border-subtle)}.account-header-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-base);background:var(--color-bg-surface)}.account-header-card__avatar,.account-header-card__avatar-fallback{flex-shrink:0;width:3.5rem;height:3.5rem;border-radius:var(--radius-pill);-o-object-fit:cover;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--color-brand-wash);color:var(--color-brand-deep);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.account-header-card__info{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.account-header-card__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:var(--tracking-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-header-card__tier{color:var(--color-secondary-deep);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.account-header-card__balance{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border-base);background:var(--color-bg-surface-alt);color:var(--color-fg-primary);font-weight:600;font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out-smooth)}.account-header-card__balance:before{content:"Số dư";color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.account-header-card__balance:hover{border-color:var(--color-border-strong)}.dang-nhap-page{display:grid;place-items:center;min-height:calc(100dvh - var(--touch-large));padding:var(--space-6) var(--space-5);background:radial-gradient(60rem 28rem at 50% -8rem,color-mix(in oklab,var(--color-brand-wash) 60%,transparent),transparent 70%)}.auth-panel{display:flex;flex-direction:column;gap:var(--space-3);width:min(24rem,100%);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-border-base);background:var(--color-bg-surface);box-shadow:var(--shadow-pop)}.auth-panel__mark{width:2.25rem;height:2.25rem;margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:linear-gradient(140deg,var(--color-brand),var(--color-accent));box-shadow:0 0 0 4px var(--color-brand-wash)}.auth-panel__title{font-size:var(--text-xl)}.auth-panel__lede{margin:0;color:var(--color-fg-muted);font-size:var(--text-sm);line-height:var(--leading-base)}.dang-nhap-page__cta{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.dang-nhap-page__consent{margin:0;color:var(--color-fg-muted);font-size:var(--text-xs);line-height:var(--leading-base)}.dang-nhap-page__consent a{color:var(--color-fg-primary)}.dang-nhap-page__error{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:color-mix(in oklab,var(--color-status-danger) 12%,var(--color-bg-surface));color:var(--color-status-danger);font-size:var(--text-sm)}.google-login-button__submit{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;height:var(--touch-min);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--google-button-border);background:var(--google-button-bg);color:var(--google-button-fg);font-family:Roboto,var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;transition:box-shadow var(--dur-fast) var(--ease-out-smooth)}.google-login-button__submit:hover:not(:disabled){background-image:linear-gradient(var(--google-button-hover-overlay),var(--google-button-hover-overlay));box-shadow:var(--shadow-soft)}.google-login-button__submit:disabled{opacity:.38;cursor:progress}.google-login-button__icon{flex-shrink:0;width:1.25rem;height:1.25rem}@media(max-width:40rem){.settings-page{gap:var(--space-5);padding-top:var(--space-5)}.balance-hero,.full-pack-card{flex-direction:column;align-items:stretch}.balance-hero__topup,.full-pack-card__buy{width:100%}.account-header-card{flex-wrap:wrap}.account-header-card__balance{width:100%;justify-content:space-between}.order-history-list__row,.order-history-list__row--resumable{grid-template-columns:1fr auto;grid-template-areas:"amount status" "date status";row-gap:0;padding:var(--space-3) var(--space-4)}.order-history-list__amount{grid-area:amount}.order-history-list__date{grid-area:date;font-size:var(--text-xs)}.order-history-list__row .order-status-chip{grid-area:status}.order-history-list__resume{display:none}.dang-nhap-page{padding:var(--space-5) var(--space-4);align-items:start}.auth-panel{padding:var(--space-5)}}
