/* Acrylic gallery: dark brand chrome, illustrated campaigns, luminous product edges. */
.storefront { background:#f2f0f5; color:#14121b; --ink:#14121b; --muted:#6a6475; --line:#dfdbe6; }
.shop-shell { min-height:100dvh; }
.anime-header { background:#09090e; color:#fff; }
.anime-header-inner { max-width:1280px; height:108px; padding:0 42px; margin:auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.header-home { width:44px; height:44px; display:grid; place-items:center; justify-self:start; }
.header-home svg { transform:rotate(180deg); }
.anime-wordmark { text-align:center; line-height:1; padding:10px 0; }
.anime-wordmark strong { display:block; font:400 48px/1 Georgia,"Times New Roman",serif; letter-spacing:.06em; }
.anime-wordmark span { display:block; font:12px/1.3 "Microsoft YaHei UI",sans-serif; color:#c8c2d5; letter-spacing:.3em; margin-top:10px; }
.anime-header-actions { display:flex; gap:16px; align-items:center; justify-self:end; }
.anime-header-actions>button,.anime-header-actions>a { display:grid; place-items:center; width:40px; height:44px; color:inherit; padding:0; }
.anime-cart { position:relative; }
.anime-cart b { position:absolute; top:1px; right:-5px; font-size:10px; line-height:18px; width:18px; height:18px; border-radius:50%; background:#dbc0ff; color:#211132; }
.anime-navigation { min-height:56px; max-width:1180px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:10px 24px; border-bottom:1px solid #ded9e8; }
.store-picker { display:flex; align-items:center; flex-shrink:0; gap:10px; font-size:11px; color:#6a6475; }
.store-picker label { display:flex; align-items:center; gap:6px; }
.store-picker select { border:0; padding:6px 23px 6px 0; max-width:155px; font-size:12px; border-radius:0; color:#272130; background:transparent; }
.desktop-shop-nav { display:flex; align-items:center; gap:30px; }
.desktop-shop-nav a { position:relative; padding:7px 0; font-size:13px; }
.desktop-shop-nav a.active:after { content:""; position:absolute; height:2px; background:var(--accent); left:15%; right:15%; bottom:0; }
.shop-announcement { font-size:10px; color:#787080; max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.anime-main { max-width:1180px; margin:auto; }
.anime-main.inner-page { padding:36px 28px 0; min-height:75vh; }
.anime-hero { position:relative; overflow:hidden; aspect-ratio:2.05; min-height:370px; background:#e3d4ec; isolation:isolate; }
.campaign-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.anime-hero>.campaign-art { object-position:50% 0%; }
.campaign-copy { position:absolute; z-index:1; top:22%; left:6%; width:40%; }
.campaign-copy h1 { font:600 clamp(36px,4.1vw,58px)/1.3 "Songti SC",SimSun,serif; letter-spacing:.015em; text-wrap:balance; }
.campaign-copy>p { font:400 clamp(13px,1.6vw,21px)/1.4 Georgia,"Times New Roman",serif; text-transform:uppercase; margin-top:6px; }
.campaign-copy>span { display:block; font-size:12px; line-height:1.8; margin-top:24px; max-width:260px; color:#3e2b4b; }
.campaign-link { position:absolute; right:5%; bottom:6%; z-index:1; border:1px solid #fffc; color:white; border-radius:30px; padding:10px 25px; min-height:45px; display:flex; align-items:center; justify-content:center; gap:13px; font-size:18px; background:#16112538; backdrop-filter:blur(8px); transition:background .2s; }
a.campaign-link:hover,.dman-campaign:hover .campaign-link { background:#21142a80; }
.featured-collection { padding:44px 36px 0; }
.collection-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; }
.collection-heading h2 { font:600 32px/1.3 "Songti SC",SimSun,serif; letter-spacing:.02em; }
.collection-heading p { font:400 15px/1.5 Georgia,"Times New Roman",serif; text-transform:uppercase; margin-top:3px; color:#393240; }
.collection-heading>a { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; gap:4px; font-size:12px; }
.spotlight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.shop-shell .product-card { position:relative; overflow:hidden; border-radius:18px; background:#f9f6fe; border:1px solid #e2d5ed; }
.spotlight-grid .product-card { border-radius:28px; border:2px solid #fff; padding:5px; background:linear-gradient(150deg,#dfd5f0,#f7edff); box-shadow:0 0 0 3px #c89ae7,0 0 17px 4px #ca8af680; }
.spotlight-grid .product-card:after { content:""; position:absolute; inset:5px; border:1px solid #fff; border-radius:21px; pointer-events:none; z-index:1; }
.shop-shell .product-image { display:block; width:100%; padding:0; aspect-ratio:1.02; border-radius:0; background:#e9e3f1; overflow:hidden; }
.shop-shell .product-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .3s; }
.shop-shell .product-image:hover img { transform:scale(1.025); }
.spotlight-grid .product-image { aspect-ratio:1.05; background:transparent; border-radius:20px 20px 0 0; }
.spotlight-grid .product-image img { object-position:center; }
.spotlight-grid .product-tag,.spotlight-grid .image-hint,.spotlight-grid .product-info>p { display:none; }
.shop-shell .product-tag { color:#41334f; background:#ffffffd9; border-radius:4px; font-size:10px; }
.shop-shell .product-info { padding:18px 18px 20px; }
.shop-shell .product-info h3 { font-size:15px; color:#18131e; line-height:1.5; }
.shop-shell .product-info h3 button { padding:0; text-align:inherit; font:inherit; }
.shop-shell .product-info>p { color:#776a80; font-size:10px; margin-bottom:5px; }
.spotlight-grid .product-info { padding:10px 15px 18px; text-align:center; }
.spotlight-grid .product-info h3 { font-size:18px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.shop-shell .price-row { margin-top:9px; display:flex; justify-content:space-between; align-items:center; }
.shop-shell .price { font:500 25px/1.2 Georgia,"Times New Roman",serif; color:#17121c; }
.shop-shell .price small { font-size:16px; margin-right:3px; }
.shop-shell .add-button { color:#443052; width:32px; height:32px; border-radius:50%; background:#ffffffa6; border:1px solid #d5c1e4; display:grid; place-items:center; }
.spotlight-grid .price-row { padding-left:32px; justify-content:center; gap:15px; }
.spotlight-grid .add-button { margin-left:0; }
.dman-campaign { display:block; position:relative; margin:52px 36px 0; border-radius:24px; overflow:hidden; aspect-ratio:2.1; min-height:320px; color:#fff; background:#121320; isolation:isolate; }
.dman-campaign>.campaign-art { object-position:50% 0%; }
.dman-campaign:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#09051266,transparent 55%); pointer-events:none; }
.dman-campaign-copy { position:absolute; left:6%; top:27%; z-index:1; }
.dman-campaign-copy h2 { font:600 clamp(32px,3.7vw,52px)/1.4 Georgia,"Songti SC",SimSun,serif; }
.dman-campaign-copy p { font:400 clamp(14px,1.8vw,24px)/1.4 Georgia,serif; text-transform:uppercase; margin-top:3px; }
.dman-campaign .campaign-link { left:6%; right:auto; bottom:15%; font-size:16px; }
.extra-collection { padding:48px 36px 0; }
.shop-shell .product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; width:100%; }
.anime-service { display:flex; justify-content:center; gap:55px; padding:42px 20px 25px; color:#655d70; font-size:11px; }
.anime-service>span { display:flex; align-items:center; gap:8px; }
.anime-footer { margin:25px 36px 0; padding:36px 15px 45px; border-top:1px solid #dbd5e2; display:flex; align-items:center; flex-direction:column; gap:8px; color:#746b80; font-size:11px; }
.anime-footer>strong { font:400 27px/1.3 Georgia,serif; color:#1b1521; letter-spacing:.08em; }
.anime-footer>small { font-size:10px; color:#837a8c; }
.anime-footer>a { font-size:10px; margin-top:5px; text-decoration:underline; text-underline-offset:3px; }
.anime-bottom-nav { display:none; }
.shop-shell .page-heading h1 { font-family:"Songti SC",SimSun,serif; color:#17121c; font-weight:600; }
.shop-shell .page-heading p { color:#766c80; }
.shop-shell .catalog-banner { background:linear-gradient(110deg,#e7d8f3,#d8dfea); border:1px solid #fff; color:#32253f; }
.shop-shell .catalog-item { border:1px solid #e3daed; border-radius:14px; background:#fcfaff; }
.shop-shell .catalog-item h3,.shop-shell .catalog-item .price { color:#211529; }
.shop-shell .catalog-image { height:140px; width:120px; background:#e9e3f1; }
.shop-shell .catalog-image img { object-fit:contain; mix-blend-mode:multiply; }
.shop-shell .category-nav button { color:#62586f; }
.shop-shell .category-nav button.active { background:#21152e; color:#fff; }
.shop-shell .notice { color:#61516f; }
.shop-shell .profile-card { background:linear-gradient(110deg,#e5d6ef,#d9ddeb); }
.storefront .detail-image { object-fit:contain; background:#e9e3f1; }
.storefront .detail-info h2 { color:#21172c; }
.storefront .description,.storefront .detail-service { color:#786b85; }
.storefront .button { border-radius:7px; }
.storefront .button.primary { background:#272032; }
.storefront .floating-cart { background:#181220; color:#fff; border:1px solid #c3a0df; box-shadow:0 4px 22px #3e14562b; }
.storefront .detail-price { color:#5b2e84; }
.admin-sidebar { background:#14101d; border-right:0; }
.admin-sidebar>.brand { color:#fff; }
.admin-sidebar .brand-mark { background:transparent; color:#d7b3fb; }
.admin-sidebar .brand small,.admin-sidebar .nav-caption { color:#b1a1c6; }
.admin-sidebar nav>a,.admin-sidebar .admin-bottom>a,.admin-sidebar .admin-bottom>button { color:#d0c3e0; }
.admin-sidebar nav>a.active,.admin-sidebar .admin-store-list>a.selected { background:#342342; color:#fff; }
.admin-sidebar .admin-store-list>a { border-color:#392b46; }
.admin-sidebar .admin-bottom { border-color:#392b46; }
.site-preview { background:#e5d9ee; }
.site-preview img { mix-blend-mode:multiply; object-fit:contain; }
.login-intro { background:#15101f; color:#fff; }
.login-intro h1,.login-intro .brand { color:#fff; }
.login-intro p,.login-intro>small { color:#c3b0d5!important; }
@media(min-width:1500px) { .anime-main,.anime-navigation { max-width:1240px; } }
@media(max-width:1000px) {
  .anime-header-inner { padding:0 28px; }
  .anime-navigation { gap:18px; }
  .desktop-shop-nav { gap:22px; }
  .shop-announcement { display:none; }
  .anime-hero { min-height:330px; }
  .campaign-copy h1 { font-size:42px; }
  .featured-collection,.extra-collection { padding-left:26px; padding-right:26px; }
  .spotlight-grid { gap:22px; }
  .spotlight-grid .product-info h3 { font-size:15px; }
  .dman-campaign { margin-left:26px; margin-right:26px; min-height:280px; }
  .shop-shell .product-grid { gap:17px; }
  .shop-shell .product-info { padding:12px; }
  .shop-shell .product-info h3 { font-size:12px; }
}
@media(max-width:760px) {
  .anime-header-inner { height:82px; padding:0 16px; grid-template-columns:60px 1fr 60px; }
  .anime-wordmark strong { font-size:31px; letter-spacing:.035em; }
  .anime-wordmark span { font-size:9px; margin-top:6px; letter-spacing:.22em; }
  .header-home { width:32px; }
  .anime-header-actions { gap:4px; }
  .anime-header-actions>button { width:29px; height:44px; }
  .anime-header-actions>.header-admin { display:none; }
  .anime-header-actions svg { width:19px; }
  .anime-cart b { top:1px; right:-6px; width:15px; height:15px; line-height:15px; font-size:9px; }
  .anime-navigation { padding:5px 16px; min-height:36px; border:0; background:#eae6ee; }
  .store-picker { width:100%; justify-content:space-between; font-size:10px; }
  .store-picker select { font-size:10px; padding:3px 20px 3px 6px; max-width:175px; }
  .store-picker label svg { width:13px; }
  .desktop-shop-nav { display:none; }
  .anime-main.inner-page { padding:23px 16px 0; }
  .anime-hero { aspect-ratio:1.9; min-height:0; }
  .anime-hero>.campaign-art { object-position:50% 0%; }
  .campaign-copy { left:6%; top:23%; width:42%; }
  .campaign-copy h1 { font-size:clamp(23px,6.9vw,39px); line-height:1.3; }
  .campaign-copy>p { font-size:clamp(9px,2.8vw,16px); margin-top:3px; white-space:nowrap; }
  .campaign-copy>span { display:none; }
  .campaign-link { right:5%; bottom:7%; min-height:29px; padding:4px 13px; font-size:12px; gap:8px; }
  .campaign-link svg { width:14px; height:14px; }
  .featured-collection { padding:23px 14px 0; }
  .collection-heading { margin:0 4px 16px; gap:12px; }
  .collection-heading h2 { font-size:25px; }
  .collection-heading p { font-size:10px; margin-top:1px; }
  .collection-heading>a { min-width:36px; min-height:38px; font-size:10px; }
  .collection-heading>a svg { width:21px; height:21px; }
  .spotlight-grid { gap:13px; }
  .spotlight-grid .product-card { border-radius:20px; padding:3px; box-shadow:0 0 0 2px #c89ae7,0 0 12px 2px #ca8af666; }
  .spotlight-grid .product-card:after { inset:3px; border-radius:15px; }
  .spotlight-grid .product-image { aspect-ratio:.9; border-radius:14px 14px 0 0; }
  .spotlight-grid .product-info { padding:5px 2px 8px; }
  .spotlight-grid .product-info h3 { font-size:10px; font-weight:600; letter-spacing:-.3px; }
  .spotlight-grid .price-row { margin-top:3px; padding:0; gap:0; }
  .spotlight-grid .price { font-size:20px; }
  .spotlight-grid .price small { font-size:12px; margin-right:1px; }
  .spotlight-grid .add-button { display:none; }
  .dman-campaign { margin:28px 13px 0; border-radius:16px; min-height:0; aspect-ratio:1.75; }
  .dman-campaign-copy { left:6%; top:25%; }
  .dman-campaign-copy h2 { font-size:clamp(24px,7vw,38px); }
  .dman-campaign-copy p { font-size:clamp(10px,3vw,17px); margin-top:2px; }
  .dman-campaign .campaign-link { left:6%; bottom:12%; font-size:12px; }
  .extra-collection { padding:29px 14px 0; }
  .shop-shell .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 13px; }
  .shop-shell .product-grid .product-card { border-radius:15px; }
  .shop-shell .product-grid .product-info { padding:11px; }
  .shop-shell .product-grid .product-info h3 { font-size:12px; }
  .shop-shell .product-grid .product-info>p { font-size:9px; }
  .shop-shell .product-grid .price { font-size:23px; }
  .shop-shell .product-grid .price small { font-size:13px; }
  .shop-shell .product-grid .add-button { width:31px; height:31px; }
  .anime-service { gap:17px; padding:28px 10px 10px; font-size:9px; }
  .anime-service>span { flex-direction:column; gap:7px; }
  .anime-service svg { width:17px; height:17px; }
  .anime-footer { margin:20px 16px 0; padding:26px 0 102px; gap:6px; font-size:10px; }
  .anime-footer>strong { font-size:25px; }
  .anime-footer>small { font-size:9px; }
  .anime-bottom-nav { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:10; height:calc(62px + env(safe-area-inset-bottom)); padding:0 10px env(safe-area-inset-bottom); justify-content:space-around; background:#f9f8fbf5; backdrop-filter:blur(14px); border-top:1px solid #ddd6e5; }
  .anime-bottom-nav>a { position:relative; display:flex; flex:1; justify-content:center; align-items:center; padding-bottom:3px; font-size:15px; color:#302837; }
  .anime-bottom-nav>a.active { color:#120c17; font-weight:600; }
  .anime-bottom-nav>a.active:after { content:""; width:24px; height:2px; background:#241330; position:absolute; bottom:9px; border-radius:2px; }
  .shop-shell .catalog-layout { gap:11px; }
  .shop-shell .catalog-image { width:80px; height:110px; }
  .shop-shell .catalog-item { min-height:132px; padding:10px; }
  .shop-shell .catalog-item h3 { font-size:12px; }
  .shop-shell .catalog-item p { font-size:10px; }
  .shop-shell .catalog-item .price { font-size:22px; }
  .shop-shell .catalog-item .add-button { width:27px; height:27px; }
  .shop-shell .page-heading { margin-top:8px; }
  .storefront .detail-image { height:280px; }
  .storefront .floating-cart { bottom:80px; }
  .admin-sidebar .admin-bottom>a,.admin-sidebar .admin-bottom>button { color:#d0c3e0; }
}
@media(max-width:360px) {
  .spotlight-grid { gap:10px; }
  .featured-collection { padding-left:11px; padding-right:11px; }
  .spotlight-grid .product-info h3 { font-size:9px; }
  .anime-wordmark strong { font-size:26px; }
  .anime-bottom-nav>a { font-size:14px; }
  .anime-service { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .shop-shell .product-image img,.campaign-link { transition:none; } }

/* Larger reading sizes requested after the first mobile preview. */
.shop-shell .product-info h3 { font-size:17px; }
.spotlight-grid .product-info h3 { font-size:20px; }
.shop-shell .price { font-size:29px; }
.desktop-shop-nav a { font-size:16px; }
.store-picker,.store-picker select { font-size:14px; }
.shop-announcement { font-size:12px; }
.collection-heading h2 { font-size:35px; }
.collection-heading p { font-size:17px; }
.collection-heading>a { font-size:14px; }
.campaign-copy>span { font-size:15px; }
.shop-shell .catalog-item h3 { font-size:17px; }
.shop-shell .catalog-item p,.shop-shell .category-nav button { font-size:14px; }
.shop-shell .order-line h3,.shop-shell .order-card-bottom,.shop-shell .notice { font-size:14px; }
.shop-shell .order-line p,.shop-shell .order-card-top strong { font-size:13px; }
.shop-shell .profile-card p,.shop-shell .profile-card span,.shop-shell .privacy-note { font-size:13px; }
.shop-shell .profile-links>a,.shop-shell .profile-links>button { font-size:16px; }
.storefront .detail-info h2 { font-size:26px; }
.storefront .description,.storefront .detail-service,.storefront .cart-item p { font-size:14px; }
.storefront .button,.storefront .stack-form label { font-size:15px; }
.storefront input,.storefront select,.storefront textarea { font-size:16px; }
.anime-service { font-size:13px; }
.anime-footer { font-size:13px; }
.anime-footer>small,.anime-footer>a { font-size:12px; }
@media(max-width:760px) {
  .anime-wordmark strong { font-size:34px; }
  .anime-wordmark span { font-size:11px; }
  .store-picker,.store-picker select { font-size:12px; }
  .store-picker select { max-width:185px; }
  .anime-navigation { min-height:40px; }
  .campaign-copy h1 { font-size:clamp(29px,8vw,44px); }
  .campaign-copy>p { font-size:clamp(11px,3.1vw,17px); }
  .campaign-link,.dman-campaign .campaign-link { font-size:14px; min-height:34px; }
  .collection-heading h2 { font-size:29px; }
  .collection-heading p { font-size:12px; }
  .collection-heading>a { font-size:13px; }
  .spotlight-grid .product-info { padding:7px 3px 10px; }
  .spotlight-grid .product-info h3 { font-size:13px; line-height:1.5; letter-spacing:0; white-space:normal; overflow:visible; min-height:39px; display:flex; align-items:center; justify-content:center; }
  .spotlight-grid .price { font-size:25px; }
  .spotlight-grid .price small { font-size:15px; }
  .spotlight-grid .price-row { margin-top:5px; }
  .shop-shell .product-grid .product-info h3 { font-size:15px; }
  .shop-shell .product-grid .product-info>p { font-size:12px; }
  .shop-shell .product-grid .price { font-size:27px; }
  .shop-shell .product-grid .price small { font-size:16px; }
  .shop-shell .product-tag { font-size:11px; }
  .dman-campaign-copy h2 { font-size:clamp(27px,7.5vw,40px); }
  .dman-campaign-copy p { font-size:clamp(12px,3.2vw,18px); }
  .anime-bottom-nav>a { font-size:17px; }
  .shop-shell .catalog-item h3 { font-size:14px; }
  .shop-shell .catalog-item p { font-size:12px; }
  .shop-shell .catalog-item .price { font-size:25px; }
  .shop-shell .category-nav { width:85px; }
  .shop-shell .category-nav button { font-size:13px; }
  .shop-shell .order-line h3 { font-size:14px; }
  .shop-shell .order-line p,.shop-shell .order-card-top strong { font-size:12px; }
  .shop-shell .order-card-bottom .button { font-size:13px; min-height:36px; }
  .shop-shell .notice,.shop-shell .privacy-note { font-size:12px; }
  .shop-shell .profile-stats span { font-size:12px; }
  .shop-shell .profile-card h1 { font-size:23px; }
  .anime-service { font-size:11px; gap:18px; }
  .anime-footer { font-size:12px; }
  .anime-footer>small,.anime-footer>a { font-size:11px; }
}
@media(max-width:360px) {
  .anime-wordmark strong { font-size:28px; }
  .spotlight-grid .product-info h3 { font-size:12px; }
  .anime-bottom-nav>a { font-size:16px; }
  .campaign-copy h1 { font-size:27px; }
  .shop-shell .category-nav { width:77px; }
}

/* Dman catalogue: larger square previews and easier-to-read categories. */
.shop-shell .category-nav { width:150px; }
.shop-shell .category-nav button { font-size:18px; line-height:1.5; min-height:52px; }
.shop-shell .catalog-image { width:168px; height:auto; aspect-ratio:1; }
.shop-shell .catalog-image img { display:block; object-fit:cover; object-position:center top; }
.shop-shell .catalog-layout .product-image { aspect-ratio:1; }
.shop-shell .catalog-layout .product-image img { object-fit:cover; object-position:center top; }
.shop-shell .catalog-item>div { min-width:0; }
.checkout-items { display:flex; flex-direction:column; gap:14px; }
.checkout-items>div { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:14px; }
.checkout-items small { display:block; margin-top:5px; color:#786b85; font-size:12px; }
.checkout-items strong { white-space:nowrap; }
@media(max-width:760px) {
  .shop-shell .catalog-layout { gap:10px; }
  .shop-shell .category-nav { width:90px; }
  .shop-shell .category-nav button { font-size:17px; padding:13px 8px; min-height:52px; }
  .shop-shell .catalog-item { display:grid; grid-template-columns:128px minmax(0,1fr); gap:10px; padding:10px; align-items:start; min-height:150px; }
  .shop-shell .catalog-image { width:100%; height:auto; aspect-ratio:1; }
  .shop-shell .catalog-item h3 { line-height:1.5; overflow-wrap:anywhere; }
  .shop-shell .catalog-item p { margin-bottom:8px; }
  .shop-shell .catalog-item .price { display:block; padding-right:26px; white-space:nowrap; }
  .shop-shell .catalog-item .add-button { bottom:12px; }
}
@media(max-width:380px) {
  .shop-shell .category-nav { width:84px; }
  .shop-shell .category-nav button { font-size:16px; }
  .shop-shell .catalog-item { grid-template-columns:112px minmax(0,1fr); gap:8px; }
}
@media(max-width:340px) {
  .shop-shell .catalog-item { grid-template-columns:minmax(0,1fr); }
  .shop-shell .catalog-item .add-button { bottom:12px; right:10px; }
}
