/* LucisShop storefront + membership visual contract. Loaded last; no admin scope. */
:root[data-theme] {
  --ls-canvas:#f5f5f5;--ls-surface:#fff;--ls-soft:#f0f0f0;--ls-text:#191919;
  --ls-muted:#636363;--ls-faint:#757575;--ls-line:#dedede;--ls-strong:#c8c8c8;
  --ls-accent:#18794e;--ls-accent-soft:#eaf5ee;--ls-warning:#966213;--ls-danger:#bb3434;
  --ls-button:#191919;--ls-on-button:#fff;
  --ls-shadow:0 12px 30px #00000010,0 2px 6px #00000006,inset 0 1px 0 #ffffff;
  --ls-panel:linear-gradient(140deg,#ffffffed 0%,#fcfcfce8 45%,#f0f0f0e8 100%);
  --ls-inset:linear-gradient(130deg,#fafafaf2,#f0f0f0d9);
  --ls-page:radial-gradient(ellipse 900px 500px at 5% 0%,#dddddda8,transparent 76%),radial-gradient(ellipse 720px 620px at 100% 12%,#ffffffb3,transparent 80%),var(--ls-canvas);
  --ls-header:linear-gradient(125deg,#fffffff2,#f2f2f2eb);--ls-radius:16px;
  color-scheme:light;
}
:root[data-theme="dark"] {
  --ls-canvas:#0c0c0c;--ls-surface:#191919;--ls-soft:#242424;--ls-text:#f3f3f3;
  --ls-muted:#b8b8b8;--ls-faint:#a0a0a0;--ls-line:#363636;--ls-strong:#535353;
  --ls-accent:#83d6a5;--ls-accent-soft:#20372a;--ls-warning:#e8bd73;--ls-danger:#f38d8d;
  --ls-button:#f3f3f3;--ls-on-button:#121212;
  --ls-shadow:0 14px 34px #00000030,0 2px 7px #00000020,inset 0 1px 0 #ffffff15;
  --ls-panel:linear-gradient(135deg,#2a2a2ae8 0%,#202020eb 45%,#171717ed 100%);
  --ls-inset:linear-gradient(135deg,#2e2e2ed9,#232323eb);
  --ls-page:radial-gradient(ellipse 900px 540px at 5% 0%,#ffffff0d,transparent 76%),radial-gradient(ellipse 720px 620px at 100% 12%,#ffffff07,transparent 80%),var(--ls-canvas);
  --ls-header:linear-gradient(125deg,#303030f0,#1c1c1cee);color-scheme:dark;
}
:root[data-theme] {
  --md-primary:var(--ls-button);--md-primary-hover:var(--ls-text);--md-on-primary:var(--ls-on-button);
  --md-primary-rgb:25,25,25;--md-primary-container:var(--ls-soft);--md-secondary:var(--ls-accent);
  --md-bg:var(--ls-canvas);--md-surface:var(--ls-surface);--md-surface-2:var(--ls-surface);
  --md-on-surface:var(--ls-text);--md-on-surface-med:var(--ls-muted);--md-on-surface-dis:var(--ls-faint);
  --md-success:var(--ls-accent);--md-success-rgb:24,121,78;--md-info:var(--ls-accent);
  --md-info-rgb:24,121,78;--md-warning:var(--ls-warning);--md-error:var(--ls-danger);
  --md-divider:var(--ls-line);--md-outline:var(--ls-strong);--md-focus-ring:#18794e44;
  --md-radius:10px;--md-radius-lg:16px;--md-selected-overlay:var(--ls-soft);
  --md-nav-active-fg:var(--ls-accent);--md-nav-fg:var(--ls-muted);--md-nav-section:var(--ls-faint);
  --uc-ink:var(--ls-text);--uc-ink-med:var(--ls-muted);--uc-ink-dis:var(--ls-faint);
  --uc-primary-deep:var(--ls-button);--uc-focus:var(--ls-accent);--uc-focus-rgb:24,121,78;
  --uc-field-bg:var(--ls-surface);--glass-bg:var(--ls-surface);--glass-bg-strong:var(--ls-surface);
  --glass-bg-soft:var(--ls-soft);--glass-border:var(--ls-line);--glass-border-soft:var(--ls-line);
  --glass-hi:0 0 #0000;--glass-filter:none;--glass-filter-strong:blur(12px);
  --glass-shadow:var(--ls-shadow);--glass-shadow-lg:0 12px 30px #00000018;
  --mf-canvas:var(--ls-canvas);--mf-surface:var(--ls-surface);--mf-surface-solid:var(--ls-surface);
  --mf-surface-soft:var(--ls-soft);--mf-surface-muted:var(--ls-soft);
  --mf-text:var(--ls-text);--mf-text-2:var(--ls-muted);--mf-text-3:var(--ls-faint);
  --mf-line:var(--ls-line);--mf-line-strong:var(--ls-strong);--mf-blue:var(--ls-accent);
  --mf-blue-soft:var(--ls-soft);--mf-sunrise:var(--ls-accent);--mf-sunrise-soft:var(--ls-soft);
  --mf-success:var(--ls-accent);--mf-success-soft:var(--ls-accent-soft);
  --mf-warning:var(--ls-warning);--mf-danger:var(--ls-danger);
  --mf-shadow:var(--ls-shadow);--mf-shadow-soft:var(--ls-shadow);--mf-header:var(--ls-header);
  --mf-backdrop:blur(12px);--mf-radius-xl:18px;--mf-radius-lg:16px;--mf-radius-md:12px;--mf-radius-sm:10px;
  --bs-primary:var(--ls-button);--bs-body-color:var(--ls-text);--bs-body-bg:var(--ls-canvas);
  --bs-border-color:var(--ls-line);--bs-link-color:var(--ls-accent);
}
:root[data-theme="dark"] {--md-primary-rgb:243,243,243;--md-success-rgb:131,214,165;--md-info-rgb:131,214,165;--uc-focus-rgb:131,214,165}
:root[data-theme] body:is(.uc-body,.mf-body,.lucis-auth){background:var(--ls-page)!important;color:var(--ls-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}
:root[data-theme] body.uc-body:before,.mf-background{display:none!important}
:root[data-theme] .bg-content.uc-bg{background:var(--ls-canvas)!important}
:root[data-theme] :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--ls-accent);outline-offset:3px}
/* Layered surfaces echo MountFuji while keeping a restrained neutral palette. */
:root[data-theme] :is(.mf-sidebar-profile,.mf-dashboard-welcome,.mf-topup-hero,.mf-page-intro,.mf-panel,.mf-sidebar-inner,.mf-topup-growth-overview){background:var(--ls-panel);box-shadow:var(--ls-shadow)}
:root[data-theme] :is(.mf-sidebar-profile,.mf-dashboard-welcome,.mf-topup-hero,.mf-page-intro){background:linear-gradient(125deg,rgba(255,255,255,.06),transparent 62%),var(--ls-panel)}
:root[data-theme] :is(.mf-topup-preview,.mf-topup-balance,.mf-stat-card,.mf-topup-summary__hero){background:var(--ls-inset)}
:root[data-theme] .mf-page-intro::after{display:none}
:root[data-theme] .mf-topbar-inner{box-shadow:var(--ls-shadow)}
:root[data-theme] .mf-progress span{background:linear-gradient(90deg,var(--ls-accent),color-mix(in srgb,var(--ls-accent) 65%,#b3cbbb));box-shadow:none}
:root[data-theme] .mf-nav-item.is-active{color:var(--ls-accent);background:var(--ls-soft)}
:root[data-theme] .mf-nav-item.is-active:before{background:var(--ls-accent)}
:root[data-theme] :is(.mf-nav-item.is-active .material-icons-outlined,.mf-theme-button.is-active){color:var(--ls-accent)}
:root[data-theme] .mf-theme-button.is-active{background:var(--ls-soft);box-shadow:none}
:root[data-theme] .mf-sidebar-recharge{background:var(--ls-button);color:var(--ls-on-button)}
:root[data-theme] .mf-sidebar-recharge .material-icons-outlined{color:inherit}
:root[data-theme] .mf-content{min-width:0}
/* Shared storefront shell, matched to membership header and panels. */
:root[data-theme] .uc-topbar{padding:10px 22px 0;z-index:1100}
:root[data-theme] .uc-topbar__inner{max-width:1500px}
:root[data-theme] .shop-nav{height:62px;border-radius:18px;padding:0 12px 0 16px;border:1px solid var(--ls-line);background:var(--ls-header);box-shadow:var(--ls-shadow);backdrop-filter:blur(12px);gap:18px}
:root[data-theme] .shop-brand{gap:10px;padding-right:0;font-size:14px}
.shop-brand-copy{display:flex;flex-direction:column;line-height:1.25;gap:3px}
.shop-brand-copy small{font-size:10px;color:var(--ls-faint);font-weight:550}
:root[data-theme] .shop-brand img{width:34px;height:34px;border-radius:10px}
:root[data-theme] :is(.shop-brand img,.shop-drawer__brand img,.mf-brand-mark,.mf-brand-mark img){border:0;box-shadow:none;background:transparent}
:root[data-theme] .mf-brand-mark{padding:0}
:root[data-theme] :is(.shop-nav__item,.shop-icon-btn,.shop-user__btn,.shop-btn){border-radius:10px;box-shadow:none}
:root[data-theme] .shop-nav__item{font-size:13px;height:38px;padding:0 12px}
:root[data-theme] .shop-nav__item.active{background:var(--ls-soft);color:var(--ls-accent);box-shadow:none}
:root[data-theme] .shop-search__box{height:38px;border-radius:10px;background:var(--ls-soft);border:1px solid var(--ls-line);max-width:330px}
:root[data-theme] :is(.shop-user__menu,.shop-lang__menu,.shop-drawer){background:var(--ls-surface);border-color:var(--ls-line)}
.shop-drawer{z-index:1201}.shop-drawer__shade{z-index:1200}
body.shop-drawer-open{overflow:hidden}
body.shop-drawer-open :is(.shop-drawer,.shop-drawer__shade){display:block}
.ls-drawer-close{position:absolute;right:14px;top:14px;border:0;background:var(--ls-soft);color:var(--ls-text);width:36px;height:36px;border-radius:9px;cursor:pointer}
:root[data-theme] .shop-user__balance b{color:var(--ls-accent)}
:root[data-theme] .shop-user__avatar{border-radius:9px}
:root[data-theme] .shop-theme-group{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--ls-line);border-radius:11px;background:var(--ls-soft)}
.shop-theme-group button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ls-muted);cursor:pointer}
.shop-theme-group button.is-active{background:var(--ls-surface);color:var(--ls-accent);box-shadow:0 1px 3px #0001}
.shop-theme-group .material-icons-outlined{font-size:18px}
:root[data-theme] body.uc-body main.container{width:calc(100% - 44px);max-width:1500px;padding:22px 0 48px!important;margin:0 auto}
:root[data-theme] .panel{border:1px solid var(--ls-line);border-radius:16px;background:var(--ls-panel);box-shadow:var(--ls-shadow);backdrop-filter:none}
:root[data-theme] .panel-header{padding:18px 22px 0;gap:9px}
:root[data-theme] .panel-header .icon{background:var(--ls-soft);color:var(--ls-muted);border-radius:10px}
:root[data-theme] .panel-body{padding:18px 22px 22px}
:root[data-theme] .panel-title{color:var(--ls-text);font-size:15px;font-weight:650}
:root[data-theme] :is(.price,.amount-value,.item-buy .abacus .price){color:var(--ls-text)!important;font-weight:750;font-variant-numeric:tabular-nums}
:root[data-theme] :is(.badge-soft-primary,.acg-tag--pink,.acg-tag--cyan){color:var(--ls-muted);background:var(--ls-soft)}
:root[data-theme] .badge-soft-success{color:var(--ls-accent);background:var(--ls-accent-soft)}
:root[data-theme] :is(.btn-primary,.shop-btn--primary,.btn-gradient){background:var(--ls-button)!important;border-color:var(--ls-button)!important;color:var(--ls-on-button)!important;box-shadow:none!important}
:root[data-theme] .btn-outline-primary{color:var(--ls-accent);border-color:var(--ls-line);background:var(--ls-surface);box-shadow:none}
:root[data-theme] .btn-outline-primary:hover{color:var(--ls-accent);border-color:var(--ls-accent);background:var(--ls-accent-soft)}
:root[data-theme] :is(.chip,.sku){border-radius:9px;box-shadow:none;min-height:36px}
:root[data-theme] :is(.chip.is-primary,.sku.is-primary){background:var(--ls-soft);border-color:var(--ls-accent);color:var(--ls-accent);box-shadow:none}
:root[data-theme] :is(.form-control,.form-select,.layui-input,.layui-textarea,.select2-selection){border-radius:10px;color:var(--ls-text)!important;background:var(--ls-surface)!important;border-color:var(--ls-line)!important;box-shadow:none}
:root[data-theme] :is(.form-control,.layui-input):focus{border-color:var(--ls-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ls-accent) 14%,transparent)!important}
:root[data-theme] :is(.layui-layer,.layui-layer-title,.select2-dropdown,.dropdown-menu,.layui-layer-content){background-color:var(--ls-surface);color:var(--ls-text);border-color:var(--ls-line)}
:root[data-theme] .layui-layer-title{border-bottom:1px solid var(--ls-line)}
:root[data-theme] :is(.layui-layer-btn a,.btn,.view-card-btn){border-radius:10px}
:root[data-theme] .layui-layer-btn .layui-layer-btn0{background:var(--ls-button);border-color:var(--ls-button);color:var(--ls-on-button)}
/* Home: useful content first; full announcement remains available. */
.ls-store-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 20px}
.ls-eyebrow{display:flex;align-items:center;gap:6px;color:var(--ls-accent);font-size:11px;letter-spacing:.08em;font-weight:700;margin:0 0 7px}
.ls-eyebrow::before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}
.ls-store-head h1{font-size:28px;letter-spacing:-.04em;line-height:1.3;font-weight:750;margin:0 0 5px}
.ls-store-head p:not(.ls-eyebrow){color:var(--ls-muted);font-size:13px;margin:0}
.ls-account-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:40px;border:1px solid var(--ls-line);border-radius:10px;padding:0 13px;color:var(--ls-text);background:var(--ls-surface);font-size:12px;font-weight:600}
.ls-account-link:hover{border-color:var(--ls-accent);color:var(--ls-accent)}
.ls-announcement{margin-bottom:24px;border:1px solid var(--ls-line);border-radius:16px;background:var(--ls-panel);box-shadow:var(--ls-shadow)}
.ls-announcement-content{padding:20px;max-width:960px;font-size:13px}
/* Announcement rich text owns its typography and colors. Do not recolor it here. */
.ls-catalog-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.ls-catalog-title h2{font-size:17px;font-weight:700;margin:0}
.ls-catalog-title p{font-size:12px;color:var(--ls-muted);margin:0}
:root[data-theme] .ls-catalog .chip-list{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--ls-line)}
:root[data-theme] .item-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
:root[data-theme] .item-list .item-message{grid-column:1/-1;min-height:140px;display:grid;place-items:center;color:var(--ls-muted)}
:root[data-theme] .acg-card{border-radius:13px;border:1px solid var(--ls-line);box-shadow:var(--ls-shadow);background:var(--ls-panel)}
:root[data-theme] .item-card-cell:hover .acg-card{transform:translateY(-2px);border-color:var(--ls-strong);box-shadow:0 6px 20px #0000000b}
:root[data-theme] .acg-thumb{aspect-ratio:4/3;background-color:var(--ls-soft)}
:root[data-theme] .acg-card>.acg-body{padding:14px;gap:8px}
:root[data-theme] .goods-title{font-size:14px;font-weight:650;color:var(--ls-text);margin:0}
:root[data-theme] .stat-bottom{color:var(--ls-muted);font-size:11px}
:root[data-theme] .acg-card .price{font-size:20px}
:root[data-theme] .ls-catalog{background:transparent;border:0;box-shadow:none}
:root[data-theme] .ls-catalog>.panel-body{padding:0}
.ls-footer{max-width:1500px;width:calc(100% - 44px);margin:0 auto;padding:20px 0 28px;border-top:1px solid var(--ls-line);display:flex;align-items:center;justify-content:space-between;color:var(--ls-muted);font-size:12px;gap:16px}
.ls-footer nav{display:flex;gap:20px}.ls-footer a{color:var(--ls-muted)}.ls-footer a:hover{color:var(--ls-accent)}
/* Auth adopts the same neutral surfaces rather than decorative gradients. */
:root[data-theme] .lucis-auth .auth-wrapper{background:transparent;min-height:100dvh;padding:56px 20px}
:root[data-theme] .lucis-auth .auth-wrapper::before,:root[data-theme] .lucis-auth .auth-wrapper::after{display:none}
:root[data-theme] .lucis-auth .auth-card{background:var(--ls-panel);border:1px solid var(--ls-line);border-radius:18px;box-shadow:var(--ls-shadow);color:var(--ls-text);backdrop-filter:none}
:root[data-theme] .lucis-auth :is(.auth-title,.form-check label,.form-floating>label){color:var(--ls-text)}
:root[data-theme] .lucis-auth :is(.auth-subtitle,.small){color:var(--ls-muted)}
:root[data-theme] .lucis-auth .text-link{color:var(--ls-accent)}
:root[data-theme] .lucis-auth .brand-badge .dot{background:var(--ls-accent);box-shadow:none}
:root[data-theme] .lucis-auth .form-floating>.form-control{height:52px;min-height:52px}
:root[data-theme] .lucis-auth .btn{min-height:44px}
.ls-auth-back{position:absolute;top:22px;left:24px;z-index:3;display:flex;align-items:center;gap:6px;color:var(--ls-muted);font-size:13px}
.ls-auth-theme{position:absolute;right:24px;top:16px;z-index:2}.ls-auth-theme button{font-size:11px}
:root[data-theme] .lucis-auth .brand-icon{box-shadow:none;filter:none}
:root[data-theme] .lucis-auth .brand-header{margin-bottom:20px}
:root[data-theme] .lucis-auth .brand-logo{margin-bottom:0}
:root[data-theme] .lucis-auth :is(.send-email-captcha,.send-phone-captcha){height:52px;padding:0 4px!important;white-space:nowrap;font-size:12px}
:root[data-theme] .lucis-auth .row{--bs-gutter-x:12px}
:root[data-theme] input[type=checkbox],:root[data-theme] input[type=radio]{accent-color:var(--ls-accent)}
@media(min-width:1600px){:root[data-theme] .item-list{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1100px){:root[data-theme] .item-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.shop-theme-group button{width:29px}.shop-nav{gap:10px!important}}
@media(max-width:767px){
 :root[data-theme] .uc-topbar{padding:8px 12px 0}
 :root[data-theme] .shop-nav{height:auto;min-height:56px;flex-wrap:wrap;padding:8px 10px;border-radius:14px;gap:8px}
 :root[data-theme] .shop-brand{margin-right:auto}.shop-brand-copy small{font-size:9px}
 :root[data-theme] .shop-nav__list{display:none}.shop-nav__right{margin-left:0;gap:2px}
 :root[data-theme] .shop-burger{display:inline-flex;min-width:36px;min-height:40px}
 :root[data-theme] .shop-search{display:flex!important;order:3;width:100%;flex:1 0 100%;padding:0}
 :root[data-theme] .shop-search__box{max-width:none;width:100%;height:38px}
 :root[data-theme] .shop-user__meta{display:none}.shop-user__btn{padding:0 4px;height:38px}
 :root[data-theme] .shop-lang{display:none}.shop-theme-group button{width:28px;height:32px}
 :root[data-theme] body.uc-body main.container{width:calc(100% - 24px);padding-top:20px!important}
 :root[data-theme] .item-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 :root[data-theme] .acg-card>.acg-body{padding:10px;gap:6px}.ls-store-head{margin-bottom:16px;gap:10px}
 .ls-store-head h1{font-size:24px}.ls-store-head p:not(.ls-eyebrow){font-size:12px}
 .ls-account-link{font-size:0;padding:0;width:40px;justify-content:center}.ls-account-link .material-icons-outlined{font-size:20px}
 .ls-announcement-content{padding:16px}.ls-catalog-title p{display:none}
 :root[data-theme] .panel-header{padding:16px 16px 0}:root[data-theme] .panel-body{padding:16px}
 :root[data-theme] .ls-catalog>.panel-body{padding:0}
 :root[data-theme] .chip-list{gap:6px;flex-wrap:nowrap;overflow:auto;padding-bottom:10px;scrollbar-width:thin}
 :root[data-theme] .chip{flex-shrink:0;padding:0 11px;font-size:12px}
 .ls-footer{width:calc(100% - 24px);flex-wrap:wrap;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
 .order-query-form>div{flex-wrap:wrap;gap:10px!important}.order-query-form>div>div:first-child{width:100%!important}
 .order-query-form>div>div:last-child{width:100%}.order-query-form button{width:100%;min-height:42px}
 :root[data-theme] .mf-topbar{padding:8px 12px 0}.mf-page-shell{gap:16px}
 :root[data-theme] .lucis-auth .auth-card{padding:24px 20px}
 :root[data-theme] :is(input.form-control,textarea.form-control,.layui-input){font-size:16px}
}
@media(pointer:coarse){.shop-theme-group button{min-height:40px}.shop-icon-btn{min-width:40px}.chip{min-height:40px!important}}
@media(max-width:359px){.shop-brand-copy{display:none}:root[data-theme] .shop-nav{gap:4px}:root[data-theme] .shop-nav__right{margin-left:auto}.ls-footer nav{gap:12px}.ls-store-head h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){body :is(.acg-card,.shop-nav__item,.mf-nav-item){transition:none!important;transform:none!important}}
