@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&display=swap');

:root { --frost-paper:#f4f8f9; --frost-ice:#dcecf0; --frost-ink:#122126; --frost-muted:#61747a; --frost-line:#bfd0d4; --frost-lime:#c6f43d; }
html { scroll-behavior:smooth; scrollbar-width:none; }
html::-webkit-scrollbar,body::-webkit-scrollbar,.shelf-track::-webkit-scrollbar { display:none; }
body.frost-app { margin:0; background:var(--frost-paper); color:var(--frost-ink); font-family:'Inter',sans-serif; letter-spacing:0; overflow-x:hidden; scrollbar-width:none; background-image:none; }
.frost-app *,.frost-app *::before,.frost-app *::after { box-sizing:border-box; letter-spacing:0; }
.frost-app h1,.frost-app h2,.frost-app h3 { letter-spacing:0; }
.frost-header { position:sticky; z-index:30; top:0; min-height:62px; padding:10px 13px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:rgba(244,248,249,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--frost-line); }
.frost-brand { display:flex; align-items:center; gap:9px; color:var(--frost-ink); text-decoration:none; }
.frost-brand>span { width:36px; height:36px; display:grid; place-items:center; background:var(--frost-ink); color:#fff; font:500 10px 'IBM Plex Mono',monospace; }
.frost-brand strong { font-size:15px; }
.frost-account { display:flex; align-items:center; gap:8px; }
.frost-account .textlink,.frost-account .btn { color:var(--frost-ink); text-decoration:none; font-size:10px; font-weight:700; }
.frost-account .btn { padding:9px 11px; border:1px solid var(--frost-ink); border-radius:3px; background:transparent; }
.frost-shell { max-width:1360px; margin:auto; padding:20px 12px 92px; }
.frost-command { display:grid; gap:18px; padding:13px 0 24px; }
.frost-greeting>span,.frost-banner>div>span,.frost-app .shelf-head span { color:var(--frost-muted); font:500 9px 'IBM Plex Mono',monospace; text-transform:uppercase; }
.frost-greeting h1 { margin:5px 0 8px; font-size:35px; line-height:1; }
.frost-greeting p { margin:0; color:var(--frost-muted); font-size:12px; }
.frost-search { height:48px; display:grid; grid-template-columns:auto 1fr 38px; align-items:center; border:1px solid #8fa5aa; background:#fff; }
.frost-search>span { padding-left:13px; font:500 9px 'IBM Plex Mono',monospace; text-transform:uppercase; }
.frost-search input { width:100%; height:100%; border:0; outline:0; background:transparent; color:var(--frost-ink); padding:0 10px; font:500 16px 'Inter',sans-serif; }
.frost-search button { height:100%; border:0; background:transparent; font-size:22px; cursor:pointer; }
.frost-note { margin:0 0 18px; padding:12px; border:1px solid var(--frost-line); background:#fff; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; }
.frost-note .btn { color:var(--frost-ink); font-weight:700; white-space:nowrap; }
.frost-banner { min-height:295px; padding:21px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; background-image:linear-gradient(90deg,rgba(244,248,249,.97),rgba(244,248,249,.42)),url('/static/brand/frost-observatory.webp'); background-size:cover; background-position:64% center; border:1px solid var(--frost-line); }
.frost-banner h2 { max-width:9ch; margin:8px 0; font-size:33px; line-height:1; }
.frost-banner p { max-width:28ch; margin:0; color:#42565c; font-size:11px; line-height:1.5; }
.frost-banner button { width:max-content; min-height:42px; margin-top:18px; padding:0 14px; border:0; border-radius:2px; background:var(--frost-ink); color:#fff; font:600 11px 'Inter',sans-serif; cursor:pointer; }
.frost-banner aside { align-self:flex-end; width:132px; padding:12px; background:var(--frost-lime); color:var(--frost-ink); }
.frost-banner aside strong,.frost-banner aside span { display:block; }
.frost-banner aside strong { font-size:27px; }
.frost-banner aside span { font-size:8px; line-height:1.4; }
.frost-tabs { position:sticky; z-index:20; top:62px; display:flex; gap:5px; margin:14px -12px 0; padding:9px 12px; overflow-x:auto; background:rgba(244,248,249,.96); border-bottom:1px solid var(--frost-line); scrollbar-width:none; }
.frost-tabs::-webkit-scrollbar { display:none; }
.frost-tabs a { flex:0 0 auto; padding:8px 11px; border:1px solid var(--frost-line); border-radius:3px; background:#fff; color:var(--frost-ink); text-decoration:none; font-size:10px; font-weight:600; }
.frost-overview { display:grid; grid-template-columns:repeat(3,1fr); margin:18px 0 34px; border:1px solid var(--frost-line); background:#fff; }
.frost-overview div { padding:12px 9px; border-right:1px solid var(--frost-line); }
.frost-overview div:last-child { border:0; }
.frost-overview span,.frost-overview strong { display:block; }
.frost-overview span { color:var(--frost-muted); font:400 8px 'IBM Plex Mono',monospace; text-transform:uppercase; }
.frost-overview strong { margin-top:5px; font-size:15px; }
.frost-library { display:grid; gap:18px; }
.frost-app .shelf { width:100%; min-width:0; margin:0; padding:14px; border:1px solid var(--frost-line); background:#fff; }
.frost-app .shelf-head { display:flex; align-items:end; justify-content:space-between; gap:8px; margin:0 0 13px; }
.frost-app .shelf-head h2 { margin:3px 0 0; font-size:19px; }
.frost-app .shelf-head .tally { color:var(--frost-muted); font-size:8px; text-align:right; }
.frost-app .shelf-track { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 8px; width:100%; overflow:visible!important; padding:0; }
.frost-app .shelf-track .tile:nth-child(n+7) { display:none; }
.frost-app .tile { width:100%; min-width:0; padding:0; border:0; background:transparent; color:var(--frost-ink); text-align:left; cursor:pointer; }
.frost-app .tile .art { display:block; position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:3px; border:1px solid var(--frost-line); margin:0 0 7px; background:var(--frost-ice); }
.frost-app .tile .art img { width:100%; height:100%; object-fit:cover; }
.frost-app .tile .label { display:block; padding:0; }
.frost-app .tile .name { display:block; color:var(--frost-ink); font-size:10px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.frost-app .tile .kind { display:block; margin-top:3px; color:var(--frost-muted); font:400 7px 'IBM Plex Mono',monospace; text-transform:uppercase; }
.frost-app .tile .go,.frost-app .tile .fresh { display:none; }
.frost-priority { border-top:4px solid var(--frost-ink)!important; }
.frost-all { margin-top:34px!important; border-top:4px solid var(--frost-lime)!important; }
.frost-app .tile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 8px; }
.frost-no-results { margin:15px 0; padding:20px; background:var(--frost-ice); text-align:center; font-size:12px; }
.frost-mobile-nav { position:fixed; z-index:25; inset:auto 8px 8px; min-height:58px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; background:var(--frost-ink); border:1px solid #fff; box-shadow:0 8px 26px rgba(18,33,38,.2); }
.frost-mobile-nav a { color:#eaf3f4; text-align:center; text-decoration:none; font-size:9px; font-weight:600; }
.frost-footer { padding:30px 14px 95px; background:var(--frost-ink); color:#b7c8cc; display:grid; gap:13px; font-size:9px; }
.frost-footer nav { display:flex; flex-wrap:wrap; gap:13px; }
.frost-footer a { color:#fff; }
@media (min-width:820px) {
  .frost-header { padding:12px 30px; }
  .frost-shell { padding:42px 30px 90px; }
  .frost-command { grid-template-columns:1fr minmax(320px,460px); align-items:end; }
  .frost-greeting h1 { font-size:51px; }
  .frost-banner { min-height:370px; padding:38px; }
  .frost-banner h2 { font-size:51px; }
  .frost-banner aside { width:180px; }
  .frost-tabs { top:62px; margin:18px 0 0; padding:10px 0; border-top:1px solid var(--frost-line); }
  .frost-library { grid-template-columns:1fr 1fr; gap:20px; }
  .frost-app .shelf { padding:20px; }
  .frost-app .shelf-track { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .frost-app .tile-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px 12px; }
  .frost-mobile-nav { display:none; }
  .frost-footer { grid-template-columns:1fr auto; padding:36px 30px; }
}

/* Larger labels and game cards for touch-first casino browsing. */
.frost-app { font-size:16px; }
.frost-brand>span { font-size:12px; }
.frost-banner { min-height:220px; }
.frost-account .textlink,.frost-account .btn { font-size:13px; }
.frost-greeting>span,.frost-banner>div>span,.frost-app .shelf-head span { font-size:12px; letter-spacing:0; }
.frost-greeting h1 { font-size:38px; }
.frost-greeting p { font-size:15px; }
.frost-search>span { font-size:12px; }
.frost-note { font-size:14px; }
.frost-banner p { font-size:14px; }
.frost-banner button { min-height:46px; font-size:14px; }
.frost-banner aside span { font-size:12px; }
.frost-tabs a { min-height:44px; font-size:14px; }
.frost-overview span { font-size:12px; }
.frost-overview strong { font-size:18px; }
.frost-app .shelf-head h2 { font-size:25px; }
.frost-app .shelf-head .tally { font-size:12px; }
.frost-app .tile .name { font-size:14px; }
.frost-app .tile .kind { font-size:11px; letter-spacing:0; }
.frost-mobile-nav a { font-size:13px; }
.frost-footer { font-size:12px; }

@media (min-width:820px) {
  .frost-shell { max-width:1600px; }
  .frost-greeting h1 { font-size:50px; }
  .frost-banner { min-height:270px; }
  .frost-app .shelf-head h2 { font-size:28px; }
}
