/* Tipos de letra alojados no proprio site — sem pedidos a servidores da Google. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url(fontes/fraunces-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url(fontes/fraunces-400-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:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url(fontes/fraunces-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url(fontes/fraunces-400-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:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(fontes/fraunces-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(fontes/fraunces-400-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:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url(fontes/fraunces-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url(fontes/fraunces-400-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:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fontes/ibm-plex-mono-500-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fontes/ibm-plex-mono-500-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:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fontes/ibm-plex-sans-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fontes/ibm-plex-sans-400-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:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fontes/ibm-plex-sans-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fontes/ibm-plex-sans-400-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:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fontes/ibm-plex-sans-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fontes/ibm-plex-sans-400-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;}

:root{
  --ink:#120D0E;
  --ink-2:#1B1415;
  --ink-3:#231A1B;
  --paper:#F3EAE7;
  --paper-dim:#AD8F8B;
  --wine:#5C1119;
  --wine-soft:#380D12;
  --ember:#E14A32;
  --ember-hover:#BE3A24;
  --line:#2A1E1F;
  --line-soft:#3A2A2B;
  --sidebar-w:232px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--ink);color:var(--paper);
  font-family:'IBM Plex Sans',sans-serif;line-height:1.55;font-size:16px;
}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;margin:0 0 .35em 0;color:var(--paper);}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.mono{font-family:'IBM Plex Mono',monospace;}

/* shell: sidebar + content */
.shell{display:flex;min-height:100vh;align-items:stretch;}
.sidebar{
  width:var(--sidebar-w);flex-shrink:0;background:var(--ink-2);border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh;
  box-shadow:4px 0 16px rgba(0,0,0,.25);z-index:35;
}
.sidebar .logo{font-family:'Fraunces',serif;font-weight:700;font-size:1.25rem;background:none;border:none;color:var(--paper);cursor:pointer;padding:6px 10px 22px;text-align:left;}
.sidebar .logo span{color:var(--ember);}
.side-nav{display:flex;flex-direction:column;gap:2px;flex-grow:1;}
.side-nav button{
  display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--paper-dim);
  font-family:inherit;font-size:.92rem;padding:11px 12px;cursor:pointer;border-radius:6px;text-align:left;
  transition:color .15s ease,background .15s ease;
}
.side-nav button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;flex-shrink:0;}
.side-nav button:hover{color:var(--paper);background:var(--ink-3);}
.side-nav button.active{color:var(--paper);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-soft);}
.side-nav button.active svg{stroke:var(--ember);filter:drop-shadow(0 0 4px rgba(225,74,50,.5));}
.side-foot{font-size:.74rem;color:var(--paper-dim);opacity:.7;padding:12px;line-height:1.5;}

.content-area{flex-grow:1;min-width:0;display:flex;flex-direction:column;}
.topbar{position:sticky;top:0;z-index:30;background:rgba(18,13,14,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:14px 28px;display:flex;justify-content:flex-end;}
.search-box{position:relative;width:240px;flex-shrink:0;}
#gameSearch{
  width:100%;padding:9px 12px;font-family:inherit;font-size:.87rem;
  border:1px solid var(--line-soft);border-radius:3px;background:var(--ink-2);color:var(--paper);
}
#gameSearch::placeholder{color:var(--paper-dim);}
#gameSearch:focus{outline:2px solid var(--ember);outline-offset:1px;}
.search-results{
  position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--paper);border:1px solid var(--line);
  max-height:280px;overflow-y:auto;z-index:20;display:none;border-radius:3px;overflow:hidden;
}
.search-results.open{display:block;}
.search-results a{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;text-decoration:none;font-size:.86rem;color:#1a1112;border-bottom:1px solid #e7dad8;}
.search-results a:hover{background:#ecdedc;}
.search-results .r-score{font-family:'IBM Plex Mono',monospace;color:var(--wine);flex-shrink:0;}
.search-results .empty{padding:12px;font-size:.85rem;color:#7a6866;}

@media (max-width:860px){
  .shell{flex-direction:column;}
  .sidebar{
    width:100%;height:auto;position:sticky;top:0;z-index:40;flex-direction:row;align-items:center;
    padding:12px 16px;gap:4px;overflow-x:auto;
  }
  .sidebar .logo{padding:6px 10px;flex-shrink:0;}
  .side-nav{flex-direction:row;flex-grow:0;}
  .side-nav button span{display:none;}
  .side-foot{display:none;}
  .topbar{padding:12px 16px;}
}

/* views */
.view{display:none;}
.view.active{display:block;}

/* hero */
.hero{padding:64px 0 48px;border-bottom:1px solid var(--line);}
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start;}
.hero h1{font-size:clamp(2rem,4vw,2.9rem);line-height:1.12;max-width:16ch;}
.hero .lede{color:var(--paper-dim);font-size:1.05rem;max-width:48ch;margin-top:16px;}
.hero-facts{display:flex;flex-direction:column;gap:22px;padding-top:4px;}
.hero-fact{display:flex;gap:14px;align-items:flex-start;}
.hero-fact svg{width:20px;height:20px;flex-shrink:0;stroke:var(--ember);fill:none;stroke-width:1.6;margin-top:2px;}
.hero-fact p{margin:0;font-size:.92rem;color:var(--paper-dim);}
@media (max-width:800px){.hero-grid{grid-template-columns:1fr;gap:28px;}}

/* category rail (home) */
.cat-rail{border-top:1px solid var(--line);}
.cat-row{
  display:flex;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);
  text-decoration:none;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;
  width:100%;text-align:left;position:relative;padding-left:16px;transition:padding-left .18s ease;
}
.cat-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ember);transform:scaleY(0);transition:transform .18s ease;}
.cat-row:hover{padding-left:22px;}
.cat-row:hover::before{transform:scaleY(1);}
.cat-row .cat-icon{width:34px;height:34px;flex-shrink:0;stroke:var(--paper);fill:none;stroke-width:1.4;}
.cat-row .cat-text{flex-grow:1;}
.cat-row .cat-name{font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem;display:block;}
.cat-row .cat-desc{font-size:.88rem;color:var(--paper-dim);display:block;margin-top:3px;max-width:56ch;}
.cat-row .cat-go{font-size:1.4rem;color:var(--paper-dim);flex-shrink:0;}

/* home entry cards (new) */
.hero-compact{padding:56px 0 16px;border-bottom:none;}
.hero-compact .kicker2{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--ember);margin-bottom:10px;}
.hero-compact h1{font-size:clamp(1.9rem,4vw,2.6rem);max-width:16ch;}
.hero-compact .lede{color:var(--paper-dim);font-size:1.02rem;max-width:56ch;margin-top:12px;}
.entry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:32px 0 60px;}
.entry-card{
  background:var(--ink-2);border:1px solid var(--line);border-radius:8px;overflow:hidden;
  text-align:left;cursor:pointer;display:flex;flex-direction:column;padding:0;
  font-family:inherit;color:inherit;transition:border-color .18s ease, transform .18s ease;
}
.entry-card:hover{border-color:var(--ember);transform:translateY(-3px);}
.entry-card .entry-art{height:190px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.entry-card .art-svg{width:170px;height:170px;stroke:none;}
.entry-card .art-svg.art-setup{width:200px;height:150px;}
.entry-card .entry-art-collage{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2px;background:var(--line);width:100%;height:100%;}
.entry-art-collage .mini-cover{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%;}
.entry-art-collage .mini-cover svg{width:34px;height:34px;stroke:rgba(255,255,255,.85);fill:none;stroke-width:1.5;}
.entry-card .entry-body{padding:22px 24px 26px;}
.entry-card h3{font-size:1.22rem;margin-bottom:8px;}
.entry-card p{color:var(--paper-dim);font-size:.87rem;margin:0 0 16px;min-height:2.6em;}
.entry-card .entry-cta{font-size:.85rem;color:var(--ember);font-weight:600;}
@media (max-width:860px){.entry-grid{grid-template-columns:1fr;}}

/* MAGAZINE HOME LAYOUT */
.featured-card{
  display:block;width:100%;background:var(--ink-2);border:none;border-bottom:1px solid var(--line);
  cursor:pointer;padding:0;font-family:inherit;color:inherit;text-align:left;
}
.featured-inner{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:center;padding:40px 24px;}
.featured-art{
  height:180px;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.4);background-size:cover;background-position:center;
}
.real-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;}
.featured-art::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(15,8,8,.1), rgba(15,8,8,.35));box-shadow:inset 0 0 0 1px rgba(0,0,0,.3);}
.featured-art::after{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;font-family:'Fraunces',serif;font-weight:600;font-size:1.6rem;letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.featured-icon{display:none;}
.featured-text .eyebrow{font-size:.8rem;color:var(--ember);font-weight:600;margin-bottom:8px;}
.featured-text h1{font-size:clamp(1.5rem,2.6vw,2.1rem);max-width:26ch;margin-bottom:10px;}
.featured-text p{color:var(--paper-dim);font-size:.94rem;max-width:60ch;margin:0 0 12px;}
.featured-cta{color:var(--ember);font-weight:600;font-size:.9rem;}
@media (max-width:760px){.featured-inner{grid-template-columns:1fr;gap:20px;padding:28px 20px;}}

.row-head{display:flex;justify-content:space-between;align-items:baseline;margin:36px 0 16px;}
.row-head h2{font-size:1.3rem;}
.row-head .view-all{background:none;border:none;color:var(--ember);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;}
.card-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.mag-card{
  background:var(--ink-2);border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;
  text-align:left;padding:0;font-family:inherit;color:inherit;display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.mag-card:hover{border-color:var(--ember);transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.4);}
.mag-thumb{height:88px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background-size:cover;background-position:center;}
.mag-thumb .real-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;}
.mag-thumb svg{display:none;}
.mag-thumb::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(15,8,8,.05), rgba(15,8,8,.3));box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);}
.mag-thumb::after{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 10px;font-family:'Fraunces',serif;font-weight:600;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.4);line-height:1.3;}
.mag-thumb-icon{background:linear-gradient(135deg,#3A1216,#170D0E);}
.mag-eyebrow{font-size:.68rem;color:var(--ember);font-weight:600;padding:10px 12px 0;text-transform:uppercase;letter-spacing:.02em;}
.mag-title{font-family:'Fraunces',serif;font-weight:600;font-size:.92rem;padding:4px 12px 14px;line-height:1.25;}
@media (max-width:960px){.card-row{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.card-row{grid-template-columns:repeat(2,1fr);gap:10px;}}

.cover-banner{display:flex;gap:12px;margin:24px 0 4px;flex-wrap:wrap;}
.cover-banner .mini-cover{
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 4px 10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12), inset 0 -6px 10px rgba(0,0,0,.35);
}
.cover-banner .mini-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 28%, rgba(255,255,255,.22), transparent 55%);}
.cover-banner .mini-cover svg{width:24px;height:24px;stroke:rgba(255,255,255,.9);fill:none;stroke-width:1.6;position:relative;z-index:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));}
.setup-banner{display:flex;justify-content:flex-start;margin:20px 0 4px;}
.setup-banner .art-svg{width:220px;height:150px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.4));}
@media (max-width:640px){.cover-banner .mini-cover{width:40px;height:40px;}.cover-banner .mini-cover svg{width:20px;height:20px;}}

