.games-main{max-width:1600px;margin:0 auto;padding:32px clamp(16px,3vw,48px) 64px}.games-main h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;margin:12px 0}.game-intro{max-width:78ch;color:var(--muted)}.games-navigation,.game-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.games-navigation{margin-bottom:22px}.games-navigation a[aria-current=page]{background:var(--accent-soft);border-color:var(--accent)}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin-top:28px;align-items:stretch}
.game-card{min-width:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--white);display:flex;flex-direction:column;transition:border-color .18s,box-shadow .18s}
.game-card:hover,.game-card:focus-within{border-color:var(--field-border);box-shadow:0 10px 28px #0a203010}
.game-card-visual{position:relative;isolation:isolate;display:grid;place-items:center;flex:0 0 250px;height:250px;padding:24px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 30%,#1b4053,#102332 78%);--game-preview-ink:#b2def4;--game-preview-ink:color-mix(in srgb,var(--accent) 24%,#c2eaff)}
.game-card-visual::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#9acde51c 1px,transparent 1px);background-size:20px 20px;mask-image:radial-gradient(ellipse at center,#000,transparent 85%)}
.game-card-visual svg{display:block;width:220px;height:202px;max-width:100%;fill:none;stroke:var(--game-preview-ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px #73d6ff26)}
.game-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:14px;padding:24px}
.game-card-copy h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em;margin:0;min-height:2.5em}
.game-card-copy p{margin:0;color:var(--muted);line-height:1.6}
.game-card-description{min-height:6.4em;font-size:.92rem}
.game-card-meta{min-height:3.2em;font-size:.8rem}
.game-card-progress{min-height:1.6em;font-size:.8rem}
.game-card-progress:empty{visibility:hidden}
.game-card-copy .primary-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto}
.game-card-copy .primary-button>span{flex-shrink:0}
.game-chip{display:inline-flex;align-items:center;align-self:flex-start;max-width:100%;padding:5px 10px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;line-height:1.5;font-weight:700}
.game-savebar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin:22px 0 14px;padding:18px 20px;border:1px solid var(--line);background:var(--white);border-radius:14px}.game-savebar p{font-size:.85rem;color:var(--muted);margin:4px 0 0}.game-rubric,.game-message{margin:14px 0;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.game-rubric summary{cursor:pointer;font-weight:700;min-height:28px}.game-rubric ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;list-style:none;padding:0}.game-rubric li{font-size:.9rem}.game-check-ok{color:var(--success-text)}.game-note{font-size:.8rem;color:var(--muted)}.game-message[role=alert]{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.game-stage{--wash:var(--soft);--wash-2:var(--accent-soft);--ink-2:var(--muted);--ink-3:var(--muted);--ok:var(--success-text);--ok-bg:var(--success-bg);--ko:var(--warning-text);--ko-bg:var(--warning-bg);--r-s:6px;--r-m:10px;--r-l:16px;--c-inf:var(--accent);--c-tps:var(--accent);--c-sta:#b88023;--mono:ui-monospace,monospace}.game-stage .pc{min-width:0}.game-stage button,.game-stage select{font:inherit;color:inherit}.game-stage .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);cursor:pointer;min-height:40px;text-decoration:none;font-size:.9rem}.game-stage .btn--primario{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.game-stage .btn--testo{background:transparent}.game-stage button:disabled{cursor:default;opacity:.55}.game-stage button:focus-visible,.game-stage select:focus-visible,.game-stage summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.game-stage .schede{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.game-stage .scheda{padding:10px 18px;border:1px solid var(--line);border-radius:8px;background:var(--white);cursor:pointer;min-height:44px}.game-stage .scheda[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}.pc-keyboard{border:1px solid var(--line);padding:10px;border-radius:8px;background:var(--white);font-size:.85rem}.pc-keyboard summary{cursor:pointer}.pc-keyboard select{display:block;width:100%;padding:8px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:6px}.game-stage[inert]{opacity:.65}.game-home-link{margin:14px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:22px;border:1px solid var(--line);background:var(--accent-soft);border-radius:16px}.game-home-link h2{margin:0 0 4px;font-size:1.4rem}.game-home-link p{margin:0;color:var(--muted)}.game-stage .pc-foto figcaption{font-size:.75rem}.game-stage .pc-scena-cornice{min-width:0}
@media(min-width:1200px){.game-stage .pc-gioco{grid-template-columns:minmax(0,1.9fr) minmax(350px,1fr)}.game-stage .pc-vista--3d{height:clamp(480px,66vh,760px)}.game-stage .pc-colonna-pezzi{max-height:calc(100vh - 130px)}}
@media(max-width:650px){.game-card-visual{flex-basis:210px;height:210px;padding:20px}.game-card-visual svg{width:185px;height:170px}.game-card-copy{padding:20px;gap:12px}.game-card-description,.game-card-meta,.game-card-copy h2{min-height:0}.game-savebar{padding:14px}.games-main{padding-top:22px}.game-actions>*{flex:1 1 auto}.game-stage .pc-vista--3d{min-height:310px}.game-rubric ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.game-stage *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Studio di assemblaggio: controls and work surface share the school's theme. */
.games-main--simulator{max-width:1800px;padding-top:20px}.games-main--simulator h1{font-size:clamp(2rem,3vw,2.65rem);letter-spacing:-.035em}.games-main--simulator .games-navigation{margin-bottom:14px}.games-main--simulator>.game-intro{max-width:100ch;font-size:.95rem;margin-bottom:12px}.games-main--simulator .game-savebar{padding:12px 18px;margin:18px 0 10px}.games-main--simulator .game-rubric{padding:12px 18px;margin:10px 0}.game-stage .pc-gioco{gap:20px}.game-stage .pc-colonna-pezzi{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--white);scrollbar-width:thin;scrollbar-color:var(--field-border) transparent;scroll-padding-block:16px}.game-stage .pc-colonna-scena{gap:12px}.game-stage .pc-vista--3d{border-radius:20px;border-color:color-mix(in srgb,var(--line) 80%,var(--accent));box-shadow:0 12px 32px #142b3e12;isolation:isolate}.game-stage .pc-scene-heading{position:absolute;z-index:3;top:14px;left:18px;right:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.pc-scene-heading>div{display:grid;grid-template-columns:8px 1fr;gap:3px 9px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;background:color-mix(in srgb,var(--white) 94%,transparent);color:var(--ink);box-shadow:0 4px 14px #0b1e3010;max-width:calc(100% - 54px)}.pc-scene-heading strong{font-size:.82rem;letter-spacing:.01em}.pc-scene-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:6px;box-shadow:0 0 0 3px var(--accent-soft)}.pc-scene-caption{grid-column:2;font-size:.7rem;color:var(--muted)}.game-stage .pc-expand{pointer-events:auto;display:flex;align-items:center;gap:7px;padding:9px 12px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);box-shadow:0 4px 14px #0b1e3010;cursor:pointer;font-size:.78rem;font-weight:650}.pc-expand svg,.game-stage .pc-strumenti svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.game-stage .pc-expand:hover{border-color:var(--accent);color:var(--accent)}.game-stage .pc-strumenti{position:absolute;z-index:3;top:auto;left:50%;right:auto;bottom:16px;transform:translateX(-50%);display:flex;flex-wrap:nowrap;align-items:center;gap:3px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 6px 24px #0a1d3024;width:max-content;max-width:calc(100% - 24px)}.game-stage .pc-strumenti button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:42px;min-height:44px;border:0;border-radius:9px;padding:8px;background:transparent;color:var(--muted);font-size:.75rem;flex-shrink:0}.game-stage .pc-strumenti button:hover{background:var(--accent-soft);color:var(--accent)}.game-stage .pc-strumenti .pc-camera-reset{padding-inline:10px}.pc-camera-divider{height:20px;width:1px;background:var(--line);margin-inline:3px}.game-stage .pc-aiuto-scena{top:auto;left:20px;right:auto;bottom:85px;margin:0;padding:5px 9px;border-radius:6px;max-width:calc(100% - 40px);background:var(--white);color:var(--muted);font-size:.68rem;pointer-events:none;opacity:.9}.game-stage .pc-render-warning{position:relative;margin:100px 20px 80px;padding:16px;border-radius:12px;background:var(--warning-bg);color:var(--warning-text)}.game-stage .pc-barra{padding:0 0 12px;border-bottom:1px solid var(--line);gap:10px}.game-stage .pc-interruttore{font-size:.78rem;gap:6px}.game-stage .pc-barra>.btn{margin-left:auto;min-height:36px;font-size:.75rem;padding:7px 10px}.game-stage .pc-guida{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:12px;padding:14px;background:var(--accent-soft);gap:8px}.game-stage .pc-guida__testa{align-items:center;font-size:.65rem;gap:12px}.game-stage .pc-guida__fase{letter-spacing:.1em;color:var(--accent)}.game-stage .pc-guida__avanzamento{padding:4px 7px;border-radius:6px;background:var(--white);font-size:.66rem;font-weight:650;white-space:nowrap}.game-stage .pc-guida>strong{font-size:.95rem;line-height:1.35}.game-stage .pc-guida p{font-size:.82rem;line-height:1.5}.pc-guide-progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:var(--white);accent-color:var(--accent)}.pc-guide-progress::-webkit-progress-bar{background:var(--white)}.pc-guide-progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.pc-guide-progress::-moz-progress-bar{background:var(--accent);border-radius:5px}.game-stage .pc-guida .btn{min-height:30px;font-size:.74rem;padding:3px 0;background:transparent;border:0}.game-stage .pc-gruppo__testa{border-radius:10px;background:var(--soft);border-color:transparent;min-height:44px;font-size:.85rem;padding:10px 12px;transition:background .16s,border-color .16s}.game-stage .pc-gruppo__testa:hover{border-color:var(--field-border)}.game-stage .pc-gruppo__testa[aria-expanded=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--line)}.game-stage .pc-gruppo__testa--consigliata{box-shadow:inset 3px 0 0 var(--accent)}.game-stage .pc-gruppo__n{min-width:23px;min-height:23px;display:grid;place-items:center;border-radius:6px;font-size:.72rem;background:var(--white);color:var(--muted);font-weight:650}.game-stage .pc-lista{gap:10px}.game-stage .pc-pezzo-scheda{border-radius:12px;padding:13px;background:var(--white);box-shadow:0 2px 4px #142b3e05;transition:border-color .16s,box-shadow .16s}.game-stage .pc-pezzo-scheda:hover{border-color:var(--field-border);box-shadow:0 4px 14px #142b3e0d}.game-stage .pc-pezzo-scheda--mano{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.game-stage .pc-pezzo-scheda__riga{grid-template-columns:100px minmax(0,1fr);gap:12px}.game-stage .pc-mini{width:100px;height:84px;padding:5px;border:1px solid var(--line);border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#f1f5f8,#d5e0e8)}.game-stage .pc-pezzo-scheda__testo>strong{font-size:.87rem;line-height:1.35}.game-stage .pc-pezzo-scheda__testo p{font-size:.77rem;line-height:1.45}.game-stage .pc-marca{font-size:.69rem;color:var(--accent);font-weight:650}.game-stage .pc-chip-lista{gap:5px}.game-stage .pc-chip-lista li{font-size:.65rem;padding:4px 6px;border-radius:5px;background:var(--soft);color:var(--muted)}.game-stage .pc-azioni{gap:6px}.game-stage .pc-azioni .btn{font-size:.75rem;padding:8px 10px}.game-stage .pc-attrezzi{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--white);gap:8px}.game-stage .pc-attrezzi .btn{flex:1 1 auto;font-size:.77rem;min-height:40px}.game-stage .pc-lente{top:94px;right:16px;border-radius:14px;box-shadow:0 10px 28px #0a1d3033}.game-stage .pc--pieno,.game-stage .pc--finto{padding:18px;background:var(--paper)}
@media(min-width:1200px){.game-stage .pc-gioco{grid-template-columns:minmax(0,1fr) minmax(360px,410px)}.game-stage .pc-vista--3d{height:clamp(470px,62vh,720px)}.game-stage .pc-colonna-pezzi{max-height:calc(62vh + 125px);min-height:470px}.game-stage .pc--pieno .pc-vista--3d,.game-stage .pc--finto .pc-vista--3d{height:calc(100dvh - 155px)}.game-stage .pc--pieno .pc-colonna-pezzi,.game-stage .pc--finto .pc-colonna-pezzi{max-height:calc(100dvh - 76px)}}
@media(max-width:900px){.game-stage .pc-colonna-pezzi{padding:12px}.pc-scene-caption{display:none}.game-stage .pc-expand span{display:none}.game-stage .pc-aiuto-scena{display:none}.game-stage .pc-scene-heading{left:12px;top:12px;right:12px}.game-stage .pc-strumenti{bottom:12px}.game-stage .pc-strumenti button{min-width:36px;min-height:44px;padding:7px}.game-stage .pc-strumenti .pc-camera-reset span{display:none}.pc-camera-divider{margin-inline:1px}.game-stage .pc-colonna-pezzi{max-height:none}}
@media(max-width:450px){.game-stage .pc-pezzo-scheda__riga{grid-template-columns:82px minmax(0,1fr)}.game-stage .pc-mini{width:82px;height:74px}.game-stage .pc-scene-heading>div{padding:8px 10px}.game-stage .pc-strumenti{gap:1px;padding:4px}.game-stage .pc-strumenti button{min-width:32px;padding:6px}.game-stage .pc-camera-divider{margin:0}.game-stage .pc-guida__testa{flex-wrap:wrap;gap:5px}.game-stage .pc-strumenti .pc-camera-reset{padding-inline:7px}}
.game-stage[inert]{opacity:1}.game-stage .pc-pezzo-scheda--montato{opacity:1;background:var(--soft);border-style:dashed}
.game-stage .pc-messaggio{position:relative;top:auto;bottom:auto;left:auto;right:auto;z-index:auto;margin-top:10px;padding:12px 46px 12px 15px;border-radius:12px;box-shadow:none;font-size:.82rem;min-height:0}.game-stage .pc-message-close{position:absolute;right:8px;top:6px;display:grid;place-items:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:7px;color:inherit;font-size:1.2rem;cursor:pointer}.game-stage .pc-message-close:hover{border-color:currentColor}.game-stage .pc-scena-cornice{display:flex;flex-direction:column;gap:0}
/* Preview presentation is shared by all cards, regardless of game type. */
@media(prefers-reduced-motion:reduce){.game-card{transition:none}}

/* Native links keep preview activation available to mouse, touch and keyboard. */
.game-card-visual{text-decoration:none;cursor:pointer}
.game-card-visual:focus-visible{outline:3px solid var(--game-preview-ink);outline-offset:-6px}
/* Teacher switch on each game card and notices for disabled games. */
.game-switch{position:relative;display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;cursor:pointer;font-size:.82rem;font-weight:700;color:var(--ink)}
.game-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.game-switch-track{position:relative;flex:none;width:42px;height:24px;border-radius:999px;background:var(--line);border:1px solid var(--field-border);transition:background .15s}
.game-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}
.game-switch input:checked+.game-switch-track{background:var(--accent);border-color:var(--accent)}
.game-switch input:checked+.game-switch-track::after{transform:translateX(18px)}
.game-switch input:focus-visible+.game-switch-track{outline:3px solid var(--accent);outline-offset:2px}
.game-switch input:disabled+.game-switch-track{opacity:.6;cursor:wait}
.game-card.is-disabled .game-card-visual,.game-card.is-disabled .game-card-copy>:not(.game-switch){opacity:.5;filter:grayscale(.6)}
.game-disabled-notice{max-width:640px;margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.game-disabled-notice h1{margin-top:0}
.game-disabled-banner{margin:0 0 16px;padding:12px 16px;border:1px solid var(--warning-border,var(--line));border-radius:12px;background:var(--warning-bg,var(--soft));color:var(--warning-text,var(--ink));font-size:.88rem}
@media(prefers-reduced-motion:reduce){.game-switch-track,.game-switch-track::after{transition:none}}

.game-catalog-tools{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end;background:var(--white);border:1px solid var(--line);padding:20px;border-radius:16px;margin-top:24px}.game-catalog-tools label{display:grid;gap:7px;font-size:.875rem;font-weight:700;flex:1 1 280px}.game-catalog-tools input{width:100%;min-height:46px;border:1px solid var(--field-border);background:var(--white);color:var(--ink);border-radius:9px;padding:10px 12px;font:inherit}.game-catalog-tools p{width:100%;color:var(--muted);font-size:.85rem;margin:0}.game-search-empty{padding:24px;border:1px dashed var(--field-border);border-radius:14px;color:var(--muted);background:var(--white)}.game-catalog-tools[hidden],.game-search-empty[hidden],.games-grid .game-card[hidden]{display:none!important}
