*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit}
ul,ol{margin:0;padding:0}
h1,h2,h3,h4,p,figure{margin:0}

:root{
  --bg:#FAF7EF;
  --surface:#FFFFFF;
  --surface-alt:#F2EEE1;
  --ink:#22262F;
  --muted:#5E6472;
  --accent:#E8C400;
  --accent-ink:#22262F;
  --line:rgba(34,38,47,.12);
  --line-strong:rgba(34,38,47,.22);
  --focus:#1E5FCE;
  --radius-s:8px;
  --radius-m:14px;
  --radius-l:22px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
  --z-dropdown:100;--z-sticky:200;--z-overlay:900;
  --shadow-card:0 1px 2px rgba(34,38,47,.06), 0 8px 24px rgba(34,38,47,.05);
  color-scheme:light;
}

html[data-theme="dark"]{
  --bg:#171A20;
  --surface:#1F232B;
  --surface-alt:#262B34;
  --ink:#F3F1E8;
  --muted:#A7ACB8;
  --accent:#E8C400;
  --accent-ink:#1A1C10;
  --line:rgba(243,241,232,.14);
  --line-strong:rgba(243,241,232,.24);
  --focus:#7FB0FF;
  --shadow-card:0 1px 2px rgba(0,0,0,.3), 0 10px 28px rgba(0,0,0,.35);
  color-scheme:dark;
}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  transition:background-color .2s ease,color .2s ease;
}

h1,h2,h3{
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.01em;
}
h1{font-size:clamp(1.9rem,4.5vw + 1rem,3.1rem)}
h2{font-size:clamp(1.4rem,2.6vw + .9rem,2rem)}
h3{font-size:clamp(1.1rem,1.4vw + .8rem,1.35rem)}
p{max-width:68ch}
p + p{margin-top:var(--space-4)}

.fc-skip{
  position:absolute;left:-9999px;top:0;
  background:var(--accent);color:var(--accent-ink);
  padding:var(--space-2) var(--space-4);z-index:var(--z-toast,1100);
}
.fc-skip:focus{left:var(--space-2);top:var(--space-2)}

:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.fc-sheet{
  width:100%;
  max-width:760px;
  margin-inline:auto;
  padding-inline:var(--space-4);
}
@media (min-width:48em){
  .fc-sheet{max-width:860px;padding-inline:var(--space-6)}
}
@media (min-width:64em){
  .fc-sheet{max-width:920px}
}

.fc-masthead{
  position:sticky;top:0;z-index:var(--z-sticky);
  background:var(--bg);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(140%) blur(6px);
}
.fc-masthead__bar{
  position:relative;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--space-2) var(--space-4);
  padding-block:var(--space-3);
}
.fc-brand{
  display:flex;align-items:center;gap:var(--space-2);
  text-decoration:none;flex-shrink:0;
  order:1;
}
.fc-brand img{width:88px;height:35px;object-fit:contain}
.fc-brand .fc-logo-dark{display:none}
html[data-theme="dark"] .fc-brand .fc-logo-light{display:none}
html[data-theme="dark"] .fc-brand .fc-logo-dark{display:block}

.fc-menu{
  display:none;
}
.fc-menu__list{
  display:flex;align-items:center;gap:var(--space-6);
  list-style:none;
}
.fc-menu__list a{
  text-decoration:none;font-size:.95rem;color:var(--ink);
  position:relative;padding-block:var(--space-1);
}
.fc-menu__list a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--accent);transition:right .25s ease;
}
.fc-menu__list a:hover::after,.fc-menu__list a:focus-visible::after{right:0}

.fc-headctrl{
  order:3;flex:1 1 100%;
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
}

.fc-burger{
  order:2;
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-s);
  background:var(--surface);cursor:pointer;
}
.fc-burger__bar,.fc-burger__bar::before,.fc-burger__bar::after{
  content:"";display:block;width:20px;height:2px;background:var(--ink);
  position:relative;transition:transform .2s ease,opacity .2s ease;
}
.fc-burger__bar::before{position:absolute;top:-6px}
.fc-burger__bar::after{position:absolute;top:6px}
.fc-burger[aria-expanded="true"] .fc-burger__bar{background:transparent}
.fc-burger[aria-expanded="true"] .fc-burger__bar::before{transform:translateY(6px) rotate(45deg)}
.fc-burger[aria-expanded="true"] .fc-burger__bar::after{transform:translateY(-6px) rotate(-45deg)}