/* page head (inner views) */
.page-head{padding:48px 0 26px;border-bottom:1px solid var(--line);}
.page-head .crumb{font-size:.85rem;color:var(--paper-dim);margin-bottom:12px;}
.page-head .crumb button{background:none;border:none;color:var(--paper-dim);font-family:inherit;font-size:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;}
.page-head .crumb button:hover{color:var(--paper);}
.page-head h2{font-size:clamp(1.7rem,3.2vw,2.3rem);max-width:24ch;}
.page-head p{color:var(--paper-dim);max-width:58ch;margin-top:8px;}

/* subnav pills */
.subnav{display:flex;gap:8px;flex-wrap:wrap;padding-top:22px;overflow-x:auto;}
.subnav a{
  text-decoration:none;font-size:.85rem;color:var(--paper-dim);border:1px solid var(--line-soft);
  padding:7px 15px;border-radius:999px;white-space:nowrap;transition:all .15s ease;
}
.subnav a:hover{color:var(--paper);border-color:var(--ember);}
.subnav a.filter-pill.active{background:var(--ember);border-color:var(--ember);color:#1c0e0a;font-weight:600;box-shadow:0 2px 8px rgba(225,74,50,.35);}
.review-card.hide{display:none;}

/* subsections / picks */
.subsection{padding:48px 0;border-bottom:1px solid var(--line);}
.subsection-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px;}
.subsection-head h3{font-size:1.5rem;}
.subsection-head p{margin:0;color:var(--paper-dim);font-size:.9rem;max-width:42ch;}

.picks{display:flex;flex-direction:column;}
.pick{
  display:grid;grid-template-columns:56px 1.3fr 1.1fr auto;gap:22px;align-items:center;
  padding:22px 0;border-top:1px solid var(--line-soft);
}
.picks .pick:first-child{border-top:none;}
.rank{display:flex;flex-direction:column;align-items:center;gap:6px;}
.rank-icon svg{width:26px;height:26px;stroke:var(--paper-dim);fill:none;stroke-width:1.4;}
.rank-n{font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;color:var(--ember);}
.pick-name{font-weight:600;font-size:1rem;margin-bottom:5px;}
.pick-blurb{color:var(--paper-dim);font-size:.87rem;max-width:44ch;}
.pick-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:.82rem;}
.pick-specs div{display:flex;flex-direction:column;gap:1px;}
.pick-specs span{color:var(--paper-dim);font-size:.76rem;}
.pick-specs b{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.86rem;}
.pick-buy{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.price{font-family:'IBM Plex Mono',monospace;font-size:1.05rem;font-weight:500;}
.price small{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:.72rem;color:var(--paper-dim);font-weight:400;}
.cta{display:inline-block;background:var(--ember);color:#1c0e0a;text-decoration:none;padding:9px 18px;font-size:.85rem;font-weight:600;border-radius:3px;white-space:nowrap;box-shadow:0 3px 8px rgba(225,74,50,.35);transition:background .15s ease, transform .15s ease, box-shadow .15s ease;}
.cta:hover{background:#e8613f;transform:translateY(-1px);box-shadow:0 5px 12px rgba(225,74,50,.45);}
@media (max-width:760px){
  .pick{grid-template-columns:1fr;gap:10px;}
  .rank{flex-direction:row;justify-content:flex-start;}
  .pick-buy{align-items:flex-start;text-align:left;}
}

/* review cards */
.review-intro{color:var(--paper-dim);font-size:.85rem;max-width:60ch;margin-top:10px;padding:14px 16px;background:var(--ink-2);border-left:2px solid var(--ember);border-radius:2px;}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:34px;box-shadow:0 8px 20px rgba(0,0,0,.3);}
.review-card{background:var(--ink);display:flex;flex-direction:column;overflow:hidden;}
.review-card .cover{height:118px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:cover;background-position:center;}
.review-card .cover .real-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;}
.review-card .cover::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(15,8,8,.05), rgba(15,8,8,.3));box-shadow:inset 0 0 0 1px rgba(0,0,0,.3);}
.review-card .cover::after{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 14px;font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.review-card .cover-icon{display:none;}
.review-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:11px;flex-grow:1;}
.review-card .top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.review-card .game-name{font-family:'Fraunces',serif;font-weight:600;font-size:1.04rem;line-height:1.2;}
.review-card .score{font-family:'IBM Plex Mono',monospace;font-size:.95rem;color:#1c0e0a;background:var(--ember);padding:3px 9px;border-radius:3px;flex-shrink:0;font-weight:600;box-shadow:0 2px 6px rgba(225,74,50,.35);}
.review-card .verdict{font-size:.86rem;color:var(--paper-dim);flex-grow:1;}
.review-card .links{display:flex;gap:16px;flex-wrap:wrap;margin-top:2px;}
.review-card .links a{font-size:.8rem;text-decoration:none;color:var(--paper);border-bottom:1px solid var(--line-soft);}
.review-card .links a:hover{border-bottom-color:var(--ember);color:var(--ember);}
@media (max-width:900px){.review-grid{grid-template-columns:1fr;}}

/* review detail (full review) */
.rdetail-head{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start;}
.rdetail-cover{
  height:160px;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.4);background-size:cover;background-position:center;
}
.rdetail-cover .real-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;}
.rdetail-cover::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(15,8,8,.1), rgba(15,8,8,.35));box-shadow:inset 0 0 0 1px rgba(0,0,0,.3);}
.rdetail-cover::after{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.rdetail-cover svg{display:none;}
.rdetail-cat{font-size:.8rem;color:var(--ember);font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px;}
.rdetail-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.rdetail-top h2{margin:0;}
.rdetail-score{font-family:'IBM Plex Mono',monospace;font-size:1.1rem;color:#1c0e0a;background:var(--ember);padding:5px 14px;border-radius:4px;font-weight:600;box-shadow:0 3px 8px rgba(225,74,50,.35);flex-shrink:0;}
.rdetail-summary{color:var(--paper-dim);font-size:.95rem;margin-top:14px;max-width:60ch;}
.rdetail-video{display:inline-block;margin-top:16px;font-size:.88rem;color:var(--paper);text-decoration:none;border-bottom:1px solid var(--line-soft);}
.rdetail-video:hover{border-bottom-color:var(--ember);color:var(--ember);}
.rdetail-cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:38px;box-shadow:0 8px 20px rgba(0,0,0,.3);}
.rdetail-col{background:var(--ink-2);padding:24px 26px;}
.rdetail-col h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px;}
.rdetail-col.pros h4{color:#4CAF7D;}
.rdetail-col.cons h4{color:var(--ember);}
.rdetail-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.rdetail-col li{font-size:.9rem;color:var(--paper-dim);padding-left:20px;position:relative;line-height:1.5;}
.rdetail-col li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;}
.rdetail-col.pros li::before{background:#4CAF7D;}
.rdetail-col.cons li::before{background:var(--ember);}
@media (max-width:760px){.rdetail-head{grid-template-columns:1fr;}.rdetail-cols{grid-template-columns:1fr;}}

/* disclosure + footer */
.disclosure{background:var(--wine);padding:22px 0;}
.disclosure .wrap{font-size:.86rem;color:#F2DCDA;}
.disclosure b{color:var(--paper);}
footer.site{padding:36px 0 56px;font-size:.85rem;color:var(--paper-dim);}
footer.site .foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);padding-top:20px;}

/* compare tool */
.compare-tool{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:28px 30px;margin:36px 0 44px;box-shadow:0 10px 24px rgba(0,0,0,.3);}
.compare-tool h3{font-size:1.25rem;margin-bottom:6px;}
.compare-tool > p{color:var(--paper-dim);font-size:.88rem;max-width:60ch;margin:0;}
.compare-selects{display:flex;align-items:center;gap:16px;margin:20px 0;flex-wrap:wrap;}
.compare-selects select{
  flex:1;min-width:220px;background:var(--ink);color:var(--paper);border:1px solid var(--line-soft);
  padding:11px 12px;border-radius:3px;font-family:inherit;font-size:.88rem;
}
.compare-selects .vs{font-family:'Fraunces',serif;font-weight:600;color:var(--ember);font-size:1.1rem;}
.cta-outline{background:var(--ember);color:#1c0e0a;border:none;padding:11px 24px;border-radius:3px;font-weight:600;cursor:pointer;font-size:.88rem;font-family:inherit;}
.cta-outline:hover{background:#e8613f;}
.compare-result{margin-top:26px;}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.compare-side{background:var(--ink);padding:24px;}
.compare-side .cs-icon-badge{
  width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden;
  background:radial-gradient(circle at 32% 26%, var(--ink-3), var(--ink) 72%);border:1px solid var(--line-soft);
  box-shadow:0 4px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05), inset 0 0 0 1px rgba(225,74,50,.15);
}
.compare-side .cs-icon{width:26px;height:26px;stroke:var(--ember);fill:none;stroke-width:1.4;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));}
.compare-side .cs-icon-badge img{width:100%;height:100%;object-fit:cover;background:var(--paper);}
.compare-side .cs-name{font-family:'Fraunces',serif;font-weight:600;font-size:1.12rem;margin-bottom:4px;}
.compare-side .cs-cat{font-size:.78rem;color:var(--paper-dim);margin-bottom:12px;}
.compare-side .cs-score{display:inline-block;font-family:'IBM Plex Mono',monospace;background:var(--ember);color:#1c0e0a;padding:4px 11px;border-radius:3px;font-weight:600;margin-bottom:14px;font-size:.95rem;box-shadow:0 2px 6px rgba(225,74,50,.35);}
.compare-side .cs-verdict{font-size:.87rem;color:var(--paper-dim);margin-bottom:16px;}
.compare-side .cs-specs div{display:flex;justify-content:space-between;font-size:.82rem;padding:7px 0;border-top:1px solid var(--line-soft);}
.compare-side .cs-specs span{color:var(--paper-dim);}
.compare-side .cs-specs b{font-family:'IBM Plex Mono',monospace;font-weight:500;}
.compare-side .cs-buy{display:inline-block;margin-top:18px;background:var(--ember);color:#1c0e0a;text-decoration:none;padding:9px 18px;font-size:.85rem;font-weight:600;border-radius:3px;box-shadow:0 3px 8px rgba(225,74,50,.35);}
.compare-side .cs-buy:hover{background:#e8613f;}
@media (max-width:760px){.compare-grid{grid-template-columns:1fr;}.compare-selects{flex-direction:column;align-items:stretch;}}

/* comparison-only product list (periféricos) */
.picks .cpick{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--line-soft);}
.picks .cpick:first-child{border-top:none;}
.cpick-icon{
  width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;
  background:radial-gradient(circle at 32% 26%, var(--ink-3), var(--ink) 72%);border:1px solid var(--line-soft);
  box-shadow:0 3px 9px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.cpick-icon svg{width:22px;height:22px;stroke:var(--paper-dim);fill:none;stroke-width:1.4;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));}
.cpick-icon img{width:100%;height:100%;object-fit:cover;background:var(--paper);}
.cpick-main{flex-grow:1;}
.cpick-name{font-weight:600;font-size:.96rem;margin-bottom:3px;}
.cpick-verdict{font-size:.84rem;color:var(--paper-dim);max-width:62ch;}
.cpick-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;}
.cpick-score{font-family:'IBM Plex Mono',monospace;background:var(--ink-2);border:1px solid var(--line-soft);color:var(--paper);padding:5px 12px;border-radius:3px;font-weight:600;font-size:.9rem;box-shadow:0 2px 5px rgba(0,0,0,.35);}
.cpick-buy{font-size:.78rem;color:var(--ember);text-decoration:none;font-weight:600;white-space:nowrap;}
.cpick-buy:hover{text-decoration:underline;}
@media (max-width:640px){.picks .cpick{flex-wrap:wrap;}.cpick-side{flex-direction:row;align-items:center;}}

