/* V12.2 — card arcade: módulo adicional, sem alterações nos cards de projetos. */
.container > .arcade-launch{padding:0!important;overflow:hidden;min-width:0;}
.arcade-launch-button{appearance:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(12px,3vw,36px);width:100%;min-height:285px;padding:clamp(22px,4.2vw,48px);border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;}
.arcade-launch-copy{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}
.arcade-launch .id-num{font-size:clamp(18px,2.8vw,29px);font-weight:800;line-height:1.1}
.arcade-launch-title{font-family:var(--font-bold),sans-serif;font-weight:900;font-size:clamp(29px,5.5vw,70px);line-height:.96;letter-spacing:-.065em;overflow-wrap:anywhere}
.arcade-launch-subtitle{font-family:var(--font-pixel),monospace;font-size:clamp(21px,2.8vw,31px);letter-spacing:.05em;line-height:1.1}
.arcade-launch-desc{max-width:650px;font-family:var(--font-pixel),monospace;font-size:clamp(19px,2vw,23px);line-height:1.2;text-transform:none}
.arcade-launch-cta{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border:3px solid currentColor;font:800 clamp(14px,1.5vw,18px)/1.2 var(--font-bold);white-space:nowrap;margin-top:8px}
.arcade-launch-cta svg{display:inline-block;width:22px;height:22px;stroke:currentColor;stroke-width:3;stroke-linecap:square;fill:none}
.arcade-launch-button:hover .arcade-launch-cta,.arcade-launch-button:focus-visible .arcade-launch-cta{background:rgba(0,0,0,.12)}
.arcade-launch-button:hover .arcade-launch-cta svg,.arcade-launch-button:focus-visible .arcade-launch-cta svg{filter:drop-shadow(0 0 0 currentColor)}
.arcade-launch-button:focus-visible{outline:4px dashed #ff3867;outline-offset:-9px}
.arcade-card-preview{width:100%;max-width:390px;aspect-ratio:320/176;min-width:0;justify-self:end;background:#060814;border:4px solid currentColor;image-rendering:pixelated;object-fit:cover;box-shadow:10px 10px 0 rgba(0,0,0,.12)}
body.theme-active .arcade-launch .arcade-launch-button{color:inherit!important;opacity:1;filter:none}
body.theme-active .arcade-launch .arcade-card-preview{border-color:var(--scene-focus-ink)!important}
/* Modal arcade: tema próprio, deliberadamente isolado da paleta global de hover. */
.arcade-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 20px));max-width:calc(100vw - 20px);max-height:calc(100dvh - 18px);padding:0;margin:auto;border:5px solid #f9f9f9;background:#080a14;color:#fff;box-shadow:12px 12px 0 #000;overflow:auto;overscroll-behavior:contain;position:fixed;text-transform:none;}
.arcade-dialog::backdrop{background:rgba(0,0,0,.90);backdrop-filter:blur(4px)}
.arcade-dialog *{box-sizing:border-box}
.arcade-dialog button{font:800 14px/1.2 var(--font-bold),monospace;cursor:pointer;border-radius:0;touch-action:manipulation}
.arcade-dialog button:focus-visible{outline:3px dashed #ffe35d;outline-offset:3px}
.arcade-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;background:#0d1221;border-bottom:3px solid #fff;position:relative}
.arcade-dialog-title{font:800 clamp(17px,3.6vw,25px)/1.15 var(--font-bold);letter-spacing:-.03em}
.arcade-close{flex:none;padding:8px 13px;border:2px solid #fff;background:transparent;color:#fff}
.arcade-close:hover{background:#fff;color:#080a14}
.arcade-stage{padding:12px 14px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.arcade-hud{width:min(100%,448px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:7px;color:#fff;font:800 13px/1.3 var(--font-pixel),monospace;text-align:center}
.arcade-hud span{display:block;font-size:clamp(17px,3.1vw,23px);color:#67f0d0}
.arcade-hud strong{display:block;font-size:clamp(17px,3.2vw,25px);color:#fff;font-family:var(--font-pixel),monospace}
.arcade-canvas-wrap{position:relative;width:min(100%,448px);aspect-ratio:448/520;max-height:none;border:3px solid #6fe8e5;background:#02040a;overflow:hidden}
.arcade-canvas{display:block;width:100%;height:100%;background:#02040a;image-rendering:pixelated;touch-action:none}
.arcade-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:18px;background:rgba(0,0,0,.79);color:#fff}
.arcade-overlay[hidden]{display:none!important}
.arcade-overlay h3{font:900 clamp(25px,5vw,42px)/1 var(--font-bold);color:#67f0d0;text-shadow:3px 3px #153b45;letter-spacing:-.05em;margin:0}
.arcade-overlay p{font:normal clamp(18px,4vw,25px)/1.1 var(--font-pixel);max-width:320px;white-space:normal}
.arcade-primary{padding:13px 20px;min-height:48px;background:#67f0d0;color:#061120;border:3px solid #fff;box-shadow:5px 5px 0 #121e28}
.arcade-primary:hover,.arcade-primary:focus-visible{background:#fff;color:#061120}
.arcade-controls{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:448px;user-select:none;-webkit-user-select:none}
.arcade-control{flex:1;max-width:128px;min-height:56px;background:#101a2e;color:#fff;border:3px solid #60e0d3!important;touch-action:none!important;-webkit-tap-highlight-color:transparent;font-size:18px!important;}
.arcade-control.is-held,.arcade-control:active{background:#60e0d3;color:#07121a}
.arcade-control.fire{background:#ff426b;border-color:#ffe0eb!important;color:#fff;font-size:16px!important;max-width:150px}
.arcade-control.fire.is-held,.arcade-control.fire:active{background:#ffd749;color:#161217}
.arcade-footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;width:min(100%,448px)}
.arcade-help{font:normal 18px/1.2 var(--font-pixel);color:#a3bdd4;margin:0;max-width:300px}
.arcade-pause{padding:7px 10px;background:transparent;color:#fff;border:2px solid #fff;font-size:12px!important;min-height:38px}
.arcade-pause:hover{background:#fff;color:#0a1320}
.arcade-pause:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:768px){
 .arcade-launch-button{grid-template-columns:minmax(0,1fr);padding:24px 20px;gap:20px}
 .arcade-launch-title{font-size:clamp(30px,8.1vw,53px)}
 .arcade-card-preview{max-width:100%;width:100%;box-shadow:6px 6px 0 rgba(0,0,0,.1)}
 .arcade-dialog{width:calc(100vw - 14px);max-width:calc(100vw - 14px);max-height:calc(100dvh - 10px);border-width:3px;box-shadow:none}
 .arcade-dialog-head{padding:9px 11px}
 .arcade-stage{padding:9px;gap:8px}
 .arcade-canvas-wrap{width:min(100%,min(340px,calc((100dvh - 280px)*.8615)));min-width:min(100%,245px)}
 .arcade-controls{gap:7px}
 .arcade-control{min-height:55px;max-width:none}
 .arcade-hud{font-size:11px;gap:4px}
 .arcade-hud span{font-size:17px}
 .arcade-hud strong{font-size:20px}
 .arcade-help{font-size:15px}
}
@media(max-height:650px){.arcade-dialog{max-height:calc(100dvh - 8px)}.arcade-canvas-wrap{width:min(100%,calc((100dvh - 225px)*.8615))}.arcade-controls .arcade-control{min-height:46px}}
@media(prefers-reduced-motion:reduce){.arcade-launch,.arcade-launch *{transition:none!important;animation:none!important}}
