/* Kosinka Card — Build 005 visual system
   Studio-grade game-first UI: one continuous game stage, restrained editorial content, mobile-first controls. */
:root{
  --paper:#f5f7f6;
  --paper-bright:#ffffff;
  --ink:#17211d;
  --muted:#68726e;
  --line:#e3e7e5;
  --pine-950:#071f19;
  --pine-900:#092920;
  --pine-850:#0b3328;
  --pine-800:#0d3c2f;
  --felt:#0c6849;
  --felt-deep:#085a3f;
  --accent:#d8bd7c;
  --accent-soft:#eef3f0;
  --white:#ffffff;
  --header-h:58px;
  --content-w:1080px;
  --game-w:1240px;
  --radius:10px;
}
*{box-sizing:border-box}
html{background:var(--paper);color-scheme:light;scroll-behavior:smooth}
body{min-height:100%;margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.58;text-rendering:optimizeLegibility}
a{color:inherit;text-underline-offset:3px}
img,svg{max-width:100%}
.container{width:min(100%,1180px);max-width:1180px;margin-inline:auto;padding-inline:24px}

/* ---------- Global header ---------- */
.site-header{
  position:sticky;top:0;z-index:90;
  height:var(--header-h);min-height:var(--header-h);max-height:var(--header-h);
  background:var(--pine-950)!important;
  border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;backdrop-filter:none!important;
  overflow:hidden;
}
.header-inner{height:var(--header-h);min-height:var(--header-h);padding-block:0!important;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;min-width:0;color:var(--white)!important;text-decoration:none!important}
.brand-mark{width:30px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.28);border-radius:5px;background:#fff;color:var(--pine-950);box-shadow:0 1px 0 rgba(0,0,0,.12);font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1}
.brand .title{font-size:16px!important;font-weight:760!important;letter-spacing:-.012em;line-height:1.05;color:var(--white)}
.brand .subtitle{display:block!important;margin-top:3px;color:rgba(255,255,255,.46)!important;font-size:8.5px!important;font-weight:700!important;letter-spacing:.13em;text-transform:uppercase;line-height:1}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.site-nav a{min-height:36px;padding:0 12px;border:0!important;border-radius:5px!important;background:transparent!important;color:rgba(255,255,255,.68)!important;font-size:12.5px!important;font-weight:650!important;text-decoration:none!important}
.site-nav a:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.header-actions{display:none}
.burger{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff}
.burger svg path{stroke:currentColor!important}

/* Game pages visually continue the header. */
body.is-game-page{background:var(--pine-900)}
body.is-game-page .breadcrumbs{display:none!important}
body.is-game-page main.container{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:var(--pine-900)}
body.is-game-page .page-wrap{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:var(--pine-900)!important}