/* game category tiles: solid colour + name (real per-game cover, when found on Amazon, overlays on top via .real-img) */
.review-card[data-cat="acao-rpg"] .cover, .mag-card[data-cat="acao-rpg"] .mag-thumb, .featured-card[data-cat="acao-rpg"] .featured-art, #rdetailCover[data-cat="acao-rpg"]{background-image:linear-gradient(135deg,#3A0A0C,#170608) !important;}
.review-card[data-cat="mundo-aberto"] .cover, .mag-card[data-cat="mundo-aberto"] .mag-thumb, .featured-card[data-cat="mundo-aberto"] .featured-art, #rdetailCover[data-cat="mundo-aberto"]{background-image:linear-gradient(135deg,#142815,#0A1410) !important;}
.review-card[data-cat="desporto-corrida"] .cover, .mag-card[data-cat="desporto-corrida"] .mag-thumb, .featured-card[data-cat="desporto-corrida"] .featured-art, #rdetailCover[data-cat="desporto-corrida"]{background-image:linear-gradient(135deg,#3A1E05,#170D02) !important;}
.review-card[data-cat="tiro-accao"] .cover, .mag-card[data-cat="tiro-accao"] .mag-thumb, .featured-card[data-cat="tiro-accao"] .featured-art, #rdetailCover[data-cat="tiro-accao"]{background-image:linear-gradient(135deg,#2A0808,#0F0303) !important;}
.review-card[data-cat="indie-plataformas"] .cover, .mag-card[data-cat="indie-plataformas"] .mag-thumb, .featured-card[data-cat="indie-plataformas"] .featured-art, #rdetailCover[data-cat="indie-plataformas"]{background-image:linear-gradient(135deg,#2A1030,#120714) !important;}
.review-card[data-cat="puzzle-sandbox"] .cover, .mag-card[data-cat="puzzle-sandbox"] .mag-thumb, .featured-card[data-cat="puzzle-sandbox"] .featured-art, #rdetailCover[data-cat="puzzle-sandbox"]{background-image:linear-gradient(135deg,#0A2530,#051015) !important;}
.review-card[data-cat="multijogador"] .cover, .mag-card[data-cat="multijogador"] .mag-thumb, .featured-card[data-cat="multijogador"] .featured-art, #rdetailCover[data-cat="multijogador"]{background-image:linear-gradient(135deg,#241045,#0F0620) !important;}
.review-card[data-cat="simulacao-vida"] .cover, .mag-card[data-cat="simulacao-vida"] .mag-thumb, .featured-card[data-cat="simulacao-vida"] .featured-art, #rdetailCover[data-cat="simulacao-vida"]{background-image:linear-gradient(135deg,#3A2E0A,#171204) !important;}
.review-card[data-cat="terror-sobrevivencia"] .cover, .mag-card[data-cat="terror-sobrevivencia"] .mag-thumb, .featured-card[data-cat="terror-sobrevivencia"] .featured-art, #rdetailCover[data-cat="terror-sobrevivencia"]{background-image:linear-gradient(135deg,#14060A,#080204) !important;}
.review-card[data-cat="luta-estrategia"] .cover, .mag-card[data-cat="luta-estrategia"] .mag-thumb, .featured-card[data-cat="luta-estrategia"] .featured-art, #rdetailCover[data-cat="luta-estrategia"]{background-image:linear-gradient(135deg,#2A2005,#120E02) !important;}

.review-card[data-cat="acao-rpg"] .cover::after, .mag-card[data-cat="acao-rpg"] .mag-thumb::after, .featured-card[data-cat="acao-rpg"] .featured-art::after, #rdetailCover[data-cat="acao-rpg"]::after{content:"Ação & RPG";}
.review-card[data-cat="mundo-aberto"] .cover::after, .mag-card[data-cat="mundo-aberto"] .mag-thumb::after, .featured-card[data-cat="mundo-aberto"] .featured-art::after, #rdetailCover[data-cat="mundo-aberto"]::after{content:"Mundo Aberto";}
.review-card[data-cat="desporto-corrida"] .cover::after, .mag-card[data-cat="desporto-corrida"] .mag-thumb::after, .featured-card[data-cat="desporto-corrida"] .featured-art::after, #rdetailCover[data-cat="desporto-corrida"]::after{content:"Desporto & Corrida";}
.review-card[data-cat="tiro-accao"] .cover::after, .mag-card[data-cat="tiro-accao"] .mag-thumb::after, .featured-card[data-cat="tiro-accao"] .featured-art::after, #rdetailCover[data-cat="tiro-accao"]::after{content:"Tiro & Acção";}
.review-card[data-cat="indie-plataformas"] .cover::after, .mag-card[data-cat="indie-plataformas"] .mag-thumb::after, .featured-card[data-cat="indie-plataformas"] .featured-art::after, #rdetailCover[data-cat="indie-plataformas"]::after{content:"Indie";}
.review-card[data-cat="puzzle-sandbox"] .cover::after, .mag-card[data-cat="puzzle-sandbox"] .mag-thumb::after, .featured-card[data-cat="puzzle-sandbox"] .featured-art::after, #rdetailCover[data-cat="puzzle-sandbox"]::after{content:"Puzzle";}
.review-card[data-cat="multijogador"] .cover::after, .mag-card[data-cat="multijogador"] .mag-thumb::after, .featured-card[data-cat="multijogador"] .featured-art::after, #rdetailCover[data-cat="multijogador"]::after{content:"Multijogador";}
.review-card[data-cat="simulacao-vida"] .cover::after, .mag-card[data-cat="simulacao-vida"] .mag-thumb::after, .featured-card[data-cat="simulacao-vida"] .featured-art::after, #rdetailCover[data-cat="simulacao-vida"]::after{content:"Simulação";}
.review-card[data-cat="terror-sobrevivencia"] .cover::after, .mag-card[data-cat="terror-sobrevivencia"] .mag-thumb::after, .featured-card[data-cat="terror-sobrevivencia"] .featured-art::after, #rdetailCover[data-cat="terror-sobrevivencia"]::after{content:"Terror";}
.review-card[data-cat="luta-estrategia"] .cover::after, .mag-card[data-cat="luta-estrategia"] .mag-thumb::after, .featured-card[data-cat="luta-estrategia"] .featured-art::after, #rdetailCover[data-cat="luta-estrategia"]::after{content:"Estratégia";}
.mag-card[data-ptype="chair"] .mag-thumb{background-image:linear-gradient(rgba(15,8,8,.12),rgba(15,8,8,.42)),url('images/peripherals-bg/chair.jpg') !important;}
.mag-card[data-ptype="mouse"] .mag-thumb{background-image:linear-gradient(rgba(15,8,8,.1),rgba(15,8,8,.38)),url('images/peripherals-bg/mouse.jpg') !important;}
.mag-card[data-ptype="keyboard"] .mag-thumb{background-image:linear-gradient(rgba(15,8,8,.1),rgba(15,8,8,.38)),url('images/peripherals-bg/keyboard.jpg') !important;}
.mag-card[data-ptype="headset"] .mag-thumb{background-image:linear-gradient(rgba(15,8,8,.12),rgba(15,8,8,.42)),url('images/peripherals-bg/headset.jpg') !important;}
.mag-card[data-ptype="monitor"] .mag-thumb{background-image:linear-gradient(rgba(15,8,8,.1),rgba(15,8,8,.38)),url('images/peripherals-bg/monitor.jpg') !important;}
.mag-card[data-ptype="console"] .mag-thumb{background-image:linear-gradient(rgba(15,8,8,.12),rgba(15,8,8,.42)),url('images/peripherals-bg/console.jpg') !important;}

/* accessibility */
:focus-visible{outline:2px solid var(--ember);outline-offset:2px;}

  /* ---- navegação em links (páginas separadas) ---- */
  .side-nav a{display:flex;align-items:center;gap:12px;color:var(--paper-dim);font-size:.92rem;padding:11px 12px;border-radius:6px;text-decoration:none;transition:color .15s ease,background .15s ease;}
  .side-nav a svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;flex-shrink:0;}
  .side-nav a:hover{color:var(--paper);background:var(--ink-3);}
  .side-nav a.active{color:var(--paper);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-soft);}
  .side-nav a.active svg{stroke:var(--ember);filter:drop-shadow(0 0 4px rgba(225,74,50,.5));}
  .sidebar a.logo{text-decoration:none;display:block;}
  .crumb a{color:var(--paper-dim);text-decoration:underline;text-underline-offset:3px;}
  .crumb a:hover{color:var(--paper);}
  a.mag-card{text-decoration:none;color:inherit;}
  a.featured-card{text-decoration:none;color:inherit;display:block;}
  a.view-all{text-decoration:none;color:var(--ember);font-size:.85rem;font-weight:600;}
  .review-card .game-name a{color:inherit;text-decoration:none;}
  .review-card .game-name a:hover{color:var(--ember);}
  .rdetail-top h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(1.7rem,3.2vw,2.3rem);margin:0;}
  .rdetail-col h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px;}
  .rdetail-col.pros h2{color:#4CAF7D;}
  .rdetail-col.cons h2{color:var(--ember);}
  .subsection-head h2{font-size:1.5rem;}
  .mag-title, .shop-name, .cpick-name{overflow-wrap:anywhere;}

/* ---- cabecalho com video ---- */
.capa{position:relative;overflow:hidden;background:#000;
  height:clamp(320px, 52vh, 520px);border-bottom:1px solid var(--line);}
.capa-video{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;pointer-events:none;}
/* O veu escurece o video o suficiente para o texto se ler sempre,
   independentemente do que estiver a passar por tras. */
.capa-veu{position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(18,13,14,.30) 0%, rgba(18,13,14,.62) 45%, rgba(18,13,14,.94) 100%);}
.capa-texto{position:relative;height:100%;display:flex;flex-direction:column;
  justify-content:flex-end;padding-bottom:38px;}
