/* Figtree, Erik Kennedy. SIL Open Font License 1.1, kept in fonts/figtree/OFL.txt.
   Self-hosted variable subsets: the game never asks Google for this typeface. */
@font-face{
 font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;
 src:url('fonts/figtree/figtree-latin-ext-variable-v9.woff2') format('woff2');
 unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
 font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;
 src:url('fonts/figtree/figtree-latin-variable-v9.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;
}
:root{--house-body:'Figtree','Avenir Next','Segoe UI',Arial,sans-serif}
/* No body-wide family override: logo, protected desktop header and cell glyphs
   retain their exact font contract. These are content and control scopes only. */
#hub,#modal{font-family:var(--house-body);font-weight:400;line-height:1.55}
#hub :is(button,input,select,textarea),#modal :is(button,input,select,textarea){font-family:var(--house-body)}
#hub :is(h1,h2,h3,h4,h5,h6),#modal :is(h1,h2,h3,h4,h5,h6){font-family:var(--house-title);font-weight:700;letter-spacing:-.025em}
#hub .desktop-lobby>.hub-title h1{font-family:var(--house-body);font-weight:450}
#hub .lobby-journey h2,#hub .app-welcome h1{font-weight:700;letter-spacing:-.035em}
#hub .lobby-mode h3,#hub .app-choice b,#hub .pilot-companion-copy h4{font-weight:700}
#hub .pilot-companion-copy .pilot-companion-trait{font-weight:650}
#hub :is(.profile-local-nav,.menu-section-nav,.social-tabs,.duel-filters) button{font-weight:600}
#hub :is(.primary,.social-primary,.app-play-button),#modal .primary{font-weight:650;letter-spacing:.005em}
.game-main :is(.mobile-play-header,.game-top,.mentor-panel,.tools,.hint-lesson,.large-grid-tools,.board-footer,.hypothesis-tools,.gesture-help){font-family:var(--house-body)}
.game-main :is(.mobile-play-header h1,.mentor-bubble>b,.game-top h2),.companion-menu h2,.companion-cheer b{font-family:var(--house-title);font-weight:700;letter-spacing:-.025em}
.game-main .timer{font-family:var(--house-body);font-variant-numeric:tabular-nums}
/* Pastel is a room in lilac, leaf and apricot, rather than a second cream theme.
   Keep all pigment tokens out of #board, .cell and their inherited variables. */
:root[data-theme=pastel] body:not([data-screen=game]){
 background:radial-gradient(ellipse at 4% 28%,#e8def080,transparent 48%),radial-gradient(ellipse at 94% 76%,#dce8d777,transparent 48%),var(--house-bg);
}
:root[data-theme=pastel] #hub .lobby-mode-quick,
:root[data-theme=pastel] #hub .app-quick{background:linear-gradient(135deg,#eee5f4,var(--house-lilac))}
:root[data-theme=pastel] #hub .lobby-mode-daily,
:root[data-theme=pastel] #hub .app-daily{background:linear-gradient(135deg,#eaf0e4,var(--house-leaf))}
:root[data-theme=pastel] #hub .lobby-mode-custom,
:root[data-theme=pastel] #hub .app-free-short{background:linear-gradient(135deg,#fff1e7,var(--house-peach))}
:root[data-theme=pastel] #hub :is(.menu-section-nav,.profile-local-nav,.social-tabs,.duel-filters){background:#eee5f1;border-color:#d9c9df}
:root[data-theme=pastel] #hub :is(.menu-section-nav,.profile-local-nav,.social-tabs,.duel-filters) :is(.active,[aria-pressed=true],[aria-current=page],[aria-selected=true]){background:#fffaf6;color:var(--house-lilac-ink);border-color:#c8b7d2;box-shadow:0 2px 5px #67546b0c}
:root[data-theme=pastel] #hub .home-progress{background:linear-gradient(120deg,#f4f5eb,#eaf0e5)}
:root[data-theme=pastel] #hub :is(.daily-goals,.settings-card,.profile-preview,.friend-card,.duel-card){box-shadow:0 6px 20px #7661780b}
:root[data-theme=pastel] #hub :is(.duel-welcome,.league-hero){background:radial-gradient(ellipse at 94% 18%,#eadff1aa,transparent 65%),var(--house-paper)}
:root[data-theme=pastel] #hub :is(.primary,.social-primary,.app-play-button),
:root[data-theme=pastel] #modal .primary{box-shadow:0 4px 0 #c9957e}
:root[data-theme=pastel] #hub :is(.primary,.social-primary,.app-play-button):hover,
:root[data-theme=pastel] #modal .primary:hover{box-shadow:0 6px 0 #c9957e}
:root[data-theme=pastel] #hub :is(.primary,.social-primary,.app-play-button):active,
:root[data-theme=pastel] #modal .primary:active{box-shadow:0 2px 0 #c9957e}
:root[data-theme=pastel] .game-main .mentor-bubble{background:linear-gradient(120deg,#fffaf6,#f5eef8);border-color:#d9c9df}
:root[data-theme=pastel] .game-main .game-top .timer{background:#f3eaf4;border-color:#d8c9de}
:root[data-theme=pastel] .game-main .tools #mark{background:#e9f0e4}