/* ---------- One continuous game stage ---------- */
.play-shell{
  width:min(var(--game-w),calc(100% - 48px))!important;
  max-width:var(--game-w)!important;
  margin:0 auto!important;
  padding:0 0 26px!important;
  display:grid!important;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "title title"
    "toolbar toolbar"
    "table table";
  overflow:visible!important;
  background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
}
.game-intro{
  grid-area:title!important;order:unset!important;
  min-height:88px;padding:22px 2px 14px!important;
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;
  background:transparent!important;border:0!important;color:#fff!important;
}
.game-intro__eyebrow{margin:0 0 5px!important;color:rgba(255,255,255,.46)!important;font-size:9.5px!important;font-weight:760!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.game-intro__title{margin:0!important;color:#fff!important;font-family:inherit!important;font-size:clamp(28px,3vw,42px)!important;line-height:.98!important;font-weight:780!important;letter-spacing:-.04em!important}
.game-intro__meta{display:flex!important;align-items:center!important;gap:12px!important;color:rgba(255,255,255,.52)!important;font-size:11.5px!important;font-weight:600!important;white-space:nowrap}
.game-intro__meta span{display:inline!important}
.game-intro__meta span+span:before{content:"·";margin-right:12px;color:rgba(255,255,255,.28)}
.game-intro__catalog{margin-left:2px;color:var(--accent)!important;text-decoration:none!important;border:0!important;font-weight:700}
.game-intro__catalog:hover{text-decoration:underline!important}

.game-bar,.panel.game-bar{
  grid-area:toolbar!important;order:unset!important;
  min-height:54px!important;margin:0!important;padding:7px 10px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  background:var(--pine-950)!important;border:1px solid rgba(255,255,255,.09)!important;border-bottom:0!important;border-radius:8px 8px 0 0!important;box-shadow:none!important;color:#fff!important;
}
.game-controls{display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:nowrap!important;min-width:0}
.ui-imgbtn,.btn.ui-imgbtn,.ui-imgbtn.has-img,.btn.ui-imgbtn.has-img{
  width:auto!important;height:40px!important;min-width:40px!important;padding:0 11px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  border:1px solid transparent!important;border-radius:5px!important;background:transparent!important;color:rgba(255,255,255,.78)!important;box-shadow:none!important;
  font:inherit!important;font-size:11.5px!important;font-weight:690!important;line-height:1!important;cursor:pointer!important;
  transition:background .12s ease,color .12s ease,border-color .12s ease,transform .08s ease!important;
}
.ui-imgbtn:hover,.btn.ui-imgbtn:hover{background:rgba(255,255,255,.075)!important;color:#fff!important;border-color:rgba(255,255,255,.06)!important}
.ui-imgbtn:active,.btn.ui-imgbtn:active{transform:translateY(1px)!important;background:rgba(0,0,0,.14)!important}
.ui-imgbtn:focus-visible,.btn.ui-imgbtn:focus-visible{outline:2px solid var(--accent)!important;outline-offset:1px!important}
.ui-imgbtn img,.ui-imgbtn.has-img img,.btn.ui-imgbtn.has-img img{display:none!important}
.ui-imgbtn__icon{width:16px!important;height:16px!important;display:block!important;flex:0 0 auto!important;color:currentColor!important}
.ui-imgbtn__icon svg{width:100%;height:100%;display:block}
.ui-imgbtn__label{display:inline!important;white-space:nowrap!important}
.game-meta{display:flex!important;gap:14px!important;padding:0 5px!important;color:rgba(255,255,255,.56)!important;font-size:10.5px!important;font-weight:650!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}
.game-meta>div{display:flex;align-items:center;gap:4px}

#game-table{
  grid-area:table!important;order:unset!important;
  position:relative!important;width:100%!important;height:clamp(600px,calc(100svh - 210px),760px)!important;min-height:600px!important;max-height:760px!important;
  margin:0!important;border:1px solid rgba(255,255,255,.08)!important;border-top:0!important;border-radius:0 0 8px 8px!important;
  overflow:hidden!important;touch-action:none!important;
  background-color:var(--felt)!important;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.036) 1px,transparent 1.25px),
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.045))!important;
  background-size:12px 12px,100% 100%!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),inset 0 0 90px rgba(0,0,0,.06)!important;
}
.pile-slot{border-radius:7px!important;border:1px dashed rgba(255,255,255,.20)!important;background:rgba(0,0,0,.025)!important}
.card,.card svg{border-radius:7px!important}.card.dragging{filter:drop-shadow(0 9px 14px rgba(0,0,0,.28))!important}