.fc-menu.fc-menu--open{
  display:block;
  position:absolute;
  top:100%;left:0;right:0;
  border-top:1px solid var(--line);
  background:var(--bg);
  box-shadow:var(--shadow-card);
  z-index:var(--z-dropdown);
  max-height:calc(100vh - 100%);
  overflow-y:auto;
}
.fc-menu.fc-menu--open .fc-menu__list{
  flex-direction:column;align-items:stretch;gap:0;
  padding:var(--space-2) var(--space-4);
  max-width:760px;margin-inline:auto;
}
.fc-menu.fc-menu--open .fc-menu__list a{
  display:block;padding:var(--space-3) var(--space-1);
  border-bottom:1px solid var(--line);
}
.fc-menu.fc-menu--open .fc-menu__cta{padding-block:var(--space-3) 0}

.fc-cta{
  display:inline-flex;align-items:center;justify-content:center;
  gap:var(--space-2);
  background:var(--accent);color:var(--accent-ink);
  font-weight:700;text-decoration:none;
  padding:var(--space-3) var(--space-6);
  border-radius:var(--radius-m);
  border:none;cursor:pointer;
  min-height:44px;
  white-space:nowrap;
}
.fc-cta:hover{filter:brightness(.95)}
.fc-cta--ghost{
  background:transparent;color:var(--ink);
  border:1px solid var(--line-strong);
}
.fc-cta--block{width:100%}

@media (min-width:64em){
  .fc-masthead__bar{flex-wrap:nowrap}
  .fc-burger{display:none}
  .fc-menu{display:block;order:2}
  .fc-menu .fc-menu__cta{display:none}
  .fc-headctrl{order:3;flex:0 0 auto}
  .fc-headctrl .fc-cta{display:inline-flex}
}

.fc-theme{
  display:inline-flex;align-items:center;gap:var(--space-2);
  border:1px solid var(--line-strong);border-radius:999px;
  background:var(--surface);
  padding:var(--space-1) var(--space-2);
  cursor:pointer;min-height:40px;
}
.fc-theme__track{
  position:relative;width:40px;height:22px;border-radius:999px;
  background:var(--surface-alt);border:1px solid var(--line-strong);
  flex-shrink:0;
}
.fc-theme__knob{
  position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;
  background:var(--accent);transition:transform .2s ease;
}
html[data-theme="dark"] .fc-theme__knob{transform:translateX(17px)}
.fc-theme__label{font-size:.82rem;font-weight:600;white-space:nowrap}

.fc-crumbs{
  padding-block:var(--space-4) 0;
  font-size:.85rem;color:var(--muted);
  letter-spacing:.02em;
}
.fc-crumbs ol{display:flex;list-style:none;gap:var(--space-1);flex-wrap:wrap}
.fc-crumbs li:not(:last-child)::after{content:"›";margin-inline:var(--space-2);color:var(--line-strong)}
.fc-crumbs a{text-decoration:none;border-bottom:1px solid transparent}
.fc-crumbs a:hover{border-bottom-color:var(--muted)}
.fc-crumbs li:last-child{color:var(--ink);font-weight:600}

.fc-hero{padding-block:var(--space-8) var(--space-6)}
.fc-hero__lede{color:var(--muted);font-size:1.1rem;margin-top:var(--space-4)}
.fc-hero__updated{
  margin-top:var(--space-4);font-size:.82rem;color:var(--muted);
  letter-spacing:.04em;
}

.fc-keyvals{
  margin-top:var(--space-6);
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);
  list-style:none;
}
@media (min-width:30em){.fc-keyvals{grid-template-columns:repeat(4,1fr)}}
.fc-keyvals__item{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:var(--space-3);
}
.fc-keyvals__val{display:block;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}
.fc-keyvals__lbl{
  display:block;margin-top:var(--space-1);font-size:.72rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.08em;
}

.fc-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--space-3);
  padding-block:var(--space-8);
  border-top:1px solid var(--line);
}
@media (min-width:53.75em){
  .fc-row{grid-template-columns:170px minmax(0,1fr);gap:var(--space-8);align-items:start}
}
.fc-row__body{min-width:0}
.fc-row__label{
  display:flex;flex-direction:column;gap:var(--space-2);
}
.fc-row__eyebrow{
  font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--accent);
}
html[data-theme="dark"] .fc-row__eyebrow{color:var(--accent)}
.fc-row__rule{
  display:none;
  height:1px;width:48px;background:var(--line-strong);
}
@media (min-width:53.75em){
  .fc-row__rule{display:block}
  .fc-row__eyebrow{position:sticky;top:calc(var(--space-16) + var(--space-8))}
}
.fc-row__body > * + *{margin-top:var(--space-4)}
.fc-row__body h2{margin-top:0}
.fc-row__body h3{margin-top:var(--space-6)}

