/* Linage: tokens follow the Hexagone design system, the palette is Linage's. Soft edges, slow easing. */
:root {
  --c-bg: #040409;
  --glass: linear-gradient(150deg, rgba(24, 22, 42, 0.62), rgba(9, 9, 20, 0.5));
  --surface-1: rgba(8, 8, 18, 0.6);
  --surface-4: rgba(30, 28, 52, 0.7);
  --border: rgba(237, 233, 207, 0.09);
  --border-hover: rgba(237, 233, 207, 0.22);
  --text: #f3f0e4;
  --text-2: #cbc8d8;
  --text-3: #8d899f;
  --w-05: rgba(255, 255, 255, 0.045);
  --w-10: rgba(255, 255, 255, 0.09);
  --accent: #ede9cf;
  --accent-rgb: 237, 233, 207;
  --accent-contrast: #15140d;
  --accent-2: #8467ff;
  --accent-2-rgb: 132, 103, 255;
  --r-md: 14px; --r-xl: 24px;
  --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 22px; --sp-6: 28px;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-soft: cubic-bezier(0.33, 0, 0.2, 1);
  --dur-base: 0.35s; --dur-slow: 0.55s; --dur-enter: 0.9s;
  --font-ui: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --topbar-h: 68px;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  background:
    radial-gradient(1000px 700px at 85% -8%, rgba(88, 56, 196, 0.2), transparent 64%),
    radial-gradient(900px 680px at -8% 106%, rgba(70, 40, 150, 0.18), transparent 64%),
    var(--c-bg);
  background-attachment: fixed;
  color: var(--text-2);
  font: 15.5px/1.68 var(--font-ui);
  overflow-x: hidden;
}
body::after { content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse at 50% 38%, transparent 42%, rgba(2, 2, 6, 0.7) 100%); }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
a { color: inherit; text-decoration: none; }
::selection { background: rgba(var(--accent-2-rgb), 0.4); color: #fff; }
:focus { outline: none; }
:focus-visible { outline: 2px solid rgba(var(--accent-rgb), 0.6); outline-offset: 3px; border-radius: 10px; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 8px; }

@keyframes page-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes lift-in { from { opacity: 0; transform: translateY(14px) scale(0.985); } to { opacity: 1; transform: none; } }
@keyframes text-in { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }
@keyframes toast-in { from { opacity: 0; transform: translate(-50%, 14px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes glow-pulse { from { box-shadow: 0 6px 30px -8px rgba(var(--accent-rgb), 0.3); } to { box-shadow: 0 10px 44px -6px rgba(var(--accent-rgb), 0.5); } }
@keyframes tw { 0%, 100% { opacity: 0.35; } 50% { opacity: 0.85; } }

/* ---------- background: live clouds (canvas) and stars ---------- */
.sky { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.cloud { position: absolute; inset: -6%; width: 112%; height: 112%; filter: blur(14px); image-rendering: auto; }
.cloud--warm { opacity: 0.5; }
.cloud--violet { opacity: 0.55; }
.layer { position: absolute; left: 0; top: 0; border-radius: 50%; background: transparent; }
.l1{width:1px;height:1px;box-shadow:45.24vw 55.98vh 0 0 rgba(221,217,191,0.29),45.18vw 85.50vh 0 0 rgba(176,150,255,0.15),47.58vw 61.40vh 0 0 rgba(221,217,191,0.15),30.34vw 9.07vh 0 0 rgba(221,217,191,0.27),59.54vw 39.62vh 0 0 rgba(176,150,255,0.20),65.01vw 62.31vh 0 0 rgba(221,217,191,0.27),5.96vw 19.02vh 0 0 rgba(221,217,191,0.16),77.81vw 32.63vh 0 0 rgba(221,217,191,0.23),51.91vw 64.03vh 0 0 rgba(221,217,191,0.21),45.73vw 27.82vh 0 0 rgba(221,217,191,0.30),70.78vw 31.53vh 0 0 rgba(221,217,191,0.16),2.98vw 56.31vh 0 0 rgba(221,217,191,0.14),84.66vw 38.65vh 0 0 rgba(221,217,191,0.29),21.35vw 92.70vh 0 0 rgba(221,217,191,0.13),98.04vw 39.74vh 0 0 rgba(221,217,191,0.13),77.85vw 26.98vh 0 0 rgba(221,217,191,0.14),1.51vw 41.01vh 0 0 rgba(221,217,191,0.29),24.64vw 10.10vh 0 0 rgba(221,217,191,0.13),17.77vw 55.93vh 0 0 rgba(221,217,191,0.20),98.53vw 76.95vh 0 0 rgba(221,217,191,0.20),11.65vw 42.08vh 0 0 rgba(221,217,191,0.16),86.43vw 97.49vh 0 0 rgba(221,217,191,0.23),21.07vw 39.43vh 0 0 rgba(176,150,255,0.27),10.03vw 98.93vh 0 0 rgba(221,217,191,0.16),0.96vw 61.03vh 0 0 rgba(221,217,191,0.27),7.34vw 9.01vh 0 0 rgba(221,217,191,0.22),1.55vw 36.87vh 0 0 rgba(221,217,191,0.23),95.91vw 48.37vh 0 0 rgba(221,217,191,0.22),18.28vw 15.41vh 0 0 rgba(176,150,255,0.28),24.95vw 18.98vh 0 0 rgba(176,150,255,0.25),19.66vw 95.01vh 0 0 rgba(176,150,255,0.28),7.85vw 4.74vh 0 0 rgba(176,150,255,0.14),96.27vw 23.84vh 0 0 rgba(221,217,191,0.25),42.08vw 90.48vh 0 0 rgba(176,150,255,0.21),17.54vw 72.04vh 0 0 rgba(221,217,191,0.13),47.93vw 65.35vh 0 0 rgba(221,217,191,0.23),28.02vw 91.74vh 0 0 rgba(221,217,191,0.16),6.92vw 41.14vh 0 0 rgba(221,217,191,0.16),17.63vw 36.88vh 0 0 rgba(221,217,191,0.22),9.22vw 13.84vh 0 0 rgba(221,217,191,0.20),65.69vw 69.12vh 0 0 rgba(221,217,191,0.23),58.99vw 92.36vh 0 0 rgba(221,217,191,0.21),70.10vw 96.28vh 0 0 rgba(221,217,191,0.12),48.22vw 73.05vh 0 0 rgba(221,217,191,0.18),7.53vw 54.61vh 0 0 rgba(221,217,191,0.25),79.33vw 91.50vh 0 0 rgba(221,217,191,0.18),90.08vw 87.11vh 0 0 rgba(221,217,191,0.20),86.35vw 57.28vh 0 0 rgba(221,217,191,0.23),37.92vw 1.24vh 0 0 rgba(221,217,191,0.13),63.94vw 99.33vh 0 0 rgba(221,217,191,0.28),38.84vw 73.50vh 0 0 rgba(221,217,191,0.22),46.26vw 54.13vh 0 0 rgba(176,150,255,0.21),2.98vw 60.13vh 0 0 rgba(221,217,191,0.21),95.74vw 11.29vh 0 0 rgba(221,217,191,0.26),25.58vw 1.13vh 0 0 rgba(176,150,255,0.17),20.26vw 16.96vh 0 0 rgba(221,217,191,0.28),49.83vw 24.15vh 0 0 rgba(221,217,191,0.19),19.85vw 43.09vh 0 0 rgba(221,217,191,0.27),88.03vw 38.44vh 0 0 rgba(221,217,191,0.22),20.99vw 13.46vh 0 0 rgba(221,217,191,0.18),71.12vw 95.00vh 0 0 rgba(221,217,191,0.17),11.28vw 47.14vh 0 0 rgba(221,217,191,0.29),38.25vw 52.00vh 0 0 rgba(176,150,255,0.24),45.25vw 7.47vh 0 0 rgba(176,150,255,0.13),4.15vw 70.86vh 0 0 rgba(221,217,191,0.22),64.93vw 56.40vh 0 0 rgba(221,217,191,0.24),45.48vw 2.47vh 0 0 rgba(221,217,191,0.27),77.93vw 79.68vh 0 0 rgba(221,217,191,0.30),44.65vw 63.00vh 0 0 rgba(221,217,191,0.24),95.85vw 68.45vh 0 0 rgba(221,217,191,0.16),25.60vw 71.42vh 0 0 rgba(176,150,255,0.26),71.42vw 17.91vh 0 0 rgba(221,217,191,0.17),53.97vw 94.68vh 0 0 rgba(221,217,191,0.21),39.35vw 79.19vh 0 0 rgba(221,217,191,0.28),41.05vw 89.26vh 0 0 rgba(221,217,191,0.19),45.35vw 62.55vh 0 0 rgba(221,217,191,0.28),55.00vw 65.27vh 0 0 rgba(221,217,191,0.21),46.37vw 65.13vh 0 0 rgba(221,217,191,0.16),21.33vw 90.00vh 0 0 rgba(221,217,191,0.30),53.70vw 79.08vh 0 0 rgba(221,217,191,0.18),34.85vw 8.28vh 0 0 rgba(176,150,255,0.20),42.14vw 27.53vh 0 0 rgba(221,217,191,0.29),80.91vw 6.41vh 0 0 rgba(221,217,191,0.26),53.31vw 68.66vh 0 0 rgba(221,217,191,0.28),14.87vw 51.65vh 0 0 rgba(221,217,191,0.25),94.57vw 49.26vh 0 0 rgba(221,217,191,0.29),75.78vw 43.94vh 0 0 rgba(176,150,255,0.22),63.89vw 52.28vh 0 0 rgba(176,150,255,0.27),25.65vw 67.13vh 0 0 rgba(176,150,255,0.29),20.82vw 85.08vh 0 0 rgba(176,150,255,0.29),27.30vw 49.76vh 0 0 rgba(221,217,191,0.19),50.32vw 60.52vh 0 0 rgba(221,217,191,0.12),51.60vw 40.06vh 0 0 rgba(176,150,255,0.26),12.19vw 9.32vh 0 0 rgba(176,150,255,0.15),45.89vw 92.08vh 0 0 rgba(221,217,191,0.26),26.92vw 47.32vh 0 0 rgba(221,217,191,0.14),90.09vw 93.57vh 0 0 rgba(176,150,255,0.29),31.72vw 19.15vh 0 0 rgba(221,217,191,0.23),12.95vw 77.93vh 0 0 rgba(221,217,191,0.12),15.55vw 1.18vh 0 0 rgba(221,217,191,0.17),24.45vw 49.88vh 0 0 rgba(176,150,255,0.21),12.28vw 51.05vh 0 0 rgba(221,217,191,0.17),70.14vw 87.87vh 0 0 rgba(221,217,191,0.12),82.52vw 61.58vh 0 0 rgba(176,150,255,0.22),63.85vw 52.96vh 0 0 rgba(176,150,255,0.27),58.66vw 13.65vh 0 0 rgba(221,217,191,0.28),90.27vw 31.59vh 0 0 rgba(221,217,191,0.18),21.81vw 99.84vh 0 0 rgba(221,217,191,0.28),88.90vw 13.25vh 0 0 rgba(221,217,191,0.14),9.70vw 83.22vh 0 0 rgba(221,217,191,0.20),20.06vw 62.80vh 0 0 rgba(221,217,191,0.26),20.09vw 68.24vh 0 0 rgba(221,217,191,0.28),11.54vw 50.57vh 0 0 rgba(176,150,255,0.26),99.86vw 83.29vh 0 0 rgba(221,217,191,0.26),10.62vw 3.74vh 0 0 rgba(176,150,255,0.22),90.51vw 48.13vh 0 0 rgba(221,217,191,0.15),20.39vw 84.02vh 0 0 rgba(221,217,191,0.30),57.98vw 13.45vh 0 0 rgba(221,217,191,0.24),76.47vw 32.68vh 0 0 rgba(176,150,255,0.20),35.46vw 21.01vh 0 0 rgba(221,217,191,0.19),84.43vw 18.13vh 0 0 rgba(221,217,191,0.20),40.53vw 19.51vh 0 0 rgba(176,150,255,0.15),79.23vw 32.37vh 0 0 rgba(221,217,191,0.14),56.97vw 19.09vh 0 0 rgba(221,217,191,0.23),80.48vw 25.83vh 0 0 rgba(221,217,191,0.28),81.46vw 40.56vh 0 0 rgba(176,150,255,0.28),69.48vw 76.73vh 0 0 rgba(221,217,191,0.26),20.68vw 18.48vh 0 0 rgba(221,217,191,0.26),46.88vw 1.06vh 0 0 rgba(176,150,255,0.18),4.96vw 27.30vh 0 0 rgba(221,217,191,0.29),33.78vw 65.98vh 0 0 rgba(176,150,255,0.22),7.68vw 51.47vh 0 0 rgba(221,217,191,0.21),70.13vw 76.17vh 0 0 rgba(221,217,191,0.30),11.48vw 10.81vh 0 0 rgba(221,217,191,0.16),40.16vw 5.05vh 0 0 rgba(221,217,191,0.16),1.08vw 25.86vh 0 0 rgba(221,217,191,0.17),55.01vw 50.78vh 0 0 rgba(176,150,255,0.29),84.64vw 9.96vh 0 0 rgba(221,217,191,0.20),54.94vw 66.84vh 0 0 rgba(221,217,191,0.29),93.02vw 15.99vh 0 0 rgba(221,217,191,0.20),85.57vw 54.20vh 0 0 rgba(221,217,191,0.23),94.53vw 42.07vh 0 0 rgba(176,150,255,0.21),31.24vw 53.04vh 0 0 rgba(221,217,191,0.21),56.06vw 28.35vh 0 0 rgba(221,217,191,0.25),2.69vw 77.25vh 0 0 rgba(221,217,191,0.23),40.88vw 68.43vh 0 0 rgba(221,217,191,0.13),74.84vw 5.02vh 0 0 rgba(221,217,191,0.30),7.35vw 90.56vh 0 0 rgba(221,217,191,0.20),25.09vw 75.55vh 0 0 rgba(221,217,191,0.13),93.73vw 72.27vh 0 0 rgba(221,217,191,0.20),60.36vw 11.51vh 0 0 rgba(221,217,191,0.23),11.80vw 86.11vh 0 0 rgba(221,217,191,0.18),12.43vw 44.29vh 0 0 rgba(221,217,191,0.24),60.11vw 63.96vh 0 0 rgba(221,217,191,0.24),77.80vw 53.08vh 0 0 rgba(221,217,191,0.30),73.43vw 23.84vh 0 0 rgba(221,217,191,0.14),78.43vw 62.50vh 0 0 rgba(221,217,191,0.18),60.98vw 72.51vh 0 0 rgba(221,217,191,0.25),63.31vw 75.33vh 0 0 rgba(221,217,191,0.15),50.21vw 65.29vh 0 0 rgba(221,217,191,0.16),62.84vw 0.95vh 0 0 rgba(221,217,191,0.17),62.33vw 10.25vh 0 0 rgba(221,217,191,0.22),75.58vw 91.29vh 0 0 rgba(221,217,191,0.15),63.11vw 37.32vh 0 0 rgba(221,217,191,0.21),33.83vw 49.44vh 0 0 rgba(221,217,191,0.14),80.23vw 44.73vh 0 0 rgba(221,217,191,0.27),44.43vw 74.73vh 0 0 rgba(221,217,191,0.19),36.89vw 65.37vh 0 0 rgba(221,217,191,0.30),29.09vw 75.90vh 0 0 rgba(221,217,191,0.27),42.77vw 36.93vh 0 0 rgba(221,217,191,0.14),7.85vw 8.30vh 0 0 rgba(221,217,191,0.22),81.53vw 46.35vh 0 0 rgba(221,217,191,0.27),7.61vw 21.33vh 0 0 rgba(221,217,191,0.24),69.51vw 49.48vh 0 0 rgba(221,217,191,0.26),28.29vw 14.29vh 0 0 rgba(221,217,191,0.18),36.64vw 11.74vh 0 0 rgba(176,150,255,0.25),59.48vw 90.24vh 0 0 rgba(221,217,191,0.24),43.80vw 80.30vh 0 0 rgba(221,217,191,0.17),22.12vw 96.78vh 0 0 rgba(176,150,255,0.25),24.83vw 36.17vh 0 0 rgba(221,217,191,0.19),67.70vw 58.48vh 0 0 rgba(176,150,255,0.26),36.82vw 39.02vh 0 0 rgba(176,150,255,0.15),56.28vw 17.66vh 0 0 rgba(221,217,191,0.26),81.19vw 22.12vh 0 0 rgba(221,217,191,0.13),56.75vw 96.64vh 0 0 rgba(221,217,191,0.24),6.41vw 54.68vh 0 0 rgba(221,217,191,0.26),33.45vw 27.36vh 0 0 rgba(221,217,191,0.14),8.47vw 63.41vh 0 0 rgba(221,217,191,0.15),24.55vw 22.04vh 0 0 rgba(176,150,255,0.26),33.82vw 45.91vh 0 0 rgba(221,217,191,0.18);animation:swayA 120s ease-in-out infinite alternate;will-change:transform}
.l2{width:2px;height:2px;box-shadow:67.24vw 49.37vh 0 0 rgba(221,217,191,0.35),70.81vw 91.50vh 0 0 rgba(221,217,191,0.32),85.35vw 80.59vh 0 0 rgba(221,217,191,0.42),95.78vw 64.03vh 0 0 rgba(221,217,191,0.35),80.23vw 42.16vh 0 0 rgba(221,217,191,0.32),24.57vw 16.23vh 0 0 rgba(221,217,191,0.37),32.09vw 38.93vh 0 0 rgba(221,217,191,0.35),96.98vw 5.92vh 0 0 rgba(221,217,191,0.29),30.35vw 15.55vh 0 0 rgba(221,217,191,0.44),75.31vw 1.72vh 0 0 rgba(221,217,191,0.34),31.26vw 19.76vh 0 0 rgba(176,150,255,0.31),23.54vw 71.72vh 0 0 rgba(221,217,191,0.36),44.20vw 89.45vh 0 0 rgba(221,217,191,0.32),62.68vw 94.20vh 0 0 rgba(221,217,191,0.35),48.48vw 40.26vh 0 0 rgba(176,150,255,0.45),77.17vw 9.24vh 0 0 rgba(221,217,191,0.43),4.97vw 94.75vh 0 0 rgba(221,217,191,0.41),97.60vw 79.47vh 0 0 rgba(221,217,191,0.41),65.76vw 23.76vh 0 0 rgba(221,217,191,0.22),90.52vw 45.00vh 0 0 rgba(221,217,191,0.28),60.61vw 15.73vh 0 0 rgba(221,217,191,0.26),14.47vw 90.81vh 0 0 rgba(221,217,191,0.41),63.70vw 99.31vh 0 0 rgba(176,150,255,0.28),5.29vw 57.19vh 0 0 rgba(221,217,191,0.26),82.14vw 84.62vh 0 0 rgba(221,217,191,0.42),35.17vw 61.49vh 0 0 rgba(221,217,191,0.35),69.37vw 8.29vh 0 0 rgba(176,150,255,0.40),85.73vw 30.36vh 0 0 rgba(221,217,191,0.41),19.31vw 68.22vh 0 0 rgba(221,217,191,0.41),20.84vw 54.34vh 0 0 rgba(221,217,191,0.35),94.66vw 96.39vh 0 0 rgba(221,217,191,0.30),7.60vw 30.57vh 0 0 rgba(221,217,191,0.33),35.97vw 68.71vh 0 0 rgba(221,217,191,0.25),67.59vw 74.66vh 0 0 rgba(221,217,191,0.41),65.39vw 1.23vh 0 0 rgba(221,217,191,0.31),23.75vw 56.41vh 0 0 rgba(221,217,191,0.33),85.61vw 84.45vh 0 0 rgba(176,150,255,0.39),15.21vw 62.78vh 0 0 rgba(221,217,191,0.44),95.41vw 75.49vh 0 0 rgba(221,217,191,0.35),25.64vw 19.99vh 0 0 rgba(221,217,191,0.40),30.97vw 27.38vh 0 0 rgba(221,217,191,0.33),44.69vw 38.24vh 0 0 rgba(176,150,255,0.24),9.44vw 67.77vh 0 0 rgba(221,217,191,0.39),19.32vw 3.65vh 0 0 rgba(221,217,191,0.33),10.04vw 3.24vh 0 0 rgba(221,217,191,0.46),40.68vw 7.27vh 0 0 rgba(221,217,191,0.44),92.69vw 13.91vh 0 0 rgba(221,217,191,0.27),82.11vw 38.59vh 0 0 rgba(221,217,191,0.30),62.30vw 72.69vh 0 0 rgba(221,217,191,0.37),98.20vw 78.97vh 0 0 rgba(176,150,255,0.38),52.99vw 26.07vh 0 0 rgba(221,217,191,0.27),65.07vw 10.63vh 0 0 rgba(176,150,255,0.31);animation:tw 8s ease-in-out infinite,swayB 90s ease-in-out infinite alternate;will-change:transform}
.l3{width:2px;height:2px;box-shadow:33.28vw 29.35vh 2px 0px rgba(190,196,255,0.30),15.83vw 76.65vh 2px 0px rgba(176,150,255,0.50),23.39vw 61.20vh 2px 0px rgba(176,150,255,0.40),71.34vw 98.68vh 2px 0px rgba(190,196,255,0.40),70.68vw 93.59vh 2px 0px rgba(221,217,191,0.42),62.71vw 19.79vh 2px 0px rgba(221,217,191,0.30),47.79vw 41.75vh 2px 0px rgba(221,217,191,0.36),92.91vw 36.12vh 2px 0px rgba(221,217,191,0.39),45.23vw 72.98vh 2px 0px rgba(176,150,255,0.34),54.34vw 56.07vh 2px 0px rgba(221,217,191,0.41),16.85vw 74.57vh 2px 0px rgba(221,217,191,0.50),60.15vw 12.27vh 2px 0px rgba(221,217,191,0.48),68.51vw 36.36vh 2px 0px rgba(221,217,191,0.46),83.08vw 18.56vh 2px 0px rgba(221,217,191,0.41),45.44vw 40.34vh 2px 0px rgba(190,196,255,0.47),13.83vw 75.61vh 2px 0px rgba(221,217,191,0.48),61.52vw 64.03vh 2px 0px rgba(221,217,191,0.46),19.95vw 46.80vh 2px 0px rgba(221,217,191,0.31),11.83vw 40.57vh 2px 0px rgba(221,217,191,0.36),26.37vw 56.80vh 2px 0px rgba(190,196,255,0.36),78.40vw 72.16vh 2px 0px rgba(221,217,191,0.47),95.93vw 60.01vh 2px 0px rgba(221,217,191,0.39),89.67vw 91.31vh 2px 0px rgba(221,217,191,0.42),75.17vw 48.58vh 2px 0px rgba(190,196,255,0.52),40.90vw 43.40vh 2px 0px rgba(176,150,255,0.42),33.04vw 52.07vh 2px 0px rgba(221,217,191,0.38);animation:tw 11s ease-in-out infinite -4s,swayC 70s ease-in-out infinite alternate;will-change:transform}
.l4{width:3px;height:3px;box-shadow:32.07vw 5.47vh 6px 2px rgba(221,217,191,0.58),73.20vw 59.75vh 6px 2px rgba(221,217,191,0.59),88.26vw 87.71vh 6px 2px rgba(221,217,191,0.46),24.23vw 87.31vh 6px 2px rgba(221,217,191,0.64),69.49vw 52.62vh 6px 2px rgba(221,217,191,0.46),65.68vw 94.02vh 6px 2px rgba(190,196,255,0.62),96.65vw 66.57vh 6px 2px rgba(221,217,191,0.62),56.40vw 16.41vh 6px 2px rgba(221,217,191,0.56);animation:tw 14s ease-in-out infinite -7s,swayD 55s ease-in-out infinite alternate;will-change:transform}
.l1 { animation: tw 8s ease-in-out infinite alternate; }
.l2 { animation: tw 11s ease-in-out infinite alternate-reverse; }

/* ---------- top bar ---------- */
.topbar {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: var(--sp-6);
  height: var(--topbar-h); padding: 0 clamp(16px, 4vw, 44px);
  background: linear-gradient(180deg, rgba(6, 6, 14, 0.78), rgba(6, 6, 14, 0.5));
  backdrop-filter: blur(18px); border-bottom: 1px solid var(--border);
}
.brand { display: flex; align-items: center; gap: var(--sp-3); flex: none; }
.brand__logo { width: 28px; height: 28px; color: var(--accent); filter: drop-shadow(0 0 10px rgba(var(--accent-2-rgb), 0.6)); }
.brand__logo svg { display: block; width: 100%; height: 100%; }
.brand__name { font-size: 21px; font-weight: 700; letter-spacing: 0.6px; color: var(--accent);
  text-shadow: 0 0 18px rgba(var(--accent-2-rgb), 0.5); animation: text-in 0.6s var(--ease-out) 120ms both; }
.nav { position: relative; display: flex; align-self: stretch; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.nav::-webkit-scrollbar { display: none; }
.nav__item { position: relative; flex: none; display: flex; align-items: center; gap: 8px; padding: 0 var(--sp-4); color: var(--text-2);
  font-weight: 500; white-space: nowrap; transition: color var(--dur-base) var(--ease-soft), background-color var(--dur-base) var(--ease-soft); }
.nav__item:hover { background: var(--w-05); color: var(--text); }
.nav__item.is-active { color: var(--accent); }
.nav__item.is-disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.soon { font-size: 10px; letter-spacing: 0.6px; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: var(--w-10); color: var(--text-3); }
.nav__indicator { position: absolute; bottom: 8px; left: 0; height: 4px; border-radius: 4px;
  background: linear-gradient(90deg, rgba(var(--accent-rgb), 0.2), var(--accent), rgba(var(--accent-rgb), 0.2));
  box-shadow: 0 0 16px rgba(var(--accent-2-rgb), 0.7); transition: left var(--dur-slow) var(--ease-out), width var(--dur-slow) var(--ease-out); }
.ip { flex: none; }

/* ---------- views ---------- */
main { position: relative; z-index: 1; width: min(1080px, 100%); margin: 0 auto; padding: 56px clamp(16px, 4vw, 44px) 96px; }
.view { display: none; }
.view.is-active { display: block; animation: page-enter var(--dur-enter) var(--ease-out) both; }
.stagger > * { opacity: 0; animation: lift-in var(--dur-enter) var(--ease-out) both; }
.stagger > *:nth-child(1) { animation-delay: 0ms; } .stagger > *:nth-child(2) { animation-delay: 80ms; }
.stagger > *:nth-child(3) { animation-delay: 160ms; } .stagger > *:nth-child(4) { animation-delay: 240ms; }
.stagger > *:nth-child(5) { animation-delay: 320ms; } .stagger > *:nth-child(n + 6) { animation-delay: 400ms; }

/* ---------- components ---------- */
h1 { font-size: clamp(44px, 7.5vw, 76px); line-height: 1.1; padding-bottom: 0.06em; letter-spacing: 0.4px; font-weight: 750;
  background: linear-gradient(120deg, #fffbea 0%, var(--accent) 45%, #b9a7ff 100%); -webkit-background-clip: text; background-clip: text;
  color: transparent; filter: drop-shadow(0 0 26px rgba(var(--accent-2-rgb), 0.35)); }
h2 { font-size: 28px; color: var(--text); margin-bottom: var(--sp-2); letter-spacing: 0.2px; }
h3 { font-size: 17px; color: var(--text); margin-bottom: 8px; }
.sub { color: var(--text-3); margin-bottom: var(--sp-6); max-width: 640px; }
.lead { font-size: 18px; max-width: 660px; margin: var(--sp-5) 0 var(--sp-3); color: var(--text-2); }
.text { max-width: 660px; margin-bottom: var(--sp-6); color: var(--text-3); }
.badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; font-size: 11px; font-weight: 600;
  letter-spacing: 0.7px; text-transform: uppercase; background: rgba(var(--accent-rgb), 0.92); color: var(--accent-contrast); margin-bottom: var(--sp-4); }
.badge--dim { background: var(--w-10); color: var(--text-2); margin: 0; }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 22px;
  border: 1px solid var(--border); border-radius: 999px; background: var(--surface-1); color: var(--text); font-weight: 550;
  backdrop-filter: blur(10px);
  transition: background-color var(--dur-base) var(--ease-soft), border-color var(--dur-base) var(--ease-soft),
    transform var(--dur-base) var(--ease-out), box-shadow var(--dur-slow) var(--ease-soft); }
.btn:hover { background: var(--surface-4); border-color: var(--border-hover); transform: translateY(-2px); box-shadow: 0 12px 34px -14px rgba(var(--accent-2-rgb), 0.6); }
.btn:active { transform: translateY(0); }
.btn--primary { background: linear-gradient(135deg, #f6f2dc, var(--accent) 60%, #d9d3b3); border-color: transparent; color: var(--accent-contrast);
  font-weight: 650; animation: glow-pulse 4s ease-in-out infinite alternate; }
.btn--primary:hover { background: linear-gradient(135deg, #fffbe9, #f3efd6 60%, #e3ddbc); }
.btn--discord { background: linear-gradient(135deg, rgba(88, 101, 242, 0.55), rgba(88, 101, 242, 0.3)); border-color: rgba(120, 132, 255, 0.35); }
.btn--discord:hover { background: linear-gradient(135deg, rgba(88, 101, 242, 0.75), rgba(88, 101, 242, 0.45)); border-color: rgba(150, 160, 255, 0.6); }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn svg.stroke { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.card { background: var(--glass); border: 1px solid var(--border); border-radius: var(--r-xl); padding: var(--sp-6);
  backdrop-filter: blur(16px); box-shadow: 0 24px 60px -34px rgba(0, 0, 0, 0.8);
  transition: border-color var(--dur-slow) var(--ease-soft), box-shadow var(--dur-slow) var(--ease-soft), transform var(--dur-slow) var(--ease-out); }
.card--hover:hover { border-color: var(--border-hover); transform: translateY(-4px);
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.85), 0 0 50px -18px rgba(var(--accent-2-rgb), 0.55); }
.card p { color: var(--text-2); }
.grid { display: grid; gap: var(--sp-5); grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid--one { grid-template-columns: 1fr; }
.cmds { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.stats { display: flex; flex-wrap: wrap; gap: var(--sp-6); margin-top: 44px; }
.stat b { display: block; font-size: 28px; color: var(--accent); }
.stat span { font-size: 12px; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.7px; }
.season { margin-top: 40px; display: flex; align-items: center; gap: var(--sp-4); }
.season__dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 16px var(--accent); }
.season small { display: block; color: var(--text-3); }
.step { display: flex; gap: var(--sp-4); }
.step__n { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid var(--border-hover); color: var(--accent); font-weight: 600; background: rgba(var(--accent-rgb), 0.05); }
code { padding: 2px 9px; border-radius: 8px; background: var(--w-10); color: var(--accent); font: 13px ui-monospace, Consolas, monospace; }
.toast { position: fixed; z-index: 30; left: 50%; bottom: 30px; transform: translateX(-50%); padding: 11px 20px;
  background: var(--surface-4); border: 1px solid var(--border-hover); border-radius: 999px; color: var(--text); backdrop-filter: blur(12px);
  animation: toast-in 0.4s var(--ease-out) both; }
.foot { margin-top: 56px; color: var(--text-3); font-size: 13px; }
.foot a { color: var(--text-2); border-bottom: 1px solid var(--border); transition: color var(--dur-base), border-color var(--dur-base); }
.foot a:hover { color: var(--accent); border-color: var(--accent); }

/* ---------- shop sketch ---------- */
.notice { display: flex; gap: var(--sp-3); align-items: center; margin-bottom: var(--sp-6); padding: var(--sp-4) var(--sp-5);
  border: 1px dashed var(--border-hover); border-radius: var(--r-xl); color: var(--text-2); background: rgba(8, 8, 18, 0.45); }
.shop-sec { margin: 36px 0 16px; font-size: 20px; color: var(--text); }
.item { display: flex; flex-direction: column; gap: var(--sp-3); }
.item__top { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); }
.item__art { display: grid; place-items: center; height: 104px; border-radius: 18px; border: 1px solid var(--border);
  background: radial-gradient(circle at 50% 40%, rgba(var(--accent-2-rgb), 0.22), transparent 72%), rgba(255, 255, 255, 0.02); }
.item__art svg { width: 50px; height: 50px; fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(0 0 10px rgba(var(--accent-2-rgb), 0.7)); }
.item__art .chat { font: 15px ui-monospace, Consolas, monospace; color: var(--text); padding: 0 var(--sp-3); }
.item p { flex: 1; font-size: 14px; }
.item__bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.price { font-size: 21px; font-weight: 700; color: var(--accent); }
.btn[disabled] { opacity: 0.5; cursor: not-allowed; transform: none; animation: none; box-shadow: none; }

/* ---------- statistics ---------- */
.big { font-size: 34px; font-weight: 700; color: var(--accent); margin: 4px 0 8px; line-height: 1.15; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips span { padding: 3px 11px; border-radius: 999px; background: var(--w-10); color: var(--text-2); font-size: 13px; }
.live { display: flex; align-items: center; gap: 10px; margin-top: 14px; color: var(--text-2); }
.live[hidden], .notice[hidden] { display: none; }
.live__dot { width: 9px; height: 9px; border-radius: 50%; background: #7ee2a0; box-shadow: 0 0 14px #7ee2a0; flex: none; }
.rank { list-style: none; counter-reset: r; display: grid; gap: 4px; }
.rank li { counter-increment: r; display: flex; align-items: center; gap: 14px; padding: 9px 4px; border-bottom: 1px solid var(--border); }
.rank li:last-child { border-bottom: 0; }
.rank li::before { content: counter(r); width: 26px; text-align: center; color: var(--text-3); font-variant-numeric: tabular-nums; }
.rank li:nth-child(1)::before { color: var(--accent); font-weight: 700; }
.rank .who { flex: 1; color: var(--text); }
.rank .sum { color: var(--accent); font-weight: 650; font-variant-numeric: tabular-nums; }
.empty { color: var(--text-3); padding: 6px 0; }
.count { font-size: 12px; font-weight: 500; color: var(--text-3); margin-left: 6px; }
.list { list-style: none; display: grid; gap: 0; }
.list li { padding: 10px 0; border-bottom: 1px solid var(--border); }
.list li:last-child { border-bottom: 0; }
.list .head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.list .name { color: var(--text); font-weight: 600; }
.list .meta { color: var(--text-3); font-size: 13px; }
.list .why { color: var(--text-2); font-size: 14px; margin-top: 2px; }
.list--history li { display: grid; grid-template-columns: 110px 1fr; gap: 4px 16px; }
.tag { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 11px; letter-spacing: 0.5px; text-transform: uppercase; background: var(--w-10); color: var(--text-2); }
.tag--ban { background: rgba(255, 110, 110, 0.16); color: #ffb0b0; }
.tag--mute { background: rgba(255, 190, 90, 0.16); color: #ffd9a0; }
.tag--warn { background: rgba(255, 230, 120, 0.14); color: #ffeaa0; }
.tag--kick { background: rgba(140, 170, 255, 0.16); color: #b8c9ff; }
.swatch { display: inline-block; width: 44px; height: 44px; border-radius: 14px; margin-right: 16px; vertical-align: middle; box-shadow: 0 0 30px -4px currentColor; border: 1px solid var(--border-hover); }
.feather { display: flex; align-items: center; }
@media (max-width: 760px) { .list--history li { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .ip span { display: none; }
  main { padding-top: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-delay: 0ms !important; transition-duration: 0.01ms !important; }
}
