/* SnowLark is the public and player-facing space. Staff keep AkemiNET's theme. */
body[data-area='snowlark'] {
  color-scheme: light;
  --bg: #f7f7f2;
  --surface: #fffefa;
  --surface-2: #ecf2f3;
  --line: #d8e1e3;
  --text: #243c4a;
  --muted: #5d717c;
  --accent: #31627d;
  --accent-ink: #fffef8;
  --danger: #a6323e;
  background: var(--bg);
  color: var(--text);
}
body[data-area='snowlark'] ::selection { background: #bddae5; color: #183d54; }
body[data-area='snowlark'] .brand-mark {
  background: #31627d;
  color: #fffdf5;
  padding: 0;
  font-style: normal;
  font-size: 27px;
}
body[data-area='snowlark'] .brand small { letter-spacing: .5px; text-transform: none; }
body[data-area='snowlark'] .sidebar { background: #eef3f3; border-color: #d4dfe2; }
body[data-area='snowlark'] .sidebar .brand { gap: 9px; font-size: 23px; }
body[data-area='snowlark'] .sidebar .brand small { font-size: 8px; letter-spacing: 0; }
body[data-area='snowlark'] .nav-label { color: #657e8b; }
body[data-area='snowlark'] .nav-item { color: #536c79; }
body[data-area='snowlark'] .nav-item:hover { background: #e0ebee; color: #24495e; }
body[data-area='snowlark'] .nav-item.active { background: #dbe9ee; color: #285b77; border-color: #c3d8e1; }
body[data-area='snowlark'] .avatar { border-color: #c0d7e2; background: #deebf0; color: #315f78; }
body[data-area='snowlark'] .topbar { background: #fffefa; }
body[data-area='snowlark'] .breadcrumb strong,
body[data-area='snowlark'] .mobile-menu { color: #35586b; }
body[data-area='snowlark'] .refresh { color: #3e6174; }
body[data-area='snowlark'] .refresh:hover { border-color: #8baebb; }
body[data-area='snowlark'] .stat:first-child { background: linear-gradient(115deg, #e8f1f3, #fffefa); border-color: #c4d9e0; }
body[data-area='snowlark'] .stat-label svg { color: #64818e; }
body[data-area='snowlark'] .panel { box-shadow: 0 3px 15px #30506803; }
body[data-area='snowlark'] .tag { color: #526b78; }
body[data-area='snowlark'] .tag.good { color: #275f60; background: #ecf5f0; border-color: #bcd9cf; }
body[data-area='snowlark'] .tag.warn { color: #85601d; background: #fff7df; border-color: #e9d7aa; }
body[data-area='snowlark'] .tag.neutral { color: #5d717c; }
body[data-area='snowlark'] .tag.danger { border-color: #e0b8bc; background: #fff0f1; }
body[data-area='snowlark'] .dot.warning { background: #a87c2a; }
body[data-area='snowlark'] .dot.neutral { background: #7b919b; }
body[data-area='snowlark'] .empty-icon,
body[data-area='snowlark'] .module-icon { background: #eaf2f5; border-color: #c8dce5; color: #356782; }
body[data-area='snowlark'] .empty.error .empty-icon { color: #a6323e; border-color: #e0b8bc; background: #fff0f1; }
body[data-area='snowlark'] .skeleton { background: linear-gradient(90deg, #e4edef, #f0f5f5, #e4edef); background-size: 200% 100%; }
body[data-area='snowlark'] .server-icon { color: #497184; background: #edf3f4; }
body[data-area='snowlark'] .event-dot { color: #4f798b; }
body[data-area='snowlark'] .notice { color: #45616e; background: #edf5f6; border-color: #c7dde4; }
body[data-area='snowlark'] .notice.warn { color: #765b2c; background: #fff9e9; border-color: #e7d8b1; }
body[data-area='snowlark'] .notice.warn svg { color: #987127; }
body[data-area='snowlark'] .field label,
body[data-area='snowlark'] .auth-form .field label { color: #486270; }
body[data-area='snowlark'] .field input,
body[data-area='snowlark'] .field select,
body[data-area='snowlark'] input.text-input,
body[data-area='snowlark'] select.text-input {
  background: #fffefa;
  border-color: #c1d3db;
  color: #243c4a;
}
body[data-area='snowlark'] .field input::placeholder { color: #738994; }
body[data-area='snowlark'] .field input:focus,
body[data-area='snowlark'] .field select:focus { border-color: #4f8099; box-shadow: 0 0 0 3px #31627d14; }
body[data-area='snowlark'] th { background: #edf3f4; color: #607d8b; }
body[data-area='snowlark'] tr.clickable:hover td { background: #eaf2f580; }
body[data-area='snowlark'] .button { background: #31627d; color: #fffefa; }
body[data-area='snowlark'] .button:hover { background: #254e65; }
body[data-area='snowlark'] .button.secondary { background: #edf3f4; color: #315d75; border-color: #c3d7df; }
body[data-area='snowlark'] .button.secondary:hover { background: #dfebee; border-color: #9fbdca; }
body[data-area='snowlark'] .button.danger { color: #a6323e; border-color: #e0b8bc; background: #fff0f1; }
body[data-area='snowlark'] .profile-banner { background: linear-gradient(105deg, #e4eff3, #fffefa 85%); }
body[data-area='snowlark'] .profile-sl { color: #547282; }
body[data-area='snowlark'] .module footer { color: #617c89; }
body[data-area='snowlark'] .module.planned { background: #f3f6f5; }
body[data-area='snowlark'] .module.planned .module-icon { color: #69828f; background: #eaf0f1; }
body[data-area='snowlark'] .chart-choice.active { background: #dfeef3; color: #2e627e; border-color: #a6c8d7; }
body[data-area='snowlark'] .chart svg line { stroke: #d4e2e6; }
body[data-area='snowlark'] .chart svg polyline { stroke: #377693; }
body[data-area='snowlark'] .chart svg circle { fill: #377693; }
body[data-area='snowlark'] .chart svg text { fill: #557180; }
body[data-area='snowlark'] .payload { color: #476778; background: #f0f5f5; }
body[data-area='snowlark'] .auth-story {
  background: radial-gradient(ellipse at 10% 75%, #cadee5, transparent 75%), #eaf1f2;
  border-color: #cbdde3;
}
body[data-area='snowlark'] .auth-story-content > p { color: #536f7c; }
body[data-area='snowlark'] .auth-diagram { border-color: #bcd4de; background: #f2f7f580; }
body[data-area='snowlark'] .diagram-head { color: #355c71; }
body[data-area='snowlark'] .diagram-line { border-color: #aac6d3; }
body[data-area='snowlark'] .diagram-node { color: #466d82; border-color: #bdd4df; }
body[data-area='snowlark'] .auth-story-footer { color: #5e7d8d; }
body[data-area='snowlark'] .auth-main { background: #fbfaf5; }
body[data-area='snowlark'] .auth-tabs { background: #eaf0f1; }
body[data-area='snowlark'] .auth-tab.active { background: #fffefa; color: #285a77; box-shadow: 0 2px 5px #2c597312; }
body[data-area='snowlark'] .auth-foot { color: #5f7988; }
body[data-area='snowlark'] .form-error { color: #a6323e; border-color: #e0b8bc; background: #fff0f1; }
body[data-area='snowlark'] .toast { color: #2f5964; border-color: #a8cbd4; background: #edf7f7; box-shadow: 0 8px 24px #244f6315; }
body[data-area='snowlark'] .toast.error { color: #943541; border-color: #ddb6bb; background: #fff1f1; }
body[data-area='snowlark'] .modal { background: #fffefa; border-color: #bbd2dc; box-shadow: 0 25px 100px #173f5b33; }
body[data-area='snowlark'] .modal::backdrop { background: #1936477d; }
body[data-area='snowlark'] .modal p,
body[data-area='snowlark'] .modal ol { color: #526e7b; }
body[data-area='snowlark'] .link-command { background: #edf5f6; border-color: #b4d0dd; color: #2f627e; }
body[data-area='snowlark'] .page-footer { color: #607b8a; }

/* Public title page. */
.snow-landing { background: #f8f8f2; color: #243e4e; min-height: 100vh; }
.snow-header, .snow-public-main, .snow-public-footer { width: min(1360px, calc(100% - 112px)); margin: 0 auto; }
.snow-header { height: 118px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid #dce2e0; }
.snow-home { color: inherit; }
.snow-wordmark { display: flex; align-items: center; gap: 12px; font-size: 29px; font-weight: 750; letter-spacing: -1px; line-height: 1; }
.snow-symbol { font-size: 48px; line-height: 1; color: #31627d; font-weight: 400; }
.snow-wordmark small { display: block; font-size: 9px; font-weight: 500; letter-spacing: .7px; color: #566f7d; margin-top: 9px; }
.snow-nav { display: flex; align-items: center; gap: 36px; font-size: 12px; }
.snow-about-link { color: #56717f; }
.snow-about-link:hover { color: #244e67; text-decoration: underline; text-underline-offset: 5px; }
.snow-header-action { display: flex; align-items: center; gap: 14px; padding: 13px 16px; border: 1px solid #c3d5dc; border-radius: 7px; color: #2d5871; background: transparent; font-size: 12px; font-weight: 600; }
.snow-header-action:hover { background: #eaf1f2; border-color: #8bafbf; }
.snow-header-action svg, .snow-primary svg { width: 20px; height: 20px; }
.snow-hero { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 40px; padding: 68px 0 72px; }
.snow-hero-copy { padding: 18px 0 26px; position: relative; z-index: 1; }
.snow-coming { display: inline-flex; align-items: center; gap: 9px; color: #687568; font-size: 10px; font-weight: 550; letter-spacing: .2px; margin-bottom: 28px; }
.snow-status-dot { height: 6px; width: 6px; background: #8c9e76; border-radius: 50%; box-shadow: 0 0 0 4px #8c9e7612; }
.snow-title { font-size: clamp(48px, 5.8vw, 84px); font-weight: 560; line-height: 1.04; letter-spacing: -.065em; margin: 0 0 27px; }
.snow-title > span { display: block; color: #4c7891; }
.snow-intro { font-size: 15px; line-height: 1.85; max-width: 390px; color: #566f7d; }
.snow-hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 34px; }
.snow-primary { display: inline-flex; align-items: center; justify-content: center; gap: 23px; padding: 16px 22px; min-height: 53px; border: 1px solid #31627d; border-radius: 7px; color: #fffef6; background: #31627d; box-shadow: 0 5px 12px #31627d0c; font-size: 12px; font-weight: 600; }
.snow-primary:hover { background: #254e65; border-color: #254e65; transform: translateY(-1px); }
.snow-text-action { background: none; border: none; padding: 10px 0; color: #42677d; font-size: 12px; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #b3c6d0; }
.snow-text-action:hover { color: #204a63; text-decoration-color: #42677d; }
.snow-hero-note { margin-top: 18px; color: #566f7d; font-size: 10px; line-height: 1.7; }
.snow-figure { position: relative; margin: 0; padding: 0 0 36px; min-width: 0; }
.snow-landscape { display: block; width: 100%; height: auto; border-radius: 46% 46% 8px 8px; }
.snow-figure-label { position: absolute; top: 51%; right: 16px; display: flex; flex-direction: column; gap: 4px; color: #41677a; font-size: 8px; font-weight: 700; letter-spacing: 1.5px; writing-mode: vertical-rl; }
.snow-figure-label span { font-size: 8px; font-weight: 400; letter-spacing: .6px; margin-top: 8px; }
.snow-figure-caption { position: absolute; bottom: 5px; left: 0; right: 0; display: flex; align-items: center; gap: 10px; color: #566f7d; font-size: 9px; letter-spacing: .15px; }
.snow-figure-caption::before { content: ''; width: 24px; height: 1px; background: #b2c5cc; }
.snow-about { border-top: 1px solid #dce2e0; padding: 37px 0 45px; display: grid; grid-template-columns: 1.05fr 1fr; gap: 40px; scroll-margin-top: 26px; }
.snow-section-label { color: #566f7d; font-size: 9px; text-transform: uppercase; letter-spacing: 1.3px; }
.snow-about h2 { font-size: 21px; letter-spacing: -.5px; font-weight: 550; margin-top: 12px; line-height: 1.4; }
.snow-about > p { font-size: 12px; line-height: 1.95; color: #566f7d; max-width: 455px; padding-top: 4px; }
.snow-public-footer { border-top: 1px solid #dce2e0; padding: 24px 0 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #566f7d; font-size: 10px; }
.snow-footer-name { color: #416679; font-size: 12px; font-weight: 650; letter-spacing: -.3px; }
.snow-top-link { border: none; background: none; font-size: 10px; color: #566f7d; padding: 5px 0 5px 12px; }
.snow-top-link:hover { color: #2e5b75; }

@media (min-width: 1600px) {
  .snow-hero { gap: 60px; padding-top: 85px; padding-bottom: 85px; }
}
@media (max-width: 1100px) {
  .snow-header, .snow-public-main, .snow-public-footer { width: calc(100% - 72px); }
  .snow-header { height: 102px; }
  .snow-nav { gap: 24px; }
  .snow-hero { gap: 24px; padding: 58px 0 55px; }
  .snow-title { font-size: 60px; }
  .snow-intro { font-size: 13px; }
  .snow-primary { gap: 15px; padding: 14px 18px; }
  .snow-hero-actions { gap: 18px; }
  .snow-about { gap: 24px; }
}
@media (max-width: 820px) {
  .snow-header, .snow-public-main, .snow-public-footer { width: calc(100% - 48px); }
  .snow-wordmark { font-size: 25px; }
  .snow-symbol { font-size: 40px; }
  .snow-wordmark small { font-size: 8px; letter-spacing: .3px; margin-top: 7px; }
  .snow-nav { gap: 18px; }
  .snow-header-action { font-size: 11px; gap: 9px; padding: 11px 12px; }
  .snow-hero { gap: 18px; }
  .snow-title { font-size: 49px; }
  .snow-intro { font-size: 12px; }
  .snow-hero-actions { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 25px; }
  .snow-about h2 { font-size: 19px; }
  .snow-about > p { font-size: 11px; }
  body[data-area='snowlark'] .sidebar .brand { font-size: 20px; }
}
@media (max-width: 620px) {
  .snow-header, .snow-public-main, .snow-public-footer { width: calc(100% - 40px); }
  .snow-header { height: 87px; gap: 14px; }
  .snow-wordmark { gap: 7px; font-size: 23px; }
  .snow-symbol { font-size: 34px; }
  .snow-wordmark small { font-size: 7px; letter-spacing: 0; margin-top: 6px; }
  .snow-nav { gap: 0; }
  .snow-about-link { display: none; }
  .snow-header-action { padding: 11px; font-size: 10px; gap: 7px; }
  .snow-header-action svg { width: 15px; height: 15px; }
  .snow-hero { grid-template-columns: 1fr; padding: 34px 0 31px; gap: 24px; }
  .snow-hero-copy { padding: 4px 0 0; }
  .snow-coming { font-size: 9px; margin-bottom: 23px; }
  .snow-title { font-size: clamp(45px, 11vw, 65px); line-height: 1.06; margin-bottom: 20px; }
  .snow-intro { max-width: 340px; font-size: 13px; line-height: 1.8; }
  .snow-hero-actions { flex-direction: row; align-items: center; gap: 20px; margin-top: 25px; }
  .snow-primary { min-height: 49px; font-size: 11px; padding: 14px 16px; gap: 14px; }
  .snow-text-action { font-size: 11px; }
  .snow-hero-note { margin-top: 14px; font-size: 9px; }
  .snow-figure { max-width: 450px; width: 100%; margin: 0 auto; padding-bottom: 28px; }
  .snow-landscape { max-height: 350px; border-radius: 46% 46% 7px 7px; object-fit: cover; }
  .snow-figure-caption { font-size: 8px; bottom: 2px; }
  .snow-figure-label { right: 14px; font-size: 7px; }
  .snow-about { grid-template-columns: 1fr; gap: 17px; padding: 29px 0 32px; }
  .snow-about h2 { font-size: 21px; margin-top: 9px; }
  .snow-about > p { font-size: 12px; padding-top: 0; max-width: 100%; }
  .snow-public-footer { padding: 21px 0 25px; gap: 12px; font-size: 8px; }
  .snow-footer-name { font-size: 11px; }
  .snow-top-link { font-size: 9px; padding-left: 0; }
  body[data-area='snowlark'] .auth-story { border-color: #cbdde3; }
}
@media (max-width: 370px) {
  .snow-header, .snow-public-main, .snow-public-footer { width: calc(100% - 32px); }
  .snow-wordmark { font-size: 21px; }
  .snow-header-action svg { display: none; }
  .snow-header-action { padding: 10px; font-size: 9px; }
  .snow-title { font-size: 44px; }
  .snow-hero-actions { gap: 15px; }
  .snow-public-footer > span:nth-child(2) { max-width: 100px; line-height: 1.5; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .snow-primary:hover { transform: none; }
}

/* A calm entry into the player's personal space. */
body[data-area='snowlark'] .player-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 28px 30px;
  margin: 0 0 25px;
  border: 1px solid #c8dce4;
  border-radius: 15px;
  background: linear-gradient(110deg, #e5f0f4, #f7faf7 75%);
}
body[data-area='snowlark'] .player-welcome .eyebrow { margin-bottom: 10px; }
body[data-area='snowlark'] .player-welcome h2 { font-size: 25px; font-weight: 550; letter-spacing: -.7px; line-height: 1.25; }
body[data-area='snowlark'] .player-welcome p { color: #566f7d; font-size: 12px; line-height: 1.8; max-width: 560px; margin-top: 12px; }
body[data-area='snowlark'] .player-welcome > .button { flex-shrink: 0; }
@media (max-width: 900px) {
  body[data-area='snowlark'] .player-welcome { align-items: flex-start; flex-direction: column; gap: 20px; padding: 24px; }
}
@media (max-width: 680px) {
  body[data-area='snowlark'] .player-welcome { padding: 22px 20px; margin-bottom: 19px; }
  body[data-area='snowlark'] .player-welcome h2 { font-size: 22px; }
  body[data-area='snowlark'] .player-welcome p { font-size: 11px; }
}