.fc-badge{
  display:inline-flex;align-items:center;gap:var(--space-1);
  font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  background:var(--surface-alt);color:var(--muted);
  padding:var(--space-1) var(--space-3);border-radius:999px;
  border:1px solid var(--line);
}

.fc-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin-top:var(--space-4)}
.fc-pill{
  display:inline-flex;align-items:center;gap:var(--space-2);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:var(--space-2) var(--space-3);font-size:.88rem;
}
.fc-pill img{width:36px;height:22px;object-fit:contain}

.fc-table-wrap{overflow-x:auto;margin-top:var(--space-4);border-radius:var(--radius-m)}
.fc-spec{
  width:100%;border-collapse:collapse;min-width:420px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  overflow:hidden;
}
.fc-spec caption{
  text-align:left;padding:var(--space-3) var(--space-4);font-weight:700;
  background:var(--surface-alt);border-bottom:1px solid var(--line);
}
.fc-spec th,.fc-spec td{
  text-align:left;padding:var(--space-3) var(--space-4);
  border-bottom:1px solid var(--line);font-size:.92rem;
}
.fc-spec thead th{
  font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  background:var(--surface-alt);
}
.fc-spec tbody tr:last-child td{border-bottom:none}
.fc-spec tbody tr:hover{background:var(--surface-alt)}

@media (max-width:40em){
  .fc-spec thead{display:none}
  .fc-spec,.fc-spec tbody,.fc-spec tr,.fc-spec td{display:block;width:100%}
  .fc-spec tr{border-bottom:1px solid var(--line);padding-block:var(--space-2)}
  .fc-spec tr:last-child{border-bottom:none}
  .fc-spec td{
    display:flex;justify-content:space-between;gap:var(--space-3);
    border-bottom:none;padding:var(--space-1) var(--space-4);text-align:right;
  }
  .fc-spec td::before{
    content:attr(data-label);font-weight:600;color:var(--muted);text-align:left;
  }
}

.fc-compare{
  margin-top:var(--space-4);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  padding:var(--space-6);box-shadow:var(--shadow-card);
}
.fc-compare__chips{
  display:flex;flex-wrap:wrap;gap:var(--space-2);
  list-style:none;
}
.fc-compare__chip{position:relative}
.fc-compare__chip input{
  position:absolute;opacity:0;width:1px;height:1px;
}
.fc-compare__chip label{
  display:flex;align-items:center;gap:var(--space-2);
  border:1px solid var(--line-strong);border-radius:999px;
  padding:var(--space-2) var(--space-4);font-size:.88rem;font-weight:600;
  cursor:pointer;min-height:44px;background:var(--surface);
  transition:border-color .15s ease,background .15s ease;
}
.fc-compare__chip label img{width:30px;height:18px;object-fit:contain}
.fc-compare__chip input:checked + label{
  border-color:var(--accent);background:var(--accent);color:var(--accent-ink);
}
.fc-compare__chip input:focus-visible + label{outline:3px solid var(--focus);outline-offset:2px}

.fc-compare__out{
  margin-top:var(--space-6);
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);
}
@media (min-width:30em){.fc-compare__out{grid-template-columns:repeat(4,1fr)}}
.fc-compare__stat{
  background:var(--surface-alt);border-radius:var(--radius-m);padding:var(--space-3);
}
.fc-compare__stat b{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums}
.fc-compare__stat span{
  display:block;margin-top:var(--space-1);font-size:.7rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.06em;
}
.fc-compare__note{margin-top:var(--space-4);font-size:.85rem;color:var(--muted)}
.fc-compare__hint{margin-top:var(--space-3);font-size:.8rem;color:var(--muted)}

.fc-games{
  margin-top:var(--space-4);
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);
}
@media (min-width:30em){.fc-games{grid-template-columns:repeat(3,1fr)}}
.fc-games__item{
  position:relative;border-radius:var(--radius-m);overflow:hidden;
  border:1px solid var(--line);aspect-ratio:4/3;
}
.fc-games__item img{width:100%;height:100%;object-fit:cover}
.fc-games__name{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));
  color:#fff;font-size:.78rem;font-weight:700;padding:var(--space-4) var(--space-2) var(--space-2);
}
.fc-games__play{
  position:absolute;top:var(--space-2);right:var(--space-2);
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;padding:var(--space-2) var(--space-4);
  border-radius:999px;background:var(--accent);color:var(--accent-ink);
  font-weight:700;font-size:.85rem;text-decoration:none;
  transition:transform .2s ease;
}
.fc-games__play:hover,.fc-games__play:focus-visible{transform:translateY(-2px)}

