:root {
  color-scheme: dark;
  color: #eee8ff;
  background: #11142d;
  --bg: #11142d;
  --panel: #1b1c3d;
  --line: rgba(214, 198, 255, .19);
  --muted: #aaa6cb;
  --accent: #f1ca86;
  --blue: #a8a8ef;
  --mono: "DM Mono", monospace;
  --ink: #19172f;
  --paper: #f7edda;
  --paper-muted: #c9bfdf;
}
html { background: #11142d; scroll-padding-top: 88px; }
body {
  color: #f4edff;
  background:
    radial-gradient(ellipse at 68% 8%, rgba(115, 91, 188, .26), transparent 31%),
    radial-gradient(ellipse at 13% 33%, rgba(75, 73, 151, .17), transparent 37%),
    radial-gradient(ellipse at 90% 72%, rgba(142, 89, 146, .12), transparent 32%),
    #11142d;
}
.sky-grain {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .38;
  background-image: radial-gradient(1px 1px at 8% 14%,#fff 95%,transparent), radial-gradient(1px 1px at 31% 44%,#dac8ff 95%,transparent), radial-gradient(1px 1px at 72% 18%,#fff4ce 95%,transparent), radial-gradient(1px 1px at 91% 48%,#fff 95%,transparent), radial-gradient(1px 1px at 57% 78%,#dac8ff 95%,transparent), radial-gradient(1px 1px at 19% 82%,#fff 95%,transparent), radial-gradient(1px 1px at 83% 92%,#ffe7ad 95%,transparent);
  background-size: 370px 310px;
}
.topbar {
  border-bottom: 1px solid rgba(222,210,255,.18); background: rgba(17,20,45,.83);
  box-shadow: 0 8px 28px rgba(5,6,25,.24); backdrop-filter: blur(18px);
}
.brand { color: #fff4d8; letter-spacing: .03em; }
.brand-muted { color: #aca7cd; font-weight: 500; }
.brand-mark {
  width: 32px; height: 32px; display: grid; place-items: center; padding: 0;
  border: 1px solid rgba(242,210,148,.68); border-radius: 50%; color: #f3d597;
  background: radial-gradient(circle at 38% 30%,#61578f,#28264f 72%);
  box-shadow: 0 0 20px rgba(225,192,132,.16), inset 0 0 0 3px rgba(242,210,148,.08);
}
.brand-mark span { width: auto; height: auto; background: none; font-size: 15px; }
.topnav { color: #c5bfdc; }
.topnav a { transition: color .2s; }
.topnav a:hover,.footer>a:last-child:hover { color: #f2cf91; }
.account-actions,.footer-actions { display:flex; align-items:center; gap:9px; }
.button { border-radius: 999px; font-weight: 700; letter-spacing: .015em; }
.button-primary,.button-register {
  color: #27203c; border: 1px solid #ffe5ad; background: linear-gradient(120deg,#f8d995,#e4b675);
  box-shadow: 0 8px 24px rgba(224,184,115,.2), inset 0 1px rgba(255,255,255,.72);
}
.button-primary:hover,.button-register:hover { background: linear-gradient(120deg,#ffe6a7,#efc285); }
.button-secondary,.button-quiet,.button-login {
  color: #ece5ff; border: 1px solid rgba(216,202,255,.29); background: rgba(39,38,78,.77);
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.button-secondary:hover,.button-quiet:hover,.button-login:hover { border-color: rgba(245,218,161,.65); background: rgba(58,53,103,.9); }
.hero { min-height: 585px; padding-block: 88px 80px; gap: 56px; }
.hero::before {
  content:""; position:absolute; inset:30px -20px 28px; border:1px solid rgba(235,224,255,.12); border-radius:38px;
  background: radial-gradient(ellipse at 72% 36%,rgba(95,83,154,.15),transparent 55%), linear-gradient(110deg,rgba(25,27,61,.5),rgba(33,28,68,.2));
  box-shadow: 0 22px 65px rgba(4,6,28,.15), inset 0 1px rgba(255,255,255,.035);
}
.eyebrow { color:#d4b97e; letter-spacing:.14em; }
.pulse { background:#f3cf8b; box-shadow:0 0 14px #f3cf8b; }
h1 { color:#fbf2de; letter-spacing:-.055em; text-shadow:0 4px 26px rgba(14,13,43,.45); }
h1 span {
  color:#efcb88; background:linear-gradient(95deg,#f9dc9e,#d9b6ff 78%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero-lede { color:#c4bfd8; }
.registration-status { color:#efb9bf; }
.registration-status.is-open { color:#b7e3c9; }
.check { color:#28203d; background:linear-gradient(145deg,#f6d993,#d4b7ff); }
.hero-note { color:#b4afce; }
.dot-separator { color:#c8ae7b; }
.hero-stamp { display:flex; align-items:center; gap:9px; margin-top:27px; color:#b1aacc; font-size:10px; line-height:1.55; letter-spacing:.07em; }
.hero-stamp>span:first-child { display:grid; place-items:center; width:34px; height:34px; border:1px solid #d9bd81; border-radius:50%; color:#f0d49b; font:11px var(--mono); transform:rotate(-12deg); }
.hero-card.witch-scene {
  position:relative; min-height:438px; padding:18px 22px 15px; border:1px solid rgba(245,228,183,.42); border-radius:30px 30px 18px 30px;
  background: radial-gradient(ellipse at 54% 47%,rgba(101,93,165,.54),transparent 52%), linear-gradient(152deg,#32315f 0%,#222345 48%,#32284f 100%);
  box-shadow:0 28px 70px rgba(4,6,26,.46),inset 0 0 0 5px rgba(238,217,170,.045),inset 0 0 35px rgba(184,168,255,.11);
  transform:rotate(1deg); overflow:hidden;
}
.witch-scene::before,.witch-scene::after { content:""; position:absolute; inset:11px; border:1px solid rgba(239,217,170,.2); border-radius:24px 24px 13px 24px; pointer-events:none; }
.witch-scene::after { inset:auto 0 0; height:40%; border:0; background:linear-gradient(transparent,rgba(16,17,43,.22)); }
.scene-label { position:relative; z-index:1; display:flex; align-items:center; gap:9px; color:#ead8ad; font-size:11px; font-weight:700; letter-spacing:.08em; }
.scene-label::before { content:"✦"; color:#f4d991; font-size:17px; }
.scene-label-pill { margin-left:auto; padding:6px 10px; border:1px solid rgba(243,219,168,.23); border-radius:999px; background:rgba(20,20,52,.48); color:#c5b5dc; font:9px var(--mono); }
.witch-art { position:relative; z-index:1; display:block; width:100%; height:auto; max-height:338px; margin:1px auto -4px; filter:drop-shadow(0 15px 12px rgba(8,9,31,.28)); animation:witch-hover 6s ease-in-out infinite; }
.scene-caption {
  position:relative; z-index:2; display:flex; align-items:center; gap:11px; width:max-content; max-width:95%; margin:0 auto;
  padding:9px 14px 9px 10px; border:1px solid rgba(247,223,172,.37); border-radius:12px; color:#f6edda;
  background:rgba(27,26,60,.84); box-shadow:0 8px 24px rgba(8,8,28,.3); backdrop-filter:blur(8px);
}
.familiar-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#312747; background:linear-gradient(145deg,#f7d992,#edb8a7); }
.scene-caption strong,.scene-caption small { display:block; }
.scene-caption strong { color:#f6e6bd; font-size:11px; }
.scene-caption small { margin-top:3px; color:#bdb5d6; font-size:9px; }
.scene-route { margin-left:12px; color:#dfc385; font-size:12px; }
.scene-note { position:absolute; z-index:2; padding:5px 8px; border:1px dashed rgba(240,217,168,.45); border-radius:6px; color:#e3d3aa; background:rgba(23,23,54,.56); font:9px var(--mono); transform:rotate(-6deg); }
.note-a { right:20px; top:93px; }.note-b { left:21px; bottom:75px; transform:rotate(5deg); }
.orb-one { background:radial-gradient(circle,rgba(187,170,255,.19),transparent 69%); }
.orb-two { background:radial-gradient(circle,rgba(243,206,136,.12),transparent 69%); }
.stats {
  gap:1px; border:1px solid rgba(231,212,171,.25); border-radius:17px; background:rgba(205,183,142,.17);
  box-shadow:0 17px 42px rgba(5,6,27,.23),0 0 36px rgba(109,92,176,.08); overflow:hidden;
}
.stat-card { position:relative; min-height:130px; padding:23px 25px; background:linear-gradient(155deg,rgba(38,38,79,.96),rgba(29,29,62,.97)); }
.stat-card::after { content:"✦"; position:absolute; top:15px; right:16px; color:rgba(238,211,158,.44); font-size:12px; }
.stat-label { color:#c8bdde; }
.stat-card strong { color:#f3d997; font-size:24px; }
.stat-caption { color:#9f9abb; }
.section { padding-block:94px; }
.section-heading h2 { color:#fff3d9; font-size:31px; letter-spacing:-.035em; }
.section-heading p { color:#b8b4d0; }
.catalog-updated { color:#b7b1cf; }
.catalog-toolbar { gap:11px; margin:26px 0 15px; }
.search-box,.select-box { border:1px solid rgba(218,203,255,.22); border-radius:11px; color:#c7bddc; background:rgba(31,31,68,.9); box-shadow:inset 0 1px rgba(255,255,255,.035); }
.search-box:focus-within,.select-box:focus-within { border-color:rgba(241,207,141,.7); box-shadow:0 0 0 3px rgba(241,207,141,.09); }
.search-box input,.select-box select { color:#f1eafb; }
.search-box input::placeholder { color:#8e89ab; }
.select-box option { color:#eee8ff; background:#252448; }
.table-shell { border:1px solid rgba(232,216,177,.28); border-radius:17px; background:rgba(27,28,60,.94); box-shadow:0 15px 44px rgba(4,5,24,.25); }
table { white-space:nowrap; }
thead { background:linear-gradient(90deg,#34315f,#37345e); }
th { color:#e2d4ad; border-bottom:1px solid rgba(232,216,177,.23); font-size:10px; letter-spacing:.04em; }
td { color:#e2dcf0; border-bottom:1px solid rgba(211,202,243,.11); }
tbody tr:hover { background:rgba(114,100,173,.13); }
.model-name { color:#fff3dd; }
.model-id { color:#aaa3c5; }
.provider-badge { border-color:rgba(201,186,255,.25); color:#d2c4ff; background:rgba(118,101,184,.17); }
.offer-count-badge { display:inline-flex; align-items:center; gap:5px; margin-left:7px; padding:4px 7px; border:1px solid rgba(239,207,144,.25); border-radius:999px; color:#e9cd94; background:rgba(198,155,92,.09); font-size:9px; }
.expand-model { border:1px solid rgba(218,202,255,.26); border-radius:999px; padding:6px 9px; color:#e5dbff; background:rgba(116,100,177,.19); font:10px "DM Sans","Noto Sans SC",sans-serif; cursor:pointer; transition:all .18s ease; }
.expand-model:hover,.expand-model[aria-expanded="true"] { border-color:#e9cd94; color:#f6db9d; background:rgba(183,142,76,.15); }
.price-low { color:#f5d998; font-weight:700; }
.price-low small { display:block; margin-top:3px; color:#9f9aba; font-size:8px; font-weight:400; }
.detail-row td { padding:0 15px 15px; background:rgba(16,17,44,.55); }
.channel-details { display:grid; gap:9px; padding:12px; border:1px solid rgba(222,206,166,.16); border-radius:11px; background:rgba(33,33,70,.71); }
.channel-offer { display:grid; grid-template-columns:minmax(155px,1.2fr) repeat(4,minmax(85px,.8fr)); gap:12px; align-items:center; padding:10px 11px; border:1px solid rgba(214,201,246,.1); border-radius:8px; background:rgba(255,255,255,.025); color:#d9d3e8; font-size:10px; }
.channel-offer-name { overflow:hidden; text-overflow:ellipsis; color:#e8d6a9; }
.channel-offer-label { display:block; margin-bottom:3px; color:#8885a7; font-size:8px; }
.empty-state { color:#c1b9d5; padding:34px; }
.catalog-footer { color:#aba5c4; }
.how-section { border-block:1px solid rgba(226,209,169,.15); background:linear-gradient(180deg,rgba(35,34,75,.84),rgba(27,28,60,.73)); }
.step-card { position:relative; min-height:175px; padding:23px; border:1px solid rgba(228,211,174,.19); border-radius:14px 14px 14px 5px; background:linear-gradient(145deg,rgba(43,42,87,.88),rgba(32,32,69,.92)); box-shadow:0 12px 26px rgba(4,5,24,.16); }
.step-card::after { content:"✧"; position:absolute; top:16px; right:17px; color:rgba(236,203,136,.66); }
.step-number { color:#f0cc8c; font:10px var(--mono); letter-spacing:.04em; }
.step-card h3 { color:#fff0d2; }
.step-card p { color:#b8b2cf; }
.cta-panel { border:1px solid rgba(241,210,149,.34); border-radius:16px; background:linear-gradient(105deg,rgba(160,127,81,.15),rgba(119,96,167,.19)); box-shadow:0 12px 32px rgba(5,5,23,.16); }
.cta-panel h3 { margin-top:8px; color:#fff0d1; }
.cta-panel p { color:#c2bad3; }
.faq-list { border-top-color:rgba(218,203,255,.19); }
.faq-list details { border-bottom-color:rgba(218,203,255,.19); }
.faq-list summary { color:#f0e9fb; }
.faq-list summary span { color:#e6c886; }
.faq-list p { color:#bcb6d2; }
.footer { border-top-color:rgba(218,203,255,.2); color:#aaa4c3; }
.footer .brand { color:#fff0d2; }
.footer .brand-mark { transform:scale(.86); }
.footer>a:last-child,.footer-actions a { color:#c9bfdc; font-weight:700; }
.footer-actions a:last-child { color:#f2cf91; }
.register-link.registration-closed { color:#eee8ff; border-color:#8f85b5; background:linear-gradient(120deg,#716b93,#5a557a); box-shadow:none; }
.hero-orb { opacity:.84; }
@keyframes witch-hover { 0%,100% { transform:translateY(0) rotate(1deg); } 50% { transform:translateY(-7px) rotate(-.4deg); } }
.witch-scene { animation:scene-float 7s ease-in-out infinite; }
@keyframes scene-float { 0%,100% { transform:rotate(1deg) translateY(0); } 50% { transform:rotate(.2deg) translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
@media (max-width:900px) { .hero { grid-template-columns:1fr .92fr; gap:31px; } .topnav { gap:17px; } .channel-offer { grid-template-columns:minmax(130px,1fr) repeat(2,minmax(90px,.7fr)); } .channel-offer>:nth-child(4),.channel-offer>:nth-child(5) { display:none; } }
@media (max-width:680px) {
  .topbar { gap:8px; }.account-actions { gap:6px; }.account-actions .button { min-height:35px; padding-inline:10px; font-size:10px; }
  .hero { padding-top:55px; }.hero::before { inset:20px -8px; border-radius:27px; }.hero-card.witch-scene { min-height:0; padding:15px 15px 13px; }.witch-art { max-height:290px; }
  .scene-label { font-size:9px; }.scene-note { font-size:8px; }.note-a { right:18px; top:76px; }.note-b { left:16px; bottom:69px; }
  .hero-stamp { margin-top:22px; }.catalog-toolbar { flex-wrap:wrap; }.search-box { max-width:none; flex-basis:100%; }.select-box { flex:1; }.select-box select { width:100%; min-width:0; }
  .section { padding-block:68px; }.section-heading h2 { font-size:27px; }.table-shell { overflow-x:auto; } table { min-width:900px; }.channel-offer { grid-template-columns:minmax(130px,1fr) repeat(2,minmax(90px,.6fr)); gap:7px; padding:9px 7px; font-size:9px; }.channel-offer>:nth-child(4),.channel-offer>:nth-child(5) { display:none; }
  .steps-grid { gap:9px; }.step-card { padding:17px; min-height:155px; }.step-card h3 { margin-top:18px; }.cta-panel { align-items:flex-start; flex-direction:column; padding:20px; }.footer { flex-wrap:wrap; gap:12px; padding-block:20px; }.footer>span { order:3; width:100%; }
}

.price-original { margin-right:5px; color:#8885a7; font-size:.85em; font-weight:400; text-decoration:line-through; }
.rate-badge { display:inline-flex; align-items:center; margin-left:7px; padding:4px 8px; border:1px solid rgba(167,239,192,.3); border-radius:999px; color:#a7efc0; background:rgba(167,239,192,.08); font-size:9px; white-space:nowrap; }
.channel-offer b { display:block; color:#f5d998; }