/* ---------- Editorial content after the game ---------- */
.seo-details{
  width:100%!important;max-width:none!important;margin:0!important;padding:0 24px 70px!important;
  background:var(--paper)!important;border:0!important;
}
.seo-details__summary{display:none!important}
.seo-details__content{display:block!important;width:min(var(--content-w),100%)!important;margin:0 auto!important;padding-top:38px!important}
details:not([open])>.seo-details__content{display:block!important}
.related-games{margin:0 0 34px!important;padding:0 0 26px!important;border:0!important;border-bottom:1px solid var(--line)!important}
.related-games__head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 11px!important}
.related-games__title{margin:0!important;color:#69736d!important;font-size:10px!important;font-weight:760!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.chips{display:flex!important;flex-wrap:wrap!important;gap:8px 18px!important}
.chips a{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#22332b!important;font-size:13.5px!important;font-weight:680!important;text-decoration:none!important}
.chips a:after{content:"↗";margin-left:5px;color:#a2aaa5;font-size:10px}
.chips a:hover{color:var(--felt)!important;text-decoration:underline!important}

.panel{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.panel-inner{padding:0!important}
.seo-card{margin:0!important;background:transparent!important;border:0!important}
.seo-inner{padding:0!important}
.seo-head{display:grid!important;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;gap:64px!important;align-items:start!important;margin-bottom:34px!important}
.seo-mark{display:none!important}
.seo-section-title,.h1,.h2{font-family:inherit!important;color:var(--ink)!important;font-weight:760!important;letter-spacing:-.03em!important}
.seo-section-title{margin:0!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.02!important}
.lead{margin:2px 0 0!important;color:#526059!important;font-size:16px!important;line-height:1.72!important;font-weight:430!important}
.seo-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:72px!important;margin-top:0!important;padding-top:28px!important;border-top:1px solid var(--line)!important}
.seo-col{min-width:0!important}.h2{margin:0 0 10px!important;font-size:20px!important;line-height:1.2!important}
.seo-col .h2:not(:first-child){margin-top:28px!important}
.seo-col p,.seo-long p{color:#38453f!important;font-size:15px!important;line-height:1.75!important}
.seo-list{margin:8px 0 0!important;padding-left:19px!important}.seo-list li{margin:8px 0!important;padding-left:3px!important;color:#37443e!important;font-size:14.5px!important;line-height:1.67!important}
.seo-links{margin-top:24px!important;padding-top:16px!important;border-top:1px solid var(--line)!important;display:flex!important;flex-wrap:wrap!important;gap:6px 18px!important}.seo-links__label{width:100%!important;color:#818982!important;font-size:9.5px!important;font-weight:760!important;text-transform:uppercase!important;letter-spacing:.13em!important}
.seo-link{padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#16523e!important;font-size:13.5px!important;font-weight:700!important;text-decoration:underline!important;text-decoration-color:#b4c5bd!important}
.seo-long{max-width:820px!important;margin:38px 0 0!important;padding-top:28px!important;border-top:1px solid var(--line)!important}.seo-long h2,.seo-long h3{font-family:inherit!important;color:var(--ink)!important;letter-spacing:-.025em!important}
.faq{margin-top:6px!important;border-top:1px solid var(--line)!important}.faq details{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important}.faq summary{padding:15px 0!important;color:#27332d!important;font-size:14px!important;font-weight:680!important}.faq-body{padding:0 0 18px!important;color:#56615b!important;font-size:14px!important;line-height:1.65!important}

/* ---------- Content pages / catalog ---------- */
body.is-content-page{background:var(--paper)}
body.is-content-page .site-header{background:var(--paper-bright)!important;border-bottom:1px solid var(--line)!important}
body.is-content-page .brand{color:var(--ink)!important}body.is-content-page .brand .title{color:var(--ink)!important}body.is-content-page .brand .subtitle{color:#7b8580!important}body.is-content-page .brand-mark{border-color:#d8dfdb;background:#fff;color:#163e30}
body.is-content-page .site-nav a{color:#526059!important}body.is-content-page .site-nav a:hover{background:#edf2ef!important;color:#1f352b!important}
body.is-content-page .burger{color:var(--ink)!important}
.breadcrumbs{background:transparent!important;border:0!important;color:#858c87!important;font-size:10.5px!important}.breadcrumbs .container{min-height:34px!important;display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden}.breadcrumbs a{color:#6f7873!important;text-decoration:none}.breadcrumbs .sep{color:#b0b5b1}.breadcrumbs span:last-child{overflow:hidden;text-overflow:ellipsis}
.catalog-shell{width:min(100%,1080px);margin:0 auto;padding:46px 0 80px}.catalog-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:52px;align-items:end;margin-bottom:46px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.catalog-kicker{grid-column:1/-1;margin:0 0 -28px;color:#7b837e;font-size:9.5px;font-weight:760;text-transform:uppercase;letter-spacing:.16em}.catalog-head .h1{margin:0!important;font-size:clamp(38px,5vw,64px)!important;line-height:.96!important}.catalog-head .lead{margin:0!important;padding-bottom:4px!important;max-width:520px}
.catalog-section{margin-top:40px}.catalog-section__title{margin:0 0 14px;font-size:11px;font-weight:760;text-transform:uppercase;letter-spacing:.12em;color:#79827c}
.games-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--line)!important}
.game-card{position:relative;min-height:74px;padding:16px 34px 16px 0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;text-decoration:none!important;box-shadow:none!important}
.game-card:nth-child(3n+2),.game-card:nth-child(3n+3){padding-left:20px!important;border-left:1px solid var(--line)!important}.game-card:after{content:"↗";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9da49f;font-size:11px}.game-card:hover{background:#eef2f0!important}.game-card__title{font-size:14px!important;font-weight:700!important;line-height:1.3!important}.game-card__meta{color:#89908b!important;font-size:10.5px!important}

/* ---------- Modal / drawer ---------- */
.modal__backdrop{background:rgba(4,18,14,.62)!important;backdrop-filter:blur(3px)!important}.modal__card{border:1px solid #dbe2de!important;border-radius:9px!important;background:#ffffff!important;color:var(--ink)!important;box-shadow:0 26px 80px rgba(6,20,15,.28)!important}.modal__head,.modal__foot{border-color:#e4e9e6!important}.modal__title{font-weight:760!important}.modal__label{color:#526059!important}.modal__hint{color:#7a837e!important}.modal .btn,.modal__close{border-radius:5px!important;box-shadow:none!important}.modal .btn-primary{background:#174c3a!important;border-color:#174c3a!important;color:#fff!important}
.menu-overlay{background:rgba(4,19,14,.58)!important}.menu-drawer{background:var(--pine-950)!important;color:#fff!important}
.site-footer{background:var(--paper)!important;border-top:1px solid var(--line)!important;color:#67706a!important}.footer-inner{min-height:70px!important;padding-block:16px!important}.footer-links{gap:18px!important}.footer-links a{color:#4e5a54!important}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  :root{--header-h:54px}
  .container{padding-inline:18px}
  .site-nav{display:none!important}.header-actions{display:flex!important;margin-left:auto}.burger{width:42px!important;height:42px!important;display:grid!important;place-items:center!important}
  .brand .subtitle{display:none!important}
  .play-shell{width:calc(100% - 28px)!important;padding-bottom:18px!important}
  .game-intro{min-height:76px!important;padding:16px 2px 12px!important}.game-intro__title{font-size:clamp(27px,5.8vw,36px)!important}.game-intro__meta span{display:none!important}.game-intro__meta{font-size:11px!important}
  .game-bar,.panel.game-bar{min-height:52px!important;padding:6px 7px!important}.ui-imgbtn,.btn.ui-imgbtn{padding:0 9px!important}.game-meta{gap:9px!important}
  #game-table{height:clamp(560px,calc(100svh - 190px),680px)!important;min-height:560px!important;max-height:680px!important}
  .seo-head{grid-template-columns:1fr!important;gap:16px!important}.seo-section-title{font-size:38px!important}.seo-grid{gap:38px!important}.catalog-head{grid-template-columns:1fr!important;gap:16px!important}.catalog-kicker{margin:0!important}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.game-card:nth-child(3n+2),.game-card:nth-child(3n+3){padding-left:0!important;border-left:0!important}.game-card:nth-child(even){padding-left:18px!important;border-left:1px solid var(--line)!important}
}

@media (max-width:620px){
  :root{--header-h:50px}
  .container{padding-inline:14px}
  .site-header,.header-inner{height:var(--header-h)!important;min-height:var(--header-h)!important;max-height:var(--header-h)!important}.header-inner{padding-inline:0!important}.brand{gap:8px}.brand-mark{width:26px;height:30px;font-size:15px}.brand .title{font-size:15px!important}
  body.is-game-page main.container{overflow:hidden!important}
  .play-shell{width:100%!important;max-width:none!important;padding:0!important;display:flex!important;flex-direction:column!important}
  .game-intro{order:1!important;min-height:70px!important;padding:13px 14px 10px!important;align-items:flex-end!important}.game-intro__eyebrow{font-size:8.5px!important;margin-bottom:4px!important}.game-intro__title{font-size:clamp(25px,8.2vw,32px)!important;letter-spacing:-.035em!important}.game-intro__meta{padding-bottom:2px}.game-intro__catalog{font-size:10.5px!important}
  .game-bar,.panel.game-bar{order:2!important;min-height:auto!important;padding:5px 6px 6px!important;border-left:0!important;border-right:0!important;border-radius:0!important;display:block!important}
  .game-controls{width:100%!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:2px!important}
  .game-bar[data-engine]:not([data-engine="klondike"]) .game-controls{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .ui-imgbtn,.btn.ui-imgbtn,.ui-imgbtn.has-img,.btn.ui-imgbtn.has-img{width:100%!important;height:48px!important;min-width:0!important;padding:3px 2px!important;gap:3px!important;flex-direction:column!important;border-radius:4px!important;font-size:9px!important;font-weight:650!important}
  .ui-imgbtn__icon{width:16px!important;height:16px!important}.ui-imgbtn__label{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .game-meta{margin-top:4px!important;padding:4px 6px 0!important;justify-content:flex-end!important;font-size:9.5px!important}
  #game-table{order:3!important;width:100%!important;height:clamp(520px,calc(100svh - 178px),640px)!important;min-height:520px!important;max-height:640px!important;border-left:0!important;border-right:0!important;border-radius:0!important;overflow:hidden!important}
  .seo-details{padding:0 16px 54px!important}.seo-details__content{padding-top:30px!important}.related-games{margin-bottom:28px!important;padding-bottom:22px!important}.chips{gap:7px 14px!important}.chips a{font-size:13px!important}
  .seo-section-title{font-size:32px!important}.lead{font-size:15px!important}.seo-grid{grid-template-columns:1fr!important;gap:8px!important;padding-top:22px!important}.seo-col+.seo-col{padding-top:24px;border-top:1px solid var(--line)}.seo-col p,.seo-long p{font-size:14.5px!important}.seo-list li{font-size:14px!important}
  .catalog-shell{padding:28px 0 56px}.catalog-head{margin-bottom:32px;padding-bottom:24px}.catalog-head .h1{font-size:42px!important}.games-grid{grid-template-columns:1fr!important}.game-card,.game-card:nth-child(even),.game-card:nth-child(3n+2),.game-card:nth-child(3n+3){padding:14px 30px 14px 0!important;border-left:0!important}.game-card{min-height:62px}
}

@media (max-width:350px){
  .game-intro__meta{display:none!important}.game-intro{padding-right:12px!important}.game-intro__title{font-size:25px!important}.ui-imgbtn,.btn.ui-imgbtn{font-size:8.4px!important}.seo-details{padding-inline:13px!important}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ========================================================================== 
   Build 006 — Catalog art direction
   A real game library: visual collections + compact directory, no SaaS cards.
   ========================================================================== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.catalog-page{background:#f5f7f6;color:var(--ink)}
.catalog-page .container{width:min(100%,1180px);max-width:1180px}
.catalog-hero{position:relative;overflow:hidden;background:#0a2c22;color:#ffffff;border-bottom:1px solid rgba(255,255,255,.09)}
.catalog-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 20%,rgba(236,211,150,.09),transparent 27%),linear-gradient(120deg,rgba(255,255,255,.025),transparent 45%);pointer-events:none}
.catalog-hero__grid{position:relative;min-height:344px;padding-top:64px;padding-bottom:58px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:center}
.catalog-hero__copy{max-width:700px}.catalog-kicker{margin:0 0 13px!important;color:#b9c9c1!important;font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important}.catalog-title{margin:0!important;max-width:760px;color:inherit;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,5.5vw,76px);font-weight:700;line-height:.94;letter-spacing:-.045em}.catalog-lead{max-width:650px;margin:22px 0 0;color:#d3ddd8;font-size:17px;line-height:1.62}
.catalog-facts{display:flex;flex-wrap:wrap;gap:0;margin-top:30px;border-top:1px solid rgba(255,255,255,.14)}.catalog-facts span{padding:13px 20px 0 0;margin-right:20px;color:#acbbb4;font-size:12px}.catalog-facts strong{color:#fff;font-size:15px;margin-right:4px}
.catalog-hero__deck{position:relative;width:310px;height:220px;justify-self:end}.hero-card{position:absolute;width:132px;height:184px;border:1px solid rgba(16,34,27,.14);border-radius:9px;background:#ffffff;color:#18211d;box-shadow:0 24px 45px rgba(0,0,0,.24);font-family:Georgia,"Times New Roman",serif}.hero-card b{position:absolute;left:14px;top:10px;font-size:26px;line-height:1}.hero-card i{position:absolute;left:15px;top:40px;font-size:24px;font-style:normal}.hero-card--one{left:10px;top:22px;transform:rotate(-12deg);color:#c82d2f}.hero-card--two{left:92px;top:6px;z-index:2;transform:rotate(-1deg)}.hero-card--three{left:172px;top:25px;z-index:3;transform:rotate(11deg);color:#c82d2f}
.catalog-main{padding-top:0;padding-bottom:86px}.catalog-tools{min-height:74px;display:flex;align-items:center;gap:30px;margin-top:-1px;border-bottom:1px solid #e3e7e5;background:#f5f7f6}.catalog-search{width:min(430px,100%);height:44px;display:grid;grid-template-columns:34px minmax(0,1fr) 36px;align-items:center;border:1px solid #d8dfdb;background:#ffffff;border-radius:6px;transition:border-color .16s ease,box-shadow .16s ease}.catalog-search:focus-within{border-color:#658276;box-shadow:0 0 0 3px rgba(25,84,65,.08)}.catalog-search__icon{display:grid;place-items:center;color:#637069;font-size:20px}.catalog-search input{width:100%;border:0;outline:0;background:transparent;color:#1c2822;font:inherit;font-size:14px}.catalog-search input::placeholder{color:#8d948f}.catalog-search__count{margin-right:8px;min-width:26px;height:24px;display:grid;place-items:center;border-radius:4px;background:#eef2f0;color:#637069;font-size:10px;font-weight:800}.catalog-shortcuts{margin-left:auto;display:flex;align-items:center;gap:24px}.catalog-shortcuts a{position:relative;color:#5b6761;font-size:12px;font-weight:700;text-decoration:none}.catalog-shortcuts a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:#1a4e3b;transition:right .16s ease}.catalog-shortcuts a:hover{color:#183c30}.catalog-shortcuts a:hover:after{right:0}
.catalog-block{padding-top:66px}.catalog-block__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:50px;align-items:end;margin-bottom:24px}.catalog-block__head--compact{grid-template-columns:1fr}.catalog-block__eyebrow{margin:0 0 8px;color:#7c857f;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.catalog-block__head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.4vw,46px);line-height:1.04;letter-spacing:-.035em;color:#17211d}.catalog-block__head>p{margin:0 0 4px;color:#68736d;font-size:13.5px;line-height:1.6}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.collection-card{position:relative;min-height:220px;padding:22px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #d8dfdb;border-radius:8px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.collection-card:hover{transform:translateY(-3px);box-shadow:0 15px 36px rgba(16,32,25,.10)}.collection-card--dark{background:#0b3025;color:#ffffff;border-color:#0b3025}.collection-card--light{background:#eef2f0;color:#17211d}.collection-card--warm{background:#d6b56f;color:#1b251f;border-color:#cda95d}.collection-card__index{position:relative;z-index:2;font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.68}.collection-card__suit{position:absolute;right:8px;top:-34px;font-family:Georgia,"Times New Roman",serif;font-size:170px;line-height:1;opacity:.09;transform:rotate(8deg)}.collection-card__body{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px}.collection-card__label{grid-column:1/-1;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.66}.collection-card__body strong{max-width:270px;font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.03;letter-spacing:-.025em}.collection-card__arrow{font-size:26px;line-height:1;transition:transform .18s ease}.collection-card:hover .collection-card__arrow{transform:translateX(4px)}
.featured-games{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.featured-game{min-width:0;overflow:hidden;border:1px solid #dbe2de;border-radius:8px;background:#ffffff;color:#17211d;text-decoration:none;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.featured-game:hover{transform:translateY(-2px);border-color:#bac7c1;box-shadow:0 12px 28px rgba(18,36,28,.08)}.featured-game__table{position:relative;height:128px;display:block;overflow:hidden;background:#0b6146;background-image:radial-gradient(rgba(255,255,255,.11) .7px,transparent .7px);background-size:9px 9px;border-bottom:1px solid rgba(0,0,0,.12)}.mini-stack{position:absolute;bottom:13px;width:38px;height:57px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:#6349aa;box-shadow:0 -5px 0 -1px #785cc1,0 -10px 0 -2px #8468cf}.mini-stack:before{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.17);border-radius:2px}.mini-stack--1{left:16px;transform:rotate(-3deg)}.mini-stack--2{left:64px;height:65px}.mini-stack--3{left:112px;height:72px;transform:rotate(2deg)}.mini-playing-card{position:absolute;right:17px;bottom:11px;width:52px;height:76px;padding:5px 6px;border:1px solid #d7dfdb;border-radius:5px;background:#fff;color:#151b18;box-shadow:0 3px 8px rgba(0,0,0,.18);font-family:Georgia,"Times New Roman",serif;line-height:1}.mini-playing-card.is-red{color:#ca3032}.mini-playing-card b{display:block;font-size:18px}.mini-playing-card i{display:block;margin-top:3px;font-size:19px;font-style:normal}.featured-game__copy{min-height:91px;padding:15px 16px 14px;display:flex;flex-direction:column;justify-content:space-between;gap:11px}.featured-game__copy strong{font-size:14px;line-height:1.24}.featured-game__copy>span{display:flex;justify-content:space-between;color:#78817c;font-size:10px;font-weight:750;letter-spacing:.03em}.featured-game__copy i{font-style:normal;color:#245642}
.catalog-directory{padding-top:76px}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d2ccbf}.directory-group{padding:28px 0 6px;border-bottom:1px solid #d2ccbf}.directory-group:nth-child(odd){padding-right:36px}.directory-group:nth-child(even){padding-left:36px;border-left:1px solid #d2ccbf}.directory-group__head{min-height:83px;display:grid;grid-template-columns:42px 1fr;gap:12px}.directory-group__number{padding-top:5px;color:#9aa09c;font:800 10px/1 Inter,Arial,sans-serif;letter-spacing:.12em}.directory-group__head h3{margin:0 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.05;letter-spacing:-.025em}.directory-group__head p{margin:0;max-width:330px;color:#7a837e;font-size:11.5px;line-height:1.5}.directory-links{margin-top:10px}.directory-links a{min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #dfdad0;color:#24302a;text-decoration:none;font-size:13px;font-weight:680;transition:padding .15s ease,color .15s ease}.directory-links a:hover{padding-left:7px;color:#12543d}.directory-links i{font-style:normal;color:#9aa19d;font-size:14px}.directory-links a:hover i{color:#12543d}.directory-links a[hidden],.directory-group[hidden],.featured-game[hidden]{display:none!important}
.catalog-empty{margin:34px 0;padding:28px;border:1px dashed #cfd8d3;background:#fbfcfb;text-align:center}.catalog-empty strong,.catalog-empty span{display:block}.catalog-empty strong{font-family:Georgia,"Times New Roman",serif;font-size:24px}.catalog-empty span{margin-top:5px;color:#77817b;font-size:13px}
.is-catalog-searching #collections,.is-catalog-searching #popular{display:none}.is-catalog-searching .catalog-directory{padding-top:38px}.is-catalog-searching .catalog-directory>.catalog-block__head{display:none}

/* category */
.category-hero{background:#0a2c22;color:#ffffff}.category-hero__inner{min-height:300px;padding-top:54px;padding-bottom:52px;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:60px;align-items:end}.category-back{display:inline-block;margin-bottom:34px;color:#aebeb6;font-size:11px;font-weight:700;text-decoration:none}.category-back:hover{color:#fff}.category-hero .catalog-title{font-size:clamp(42px,5vw,66px)}.category-hero .catalog-lead{max-width:690px}.category-hero__count{align-self:end;padding:20px 0 5px;border-top:1px solid rgba(255,255,255,.16)}.category-hero__count strong,.category-hero__count span{display:block}.category-hero__count strong{font-family:Georgia,"Times New Roman",serif;font-size:48px;line-height:1}.category-hero__count span{margin-top:7px;color:#aebeb6;font-size:11px}.category-main{padding-top:32px;padding-bottom:84px}.category-toolbar{min-height:60px;margin-bottom:28px;display:flex;align-items:center;gap:30px;border-bottom:1px solid #e1e6e3}.category-toolbar p{margin:0;color:#67716c;font-size:12px}.category-search{margin-left:auto;width:260px;height:38px;display:grid;grid-template-columns:32px 1fr;align-items:center;border:1px solid #d8dfdb;border-radius:5px;background:#ffffff}.category-search>span{display:grid;place-items:center;color:#737c77}.category-search input{min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:12px;color:#17211d}.featured-games--category{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:900px){
  .catalog-hero__grid{grid-template-columns:minmax(0,1fr) 260px;gap:28px;min-height:320px;padding-top:52px;padding-bottom:48px}.catalog-hero__deck{width:240px;height:190px}.hero-card{width:105px;height:150px}.hero-card--one{left:0}.hero-card--two{left:66px}.hero-card--three{left:130px}.catalog-shortcuts{display:none}.catalog-search{width:100%;max-width:460px}.collection-grid{grid-template-columns:1fr}.collection-card{min-height:160px}.collection-card__suit{font-size:145px}.featured-games,.featured-games--category{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-grid{grid-template-columns:1fr}.directory-group:nth-child(odd),.directory-group:nth-child(even){padding-left:0;padding-right:0;border-left:0}.category-hero__inner{grid-template-columns:1fr 140px;gap:30px}
}
@media(max-width:620px){
  .catalog-page .container{padding-inline:16px}.catalog-hero__grid{display:block;min-height:0;padding-top:38px;padding-bottom:38px}.catalog-title{font-size:48px}.catalog-lead{margin-top:17px;font-size:15px}.catalog-facts{margin-top:23px}.catalog-facts span{font-size:10.5px;padding-top:10px;margin-right:12px;padding-right:12px}.catalog-hero__deck{display:none}.catalog-tools{min-height:66px}.catalog-search{height:42px}.catalog-block{padding-top:48px}.catalog-block__head{grid-template-columns:1fr;gap:10px;margin-bottom:19px}.catalog-block__head h2{font-size:34px}.catalog-block__head>p{font-size:12.5px}.collection-grid{gap:9px}.collection-card{min-height:142px;padding:18px}.collection-card__body strong{font-size:24px}.featured-games,.featured-games--category{gap:9px}.featured-game__table{height:108px}.mini-stack{width:31px;height:48px}.mini-stack--1{left:10px}.mini-stack--2{left:46px}.mini-stack--3{left:82px}.mini-playing-card{right:10px;width:45px;height:66px}.featured-game__copy{min-height:82px;padding:12px}.featured-game__copy strong{font-size:12.5px}.featured-game__copy>span{font-size:9px}.catalog-directory{padding-top:56px}.directory-group{padding-top:22px}.directory-group__head{min-height:75px;grid-template-columns:34px 1fr}.directory-group__head h3{font-size:21px}.directory-links a{min-height:45px;font-size:12.5px}.category-hero__inner{display:block;min-height:0;padding-top:34px;padding-bottom:35px}.category-back{margin-bottom:27px}.category-hero .catalog-title{font-size:44px}.category-hero__count{display:none}.category-main{padding-top:22px}.category-toolbar{display:block;margin-bottom:20px;padding-bottom:16px}.category-toolbar p{margin-bottom:12px}.category-search{width:100%;margin:0}.breadcrumbs{display:none!important}
}
@media(max-width:360px){.featured-games,.featured-games--category{grid-template-columns:1fr}.featured-game__table{height:122px}.mini-stack{width:35px;height:52px}.mini-stack--1{left:14px}.mini-stack--2{left:56px}.mini-stack--3{left:98px}.catalog-title{font-size:42px}}

/* Build 012 — physical card dragging for move-based games. */
#game-table.drag-enabled .card[data-kind="tableau"],
#game-table.drag-enabled .card[data-kind="reserve"],
#game-table.drag-enabled .card[data-kind="foundation"],
#game-table.drag-enabled .card[data-kind="waste"],
#game-table.drag-enabled .card[data-kind="gap"]{cursor:grab}
#game-table.drag-enabled.is-dragging{cursor:grabbing}
#game-table.drag-enabled .card.drag-origin{opacity:.16!important}
.drag-stack-ghost .card{box-shadow:0 5px 16px rgba(0,0,0,.24)!important}
@media(pointer:coarse){#game-table.drag-enabled .card{cursor:default}}

/* ========================================================================== 
   Build 013 — settings close + one-step Auto Move
   ========================================================================== */
#btnAutoMove{color:#d8f4e8!important}
#btnAutoMove:hover{background:rgba(79,193,139,.13)!important;border-color:rgba(105,214,166,.12)!important;color:#fff!important}
#btnAutoMove:disabled{opacity:.52!important;cursor:wait!important;transform:none!important}
.auto-no-moves__card{width:min(430px,calc(100vw - 28px))!important}
.auto-no-moves__eyebrow{margin-bottom:4px;color:#6d7872;font-size:10px;font-weight:760;letter-spacing:.13em;text-transform:uppercase}
.auto-no-moves__text{margin:0;color:#53605a;font-size:14px;line-height:1.6}

@media (max-width:620px){
  .game-controls{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .game-bar[data-engine]:not([data-engine="klondike"]) .game-controls{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  #btnAutoMove .ui-imgbtn__label{letter-spacing:-.02em}
  .auto-no-moves .modal__card{max-height:calc(100svh - 24px)!important;margin:12px auto!important}
  .auto-no-moves .modal__foot{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .auto-no-moves .modal__foot .btn{min-height:44px!important;width:100%!important}
}

@media (max-width:350px){
  .game-controls{gap:1px!important}
  .ui-imgbtn,.btn.ui-imgbtn{font-size:7.9px!important}
  #btnAutoMove .ui-imgbtn__label{font-size:7.6px!important}
}

/* Build 013: settings must always be closable/reachable on short mobile screens. */
@media (max-width:620px){
  #settingsModal .modal__card{
    max-height:calc(100svh - 20px)!important;
    margin:10px auto!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
  }
  #settingsModal .modal__head{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    background:#fff!important;
  }
  #settingsModal .modal__foot{
    position:sticky!important;
    bottom:0!important;
    z-index:3!important;
    background:#fff!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  #settingsModal .modal__foot .btn{min-height:44px!important}
}
