
:root{
  --ink:#181727;--ink2:#35324a;--muted:#6e6a7e;--paper:#fffaf5;--white:#fff;
  --line:rgba(24,23,39,.12);--violet:#7957ff;--aqua:#38cfc2;--peach:#ff846c;
  --sun:#ffc94a;--pink:#ed78b2;--mint:#8de0bd;--blue:#5aa7ff;--red:#f05f67;
  --shadow:0 16px 44px rgba(42,32,74,.10);--softshadow:0 8px 24px rgba(42,32,74,.07);
}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:"Avenir Next","Segoe UI",Inter,system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-height:100%;background:
 radial-gradient(circle at 0 0,rgba(255,201,74,.34),transparent 29rem),
 radial-gradient(circle at 100% 8%,rgba(56,207,194,.25),transparent 30rem),
 radial-gradient(circle at 80% 92%,rgba(237,120,178,.20),transparent 32rem),
 linear-gradient(180deg,#fffdf8 0%,#fff8f5 100%)}
button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit}.shell{width:min(1240px,calc(100% - 28px));margin:0 auto;padding:14px 0 54px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px 18px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--sun),var(--peach) 45%,var(--violet));position:relative;box-shadow:0 9px 24px rgba(123,87,255,.22)}.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:9px;height:9px;top:12px;border-radius:50%;background:#fff}.brand-mark:before{left:11px}.brand-mark:after{right:11px}.brand-mark i,.brand-smile{position:absolute;width:20px;height:9px;border:2px solid #fff;border-top:0;border-left-color:transparent;border-right-color:transparent;border-radius:0 0 16px 16px;left:14px;bottom:10px}.brand-name{font-weight:850;letter-spacing:-.045em;font-size:1.2rem}.brand-sub{display:block;font-size:.72rem;color:var(--muted)}
.pill,.badge{border:1px solid var(--line);background:rgba(255,255,255,.9);padding:9px 13px;border-radius:999px;font-size:.8rem;color:var(--muted);text-decoration:none;box-shadow:0 4px 15px rgba(33,25,66,.04)}.badge{padding:5px 9px;font-size:.66rem;font-weight:800;letter-spacing:.03em}.badge.free{background:#e4f9f0;color:#22614b}.badge.premium{background:#fff0bd;color:#70550b}.badge.reserved{background:#efe7ff;color:#51369d}.badge.pro{background:#e6f0ff;color:#325e9d}
.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:30px;align-items:center;padding:18px 0 34px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:850;font-size:.72rem;color:#776d91}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,7.8vw,6rem);line-height:.9;letter-spacing:-.07em;font-weight:850;margin-bottom:18px}h2{font-size:clamp(2rem,4vw,3.15rem);line-height:1;letter-spacing:-.05em}h3{font-size:1.3rem}.lead{font-size:clamp(1.02rem,2.25vw,1.27rem);line-height:1.48;color:#514d61;font-weight:430;max-width:760px}.hero-art{aspect-ratio:1/1;border-radius:42% 58% 60% 40%/39% 42% 58% 61%;background:linear-gradient(135deg,var(--aqua),var(--violet) 55%,var(--pink));position:relative;box-shadow:0 22px 60px rgba(50,40,80,.17)}.hero-art:before,.hero-art:after{content:"";position:absolute;background:#fff;border-radius:50%;width:9%;height:9%;top:31%}.hero-art:before{left:28%}.hero-art:after{right:28%}.hero-art i{position:absolute;width:29%;height:14%;border:5px solid #fff;border-top:0;border-left-color:transparent;border-right-color:transparent;border-radius:0 0 100px 100px;left:35.5%;top:58%}
.section{padding:25px 0}.filters,.toolbar,.scoreline{display:flex;flex-wrap:wrap;gap:9px}.filters{margin:13px 0 20px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;color:var(--muted);min-height:44px;font-weight:700}.filter.active{background:var(--ink);color:#fff;box-shadow:0 8px 20px rgba(24,23,39,.18)}
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.game-card{--accent:var(--aqua);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 17%,white),rgba(255,255,255,.96) 55%);border-radius:28px;padding:20px;min-height:278px;display:flex;flex-direction:column;position:relative;overflow:hidden;text-decoration:none;box-shadow:var(--softshadow);transition:transform .18s ease,box-shadow .18s ease}.game-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.game-card:before{content:"";position:absolute;width:155px;height:155px;border-radius:50%;right:-48px;top:-52px;background:var(--accent);opacity:.36}.game-card:after{content:"";position:absolute;height:6px;left:20px;right:20px;bottom:0;border-radius:10px 10px 0 0;background:var(--accent);opacity:.9}.game-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--accent);font-size:1.7rem;box-shadow:0 9px 20px color-mix(in srgb,var(--accent) 35%,transparent);position:relative;margin-bottom:12px}.game-card .tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:#6b6379;position:relative}.game-card h3{font-size:1.8rem;margin:22px 0 8px;position:relative;letter-spacing:-.04em}.game-card p{color:#555060;line-height:1.44;font-weight:430;position:relative}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;position:relative}.card-footer{margin-top:auto;display:flex;justify-content:space-between;gap:10px;position:relative}.card-action{font-weight:820}.card-meta{font-size:.75rem;color:var(--muted)}
.panel,.challenge{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:25px;padding:20px;box-shadow:var(--softshadow)}.panel{position:relative}.stack{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field label{display:block;font-size:.75rem;color:var(--muted);margin:0 0 7px 2px;font-weight:650}.field select,.field input,.field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;border-radius:16px;color:var(--ink);min-height:50px;outline:none}.field select:focus,.field input:focus,.field textarea:focus{border-color:color-mix(in srgb,var(--violet) 55%,var(--line));box-shadow:0 0 0 4px rgba(121,87,255,.10)}.btn{border:0;border-radius:17px;padding:13px 17px;min-height:50px;background:var(--ink);color:#fff;font-weight:850;box-shadow:0 8px 20px rgba(24,23,39,.13)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.aqua{background:#c9f6f0;color:#174e48}.btn.red{background:#ffe2e4;color:#8c3038}.btn.soft{background:#eee8ff;color:#4930a8}.btn.sun{background:#fff0b8;color:#684f09}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.48;cursor:not-allowed}.kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#716a7d;font-weight:850}.big{font-size:clamp(1.5rem,4vw,2.45rem);line-height:1.08;letter-spacing:-.04em;font-weight:760;margin:9px 0}.muted{color:var(--muted)}.timer{font-size:clamp(2.3rem,7vw,4.7rem);font-weight:850;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.progress{height:11px;border-radius:999px;background:#eeeaf1;overflow:hidden}.progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--aqua),var(--violet),var(--peach));transform-origin:left center}.scorechip{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.86rem}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-top:14px}.answer{border:1px solid var(--line);background:#fff;border-radius:17px;padding:15px;text-align:left;min-height:54px;font-size:1rem}.feedback{min-height:30px;margin-top:10px;font-weight:720}.notice{border-radius:17px;padding:13px 15px;background:#fff0bb;color:#624b0c;font-size:.92rem;border:1px solid rgba(255,201,74,.4)}.ad-slot{margin:25px 0;border:1px dashed rgba(32,34,49,.15);border-radius:22px;padding:17px;text-align:center;color:#8a8495;font-size:.78rem;background:rgba(255,255,255,.38)}.footer{padding:34px 0 12px;color:#766f83;font-size:.83rem;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.game-hero{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:8px 0 22px}.game-hero h1{font-size:clamp(2.45rem,5.6vw,4.65rem);margin:3px 0 10px}.game-hero .lead{max-width:780px}.game-hero-icon{width:112px;height:112px;border-radius:31px;display:grid;place-items:center;font-size:3.2rem;background:linear-gradient(145deg,var(--gameAccent,var(--aqua)),color-mix(in srgb,var(--gameAccent,var(--aqua)) 50%,white));box-shadow:0 16px 38px color-mix(in srgb,var(--gameAccent,var(--aqua)) 32%,transparent);transform:rotate(3deg)}
body[data-game="flotta"]{--gameAccent:var(--blue)}body[data-game="quinte"]{--gameAccent:var(--violet)}body[data-game="memoria"]{--gameAccent:var(--mint)}body[data-game="quattro"]{--gameAccent:var(--peach)}body[data-game="parole"]{--gameAccent:var(--aqua)}body[data-game="labirinto"]{--gameAccent:var(--sun)}body[data-game="coda"]{--gameAccent:var(--pink)}body[data-game="non-dirlo"]{--gameAccent:var(--aqua)}body[data-game="90"]{--gameAccent:var(--sun)}body[data-game="alibi"]{--gameAccent:var(--blue)}body[data-game="telefono"]{--gameAccent:var(--pink)}body[data-game="staffetta"]{--gameAccent:var(--mint)}body[data-game="chi-e"]{--gameAccent:var(--peach)}body[data-game="codice"]{--gameAccent:var(--violet)}body[data-game="buio"]{--gameAccent:#2c2b4f}
.canvas-wrap{background:#fff;border:1px solid var(--line);border-radius:24px;padding:10px;box-shadow:var(--softshadow);overflow:hidden}.canvas-wrap canvas{display:block;width:100%;max-width:100%;height:auto;margin:auto;touch-action:none;user-select:none}.board{display:grid;gap:6px}.cell{border:1px solid var(--line);background:#fff;border-radius:10px;aspect-ratio:1/1;display:grid;place-items:center;padding:0;min-width:0;touch-action:manipulation}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.price-card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:22px}.mask-img{width:56px!important;height:56px!important;object-fit:contain!important;border-radius:13px!important;background:#fff!important;padding:3px!important}.touch-hint{text-align:center;color:var(--muted);font-size:.86rem;margin:9px 0}.touch-controls{display:grid;grid-template-columns:repeat(4,minmax(58px,76px));gap:10px;justify-content:center;margin-top:13px}.touch-controls .btn{min-width:58px;min-height:58px;font-size:1.35rem;padding:9px}.play-stage{max-width:760px;margin:0 auto}.play-stage.wide{max-width:980px}
.memory-board{display:grid!important;grid-template-columns:repeat(4,minmax(90px,1fr));width:min(760px,100%);max-width:760px;margin:auto;gap:12px}.memory-card{aspect-ratio:1/1;min-height:0!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#f9f5ff);box-shadow:0 8px 22px rgba(42,32,74,.08);font-size:2.25rem!important}.memory-card img{width:88px!important;height:88px!important;object-fit:contain!important;border-radius:18px!important}.memory-card.matched{background:#dbf6e9!important;box-shadow:0 0 0 3px rgba(56,207,194,.22)}
.fleet-board{display:grid!important;grid-template-columns:28px repeat(8,minmax(34px,1fr))!important;gap:5px!important;max-width:520px;margin:12px auto 0}.fleet-label{display:grid;place-items:center;color:#777184;font-size:.72rem;font-weight:800;min-height:26px}.fleet-cell{border:0;border-radius:10px;aspect-ratio:1/1;min-width:0;min-height:38px;background:#eef7ff;box-shadow:inset 0 0 0 1px rgba(49,91,130,.12);font-weight:900;font-size:1.12rem;transition:transform .1s ease,background .15s}.fleet-cell.enemy{background:linear-gradient(145deg,#eaf7ff,#d8efff)}.fleet-cell.ship{background:linear-gradient(145deg,#a6eee4,#65d2c5)}.fleet-cell.hit{background:#ffb4b7}.fleet-cell.miss{background:#e7edf6;color:#667186}.fleet-cell:active{transform:scale(.94)}
.connect4-board{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;max-width:650px;margin:auto;background:linear-gradient(145deg,#6d55ff,#4b83ff);padding:14px;border-radius:28px;box-shadow:var(--shadow)}.connect4-cell{border:0;border-radius:50%;background:#fff9ef;aspect-ratio:1/1;min-height:58px;box-shadow:inset 0 5px 12px rgba(30,30,80,.15)}
.draw-shell{max-width:820px;margin:auto}.draw-canvas{background:#fff;border-radius:18px;touch-action:none!important}.draw-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.ink-btn{width:46px;height:46px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);padding:0}.ink-btn.active{box-shadow:0 0 0 3px var(--violet)}
.home-beta{display:inline-flex;gap:7px;align-items:center;background:#fff0bd;color:#694f0b;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:750;border:1px solid rgba(255,201,74,.45)}

/* v2.2 — proporzioni dei giochi corrette dopo test Mac/iPhone */
.quinte-stage{max-width:440px!important}
.quinte-stage .canvas-wrap{width:min(300px,78vw);margin:0 auto;padding:6px}
.quinte-stage .canvas-wrap canvas{width:100%!important;height:auto!important}
.labirinto-stage .canvas-wrap,.coda-stage .canvas-wrap{width:min(520px,92vw);margin:0 auto}
.labirinto-stage,.coda-stage{max-width:620px!important}
body[data-game="labirinto"] .canvas-wrap{background:linear-gradient(145deg,#fff9dc,#ffffff)}
body[data-game="coda"] .canvas-wrap{background:linear-gradient(145deg,#fff0f7,#ffffff)}
body[data-game="quinte"] .touch-controls,
body[data-game="labirinto"] .touch-controls,
body[data-game="coda"] .touch-controls{margin-top:11px}
@media (pointer:coarse){
  .touch-controls{grid-template-columns:repeat(4,minmax(66px,1fr));max-width:460px}
  .touch-controls .btn{min-height:68px;font-size:1.55rem}
}

@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{width:min(430px,78%);justify-self:center}.game-grid{grid-template-columns:1fr 1fr}.controls{grid-template-columns:1fr 1fr}.three,.price-grid{grid-template-columns:1fr}.two{grid-template-columns:1fr}.game-hero{grid-template-columns:1fr auto}.game-hero-icon{width:84px;height:84px;font-size:2.5rem}.fleet-board{max-width:620px}}
@media(max-width:600px){.shell{width:min(100% - 20px,1240px);padding-bottom:28px}.brand-sub{display:none}.topbar{padding-bottom:12px}.hero{padding-top:8px}.hero-art{width:min(340px,80%)}.game-grid{grid-template-columns:1fr}.controls,.two,.answer-grid{grid-template-columns:1fr}.game-card{min-height:225px;padding:18px}.game-card h3{margin-top:14px}.section{padding:18px 0}.panel,.challenge{padding:16px;border-radius:22px}.btn{min-height:54px}.game-hero{grid-template-columns:1fr;gap:8px;padding-bottom:12px}.game-hero-icon{width:68px;height:68px;font-size:2.05rem;grid-row:1;justify-self:end;margin-bottom:-58px;opacity:.96}.game-hero h1{font-size:clamp(2.35rem,12vw,3.45rem);padding-right:80px}.game-hero .lead{font-size:1.03rem}.memory-board{grid-template-columns:repeat(4,1fr)!important;gap:7px}.memory-card{aspect-ratio:1/1;min-height:0!important;border-radius:15px!important;font-size:1.55rem!important}.memory-card img{width:54px!important;height:54px!important}.fleet-board{grid-template-columns:22px repeat(8,minmax(30px,1fr))!important;gap:4px!important;width:100%}.fleet-cell{min-height:36px;border-radius:8px}.connect4-board{gap:5px;padding:9px;border-radius:22px}.connect4-cell{min-height:44px}.touch-controls{grid-template-columns:repeat(4,minmax(62px,1fr));width:100%;max-width:420px;margin-left:auto;margin-right:auto}.touch-controls .btn{min-height:62px}.canvas-wrap{padding:5px;border-radius:18px}.ad-slot{margin:18px 0}.footer{padding-top:24px}.filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter{white-space:nowrap}.scoreline{gap:7px}.big{font-size:clamp(1.45rem,7vw,2.15rem)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
