/* Readability and the shared Nastolki wordmark, after the reference layout. */
:root{--muted:#d0c1df}
.brand{gap:10px;font-weight:800;letter-spacing:-.035em;white-space:nowrap;color:#fcf9ff}
.brand-name{display:inline;min-width:0}
.brand .brand-dot,.hero .hero-wordmark .brand-dot{margin:0;color:#cbb0ff}
.header .brand,.menu-dialog .brand,.footer .brand{gap:10px;font-size:24px;letter-spacing:-.035em}
.header .brand img,.menu-dialog .brand img,.footer .brand img{width:38px;height:38px;flex:none}
.hero .hero-wordmark{font-size:clamp(48px,5.6vw,108px);font-weight:700;letter-spacing:-.04em;gap:14px;line-height:1.18;margin-bottom:24px}
.hero .hero-wordmark>.brand-name{margin:0;color:inherit}
.hero-wordmark img{width:1em;height:1em;flex:none;transform:none}
.welcome-pill{font-size:16px;padding:10px 18px;margin-bottom:22px}
.hero-description{font-size:18px;line-height:1.6;font-weight:500;color:#eee6f6;margin-bottom:30px}
.hero-actions .hero-cta{font-size:20px;font-weight:800;line-height:1.2;min-height:62px;padding:19px 32px}
.hero-actions .text-link{font-size:16px;white-space:normal}
.hero-route{font-size:14px;line-height:1.6;gap:10px;margin-top:20px;color:#e4d7ef}
.hero-stats{gap:12px;margin-top:30px;padding-top:22px}
@media(width > 720px){.hero-stats{grid-template-columns:.9fr .75fr 1.35fr}}
.stat-chip{padding:14px 12px;gap:10px}
.stat-chip>span{width:38px;height:38px}
.stat-chip strong{font-size:27px}
.stat-chip:last-child strong{font-size:20px}
.stat-chip small{font-size:12px;line-height:1.45;font-weight:600;letter-spacing:.01em;color:#e3d3f1;opacity:1;white-space:normal;overflow:visible;text-overflow:clip}
.scene-caption small{font-size:12px;letter-spacing:.08em}
.scene-caption>span{font-size:15px}
.scenario-tile>span{font-size:15px}
.eyebrow,.announcement-top,.announcement .badge,.cover-tag{font-size:12px}
.account-banner .eyebrow,.account-heading .eyebrow,.help-content .eyebrow,.dialog-top .eyebrow{font-size:12px}
.announcement-date{font-size:13px}
.announcement>p,.game-description>p,#mode-panel>p,.steps p,.account-banner p:not(.eyebrow),.questions p,.empty-state p,.help-content>p:last-child,.room-dialog>p,.lobby-drawer p,.account-heading>p:last-child,.account-benefits p{font-size:16px;line-height:1.7;color:#ded0eb}
.announcement .text-link,.text-link,.back-link{font-size:15px}
.filter-group>span{font-size:13px}
.filter-chip{font-size:14px}
.catalog-card h3{font-size:26px}
.catalog-description{font-size:16px;line-height:1.6;min-height:0}
.catalog-card>.button{font-size:16px}
.catalog-links .button{font-size:14px}
.catalog-note,.catalog-kicker,.catalog-status{font-size:12px;line-height:1.5}
.catalog-note{color:#d5c3e4}
.quick-title h2{font-size:20px}
.quick-title p,.available,.table-card p,.table-card-bottom span,.table-status,.table-update,.tables-note,.about-note,.form-note{font-size:14px;line-height:1.6;color:#d4c2e3}
.join-field input{font-size:16px}
.join-field input::placeholder{font-size:13px}
.join-field .button,.game-actions .button,.empty-state .button,.table-card .button,.help-bottom .button,.account-banner .button{font-size:16px}
.game-actions .text-link{font-size:14px}
.steps h3{font-size:20px}
.questions summary{font-size:17px;line-height:1.6}
.mode-tabs button,.tabs button,.filter-tabs button{font-size:15px}
.badge,.filter-tabs button span{font-size:12px}
.footer .footer-brand p,.footer-column a,.footer-column button,.footer-qr-site span{font-size:14px;line-height:1.65;color:#d9c9e7}
.footer-column h3,.footer-legal span{font-size:13px}
.menu-dialog nav>a,.drawer-group summary{font-size:16px}
.drawer-group>div a,.drawer-signin{font-size:15px}
.drawer-language,.effects-toggle{font-size:13px}
.drawer-privacy,.menu-dialog .drawer-inner>p{font-size:12px}
.search-field input{font-size:16px}
.search-row b{font-size:16px}
.search-row small{font-size:13px;color:#ddcbe9}
#search-results>p{font-size:16px}
.form label,.form-field>label,.password-toggle{font-size:14px}
.form input,.form textarea,.form select{font-size:16px}
.form .button{font-size:16px}
.quiet-button{font-size:14px}
.field-error,.form-error,.form-success{font-size:14px;line-height:1.6}
.account-benefits h3{font-size:18px}

/* Keep the button rendered throughout its fade, including a reversed scroll. */
.rocket-top{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.92);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s,translate .25s ease,filter .2s}
.rocket-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.rocket-top.is-resetting{opacity:0;visibility:hidden;pointer-events:none;transition:none}

@media(min-width:1600px){
  .hero-description{font-size:20px}
  .hero-route{font-size:15px}
  .stat-chip small{font-size:14px}
  .stat-chip strong{font-size:30px}
  .stat-chip:last-child strong{font-size:23px}
}
@media(720px < width < 1100px){
  .header .brand{font-size:22px;gap:8px}
  .header .brand img{width:34px;height:34px}
  .hero .hero-wordmark{font-size:clamp(43px,5.25vw,58px);gap:10px}
  .hero-actions .hero-cta{font-size:18px;padding-inline:26px}
  .hero-actions{gap:18px}
  .stat-chip{padding:12px 10px;gap:8px}
  .stat-chip>span{width:32px;height:32px}
  .stat-chip:last-child strong{font-size:18px}
}
@media(max-width:720px){
  .header .brand,.menu-dialog .brand{font-size:23px;gap:8px}
  .header .brand img,.menu-dialog .brand img{width:36px;height:36px}
  .hero .hero-wordmark{font-size:clamp(37px,10.2vw,64px);gap:10px;margin-bottom:22px}
  .welcome-pill{font-size:15px;padding:9px 16px;margin-bottom:22px}
  .hero-description{font-size:17px;line-height:1.65}
  .hero-actions .hero-cta{font-size:18px;min-height:58px;padding:18px 28px}
  .hero-actions .text-link{font-size:16px}
  .hero-route{font-size:13px;gap:8px}
  .hero-stats{gap:10px}
  .stat-chip{padding:12px 14px;gap:12px}
  .stat-chip>span{width:38px;height:38px}
  .stat-chip strong,.stat-chip:last-child strong{font-size:25px}
  .stat-chip small{font-size:13px}
  .scene-caption small{font-size:11px}
  .scene-caption>span{font-size:14px}
  .catalog-card h3{font-size:25px}
  .catalog-description{font-size:16px}
  .steps h3{font-size:19px}
  .filter-tabs{flex-wrap:wrap}
  .filter-tabs button{font-size:14px}
  .search-row b{font-size:15px}
  .game-actions{flex-wrap:wrap;gap:12px 20px}
}
@media(520px < width <= 720px){
  .stat-chip{padding:12px 10px;gap:8px}
  .stat-chip:last-child strong{font-size:19px;white-space:normal}
  .stat-chip small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.rocket-top{transform:none}}
:root.effects-off .rocket-top{transform:none}
