:root {
    --bg: #070908;
    --panel: rgba(12, 15, 13, .82);
    --panel-solid: #101310;
    --line: rgba(220, 229, 219, .16);
    --text: #f1f3ef;
    --muted: #9aa29a;
    --accent: #829f4a;
    --accent-2: #a6c966;
    --danger: #8f2935;
    --header-h: 88px;
    --pad-x: clamp(22px, 5vw, 92px);
    color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
    margin: 0;
    min-width: 320px;
    background: var(--bg);
    color: var(--text);
    font-family: "Segoe UI", Inter, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-shell { min-height: 100vh; overflow: hidden; }
.topbar {
    position: fixed;
    z-index: 40;
    inset: 0 0 auto 0;
    height: var(--header-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--pad-x);
    background: linear-gradient(180deg, rgba(3,4,3,.92), rgba(3,4,3,.58) 68%, transparent);
    border-bottom: 1px solid rgba(255,255,255,.05);
    backdrop-filter: blur(8px);
}
.brand { display: flex; align-items: center; min-width: 190px; }
.brand-copy { display: grid; gap: 2px; }
.brand-copy strong { letter-spacing: .075em; font-size: 16px; }
.brand-copy small { color: var(--muted); font-size: 11px; }
.main-nav { display: flex; align-items: center; gap: clamp(20px, 2.3vw, 39px); }
.main-nav a { position: relative; padding: 12px 0; color: #c0c5bf; font-size: 14px; font-weight: 600; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 4px; height: 2px; background: var(--accent-2); transition: right .25s ease; }
.main-nav a:hover, .main-nav a.active { color: #fff; }
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.main-nav .nav-login { padding: 10px 18px; border: 1px solid var(--line); }
.main-nav .nav-login::after { display: none; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; padding: 10px; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: #fff; transition: .25s; }

.hero {
    position: relative;
    min-height: 100svh;
    isolation: isolate;
    display: flex;
    align-items: center;
    padding: calc(var(--header-h) + 45px) var(--pad-x) 100px;
    background: #020302;
}
.hero-media, .hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media { z-index: -5; overflow: hidden; }
.hero-media img { object-fit: cover; object-position: center; transform: scale(1.035); animation: slowBreath 16s ease-in-out infinite alternate; transition: opacity .45s ease, transform .8s ease; }
.hero-media img.is-changing { opacity: .18; transform: scale(1.08); }
.hero-wash { position: absolute; z-index: -4; inset: 0; background: linear-gradient(90deg, rgba(1,2,1,.98) 0%, rgba(1,2,1,.91) 31%, rgba(1,2,1,.42) 58%, rgba(1,2,1,.08) 79%); }
.hero-vignette { position: absolute; z-index: -3; inset: 0; background: radial-gradient(circle at 72% 42%, transparent 0 18%, rgba(0,0,0,.24) 52%, rgba(0,0,0,.84) 100%); }
.hero-content { width: min(680px, 58vw); position: relative; z-index: 2; padding-top: 30px; }
.case-label { display: inline-flex; align-items: center; gap: 10px; color: #d5dfc3; font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-2); box-shadow: 0 0 0 0 rgba(166,201,102,.5); animation: pulse 2.2s infinite; }
.hero-kicker { margin: 31px 0 12px; color: var(--accent-2); font-size: 13px; font-weight: 700; letter-spacing: .24em; }
.hero h1 { margin: 0; max-width: 690px; font-size: clamp(50px, 6.1vw, 96px); line-height: .91; letter-spacing: -.055em; font-weight: 850; text-wrap: balance; }
.hero-lead { max-width: 565px; margin: 25px 0 0; color: #c9cec8; font-size: clamp(17px, 1.35vw, 22px); line-height: 1.58; }
.case-meta { display: flex; flex-wrap: wrap; gap: 12px 23px; margin: 28px 0 0; color: #9ea59e; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.case-meta span { display: inline-flex; gap: 5px; }
.case-meta strong { color: #e7eae6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 15px; padding: 0 24px; border: 1px solid transparent; border-radius: 2px; cursor: pointer; font-weight: 750; letter-spacing: .025em; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #11150d; background: var(--accent-2); box-shadow: 0 12px 40px rgba(130,159,74,.18); }
.btn-primary:hover { background: #badb78; }
.btn-primary svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 2; }
.btn-ghost { color: #e6e9e5; border-color: rgba(255,255,255,.18); background: rgba(0,0,0,.18); }
.btn-ghost:hover { border-color: var(--accent); background: rgba(130,159,74,.09); }
.case-number { display: flex; align-items: center; gap: 10px; margin: 41px 0 0; color: #8f968f; font-size: 11px; letter-spacing: .13em; }
.case-number i { display: block; width: 80px; height: 1px; background: linear-gradient(90deg, var(--accent), rgba(255,255,255,.13)); }
.hero-tools { position: absolute; z-index: 5; right: var(--pad-x); top: 120px; display: grid; gap: 8px; }
.tool-button { width: 48px; min-height: 48px; display: flex; align-items: center; justify-content: flex-start; gap: 10px; padding: 0 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.11); background: rgba(3,5,3,.56); backdrop-filter: blur(10px); cursor: pointer; transition: width .25s ease, border-color .2s, background .2s; white-space: nowrap; }
.tool-button svg { flex: 0 0 19px; width: 19px; height: 19px; fill: none; stroke: #d6dad5; stroke-width: 1.7; }
.tool-button span { opacity: 0; color: #c5cac4; font-size: 12px; transition: opacity .18s; }
.tool-button:hover { width: 170px; border-color: rgba(166,201,102,.45); }
.tool-button:hover span { opacity: 1; }
.tool-button[aria-pressed="true"] { border-color: var(--accent); background: rgba(130,159,74,.18); }
.case-switcher { position: absolute; z-index: 5; right: var(--pad-x); bottom: 52px; display: flex; align-items: center; min-width: 320px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(4,6,4,.44); backdrop-filter: blur(9px); }
.case-switcher button { width: 52px; height: 58px; border: 0; background: transparent; cursor: pointer; }
.case-switcher button:hover { background: rgba(130,159,74,.12); }
.case-switcher svg { width: 20px; fill: none; stroke: #e1e5df; stroke-width: 1.7; }
.case-switcher div { flex: 1; padding: 10px 4px; }
.case-switcher small { display: block; color: var(--accent-2); font-size: 9px; letter-spacing: .18em; }
.case-switcher strong { display: block; margin-top: 4px; font-size: 13px; font-weight: 650; }
.scroll-cue { position: absolute; left: 50%; bottom: 28px; width: 26px; height: 42px; border: 1px solid rgba(255,255,255,.25); border-radius: 18px; }
.scroll-cue span { position: absolute; left: 50%; top: 8px; width: 3px; height: 7px; margin-left: -1.5px; border-radius: 2px; background: var(--accent-2); animation: scrollCue 1.8s infinite; }

.preview-section { padding: 110px var(--pad-x); background: linear-gradient(180deg, #080a08, #0e120e); border-top: 1px solid rgba(255,255,255,.05); }
.section-heading { max-width: 820px; }
.section-heading p { color: var(--accent-2); font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.section-heading h2 { margin: 13px 0 0; font-size: clamp(30px, 4vw, 58px); line-height: 1.07; letter-spacing: -.035em; }
.preview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 55px; background: var(--line); border: 1px solid var(--line); }
.preview-grid article { min-height: 245px; padding: 34px; background: #0c0f0c; }
.preview-grid article > span { color: var(--accent-2); font-size: 12px; letter-spacing: .15em; }
.preview-grid h3 { margin: 38px 0 12px; font-size: 21px; }
.preview-grid p { margin: 0; color: var(--muted); line-height: 1.65; }
.footer { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 42px; padding: 28px var(--pad-x); border-top: 1px solid var(--line); background: #050605; color: var(--muted); font-size: 12px; }
.footer-copy { display: grid; gap: 5px; }
.footer strong { color: #e7eae6; letter-spacing: .12em; }
.footer p { margin: 0; text-align: right; }
.footer-logo { width: 86px; height: 74px; object-fit: contain; opacity: .78; filter: grayscale(1); transition: opacity .2s ease; }
.footer-logo:hover { opacity: 1; }
.experience-toast { position: fixed; z-index: 90; left: 50%; bottom: 24px; max-width: min(480px, calc(100% - 32px)); padding: 12px 16px; border: 1px solid rgba(166,201,102,.35); background: rgba(7,9,8,.96); color: #dce2d7; font-size: 12px; line-height: 1.45; opacity: 0; transform: translate(-50%, 14px); pointer-events: none; transition: opacity .22s ease, transform .22s ease; }
.experience-toast.show { opacity: 1; transform: translate(-50%, 0); }

.age-dialog { width: min(520px, calc(100% - 32px)); padding: 0; border: 0; color: var(--text); background: transparent; }
.age-dialog::backdrop { background: rgba(0,0,0,.86); backdrop-filter: blur(7px); }
.age-card { position: relative; padding: 38px; border: 1px solid rgba(166,201,102,.32); background: linear-gradient(145deg, #111511, #080a08); box-shadow: 0 35px 90px rgba(0,0,0,.62); }
.age-card::before { content: ""; position: absolute; top: 0; left: 38px; width: 92px; height: 2px; background: var(--accent-2); }
.age-badge { display: inline-flex; margin: 0; padding: 7px 10px; color: #e9efdf; background: rgba(143,41,53,.38); border: 1px solid rgba(190,60,75,.38); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.age-card h2 { margin: 25px 0 12px; font-size: 31px; }
.age-card > p:not(.age-badge) { color: #b5bbb4; line-height: 1.65; }
.age-check { display: flex; gap: 12px; margin: 25px 0; padding: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.025); color: #c9cec8; line-height: 1.45; cursor: pointer; }
.age-check input { flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--accent); }
.age-card .btn { width: 100%; border: 0; }
.age-card .btn:disabled { opacity: .35; cursor: not-allowed; transform: none; }
.age-leave { display: block; margin-top: 18px; color: #878e87; text-align: center; font-size: 12px; }
.mobile-menu-backdrop { display: none; }

body.reduce-motion *, body.reduce-motion *::before, body.reduce-motion *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }

@keyframes slowBreath { from { transform: scale(1.025) translate3d(0,0,0); } to { transform: scale(1.07) translate3d(-.7%, -.4%, 0); } }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px rgba(166,201,102,0); } 100% { box-shadow: 0 0 0 0 rgba(166,201,102,0); } }
@keyframes scrollCue { 0% { transform: translateY(0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(14px); opacity: 0; } }

@media (max-width: 980px) {
    :root { --header-h: 74px; }
    .topbar { background: rgba(3,4,3,.8); }
    .brand-copy small { display: none; }
    .menu-toggle { display: block; position: relative; z-index: 55; }
    .main-nav {
        position: fixed; z-index: 52; inset: 0 0 0 auto;
        width: min(360px, 88vw); height: 100dvh;
        display: flex; flex-direction: column; align-items: stretch; justify-content: center;
        padding: 90px 38px 40px; gap: 6px;
        background: #090c09;
        border-left: 1px solid var(--line);
        transform: translateX(100%); transition: transform .3s ease;
    }
    .main-nav.open { transform: translateX(0); }
    .main-nav a { padding: 16px 0; font-size: 18px; border-bottom: 1px solid rgba(255,255,255,.06); }
    .main-nav .nav-login { margin-top: 22px; text-align: center; border: 1px solid var(--accent); }
    .mobile-menu-backdrop { position: fixed; z-index: 48; inset: 0; background: rgba(0,0,0,.7); }
    .mobile-menu-backdrop.show { display: block; }
    .hero-content { width: min(650px, 75vw); }
    .hero h1 { font-size: clamp(48px, 8vw, 78px); }
    .case-switcher { min-width: 290px; }
}

@media (max-width: 760px) {
    :root { --pad-x: 20px; --header-h: 68px; }
    .topbar { padding-left: 18px; padding-right: 12px; }
    .brand { min-width: 0; }
    .brand-copy strong { font-size: 14px; }
    .hero {
        min-height: 100svh;
        display: block;
        padding: 0 var(--pad-x) 48px;
    }
    .hero-media { height: 60svh; }
    .hero-media img { object-position: center top; }
    .hero-wash { background: linear-gradient(180deg, rgba(1,2,1,.08) 0%, rgba(1,2,1,.08) 38%, rgba(1,2,1,.87) 76%, #020302 100%); }
    .hero-vignette { background: linear-gradient(90deg, rgba(0,0,0,.3), transparent 40%, rgba(0,0,0,.14)); }
    .hero-content { width: 100%; padding-top: 49svh; }
    .case-label { font-size: 9px; }
    .hero-kicker { margin: 20px 0 9px; font-size: 10px; }
    .hero h1 { max-width: 520px; font-size: clamp(41px, 13.2vw, 68px); line-height: .94; }
    .hero-lead { margin-top: 17px; font-size: 16px; line-height: 1.5; }
    .case-meta { gap: 8px 16px; margin-top: 20px; font-size: 10px; }
    .hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 25px; }
    .btn { min-height: 54px; width: 100%; }
    .case-number { margin-top: 24px; }
    .case-switcher { position: relative; right: auto; bottom: auto; min-width: 0; width: 100%; margin-top: 30px; background: rgba(255,255,255,.025); }
    .hero-tools { right: 14px; top: 82px; }
    .tool-button { width: 44px; min-height: 44px; padding: 0 12px; }
    .tool-button:hover { width: 44px; }
    .tool-button span { display: none; }
    .scroll-cue { display: none; }
    .preview-section { padding-top: 75px; padding-bottom: 75px; }
    .preview-grid { grid-template-columns: 1fr; }
    .preview-grid article { min-height: auto; }
    .footer { grid-template-columns: 1fr auto; gap: 22px; }
    .footer p { grid-column: 1 / -1; grid-row: 2; text-align: left; }
    .footer-logo { grid-column: 2; grid-row: 1; width: 74px; height: 64px; }
    .age-card { padding: 30px 24px; }
    .age-card::before { left: 24px; }
}

@media (max-width: 390px) {
    .hero h1 { font-size: 39px; }
    .case-meta span { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* =========================================================
   V2 — SHELL PERMANENTE, NAVEGAÇÃO DINÂMICA E ÁUDIO GLOBAL
========================================================= */
img { max-width: 100%; }
.page-content { min-height: calc(100svh - 110px); opacity: 1; transform: translateY(0); transition: opacity .18s ease, transform .18s ease; }
.page-content.is-leaving { opacity: 0; transform: translateY(7px); }

.global-audio {
    position: fixed;
    z-index: 46;
    right: var(--pad-x);
    top: calc(var(--header-h) + 28px);
    width: 48px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 0 14px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(3,5,3,.66);
    backdrop-filter: blur(12px);
    cursor: pointer;
    transition: width .25s ease, border-color .2s, background .2s;
    white-space: nowrap;
}
.global-audio svg { flex: 0 0 19px; width: 19px; height: 19px; fill: none; stroke: #d6dad5; stroke-width: 1.7; }
.global-audio span { opacity: 0; color: #c5cac4; font-size: 12px; transition: opacity .18s; }
.global-audio:hover { width: 154px; border-color: rgba(166,201,102,.5); }
.global-audio:hover span { opacity: 1; }
.global-audio[aria-pressed="true"] { border-color: var(--accent); background: rgba(130,159,74,.2); box-shadow: 0 0 30px rgba(130,159,74,.09); }
.global-audio .icon-sound-on { display: none; }
.global-audio[aria-pressed="true"] .icon-sound-on { display: block; }
.global-audio[aria-pressed="true"] .icon-sound-off { display: none; }

.page-loader { position: fixed; z-index: 100; top: 0; left: 0; right: 0; height: 2px; opacity: 0; pointer-events: none; background: rgba(166,201,102,.12); transition: opacity .15s; }
.page-loader span { display: block; width: 28%; height: 100%; background: var(--accent-2); transform: translateX(-110%); }
.page-loader.show { opacity: 1; }
.page-loader.show span { animation: routeLoading .9s ease-in-out infinite; }
@keyframes routeLoading { 0% { transform: translateX(-110%); } 100% { transform: translateX(460%); } }

.noscript-warning { position: fixed; z-index: 200; left: 0; right: 0; bottom: 0; margin: 0; padding: 12px; background: #8f2935; color: white; text-align: center; }

/* O seletor visual da home continua provisório. O áudio não muda com ele. */
.hero-tools { display: none; }

/* =========================================================
   PÁGINAS INTERNAS DO PROTÓTIPO PÚBLICO
========================================================= */
.inner-page {
    position: relative;
    min-height: 100svh;
    isolation: isolate;
    padding: calc(var(--header-h) + 78px) var(--pad-x) 110px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 26%, rgba(130,159,74,.065), transparent 27%),
        linear-gradient(145deg, #080a08, #0e120e 62%, #080a08);
}
.inner-container { position: relative; z-index: 2; width: min(1320px, 100%); margin: 0 auto; }
.inner-backdrop, .inner-backdrop img { position: absolute; inset: 0; width: 100%; height: 100%; }
.inner-backdrop { z-index: -4; overflow: hidden; }
.inner-backdrop img { object-fit: cover; object-position: center; opacity: .68; transform: scale(1.04); animation: slowBreath 18s ease-in-out infinite alternate; }
.inner-overlay { position: absolute; z-index: -3; inset: 0; background: linear-gradient(90deg, rgba(3,4,3,.98) 0 34%, rgba(3,4,3,.76) 62%, rgba(3,4,3,.25)), linear-gradient(180deg, rgba(3,4,3,.36), rgba(3,4,3,.86)); }
.page-heading { max-width: 790px; margin-bottom: 54px; }
.page-heading-wide { max-width: 100%; grid-column: 1 / -1; margin-bottom: 12px; }
.page-heading > p:first-child, .report-label, .login-story > p:first-child { margin: 0; color: var(--accent-2); font-size: 11px; font-weight: 800; letter-spacing: .22em; }
.page-heading h1, .login-story h1 { margin: 13px 0 0; font-size: clamp(45px, 6vw, 88px); line-height: .95; letter-spacing: -.055em; }
.heading-line { display: block; width: 110px; height: 2px; margin-top: 26px; background: linear-gradient(90deg, var(--accent-2), transparent); }
.page-intro { max-width: 680px; margin: 25px 0 0; color: #aeb5ad; font-size: 18px; line-height: 1.65; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--accent-2); font-size: 13px; font-weight: 750; letter-spacing: .035em; }
.text-link::after { content: "→"; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(4px); }

/* Crime atual */
.crime-layout { display: grid; grid-template-columns: minmax(340px, .78fr) minmax(480px, 1.22fr); gap: 34px 48px; align-items: start; }
.victim-card, .case-report { border: 1px solid var(--line); background: rgba(7,9,8,.77); backdrop-filter: blur(12px); }
.victim-card { display: grid; grid-template-columns: minmax(150px, 44%) 1fr; min-height: 420px; }
.victim-card > img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.06); }
.victim-card > div { padding: 32px; }
.victim-card small, .featured-copy small, .news-grid small, .login-card small { color: var(--accent-2); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.victim-card h2 { margin: 9px 0 13px; font-size: 34px; }
.victim-card p { color: #aeb4ae; line-height: 1.65; }
.victim-card dl { display: grid; gap: 12px; margin: 28px 0 0; }
.victim-card dl div { display: flex; justify-content: space-between; gap: 20px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); }
.victim-card dt { color: #858d85; }
.victim-card dd { margin: 0; color: #e7eae6; font-weight: 700; }
.case-report { padding: clamp(30px, 4vw, 62px); }
.case-report h2 { margin: 13px 0 24px; font-size: clamp(31px, 3.5vw, 53px); line-height: 1.04; }
.case-report > p:not(.report-label) { color: #bdc2bc; font-size: 17px; line-height: 1.72; }
.report-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 36px; }

/* Ranking */
.archive-page::before, .newspaper-page::before, .login-page::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .075; background-image: linear-gradient(rgba(255,255,255,.3) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(180deg, black, transparent 80%); }
.ranking-highlight { display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 16px; max-width: 920px; margin: 0 auto 45px; }
.ranking-highlight article { min-height: 180px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding: 28px; border: 1px solid var(--line); background: rgba(11,14,11,.78); }
.ranking-highlight article.winner { min-height: 225px; border-color: rgba(166,201,102,.48); background: linear-gradient(180deg, rgba(130,159,74,.17), rgba(11,14,11,.88)); }
.ranking-highlight span { color: var(--accent-2); font-size: 35px; font-weight: 850; }
.ranking-highlight strong { margin-top: 14px; font-size: 20px; }
.ranking-highlight small { margin-top: 7px; color: var(--muted); }
.ranking-table { border: 1px solid var(--line); background: rgba(7,9,8,.72); }
.ranking-row { display: grid; grid-template-columns: 110px 1fr 120px 140px; gap: 20px; align-items: center; min-height: 72px; padding: 0 27px; border-bottom: 1px solid rgba(255,255,255,.07); color: #b8beb8; }
.ranking-row:last-child { border-bottom: 0; }
.ranking-row strong { color: #edf0ec; }
.ranking-head { min-height: 51px; color: #798079; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

/* O Despertar */
.newspaper-heading h1 { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.featured-news { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 480px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.featured-visual { overflow: hidden; }
.featured-visual img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); transition: transform .7s ease; }
.featured-news:hover .featured-visual img { transform: scale(1.035); }
.featured-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(35px, 5vw, 75px); background: rgba(5,7,5,.74); }
.featured-copy h2 { margin: 16px 0 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.2vw, 49px); line-height: 1.08; font-weight: 600; }
.featured-copy p { color: #adb4ad; font-size: 17px; line-height: 1.7; }
.featured-copy .text-link { margin-top: 16px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 55px; border: 1px solid var(--line); background: var(--line); }
.news-grid article { min-height: 270px; padding: 34px; background: #0b0e0b; }
.news-grid h3 { margin: 30px 0 15px; font-family: Georgia, "Times New Roman", serif; font-size: 27px; line-height: 1.14; }
.news-grid p { color: #979f97; line-height: 1.65; }

/* Login */
.login-page { display: flex; align-items: center; }
.login-layout { position: relative; z-index: 2; width: min(1180px, 100%); display: grid; grid-template-columns: 1fr minmax(360px, 470px); gap: clamp(50px, 8vw, 135px); align-items: center; margin: 0 auto; }
.login-story { max-width: 620px; }
.login-story > p:last-child { max-width: 540px; color: #aab1aa; font-size: 18px; line-height: 1.65; }
.login-card { display: grid; gap: 20px; padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(166,201,102,.3); background: rgba(7,9,8,.86); box-shadow: 0 35px 90px rgba(0,0,0,.35); backdrop-filter: blur(14px); }
.login-card h2 { margin: 9px 0 4px; font-size: 36px; }
.login-card > label { display: grid; gap: 9px; color: #afb6af; font-size: 13px; font-weight: 650; }
.login-card input[type="email"], .login-card input[type="password"] { width: 100%; min-height: 50px; padding: 0 15px; border: 1px solid rgba(255,255,255,.12); outline: 0; background: rgba(255,255,255,.035); color: white; }
.login-card input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(130,159,74,.08); }
.login-options { display: flex; justify-content: space-between; gap: 20px; color: #8f978f; font-size: 12px; }
.login-options label { display: flex; align-items: center; gap: 8px; }
.login-options input { accent-color: var(--accent); }
.login-options a, .login-card > p a { color: var(--accent-2); }
.login-card .btn { width: 100%; border: 0; }
.login-card > p { margin: 0; color: #8e968e; text-align: center; font-size: 12px; }
.not-found-page .btn { margin-top: 30px; }

/* =========================================================
   RESPONSIVIDADE DAS NOVAS TELAS
========================================================= */
@media (max-width: 980px) {
    .menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .menu-toggle.open span:nth-child(2) { opacity: 0; }
    .menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .main-nav { background: rgba(6,8,6,.98); box-shadow: -25px 0 70px rgba(0,0,0,.52); }
    .main-nav a { color: #bec5bd; }
    .main-nav a.active { color: white; }
    .global-audio { right: 76px; top: 13px; z-index: 56; }
    .crime-layout { grid-template-columns: 1fr; }
    .page-heading-wide { margin-bottom: 18px; }
    .victim-card { max-width: 700px; }
    .featured-news { grid-template-columns: 1fr; }
    .featured-visual { min-height: 400px; }
    .login-layout { grid-template-columns: 1fr; }
    .login-story { max-width: 720px; }
    .login-card { width: min(520px, 100%); }
}

@media (max-width: 760px) {
    .global-audio { top: 12px; right: 65px; width: 44px; min-height: 44px; padding: 0 12px; }
    .global-audio:hover { width: 44px; }
    .global-audio span { display: none; }
    .inner-page { padding: calc(var(--header-h) + 48px) var(--pad-x) 75px; }
    .page-heading { margin-bottom: 38px; }
    .page-heading h1, .login-story h1 { font-size: clamp(42px, 14vw, 62px); }
    .page-intro { font-size: 16px; }
    .crime-layout { gap: 24px; }
    .victim-card { grid-template-columns: 1fr; }
    .victim-card > img { aspect-ratio: 4 / 3; }
    .victim-card > div { padding: 25px; }
    .case-report { padding: 28px 24px; }
    .case-report > p:not(.report-label) { font-size: 16px; }
    .report-actions { align-items: stretch; }
    .report-actions .btn { width: 100%; }
    .ranking-highlight { grid-template-columns: 1fr; }
    .ranking-highlight article, .ranking-highlight article.winner { min-height: 135px; }
    .ranking-highlight article.winner { order: -1; }
    .ranking-row { grid-template-columns: 65px 1fr 82px; padding: 0 16px; gap: 11px; }
    .ranking-row > :nth-child(3) { display: none; }
    .ranking-row > :nth-child(4) { text-align: right; }
    .featured-visual { min-height: 280px; }
    .featured-copy { padding: 29px 24px 35px; }
    .news-grid { grid-template-columns: 1fr; }
    .news-grid article { min-height: auto; }
    .login-page { display: block; }
    .login-layout { gap: 42px; }
    .login-card { padding: 28px 22px; }
    .login-options { align-items: flex-start; flex-direction: column; gap: 12px; }
}

/* =========================================================
   AJUSTES FINAIS DO PROTÓTIPO PÚBLICO
========================================================= */
.mobile-nav-title { display: none; }
.scroll-cue { z-index: 12; cursor: pointer; touch-action: manipulation; }
#siteFooter { scroll-margin-top: var(--header-h); }

.daily-case-note {
    max-width: 820px;
    margin: 23px 0 0;
    color: #9ea69e;
    font-size: 14px;
    line-height: 1.65;
}

/* Ranking com identidade visual do investigador */
.ranking-highlight article { position: relative; padding-top: 48px; }
.ranking-highlight article > img {
    width: 74px;
    height: 74px;
    margin-bottom: 12px;
    border: 2px solid rgba(166,201,102,.36);
    border-radius: 50%;
    object-fit: cover;
    background: #0b0e0b;
    box-shadow: 0 10px 30px rgba(0,0,0,.34);
}
.ranking-highlight article.winner > img {
    width: 92px;
    height: 92px;
    border-color: var(--accent-2);
    box-shadow: 0 0 0 6px rgba(130,159,74,.08), 0 16px 38px rgba(0,0,0,.42);
}
.rank-investigator {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}
.rank-investigator img {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(166,201,102,.28);
    border-radius: 50%;
    object-fit: cover;
    background: #0b0e0b;
}

/* Rodapé completo */
.footer {
    position: relative;
    display: grid;
    grid-template-columns: minmax(230px, 1.2fr) minmax(145px, .55fr) minmax(175px, .7fr) minmax(270px, 1fr) 90px;
    align-items: start;
    gap: clamp(28px, 3.4vw, 60px);
    padding: 58px var(--pad-x) 28px;
    background:
        radial-gradient(circle at 90% 20%, rgba(130,159,74,.07), transparent 24%),
        #040504;
    border-top: 1px solid rgba(166,201,102,.18);
    color: var(--muted);
    font-size: 12px;
}
.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: var(--pad-x);
    width: 118px;
    height: 2px;
    background: linear-gradient(90deg, var(--accent-2), transparent);
}
.footer-brand-block { max-width: 360px; }
.footer-brand-block > p {
    margin: 20px 0 0;
    color: #899189;
    text-align: left;
    line-height: 1.7;
}
.footer-copy { gap: 7px; }
.footer-copy strong { font-size: 15px; }
.footer-copy span { color: #7f877f; }
.footer-links {
    display: grid;
    align-content: start;
    gap: 12px;
}
.footer-links strong,
.footer-newsletter > strong {
    margin-bottom: 5px;
    color: #dfe4dd;
    font-size: 10px;
    letter-spacing: .18em;
}
.footer-links a {
    width: fit-content;
    color: #9ba39b;
    transition: color .2s ease, transform .2s ease;
}
.footer-links a:hover { color: var(--accent-2); transform: translateX(3px); }
.footer-links span { color: #697169; line-height: 1.55; }
.footer-newsletter p {
    margin: 12px 0 17px;
    color: #929a92;
    text-align: left;
    line-height: 1.6;
}
.footer-newsletter form {
    display: grid;
    grid-template-columns: 1fr 48px;
    min-height: 48px;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.025);
}
.footer-newsletter input {
    min-width: 0;
    padding: 0 14px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #edf0ec;
}
.footer-newsletter input:focus { box-shadow: inset 0 0 0 1px var(--accent); }
.footer-newsletter button {
    border: 0;
    border-left: 1px solid rgba(255,255,255,.1);
    background: var(--accent);
    color: #070907;
    font-size: 20px;
    font-weight: 800;
    cursor: pointer;
}
.footer-newsletter button:hover { background: var(--accent-2); }
.footer-newsletter small { display: block; margin-top: 9px; color: #5f675f; }
.footer-bottom {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 5px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.07);
    color: #687068;
}
.footer-social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.footer-social-links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    color: #929b92;
    border: 1px solid rgba(166,201,102,.18);
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}
.footer-social-links a:hover,
.footer-social-links a:focus-visible {
    color: var(--accent-2);
    border-color: rgba(166,201,102,.55);
    background: rgba(166,201,102,.06);
    transform: translateY(-2px);
    outline: none;
}
.footer-social-links svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.footer-social-links svg path { fill: currentColor; stroke: none; }
.footer-social-links .social-icon-dot { fill: currentColor; stroke: none; }
.footer-logo {
    align-self: start;
    width: 90px;
    height: 84px;
    margin-top: -8px;
}

/* Termos e privacidade */
.legal-container { width: min(980px, 100%); }
.legal-card {
    padding: clamp(28px, 5vw, 58px);
    border: 1px solid var(--line);
    background: rgba(7,9,8,.76);
    backdrop-filter: blur(10px);
}
.legal-card h2,
.legal-card h3,
.legal-card h4 { margin: 35px 0 10px; color: #f1f3ef; }
.legal-card h2 { font-size: 24px; }
.legal-card h3 { font-size: 20px; }
.legal-card h4 { font-size: 17px; }
.legal-card > :first-child { margin-top: 0; }
.legal-card p,
.legal-card li { color: #aeb5ae; font-size: 16px; line-height: 1.75; }
.legal-card p { margin: 0 0 16px; }
.legal-card ul,
.legal-card ol { margin: 14px 0 20px 24px; }
.legal-card li + li { margin-top: 8px; }
.legal-card a { color: var(--accent); text-underline-offset: 3px; }
.legal-card blockquote {
    margin: 24px 0;
    padding: 16px 20px;
    color: #cbd1ca;
    border-left: 3px solid var(--accent);
    background: rgba(255,255,255,.025);
}

/* Menu móvel: painel sólido, clicável e acima de todos os elementos */
@media (max-width: 980px) {
    .menu-toggle { z-index: 130; cursor: pointer; touch-action: manipulation; }
    .main-nav {
        z-index: 120;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        background: #050705 !important;
        box-shadow: -30px 0 90px rgba(0,0,0,.78);
        transition: transform .3s ease, opacity .22s ease, visibility 0s linear .3s;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .main-nav.open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transition-delay: 0s;
    }
    .main-nav a {
        position: relative;
        z-index: 2;
        display: block;
        color: #e4e8e3 !important;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(166,201,102,.15);
    }
    .main-nav a.active { color: var(--accent-2) !important; }
    .mobile-nav-title {
        display: grid;
        gap: 5px;
        margin-bottom: 24px;
        padding-bottom: 22px;
        border-bottom: 1px solid rgba(166,201,102,.18);
    }
    .mobile-nav-title strong { color: #f2f4f1; letter-spacing: .1em; }
    .mobile-nav-title small { color: #788078; }
    .mobile-menu-backdrop {
        z-index: 110;
        visibility: hidden;
        display: block;
        opacity: 0;
        pointer-events: none;
        background: rgba(0,0,0,.82);
        backdrop-filter: blur(3px);
        transition: opacity .22s ease, visibility 0s linear .22s;
    }
    .mobile-menu-backdrop.show {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transition-delay: 0s;
    }
    .global-audio { z-index: 125; }
    .footer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .footer-brand-block { max-width: none; }
    .footer-newsletter { grid-column: 1 / -1; }
    .footer-logo { grid-column: 2; grid-row: 1; justify-self: end; }
}

@media (max-width: 760px) {
    .main-nav {
        width: min(340px, 88vw);
        padding: 96px 30px 40px;
        justify-content: flex-start;
    }
    .main-nav a { font-size: 17px; }
    .ranking-highlight article { min-height: 188px !important; }
    .ranking-highlight article.winner { min-height: 205px !important; }
    .ranking-row { grid-template-columns: 52px minmax(0, 1fr) 78px; }
    .rank-investigator { gap: 10px; font-size: 13px; }
    .rank-investigator img { flex-basis: 36px; width: 36px; height: 36px; }
    .footer {
        grid-template-columns: 1fr auto;
        gap: 34px 24px;
        padding-top: 48px;
    }
    .footer-brand-block,
    .footer-links,
    .footer-newsletter,
    .footer-bottom { grid-column: 1 / -1; }
    .footer-logo { grid-column: 2; grid-row: 1; }
    .footer-brand-block { grid-column: 1; grid-row: 1; }
    .footer-bottom { flex-direction: column; gap: 12px; align-items: flex-start; }
    .footer-social-links { justify-content: flex-start; }
    .daily-case-note { font-size: 13px; }
}

/* =========================================================
   QUEM MATOU V2 — BASE REAL / BANCO E ÁREA DO INVESTIGADOR
========================================================= */
.footer-brand-logo{display:block;width:118px;height:auto;object-fit:contain;margin:0 0 18px;filter:grayscale(1);opacity:.92}
.footer-logo{display:none!important}
.footer-brand-block{max-width:300px}
.footer-brand-block p{margin:0;color:var(--muted);line-height:1.7}
.case-story-excerpt{max-height:250px;overflow:auto;padding-right:10px;color:#c9cec8;line-height:1.75}
.case-story-excerpt p:first-child{margin-top:0}
.form-message{min-height:20px!important;margin:12px 0 0!important;color:#cf707a!important;text-align:left!important;font-size:12px!important}
.experience-toast[data-type="error"]{border-color:#8f2935;color:#ffd8dc}
.experience-toast[data-type="success"]{border-color:var(--accent);color:#efffd5}
.article-card{border:1px solid var(--line);background:rgba(7,9,8,.82);padding:clamp(22px,4vw,54px)}
.article-cover{width:100%;max-height:520px;object-fit:cover;filter:grayscale(1);margin-bottom:32px}
.article-body{color:#c9cec8;font-size:17px;line-height:1.9}
.article-body h2,.article-body h3{color:var(--text);line-height:1.2;margin-top:34px}
.investigator-page{padding:150px 0 90px;background:radial-gradient(circle at 80% 0,rgba(120,155,61,.08),transparent 38%),#080b09;min-height:100vh}
.investigator-header{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding-bottom:34px;border-bottom:1px solid var(--line)}
.investigator-header>img{width:92px;height:92px;border-radius:50%;object-fit:cover;filter:grayscale(1);border:1px solid rgba(166,201,102,.35)}
.investigator-header p,.dashboard-panel header p{margin:0 0 8px;color:var(--accent-2);font-size:11px;font-weight:800;letter-spacing:.18em}
.investigator-header h1{margin:0;font-size:clamp(34px,5vw,64px)}
.investigator-header span{color:var(--muted)}
.investigator-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:36px 0}
.investigator-stats article{background:#0b0e0c;padding:28px;display:grid;gap:10px}
.investigator-stats small{color:var(--muted);letter-spacing:.12em}
.investigator-stats strong{font-size:34px;color:var(--text)}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dashboard-panel{border:1px solid var(--line);background:rgba(9,12,10,.92);padding:30px}
.dashboard-panel h2{margin:0 0 24px;font-size:28px}
.history-list,.archive-list{display:grid;gap:1px;background:var(--line)}
.history-list article,.archive-list article{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#0b0e0c;padding:18px}
.history-list article div{display:grid;gap:5px}
.history-list small,.archive-list p{color:var(--muted);margin:0}
.archive-list article{display:grid;grid-template-columns:1fr auto}
.archive-list article p{grid-column:1/-1}
.empty-state{color:var(--muted);padding:24px 0}
.news-grid .text-link{display:inline-block;margin-top:12px}
@media(max-width:760px){
  .footer{grid-template-columns:1fr!important}
  .footer-brand-block{grid-column:1!important;max-width:none}
  .footer-brand-logo{width:104px}
  .investigator-page{padding-top:110px}
  .investigator-header{grid-template-columns:auto 1fr}.investigator-header form{grid-column:1/-1}.investigator-header .btn{width:100%}
  .investigator-stats{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}
  .history-list article,.archive-list article{align-items:flex-start}
  .article-body{font-size:16px}
}

/* =========================================================
   QUEM MATOU V2.1 — CASOS, DESTAQUE E CEMITÉRIO
========================================================= */
.main-nav { gap: clamp(14px, 1.55vw, 29px); }
.main-nav a { font-size: 13px; }
.hero-risk { color: var(--accent-2); font-weight: 750; }
.case-carousel-nav {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 34px;
}
.case-carousel-nav button {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(3,5,3,.45);
    color: #e8ebe7;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.case-carousel-nav button:hover {
    border-color: var(--accent-2);
    background: rgba(130,159,74,.14);
    transform: translateY(-2px);
}
.case-carousel-nav > span {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 118px;
    color: #707870;
    font-size: 11px;
    letter-spacing: .14em;
}
.case-carousel-nav strong { color: #e6e9e5; }
.case-carousel-nav b { font-weight: 500; }
.case-carousel-nav i {
    width: 62px;
    height: 1px;
    background: linear-gradient(90deg, var(--accent-2), rgba(255,255,255,.1));
}

.preview-section {
    padding-bottom: 72px;
}

.home-cemetery {
    position: relative;
    padding: 86px var(--pad-x) 96px;
    background:
        radial-gradient(circle at 12% 20%, rgba(119,38,50,.11), transparent 26%),
        radial-gradient(circle at 86% 82%, rgba(130,159,74,.06), transparent 28%),
        linear-gradient(180deg, #060806, #090b09);
    border-top: 1px solid rgba(255,255,255,.06);
    scroll-margin-top: var(--header-h);
}
.home-cemetery::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(180deg, transparent, black 16%, black 80%, transparent);
}
.home-cemetery-head,
.home-grave-grid,
.cemetery-empty {
    position: relative;
    z-index: 1;
    width: min(1480px, 100%);
    margin-inline: auto;
}
.home-cemetery-head {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(320px, .58fr);
    gap: clamp(35px, 6vw, 110px);
    align-items: end;
    margin-bottom: 42px;
}
.home-cemetery-head > div:first-child > p,
.cemetery-heading > p:first-child {
    margin: 0;
    color: #a66a72;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .22em;
}
.home-cemetery h2 {
    margin: 13px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5.4vw, 78px);
    line-height: .98;
    letter-spacing: -.05em;
}
.home-cemetery-intro p {
    margin: 0 0 20px;
    color: #9ea69e;
    font-size: 16px;
    line-height: 1.75;
}
.home-grave-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.08);
}
.grave-card {
    min-width: 0;
    background: linear-gradient(180deg, rgba(17,19,17,.98), rgba(8,10,8,.98));
    overflow: hidden;
}
.grave-portrait {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #070807;
}
.grave-portrait::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(4,5,4,.92));
}
.grave-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(1.08) brightness(.8);
    transition: transform .7s ease, filter .5s ease;
}
.grave-card:hover .grave-portrait img {
    transform: scale(1.035);
    filter: grayscale(1) contrast(1.12) brightness(.92);
}
.grave-portrait span {
    position: absolute;
    z-index: 2;
    right: 17px;
    bottom: 10px;
    color: #b27179;
    font-family: Georgia, serif;
    font-size: 42px;
}
.grave-copy { padding: 26px 25px 30px; }
.grave-copy small,
.cemetery-copy small,
.daily-brief > small,
.case-card-copy > small,
.case-detail-copy > p:first-child {
    color: var(--accent-2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}
.grave-copy h3 {
    margin: 11px 0 4px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    line-height: 1.05;
}
.grave-dates {
    margin: 0;
    color: #777f77;
    font-size: 12px;
}
.grave-copy dl,
.cemetery-copy dl {
    display: grid;
    gap: 9px;
    margin: 21px 0 0;
}
.grave-copy dl div,
.cemetery-copy dl div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 12px;
    padding-top: 9px;
    border-top: 1px solid rgba(255,255,255,.07);
}
.grave-copy dt,
.cemetery-copy dt { color: #707870; }
.grave-copy dd,
.cemetery-copy dd { margin: 0; color: #bdc3bd; }
.grave-copy blockquote,
.cemetery-copy blockquote {
    margin: 22px 0 0;
    color: #9faaa0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    font-style: italic;
    line-height: 1.55;
}
.cemetery-empty {
    display: grid;
    place-items: center;
    min-height: 240px;
    padding: 40px;
    border: 1px solid rgba(255,255,255,.1);
    color: #7c847c;
    text-align: center;
}
.cemetery-empty span {
    color: #a66a72;
    font-family: Georgia, serif;
    font-size: 58px;
}
.cemetery-empty p { max-width: 560px; line-height: 1.7; }

/* Catálogo de casos */
.cases-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.case-card {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    border: 1px solid var(--line);
    isolation: isolate;
}
.case-card picture,
.case-card picture img,
.case-card-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.case-card picture { z-index: -3; }
.case-card picture img {
    object-fit: cover;
    filter: grayscale(1) contrast(1.04);
    transition: transform .8s ease, filter .5s ease;
}
.case-card:hover picture img { transform: scale(1.045); filter: grayscale(.9) contrast(1.08); }
.case-card-shade {
    z-index: -2;
    background: linear-gradient(90deg, rgba(4,5,4,.96), rgba(4,5,4,.72) 55%, rgba(4,5,4,.18)), linear-gradient(180deg, transparent 30%, rgba(4,5,4,.88));
}
.case-card-copy {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: min(590px, 84%);
    min-height: 470px;
    padding: clamp(30px, 4vw, 54px);
}
.case-card-copy h2 {
    margin: 14px 0 17px;
    font-size: clamp(34px, 3.3vw, 54px);
    line-height: .98;
    letter-spacing: -.045em;
}
.case-card-copy p { color: #adb4ad; font-size: 16px; line-height: 1.65; }
.case-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin: 14px 0 25px;
    color: #8e968e;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .09em;
}
.case-card.is-featured { border-color: rgba(166,201,102,.55); box-shadow: 0 0 0 1px rgba(166,201,102,.08), 0 22px 60px rgba(0,0,0,.25); }

/* Destaque diário */
.daily-layout { display: grid; gap: 34px; }
.daily-brief {
    width: min(930px, 100%);
    margin-left: auto;
    padding: clamp(34px, 5vw, 68px);
    border: 1px solid var(--line);
    background: rgba(6,8,6,.84);
    backdrop-filter: blur(12px);
}
.daily-brief h2 {
    margin: 15px 0 22px;
    font-size: clamp(36px, 4.2vw, 66px);
    line-height: 1.02;
    letter-spacing: -.045em;
}
.daily-brief > p { color: #b6bdb6; font-size: 17px; line-height: 1.78; }
.daily-rules {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 35px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.08);
}
.daily-rules article { display: grid; gap: 8px; padding: 23px; background: #0a0d0a; }
.daily-rules span { color: #717971; font-size: 10px; letter-spacing: .14em; }
.daily-rules strong { font-size: 23px; }
.daily-rules small { color: #7e867e; }

/* Detalhe do caso */
.case-detail-page { min-height: 100svh; display: flex; align-items: center; }
.case-detail-layout { display: flex; align-items: center; min-height: calc(100svh - var(--header-h) - 160px); }
.case-detail-copy { max-width: 800px; }
.case-detail-copy h1 { margin: 17px 0 0; font-size: clamp(52px, 7vw, 104px); line-height: .9; letter-spacing: -.06em; }
.case-detail-copy h2 { margin: 31px 0 0; max-width: 680px; color: #d8ddd7; font-size: clamp(24px, 3vw, 39px); line-height: 1.18; }
.case-detail-summary { max-width: 700px; margin-top: 25px; color: #aeb6ae; font-size: 17px; line-height: 1.75; }
.case-detail-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 35px;
    border: 1px solid var(--line);
}
.case-detail-meta article { display: grid; gap: 8px; padding: 21px; border-right: 1px solid var(--line); background: rgba(7,9,8,.65); }
.case-detail-meta article:last-child { border-right: 0; }
.case-detail-meta small { color: #757d75; font-size: 9px; letter-spacing: .13em; }
.case-detail-meta strong { font-size: 20px; }

/* Cemitério completo */
.cemetery-page {
    background:
        radial-gradient(circle at 8% 12%, rgba(143,41,53,.11), transparent 23%),
        linear-gradient(145deg, #070807, #0b0d0b 65%, #060706);
}
.cemetery-heading { max-width: 920px; }
.cemetery-grid { display: grid; gap: 24px; }
.cemetery-record {
    display: grid;
    grid-template-columns: minmax(240px, 330px) 1fr;
    min-height: 360px;
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(8,10,8,.88);
}
.cemetery-portrait { position: relative; min-height: 360px; overflow: hidden; }
.cemetery-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(5,6,5,.82)); }
.cemetery-portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08) brightness(.82); }
.cemetery-portrait span { position: absolute; z-index: 2; right: 22px; bottom: 12px; color: #a66a72; font-family: Georgia, serif; font-size: 62px; }
.cemetery-copy { padding: clamp(28px, 4vw, 50px); }
.cemetery-copy h2 { margin: 12px 0 6px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 4vw, 57px); line-height: 1; }
.cemetery-copy dl { grid-template-columns: repeat(2, 1fr); gap: 0 28px; }
.cemetery-copy dl div { grid-template-columns: 135px 1fr; }
.public-cause { margin: 24px 0 0; color: #a6aea6; line-height: 1.7; }
.cemetery-empty-page h2 { margin: 5px 0 0; color: #e4e8e3; font-family: Georgia, serif; }

/* Jornal */
.compact-featured-news { min-height: 420px; max-height: 560px; }
.compact-featured-news .featured-visual { min-height: 420px; }
.news-meta { display: flex; gap: 16px; margin: 12px 0 0; color: #707870; font-size: 11px; }
.news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.news-grid .news-card { min-height: 100%; padding: 0; display: flex; flex-direction: column; }
.news-card-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #060806; }
.news-card-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: transform .55s ease; }
.news-card:hover .news-card-image img { transform: scale(1.035); }
.news-card-copy { display: flex; flex-direction: column; flex: 1; padding: 28px; }
.news-card-copy h3 { margin-top: 18px; }
.news-card-copy .text-link { margin-top: auto; padding-top: 16px; }
.load-more-wrap { display: flex; justify-content: center; margin-top: 38px; }
.load-more-wrap .btn { min-width: 250px; }

/* Área da conta */
.active-detective-card,
.create-detective-callout {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 25px;
    align-items: center;
    margin-top: 34px;
    padding: 27px;
    border: 1px solid rgba(166,201,102,.26);
    background: linear-gradient(90deg, rgba(130,159,74,.1), rgba(9,12,10,.92));
}
.active-detective-card > img { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; filter: grayscale(1); border: 2px solid rgba(166,201,102,.45); }
.active-detective-card p,
.create-detective-callout p { margin: 0 0 7px; color: var(--accent-2); font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.active-detective-card h2,
.create-detective-callout h2 { margin: 0 0 7px; font-size: 31px; }
.active-detective-card span,
.create-detective-callout span { color: var(--muted); }
.active-detective-card dl { display: flex; gap: 28px; margin: 0; }
.active-detective-card dl div { display: grid; gap: 5px; }
.active-detective-card dt { color: #767e76; font-size: 10px; letter-spacing: .12em; }
.active-detective-card dd { margin: 0; font-size: 23px; font-weight: 750; }
.create-detective-callout { grid-template-columns: 1fr auto; }
.create-detective-callout .btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.ranking-empty { max-width: 760px; padding: 55px; border: 1px solid var(--line); background: rgba(8,10,8,.8); }
.ranking-empty > span { color: var(--accent-2); font-size: 48px; font-weight: 850; }
.ranking-empty h2 { margin: 15px 0; font-size: 38px; }
.ranking-empty p { color: var(--muted); line-height: 1.7; }
.ranking-empty .btn { margin-top: 20px; }

@media (max-width: 1180px) {
    .home-grave-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .daily-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .case-detail-meta { grid-template-columns: repeat(2, 1fr); }
    .case-detail-meta article:nth-child(2) { border-right: 0; }
    .case-detail-meta article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 980px) {
    .main-nav a { font-size: 17px; }
    .home-cemetery-head { grid-template-columns: 1fr; }
    .cases-grid { grid-template-columns: 1fr; }
    .case-card-copy { width: min(700px, 88%); }
    .cemetery-record { grid-template-columns: 260px 1fr; }
    .cemetery-copy dl { grid-template-columns: 1fr; }
    .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .active-detective-card { grid-template-columns: auto 1fr; }
    .active-detective-card dl { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
    .case-carousel-nav { margin-top: 27px; }
    .home-cemetery { padding: 67px var(--pad-x) 72px; }
    .home-grave-grid { grid-template-columns: 1fr; }
    .grave-card { display: grid; grid-template-columns: 118px 1fr; }
    .grave-portrait { aspect-ratio: auto; min-height: 100%; }
    .grave-copy { padding: 22px 19px; }
    .grave-copy h3 { font-size: 23px; }
    .grave-copy dl div { grid-template-columns: 80px 1fr; }
    .case-card, .case-card-copy { min-height: 430px; }
    .case-card-copy { width: 100%; padding: 28px 23px; }
    .daily-brief { padding: 28px 23px; }
    .daily-rules { grid-template-columns: 1fr 1fr; }
    .daily-rules article { padding: 17px; }
    .daily-rules strong { font-size: 19px; }
    .case-detail-layout { min-height: auto; }
    .case-detail-copy h1 { font-size: clamp(48px, 15vw, 70px); }
    .case-detail-meta { grid-template-columns: 1fr 1fr; }
    .case-detail-meta article { padding: 16px; }
    .cemetery-record { grid-template-columns: 1fr; }
    .cemetery-portrait { min-height: 310px; aspect-ratio: 4 / 3; }
    .cemetery-copy { padding: 26px 22px 31px; }
    .cemetery-copy dl { grid-template-columns: 1fr; }
    .cemetery-copy dl div { grid-template-columns: 118px 1fr; }
    .news-grid { grid-template-columns: 1fr; }
    .compact-featured-news { max-height: none; }
    .compact-featured-news .featured-visual { min-height: 260px; }
    .active-detective-card,
    .create-detective-callout { grid-template-columns: 1fr; text-align: left; }
    .active-detective-card > img { width: 88px; height: 88px; }
    .active-detective-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .create-detective-callout .btn { width: 100%; }
}

/* =========================================================
   QUEM MATOU V2.2 — REVISÃO VISUAL E PADRÃO DE MÍDIA
========================================================= */
.media-square,
.media-square img {
    aspect-ratio: 1 / 1;
}

/* Seletor de casos novamente sobre o lado direito da home. */
.case-switcher-panel {
    position: absolute;
    z-index: 7;
    right: var(--pad-x);
    bottom: 54px;
    width: min(370px, calc(100vw - (var(--pad-x) * 2)));
    min-height: 76px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 54px;
    align-items: stretch;
    border-top: 1px solid rgba(255,255,255,.17);
    border-bottom: 1px solid rgba(255,255,255,.17);
    background: linear-gradient(90deg, rgba(4,6,4,.78), rgba(4,6,4,.56));
    box-shadow: 0 20px 55px rgba(0,0,0,.24);
    backdrop-filter: blur(12px);
}
.case-switcher-panel > button {
    border: 0;
    background: transparent;
    color: #eef1ec;
    font-family: Georgia, serif;
    font-size: 30px;
    cursor: pointer;
    transition: color .2s ease, background .2s ease;
}
.case-switcher-panel > button:hover {
    color: var(--accent-2);
    background: rgba(130,159,74,.12);
}
.case-switcher-copy {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 10px 8px;
}
.case-switcher-copy small {
    color: var(--accent-2);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
}
.case-switcher-copy strong {
    overflow: hidden;
    color: #f0f2ef;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.case-switcher-copy > span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #717971;
    font-size: 9px;
    letter-spacing: .13em;
}
.case-switcher-copy b,
.case-switcher-copy em { font-style: normal; font-weight: 600; }
.case-switcher-copy b { color: #dfe4dd; }
.case-switcher-copy i {
    width: 46px;
    height: 1px;
    background: linear-gradient(90deg, var(--accent-2), rgba(255,255,255,.1));
}
.case-carousel-nav { display: none !important; }

/* O cemitério ocupa o primeiro bloco após a home, sem seção técnica adicional. */
.home-cemetery {
    padding-top: 82px;
    padding-bottom: 88px;
}
.home-cemetery-head { margin-bottom: 34px; }
.home-cemetery h2 { font-size: clamp(40px, 4.5vw, 68px); }
.home-grave-grid { align-items: stretch; }
.grave-card { display: flex; flex-direction: column; }
.grave-portrait {
    aspect-ratio: 1 / 1;
    min-height: 0;
}
.grave-portrait img {
    object-fit: cover;
    object-position: center;
    filter: grayscale(1) contrast(1.04) brightness(.98);
}
.grave-copy { flex: 1; padding: 22px 23px 26px; }
.grave-copy h3 { font-size: 24px; }
.grave-copy dl { margin-top: 17px; }
.grave-copy blockquote { margin-top: 18px; }

/* Padrão: backgrounds 16:9; demais mídias públicas em 1:1. */
.featured-news {
    grid-template-columns: minmax(300px, 430px) minmax(0, 1fr);
    min-height: 0;
    max-width: 1180px;
}
.featured-visual,
.compact-featured-news .featured-visual {
    aspect-ratio: 1 / 1;
    min-height: 0;
    max-height: none;
    background: #050605;
}
.featured-visual img {
    object-fit: cover;
    object-position: center;
}
.compact-featured-news { min-height: 0; max-height: none; }
.featured-copy { padding: clamp(32px, 4vw, 58px); }
.news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1180px;
}
.news-card-image { aspect-ratio: 1 / 1; }
.news-card-image img { object-fit: cover; object-position: center; }
.article-cover {
    display: block;
    width: min(720px, 100%);
    aspect-ratio: 1 / 1;
    max-height: none;
    margin-inline: auto;
    object-fit: contain;
    background: #050605;
}

/* O fundo do crime atual e dos detalhes mantém a leitura da home, sem apagar a imagem. */
.crime-page .inner-backdrop img,
.case-detail-page .inner-backdrop img {
    opacity: .92;
    filter: grayscale(1) contrast(1.03) brightness(.96);
}
.crime-page .inner-overlay,
.case-detail-page .inner-overlay {
    background:
        linear-gradient(90deg, rgba(2,3,2,.97) 0%, rgba(2,3,2,.90) 29%, rgba(2,3,2,.56) 57%, rgba(2,3,2,.12) 82%),
        linear-gradient(180deg, rgba(2,3,2,.26), rgba(2,3,2,.70));
}
.case-detail-copy { max-width: 760px; }
.case-detail-summary { max-width: 660px; }
.daily-brief { background: rgba(6,8,6,.78); }

/* Cemitério completo também respeita o retrato quadrado. */
.cemetery-record {
    grid-template-columns: minmax(260px, 340px) 1fr;
    min-height: 0;
}
.cemetery-portrait {
    min-height: 0;
    aspect-ratio: 1 / 1;
    align-self: start;
}
.cemetery-portrait img { object-fit: cover; object-position: center; }

@media (max-width: 1180px) {
    .case-switcher-panel { bottom: 42px; }
    .featured-news { grid-template-columns: minmax(300px, 390px) 1fr; }
}

@media (max-width: 980px) {
    .case-switcher-panel {
        right: var(--pad-x);
        bottom: 38px;
        width: min(350px, calc(100vw - (var(--pad-x) * 2)));
    }
    .featured-news { grid-template-columns: minmax(280px, 360px) 1fr; }
    .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .hero { padding-bottom: 34px; }
    .hero-content { padding-bottom: 0; }
    .case-switcher-panel {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        margin-top: 28px;
        background: rgba(9,12,9,.82);
    }
    .home-cemetery { padding-top: 62px; padding-bottom: 68px; }
    .home-cemetery-head { margin-bottom: 27px; }
    .home-grave-grid { grid-template-columns: 1fr; gap: 14px; border: 0; background: transparent; }
    .grave-card {
        display: grid;
        grid-template-columns: 116px minmax(0, 1fr);
        border: 1px solid rgba(255,255,255,.09);
    }
    .grave-portrait { aspect-ratio: 1 / 1; min-height: 116px; }
    .grave-copy { padding: 18px; }
    .grave-copy dl div { grid-template-columns: 78px 1fr; }
    .grave-copy blockquote { display: none; }
    .featured-news { grid-template-columns: 1fr; max-width: 100%; }
    .featured-visual,
    .compact-featured-news .featured-visual { width: 100%; aspect-ratio: 1 / 1; min-height: 0; }
    .featured-copy { padding: 27px 22px; }
    .news-grid { grid-template-columns: 1fr; }
    .cemetery-record { grid-template-columns: 1fr; }
    .cemetery-portrait { width: 100%; aspect-ratio: 1 / 1; min-height: 0; }
    .crime-page .inner-overlay,
    .case-detail-page .inner-overlay {
        background:
            linear-gradient(180deg, rgba(2,3,2,.12) 0%, rgba(2,3,2,.42) 36%, rgba(2,3,2,.94) 67%, #070907 100%);
    }
}

/* Enquanto o acervo antigo ainda não foi reconvertido, o jornal não recorta fotos. */
.featured-visual img,
.news-card-image img {
    object-fit: contain;
    background: #050605;
}

/* =========================================================
   PATCH V2.3 — MENU MÓVEL, CRIME ATUAL E SCROLL INFINITO
========================================================= */
.infinite-scroll-sentinel {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
    color: #778078;
    text-align: center;
}
.infinite-scroll-sentinel small {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.infinite-spinner {
    width: 22px;
    height: 22px;
    border: 2px solid rgba(166,201,102,.18);
    border-top-color: var(--accent-2);
    border-radius: 50%;
    animation: qmInfiniteSpin .8s linear infinite;
}
.infinite-scroll-sentinel.has-error { color: #c7838b; }
.infinite-scroll-sentinel.has-error .infinite-spinner { border-top-color: var(--danger); }
.infinite-scroll-sentinel.is-finished .infinite-spinner { display: none; }
.pagination-fallback { text-align: center; }
.pagination-fallback a { color: var(--accent-2); }
@keyframes qmInfiniteSpin { to { transform: rotate(360deg); } }

/* Crime atual passa a usar exatamente a apresentação de um arquivo. */
.crime-current-page .case-detail-copy > p { color: var(--accent-2); }
.crime-current-page .case-detail-copy { max-width: 760px; }

@media (max-width: 980px) {
    /* O backdrop ficava acima do header e interceptava os toques no menu. */
    .topbar {
        z-index: 220;
        overflow: visible;
    }
    .menu-toggle {
        z-index: 240;
    }
    .main-nav {
        z-index: 230;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        height: 100dvh;
        max-height: 100dvh;
        transform: translate3d(105%, 0, 0);
        background: #050705 !important;
        opacity: 1;
    }
    .main-nav.open {
        transform: translate3d(0, 0, 0);
    }
    .main-nav a {
        pointer-events: auto;
    }
    .mobile-menu-backdrop {
        z-index: 210;
    }
    body.menu-open .global-audio {
        opacity: 0;
        pointer-events: none;
    }
}

@media (max-width: 760px) {
    .main-nav {
        width: min(350px, 90vw);
        padding: 92px 28px 34px;
    }
    .infinite-scroll-sentinel {
        min-height: 78px;
        margin-top: 18px;
    }
}


/* =========================================================
   QUEM MATOU V2.4 — TOAST COM AÇÃO, WEB PUSH E PWA
========================================================= */
.experience-toast {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    gap: 16px;
    width: min(680px, calc(100% - 32px));
    max-width: 680px;
    padding: 16px 18px;
    bottom: max(24px, env(safe-area-inset-bottom));
    box-shadow: 0 20px 70px rgba(0,0,0,.48);
    pointer-events: none;
}
.experience-toast.show { pointer-events: auto; }
.experience-toast-copy { display: grid; gap: 4px; min-width: 0; }
.experience-toast-copy strong { color: var(--text); font-size: 13px; letter-spacing: .04em; }
.experience-toast-copy span { color: #bdc4bc; font-size: 12px; line-height: 1.5; }
.experience-toast-actions { display: flex; align-items: center; gap: 8px; }
.experience-toast-actions:empty { display: none; }
.experience-toast-actions button,
.experience-toast-close,
.footer-tool {
    appearance: none;
    border: 0;
    font: inherit;
    cursor: pointer;
}
.toast-action-primary,
.toast-action-secondary {
    min-height: 38px;
    padding: 0 14px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.toast-action-primary { background: var(--accent-2); color: #080a08; }
.toast-action-secondary { border: 1px solid var(--line) !important; background: transparent; color: #c8cec7; }
.experience-toast-close {
    width: 32px;
    height: 32px;
    background: transparent;
    color: #7f877f;
    font-size: 23px;
    line-height: 1;
}
.experience-toast[data-type="warning"] { border-color: rgba(184,138,57,.7); }
.experience-toast[data-type="warning"] .experience-toast-copy strong { color: #e8c985; }
.footer-tool {
    width: max-content;
    padding: 0;
    background: transparent;
    color: #aab2a9;
    text-align: left;
    font-size: 12px;
    line-height: 1.5;
}
.footer-tool:hover,
.footer-tool:focus-visible { color: var(--accent-2); }
.footer-tool[data-state="active"] { color: var(--accent-2); }
.footer-tool[data-state="denied"],
.footer-tool[data-state="unsupported"] { color: #777e77; cursor: help; }

@media (max-width: 760px) {
    .experience-toast {
        grid-template-columns: minmax(0,1fr) auto;
        gap: 12px;
        padding: 15px;
        bottom: max(14px, env(safe-area-inset-bottom));
    }
    .experience-toast-actions {
        grid-column: 1 / -1;
        width: 100%;
    }
    .experience-toast-actions button { flex: 1; }
    .experience-toast-close { grid-column: 2; grid-row: 1; }
}

/* =========================================================
   QUEM MATOU V3 — ÁREA PÓS-LOGIN
========================================================= */
.postlogin-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 42px;
}
.postlogin-page-header p,
.profile-hero p,
.creator-copy > small,
.inventory-panel header p,
.profile-panel header p {
    margin: 0 0 9px;
    color: var(--accent-2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .2em;
}
.postlogin-page-header h1,
.profile-hero h1 {
    margin: 0;
    font-size: clamp(42px, 6vw, 78px);
    line-height: .98;
    letter-spacing: -.045em;
}
.postlogin-page-header span,
.profile-hero span { display: block; margin-top: 12px; color: var(--muted); line-height: 1.65; }
.account-nav {
    position: sticky;
    z-index: 15;
    top: calc(var(--header-h) + 14px);
    display: flex;
    align-items: center;
    gap: 4px;
    width: max-content;
    max-width: 100%;
    margin: 0 0 42px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid var(--line);
    background: rgba(7,9,8,.88);
    backdrop-filter: blur(14px);
}
.account-nav a,
.account-nav button {
    min-height: 40px;
    padding: 0 15px;
    border: 0;
    background: transparent;
    color: #aeb5ad;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}
.account-nav a:hover,
.account-nav a.active { background: rgba(166,201,102,.12); color: #fff; }
.account-nav form { margin: 0 0 0 8px; padding-left: 8px; border-left: 1px solid var(--line); }
.account-nav button:hover { color: #e48993; }
.account-balance {
    display: grid;
    gap: 7px;
    min-width: 180px;
    padding: 16px 20px;
    border: 1px solid var(--line);
    background: rgba(11,14,12,.8);
    text-align: right;
}
.account-balance small { color: #7e877e; font-size: 10px; letter-spacing: .16em; }
.account-balance strong { color: var(--accent-2); font-size: 20px; }

.detective-hero-card {
    display: grid;
    grid-template-columns: 160px minmax(0,1fr) auto;
    align-items: center;
    gap: 34px;
    padding: 28px;
    border: 1px solid rgba(166,201,102,.3);
    background: linear-gradient(105deg,rgba(17,22,18,.96),rgba(8,11,9,.9));
    box-shadow: 0 28px 80px rgba(0,0,0,.22);
}
.detective-hero-card > img { width: 160px; aspect-ratio: 1; object-fit: cover; filter: grayscale(1); border: 1px solid rgba(255,255,255,.14); }
.detective-hero-copy p { margin: 0 0 9px; color: var(--accent-2); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.detective-hero-copy h2 { margin: 0; font-size: clamp(34px,4vw,58px); }
.detective-hero-copy > span { display: block; margin-top: 7px; color: var(--muted); }
.detective-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.detective-hero-card dl { display: grid; grid-template-columns: repeat(2,minmax(105px,1fr)); gap: 1px; margin: 0; background: var(--line); border: 1px solid var(--line); }
.detective-hero-card dl div { min-width: 128px; padding: 18px; background: #0a0d0b; }
.detective-hero-card dt { color: #727b72; font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.detective-hero-card dd { margin: 7px 0 0; font-size: 24px; font-weight: 800; }
.mission-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin: 26px 0 0;
    padding: 25px 28px;
    border: 1px solid var(--line);
    background: rgba(9,12,10,.86);
}
.mission-callout.active { border-color: rgba(166,201,102,.42); background: linear-gradient(90deg,rgba(130,159,74,.13),rgba(9,12,10,.86)); }
.mission-callout small { color: var(--accent-2); font-weight: 800; letter-spacing: .17em; }
.mission-callout h2 { margin: 7px 0 4px; font-size: 25px; }
.mission-callout p { margin: 0; color: var(--muted); }
.investigator-stats.four { grid-template-columns: repeat(4,1fr); }
.dashboard-skills { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--line); }
.dashboard-skills article { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px 14px; padding: 18px; background: #0a0d0b; }
.dashboard-skills span { font-weight: 700; }
.dashboard-skills strong { grid-row: 1 / 3; grid-column: 2; color: var(--accent-2); font-size: 28px; }
.dashboard-skills small { color: #707970; font-size: 10px; }
.panel-link { display: inline-flex; margin-top: 22px; }

/* Criação do detetive */
.detective-create-page,
.detective-profile-page,
.inventory-page,
.investigations-page { min-height: 100vh; padding: calc(var(--header-h) + 72px) 0 100px; background: radial-gradient(circle at 80% 0,rgba(120,155,61,.09),transparent 34%),#080b09; }
.detective-create-container { max-width: 1420px; }
.creation-progress {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
    background: var(--line);
    border: 1px solid var(--line);
}
.creation-progress li { display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 14px 18px; background: #0b0e0c; color: #717971; font-size: 12px; font-weight: 700; }
.creation-progress li span { color: #586058; font-size: 10px; letter-spacing: .13em; }
.creation-progress li.active { color: #fff; background: rgba(130,159,74,.14); }
.creation-progress li.active span,
.creation-progress li.done span { color: var(--accent-2); }
.creation-progress li.done { color: #aab2a9; }
.detective-creator { border: 1px solid var(--line); background: rgba(9,12,10,.93); }
.creator-step {
    display: grid;
    grid-template-columns: minmax(250px,.38fr) minmax(0,1fr);
    min-height: 540px;
}
.creator-step[hidden] { display: none !important; }
.creator-copy { padding: 50px 42px; border-right: 1px solid var(--line); background: linear-gradient(145deg,#111511,#090c0a); }
.creator-copy h2 { margin: 10px 0 14px; font-size: clamp(30px,3.5vw,49px); line-height: 1.05; letter-spacing: -.035em; }
.creator-copy p { margin: 0; color: var(--muted); line-height: 1.75; }
.text-button { margin-top: 25px; padding: 0; border: 0; background: transparent; color: var(--accent-2); font-weight: 750; cursor: pointer; }
.creator-fields { display: grid; align-content: center; gap: 30px; padding: 50px; }
.creator-fields > label { display: grid; gap: 10px; color: #dfe3dd; font-size: 13px; font-weight: 700; }
.creator-fields input[type="text"],
.creator-fields input[type="number"] { width: 100%; min-height: 56px; padding: 0 17px; border: 1px solid var(--line); outline: 0; background: #0d100e; color: #fff; }
.creator-fields input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(130,159,74,.1); }
.creator-fields fieldset { margin: 0; padding: 0; border: 0; }
.creator-fields legend { margin-bottom: 10px; color: #dfe3dd; font-size: 13px; font-weight: 700; }
.choice-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.choice-pills input { position: absolute; opacity: 0; pointer-events: none; }
.choice-pills span { display: flex; align-items: center; min-height: 48px; padding: 0 18px; border: 1px solid var(--line); color: #aeb4ae; cursor: pointer; }
.choice-pills input:checked + span { border-color: var(--accent); background: rgba(130,159,74,.13); color: #fff; }
.age-field { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 18px; }
.age-field span { color: var(--muted); font-size: 12px; font-weight: 400; }
.age-field strong { color: var(--accent-2); }
.avatar-gallery {
    display: grid;
    grid-template-columns: repeat(4,minmax(130px,1fr));
    gap: 12px;
    align-content: start;
    max-height: 640px;
    padding: 34px;
    overflow-y: auto;
}
.avatar-option { position: relative; display: grid; gap: 10px; padding: 8px 8px 13px; border: 1px solid var(--line); background: #0b0e0c; cursor: pointer; transition: border-color .2s,transform .2s; }
.avatar-option:hover { transform: translateY(-2px); border-color: rgba(166,201,102,.48); }
.avatar-option input { position: absolute; opacity: 0; }
.avatar-option img { width: 100%; aspect-ratio: 1; object-fit: cover; filter: grayscale(1); }
.avatar-option > span { display: grid; gap: 3px; padding: 0 3px; }
.avatar-option strong { font-size: 13px; }
.avatar-option small { color: #7d857d; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.avatar-option.selected { border-color: var(--accent-2); box-shadow: inset 0 0 0 1px var(--accent-2); }
.avatar-option.selected::after { content: "✓"; position: absolute; top: 15px; right: 15px; display: grid; place-items: center; width: 27px; height: 27px; background: var(--accent-2); color: #0b0d09; font-weight: 900; }
.avatar-option.locked { opacity: .48; cursor: not-allowed; }
.avatar-option.locked img { filter: grayscale(1) blur(1px); }
.avatar-option.locked > i { position: absolute; inset: 8px 8px auto auto; display: grid; place-items: center; width: 32px; height: 32px; background: rgba(0,0,0,.78); font-style: normal; }
.avatar-empty { padding: 50px; color: var(--muted); }
.points-counter { display: grid; width: max-content; margin-top: 35px; }
.points-counter strong { color: var(--accent-2); font-size: 58px; line-height: 1; }
.points-counter span { color: #7f887f; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; }
.skill-builder { display: grid; align-content: center; gap: 1px; padding: 34px; background: var(--line); }
.skill-control { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 25px; padding: 24px; background: #0b0e0c; }
.skill-control small,
.profile-skill small { color: var(--accent-2); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.skill-control h3,
.profile-skill h3 { margin: 5px 0 6px; font-size: 21px; }
.skill-control p,
.profile-skill p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.skill-stepper,
.skill-spend-control { display: flex; align-items: center; border: 1px solid var(--line); }
.skill-stepper button,
.skill-spend-control button { width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; font-size: 22px; }
.skill-stepper button:hover:not(:disabled),
.skill-spend-control button:hover:not(:disabled) { background: rgba(130,159,74,.15); }
.skill-stepper button:disabled,
.skill-spend-control button:disabled { opacity: .25; cursor: not-allowed; }
.skill-stepper strong { display: grid; place-items: center; width: 54px; height: 44px; border-inline: 1px solid var(--line); color: var(--accent-2); font-size: 23px; }
.detective-review { display: grid; grid-template-columns: 180px 1fr; gap: 28px; align-content: center; padding: 48px; }
.review-avatar img { width: 180px; aspect-ratio: 1; object-fit: cover; filter: grayscale(1); border: 1px solid var(--line); }
.review-identity { align-self: center; }
.review-identity small { color: var(--accent-2); letter-spacing: .16em; }
.review-identity h3 { margin: 8px 0; font-size: 38px; }
.review-identity p { margin: 0; color: var(--muted); }
.review-skills { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.review-skills div { display: flex; justify-content: space-between; align-items: center; padding: 18px; background: #0a0d0b; }
.review-skills span { color: #aeb5ae; }
.review-skills strong { color: var(--accent-2); font-size: 23px; }
.permadeath-check { grid-column: 2; display: flex; align-items: flex-start; gap: 12px; margin: 0 48px 45px 256px; padding: 18px; border: 1px solid rgba(143,41,53,.45); background: rgba(143,41,53,.09); color: #c9cfca; line-height: 1.55; }
.permadeath-check input { width: 19px; height: 19px; flex: 0 0 auto; accent-color: var(--danger); }
.creator-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 18px 24px; border-top: 1px solid var(--line); background: #080a08; }
.creator-actions .form-message { flex: 1; margin: 0; color: #d67e88; }
.locked-recruitment { max-width: 850px; padding: 45px; border: 1px solid rgba(143,41,53,.42); background: rgba(13,10,10,.88); }
.locked-recruitment small { color: #d17b85; letter-spacing: .16em; }
.locked-recruitment h2 { margin: 11px 0; font-size: 34px; }
.locked-recruitment p { color: var(--muted); line-height: 1.7; }

/* Perfil, inventário e histórico */
.profile-hero { display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 35px; padding-bottom: 38px; border-bottom: 1px solid var(--line); }
.profile-hero > img { width: 190px; aspect-ratio: 1; object-fit: cover; filter: grayscale(1); border: 1px solid var(--line); }
.profile-status { display: grid; gap: 5px; min-width: 170px; padding: 20px; border: 1px solid rgba(166,201,102,.35); text-align: right; }
.profile-status small { color: #788078; letter-spacing: .13em; }
.profile-status strong { color: var(--accent-2); font-size: 24px; }
.profile-status span { margin: 0; font-size: 11px; }
.profile-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 30px 0; background: var(--line); border: 1px solid var(--line); }
.profile-metrics article { display: grid; gap: 9px; padding: 24px; background: #0a0d0b; }
.profile-metrics small { color: #757d75; letter-spacing: .14em; }
.profile-metrics strong { font-size: 31px; }
.profile-panel,
.inventory-panel,
.investigation-history-panel { margin-top: 25px; padding: 30px; border: 1px solid var(--line); background: rgba(9,12,10,.92); }
.profile-panel > header,
.inventory-panel > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.profile-panel h2,
.inventory-panel h2 { margin: 0; font-size: 31px; }
.available-points { display: flex; align-items: baseline; gap: 9px; }
.available-points strong { color: var(--accent-2); font-size: 38px; }
.available-points span { color: var(--muted); }
.profile-skill-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--line); }
.profile-skill { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 24px; background: #0a0d0b; }
.profile-skill-value { display: grid; justify-items: end; gap: 3px; }
.profile-skill-value strong { color: var(--accent-2); font-size: 35px; }
.profile-skill-value span { color: #879087; font-size: 10px; }
.skill-spend-control { grid-column: 1 / -1; justify-self: end; }
.skill-spend-control span { display: grid; place-items: center; width: 48px; height: 42px; border-inline: 1px solid var(--line); color: var(--accent-2); font-weight: 800; }
.skill-spend-footer { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 20px; }
.skill-spend-footer > span { margin-right: auto; color: var(--muted); }
.skill-spend-footer > span strong { color: var(--accent-2); }
.skill-spend-footer .form-message { color: #d67e88; }
.career-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); }
.career-grid article { display: grid; gap: 8px; padding: 22px; background: #0a0d0b; }
.career-grid span { color: var(--muted); }
.career-grid strong { font-size: 27px; }
.inventory-warning { display: grid; grid-template-columns: auto 1fr; gap: 20px; padding: 19px 22px; border: 1px solid rgba(184,138,57,.35); background: rgba(184,138,57,.06); }
.inventory-warning strong { color: #d4b36c; font-size: 11px; letter-spacing: .15em; }
.inventory-warning p { margin: 0; color: #b9bdb7; line-height: 1.6; }
.inventory-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.inventory-panel > header span { color: var(--muted); }
.danger-panel { border-color: rgba(143,41,53,.3); }
.artifact-grid { display: grid; gap: 10px; }
.artifact-card { display: grid; grid-template-columns: 60px 1fr auto; align-items: center; gap: 18px; padding: 17px; border: 1px solid var(--line); background: #0a0d0b; }
.artifact-card.equipped { border-color: rgba(166,201,102,.5); background: rgba(130,159,74,.08); }
.artifact-icon { display: grid; place-items: center; width: 60px; aspect-ratio: 1; border: 1px solid var(--line); color: var(--accent-2); font-size: 28px; }
.artifact-card small { color: var(--accent-2); font-size: 9px; letter-spacing: .12em; }
.artifact-card h3 { margin: 4px 0; }
.artifact-card p { margin: 0 0 5px; color: var(--muted); font-size: 12px; }
.artifact-card span { color: #818981; font-size: 10px; }
.artifact-card form { display: grid; gap: 5px; }
.artifact-card form p { max-width: 180px; color: #d77e87; text-align: right; }
.investigation-table { display: grid; gap: 1px; background: var(--line); }
.investigation-table article { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 24px; background: #0a0d0b; }
.investigation-table small { color: var(--accent-2); letter-spacing: .15em; }
.investigation-table h2 { margin: 6px 0; font-size: 24px; }
.investigation-table p { margin: 0; color: var(--muted); }
.investigation-table dl { display: flex; gap: 25px; margin: 0; }
.investigation-table dl div { display: grid; gap: 5px; min-width: 90px; }
.investigation-table dt { color: #737b73; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.investigation-table dd { margin: 0; font-weight: 800; }
.empty-state.large { min-height: 220px; display: grid; place-items: center; }

@media (max-width: 1100px) {
    .detective-hero-card { grid-template-columns: 130px 1fr; }
    .detective-hero-card > img { width: 130px; }
    .detective-hero-card dl { grid-column: 1 / -1; grid-template-columns: repeat(4,1fr); }
    .creator-step { grid-template-columns: 1fr; }
    .creator-copy { border-right: 0; border-bottom: 1px solid var(--line); }
    .avatar-gallery { grid-template-columns: repeat(3,1fr); max-height: none; }
    .permadeath-check { grid-column: auto; margin: 0 48px 45px; }
    .inventory-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .detective-create-page,
    .detective-profile-page,
    .inventory-page,
    .investigations-page { padding-top: calc(var(--header-h) + 36px); }
    .account-nav { width: 100%; top: calc(var(--header-h) + 4px); margin-bottom: 28px; }
    .account-nav a,
    .account-nav button { min-height: 38px; padding-inline: 12px; }
    .postlogin-page-header { align-items: stretch; flex-direction: column; margin-bottom: 28px; }
    .postlogin-page-header .btn,
    .postlogin-page-header .account-balance { width: 100%; }
    .account-balance { text-align: left; }
    .investigator-header { grid-template-columns: 66px 1fr; gap: 14px; }
    .investigator-header > img { width: 66px; height: 66px; }
    .investigator-header .account-balance { grid-column: 1 / -1; }
    .detective-hero-card { grid-template-columns: 92px 1fr; gap: 17px; padding: 18px; }
    .detective-hero-card > img { width: 92px; }
    .detective-hero-copy h2 { font-size: 29px; }
    .detective-actions { grid-column: 1 / -1; }
    .detective-actions .btn { flex: 1; }
    .detective-hero-card dl { grid-template-columns: repeat(2,1fr); }
    .detective-hero-card dl div { min-width: 0; padding: 14px; }
    .mission-callout { align-items: stretch; flex-direction: column; }
    .mission-callout .btn { width: 100%; }
    .investigator-stats.four { grid-template-columns: repeat(2,1fr); }
    .dashboard-skills { grid-template-columns: 1fr; }
    .creation-progress { grid-template-columns: repeat(4,1fr); }
    .creation-progress li { justify-content: center; min-height: 50px; padding: 8px; font-size: 0; }
    .creation-progress li span { font-size: 11px; }
    .creator-copy { padding: 30px 22px; }
    .creator-fields { padding: 28px 20px; }
    .age-field { grid-template-columns: 110px 1fr; }
    .avatar-gallery { grid-template-columns: repeat(2,1fr); padding: 18px; }
    .avatar-option strong { font-size: 11px; }
    .skill-builder { padding: 18px; }
    .skill-control { grid-template-columns: 1fr; padding: 19px; }
    .skill-stepper { justify-self: end; }
    .detective-review { grid-template-columns: 105px 1fr; padding: 24px 20px; }
    .review-avatar img { width: 105px; }
    .review-identity h3 { font-size: 25px; }
    .review-skills { grid-template-columns: repeat(2,1fr); }
    .permadeath-check { margin: 0 20px 26px; }
    .creator-actions { flex-wrap: wrap; }
    .creator-actions .form-message { flex-basis: 100%; order: -1; }
    .creator-actions .btn { flex: 1; }
    .profile-hero { grid-template-columns: 105px 1fr; gap: 18px; }
    .profile-hero > img { width: 105px; }
    .profile-hero h1 { font-size: 34px; }
    .profile-status { grid-column: 1 / -1; width: 100%; text-align: left; }
    .profile-metrics { grid-template-columns: repeat(2,1fr); }
    .profile-panel,
    .inventory-panel,
    .investigation-history-panel { padding: 20px; }
    .profile-skill-grid { grid-template-columns: 1fr; }
    .career-grid { grid-template-columns: repeat(2,1fr); }
    .skill-spend-footer { flex-wrap: wrap; }
    .skill-spend-footer .btn { width: 100%; }
    .inventory-warning { grid-template-columns: 1fr; }
    .artifact-card { grid-template-columns: 48px 1fr; }
    .artifact-icon { width: 48px; }
    .artifact-card form { grid-column: 1 / -1; }
    .artifact-card form .btn { width: 100%; }
    .investigation-table article { grid-template-columns: 1fr; }
    .investigation-table dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
}

.investigation-holding-page {
    position: relative;
    min-height: 100vh;
    padding: calc(var(--header-h) + 72px) 0 100px;
    background: #050705;
    isolation: isolate;
}
.investigation-holding-page::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background: linear-gradient(90deg,rgba(3,4,3,.98),rgba(3,4,3,.75)),var(--investigation-bg) center/cover no-repeat;
    opacity: .72;
}
.investigation-holding-card {
    display: grid;
    grid-template-columns: 220px minmax(0,760px);
    gap: 38px;
    align-items: start;
    margin-top: 55px;
    padding: 34px;
    border: 1px solid var(--line);
    background: rgba(8,11,9,.9);
}
.investigation-holding-card > img { width: 220px; aspect-ratio: 1; object-fit: cover; filter: grayscale(1); }
.investigation-holding-card > div > p:first-child { margin: 0 0 8px; color: var(--accent-2); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.investigation-holding-card h1 { margin: 0; font-size: clamp(42px,6vw,74px); line-height: .98; }
.investigation-holding-card > div > span { display: block; margin: 10px 0 24px; color: var(--muted); }
.investigation-holding-card > div > p:not(:first-child) { color: #b8beb8; line-height: 1.7; }
.investigation-holding-alert { display: grid; gap: 7px; margin: 28px 0; padding: 18px; border: 1px solid rgba(184,138,57,.35); background: rgba(184,138,57,.06); }
.investigation-holding-alert strong { color: #d4b36c; font-size: 10px; letter-spacing: .15em; }
.investigation-holding-alert span { color: #b9bdb7; line-height: 1.6; }
@media (max-width:760px){.investigation-holding-card{grid-template-columns:90px 1fr;gap:17px;padding:18px}.investigation-holding-card>img{width:90px}.investigation-holding-card h1{font-size:34px}.investigation-holding-card>div>p:not(:first-child),.investigation-holding-alert,.investigation-holding-card .btn{grid-column:1/-1}.investigation-holding-card>div{display:contents}}

/* =========================================================
   PÓS-LOGIN — AJUSTE DETETIVE / SORTE DERIVADA
========================================================= */
.creator-actions [hidden],
.detective-creator [hidden] {
    display: none !important;
}

.skill-control-derived {
    background: linear-gradient(90deg, rgba(159, 199, 86, .055), rgba(159, 199, 86, .015));
}

.skill-derived-value {
    min-width: 190px;
    display: grid;
    justify-items: end;
    gap: 4px;
    text-align: right;
}

.skill-derived-value small,
.derived-skill-badge {
    color: var(--accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.skill-derived-value strong {
    color: var(--accent);
    font-size: 30px;
    line-height: 1;
}

.skill-derived-value span {
    color: var(--muted);
    font-size: 12px;
}

.profile-skill-derived {
    background: linear-gradient(90deg, rgba(159, 199, 86, .05), transparent);
}

.profile-skill-value em {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
    font-style: normal;
    white-space: nowrap;
}

.derived-skill-badge {
    padding: 9px 12px;
    border: 1px solid rgba(159, 199, 86, .3);
}

@media (max-width: 720px) {
    .skill-derived-value {
        min-width: 0;
        justify-items: start;
        text-align: left;
    }
}


/* =========================================================
   PATCH PÓS-LOGIN 03 — NAVEGAÇÃO INTERNA EM FLUXO NORMAL
   Evita que o menu da conta cubra o nome e o cabeçalho.
========================================================= */
.account-nav {
    position: relative;
    top: auto;
    z-index: 3;
    margin-bottom: 34px;
}
.investigator-header,
.postlogin-page-header,
.profile-hero {
    position: relative;
    z-index: 2;
}
@media (max-width: 760px) {
    .account-nav {
        position: relative;
        top: auto;
        margin-bottom: 24px;
    }
}


/* =========================================================
   ENGINE DE INVESTIGAÇÃO V2
========================================================= */

.case-investigation-actions {
    align-items: flex-start;
}

.case-investigation-actions form {
    margin: 0;
}

.case-investigation-actions .form-message {
    max-width: 420px;
    margin: 10px 0 0;
    color: #d97785;
    font-size: 13px;
    line-height: 1.45;
}

.playable-investigation-page {
    position: relative;
    min-height: calc(100vh - 84px);
    /* Não usar overflow:hidden aqui: ele impede position:sticky da imagem. */
    overflow: clip;
}

.investigation-backdrop {
    position: fixed;
    inset: 84px 0 0;
    z-index: 0;
}

.investigation-backdrop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .54;
}

.investigation-overlay {
    position: fixed;
    inset: 84px 0 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(4,7,5,.97) 0%, rgba(4,7,5,.88) 48%, rgba(4,7,5,.48) 100%),
        linear-gradient(180deg, rgba(4,7,5,.22), rgba(4,7,5,.93));
}

.investigation-container {
    position: relative;
    z-index: 2;
    padding-top: 34px;
    padding-bottom: 80px;
}

.investigation-topline {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 38px 0 28px;
}

.investigation-topline p,
.story-scene-kind,
.story-choices > p,
.investigation-ending > p {
    margin: 0 0 10px;
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
}

.investigation-topline h1 {
    margin: 0;
    font-size: clamp(34px, 4.6vw, 72px);
    line-height: .98;
}

.investigation-detective {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 230px;
    padding: 10px 14px;
    border: 1px solid var(--line);
    background: rgba(7,10,8,.8);
}

.investigation-detective img {
    width: 54px;
    aspect-ratio: 1;
    object-fit: cover;
    filter: grayscale(1);
}

.investigation-detective span {
    display: grid;
    gap: 3px;
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.investigation-detective strong {
    color: var(--text);
    font-size: 15px;
    letter-spacing: normal;
    text-transform: none;
}

.story-scene-card {
    display: grid;
    grid-template-columns: minmax(300px, 42%) minmax(0, 1fr);
    max-width: 1320px;
    margin: 0 auto;
    border: 1px solid var(--line);
    background: rgba(5,8,6,.94);
    box-shadow: 0 28px 80px rgba(0,0,0,.36);
}

.story-scene-image {
    position: sticky;
    top: 104px;
    align-self: start;
    width: 100%;
    aspect-ratio: 1 / 1;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border-right: 1px solid var(--line);
    background: #030403;
}

.story-scene-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(1);
}

.story-scene-content {
    padding: clamp(28px, 4vw, 64px);
}

.story-scene-content h2 {
    max-width: 820px;
    margin: 0 0 18px;
    font-size: clamp(36px, 4.4vw, 70px);
    line-height: 1;
}

.story-scene-content h3 {
    margin: 0 0 24px;
    color: #c9d0c7;
    font-size: 20px;
    font-weight: 500;
}

.story-prose {
    color: #c1c7bf;
    font-size: 17px;
    line-height: 1.8;
}

.story-prose p {
    margin: 0 0 18px;
}

.story-prose strong,
.story-prose b {
    color: #f3f5f1;
}

.story-prose blockquote {
    margin: 24px 0;
    padding: 4px 0 4px 22px;
    border-left: 2px solid var(--accent);
    color: #e3e8df;
    font-family: Georgia, serif;
    font-style: italic;
}

.story-choices {
    display: grid;
    gap: 12px;
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
}

.story-choice-form {
    margin: 0;
}

.story-choice-form small {
    display: block;
    min-height: 0;
    margin-top: 6px;
    color: #d97785;
    font-size: 12px;
}

.story-choice-button,
.story-choice-locked {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 62px;
    padding: 16px 18px;
    border: 1px solid #344034;
    background: rgba(14,18,15,.88);
    color: #eef1eb;
    text-align: left;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.story-choice-button {
    cursor: pointer;
}

.story-choice-button:hover,
.story-choice-button:focus-visible {
    transform: translateX(4px);
    border-color: var(--accent);
    background: rgba(115,147,58,.13);
}

.story-choice-button b {
    color: var(--accent);
    font-size: 22px;
}

.story-choice-button:disabled {
    opacity: .55;
    cursor: wait;
}

.story-choice-locked {
    display: grid;
    gap: 6px;
    opacity: .58;
    cursor: not-allowed;
}

.story-choice-locked small {
    color: #c58a55;
    font-size: 12px;
}

.investigation-ending {
    max-width: 920px;
    margin: 80px auto 0;
    padding: clamp(34px, 6vw, 76px);
    border: 1px solid var(--line);
    background: rgba(5,8,6,.95);
    text-align: center;
}

.investigation-ending img {
    width: 150px;
    aspect-ratio: 1;
    object-fit: cover;
    margin-bottom: 24px;
    filter: grayscale(1);
}

.investigation-ending h1 {
    margin: 0 0 18px;
    font-size: clamp(38px, 6vw, 76px);
    line-height: 1;
}

.investigation-ending > span {
    display: block;
    max-width: 680px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.7;
}

.investigation-ending .hero-actions {
    justify-content: center;
    margin-top: 34px;
}

.death-ending {
    border-color: rgba(143,41,53,.65);
}

.death-ending > p {
    color: #c45a68;
}

.solved-ending {
    border-color: rgba(130,166,69,.65);
}

@media (max-width: 980px) {
    .investigation-overlay {
        background:
            linear-gradient(180deg, rgba(4,7,5,.48) 0%, rgba(4,7,5,.94) 42%, rgba(4,7,5,.99) 100%);
    }

    .investigation-topline {
        align-items: flex-start;
        flex-direction: column;
    }

    .story-scene-card {
        grid-template-columns: 1fr;
    }

    .story-scene-image {
        position: relative;
        top: auto;
        aspect-ratio: 1 / 1;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .story-scene-image img {
        max-height: none;
    }
}

@media (max-width: 640px) {
    .investigation-container {
        padding-top: 18px;
    }

    .investigation-topline {
        margin-top: 24px;
    }

    .investigation-detective {
        width: 100%;
    }

    .story-scene-content {
        padding: 24px 18px 30px;
    }

    .story-prose {
        font-size: 16px;
        line-height: 1.72;
    }

    .story-choice-button,
    .story-choice-locked {
        min-height: 66px;
        padding: 15px;
    }

    .case-investigation-actions form,
    .case-investigation-actions .btn {
        width: 100%;
    }
}

/* =========================================================
   QUEM MATOU V2 — LOJA E ECONOMIA
========================================================= */
.store-page {
    padding-top: 150px;
    padding-bottom: 90px;
    min-height: 100vh;
}
.store-header { align-items: flex-end; }
.store-tabs {
    display: flex;
    gap: 0;
    margin: 28px 0 34px;
    border: 1px solid var(--line);
    width: fit-content;
    max-width: 100%;
}
.store-tabs a {
    min-width: 190px;
    padding: 16px 22px;
    color: var(--muted);
    text-decoration: none;
    text-align: center;
    border-right: 1px solid var(--line);
    font-weight: 800;
}
.store-tabs a:last-child { border-right: 0; }
.store-tabs a:hover,
.store-tabs a.active {
    color: #fff;
    background: rgba(166,201,102,.13);
}
.store-intro {
    display: grid;
    grid-template-columns: minmax(280px,.72fr) 1fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--line);
}
.store-intro small,
.store-orders header small {
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .17em;
}
.store-intro h2,
.store-orders h2 {
    margin: 8px 0 0;
    font-size: clamp(30px,4vw,48px);
}
.store-intro p {
    margin: 0;
    color: var(--muted);
    line-height: 1.75;
    max-width: 760px;
}
.store-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}
.store-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 440px;
    padding: 25px;
    border: 1px solid var(--line);
    background: rgba(8,12,9,.88);
}
.store-card.featured { border-color: rgba(166,201,102,.55); }
.store-card-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    border: 1px solid rgba(166,201,102,.35);
    color: var(--accent);
    font-size: 24px;
}
.store-card-copy { flex: 1; }
.store-card-copy small {
    color: var(--accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}
.store-card-copy h3 {
    margin: 8px 0 12px;
    font-size: 25px;
}
.store-card-copy p {
    margin: 0 0 16px;
    color: #b8bdb7;
    line-height: 1.65;
}
.store-card-copy span {
    color: #d9ddd7;
    font-size: 13px;
}
.store-card-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 24px 0 18px;
    border: 1px solid var(--line);
}
.store-card-meta > div { padding: 13px 15px; }
.store-card-meta > div + div { border-left: 1px solid var(--line); }
.store-card-meta small {
    display: block;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: .13em;
}
.store-card-meta strong {
    display: block;
    margin-top: 6px;
    color: #fff;
}
.store-buy-form .btn { width: 100%; }
.store-buy-form [data-form-message],
.qms-package-card [data-form-message] {
    min-height: 18px;
    margin: 8px 0 0;
    color: #e48993;
    font-size: 12px;
}
.store-payment-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 22px;
    margin-bottom: 28px;
    padding: 19px 22px;
    border: 1px solid rgba(184,138,57,.35);
    background: rgba(184,138,57,.06);
}
.store-payment-note.test-enabled {
    border-color: rgba(166,201,102,.38);
    background: rgba(166,201,102,.06);
}
.store-payment-note strong {
    color: #d4b36c;
    font-size: 11px;
    letter-spacing: .15em;
}
.store-payment-note.test-enabled strong { color: var(--accent); }
.store-payment-note p { margin: 0; color: #b9bdb7; line-height: 1.6; }
.qms-package-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}
.qms-package-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 340px;
    padding: 28px;
    border: 1px solid var(--line);
    background: rgba(8,12,9,.9);
}
.qms-package-card.featured {
    transform: translateY(-8px);
    border-color: rgba(166,201,102,.65);
    box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.store-badge {
    position: absolute;
    top: 0;
    right: 0;
    padding: 7px 10px;
    background: var(--accent);
    color: #0a0d0a;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}
.qms-package-card > small {
    color: var(--accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .15em;
}
.qms-package-card h3 {
    margin: 18px 0 10px;
    font-size: 35px;
}
.qms-package-card p {
    flex: 1;
    color: var(--muted);
    line-height: 1.65;
}
.qms-package-card > strong {
    display: block;
    margin: 18px 0;
    color: #fff;
    font-size: 25px;
}
.qms-package-card .btn { width: 100%; }
.qms-package-card .btn[disabled] { opacity: .48; cursor: not-allowed; }
.store-orders {
    margin-top: 54px;
    padding-top: 35px;
    border-top: 1px solid var(--line);
}
.store-orders-list { border: 1px solid var(--line); }
.store-orders-list article {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 24px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
}
.store-orders-list article:last-child { border-bottom: 0; }
.store-orders-list small { display: block; color: var(--muted); font-size: 10px; }
.store-orders-list strong { display: block; margin-top: 4px; color: #fff; }
.store-orders-list span { color: var(--accent); font-size: 11px; letter-spacing: .08em; }
.store-orders-list b { color: #fff; }
.inventory-warning { align-items: center; }
.inventory-warning .btn { white-space: nowrap; }

@media (max-width: 1100px) {
    .store-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .qms-package-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .store-page { padding-top: 110px; }
    .store-tabs { width: 100%; }
    .store-tabs a { flex: 1; min-width: 0; padding-inline: 10px; }
    .store-intro { grid-template-columns: 1fr; gap: 16px; }
    .store-grid,
    .qms-package-grid { grid-template-columns: 1fr; }
    .qms-package-card.featured { transform: none; }
    .store-payment-note { grid-template-columns: 1fr; }
    .store-orders-list article { grid-template-columns: 1fr; gap: 8px; }
    .inventory-warning { grid-template-columns: 1fr; }
    .inventory-warning .btn { width: 100%; }
}
.story-choice-locked a {
    display: inline-block;
    margin-top: 10px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}
.story-choice-locked a:hover { color: #fff; }

/* =========================================================
   V2.10 — Ranking da conta, reputação e aposentadoria
========================================================= */
.player-progression-card {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(280px, 1.25fr);
    gap: 38px;
    align-items: center;
    margin: 30px 0;
    padding: 25px 28px;
    border: 1px solid rgba(166,201,102,.3);
    background: linear-gradient(110deg, rgba(126,153,72,.13), rgba(8,11,9,.82) 55%);
}
.player-progression-card small,
.retirement-panel header p,
.honor-card-copy > small { color: var(--accent-2); font-size: 10px; font-weight: 850; letter-spacing: .17em; }
.player-progression-card h2 { margin: 7px 0 4px; font-size: clamp(25px,3vw,39px); }
.player-progression-card p { margin: 0; color: var(--muted); }
.reputation-progress { display: grid; gap: 10px; }
.reputation-progress progress,
.retirement-progress progress { width: 100%; height: 8px; overflow: hidden; appearance: none; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.08); }
.reputation-progress progress::-webkit-progress-bar,
.retirement-progress progress::-webkit-progress-bar { background: rgba(255,255,255,.08); }
.reputation-progress progress::-webkit-progress-value,
.retirement-progress progress::-webkit-progress-value { background: linear-gradient(90deg, #789b3d, #b3d56f); }
.reputation-progress progress::-moz-progress-bar,
.retirement-progress progress::-moz-progress-bar { background: linear-gradient(90deg, #789b3d, #b3d56f); }
.reputation-progress small { color: #9da59d; text-align: right; }

.player-ranking-highlight article em { margin-top: 10px; color: #829082; font-size: 12px; font-style: normal; }
.player-ranking-table .ranking-row { grid-template-columns: 78px minmax(240px,1.5fr) minmax(135px,.8fr) 90px 78px 120px; }
.player-ranking-table .rank-investigator > span { display: grid; gap: 4px; }
.player-ranking-table .rank-investigator small { color: #748074; font-size: 11px; font-weight: 500; }

.retirement-panel { border-color: rgba(255,255,255,.1); }
.retirement-panel.is-unlocked { border-color: rgba(166,201,102,.5); box-shadow: 0 0 42px rgba(123,155,63,.08); }
.retirement-panel > header { align-items: center; }
.retirement-panel > header > strong { color: var(--accent-2); font-size: 21px; }
.retirement-progress { padding: 0 28px 26px; }
.retirement-unlocked { display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,.8fr); gap: 35px; padding: 28px; border-top: 1px solid var(--line); }
.retirement-unlocked h3 { margin: 7px 0 10px; font-size: clamp(23px,3vw,34px); }
.retirement-unlocked p { color: var(--muted); line-height: 1.7; }
.retirement-form { display: grid; align-content: center; gap: 18px; padding: 22px; border: 1px solid rgba(143,41,53,.52); background: rgba(56,13,19,.18); }
.retirement-form label { display: flex; gap: 12px; align-items: flex-start; line-height: 1.55; }
.retirement-form input { margin-top: 4px; accent-color: #a6c966; }
.retirement-form .btn { width: 100%; }

.honor-page { min-height: 70vh; }
.honor-heading h1 { max-width: 800px; }
.honor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; padding: 1px; background: var(--line); border: 1px solid var(--line); }
.honor-card { display: grid; grid-template-columns: 205px 1fr; min-height: 260px; background: #090c0a; }
.honor-card-image { aspect-ratio: 1; align-self: start; overflow: hidden; background: #030403; }
.honor-card-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.honor-card-copy { padding: 27px; }
.honor-card-copy h2 { margin: 8px 0 6px; font-family: Georgia,serif; font-size: 29px; }
.honor-card-copy > p { margin: 0 0 23px; color: #8b958c; }
.honor-card-copy dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0; background: rgba(255,255,255,.08); }
.honor-card-copy dl div { padding: 13px; background: #0d100e; }
.honor-card-copy dt { color: #697269; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.honor-card-copy dd { margin: 5px 0 0; color: #e8ece7; font-weight: 750; }

@media (max-width: 1100px) {
    .player-ranking-table .ranking-row { grid-template-columns: 60px minmax(220px,1fr) minmax(120px,.7fr) 75px 105px; }
    .player-ranking-table .ranking-row > :nth-child(5) { display: none; }
    .honor-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .player-progression-card { grid-template-columns: 1fr; gap: 20px; padding: 21px; }
    .reputation-progress small { text-align: left; }
    .player-ranking-table .ranking-row { grid-template-columns: 46px minmax(0,1fr) 92px; }
    .player-ranking-table .ranking-row > :nth-child(3),
    .player-ranking-table .ranking-row > :nth-child(4),
    .player-ranking-table .ranking-row > :nth-child(5) { display: none; }
    .player-ranking-table .ranking-row > :nth-child(6) { display: block; text-align: right; }
    .retirement-unlocked { grid-template-columns: 1fr; padding: 20px; }
    .retirement-progress { padding: 0 20px 22px; }
    .honor-card { grid-template-columns: 112px 1fr; min-height: 0; }
    .honor-card-copy { padding: 18px; }
    .honor-card-copy h2 { font-size: 23px; }
    .honor-card-copy dl { grid-template-columns: 1fr 1fr; grid-column: 1 / -1; }
}

@media (max-width: 480px) {
    .honor-card { display: block; }
    .honor-card-image { width: 100%; }
}

/* =========================================================
   QUEM MATOU V2 — AVATAR PREMIUM E ENIGMAS
========================================================= */
.avatar-option em {
    display: inline-flex;
    width: max-content;
    margin-top: 4px;
    padding: 4px 7px;
    border: 1px solid rgba(166,201,102,.35);
    color: var(--accent-2);
    background: rgba(166,201,102,.08);
    font-size: 9px;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.scene-enigmas {
    display: grid;
    gap: 18px;
    margin: 34px 0;
}
.scene-enigma-card {
    padding: 24px;
    border: 1px solid rgba(166,201,102,.34);
    background:
        linear-gradient(135deg, rgba(116,143,67,.10), transparent 48%),
        rgba(5,8,6,.78);
    box-shadow: 0 18px 45px rgba(0,0,0,.16);
}
.scene-enigma-card.is-solucionado { border-color: rgba(166,201,102,.68); }
.scene-enigma-card.is-falhou { border-color: rgba(143,41,53,.64); }
.scene-enigma-card > header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-start;
    margin-bottom: 20px;
}
.scene-enigma-card > header p {
    margin: 0 0 6px;
    color: var(--accent-2);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .15em;
}
.scene-enigma-card > header h3 {
    margin: 0;
    color: #eef1eb;
    font-size: clamp(23px,3vw,34px);
}
.scene-enigma-card > header > span {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid var(--line);
    color: #929b92;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.scene-enigma-text {
    color: #c8cec7;
    font-size: 16px;
    line-height: 1.75;
}
.scene-enigma-text code,
.scene-enigma-key code,
.scene-enigma-result code {
    display: inline-block;
    padding: 4px 7px;
    border: 1px solid rgba(255,255,255,.12);
    color: #edf3e7;
    background: #050706;
    font-family: Consolas, Monaco, monospace;
    letter-spacing: .09em;
    word-break: break-word;
}
.scene-enigma-clue {
    margin-top: 18px;
    padding: 16px 18px;
    border-left: 2px solid var(--accent-2);
    color: #aab2aa;
    background: rgba(255,255,255,.025);
    line-height: 1.65;
}
.scene-enigma-clue strong {
    display: block;
    margin-bottom: 5px;
    color: var(--accent-2);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.scene-enigma-clue p { margin: 0; }
.scene-enigma-key { margin: 16px 0 0; color: #949e94; }
.scene-enigma-form {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 12px;
    margin-top: 22px;
}
.scene-enigma-form label { display: grid; gap: 8px; }
.scene-enigma-form label > span {
    color: #a9b1a9;
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.scene-enigma-form input {
    min-height: 52px;
    width: 100%;
    padding: 0 15px;
    border: 1px solid rgba(255,255,255,.14);
    outline: none;
    color: #edf1eb;
    background: #080b09;
}
.scene-enigma-form input:focus { border-color: var(--accent-2); }
.scene-enigma-form .btn { align-self: end; min-height: 52px; }
.scene-enigma-form [data-form-message] {
    grid-column: 1 / -1;
    min-height: 18px;
    color: #d06a75;
}
.scene-enigma-attempts {
    margin: 10px 0 0;
    color: #687168;
    font-size: 11px;
}
.scene-enigma-result {
    margin-top: 20px;
    padding: 15px 17px;
    border: 1px solid rgba(255,255,255,.10);
    color: #c9d0c8;
}
.scene-enigma-result.success {
    border-color: rgba(166,201,102,.42);
    background: rgba(166,201,102,.07);
}
.scene-enigma-result.failure {
    border-color: rgba(143,41,53,.48);
    background: rgba(143,41,53,.08);
}

@media (max-width: 760px) {
    .scene-enigma-card { padding: 19px; }
    .scene-enigma-card > header { display: grid; gap: 12px; }
    .scene-enigma-card > header > span { width: max-content; }
    .scene-enigma-form { grid-template-columns: 1fr; }
    .scene-enigma-form .btn { width: 100%; }
}

/* =========================================================
   PATCH 14 — AUTENTICAÇÃO, PERFIL E NAVEGAÇÃO RESPONSIVA
========================================================= */
@media (min-width: 761px) {
    .page-home .global-audio { left: var(--pad-x); right: auto; }
    .page-home .case-switcher-panel { left: var(--pad-x); right: auto; }
}

.auth-page { min-height: calc(100svh - var(--header-h)); padding: clamp(120px, 13vh, 175px) var(--pad-x) 90px; background: radial-gradient(circle at 75% 20%, rgba(44,64,42,.15), transparent 36%), #080b08; }
.auth-page-grid { width: min(1240px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(280px,.85fr) minmax(500px,1.15fr); gap: clamp(50px,7vw,110px); align-items: start; }
.auth-page-grid.compact { grid-template-columns: minmax(280px,.85fr) minmax(380px,.85fr); max-width: 1080px; align-items: center; }
.auth-intro { position: sticky; top: calc(var(--header-h) + 40px); }
.auth-intro > p:first-child { color: var(--accent-2); font-size: 10px; font-weight: 900; letter-spacing: .19em; }
.auth-intro h1 { max-width: 660px; margin: 18px 0 20px; font-size: clamp(45px,5.7vw,78px); line-height: .98; letter-spacing: -.045em; }
.auth-intro > p:last-of-type { max-width: 620px; color: #b2bab1; font-size: 17px; line-height: 1.72; }
.auth-intro ul { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; color: #8f988f; }
.auth-intro li::before { content: "—"; margin-right: 10px; color: var(--accent); }
.auth-card-stack { display: grid; }
.auth-card { display: grid; gap: 20px; padding: clamp(28px,4vw,46px); border: 1px solid rgba(166,201,102,.28); background: rgba(7,10,8,.92); box-shadow: 0 35px 90px rgba(0,0,0,.32); }
.auth-card header small { color: var(--accent-2); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.auth-card h2 { margin: 8px 0 0; font-size: clamp(32px,4vw,44px); }
.auth-card label { display: grid; gap: 9px; color: #c4cbc3; font-size: 13px; font-weight: 650; }
.auth-card input:not([type="radio"]):not([type="checkbox"]), .auth-card select, .auth-card textarea,
.settings-card input:not([type="file"]), .settings-card select, .settings-card textarea {
    width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.035); color: #f2f5f0; outline: 0;
}
.auth-card textarea, .settings-card textarea { min-height: 115px; resize: vertical; }
.auth-card input:focus, .auth-card select:focus, .auth-card textarea:focus, .settings-card input:focus, .settings-card select:focus, .settings-card textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(130,159,74,.08); }
.form-grid { display: grid; gap: 18px; }
.form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.auth-card label small { color: #737c73; font-weight: 400; line-height: 1.45; }
.account-sex { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; border: 0; }
.account-sex legend { width: 100%; margin-bottom: 8px; color: #c4cbc3; font-size: 13px; font-weight: 650; }
.account-sex label { display: inline-flex; grid-template-columns: auto 1fr; align-items: center; min-height: 44px; padding: 0 17px; border: 1px solid var(--line); cursor: pointer; }
.account-sex input, .terms-check input { accent-color: var(--accent); }
.terms-check { grid-template-columns: auto 1fr; align-items: start; padding: 15px; border: 1px solid var(--line); color: #9da59d !important; font-weight: 400 !important; line-height: 1.55; }
.terms-check a, .auth-footnote a { color: var(--accent-2); }
.auth-footnote { margin: 0; text-align: center; color: #8c948c; font-size: 12px; }
.auth-divider { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; color: #788078; font-size: 11px; text-transform: uppercase; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; background: var(--line); }
.google-login-slot { width: 100%; min-height: 44px; display: flex; justify-content: center; overflow: hidden; }
.google-form-message { margin: -8px 0 0; color: #e48993; text-align: center; font-size: 12px; }

.account-nav { width: fit-content; max-width: 100%; border: 1px solid var(--line); background: rgba(7,10,8,.92); }
.account-nav-toggle { display: none; }
.account-nav-links { display: flex; align-items: stretch; }
.account-nav-links > a, .account-nav-links > form > button { min-height: 48px; display: flex; align-items: center; justify-content: center; padding: 0 17px; border: 0; background: transparent; color: #b8c0b7; font: inherit; font-size: 13px; font-weight: 750; text-decoration: none; cursor: pointer; white-space: nowrap; }
.account-nav-links > a:hover, .account-nav-links > a.active { color: #fff; background: rgba(166,201,102,.13); }
.account-nav-links > form { display: flex; margin: 0 0 0 8px; padding-left: 8px; border-left: 1px solid var(--line); }
.account-nav-links > form > button:hover { color: #e48993; }

.account-profile-page { padding-top: 132px; }
.profile-account-header { display: grid; grid-template-columns: 130px minmax(0,1fr) auto; gap: 28px; align-items: center; margin-bottom: 34px; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.profile-avatar-shell, .profile-avatar-preview { width: 130px; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--line); filter: grayscale(1); }
.profile-avatar-shell { overflow: hidden; }
.profile-avatar-shell img { width: 100%; height: 100%; display: block; object-fit: cover; }
.profile-account-header p { margin: 0 0 8px; color: var(--accent); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.profile-account-header h1 { margin: 0; font-size: clamp(40px,5vw,68px); }
.profile-account-header span { display: block; margin-top: 7px; color: var(--muted); }
.profile-verification { min-width: 165px; padding: 20px; border: 1px solid rgba(166,201,102,.28); text-align: right; }
.profile-verification small { display: block; color: #798179; letter-spacing: .14em; }
.profile-verification strong { display: block; margin-top: 8px; color: var(--accent-2); }
.profile-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.settings-card { display: grid; align-content: start; gap: 20px; padding: 28px; border: 1px solid var(--line); background: rgba(8,11,9,.9); }
.settings-card header small { color: var(--accent); font-size: 10px; font-weight: 900; letter-spacing: .17em; }
.settings-card h2 { margin: 8px 0 0; font-size: 29px; }
.settings-card form { display: grid; gap: 17px; }
.settings-card label { display: grid; gap: 8px; color: #c2c9c1; font-size: 13px; }
.settings-card p { margin: 0; color: #879087; line-height: 1.55; }
.avatar-settings-card { grid-row: span 2; }
.profile-avatar-preview { width: min(310px,100%); }
.current-account-value { padding: 14px; border: 1px solid var(--line); color: #e8ece6 !important; word-break: break-all; }

.team-author-card { display: grid; grid-template-columns: 76px 1fr; gap: 18px; align-items: center; margin: 30px 0; padding: 19px; border: 1px solid rgba(166,201,102,.25); background: rgba(166,201,102,.045); }
.team-author-card img { width: 76px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; filter: grayscale(1); }
.team-author-card small { color: var(--accent); font-weight: 900; letter-spacing: .14em; }
.team-author-card strong { display: block; margin-top: 5px; font-size: 18px; }
.team-author-card p { margin: 5px 0 0; color: var(--muted); }

@media (max-width: 900px) {
    .auth-page-grid, .auth-page-grid.compact { grid-template-columns: 1fr; }
    .auth-intro { position: static; }
    .profile-settings-grid { grid-template-columns: 1fr; }
    .avatar-settings-card { grid-row: auto; }
}

@media (max-width: 760px) {
    .auth-page { padding: 100px 18px 60px; }
    .auth-page-grid { gap: 34px; }
    .auth-intro h1 { font-size: 47px; }
    .auth-card { padding: 24px 19px; }
    .form-grid.two { grid-template-columns: 1fr; }

    .account-nav { width: 100%; margin-bottom: 24px; }
    .account-nav-toggle { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 17px; border: 0; background: rgba(166,201,102,.12); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
    .account-nav-toggle b { color: var(--accent-2); font-size: 23px; }
    .account-nav-links { display: grid; grid-template-columns: 1fr; }
    .account-nav-links[hidden] { display: none; }
    .account-nav-links > a, .account-nav-links > form > button { width: 100%; min-height: 50px; justify-content: flex-start; padding: 0 18px; border-top: 1px solid var(--line); }
    .account-nav-links > form { margin: 0; padding: 0; border: 0; }

    .profile-account-header { grid-template-columns: 86px 1fr; gap: 17px; }
    .profile-avatar-shell { width: 86px; }
    .profile-verification { grid-column: 1 / -1; text-align: left; }
    .settings-card { padding: 22px 18px; }

    .store-tabs { display: grid !important; grid-template-columns: 1fr !important; }
    .store-tabs a { width: 100%; min-height: 50px; display: flex; align-items: center; justify-content: flex-start; padding: 0 17px !important; border-right: 0 !important; border-bottom: 1px solid var(--line); text-align: left; }
    .store-tabs a:last-child { border-bottom: 0; }

    .detective-actions, .hero-actions { grid-template-columns: 1fr; }
    .detective-actions { display: grid; width: 100%; }
    .detective-actions .btn { width: 100%; }
}

/* =========================================================
   PATCH 15 — GOOGLE IDENTITY COM TAMANHO CONTROLADO
========================================================= */
.google-login-slot {
    position: relative;
    width: min(100%, 420px);
    height: 44px;
    min-height: 44px;
    max-height: 44px;
    margin-inline: auto;
    display: block;
    overflow: hidden;
    isolation: isolate;
}
.google-login-slot > div,
.google-login-slot iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    border: 0 !important;
}
.google-login-slot iframe {
    display: block !important;
    position: relative !important;
    inset: auto !important;
}
.google-login-slot.is-fallback {
    height: auto;
    max-height: none;
    overflow: visible;
}
.google-fallback-button {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 18px;
    border: 1px solid #4c514c;
    background: #fff;
    color: #202124;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
}
.google-fallback-button:hover { background: #f3f4f4; }
.google-fallback-button span:first-child {
    width: 22px;
    height: 22px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    color: #4285f4;
    font-size: 18px;
    font-weight: 800;
}
@media (max-width: 560px) {
    .google-login-slot { width: 100%; }
}

/* =========================================================
   PATCH 16 — CADASTRO, ATIVAÇÃO E IDENTIDADE DA CONTA
========================================================= */
.password-grid { align-items: start; }
.password-control { position: relative; display: block; width: 100%; }
.password-control input { width: 100%; padding-right: 52px !important; }
.password-toggle {
    position: absolute; top: 50%; right: 5px; width: 42px; height: 42px;
    display: grid; place-items: center; padding: 0; transform: translateY(-50%);
    border: 0; background: transparent; color: #8d968d; cursor: pointer;
}
.password-toggle:hover, .password-toggle:focus-visible, .password-toggle.is-visible { color: var(--accent-2); }
.password-toggle svg { width: 21px; height: 21px; display: block; }
.password-toggle.is-visible svg { opacity: .72; }
.password-toggle.is-visible::after {
    content: ""; position: absolute; width: 24px; height: 1px; background: currentColor; transform: rotate(-42deg);
}
.password-requirement { margin: -9px 0 0; color: #737c73; font-size: 12px; line-height: 1.5; }

/* O botão oficial continua responsável pelo clique, mas sua renderização fica
   invisível sobre uma camada visual estável. Isso elimina linhas, recortes e
   diferenças de tamanho entre navegadores. */
.google-login-slot {
    position: relative; width: min(100%, 420px); height: 44px; min-height: 44px;
    margin-inline: auto; display: block; overflow: hidden; border-radius: 3px;
    background: #fff; border: 1px solid #747775; isolation: isolate;
}
.google-button-visual {
    position: absolute; inset: 0; z-index: 1; display: flex; align-items: center;
    justify-content: center; gap: 12px; padding: 0 18px; color: #3c4043;
    background: #fff; font-size: 14px; font-weight: 500; line-height: 1;
    pointer-events: none;
}
.google-button-logo { position: absolute; left: 14px; width: 18px; height: 18px; display: block; }
.google-button-logo svg { width: 18px; height: 18px; display: block; }
.google-button-hit { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; opacity: .015; overflow: hidden; }
.google-button-hit > div, .google-button-hit iframe {
    width: 100% !important; max-width: none !important; height: 44px !important;
    max-height: 44px !important; margin: 0 !important; border: 0 !important;
}
.google-login-slot:hover .google-button-visual { background: #f7f8f8; box-shadow: inset 0 0 0 1px #5f6368; }
.google-login-slot:focus-within .google-button-visual { box-shadow: inset 0 0 0 2px #4285f4; }
.google-login-slot.is-fallback { height: 44px; max-height: 44px; overflow: hidden; border: 0; background: transparent; }
.google-fallback-button {
    position: relative; width: 100%; height: 44px; min-height: 44px; display: block;
    padding: 0; border: 1px solid #747775; border-radius: 3px; background: #fff;
    color: #3c4043; cursor: pointer; overflow: hidden;
}
.google-fallback-button .google-button-visual { position: absolute; }

.activation-layout { max-width: 1100px; }
.activation-card { align-content: start; }
.activation-email-box, .activation-debug-code {
    display: grid; gap: 7px; padding: 17px 19px; border: 1px solid var(--line);
    background: rgba(255,255,255,.025);
}
.activation-email-box small, .activation-debug-code small { color: var(--accent); font-size: 10px; font-weight: 900; letter-spacing: .17em; }
.activation-email-box strong { font-size: 18px; word-break: break-word; }
.activation-debug-code { border-color: rgba(224,173,73,.45); background: rgba(224,173,73,.055); }
.activation-debug-code strong { color: #e0ad49; font-size: 32px; letter-spacing: .25em; }
.activation-debug-code span { color: #9b927d; font-size: 12px; line-height: 1.5; }
.activation-code-form { display: grid; gap: 15px; }
.activation-code-form > label { color: #c4cbc3; font-size: 13px; font-weight: 700; }
.activation-code-input {
    width: 100%; height: 72px; padding: 0 20px !important; border: 1px solid rgba(166,201,102,.38) !important;
    background: rgba(166,201,102,.045) !important; color: #fff !important; text-align: center;
    font-size: clamp(28px,5vw,42px); font-weight: 850; letter-spacing: .34em; font-variant-numeric: tabular-nums;
}
.activation-code-input::placeholder { color: #596159; }
.activation-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 4px; border-top: 1px solid var(--line); }
.activation-actions form { margin: 0; }
.text-button { padding: 8px 0; border: 0; background: transparent; color: var(--accent-2); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.text-button:hover { color: #fff; }
.text-button.muted { color: #818a81; }

@media (max-width: 760px) {
    .password-grid { gap: 17px; }
    .activation-actions { display: grid; grid-template-columns: 1fr; }
    .activation-actions form, .activation-actions button { width: 100%; text-align: left; }
    .activation-code-input { letter-spacing: .2em; }
}
.account-warning{border:1px solid rgba(178,54,68,.55);background:rgba(105,20,30,.16);padding:16px;margin-top:16px}.account-warning strong{color:#ff7d89}.account-warning p{margin:6px 0 0;color:var(--muted,#aeb7af)}


/* =========================================================
   DESAPARECEU! — APRESENTAÇÃO INTERNA E ASSINATURA
========================================================= */
.desapareceu-landing {
    position: relative;
    min-height: calc(100svh - var(--header-height, 86px));
    overflow: hidden;
    background: #040605;
    border-bottom: 1px solid var(--line);
}
.desapareceu-backdrop,
.desapareceu-backdrop img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.desapareceu-backdrop img { object-fit: cover; object-position: center; }
.desapareceu-wash {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2,4,3,.98) 0%, rgba(2,4,3,.94) 34%, rgba(2,4,3,.55) 58%, rgba(2,4,3,.12) 100%),
        linear-gradient(0deg, rgba(2,4,3,.78), transparent 48%);
}
.desapareceu-inner {
    position: relative;
    z-index: 2;
    width: min(1560px, calc(100% - 9vw));
    min-height: calc(100svh - var(--header-height, 86px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: clamp(74px, 9vh, 130px) 0;
}
.desapareceu-copy { width: min(690px, 52vw); }
.desapareceu-eyebrow {
    color: var(--accent);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.desapareceu-copy h1 {
    max-width: 680px;
    margin: 18px 0 22px;
    font-size: clamp(3rem, 5.3vw, 6.6rem);
    line-height: .92;
    letter-spacing: -.055em;
}
.desapareceu-text {
    max-width: 610px;
    margin: 28px 0 30px;
    color: var(--muted);
    font-size: clamp(1rem, 1.2vw, 1.22rem);
    line-height: 1.75;
}
.desapareceu-subscribe-card {
    max-width: 660px;
    padding: 22px;
    border: 1px solid rgba(166,211,93,.32);
    background: rgba(4,8,6,.82);
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 60px rgba(0,0,0,.24);
}
.desapareceu-subscribe-card > small,
.desapareceu-latest small {
    display: block;
    color: var(--accent);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
}
.desapareceu-subscribe-card > strong {
    display: block;
    margin: 8px 0 14px;
    font-size: clamp(1.05rem, 1.3vw, 1.28rem);
}
.desapareceu-subscribe-card > p { margin: 0; color: var(--muted); }
.desapareceu-subscribe-card .subscription-pending { margin-bottom: 12px; color: #d9b36c; }
#desapareceuNewsletter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: 14px;
}
#desapareceuNewsletter input {
    min-width: 0;
    min-height: 54px;
    padding: 0 16px;
    color: var(--text);
    background: #0b100d;
    border: 1px solid var(--line);
    border-right: 0;
}
#desapareceuNewsletter button {
    min-height: 54px;
    padding: 0 24px;
    border: 1px solid var(--accent);
    background: var(--accent);
    color: #0b0d0b;
    font-weight: 800;
    cursor: pointer;
}
#desapareceuNewsletter .form-message { grid-column: 1 / -1; margin: 8px 0 0; }
.desapareceu-visit { margin-top: 14px; gap: 12px; }
.desapareceu-visit svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.desapareceu-latest {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 18px;
    max-width: 660px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
.desapareceu-latest img { width: 112px; aspect-ratio: 1; object-fit: cover; filter: grayscale(1); }
.desapareceu-latest h2 { margin: 6px 0; font-size: 1.2rem; line-height: 1.1; letter-spacing: -.02em; }
.desapareceu-latest p { margin: 0 0 8px; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.desapareceu-latest a { color: var(--accent); font-weight: 800; font-size: .82rem; }

/* Risco automático por dificuldade */
.hero-risk,.case-risk { font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.risk-facil { color: #8ed8a2 !important; }
.risk-moderado { color: #b3df72 !important; }
.risk-normal { color: #e0cf6d !important; }
.risk-dificil { color: #ef9b55 !important; }
.risk-critico { color: #ef6666 !important; }
.risk-extremo { color: #ff3f4d !important; text-shadow: 0 0 18px rgba(255,63,77,.28); }

@media (max-width: 900px) {
    .desapareceu-wash {
        background: linear-gradient(0deg, rgba(2,4,3,.98) 0%, rgba(2,4,3,.92) 52%, rgba(2,4,3,.28) 100%);
    }
    .desapareceu-backdrop img { object-position: center top; }
    .desapareceu-inner { width: min(100% - 36px, 720px); align-items: flex-end; padding: 44vh 0 56px; }
    .desapareceu-copy { width: 100%; }
    .desapareceu-copy h1 { font-size: clamp(2.65rem, 11vw, 4.5rem); }
}
@media (max-width: 560px) {
    #desapareceuNewsletter { grid-template-columns: 1fr; gap: 10px; }
    #desapareceuNewsletter input { border-right: 1px solid var(--line); }
    .desapareceu-latest { grid-template-columns: 82px minmax(0,1fr); }
    .desapareceu-latest img { width: 82px; }
}

/* PATCH 10 — todas as imagens internas das cenas seguem o padrão 1:1 */
.story-scene-image img {
    object-fit: cover;
}

/* Enigmas manuais: imagem opcional inserida por chave dentro da narrativa. */
.story-inline-enigma-image {
    width: min(100%, 620px);
    margin: 24px auto;
}
.story-inline-enigma-image img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 18px 45px rgba(0,0,0,.34);
}
.scene-enigma-explanation {
    margin-top: 14px;
    padding: 16px;
    border-left: 3px solid var(--accent-2);
    background: rgba(255,255,255,.035);
}
.scene-enigma-explanation > strong {
    display: block;
    margin-bottom: 8px;
    letter-spacing: .04em;
}
.scene-enigma-explanation p:last-child { margin-bottom: 0; }

/* =========================================================
   PATCH 028 — PERFIL DA CONTA EM COLUNAS EQUILIBRADAS
========================================================= */
.profile-account-container {
    width: min(1180px, 100%);
}

.profile-settings-grid {
    display: grid;
    grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
    gap: 24px;
    align-items: start;
}

.profile-settings-column {
    display: grid;
    gap: 24px;
    min-width: 0;
    align-content: start;
}

.avatar-settings-card {
    grid-row: auto;
}

.profile-avatar-preview {
    width: min(100%, 360px);
    justify-self: center;
    border-color: rgba(166, 201, 102, .28);
    background: #050705;
}

.avatar-settings-card form,
.email-settings-card form,
.password-settings-card form,
.profile-data-card form {
    min-width: 0;
}

.settings-card .btn {
    width: 100%;
}

.password-fields-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1050px) {
    .profile-settings-grid {
        grid-template-columns: 1fr;
    }

    .profile-settings-column {
        gap: 20px;
    }

    .profile-avatar-preview {
        width: min(320px, 100%);
    }
}

@media (max-width: 760px) {
    .account-profile-page {
        padding-top: calc(var(--header-h) + 34px);
    }

    .profile-account-header {
        margin-bottom: 24px;
        padding-bottom: 24px;
    }

    .profile-account-header h1 {
        font-size: 38px;
    }

    .password-fields-grid {
        grid-template-columns: 1fr;
    }
}

/* PATCH 032 — estado vazio das janelas sazonais. */
.cases-empty-window {
    max-width: 820px;
    margin: 36px auto 0;
    padding: clamp(28px, 5vw, 56px);
    border: 1px solid rgba(168, 211, 95, .28);
    background: rgba(6, 10, 7, .88);
    text-align: center;
}
.cases-empty-window small {
    color: var(--lime);
    font-weight: 800;
    letter-spacing: .16em;
}
.cases-empty-window h2 {
    margin: 12px 0;
    font-size: clamp(28px, 4vw, 48px);
}
.cases-empty-window p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}


/* Contrassenha do investigador — acesso aos comentários do Desapareceu! */
.counter-password-settings-card { gap: 16px; }
.counter-password-settings-card > p { margin: 0; color: var(--muted); line-height: 1.7; }
.counter-password-display {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 16px;
    border: 1px dashed rgba(181,255,57,.35);
    background: rgba(181,255,57,.035);
    color: var(--accent-2);
    font-family: "Courier New", monospace;
    font-size: clamp(18px, 2.4vw, 25px);
    font-weight: 800;
    letter-spacing: .12em;
    text-align: center;
    word-break: break-word;
}
.counter-password-display.is-revealed { border-style: solid; }
.counter-password-note { display: block; color: var(--muted); line-height: 1.55; }


/* PATCH 058 — apresentação justificada sem hifenização automática. */
.case-detail-summary p {
    margin: 0;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
}


/* Ajuste 057 — credencial do detetive */
.investigator-credential-card { gap: 16px; }
.investigator-credential-display { user-select: all; }
.investigator-credential-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .55fr); gap: 12px; align-items: start; }
.investigator-credential-actions form { display: grid; gap: 10px; }
.investigator-credential-actions .btn { width: 100%; min-height: 48px; }
.credential-copy-button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 620px) { .investigator-credential-actions { grid-template-columns: 1fr; } }

/* =========================================================
   065 · FUNDO DOS CASOS
   Mantém as imagens acima do fundo sólido da página. O material gerado
   já possui degradê preto na área de leitura; por isso a interface aplica
   apenas uma proteção leve, sem apagar a metade visual da composição.
========================================================= */
.hero-media {
    z-index: 0;
    display: block;
    background: #020302;
    pointer-events: none;
}
.hero-media img {
    z-index: 0;
    opacity: 1;
    filter: grayscale(1) contrast(1.02) brightness(1.08);
}
.hero-wash {
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(1,2,1,.96) 0%,
        rgba(1,2,1,.80) 29%,
        rgba(1,2,1,.30) 56%,
        rgba(1,2,1,.02) 82%);
}
.hero-vignette {
    z-index: 2;
    pointer-events: none;
    background: radial-gradient(circle at 74% 42%, transparent 0 28%, rgba(0,0,0,.12) 62%, rgba(0,0,0,.54) 100%);
}
.hero-content,
.case-switcher-panel,
.scroll-cue,
.global-audio {
    z-index: 3;
}

.inner-backdrop {
    z-index: 0;
    display: block;
    background: #050705;
    pointer-events: none;
}
.inner-backdrop img,
.crime-page .inner-backdrop img,
.case-detail-page .inner-backdrop img {
    z-index: 0;
    opacity: 1;
    filter: grayscale(1) contrast(1.02) brightness(1.08);
}
.inner-overlay {
    z-index: 1;
    pointer-events: none;
}
.inner-container {
    z-index: 2;
}
.crime-page .inner-overlay,
.case-detail-page .inner-overlay {
    background:
        linear-gradient(90deg, rgba(2,3,2,.96) 0%, rgba(2,3,2,.78) 30%, rgba(2,3,2,.24) 59%, rgba(2,3,2,.02) 84%),
        linear-gradient(180deg, rgba(2,3,2,.10), rgba(2,3,2,.38));
}

@media (max-width: 760px) {
    .hero-wash {
        background: linear-gradient(180deg, rgba(1,2,1,.02) 0%, rgba(1,2,1,.08) 42%, rgba(1,2,1,.72) 76%, #020302 100%);
    }
    .hero-vignette {
        background: radial-gradient(circle at 70% 20%, transparent 0 24%, rgba(0,0,0,.16) 58%, rgba(0,0,0,.62) 100%);
    }
    .crime-page .inner-overlay,
    .case-detail-page .inner-overlay {
        background: linear-gradient(180deg, rgba(2,3,2,.06) 0%, rgba(2,3,2,.18) 38%, rgba(2,3,2,.84) 72%, #050705 100%);
    }
}

/* PATCH 086 · Dicas e vazamentos no painel do jogador */
.leak-feed{margin:22px 0;padding:22px;border:1px solid rgba(166,201,102,.38);background:linear-gradient(135deg,rgba(122,151,66,.13),rgba(7,10,8,.95));box-shadow:0 18px 45px rgba(0,0,0,.2)}
.leak-feed>header small{color:var(--accent-2);font-weight:800;letter-spacing:.16em}
.leak-feed>header h2{margin:7px 0 16px;font-size:26px}
.leak-feed-list{display:grid;gap:12px}
.leak-feed-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px;border:1px solid rgba(255,255,255,.12);background:rgba(5,8,6,.82)}
.leak-feed-card>div{min-width:0}.leak-feed-card span{display:inline-block;margin-bottom:6px;color:var(--accent-2);font-size:11px;font-weight:900;letter-spacing:.14em}.leak-feed-card h3{margin:0 0 6px;font-size:20px}.leak-feed-card p{margin:0 0 8px;color:#d8ddd6;line-height:1.55}.leak-feed-card small{color:var(--muted)}
.leak-feed-card.vazamento{border-color:rgba(189,47,47,.58);box-shadow:inset 3px 0 #a82626}.leak-feed-card.vazamento span,.leak-feed-card.alerta span{color:#ff7777}.leak-feed-card.humor{border-color:rgba(207,179,68,.48)}
@media(max-width:760px){.leak-feed-card{align-items:stretch;flex-direction:column}.leak-feed-card .btn{width:100%}}

/* PATCH 088 · Central de notificações do jogador. */
.main-nav .nav-notifications{
    position:relative;
    display:inline-grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    padding:0;
    border:1px solid var(--line);
    border-radius:50%;
    color:#c0c5bf;
}
.main-nav .nav-notifications::after{display:none}
.main-nav .nav-notifications svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 10%}
.main-nav .nav-notifications:hover,.main-nav .nav-notifications.active{color:#fff;border-color:var(--accent)}
.main-nav .nav-notifications.has-unread{color:var(--accent-2);border-color:rgba(166,201,102,.65);box-shadow:0 0 0 3px rgba(166,201,102,.08)}
.main-nav .nav-notifications.is-ringing svg{animation:qm-bell-ring .75s ease-in-out 3}
.nav-notification-badge{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #070908;border-radius:999px;background:#b52828;color:#fff;font-size:10px;font-weight:900;line-height:1}
.nav-notification-badge[hidden]{display:none}
@keyframes qm-bell-ring{0%,100%{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-16deg)}60%{transform:rotate(11deg)}80%{transform:rotate(-7deg)}}

.notifications-heading{margin-bottom:24px}
.notifications-heading p{color:var(--accent-2);font-weight:850;letter-spacing:.14em}
.notification-archive{display:grid;gap:14px}
.notification-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(10,15,11,.98),rgba(5,8,6,.9));box-shadow:0 18px 44px rgba(0,0,0,.18)}
.notification-card.was-unread{border-color:rgba(166,201,102,.56);box-shadow:inset 4px 0 var(--accent-2),0 18px 44px rgba(0,0,0,.2)}
.notification-card.vazamento{border-color:rgba(189,47,47,.58)}
.notification-card.vazamento.was-unread{box-shadow:inset 4px 0 #b52828,0 18px 44px rgba(0,0,0,.2)}
.notification-card-copy{min-width:0}
.notification-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px;color:var(--accent-2);font-size:11px;font-weight:900;letter-spacing:.12em}
.notification-card-meta b{padding:3px 7px;background:var(--accent-2);color:#081008;font-size:9px}
.notification-card-meta time{color:var(--muted);font-weight:650;letter-spacing:.03em}
.notification-card h2{margin:0 0 8px;font-size:clamp(21px,2vw,29px)}
.notification-card p{max-width:820px;margin:0 0 10px;color:#d7ddd5;line-height:1.65}
.notification-card small{color:var(--muted)}
.notifications-empty{padding:42px;border:1px solid var(--line);text-align:center}
@media(max-width:1100px){.main-nav .nav-notifications{width:100%;height:auto;min-height:52px;border-radius:0}.nav-notification-badge{top:8px;right:12px}.notification-card{align-items:stretch;flex-direction:column}.notification-card .btn{width:100%}}

/* =========================================================
   PATCH 094 — LANÇAMENTOS AGENDADOS E CONTAGEM REGRESSIVA
========================================================= */
[hidden] { display: none !important; }

.release-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}
.release-heading span {
    color: #7f887f;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .18em;
}
.release-heading strong {
    color: #dce4d8;
    font-family: "Courier New", monospace;
    font-size: 12px;
    letter-spacing: .07em;
}
.release-countdown {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: "Courier New", monospace;
}
.release-countdown > span {
    display: grid;
    min-width: 58px;
    padding: 9px 10px 8px;
    border: 1px solid rgba(166,201,102,.28);
    background: rgba(5,8,5,.78);
    text-align: center;
    box-shadow: inset 0 0 22px rgba(130,159,74,.035);
}
.release-countdown b {
    color: var(--accent-2);
    font-size: 24px;
    line-height: 1;
    letter-spacing: .04em;
}
.release-countdown small {
    margin-top: 5px;
    color: #6f786f;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .16em;
}
.release-countdown > i {
    color: rgba(166,201,102,.55);
    font-style: normal;
    font-weight: 900;
}
.release-countdown.is-imminent > span {
    border-color: rgba(196,72,87,.55);
    box-shadow: inset 0 0 28px rgba(143,41,53,.12);
}
.release-countdown.is-imminent b { color: #d88b94; }

.hero-release-panel {
    width: min(650px, 100%);
    margin-top: 25px;
    padding: 18px 20px 20px;
    border: 1px solid rgba(166,201,102,.28);
    border-left: 4px solid var(--accent-2);
    background:
        linear-gradient(90deg, rgba(130,159,74,.1), rgba(7,10,8,.72)),
        repeating-linear-gradient(0deg, transparent 0 8px, rgba(255,255,255,.012) 8px 9px);
    backdrop-filter: blur(10px);
}
.hero-release-panel .release-countdown { margin-top: 13px; }
.release-countdown-hero > span { min-width: 72px; padding: 11px 13px 9px; }
.release-countdown-hero b { font-size: 30px; }

.case-card.is-scheduled {
    border-color: rgba(166,201,102,.42);
    box-shadow: inset 0 0 0 1px rgba(166,201,102,.04);
}
.case-card.is-scheduled::after {
    content: "EMBARGO";
    position: absolute;
    z-index: 3;
    top: 22px;
    right: -34px;
    width: 150px;
    padding: 7px 0;
    color: #0a0c0a;
    background: var(--accent-2);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
    text-align: center;
    transform: rotate(35deg);
}
.case-release-card {
    width: min(500px, 100%);
    margin-top: 20px;
    padding: 14px 15px;
    border: 1px dashed rgba(166,201,102,.34);
    background: rgba(7,10,8,.72);
}
.case-release-card .release-heading { align-items: center; }
.release-countdown-card { margin-top: 10px; gap: 6px; }
.release-countdown-card > span { min-width: 48px; padding: 7px 8px 6px; }
.release-countdown-card b { font-size: 19px; }
.release-countdown-card small { margin-top: 3px; }
.case-card.is-scheduled .text-link::after { content: " · BLOQUEADO"; color: #737b73; }

.case-release-dossier {
    position: relative;
    width: min(720px, 100%);
    margin-top: 30px;
    padding: 25px 27px 27px;
    overflow: hidden;
    border: 1px solid rgba(166,201,102,.3);
    border-left: 4px solid var(--accent-2);
    background:
        linear-gradient(135deg, rgba(130,159,74,.11), rgba(6,9,7,.84) 42%),
        repeating-linear-gradient(0deg, transparent 0 10px, rgba(255,255,255,.012) 10px 11px);
}
.case-release-dossier::after {
    content: "ACESSO RESTRITO";
    position: absolute;
    right: -43px;
    top: 26px;
    width: 180px;
    padding: 8px 0;
    color: rgba(166,201,102,.18);
    border: 2px solid rgba(166,201,102,.16);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-align: center;
    transform: rotate(38deg);
}
.release-dossier-mark {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: #a9b1a8;
    font-family: "Courier New", monospace;
    font-size: 11px;
    letter-spacing: .13em;
}
.release-dossier-mark span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--accent-2);
    box-shadow: 0 0 0 5px rgba(166,201,102,.09), 0 0 18px rgba(166,201,102,.45);
    animation: release-lock-pulse 1.8s ease-in-out infinite;
}
.release-countdown-detail { margin-top: 16px; }
.release-countdown-detail > span { min-width: 92px; padding: 13px 15px 11px; }
.release-countdown-detail b { font-size: 36px; }
.case-release-dossier > p {
    margin: 17px 0 0;
    color: #7f887f;
    font-size: 12px;
    line-height: 1.6;
}
.btn-release-locked,
.btn-release-locked:disabled {
    opacity: .58;
    cursor: not-allowed;
    filter: grayscale(.35);
    transform: none;
}
@keyframes release-lock-pulse {
    0%,100% { opacity: 1; transform: scale(1); }
    50% { opacity: .45; transform: scale(.82); }
}

@media (max-width: 760px) {
    .release-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
    .release-countdown { width: 100%; gap: 4px; }
    .release-countdown > span { min-width: 0; flex: 1; padding-inline: 5px; }
    .release-countdown > i { font-size: 12px; }
    .release-countdown b { font-size: 20px; }
    .release-countdown-hero b,
    .release-countdown-detail b { font-size: 23px; }
    .hero-release-panel,
    .case-release-dossier { padding: 17px 15px 19px; }
    .case-release-dossier::after { display: none; }
    .case-card.is-scheduled::after { top: 18px; right: -43px; }
}

/* PATCH 099 — administração das notificações do painel */
.notifications-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.notification-card-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.notification-card-actions form{margin:0}
.btn-danger{border-color:#8e2f37!important;background:#2a0d11!important;color:#ff9ca5!important}
.btn-danger:hover,.btn-danger:focus-visible{border-color:#d64d58!important;background:#3a1015!important;color:#fff!important}
.btn-small{min-height:38px;padding:0 14px;font-size:12px}
.leak-feed-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.leak-feed-header h2{margin-bottom:0!important}
.leak-feed-header form{margin:0}
@media(max-width:760px){.notifications-heading,.leak-feed-header{align-items:stretch;flex-direction:column}.notification-card-actions{align-items:stretch;flex-direction:column;width:100%}.notification-card-actions form,.notification-card-actions .btn,.leak-feed-header form,.leak-feed-header .btn{width:100%}}

/* PATCH 101 — filtro da loja, carregamento progressivo e transição de cenas */
.store-equipment-filter{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin:0 0 22px;
    padding:16px 18px;
    border:1px solid var(--line);
    background:rgba(8,12,9,.72);
}
.store-equipment-filter label{display:grid;gap:7px;min-width:min(360px,100%)}
.store-equipment-filter label>span{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.store-equipment-filter select{min-height:46px;padding:0 42px 0 14px;border:1px solid var(--line);background:#090d0a;color:#fff}
.store-equipment-filter small{color:var(--muted);font-size:12px}
.page-investigacao{scroll-padding-top:calc(var(--header-h) + 18px)}
@media(max-width:760px){.store-equipment-filter{align-items:stretch;flex-direction:column}.store-equipment-filter label{min-width:0;width:100%}}

/* Patch 105 — preferências de comunicação */
.communication-settings-card { border-color: rgba(168,207,99,.28); }
.communication-settings-card.is-disabled { border-color: rgba(214,77,88,.55); }
.communication-status { display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--line); background:rgba(255,255,255,.015); }
.communication-status span { width:10px; height:10px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(168,207,99,.08); }
.communication-status strong { color:#dbe5d7; font-size:13px; letter-spacing:.04em; }
.communication-settings-card small,
.communication-essential-note { color:#747d73; line-height:1.55; }

.communication-preferences-page { min-height:78vh; padding:150px 24px 80px; display:grid; place-items:start center; }
.communication-preferences-container { width:min(760px,100%); }
.communication-preferences-card { display:grid; gap:22px; padding:42px; border:1px solid var(--line); background:rgba(8,11,9,.96); box-shadow:0 30px 80px rgba(0,0,0,.28); }
.communication-preferences-card h1 { margin:0; font-size:clamp(36px,6vw,64px); line-height:.98; }
.communication-preferences-card > p { margin:0; color:#9ba39a; font-size:17px; line-height:1.7; }
.communication-warning,
.communication-note { padding:22px 24px; border:1px solid rgba(214,77,88,.55); background:rgba(53,13,18,.34); }
.communication-note { border-color:rgba(168,207,99,.32); background:rgba(22,34,17,.45); }
.communication-warning strong,
.communication-note strong { display:block; margin-bottom:8px; color:#f1f4ef; }
.communication-warning p,
.communication-note p { margin:0; color:#a7afa5; line-height:1.65; }
.communication-warning ul { margin:12px 0; padding-left:22px; color:#c8cec5; line-height:1.8; }
.communication-confirm-form { display:flex; flex-wrap:wrap; gap:12px; }

@media (max-width:700px) {
    .communication-preferences-page { padding:120px 16px 56px; }
    .communication-preferences-card { padding:28px 20px; }
    .communication-confirm-form .btn { width:100%; justify-content:center; }
}

/* PATCH 110 — pagamento Pix Efí */
.pix-payment-page{min-height:82vh;padding:138px 24px 86px}
.pix-payment-header{align-items:flex-end}
.pix-payment-shell{margin-top:28px}
.pix-payment-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);border:1px solid var(--line);background:rgba(6,9,7,.94)}
.pix-qr-panel,.pix-copy-panel{padding:34px}
.pix-qr-panel{border-right:1px solid var(--line);background:rgba(168,207,99,.025)}
.pix-qr-panel>small,.pix-copy-panel>small,.pix-payment-result small{display:block;margin-bottom:12px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.16em}
.pix-qr-frame{display:grid;place-items:center;min-height:320px;padding:22px;background:#fff;border:8px solid rgba(255,255,255,.05)}
.pix-qr-frame img{display:block;width:min(100%,330px);height:auto;aspect-ratio:1;object-fit:contain}
.pix-qr-missing{color:#171b18;text-align:center}
.pix-timer{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:end;margin-top:20px;padding:18px;border:1px solid var(--line)}
.pix-timer small{grid-column:1;color:var(--muted);font-size:10px;letter-spacing:.14em}
.pix-timer strong{grid-column:1;color:var(--accent);font-size:clamp(32px,5vw,52px);line-height:1;font-variant-numeric:tabular-nums}
.pix-timer span{grid-column:2;grid-row:1/3;align-self:center;color:var(--muted);font-size:12px}
.pix-copy-panel{display:flex;flex-direction:column;align-items:stretch}
.pix-copy-panel h2{margin:0 0 12px;font-size:clamp(28px,4vw,48px);line-height:1.05}
.pix-copy-panel>p{margin:0 0 24px;color:var(--muted);line-height:1.7}
.pix-copy-panel label{margin-bottom:8px;color:#dbe3d9;font-size:12px;font-weight:800}
.pix-copy-panel textarea{width:100%;min-height:156px;resize:none;padding:16px;border:1px solid var(--line);background:#070a08;color:#dce6d9;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
.pix-copy-panel>.btn{margin-top:12px;justify-content:center}
.pix-payment-status{display:flex;align-items:center;gap:14px;margin:24px 0 4px;padding:16px 18px;border:1px solid rgba(168,207,99,.28);background:rgba(168,207,99,.045)}
.pix-payment-status strong,.pix-payment-status small{display:block}
.pix-payment-status small{margin-top:3px;color:var(--muted)}
.pix-status-pulse{width:12px;height:12px;flex:0 0 auto;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(168,207,99,.42);animation:pix-status-pulse 1.8s infinite}
@keyframes pix-status-pulse{0%{box-shadow:0 0 0 0 rgba(168,207,99,.42)}70%{box-shadow:0 0 0 12px rgba(168,207,99,0)}100%{box-shadow:0 0 0 0 rgba(168,207,99,0)}}
.pix-payment-result{display:flex;align-items:center;gap:28px;padding:42px;border:1px solid var(--line);background:rgba(6,9,7,.94)}
.pix-payment-result.success{border-color:rgba(168,207,99,.42)}
.pix-payment-result.expired{border-color:rgba(214,77,88,.42)}
.pix-result-mark{display:grid;place-items:center;width:74px;height:74px;flex:0 0 auto;border:1px solid currentColor;color:var(--accent);font-size:42px}
.pix-payment-result.expired .pix-result-mark{color:#e76570}
.pix-payment-result h2{margin:0 0 8px;font-size:clamp(28px,4vw,48px)}
.pix-payment-result p{margin:0 0 20px;color:var(--muted)}
.store-order-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid rgba(168,207,99,.38);color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.store-order-action:hover,.store-order-action:focus-visible{background:var(--accent);color:#080b08}
@media(max-width:820px){.pix-payment-page{padding:118px 16px 58px}.pix-payment-grid{grid-template-columns:1fr}.pix-qr-panel{border-right:0;border-bottom:1px solid var(--line)}.pix-qr-panel,.pix-copy-panel{padding:24px}.pix-qr-frame{min-height:260px}.pix-payment-result{align-items:flex-start;flex-direction:column;padding:28px 22px}}
@media(max-width:520px){.pix-timer{grid-template-columns:1fr}.pix-timer span{grid-column:1;grid-row:auto}.pix-copy-panel textarea{font-size:11px}}

/* =========================================================
   PATCH 119 — ORGANIZAÇÃO DOS CARDS DO MEU PERFIL
   Desktop: três linhas equilibradas, sem coluna vazia.
========================================================= */
.account-profile-page .profile-settings-grid {
    grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr);
    grid-template-areas:
        "avatar dados"
        "email senha"
        "comunicacao credencial";
    gap: 24px;
    align-items: stretch;
}

.account-profile-page .profile-settings-column {
    display: contents;
}

.account-profile-page .avatar-settings-card { grid-area: avatar; }
.account-profile-page .profile-data-card { grid-area: dados; }
.account-profile-page .email-settings-card { grid-area: email; }
.account-profile-page .password-settings-card { grid-area: senha; }
.account-profile-page .communication-settings-card { grid-area: comunicacao; }
.account-profile-page .investigator-credential-card { grid-area: credencial; }

.account-profile-page .profile-settings-grid .settings-card {
    min-width: 0;
    height: 100%;
}

.account-profile-page .email-settings-card form,
.account-profile-page .password-settings-card form {
    height: 100%;
}

@media (max-width: 1050px) {
    .account-profile-page .profile-settings-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "avatar"
            "dados"
            "email"
            "senha"
            "comunicacao"
            "credencial";
        gap: 20px;
    }
}