.capa-titulo{font-family:'Fraunces',serif;font-weight:700;margin:0 0 12px;
  font-size:clamp(1.9rem, 4.2vw, 3.1rem);line-height:1.08;letter-spacing:-.02em;
  color:var(--paper);text-shadow:0 2px 18px rgba(0,0,0,.6);max-width:18ch;}
.capa-sub{margin:0 0 22px;color:var(--paper);opacity:.88;max-width:52ch;
  font-size:clamp(.9rem, 1.6vw, 1.02rem);line-height:1.55;
  text-shadow:0 1px 10px rgba(0,0,0,.7);}
.capa-bt{display:flex;gap:11px;flex-wrap:wrap;}
.capa-b1, .capa-b2{text-decoration:none;font-size:.9rem;font-weight:600;
  padding:12px 22px;border-radius:5px;}
.capa-b1{background:var(--ember);color:#1c0e0a;box-shadow:0 4px 14px rgba(225,74,50,.4);}
.capa-b1:hover{background:#e8613f;}
.capa-b2{color:var(--paper);border:1px solid rgba(243,234,231,.35);}
.capa-b2:hover{border-color:var(--paper);background:rgba(243,234,231,.08);}
@media (max-width:640px){
  .capa{height:clamp(300px, 62vh, 430px);}
  .capa-texto{padding-bottom:26px;}
  .capa-bt{width:100%;}
  .capa-b1, .capa-b2{flex:1 1 auto;text-align:center;}
}
@media (prefers-reduced-motion:reduce){
  .capa-video{display:none;}
  .capa{background:var(--ink-2);}
}

  /* ---- marca: ventoinha de tres pas ---- */
  .sidebar a.logo{display:flex;align-items:center;gap:10px;}
  .marca-fan{flex:0 0 auto;color:var(--ember);
    transition:transform .9s cubic-bezier(.22,.61,.36,1);}
  .sidebar a.logo:hover .marca-fan{transform:rotate(300deg);}
  @media (prefers-reduced-motion:reduce){.marca-fan{transition:none;}}
  .logo-nome{color:var(--paper);}
  .logo-nome span{color:var(--ember);}
  @media (max-width:860px){.marca-fan{width:22px;height:22px;}}

  /* ---- categorias na barra lateral, por baixo da secção aberta ---- */
  .side-sub{display:flex;flex-direction:column;margin:2px 0 6px 20px;
    padding-left:11px;border-left:1px solid var(--line);
    max-height:46vh;overflow-y:auto;overscroll-behavior:contain;}
  .side-sub a{display:block;color:var(--paper-dim);font-size:.82rem;line-height:1.35;
    padding:6px 9px;border-radius:5px;text-decoration:none;}
  .side-sub a:hover{color:var(--paper);background:var(--ink-3);}
  .side-sub a.active{color:var(--ember);font-weight:600;}
  .side-sub::-webkit-scrollbar{width:5px;}
  .side-sub::-webkit-scrollbar-thumb{background:var(--line-soft);border-radius:3px;}
  .so-movel{display:none;}   /* no computador as categorias estão na barra lateral */
  .subnav a.active{color:var(--ember);font-weight:600;}

  /* No telemóvel a barra lateral vira tira horizontal. O CSS original escondia
     as legendas com `.side-nav button span`, mas a navegação passou a ser feita
     de links — sem isto o texto "Reviews de jogos" parte-se em três linhas e
     estica o cabeçalho. Mantemos as legendas, mas numa linha só, e a tira
     desliza na horizontal quando não couber. */
  @media (max-width:860px){
    .sidebar{align-items:center;}
    .side-nav{flex-wrap:nowrap;}
    .side-nav a{white-space:nowrap;padding:8px 10px;font-size:.82rem;gap:7px;}
    .side-nav a svg{width:16px;height:16px;}

    /* No telemóvel a barra lateral é uma tira estreita no topo, onde trinta
       categorias não cabem. Aí mostram-se dentro da página. */
    .side-sub{display:none;}
    .so-movel{display:flex;}
  }

  /* ---- loja ---- */
  .shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px;}
  @media (max-width:1100px){.shop-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:820px){.shop-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.shop-grid{grid-template-columns:1fr;}}
  .shop-card{background:var(--ink-2);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
  .shop-card:hover{border-color:var(--ember);transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.4);}
  .shop-photo{height:170px;background:var(--paper);display:flex;align-items:center;justify-content:center;padding:10px;}
  .shop-photo img{max-width:100%;max-height:100%;object-fit:contain;}
  .shop-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:9px;flex-grow:1;}
  .shop-name{font-family:'Fraunces',serif;font-weight:600;font-size:1rem;line-height:1.25;}
  .shop-desc{font-size:.84rem;color:var(--paper-dim);flex-grow:1;}
  .shop-band{display:inline-block;align-self:flex-start;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:999px;border:1px solid var(--line-soft);color:var(--paper-dim);}
  .shop-band.entrada{color:#4CAF7D;border-color:rgba(76,175,125,.4);}
  .shop-band.media{color:#E8A33F;border-color:rgba(232,163,63,.4);}
  .shop-band.topo{color:var(--ember);border-color:rgba(225,74,50,.45);}
  .shop-buy{display:block;text-align:center;background:var(--ember);color:#1c0e0a;text-decoration:none;padding:9px 14px;font-size:.84rem;font-weight:600;border-radius:3px;box-shadow:0 3px 8px rgba(225,74,50,.35);transition:background .15s ease;}
  .shop-buy:hover{background:#e8613f;}
  .shop-note{color:var(--paper-dim);font-size:.85rem;max-width:62ch;margin-top:10px;padding:14px 16px;background:var(--ink-2);border-left:2px solid var(--ember);border-radius:2px;}

  /* dois botões por produto: comparar e ver preço */
  .shop-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
  .shop-nota{font-family:'IBM Plex Mono',monospace;font-size:.78rem;font-weight:600;
    color:var(--ember);border:1px solid rgba(225,74,50,.45);border-radius:999px;padding:2px 9px;}
  .shop-bt{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px;}
  .shop-cmp{font:inherit;font-size:.84rem;font-weight:600;padding:9px 10px;border-radius:3px;
    cursor:pointer;background:transparent;color:var(--paper);border:1px solid var(--line-soft);}
  .shop-cmp:hover{background:var(--ink-3);border-color:var(--ember);color:var(--ember);}
  .shop-bt .shop-buy{padding:9px 10px;}
  .subsection-head h2 a{color:inherit;text-decoration:none;}
  .subsection-head h2 a:hover{color:var(--ember);}
  .sub-ir{color:var(--ember);font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;}
  .sub-ir:hover{text-decoration:underline;}

  /* comparador por categoria */
  .compare-tool h2{font-size:1.25rem;margin:0 0 6px;}
  /* o CSS original punha min-width:220px nos seletores, o que os fazia
     transbordar da caixa em ecrãs estreitos */
  .compare-selects select{max-width:100%;min-width:0;}
  @media (max-width:760px){
    .compare-tool{padding:20px 18px;}
    .compare-selects{width:100%;}
  }
  .cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;}
  @media (max-width:760px){.cs-grid{grid-template-columns:1fr;}}
  .cs-col{background:var(--ink-3);border:1px solid var(--line);border-radius:8px;padding:18px;
    position:relative;}
  /* O × tira o produto daquele lado e deixa o outro onde está — sem isto, pôr
     um terceiro produto no comparador empurrava sempre para fora o que se
     queria manter. */
  .cs-x{position:absolute;top:8px;right:8px;z-index:2;width:28px;height:28px;
    display:flex;align-items:center;justify-content:center;
    background:var(--ink-2);border:1px solid var(--line);border-radius:50%;
    color:var(--paper-dim);font-size:1.1rem;line-height:1;cursor:pointer;padding:0;
    transition:color .15s,border-color .15s,background .15s;}
  .cs-x:hover{color:var(--paper);border-color:var(--ember);background:var(--ember);}
  .cs-livre{display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;gap:12px;border-style:dashed;border-color:var(--line-soft);
    background:transparent;min-height:220px;}
  .cs-livre-sinal{width:44px;height:44px;border-radius:50%;border:1px dashed var(--line-soft);
    display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--paper-dim);}
  .cs-livre p{margin:0;font-size:.88rem;line-height:1.6;color:var(--paper-dim);max-width:34ch;}
  .cs-livre b{color:var(--paper);font-weight:600;}

  .cs-img{height:150px;background:var(--paper);border-radius:6px;display:flex;align-items:center;
    justify-content:center;padding:10px;margin-bottom:14px;}
  .cs-img img{max-width:100%;max-height:100%;object-fit:contain;}
  .cs-nome{font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;line-height:1.25;}
  .cs-nota{font-family:'IBM Plex Mono',monospace;color:var(--ember);font-weight:600;margin-top:6px;}
  .cs-gama{font-size:.76rem;color:var(--paper-dim);margin-top:4px;text-transform:uppercase;letter-spacing:.03em;}
  .cs-desc{font-size:.85rem;color:var(--paper-dim);line-height:1.6;margin:10px 0 12px;}
  .cs-spec{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;padding:7px 0;
    border-top:1px solid var(--line-soft);}
  .cs-spec span{color:var(--paper-dim);}
  .cs-spec b{font-family:'IBM Plex Mono',monospace;font-weight:500;text-align:right;}
  .cs-col .shop-buy{margin-top:14px;}
  .card-row-12{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
  @media (max-width:1200px){.card-row-12{grid-template-columns:repeat(4,1fr);}}
  @media (max-width:820px){.card-row-12{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:560px){.card-row-12{grid-template-columns:repeat(2,1fr);}}

/* ---- blocos de categoria (data-cat no próprio bloco) ---- */
.mag-thumb[data-cat="acao-rpg"], .cover[data-cat="acao-rpg"], .featured-art[data-cat="acao-rpg"], .rdetail-cover[data-cat="acao-rpg"], .semana-capa[data-cat="acao-rpg"]{background-image:linear-gradient(135deg,#3A0A0C,#170608) !important;}
.mag-thumb[data-cat="acao-rpg"]::after, .cover[data-cat="acao-rpg"]::after, .featured-art[data-cat="acao-rpg"]::after, .rdetail-cover[data-cat="acao-rpg"]::after, .semana-capa[data-cat="acao-rpg"]::after{content:"Ação & RPG";}
.mag-thumb[data-cat="mundo-aberto"], .cover[data-cat="mundo-aberto"], .featured-art[data-cat="mundo-aberto"], .rdetail-cover[data-cat="mundo-aberto"], .semana-capa[data-cat="mundo-aberto"]{background-image:linear-gradient(135deg,#142815,#0A1410) !important;}
.mag-thumb[data-cat="mundo-aberto"]::after, .cover[data-cat="mundo-aberto"]::after, .featured-art[data-cat="mundo-aberto"]::after, .rdetail-cover[data-cat="mundo-aberto"]::after, .semana-capa[data-cat="mundo-aberto"]::after{content:"Mundo Aberto";}
.mag-thumb[data-cat="desporto-corrida"], .cover[data-cat="desporto-corrida"], .featured-art[data-cat="desporto-corrida"], .rdetail-cover[data-cat="desporto-corrida"], .semana-capa[data-cat="desporto-corrida"]{background-image:linear-gradient(135deg,#3A1E05,#170D02) !important;}
.mag-thumb[data-cat="desporto-corrida"]::after, .cover[data-cat="desporto-corrida"]::after, .featured-art[data-cat="desporto-corrida"]::after, .rdetail-cover[data-cat="desporto-corrida"]::after, .semana-capa[data-cat="desporto-corrida"]::after{content:"Desporto & Corrida";}
.mag-thumb[data-cat="tiro-accao"], .cover[data-cat="tiro-accao"], .featured-art[data-cat="tiro-accao"], .rdetail-cover[data-cat="tiro-accao"], .semana-capa[data-cat="tiro-accao"]{background-image:linear-gradient(135deg,#2A0808,#0F0303) !important;}
.mag-thumb[data-cat="tiro-accao"]::after, .cover[data-cat="tiro-accao"]::after, .featured-art[data-cat="tiro-accao"]::after, .rdetail-cover[data-cat="tiro-accao"]::after, .semana-capa[data-cat="tiro-accao"]::after{content:"Tiro & Acção";}
.mag-thumb[data-cat="indie-plataformas"], .cover[data-cat="indie-plataformas"], .featured-art[data-cat="indie-plataformas"], .rdetail-cover[data-cat="indie-plataformas"], .semana-capa[data-cat="indie-plataformas"]{background-image:linear-gradient(135deg,#2A1030,#120714) !important;}
.mag-thumb[data-cat="indie-plataformas"]::after, .cover[data-cat="indie-plataformas"]::after, .featured-art[data-cat="indie-plataformas"]::after, .rdetail-cover[data-cat="indie-plataformas"]::after, .semana-capa[data-cat="indie-plataformas"]::after{content:"Indie";}
.mag-thumb[data-cat="puzzle-sandbox"], .cover[data-cat="puzzle-sandbox"], .featured-art[data-cat="puzzle-sandbox"], .rdetail-cover[data-cat="puzzle-sandbox"], .semana-capa[data-cat="puzzle-sandbox"]{background-image:linear-gradient(135deg,#0A2530,#051015) !important;}
.mag-thumb[data-cat="puzzle-sandbox"]::after, .cover[data-cat="puzzle-sandbox"]::after, .featured-art[data-cat="puzzle-sandbox"]::after, .rdetail-cover[data-cat="puzzle-sandbox"]::after, .semana-capa[data-cat="puzzle-sandbox"]::after{content:"Puzzle";}
.mag-thumb[data-cat="multijogador"], .cover[data-cat="multijogador"], .featured-art[data-cat="multijogador"], .rdetail-cover[data-cat="multijogador"], .semana-capa[data-cat="multijogador"]{background-image:linear-gradient(135deg,#241045,#0F0620) !important;}
.mag-thumb[data-cat="multijogador"]::after, .cover[data-cat="multijogador"]::after, .featured-art[data-cat="multijogador"]::after, .rdetail-cover[data-cat="multijogador"]::after, .semana-capa[data-cat="multijogador"]::after{content:"Multijogador";}
.mag-thumb[data-cat="simulacao-vida"], .cover[data-cat="simulacao-vida"], .featured-art[data-cat="simulacao-vida"], .rdetail-cover[data-cat="simulacao-vida"], .semana-capa[data-cat="simulacao-vida"]{background-image:linear-gradient(135deg,#3A2E0A,#171204) !important;}
.mag-thumb[data-cat="simulacao-vida"]::after, .cover[data-cat="simulacao-vida"]::after, .featured-art[data-cat="simulacao-vida"]::after, .rdetail-cover[data-cat="simulacao-vida"]::after, .semana-capa[data-cat="simulacao-vida"]::after{content:"Simulação";}
.mag-thumb[data-cat="terror-sobrevivencia"], .cover[data-cat="terror-sobrevivencia"], .featured-art[data-cat="terror-sobrevivencia"], .rdetail-cover[data-cat="terror-sobrevivencia"], .semana-capa[data-cat="terror-sobrevivencia"]{background-image:linear-gradient(135deg,#14060A,#080204) !important;}
.mag-thumb[data-cat="terror-sobrevivencia"]::after, .cover[data-cat="terror-sobrevivencia"]::after, .featured-art[data-cat="terror-sobrevivencia"]::after, .rdetail-cover[data-cat="terror-sobrevivencia"]::after, .semana-capa[data-cat="terror-sobrevivencia"]::after{content:"Terror";}
.mag-thumb[data-cat="luta-estrategia"], .cover[data-cat="luta-estrategia"], .featured-art[data-cat="luta-estrategia"], .rdetail-cover[data-cat="luta-estrategia"], .semana-capa[data-cat="luta-estrategia"]{background-image:linear-gradient(135deg,#2A2005,#120E02) !important;}
.mag-thumb[data-cat="luta-estrategia"]::after, .cover[data-cat="luta-estrategia"]::after, .featured-art[data-cat="luta-estrategia"]::after, .rdetail-cover[data-cat="luta-estrategia"]::after, .semana-capa[data-cat="luta-estrategia"]::after{content:"Estratégia";}
/* ---- páginas legais ---- */
.legal-wrap{max-width:74ch;padding-bottom:40px;}
.legal-data{color:var(--paper-dim);font-size:.85rem;margin-bottom:28px;}
.legal-bloco{margin-bottom:30px;}
.legal-bloco h2{font-size:1.05rem;margin:0 0 10px;display:flex;gap:10px;align-items:baseline;}
.legal-num{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--ember);flex:0 0 auto;}
.legal-bloco p{margin:0 0 11px;line-height:1.65;color:var(--paper-dim);}
.legal-bloco p b{color:var(--paper);}
.mono{font-family:'IBM Plex Mono',monospace;font-size:.92em;}
.por-preencher{background:rgba(225,74,50,.16);color:var(--ember);padding:1px 6px;
  border-radius:3px;font-family:'IBM Plex Mono',monospace;font-size:.85em;}
.foot-empresa{font-size:.82rem;opacity:.7;}
.legal-bloco a{color:var(--paper);text-decoration:underline;text-underline-offset:3px;}
.foot-legal{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.foot-legal a{color:var(--paper-dim);text-decoration:underline;text-underline-offset:3px;}
.foot-legal a:hover{color:var(--paper);}
@media (max-width:640px){.foot-legal{gap:12px;}}
/* ---- formulário de contacto ---- */
.form-wrap{max-width:68ch;padding-bottom:50px;}
.form-nota{color:var(--paper-dim);font-size:.86rem;margin:0 0 26px;}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;}
.campo{display:flex;flex-direction:column;gap:7px;}
.campo.largo{grid-column:1 / -1;}
.campo label{font-size:.9rem;font-weight:600;}
.campo input, .campo textarea{font:inherit;color:inherit;background:var(--ink-2);
  border:1px solid var(--line);border-bottom:2px solid var(--line-soft);border-radius:4px;
  padding:11px 13px;width:100%;}
.campo textarea{min-height:150px;resize:vertical;}
.campo input:focus, .campo textarea:focus{outline:none;border-bottom-color:var(--ember);
  box-shadow:0 0 0 1px rgba(225,74,50,.25);}
.campo input::placeholder, .campo textarea::placeholder{color:var(--paper-dim);opacity:.65;}
.form-priv{margin:24px 0 16px;font-size:.85rem;color:var(--paper-dim);line-height:1.6;}
.form-priv a, .form-aceito a{color:var(--paper-dim);text-decoration:underline;text-underline-offset:3px;}
.form-priv a:hover, .form-aceito a:hover{color:var(--paper);}
.form-aceito{display:flex;gap:11px;align-items:flex-start;font-size:.87rem;line-height:1.55;
  color:var(--paper-dim);margin-bottom:24px;}
.form-aceito input{margin-top:3px;flex:0 0 auto;width:17px;height:17px;accent-color:var(--ember);}
.form-enviar{display:inline-flex;align-items:center;gap:14px;font:inherit;font-weight:600;
  background:var(--ember);color:#1c0e0a;border:0;border-radius:4px;padding:14px 26px;
  cursor:pointer;box-shadow:0 3px 10px rgba(225,74,50,.32);}
.form-enviar:hover{background:#e8613f;}
.escondido{position:absolute;left:-9999px;}
.obrigado{padding:70px 0;}
.obrigado h1{margin:0 0 14px;}
.obrigado p{color:var(--paper-dim);max-width:52ch;margin:0 0 20px;line-height:1.65;}
@media (max-width:640px){.campos{grid-template-columns:1fr;}}
/* ---- novidades ---- */
.nov-lista{display:flex;flex-direction:column;gap:14px;max-width:80ch;padding-bottom:46px;}
a.nov{display:block;text-decoration:none;color:inherit;background:var(--ink-2);
  border:1px solid var(--line);border-left:3px solid var(--line-soft);border-radius:8px;
  padding:20px 22px;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
a.nov:hover{border-color:var(--line-soft);border-left-color:var(--ember);
  transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.35);}
.nov-topo{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:9px;}
.nov-tipo{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:3px 9px;border-radius:999px;border:1px solid var(--line-soft);color:var(--paper-dim);}
.nov-tipo.site{color:var(--ember);border-color:rgba(225,74,50,.45);}
.nov-tipo.jogos{color:#4CAF7D;border-color:rgba(76,175,125,.4);}
.nov-data{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--paper-dim);}
.nov h2{font-family:'Fraunces',serif;font-size:1.15rem;margin:0 0 8px;line-height:1.3;}
.nov p{margin:0 0 12px;color:var(--paper-dim);font-size:.9rem;line-height:1.6;}
.nov-ir{color:var(--ember);font-size:.84rem;font-weight:600;}
.nov.hide{display:none;}

/* Faixa da última novidade: o texto é para ler, não é clicável.
   Só o "Ver todas" é ligação. */
.destaque{display:block;color:inherit;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,rgba(225,74,50,.10),transparent 65%);}
a.destaque-ir{color:var(--ember);font-size:.85rem;font-weight:600;flex:0 0 auto;
  text-decoration:none;}
a.destaque-ir:hover{text-decoration:underline;}
.destaque-in{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:15px 0;}
.destaque-et{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--ember);border:1px solid rgba(225,74,50,.45);border-radius:999px;padding:3px 10px;
  flex:0 0 auto;}
.destaque-tx{flex:1 1 300px;min-width:0;font-size:.95rem;}
.destaque-tx b{font-weight:600;}
  /* ---- aviso de comissão no topo das páginas comerciais ----
     A Google pede que a divulgação esteja perto do início, não só no rodapé.
     Fica discreto mas antes do conteúdo, que é o que interessa. */
  .aviso-topo{display:flex;gap:11px;align-items:flex-start;width:100%;
    margin:0 0 20px;padding:10px 14px;border-radius:8px;
    background:rgba(225,74,50,.07);border:1px solid rgba(225,74,50,.22);
    font-size:.82rem;line-height:1.55;color:var(--paper-dim);}
  .aviso-topo b{color:var(--paper);font-weight:600;}
  .aviso-topo a{color:var(--ember);}
  .aviso-icone{flex:0 0 auto;width:15px;height:15px;margin-top:3px;stroke:var(--ember);
    fill:none;stroke-width:1.8;}

  /* ---- selo de verificação ---- */
  .selo-verif{display:inline-flex;gap:7px;align-items:center;font-size:.76rem;
    color:var(--paper-dim);font-family:'IBM Plex Mono',monospace;
    border:1px solid var(--line);border-radius:999px;padding:4px 11px;
    text-decoration:none;}
  .selo-verif svg{width:13px;height:13px;stroke:#5FBF8A;fill:none;stroke-width:2.2;}
  a.selo-verif:hover{border-color:var(--line-soft);color:var(--paper);}

  /* ---- listagem de guias ---- */
  .guia-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px, 100%), 1fr));
    gap:16px;padding-bottom:20px;}
  a.guia-cx{display:flex;flex-direction:column;gap:9px;text-decoration:none;color:inherit;
    background:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:18px 19px;
    transition:border-color .15s,transform .15s;}
  a.guia-cx:hover{border-color:var(--ember);transform:translateY(-2px);}
  .guia-cx h2{font-family:'Fraunces',serif;font-size:1.13rem;margin:0;line-height:1.3;}
  .guia-cx p{margin:0;font-size:.86rem;color:var(--paper-dim);line-height:1.55;}
  .guia-cx-pe{margin-top:auto;padding-top:8px;font-size:.75rem;color:var(--ember);font-weight:600;}
  .guia-cx-lista{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:5px;}
  .guia-cx-lista li{display:flex;gap:8px;font-size:.8rem;line-height:1.45;color:var(--paper-dim);}
  .guia-cx-lista b{color:var(--ember);font-weight:600;flex:0 0 auto;font-size:.68rem;
    text-transform:uppercase;letter-spacing:.05em;padding-top:2px;min-width:84px;}
  .guia-lista{grid-template-columns:repeat(auto-fill,minmax(min(330px, 100%), 1fr));}


  /* ---- página de guia ---- */
  /* ---- largura das páginas novas ----
     O .wrap do site trava em 1080px, o que num ecrã grande deixava metade
     vazia. Estas páginas usam um wrap mais largo e enchem-no com LAYOUT —
     tabelas lado a lado, painéis de características — e não esticando o texto:
     um parágrafo com 200 caracteres por linha é mais difícil de ler, não mais
     fácil. Por isso o texto corrido leva .prosa e mantém medida de leitura. */
  .wrap.wrap-largo{max-width:1560px;}
  /* Rede de segurança contra deslocamento horizontal no telemóvel.
     TEM de ser 'clip' e não 'hidden': overflow-x:hidden transforma o elemento
     num contentor de deslocamento e isso desliga o position:sticky de tudo o
     que está lá dentro — foi assim que a barra lateral deixou de acompanhar a
     página e passou a acabar a meio. 'clip' corta na mesma sem criar contentor. */
  html,body{overflow-x:clip;}
  .wrap-largo img,.wrap-largo table{max-width:100%;}
  .prosa{max-width:74ch;}
  .guia-wrap{padding-bottom:50px;}
  .guia-wrap,.met-wrap,.legal-wrap,.setup-wrap{margin-left:0;margin-right:auto;}

  .guia-intro p{font-size:1.02rem;line-height:1.75;color:var(--paper);margin:0 0 16px;}
  .guia-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 22px;}

  /* índice */
  .guia-indice{background:var(--ink-2);border:1px solid var(--line);border-radius:10px;
    padding:18px 22px;margin:26px 0 34px;}
  .guia-indice h2{font-family:'IBM Plex Mono',monospace;font-size:.74rem;text-transform:uppercase;
    letter-spacing:.09em;color:var(--paper-dim);margin:0 0 12px;font-weight:600;}
  .guia-indice ol{margin:0;padding-left:20px;display:grid;gap:7px;}
  .guia-indice li{font-size:.9rem;line-height:1.45;}
  .guia-indice a{color:var(--paper);text-decoration:none;border-bottom:1px solid transparent;}
  .guia-indice a:hover{color:var(--ember);border-bottom-color:var(--ember);}

  /* ---- resumo das escolhas: cartões, um por escolha, a ocupar a largura ---- */
  .guia-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px, 100%), 1fr));
    gap:12px;margin:0 0 40px;}
  a.gr-linha{display:flex;flex-direction:column;gap:9px;text-decoration:none;color:inherit;
    background:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;
    transition:border-color .15s,transform .15s;}
  a.gr-linha:hover{border-color:var(--ember);transform:translateY(-2px);}
  .gr-topo{display:flex;gap:12px;align-items:center;}
  .gr-img{width:62px;height:62px;flex:0 0 auto;border-radius:7px;background:var(--paper);
    display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .gr-img img{max-width:100%;max-height:100%;object-fit:contain;padding:4px;}
  .gr-papel{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
    color:var(--ember);font-weight:700;margin-bottom:4px;}
  .gr-nome{display:block;font-size:.93rem;line-height:1.35;font-weight:600;}
  .gr-quem{font-size:.83rem;line-height:1.55;color:var(--paper-dim);margin:0;}
  .gr-pe{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:4px;}
  .gr-nota{font-family:'IBM Plex Mono',monospace;font-size:.82rem;color:var(--paper);
    border:1px solid var(--line-soft);border-radius:6px;padding:3px 9px;white-space:nowrap;}
  .gr-spec{font-family:'IBM Plex Mono',monospace;font-size:.71rem;color:var(--paper-dim);
    border:1px solid var(--line);border-radius:5px;padding:3px 7px;}

  /* cada escolha, em detalhe */
  .escolha{border-top:1px solid var(--line);padding:32px 0 6px;scroll-margin-top:20px;}
  .escolha-cab{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin-bottom:4px;}
  .escolha-num{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--ember);
    font-weight:700;}
  .escolha h2{font-family:'Fraunces',serif;font-size:1.5rem;margin:0;line-height:1.25;}
  .escolha-prod{font-size:1.02rem;color:var(--paper-dim);margin:0 0 20px;}
  /* Em ecrã largo a escolha ganha uma terceira coluna com a ficha técnica,
     que antes estava espalhada em etiquetas no meio do texto. */
  .escolha-corpo{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:start;}
  @media (min-width: 1180px){
    .escolha-corpo{grid-template-columns:240px minmax(0,1fr) 300px;}
    .escolha-ficha{margin-top:0;}
  }
  .escolha-ficha{background:var(--ink-2);border:1px solid var(--line);border-radius:10px;
    padding:14px 16px;margin-top:4px;}
  .escolha-ficha h4{font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;
    letter-spacing:.08em;color:var(--paper-dim);margin:0 0 10px;font-weight:600;}
  .ef-l{display:flex;justify-content:space-between;gap:12px;padding:6px 0;
    border-bottom:1px solid var(--line);font-size:.83rem;line-height:1.45;}
  .ef-l:last-child{border-bottom:0;}
  .ef-l span{color:var(--paper-dim);flex:0 0 auto;}
  .ef-l b{font-weight:500;text-align:right;}

  .escolha-foto{background:var(--paper);border-radius:10px;padding:14px;display:flex;
    align-items:center;justify-content:center;aspect-ratio:1;}
  .escolha-foto img{max-width:100%;max-height:100%;object-fit:contain;}
  .escolha-txt p{margin:0 0 14px;line-height:1.72;font-size:.96rem;}
  .escolha-linha{display:flex;gap:9px;margin:0 0 14px;font-size:.92rem;line-height:1.65;}
  .escolha-et{flex:0 0 auto;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
    font-weight:700;padding:3px 9px;border-radius:999px;height:fit-content;margin-top:2px;}
  .et-quem{color:#7FC8A9;border:1px solid rgba(127,200,169,.4);}
  .et-contra{color:#E0A44A;border:1px solid rgba(224,164,74,.4);}
  .escolha-specs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px;}
  .escolha-specs span{font-family:'IBM Plex Mono',monospace;font-size:.74rem;
    color:var(--paper-dim);border:1px solid var(--line);border-radius:5px;padding:3px 8px;}
  .escolha-bt{display:flex;gap:10px;flex-wrap:wrap;}

  /* como escolher + excluídos + faq */
  .guia-sec{border-top:1px solid var(--line);padding-top:32px;margin-top:34px;scroll-margin-top:20px;}
  .guia-sec > h2{font-family:'Fraunces',serif;font-size:1.55rem;margin:0 0 18px;}
  .ce-grelha{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px, 100%), 1fr));gap:22px 30px;}
  .ce-bloco{margin:0;}
  .ce-bloco h3{font-size:1.02rem;margin:0 0 7px;color:var(--paper);}
  .ce-bloco p{margin:0;line-height:1.72;font-size:.95rem;color:var(--paper-dim);}
  .guia-excluidos{background:var(--ink-2);border-left:3px solid var(--line-soft);
    border-radius:0 8px 8px 0;padding:16px 20px;line-height:1.7;font-size:.93rem;
    color:var(--paper-dim);}

  details.faq{border-bottom:1px solid var(--line);}
  details.faq summary{cursor:pointer;padding:15px 30px 15px 0;font-size:1rem;
    list-style:none;position:relative;line-height:1.45;}
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq summary::after{content:"+";position:absolute;right:4px;top:13px;
    font-size:1.25rem;color:var(--ember);line-height:1;}
  details.faq[open] summary::after{content:"\2212";}
  details.faq summary:hover{color:var(--ember);}
  details.faq p{margin:0 0 17px;line-height:1.72;font-size:.94rem;color:var(--paper-dim);
    padding-right:30px;}

  /* metodologia */
  .met-wrap{max-width:74ch;padding-bottom:50px;}
  .met-sec{border-top:1px solid var(--line);padding-top:26px;margin-top:26px;}
  .met-sec:first-child{border-top:0;padding-top:0;margin-top:0;}
  .met-sec h2{font-family:'Fraunces',serif;font-size:1.35rem;margin:0 0 14px;}
  .met-sec p{line-height:1.78;margin:0 0 15px;font-size:.98rem;}
  .met-sec ul{margin:0 0 15px;padding-left:20px;display:grid;gap:8px;}
  .met-sec li{line-height:1.65;font-size:.96rem;color:var(--paper-dim);}

  /* critérios, dentro do guia */
  .criterios{background:var(--ink-2);border:1px solid var(--line);border-radius:10px;
    padding:18px 22px;margin:0 0 30px;}
  .criterios h2{font-family:'IBM Plex Mono',monospace;font-size:.74rem;text-transform:uppercase;
    letter-spacing:.09em;color:var(--paper-dim);margin:0 0 12px;font-weight:600;}
  .criterios ul{margin:0;padding-left:19px;display:grid;gap:9px;}
  .criterios li{font-size:.9rem;line-height:1.62;color:var(--paper-dim);}


  /* O destaque da entrada era um <h1> e passou a <h2>: uma página só pode ter
     um <h1>, e o dela é o título da capa. O aspecto fica igual. */
  .featured-text h2.como-h1{font-family:'Fraunces',serif;
    font-size:clamp(1.5rem,2.6vw,2.1rem);max-width:26ch;margin:0 0 10px;line-height:1.2;}

  /* Aqui esteve content-visibility:auto nas secções da loja, para o browser não
     desenhar o que está fora do ecrã. Foi retirado: com 43 secções de alturas
     muito diferentes, a altura estimada faz as ligações com âncora
     (loja.html#cadeiras) aterrarem no sítio errado — ou não aterrarem de todo.
     Poupava desenho e partia navegação; não compensa. */

  /* Nota de transparência do rodapé, com ligação à metodologia. */
  .disclosure a{color:var(--ember);}


  /* ---- o quadrado da semana: review + produto, no mesmo caixilho ----
     A escolha roda sozinha todas as semanas (ver o JS na entrada). Os dois
     blocos partilham a mesma grelha para se lerem como um par, separados só
     por um risco. */
  .semana{background:var(--ink-2);border:1px solid var(--line);border-radius:12px;
    padding:6px 26px;margin:0 0 40px;}
  a.semana-bl,.semana-bl{display:block;text-decoration:none;color:inherit;padding:22px 0;}
  a.semana-bl{transition:opacity .15s;}
  a.semana-bl:hover{opacity:.92;}
  a.semana-bl:hover .semana-ir{text-decoration:underline;}
  .semana-et{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.7rem;
    text-transform:uppercase;letter-spacing:.09em;color:var(--ember);font-weight:700;
    border:1px solid rgba(225,74,50,.4);border-radius:999px;padding:4px 12px;margin-bottom:16px;}
  .semana-risco{height:1px;background:var(--line);}
  .semana-corpo{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:24px;align-items:center;}
  .semana-foto{background:var(--paper);border-radius:10px;padding:16px;aspect-ratio:1;
    display:flex;align-items:center;justify-content:center;}
  .semana-foto img{max-width:100%;max-height:100%;object-fit:contain;}
  .semana-capa{border-radius:10px;aspect-ratio:1;overflow:hidden;position:relative;
    display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;}
  .semana-capa img{width:100%;height:100%;object-fit:cover;}
  .semana-nome{font-family:'Fraunces',serif;font-size:1.5rem;margin:0 0 5px;line-height:1.25;}
  .semana-cat{font-family:'IBM Plex Mono',monospace;font-size:.73rem;color:var(--paper-dim);
    margin-bottom:10px;}
  .semana-txt p{margin:0 0 14px;line-height:1.7;font-size:.95rem;color:var(--paper-dim);max-width:64ch;}
  .semana-ir{color:var(--ember);font-size:.85rem;font-weight:600;}
  .semana-specs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px;}
  .semana-specs span{font-family:'IBM Plex Mono',monospace;font-size:.73rem;color:var(--paper-dim);
    border:1px solid var(--line);border-radius:5px;padding:3px 8px;}
  .semana-bt{display:flex;gap:10px;flex-wrap:wrap;}
  .semana-nota{display:flex;flex-direction:column;align-items:center;gap:2px;
    border-left:1px solid var(--line);padding-left:24px;}
  .semana-nota b{font-family:'Fraunces',serif;font-size:2.5rem;line-height:1;color:var(--ember);}
  .semana-nota span{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--paper-dim);}
  @media (max-width: 900px){
    .semana{padding:4px 18px;}
    .semana-corpo{grid-template-columns:1fr;gap:16px;}
    .semana-foto,.semana-capa{max-width:180px;}
    .semana-nota{flex-direction:row;align-items:baseline;gap:8px;border-left:0;padding-left:0;
      border-top:1px solid var(--line);padding-top:14px;}
  }


  /* ---- guias e setups, dentro da Loja mas em destaque ----
     Sao as paginas que ajudam a escolher, nao categorias de produtos. Levam
     cor, peso e um ponto a marca-las, e ficam separadas das 43 categorias
     por um risco. */
  .side-sub a.sub-dest{display:flex;align-items:center;gap:9px;color:var(--ember);
    font-weight:600;letter-spacing:.005em;}
  .side-sub a.sub-dest:hover{color:#F0775E;}
  .sub-dest-p{display:inline-block;flex:0 0 auto;width:6px;height:6px;border-radius:50%;
    background:var(--ember);box-shadow:0 0 0 3px rgba(225,74,50,.18);}
  .side-sub a.sub-dest.aqui{color:var(--paper);}
  .side-sub a.sub-dest.aqui .sub-dest-p{background:var(--paper);
    box-shadow:0 0 0 3px rgba(243,234,231,.16);}
  /* o risco vem depois do segundo destaque */
  .side-sub a.sub-dest + a:not(.sub-dest),
  .side-sub .sub-filhos + a:not(.sub-dest){margin-top:10px;padding-top:12px;
    border-top:1px solid var(--line);}

  /* os irmaos, so quando se esta dentro da seccao */
  .sub-filhos{display:flex;flex-direction:column;}
  .sub-filhos a{padding-left:17px;font-size:.78rem;opacity:.85;
    border-left:1px solid var(--line);margin-left:3px;}
  .sub-filhos a.aqui{color:var(--paper);opacity:1;border-left-color:var(--ember);}

/* ---- calendário de lançamentos ---- */
.lc-mes{margin-bottom:34px;}
.lc-mes > h2{font-family:var(--mono);font-size:.76rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ember);margin:0 0 14px;
  border-bottom:1px solid var(--line);padding-bottom:9px;}
.lc-item{display:grid;grid-template-columns:78px minmax(0,1fr);gap:18px;
  padding:18px 0;border-bottom:1px solid var(--line);}
.lc-item:last-child{border-bottom:0;}
.lc-dia{display:flex;flex-direction:column;align-items:center;gap:3px;
  padding-top:2px;}
.lc-dia b{font-family:var(--serif);font-size:1.9rem;line-height:1;color:var(--paper);}
.lc-dia span{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ash);text-align:center;}
.lc-top{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;}
.lc-top h3{margin:0;font-family:var(--serif);font-size:1.3rem;line-height:1.2;
  color:var(--paper);font-weight:400;}
.lc-est{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;white-space:nowrap;border:1px solid;}
.lc-ok{color:#2BB673;border-color:rgba(43,182,115,.45);}
.lc-mais{color:var(--ember);border-color:rgba(225,74,50,.45);}
.lc-vago{color:var(--ash);border-color:var(--line-soft);}
.lc-plat{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.lc-plat span{font-size:.72rem;color:var(--ash);border:1px solid var(--line);
  border-radius:4px;padding:2px 7px;}
.lc-corpo p{margin:9px 0 0;font-size:.89rem;line-height:1.55;color:var(--ash);}
.lc-fonte{font-size:.78rem !important;color:var(--ash);opacity:.8;}
.lc-fonte a{color:var(--ember);}
a.lc-rev{display:inline-block;margin-top:9px;font-size:.84rem;color:var(--ember);}
.lc-pe{border-top:1px solid var(--line);padding-top:24px;margin-top:10px;max-width:70ch;}
.lc-pe h2{font-family:var(--mono);font-size:.74rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--paper-dim);margin:0 0 10px;}
.lc-pe p{font-size:.88rem;line-height:1.6;color:var(--ash);margin:0 0 10px;}
.lc-pe a{color:var(--ember);}
@media (max-width:560px){
  .lc-item{grid-template-columns:54px minmax(0,1fr);gap:13px;}
  .lc-dia b{font-size:1.5rem;}
}

/* ---- o par em destaque no topo da Loja ---- */
.dest-bloco{margin-bottom:34px;}
.dest-par{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  gap:18px;align-items:start;}
.dest-col{display:flex;flex-direction:column;gap:10px;}
a.dest-cx{display:flex;flex-direction:column;gap:7px;padding:20px 22px;
  border:1px solid rgba(225,74,50,.38);border-radius:14px;
  background:linear-gradient(180deg,rgba(225,74,50,.09),rgba(225,74,50,.02));
  text-decoration:none;color:inherit;transition:border-color .15s,background .15s;}
a.dest-cx:hover{border-color:rgba(225,74,50,.7);background:rgba(225,74,50,.12);}
.dest-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ember);}
.dest-tit{font-family:var(--serif);font-size:1.45rem;line-height:1.15;color:var(--paper);}
.dest-txt{font-size:.88rem;line-height:1.5;color:var(--ash);}
.dest-ir{font-size:.82rem;color:var(--ember);margin-top:2px;}
.dest-chips{display:flex;flex-wrap:wrap;gap:7px;}
a.dest-chip{font-size:.76rem;padding:5px 11px;border-radius:999px;
  border:1px solid var(--line);color:var(--ash);text-decoration:none;
  transition:border-color .15s,color .15s;}
a.dest-chip:hover{border-color:rgba(225,74,50,.55);color:var(--paper);}

  /* na tira do telemovel, o destaque e so a cor */
  .subnav a.sub-dest{color:var(--ember);font-weight:600;border-color:rgba(225,74,50,.45);}
  /* sem o ponto: dentro de uma pastilha ficava um risco, nao um ponto */
  .subnav .sub-dest-p{display:none;}
  .subnav .sub-filhos{flex-direction:row;}

  @media (max-width: 720px){
    .escolha-corpo{grid-template-columns:1fr;gap:16px;}
    .escolha-foto{max-width:190px;}
    a.gr-linha{grid-template-columns:44px 1fr;}
    .gr-img{width:44px;height:44px;}
    .gr-nota{grid-column:2;justify-self:start;}
  }
/* ---- listagem de setups ---- */
.setup-grupo{margin-bottom:34px;}
.setup-grupo > h2{font-family:'IBM Plex Mono',monospace;font-size:.74rem;
  text-transform:uppercase;letter-spacing:.09em;color:var(--paper-dim);
  margin:0 0 4px;font-weight:600;}
.setup-grupo > p{margin:0 0 16px;font-size:.88rem;color:var(--paper-dim);max-width:70ch;}
.setup-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px, 100%), 1fr));gap:14px;}
a.setup-cx{display:flex;flex-direction:column;gap:9px;text-decoration:none;color:inherit;
  background:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:16px 18px;
  transition:border-color .15s,transform .15s;}
a.setup-cx:hover{border-color:var(--ember);transform:translateY(-2px);}
.setup-cx h3{font-family:'Fraunces',serif;font-size:1.1rem;margin:0;line-height:1.3;}
/* A amostra era cortada a meio da palavra para caber numa linha. Passou a ter
   as linhas que precisar — cortar informação para poupar 20 pixels é mau
   negócio, e ficava feio. */
.setup-cx .amostra{font-family:'IBM Plex Mono',monospace;font-size:.73rem;line-height:1.5;
  color:var(--paper-dim);}
.setup-cx-o{display:flex;flex-wrap:wrap;gap:6px;}
.setup-cx-o span{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--paper-dim);
  border:1px solid var(--line);border-radius:5px;padding:3px 7px;}
.setup-cx-pe{margin-top:auto;padding-top:8px;font-size:.75rem;color:var(--ember);font-weight:600;}

/* ---- página de um jogo ---- */
.setup-wrap{padding-bottom:50px;}
.setup-intro p{font-size:1.02rem;line-height:1.75;margin:0 0 16px;}
.setup-intro strong{color:var(--paper);font-weight:600;}
/* As tabelas de uso ficam lado a lado a partir de 1080px: numa página de
   ratos + teclados + monitores, vê-se tudo sem descer. */
.uso-grelha{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(430px, 100%), 1fr));
  gap:26px 28px;margin:0 0 34px;align-items:start;}

.amostra-cx{display:flex;gap:11px;align-items:flex-start;width:100%;margin:0 0 28px;
  padding:11px 15px;border-radius:8px;background:var(--ink-2);border:1px solid var(--line);
  font-size:.84rem;line-height:1.55;color:var(--paper-dim);}
.amostra-cx b{color:var(--paper);font-weight:600;}

/* tabelas de uso */
.uso{margin:0 0 34px;}
.uso h2{font-family:'Fraunces',serif;font-size:1.4rem;margin:0 0 8px;}
.uso-nota{margin:0 0 14px;font-size:.89rem;line-height:1.65;color:var(--paper-dim);max-width:76ch;}
.uso-tab{border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.uso-l{display:grid;grid-template-columns:52px minmax(0,1fr) 104px;gap:13px;align-items:start;
  padding:13px 15px;border-bottom:1px solid var(--line);}
.uso-l:last-child{border-bottom:0;}
.uso-l:nth-child(odd){background:rgba(255,255,255,.012);}
.uso-foto{width:52px;height:52px;border-radius:6px;background:var(--paper);
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.uso-foto img{max-width:100%;max-height:100%;object-fit:contain;padding:3px;}
.uso-foto.vazia{background:var(--ink);border:1px dashed var(--line-soft);}
/* Fotografia do NOSSO produto quando a linha é de um que não vendemos:
   marcada com traço a ponteado para não dar a ideia de ser o mesmo. */
.uso-foto.alt{outline:1px dashed var(--line-soft);outline-offset:-1px;opacity:.85;}
.uso-nosso{display:block;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line);
  font-size:.79rem;color:var(--paper-dim);line-height:1.5;}
.uso-nosso .uso-ver{margin-top:0;}
.uso-nome{font-size:.95rem;line-height:1.4;font-weight:500;}
.uso-obs{display:block;margin-top:4px;font-size:.82rem;color:var(--paper-dim);line-height:1.55;}
.uso-obs a{color:var(--ember);}
.uso-val{font-family:'IBM Plex Mono',monospace;font-size:.88rem;color:var(--ember);
  text-align:right;white-space:nowrap;font-weight:600;}
.uso-n{display:block;font-size:.71rem;color:var(--paper-dim);font-weight:400;margin-top:2px;}
/* Barra proporcional: a percentagem em número diz pouco a quem lê depressa,
   e a barra mostra a distância entre o primeiro e o quinto num relance. */
.uso-barra{grid-column:2 / -1;height:4px;border-radius:2px;background:var(--line);
  margin-top:9px;overflow:hidden;}
.uso-barra i{display:block;height:100%;background:var(--ember);border-radius:2px;}
a.uso-ver{display:inline-block;margin-top:6px;font-size:.78rem;color:var(--ember);
  font-weight:600;text-decoration:none;border-bottom:1px solid transparent;}
a.uso-ver:hover{border-bottom-color:var(--ember);}

/* jogador */
.jogador{border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin:0 0 30px;
  background:var(--ink-2);}
.jogador-cab{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px;}
.jogador-cab h3{font-family:'Fraunces',serif;font-size:1.3rem;margin:0;}
.jogador-eq{font-family:'IBM Plex Mono',monospace;font-size:.76rem;color:var(--paper-dim);
  border:1px solid var(--line-soft);border-radius:999px;padding:3px 10px;}
.jogador-nota{margin:0 0 16px;font-size:.9rem;line-height:1.68;color:var(--paper-dim);}
.jogador-gear{display:grid;gap:9px;}
.jg-l{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:baseline;
  padding-bottom:9px;border-bottom:1px solid var(--line);}
.jg-l:last-child{border-bottom:0;padding-bottom:0;}
.jg-et{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--paper-dim);
  text-transform:uppercase;letter-spacing:.04em;}
.jg-v{font-size:.92rem;line-height:1.5;}

/* fontes */
.fontes{border-top:1px solid var(--line);padding-top:24px;margin-top:34px;}
.fontes h2{font-family:'IBM Plex Mono',monospace;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.09em;color:var(--paper-dim);margin:0 0 12px;font-weight:600;}
.fontes ul{margin:0;padding-left:19px;display:grid;gap:7px;}
.fontes li{font-size:.86rem;line-height:1.55;}
.fontes a{color:var(--ember);}
.fontes-pe{margin:14px 0 0;font-size:.82rem;color:var(--paper-dim);line-height:1.6;max-width:76ch;}

@media (max-width: 640px){
  .uso-l{grid-template-columns:44px minmax(0,1fr);gap:10px;}
  .uso-val{grid-column:2;text-align:left;}
  .uso-barra{grid-column:2;}
  .jg-l{grid-template-columns:1fr;gap:2px;}
}
/* ---- redes sociais ---- */
.foot-redes{display:flex;gap:10px;align-items:center;}
.foot-redes a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--line);border-radius:50%;color:var(--paper-dim);
  transition:color .15s,border-color .15s,background .15s;}
