:root{
  --g:#0B0B0B;--c:#1F1F1F;--iv:#F7F5EE;--gr:#D3D0C9;--au:#B88B4F;
  --mut:#9E998F;--line:rgba(247,245,238,.12);--soft:rgba(184,139,79,.11)
}
*{box-sizing:border-box}
html{background:var(--g)}
.joaquim-body{margin:0;min-height:100vh;background:
radial-gradient(circle at 50% -10%,#2a2118 0,#111 34%,#090909 68%,#070707 100%);
color:var(--iv);font-family:Inter,system-ui,sans-serif}
button,input{font:inherit}
button{touch-action:manipulation}
.game-shell{width:min(100% - 16px,620px);margin:0 auto;padding:8px 0 24px}
.screen{min-height:calc(100svh - 16px);border:1px solid var(--line);border-radius:24px;
background:rgba(14,14,14,.96);box-shadow:0 26px 70px rgba(0,0,0,.35);overflow:hidden}
.hidden{display:none!important}
.brandline,.step-label{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--au)}
.cta{border:0;border-radius:999px;background:var(--au);color:var(--g);min-height:52px;padding:14px 24px;font-weight:800;cursor:pointer}
.cta.full{width:100%;margin-top:18px}.cta.link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.secondary{width:100%;min-height:48px;border-radius:999px;border:1px solid rgba(247,245,238,.2);background:transparent;color:var(--iv);font-weight:700}
.intro-screen{display:grid;grid-template-rows:minmax(280px,45svh) 1fr}
.intro-art{overflow:hidden;background:#ead8b7;position:relative}
.intro-art:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(14,14,14,.42))}
.intro-art img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.intro-copy{padding:26px 22px 30px}
.intro-copy h1{font-size:clamp(3rem,14vw,5.4rem);line-height:.88;letter-spacing:-.07em;margin:12px 0 20px}
.intro-copy h1 span{color:var(--au)}
.intro-copy>p{font-size:1.06rem;line-height:1.55;color:var(--gr);margin:0 0 14px}
.intro-note{font-size:.9rem;line-height:1.5;color:#d8bd98;background:var(--soft);border:1px solid rgba(184,139,79,.25);
border-radius:14px;padding:12px 14px;margin-bottom:22px}
.game-screen,.result-screen,.final-screen{padding:20px 18px 24px}
.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.topbar h2,.result-screen h2,.final-screen h2{margin:7px 0 0;line-height:.95;letter-spacing:-.05em}
.topbar h2{font-size:clamp(2rem,9vw,3.4rem)}
.profit-mini{text-align:right;flex:none}.profit-mini span{display:block;font-size:.72rem;color:var(--mut)}.profit-mini strong{display:block;color:var(--au);font-size:1.05rem;margin-top:3px}
.progress{height:3px;background:#252525;border-radius:99px;overflow:hidden;margin:18px 0}
.progress i{display:block;height:100%;width:25%;background:var(--au);transition:width .28s}
.character-strip{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center;margin-bottom:14px}
.character-strip img{width:88px;height:88px;object-fit:cover;object-position:50% 37%;border-radius:18px;background:#ead8b7;border:1px solid rgba(247,245,238,.12)}
.speech{min-height:72px;border-radius:18px 18px 18px 6px;border:1px solid var(--line);background:#111;padding:14px 15px;
display:flex;align-items:center;font-weight:700;line-height:1.35}
.context-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;margin-bottom:12px}
.context-chips::-webkit-scrollbar{display:none}.context-chips span{flex:none;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:var(--gr);font-size:.78rem}
.data-card,.campaign-card{border:1px solid var(--line);border-radius:18px;background:#101010;padding:14px;margin-bottom:14px}
.data-card.empty{display:none}
.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.datum{border-radius:14px;background:#161616;padding:12px 10px;min-width:0}
.datum span{display:block;color:var(--mut);font-size:.67rem;line-height:1.25;margin-bottom:6px}
.datum strong{display:block;font-size:1.18rem;line-height:1.05;overflow-wrap:anywhere}
.datum.gold strong{color:var(--au)}
.micro-note{margin-top:10px;color:#d9c2a1;font-size:.78rem;line-height:1.45;padding:10px 11px;border-radius:12px;background:var(--soft)}
.campaign-title{font-size:.78rem;font-weight:800;margin-bottom:10px}.campaign-options{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.campaign-options::-webkit-scrollbar{display:none}.campaign-option{flex:0 0 77%;min-height:92px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#151515;color:var(--iv);padding:12px;cursor:pointer}
.campaign-option b{display:block;font-size:.9rem;margin-bottom:5px}.campaign-option span{display:block;font-size:.72rem;line-height:1.35;color:var(--mut)}
.campaign-option.is-selected{border-color:var(--au);background:var(--soft)}
.campaign-impact{margin-top:9px;font-size:.76rem;color:#d8bd98}
.decision-block{padding-top:2px}.decision-block>label{display:block;font-weight:800;font-size:.88rem;margin-bottom:8px}
.quantity{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px}
.qty-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(247,245,238,.18);background:#171717;color:var(--iv);font-size:1.45rem;font-weight:700}
.qty-center{text-align:center}.qty-center strong{font-size:3rem;letter-spacing:-.06em;color:var(--au)}.qty-center span{font-size:.82rem;color:var(--mut);margin-left:5px}
.range{width:100%;accent-color:var(--au);margin:8px 0 0}
.result-screen{display:flex;flex-direction:column;justify-content:center}
.reaction{font-size:4rem;margin-bottom:10px}.result-screen h2{font-size:clamp(2.7rem,13vw,4.8rem);margin-bottom:22px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.metric{border:1px solid var(--line);background:#111;border-radius:15px;padding:13px 10px;min-width:0}
.metric span{display:block;color:var(--mut);font-size:.68rem;margin-bottom:7px;line-height:1.2}.metric strong{display:block;font-size:1.15rem;line-height:1.05;overflow-wrap:anywhere}
.metric.good strong{color:#8DC2A3}.metric.bad strong{color:#E9958E}
.lesson{border-left:3px solid var(--au);background:var(--soft);padding:14px 14px 14px 15px;border-radius:0 14px 14px 0;color:#e4d3bc;line-height:1.55;font-size:.92rem}
.lesson strong{color:var(--iv)}
.final-screen{display:flex;flex-direction:column;justify-content:center}
.final-art{width:116px;height:116px;border-radius:24px;overflow:hidden;background:#ead8b7;margin-bottom:18px}.final-art img{width:100%;height:100%;object-fit:cover;object-position:50% 36%}
.final-screen h2{font-size:clamp(2.8rem,13vw,5.2rem);margin-bottom:14px}.final-score{color:var(--gr);font-size:1rem;line-height:1.5}
.final-screen blockquote{margin:24px 0 18px;border-left:4px solid var(--au);padding-left:15px;font-size:clamp(1.6rem,7vw,2.6rem);line-height:1.08;color:#e3c08d;font-weight:700}
.bridge{line-height:1.6;color:var(--gr);font-size:.95rem}.examples{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 22px}.examples span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.74rem;color:var(--gr)}
.gsa-box{background:var(--iv);color:var(--g);border-radius:18px;padding:18px;margin-bottom:12px}.gsa-box strong{font-size:1rem}.gsa-box p{color:#5b554d;line-height:1.5;margin:7px 0 14px}
@media(min-width:760px){.game-shell{width:min(100% - 40px,860px);padding:20px 0}.screen{min-height:auto}.intro-screen{grid-template-columns:1fr 1fr;grid-template-rows:none;min-height:650px}.intro-art{min-height:650px}.intro-copy{display:flex;flex-direction:column;justify-content:center;padding:48px}.game-screen,.result-screen,.final-screen{padding:34px 38px;min-height:660px}.character-strip{grid-template-columns:120px 1fr}.character-strip img{width:120px;height:120px}.data-grid{gap:12px}.datum{padding:15px}.campaign-option{flex-basis:46%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