.fc-steps{list-style:none;counter-reset:fc-step;margin-top:var(--space-4)}
.fc-steps li{
  counter-increment:fc-step;position:relative;padding-left:var(--space-12);
  padding-block:var(--space-3);border-top:1px solid var(--line);
}
.fc-steps li:first-child{border-top:none}
.fc-steps li::before{
  content:counter(fc-step);position:absolute;left:0;top:var(--space-3);
  width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-ink);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;
}

.fc-reviews{
  margin-top:var(--space-4);
  display:grid;gap:var(--space-4);
}
@media (min-width:48em){.fc-reviews{grid-template-columns:repeat(2,1fr)}}
.fc-review{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:var(--space-4);
}
.fc-review__meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-bottom:var(--space-2)}
.fc-review p{margin-top:0;font-size:.95rem}

.fc-qa{margin-top:var(--space-4)}
.fc-qa__item{
  border-bottom:1px solid var(--line);padding-block:var(--space-3);
}
.fc-qa__item summary{
  cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;
  justify-content:space-between;gap:var(--space-3);padding-block:var(--space-1);
}
.fc-qa__item summary::-webkit-details-marker{display:none}
.fc-qa__item summary::after{content:"+";font-size:1.3rem;color:var(--muted);flex-shrink:0}
.fc-qa__item[open] summary::after{content:"–"}
.fc-qa__item p{margin-top:var(--space-2);color:var(--muted)}

.fc-cta-band{
  margin-top:var(--space-8);
  background:var(--surface-alt);border-radius:var(--radius-l);
  padding:var(--space-8) var(--space-6);text-align:center;
}
.fc-cta-band p{margin-inline:auto;color:var(--muted)}
.fc-cta-band .fc-cta{margin-top:var(--space-6)}

.fc-legal-note{
  margin-top:var(--space-4);font-size:.85rem;color:var(--muted);
  border-left:3px solid var(--accent);padding-left:var(--space-4);
}

.fc-foot{
  margin-top:var(--space-12);
  background:var(--surface);border-top:1px solid var(--line);
  padding-block:var(--space-8);
}
.fc-foot__grid{
  display:grid;gap:var(--space-6);
}
@media (min-width:48em){.fc-foot__grid{grid-template-columns:repeat(3,1fr)}}
.fc-foot__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}
.fc-foot__list a{text-decoration:none;font-size:.92rem}
.fc-foot__list a:hover{text-decoration:underline}
.fc-foot__legal{
  margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--line);
  font-size:.8rem;color:var(--muted);
}
.fc-foot__legal p + p{margin-top:var(--space-2)}

.fc-cookie{
  position:fixed;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);
  z-index:var(--z-overlay);
  background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-m);
  box-shadow:var(--shadow-card);
  padding:var(--space-4);
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);
  max-width:620px;margin-inline:auto;
}
.fc-cookie[hidden]{display:none}
.fc-cookie p{font-size:.85rem;margin:0;flex:1 1 220px}
.fc-cookie__actions{display:flex;gap:var(--space-2)}

.fc-top{
  position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:var(--z-overlay);
  width:44px;height:44px;border-radius:50%;
  background:var(--accent);color:var(--accent-ink);border:none;cursor:pointer;
  font-size:1.1rem;box-shadow:var(--shadow-card);
  opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;
}
.fc-top.fc-top--visible{opacity:1;pointer-events:auto}
.fc-top:hover{transform:translateY(-2px)}

[data-reveal]{
  opacity:0;transform:translateY(12px);
  transition:opacity .5s ease,transform .5s ease;
}
[data-reveal].fc-revealed{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:.001ms !important;animation-duration:.001ms !important}
  [data-reveal]{opacity:1;transform:none}
}

.fc-404{padding-block:var(--space-16);text-align:center}
.fc-404__code{font-size:clamp(3rem,10vw,6rem);font-weight:700;color:var(--accent)}
.fc-404__links{
  margin-top:var(--space-8);display:grid;gap:var(--space-2);
  max-width:420px;margin-inline:auto;text-align:left;
}
.fc-404__links a{text-decoration:none}
.fc-404__links a:hover{text-decoration:underline}

.fc-visually-hidden{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
}

@media (max-width:640px){
  .fc-table-wrap .fc-spec--kv,.fc-spec--kv{min-width:0;width:100%}
  .fc-spec--kv thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .fc-spec--kv tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--space-2) var(--space-3);align-items:start}
  .fc-spec--kv td{display:block;min-width:0;overflow-wrap:anywhere;padding:var(--space-2) var(--space-3)}
  .fc-spec--kv td::before{content:none}
  .fc-spec--kv caption{display:block;width:100%;max-width:100%;text-align:left;box-sizing:border-box}
  .fc-spec--kv td{text-align:left}
  .fc-spec--kv td:first-child{font-weight:700;color:var(--muted)}
}
