:root{
  --bg:#050917;
  --bg2:#08142c;
  --panel:#0d1730;
  --panel2:#111f3f;
  --text:#f7f8ff;
  --muted:#bac4db;
  --blue:#5b8dff;
  --blue2:#8fb2ff;
  --gold:#ffd66b;
  --gold2:#ffeaa3;
  --pink:#d4a6ff;
  --line:#20335e;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at 15% 5%,rgba(91,141,255,.12),transparent 28%),
    radial-gradient(circle at 90% 20%,rgba(212,166,255,.08),transparent 25%),
    linear-gradient(180deg,#050917,#060c1c 55%,#040711);
}
button,input{font:inherit}
button{cursor:pointer}
.container{width:min(var(--max),calc(100% - 32px));margin:auto}

.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(5,9,23,.9);
  border-bottom:1px solid rgba(143,178,255,.18);
  backdrop-filter:blur(16px);
}
.nav{min-height:76px;display:flex;align-items:center;gap:24px}
.brand{
  display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;white-space:nowrap
}
.brand strong{display:block;font-size:14px;letter-spacing:.8px}
.brand small{display:block;color:#91a2c7;font-size:11px;margin-top:2px}
.brand-orb{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(255,214,107,.55);
  color:var(--gold);
  background:radial-gradient(circle,rgba(255,214,107,.12),rgba(91,141,255,.08));
  box-shadow:0 0 24px rgba(255,214,107,.12);
}
.search{display:flex;flex:1;max-width:650px;margin-left:auto}
.search input{
  width:100%;border:1px solid #28426f;border-right:0;background:#f8faff;color:#111;padding:13px 15px;border-radius:10px 0 0 10px;outline:none
}
.search button{
  border:0;color:#07102a;font-weight:900;padding:0 22px;border-radius:0 10px 10px 0;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
}

.hero{
  position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;
  border-bottom:1px solid rgba(143,178,255,.16);
  background:
    radial-gradient(circle at 72% 45%,rgba(91,141,255,.16),transparent 28%),
    linear-gradient(135deg,#071226 0%,#050917 58%,#0b1530 100%);
}
.hero::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:110px;
  background:linear-gradient(180deg,transparent,rgba(4,7,17,.85));
  pointer-events:none;
}
.stars{position:absolute;inset:0;pointer-events:none}
.stars span{
  position:absolute;left:var(--x);top:var(--y);
  color:#fff3c4;font-size:16px;opacity:.45;
  animation:twinkle 2.8s ease-in-out infinite var(--d)
}
@keyframes twinkle{0%,100%{opacity:.22;transform:scale(.8)}50%{opacity:.95;transform:scale(1.25)}}
.hero-glow{position:absolute;border-radius:50%;filter:blur(25px)}
.hero-glow-a{width:430px;height:430px;right:2%;top:-12%;background:#225de8;opacity:.14}
.hero-glow-b{width:280px;height:280px;right:30%;bottom:-22%;background:#ffd66b;opacity:.08}

.hero-inner{
  position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:55px;padding:88px 0 110px
}
.kicker{font-size:12px;font-weight:900;letter-spacing:2.2px;color:var(--gold)}
.hero h1{
  max-width:760px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(48px,6.4vw,80px);line-height:.98;margin:13px 0 22px;letter-spacing:-2px
}
.hero p{max-width:700px;color:var(--muted);font-size:18px;line-height:1.7}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.primary,.secondary{
  display:inline-block;text-decoration:none;font-weight:900;padding:14px 20px;border-radius:10px;transition:.2s ease
}
.primary{
  background:linear-gradient(135deg,var(--gold),#ffe9a1);color:#10152a;
  box-shadow:0 12px 40px rgba(255,214,107,.12)
}
.secondary{
  border:1px solid rgba(143,178,255,.36);color:#e6edff;background:rgba(18,35,70,.46)
}
.primary:hover,.secondary:hover{transform:translateY(-2px)}
.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.hero-pills span{
  border:1px solid rgba(143,178,255,.17);background:rgba(7,16,38,.55);color:#b9c7e6;
  padding:7px 10px;border-radius:999px;font-size:12px
}

.magic-card{
  min-height:355px;border:1px solid rgba(255,214,107,.2);border-radius:28px;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,224,142,.2),transparent 26%),
    radial-gradient(circle at 50% 65%,rgba(91,141,255,.15),transparent 38%),
    linear-gradient(180deg,rgba(18,35,74,.74),rgba(6,12,30,.84));
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 30px 80px rgba(0,0,0,.35),inset 0 0 55px rgba(143,178,255,.04);
  position:relative;overflow:hidden
}
.magic-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.04) 50%,transparent 65%);
  transform:translateX(-100%);animation:shine 6s linear infinite
}
@keyframes shine{to{transform:translateX(100%)}}
.magic-castle{width:260px;height:230px;position:relative}
.moon{
  position:absolute;width:150px;height:150px;border-radius:50%;left:55px;top:15px;
  background:radial-gradient(circle at 35% 30%,#fff8dc 0%,#ffe9a6 48%,#d6b864 100%);
  box-shadow:0 0 50px rgba(255,222,132,.25)
}
.castle-shape{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:190px;height:130px}
.castle-base{
  position:absolute;left:28px;right:28px;bottom:0;height:65px;
  background:linear-gradient(180deg,#9bb7ff,#5474c9);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)
}
.tower{position:absolute;bottom:50px;background:linear-gradient(180deg,#c7d4ff,#6f8bda);clip-path:polygon(50% 0,100% 30%,88% 100%,12% 100%,0 30%)}
.tower-a{width:52px;height:88px;left:8px}
.tower-b{width:62px;height:118px;left:64px}
.tower-c{width:52px;height:88px;right:8px}
.spark{position:absolute;color:#fff0ae;font-size:17px;animation:float 3.2s ease-in-out infinite}
.spark-a{left:18px;top:42px}.spark-b{right:20px;top:74px;animation-delay:.8s}.spark-c{left:32px;bottom:40px;animation-delay:1.3s}
@keyframes float{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-9px);opacity:1}}
.magic-caption{font-family:Georgia,"Times New Roman",serif;color:#f8e9b8;font-size:18px}

.magic-story{
  border-top:1px solid rgba(255,214,107,.08);border-bottom:1px solid rgba(143,178,255,.12);
  background:linear-gradient(90deg,rgba(13,23,48,.72),rgba(7,12,31,.94),rgba(14,25,51,.72))
}
.magic-story-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;padding:48px 0}
.magic-story h2{font-family:Georgia,"Times New Roman",serif;font-size:34px;margin:7px 0 0}
.magic-story p{margin:0;color:var(--muted);line-height:1.75;font-size:15px}

.section{padding:54px 0}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-title h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;margin:6px 0 0}
.section-note,.count{color:var(--muted);font-size:14px}

.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{
  border:1px solid rgba(143,178,255,.17);background:rgba(12,24,50,.75);color:#edf2ff;padding:11px 16px;border-radius:999px;
  transition:.2s ease
}
.chip:hover,.chip.active{
  color:#091129;border-color:#ffe28c;
  background:linear-gradient(135deg,#ffd66b,#ffebb0);
  box-shadow:0 8px 28px rgba(255,214,107,.1)
}

.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.category{
  min-height:125px;text-align:left;border:1px solid rgba(143,178,255,.15);
  background:linear-gradient(180deg,rgba(16,30,63,.8),rgba(8,17,38,.9));
  color:#fff;border-radius:16px;padding:20px;transition:.2s ease
}
.category:hover,.category.active{
  transform:translateY(-3px);border-color:rgba(255,214,107,.55);
  background:linear-gradient(180deg,rgba(27,45,83,.92),rgba(11,21,46,.95));
  box-shadow:0 16px 40px rgba(0,0,0,.2)
}
.category-icon{display:block;color:var(--gold);font-size:20px;margin-bottom:12px}
.category b,.category small{display:block}
.category b{font-size:18px;margin-bottom:7px}
.category small{color:var(--muted);line-height:1.4}

.featured-strip{
  position:relative;overflow:hidden;
  border-top:1px solid rgba(255,214,107,.13);border-bottom:1px solid rgba(143,178,255,.12);
  background:
    radial-gradient(circle at 90% 20%,rgba(209,166,255,.12),transparent 30%),
    linear-gradient(90deg,#0b132b,#101d3c 52%,#0b1430)
}
.featured-strip::before{
  content:"✦";position:absolute;right:8%;top:-45px;font-size:180px;color:rgba(255,214,107,.035)
}
.featured-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:46px 0;position:relative;z-index:2}
.featured-copy{max-width:750px}
.featured-inner h2{font-family:Georgia,"Times New Roman",serif;font-size:34px;margin:7px 0 8px}
.featured-inner p{margin:0;color:var(--muted);line-height:1.6}
.featured-btn{
  border:1px solid rgba(255,214,107,.5);background:linear-gradient(135deg,#ffd66b,#ffedb7);
  color:#11162a;border-radius:10px;padding:14px 20px;font-weight:900;white-space:nowrap
}

.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.product-card{
  overflow:hidden;border:1px solid rgba(143,178,255,.14);
  background:linear-gradient(180deg,rgba(14,28,59,.9),rgba(7,15,34,.96));
  border-radius:16px;transition:.2s ease
}
.product-card:hover{
  transform:translateY(-4px);border-color:rgba(255,214,107,.35);
  box-shadow:0 18px 45px rgba(0,0,0,.25)
}
.product-image{aspect-ratio:1/1;background:#f7f8fb;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:contain}
.placeholder{
  color:#65748c;font-weight:900;text-align:center;padding:20px;line-height:1.55;font-size:13px
}
.product-info{padding:15px}
.tag{font-size:11px;color:var(--gold);font-weight:900;text-transform:uppercase}
.product-info h3{font-size:16px;line-height:1.35;margin:8px 0 10px;min-height:43px}
.store{color:var(--muted);font-size:13px;margin-bottom:14px}
.offer{
  display:block;text-align:center;text-decoration:none;
  background:linear-gradient(135deg,#ffd66b,#ffedb7);
  color:#10162a;padding:12px;border-radius:9px;font-weight:900
}
.empty{padding:50px;text-align:center;color:var(--muted);border:1px dashed rgba(143,178,255,.2);border-radius:16px}

.wish-banner{padding:18px 0 48px}
.wish-inner{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;
  border:1px solid rgba(255,214,107,.18);border-radius:20px;padding:28px 30px;
  background:linear-gradient(135deg,rgba(19,38,79,.72),rgba(9,18,42,.9))
}
.wish-star{
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:28px;
  border:1px solid rgba(255,214,107,.28);box-shadow:0 0 30px rgba(255,214,107,.08)
}
.wish-inner h2{font-family:Georgia,"Times New Roman",serif;margin:7px 0 7px;font-size:25px}
.wish-inner p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

.notice{background:#060b18;border-top:1px solid rgba(143,178,255,.12);border-bottom:1px solid rgba(143,178,255,.12)}
.notice-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding-top:43px;padding-bottom:43px}
.notice h2{font-family:Georgia,"Times New Roman",serif;margin:7px 0 0}
.notice p{margin:0;color:var(--muted);line-height:1.65}

footer{padding:38px 0 46px}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-brand small{display:block;color:#91a2c7;font-size:11px;margin-top:2px}
.footer-inner p{color:var(--muted);font-size:13px;line-height:1.6;max-width:900px}
.affiliate{margin-top:14px}

@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .magic-card{display:none}
}
@media(max-width:800px){
  .container{width:min(100% - 20px,var(--max))}
  .nav{min-height:64px;gap:10px;flex-wrap:wrap;padding:9px 0}
  .brand strong{font-size:13px}
  .brand-orb{width:36px;height:36px}
  .search{order:2;flex-basis:100%;max-width:none}
  .search input{padding:11px}
  .search button{padding:0 14px}
  .hero{min-height:430px}
  .hero-inner{padding:56px 0 74px}
  .hero h1{font-size:43px;letter-spacing:-1px}
  .hero p{font-size:15px}
  .hero-pills{gap:6px}
  .hero-pills span{font-size:11px}
  .magic-story-inner{grid-template-columns:1fr;gap:16px;padding:36px 0}
  .magic-story h2{font-size:27px}
  .section{padding:36px 0}
  .section-title{align-items:flex-start}
  .section-title h2{font-size:25px}
  .section-note{display:none}
  .chips{gap:7px}
  .chip{padding:9px 12px;font-size:13px}
  .category-grid{grid-template-columns:repeat(2,1fr);gap:9px}
  .category{min-height:108px;padding:14px}
  .category b{font-size:15px}
  .category small{font-size:12px}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:9px}
  .product-info{padding:11px}
  .product-info h3{font-size:14px;min-height:57px}
  .offer{padding:11px 7px;font-size:13px}
  .featured-inner{align-items:flex-start;flex-direction:column;padding:36px 0}
  .featured-inner h2{font-size:27px}
  .wish-inner{grid-template-columns:1fr;padding:22px}
  .wish-star{width:50px;height:50px}
  .notice-inner{grid-template-columns:1fr;gap:18px}
}