.foot-redes a:hover{color:var(--paper);border-color:var(--ember);background:var(--ember);}

/* bloco da entrada */
.redes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:14px;margin:0 0 40px;}
a.rede-cx{display:flex;gap:16px;align-items:center;text-decoration:none;color:inherit;
  background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:18px 20px;
  transition:border-color .15s,transform .15s;}
a.rede-cx:hover{border-color:var(--ember);transform:translateY(-2px);}
.rede-ic{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:var(--ink-3);color:var(--ember);
  border:1px solid var(--line);}
.rede-nome{display:block;font-family:'Fraunces',serif;font-size:1.1rem;line-height:1.2;}
.rede-user{display:block;font-family:'IBM Plex Mono',monospace;font-size:.8rem;
  color:var(--paper-dim);margin-top:3px;}
.rede-cx-ir{margin-left:auto;color:var(--ember);font-size:1.1rem;}
/* ---- aviso e painel de privacidade ---- */
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink-2);
  border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.45);
  padding:16px 0;padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px));}
.cbar-in{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.cbar p{margin:0;flex:1 1 320px;min-width:0;font-size:.86rem;color:var(--paper-dim);line-height:1.55;}
.cbar p a{color:var(--paper-dim);text-decoration:underline;text-underline-offset:3px;}
.cbar-bt{display:flex;gap:9px;flex-wrap:wrap;}
.cbt{font:inherit;font-size:.83rem;font-weight:600;padding:9px 16px;border-radius:5px;
  cursor:pointer;border:1px solid var(--line-soft);background:transparent;color:var(--paper);}
.cbt:hover{background:var(--ink-3);}
.cbt.sim{background:var(--ember);border-color:var(--ember);color:#1c0e0a;}
.cbt.sim:hover{background:#e8613f;}

.cmodal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(0,0,0,.6);}
.cmodal-cx{background:var(--ink-2);border:1px solid var(--line);border-radius:10px;
  max-width:560px;width:100%;max-height:86vh;overflow-y:auto;padding:26px;}
.cmodal-cx h2{margin:0 0 6px;font-size:1.2rem;}
.cmodal-intro{color:var(--paper-dim);font-size:.86rem;margin:0 0 20px;line-height:1.6;}
.copt{border-top:1px solid var(--line);padding:16px 0;}
.copt-top{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;}
.copt-nome{font-weight:600;font-size:.94rem;}
.copt p{margin:6px 0 0;font-size:.82rem;color:var(--paper-dim);line-height:1.55;}
.copt p .mono{font-family:var(--mono);font-size:.78rem;color:var(--paper);}
.copt .fixo{font-size:.76rem;color:var(--paper-dim);border:1px solid var(--line-soft);
  border-radius:999px;padding:3px 10px;white-space:nowrap;}
.cswitch{position:relative;flex:0 0 auto;width:44px;height:25px;}
.cswitch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2;}
.cswitch span{position:absolute;inset:0;background:var(--ink-3);border:1px solid var(--line-soft);
  border-radius:999px;transition:background .15s ease;}
.cswitch span::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;
  border-radius:50%;background:var(--paper-dim);transition:transform .15s ease,background .15s ease;}
.cswitch input:checked + span{background:rgba(225,74,50,.3);border-color:var(--ember);}
.cswitch input:checked + span::after{transform:translateX(19px);background:var(--ember);}
.cswitch input:focus-visible + span{outline:2px solid var(--ember);outline-offset:2px;}
.cmodal-bt{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px;}
@media (max-width:560px){
  .cmodal-cx{padding:20px;}
  .cmodal-bt{justify-content:stretch;}
  .cmodal-bt .cbt{flex:1 1 auto;text-align:center;}
}
