@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/unbounded-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/unbounded-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Font loading and legacy defaults. design-system.css defines the final shared roles. */
:root{--font-site:Manrope,Arial,sans-serif;--font-heading:Unbounded,Arial,sans-serif;--type-caption:14px;--type-body:16px;--type-lead:18px}
html{font-size:16px}
body{--font-display:var(--font-heading)!important;--font-body:var(--font-site)!important;--font-ui:var(--font-site)!important;font-size:var(--type-body)!important;font-weight:500;line-height:1.7}
body,body *,body *::before,body *::after{font-family:var(--font-site)!important;font-style:normal!important;letter-spacing:normal}
body :is(h1,h2,h3,h4,h5,h6),body :is(h1,h2,h3,h4,h5,h6) *{font-family:var(--font-heading)!important;font-weight:500!important;font-style:normal!important;text-transform:none!important;letter-spacing:inherit}
body :is(h1,h2,h3,h4,h5,h6){line-height:1.22!important;white-space:normal!important;overflow-wrap:anywhere;text-wrap:balance}
body h1{font-size:clamp(34px,4vw,56px)!important;letter-spacing:-.055em!important;line-height:1.15!important}
body h2{font-size:clamp(28px,3vw,40px)!important;letter-spacing:-.045em!important}
body h3{font-size:clamp(20px,2vw,26px)!important;letter-spacing:-.035em!important}
body :is(h4,h5,h6){font-size:18px!important;letter-spacing:-.035em!important}
body :is(p,label){font-weight:500}
body :is(button,input,select,textarea,.ui-button,.action){font-size:var(--type-body)}
body :is(button,.ui-button,.action,.welcome-action,summary){font-weight:800}
body :is(input,select,textarea){font-weight:500;line-height:1.5}
body :is(small,time,.created,.craft-state,.album-month-count){font-size:var(--type-caption)!important;line-height:1.4;font-weight:600}
body :is(.brand,.brand-lockup),body :is(.brand,.brand-lockup) *{font-family:var(--font-heading)!important;font-weight:600!important;letter-spacing:-.045em!important}
body :is(.brand,.brand-lockup){font-size:27px!important;line-height:1.3}
body :is(.eyebrow,.album-eyebrow,.welcome-eyebrow,.story-eyebrow,.section-kicker,.upload-eyebrow){font-size:12px!important;line-height:1.5;letter-spacing:.1em!important;text-transform:uppercase!important;font-weight:800!important}
body :is(.album-heading p,.home-lead,.welcome-copy p){font-size:var(--type-body)!important;line-height:1.7}
/* Long stories keep the comfortable reading size of the existing reader. */
body :is(.story-content,.story-text p){font-size:var(--type-lead)!important;line-height:1.7;font-weight:500}
body :is(.library-card h2,.recent-work h3){font-size:18px!important;line-height:1.4;letter-spacing:-.035em!important}
body .album-month-title button{font-family:var(--font-heading)!important;font-size:clamp(22px,2.4vw,30px)!important;line-height:1.35;font-weight:500;letter-spacing:-.045em!important}
body :is(.game-panel h2,.game-sheet h2,dialog h2,.story-history h2,.story-create h2,.collection h2){font-size:22px!important;line-height:1.35}
body :is(.card-footer,.album-categories,.nav-item,.game-menu,.game-motion-grid) button{line-height:1.4}
body .nav-item{font-size:14px!important;font-weight:700;line-height:1.4}
body.dashboard-page .welcome-copy h1{font-size:clamp(48px,5.4vw,79px)!important}
@media(max-width:900px){body.dashboard-page .welcome-copy h1{font-size:8vw!important}}
@media(max-width:650px){
 body h1{font-size:clamp(28px,8.8vw,42px)!important;line-height:1.25!important;letter-spacing:-.065em!important}
 body.dashboard-page .welcome-copy h1{font-size:8.8vw!important}
 body h2{font-size:28px!important;line-height:1.35!important;letter-spacing:-.055em!important}
 body h3{font-size:20px!important;line-height:1.35!important}
 body :is(.brand,.brand-lockup){font-size:22px!important}
 body :is(.eyebrow,.album-eyebrow,.welcome-eyebrow,.story-eyebrow,.section-kicker,.upload-eyebrow){letter-spacing:.07em!important}
 body :is(.game-panel h2,.game-sheet h2,dialog h2,.story-history h2,.story-create h2,.collection h2){font-size:20px!important}
}
@media(max-width:360px){body h2{font-size:24px!important}}

/* Labels remain whole in narrow readers as well as on phones. */
body.editorial-theme.story-page .story-mood-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,156px),1fr))!important}

/* Upload card title is a compact block heading, not a page section. */
body .upload-heading h2{font-size:clamp(20px,2vw,26px)!important;line-height:1.35!important;overflow-wrap:normal}

/* Aquarium type hierarchy. The game remains in its existing ocean theme. */
body:has(.aquarium) .page-heading p{font-size:var(--type-body)!important;line-height:1.7}
body:has(.aquarium) :is(.collection-title h2,.seabed-heading h2,.dialog-heading h2,.help-content h2){font-size:clamp(20px,2vw,26px)!important;line-height:1.35!important}
body:has(.aquarium) :is(.eyebrow,.small-label){font-size:12px!important;line-height:1.5;letter-spacing:.1em!important;font-weight:800!important}
body:has(.aquarium) :is(.scene-heading strong,.selected-title strong,.fish-card strong,.seabed-choice strong){font-weight:700}
body:has(.aquarium) :is(.button,.feed-button,.edit-fish,.aquarium-games button,.add-outline){font-weight:800;line-height:1.4}
@media(max-width:560px){body:has(.aquarium) :is(.collection-title h2,.seabed-heading h2,.dialog-heading h2,.help-content h2){font-size:20px!important}}
