/* r3v3ng3 Retro (/retro): libreria a sinistra, BIOS a destra, poi lo schermo del gioco */
#retroApp [hidden],#retroHead[hidden]{display:none!important}
.retro-head{padding-bottom:0}
.retro-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
.retro-drop{position:relative;border:1px dashed var(--line2);border-radius:var(--r);background:rgba(10,17,10,.7);padding:46px 28px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .2s;outline:none}
.retro-drop:hover,.retro-drop:focus-visible,.retro-drop.over{border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.05);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.08)}
.retro-drop-ico{font-size:1.6rem;margin-bottom:10px;text-shadow:0 0 24px rgba(var(--accent-rgb),.35)}
.retro-drop-title{font-size:1.15rem;margin:0 0 8px}
.retro-drop .dim{max-width:520px;margin:0 auto 16px}
.retro-keep{display:inline-flex;align-items:center;gap:8px;color:var(--dim);cursor:pointer}
.retro-keep input{accent-color:var(--accent);width:15px;height:15px;margin:0}
.retro-msg{min-height:1.4em;margin:12px 0 0;color:var(--dim)}
.retro-msg.err{color:var(--err)} .retro-msg.ok{color:var(--accent)}
.retro-side{display:flex;flex-direction:column;gap:18px}
.retro-card{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:16px 18px}
.retro-card p{margin:8px 0 12px}
.retro-card-head{display:flex;justify-content:space-between;gap:10px;color:var(--text);padding-bottom:10px;border-bottom:1px solid var(--line)}
.retro-lib{list-style:none;margin:0;padding:6px 0 0}
.retro-lib li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.retro-lib li:last-child{border-bottom:0}
.retro-lib .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.retro-lib .size{font-family:var(--mono);font-size:.75rem;color:var(--dim2)}
/* scelta del motore: due riquadri, quello attivo acceso */
.retro-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.retro-tile{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.retro-tile:hover{border-color:var(--line2)}
.retro-tile input{position:absolute;opacity:0;pointer-events:none}
.retro-tile:has(input:checked){border-color:rgba(var(--accent-rgb),.7);background:rgba(var(--accent-rgb),.06);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08)}
.retro-tile:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.retro-tile .t-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.retro-tile b{color:var(--text);font-size:.98rem}
.retro-tile:has(input:checked) b{color:var(--accent)}
.t-tag{font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dim2);border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.t-tag.beta{color:#e6b84c;border-color:rgba(230,184,76,.35)}
.t-sub{font-size:.72rem;color:var(--dim2)}
.t-desc{font-size:.8rem;color:var(--dim);line-height:1.4;margin-top:3px}
/* BIOS: quello in uso, grande; i dettagli si aprono solo se servono */
.retro-bios-now{display:flex;align-items:center;gap:12px;margin:14px 0}
.retro-bios-now .dot{width:10px;height:10px;border-radius:50%;background:var(--dim2);flex:none}
.retro-bios-now .dot.on{background:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb),.6)}
.retro-bios-now b{font-size:1.02rem;color:var(--text)}
.retro-more{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.retro-more summary{cursor:pointer;color:var(--dim);font-family:var(--mono);font-size:.78rem;list-style:none}
.retro-more summary::-webkit-details-marker{display:none}
.retro-more summary::before{content:"+ ";color:var(--accent)}
.retro-more[open] summary::before{content:"- "}
.retro-more p{margin:8px 0 0;color:var(--dim);line-height:1.5}
.retro-more b{color:var(--text)}
.retro-more a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.retro-row{display:flex;gap:8px;flex-wrap:wrap}
.btn.sm{height:34px;padding:0 12px;font-size:.82rem;gap:6px}
.btn.icon{width:34px;padding:0}
.retro-play{margin-top:4px}
.retro-play-bar{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.retro-screen{position:relative;width:100%;max-width:min(1040px,calc((100vh - 190px) * 4 / 3));margin:0 auto;aspect-ratio:4/3;background:#000;border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(var(--accent-rgb),.05)}
.retro-screen #game{width:100%;height:100%}
.retro-hint{text-align:center;margin:12px 0 0}
.retro-note{margin-top:34px;padding-top:16px;border-top:1px solid var(--line)}
.retro-note p{margin:0 0 6px;max-width:860px}
.retro-note a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.retro-note a:hover{color:var(--accent)}
.retro-play-bar .btn{width:auto;flex:none}
#padState{margin-left:auto;white-space:nowrap}
#nowPlaying{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:860px){
  .retro-grid{grid-template-columns:1fr}
  .retro-drop{padding:34px 18px}
}
/* telefono in verticale: gioco in alto, comandi touch sotto, tutto nello schermo */
@media (max-width:860px) and (orientation:portrait){
  .retro-screen{aspect-ratio:auto;max-width:none;height:calc(100svh - 150px);min-height:420px;border-radius:0;border-left:0;border-right:0;margin:0 -24px;width:calc(100% + 48px)}
}
@media (pointer:coarse){.retro-hint{display:none}}
