:root{--ink:#112838;--night:#071c34;--night2:#12344d;--cream:#fff1cf;--paper:#ead3a5;--gold:#e4aa37;--rust:#b95139;--sage:#6f8c55;--rose:#d98577;--line:#271f22;--shadow:#06121d;--forest:url('https://www.mattialocatelli.com/app/briscola-sposi/assets/battle-background.webp');--menu-bg:url('https://www.mattialocatelli.com/app/briscola-sposi/assets/title-background.webp');--pixel-round:polygon(12px 0,calc(100% - 12px) 0,calc(100% - 12px) 4px,calc(100% - 8px) 4px,calc(100% - 8px) 8px,calc(100% - 4px) 8px,calc(100% - 4px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 4px) calc(100% - 12px),calc(100% - 4px) calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) calc(100% - 4px),calc(100% - 12px) calc(100% - 4px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 4px),8px calc(100% - 4px),8px calc(100% - 8px),4px calc(100% - 8px),4px calc(100% - 12px),0 calc(100% - 12px),0 12px,4px 12px,4px 8px,8px 8px,8px 4px,12px 4px);--pixel-round-sm:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px),0 8px,4px 8px,4px 4px,8px 4px)}
    *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
    html,body{margin:0;min-height:100%;background:#071522;color:var(--cream);font-family:"Courier New",ui-monospace,monospace;font-weight:700;overscroll-behavior:none}
    button,input{font:inherit} button{touch-action:manipulation}
    body{display:flex;justify-content:center;background:radial-gradient(circle at 50% -20%,#2c5665,#071522 58%)}
    #app{position:relative;width:min(100%,480px);min-height:100svh;overflow:hidden;background:#071c34;box-shadow:0 0 42px #0009}
    .screen{min-height:100svh;padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column;position:relative;isolation:isolate;background-image:linear-gradient(#071c3480,#071c3420),var(--forest);background-size:cover;background-position:center top}
    .topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-height:52px;position:relative;z-index:8}
    .top-actions{display:flex;align-items:center;gap:6px}.score-chip{border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold),3px 3px #06121d;background:var(--night);padding:10px 9px;color:var(--cream);font-size:12px;white-space:nowrap}.help-btn{font-size:22px;color:var(--gold)}
    .logo{font-size:clamp(15px,4.4vw,20px);color:var(--gold);text-shadow:2px 2px #000;letter-spacing:-1px}
    .icon-btn,.pixel-btn{border:3px solid var(--line);color:var(--cream);background:var(--night);box-shadow:inset 0 0 0 2px var(--gold),4px 4px 0 #07131d;border-radius:0;clip-path:var(--pixel-round-sm);min-height:48px;padding:10px 14px;text-transform:uppercase;letter-spacing:.5px}
    .icon-btn{justify-self:end;width:46px;padding:0;font-size:20px}
    .pixel-btn:active,.icon-btn:active,.card:active{transform:translate(3px,3px);box-shadow:inset 0 0 0 2px var(--gold),1px 1px 0 #07131d}
    .primary{background:var(--rust);color:#fff8df}.secondary{background:var(--night2)}
    .intro{justify-content:flex-start;text-align:center;background-image:linear-gradient(#071c3420,#071c3438),var(--menu-bg);background-position:center;background-size:cover;padding-top:max(14px,env(safe-area-inset-top))}.title-actions{position:absolute;right:14px;top:max(14px,env(safe-area-inset-top));z-index:4;display:flex;gap:7px}.title-logo{width:94%;max-height:245px;object-fit:contain;image-rendering:pixelated;margin:5px auto -2px;filter:drop-shadow(0 8px 0 #06121dbb)}.intro-art{display:flex;justify-content:center;align-items:end;height:218px;margin-top:-8px}.intro-art .sprite{width:174px;height:174px;margin:0 -34px;filter:drop-shadow(5px 7px 0 #06121d88)}
    .intro-menu{margin-top:auto;display:grid;gap:13px}.entry-panel{background:linear-gradient(180deg,#102f4cf2,#071c34f5);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),0 7px 0 #06121d;padding:18px 15px 15px;position:relative}.entry-panel:before,.entry-panel:after{content:"◆";position:absolute;top:-12px;color:var(--gold);text-shadow:2px 2px var(--line)}.entry-panel:before{left:18px}.entry-panel:after{right:18px}.entry-panel label{display:block;color:var(--cream);font-size:13px;margin-bottom:9px;letter-spacing:.4px}.entry-panel input{width:100%;height:52px;border:3px solid var(--line);box-shadow:inset 0 0 0 2px #d8a344;background:#fff8e7;color:var(--ink);padding:8px 12px;text-align:center;font-size:19px;outline:none;border-radius:3px}.entry-panel input:focus{box-shadow:inset 0 0 0 2px #d8a344,0 0 0 3px var(--cream)}.menu-btn{width:100%;margin-top:11px;background:linear-gradient(#c76143,#963a2d);font-size:16px;color:#fff4d6}.archive-btn{width:100%;min-height:52px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(#163b59,#09243e);border-color:#1f1a1d}.archive-btn span{font-size:19px;color:var(--gold)}.menu-note{font-size:10px;color:#ead3a5;margin:9px 0 0}.menu-separator{height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 22px}
    h1{font-size:clamp(30px,9vw,48px);line-height:.95;margin:10px 0;color:var(--cream);text-shadow:4px 4px 0 var(--line),-2px -2px 0 var(--rust)}
    .subtitle{color:var(--gold);font-size:16px;margin:3px 0 22px}
    .paper{background:var(--cream);color:var(--ink);border:4px solid var(--line);box-shadow:inset 0 0 0 3px #d6a85b,7px 7px 0 #061723;padding:18px;border-radius:0}
    .name-form{display:grid;gap:14px;text-align:left}.name-form label{font-size:14px}.name-form input{width:100%;min-height:54px;border:4px solid var(--ink);background:#fff9e9;color:var(--ink);padding:10px 12px;border-radius:0;clip-path:var(--pixel-round);font-size:20px;outline:none}.name-form input:focus{box-shadow:0 0 0 4px var(--gold)}
    .story-screen{background-image:linear-gradient(#071c3499,#071c3455),var(--menu-bg);background-position:center;background-size:cover}.story{width:100%;max-width:440px;margin:auto}.story-logo{width:72%;max-height:118px;object-fit:contain;margin:0 auto 3px;image-rendering:pixelated}.story-portraits{display:flex;justify-content:center;align-items:end;height:220px}.story-portraits .sprite{width:170px;height:170px;margin:0 -30px}.dialogue{position:relative;margin:0 6px 18px;padding:16px 17px;background:var(--cream);color:var(--ink);border:4px solid var(--line);box-shadow:5px 5px 0 #071521;line-height:1.35;min-height:88px}.dialogue:after{content:"";position:absolute;bottom:-16px;left:36%;border:8px solid transparent;border-top-color:var(--line)}
    .story-chat{display:grid;gap:13px;margin:4px 0 15px}.chat-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:center}.chat-row.right{grid-template-columns:minmax(0,1fr) 88px}.chat-avatar{width:92px;height:92px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(4px 5px #06121d88)}.chat-bubble{position:relative;color:var(--ink);font-size:13px;line-height:1.3;text-align:left;filter:drop-shadow(4px 4px #06121d)}.bubble-inner{background:var(--cream);border:3px solid var(--line);box-shadow:inset 0 0 0 2px #deb466;padding:13px;clip-path:var(--pixel-round)}.chat-bubble:before{content:"";position:absolute;z-index:2;left:-12px;top:34px;border:7px solid transparent;border-right-color:var(--line)}.chat-row.right .chat-bubble:before{left:auto;right:-12px;border-right-color:transparent;border-left-color:var(--line)}.chat-row.guest{grid-template-columns:1fr;margin:0 42px}.chat-row.guest .chat-bubble{color:var(--cream);text-align:center}.chat-row.guest .bubble-inner{background:var(--night);border-color:var(--gold);padding:12px}.chat-row.guest .chat-bubble:before{display:none}.speaker{display:block;color:var(--rust);margin-bottom:4px;font-size:12px}.guest .speaker{color:var(--gold)}
    .route{display:flex;align-items:center;gap:3px;justify-content:center;margin:4px}.route i{display:block;width:14px;height:14px;border:3px solid var(--paper);border-radius:0;clip-path:var(--pixel-round-sm);background:#423d3a}.route i.done{background:var(--sage)}.route i.now{background:var(--gold);transform:scale(1.25)}.route span{width:14px;height:3px;background:var(--paper)}
    .battle{height:100svh;min-height:100svh;max-height:100svh;overflow:hidden;padding-left:8px;padding-right:8px;padding-bottom:max(4px,env(safe-area-inset-bottom));background-image:var(--forest);background-position:center top}.enemy-zone{height:165px;display:grid;grid-template-columns:43% 57%;align-items:center;gap:0;position:relative;z-index:4}.enemy-zone .sprite{width:158px;height:158px;justify-self:center;filter:drop-shadow(5px 7px 0 #0006)}
    .speech{font-size:12px;line-height:1.25;color:var(--ink);position:relative;filter:drop-shadow(3px 3px #06121d)}.speech-box{background:var(--cream);border:3px solid var(--line);padding:11px 9px;max-height:108px;overflow:hidden;clip-path:var(--pixel-round)}.speech:before{content:"";position:absolute;z-index:2;left:-13px;top:45%;border:7px solid transparent;border-right-color:var(--line)}
    .hearts-panel{align-self:center;position:relative;z-index:6;margin:-6px 0 -6px;padding:7px 16px;background:var(--night);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold),3px 3px #06121d;color:var(--cream);font-size:11px}.hearts-panel b{color:var(--gold)}.hearts-panel .losses{color:#ef806b;margin-left:10px}
    .table{height:300px;flex:none;position:relative;color:var(--ink);margin:0 -3px -20px;z-index:2;padding:50px 36px 12px}.table-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;image-rendering:pixelated;filter:drop-shadow(0 7px 0 #06121d99)}
    .draw-pile{position:absolute;left:38px;top:85px;width:108px;height:78px;z-index:3}
    .deck-stack{position:absolute;left:0;top:0;width:48px;height:69px;z-index:3}
    .deck-stack img{position:absolute;inset:0;width:48px;height:69px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(2px 3px #06121d88);transform:translate(calc(var(--i) * -1.6px),calc(var(--i) * -1.6px));z-index:var(--i)}
    .deck-count{position:absolute;z-index:7;left:24px;top:-15px;transform:translateX(-50%);min-width:34px;padding:3px 5px;background:var(--night);border:2px solid var(--line);box-shadow:inset 0 0 0 1px var(--gold);color:var(--cream);font-size:8px;text-align:center;white-space:nowrap;clip-path:var(--pixel-round-sm)}
    .trump-under{position:absolute;left:23px;top:3px;width:48px;height:69px;z-index:1;transform:rotate(90deg);transform-origin:center;filter:drop-shadow(2px 3px #06121d66)}
    .trump-under .card{width:48px;height:69px;pointer-events:none}
    .draw-pile.empty-deck .trump-under{left:4px;transform:rotate(7deg)}.played{display:flex;justify-content:center;gap:18px;align-items:center;height:180px;padding-top:23px}.played .card{width:76px;height:109px}.played .card.trump-played{z-index:5;animation:trumpGlow .48s steps(6,end) both}.turn-hint{text-align:center;font-size:11px;min-height:23px;color:var(--ink)}.table.trump-impact{animation:tableShake .42s steps(6,end)}.table.trump-impact:after{content:"";position:absolute;z-index:4;inset:12px;background:radial-gradient(circle,#ffe88c88 0,#e4aa3733 38%,transparent 68%);mix-blend-mode:screen;pointer-events:none;animation:trumpFlash .48s steps(5,end) both;clip-path:var(--pixel-round)}
    .couple-line{min-height:106px;display:grid;grid-template-columns:98px minmax(0,1fr) 98px;align-items:end;margin-top:auto;position:relative;z-index:6}.couple-line .sprite{width:118px;height:118px;margin-left:-12px;filter:drop-shadow(3px 4px #06121d66)}.couple-line .sprite:last-child{margin-left:-8px}.couple-text{display:flex;align-items:center;justify-content:center;min-width:0;min-height:52px;font-size:12px;line-height:1.28;text-align:center;overflow-wrap:anywhere;word-break:normal;hyphens:auto;background:var(--cream);color:var(--ink);border:3px solid var(--line);padding:10px 8px;margin-bottom:10px;box-shadow:3px 3px #06121d}
    .hand{display:flex;justify-content:center;gap:5px;background:var(--night);border:4px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold),0 5px #06121d;padding:7px;min-height:158px;margin-top:3px;position:relative;z-index:7}.card{position:relative;width:min(29vw,108px);height:min(39vw,154px);border:0;padding:0;background:transparent;border-radius:0;filter:drop-shadow(4px 5px 0 #06121d);transition:transform .1s;overflow:visible}.card img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.card[disabled]{filter:grayscale(.38) brightness(.78) drop-shadow(4px 5px 0 #06121d)}.card-slot{width:76px;height:109px}
    .result{justify-content:center}.result h2{font-size:28px;text-align:center;color:var(--gold);text-shadow:3px 3px #000;margin:10px 0}.result-list{list-style:none;padding:0;margin:10px 0;display:grid;gap:7px}.result-list li{display:flex;align-items:center;gap:9px;background:#ffffff16;padding:7px;border-left:4px solid var(--gold)}.mini-sprite{width:52px;height:52px;flex:none}.result-enemy{width:170px;height:170px;margin:2px auto -8px;filter:drop-shadow(6px 7px #06121d88);animation:bob 1.6s steps(2,end) infinite}.score-big{font-size:38px;text-align:center;color:var(--gold);margin:4px}.button-stack{display:grid;gap:12px;margin-top:18px}
    .final-result{justify-content:flex-start;overflow:hidden}.final-score-card{position:relative;margin:8px 0 12px;padding:18px 12px 16px;text-align:center;background:linear-gradient(#123d5c,#071c34);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),6px 6px #06121d;overflow:visible}.record-kicker{font-size:11px;color:var(--paper);letter-spacing:1px}.record-value{font-size:clamp(48px,16vw,74px);line-height:1;color:var(--gold);text-shadow:4px 4px #000;margin:5px 0}.record-badge{display:inline-block;padding:5px 10px;background:var(--rust);color:var(--cream);font-size:10px;clip-path:var(--pixel-round-sm)}.run-score{font-size:11px;color:var(--cream);margin-top:9px}.global-card{background:var(--cream);color:var(--ink);border:4px solid var(--line);box-shadow:inset 0 0 0 3px #d6a85b,5px 5px #06121d;padding:12px;margin-bottom:13px}.global-title{text-align:center;color:var(--night);font-size:15px;margin:0 0 9px}.global-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;text-align:center;font-size:10px;color:#7a5a35}.sync-spinner{display:inline-block;color:var(--rust);font-size:18px;animation:spinPixel .8s steps(4,end) infinite}.global-rows{display:grid;gap:6px;max-height:250px;overflow:auto;padding-right:2px}.global-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;background:#f6dfb4;border:2px solid #9a6c34;clip-path:var(--pixel-round-sm);font-size:11px}.global-row.me{background:var(--night);color:var(--cream);box-shadow:inset 0 0 0 2px var(--gold)}.global-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:0 9px 5px;color:#7a5a35;font-size:8px;letter-spacing:.7px}.global-row.me b{color:var(--gold)}.confetti-layer{position:fixed;z-index:18;inset:0;pointer-events:none;overflow:hidden}.celebration-flash{position:absolute;inset:0;background:#fff6c9;opacity:0;animation:partyFlash 1s steps(5,end) both}.confetti-piece{position:absolute;top:18%;width:9px;height:14px;background:var(--c);opacity:0;clip-path:var(--pixel-round-sm);animation:confettiPop var(--dur) steps(14,end) var(--delay) both}.confetti-piece.left{left:0}.confetti-piece.right{right:0}.confetti-piece.center{left:50%;top:5%}.confetti-piece.dot{width:10px;height:10px}.confetti-piece.long{width:6px;height:18px}
    .modal{position:fixed;z-index:20;inset:0;background:#06131ded;display:grid;place-items:center;padding:16px}.modal-card{width:min(100%,420px);background:var(--cream);color:var(--ink);border:5px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),8px 8px 0 #000;padding:20px}.settings-card{width:min(100%,370px);max-height:calc(100svh - 32px);overflow:auto;background:linear-gradient(180deg,#fff4d7,#ead3a5);color:var(--ink);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 0 7px #12344d,8px 8px 0 #000;padding:19px 16px 16px;clip-path:var(--pixel-round)}.settings-top{display:flex;align-items:center;justify-content:space-between;background:var(--night);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold),3px 3px 0 #8e6737;padding:7px 7px 7px 12px;margin-bottom:13px}.settings-title{font-size:18px;margin:0;color:var(--cream);letter-spacing:.5px;text-shadow:2px 2px #000}.settings-x{width:42px;height:42px;min-height:42px;padding:0;background:#b95139;color:var(--cream);font-size:20px}.setting-slot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;background:#fff8e8;border:3px solid #8f6532;box-shadow:inset 0 0 0 2px #e6c581,3px 3px 0 #9b733d;padding:8px 10px;margin-bottom:9px}.setting-label{display:flex;align-items:center;gap:9px;min-width:0;font-size:14px}.sound-icon{display:grid;place-items:center;width:32px;height:32px;text-align:center;font-size:19px;color:var(--cream);background:var(--rust);border:2px solid var(--line);box-shadow:inset 0 0 0 1px var(--gold)}.simple-toggle{position:relative;width:82px;min-width:82px;height:42px;border:3px solid var(--line);background:#777773;color:#fff;border-radius:3px;padding:0;text-align:right;box-shadow:inset 0 0 0 2px #aaa,2px 2px #674c2f}.simple-toggle.on{background:var(--sage);text-align:left;box-shadow:inset 0 0 0 2px #aac17f,2px 2px #674c2f}.simple-toggle span{display:block;padding:10px 8px;font-size:11px;line-height:1}.tracks-label{display:flex;align-items:center;gap:9px;margin:15px 2px 9px;font-size:13px}.track-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.track-choice{position:relative;min-width:0;min-height:64px;border:3px solid var(--line);background:#fff8e7;color:var(--ink);padding:9px 6px;border-radius:3px;box-shadow:inset 0 0 0 2px #d9ad62,3px 3px 0 #8d673b;text-transform:none;letter-spacing:0;line-height:1.12}.track-choice b{display:block;font-size:11px}.track-choice small{display:block;margin-top:5px;color:#9b4c38;font-size:8px}.track-choice.selected{background:linear-gradient(#173c5a,#071c34);color:var(--cream);box-shadow:inset 0 0 0 2px var(--gold),3px 3px 0 #07131d}.track-choice.selected:after{content:"◆";position:absolute;right:5px;top:4px;color:var(--gold);font-size:8px}.track-choice.selected small{color:var(--gold)}.settings-close{width:100%;min-height:50px;margin-top:15px}.rules-card{width:min(94vw,410px);max-height:calc(100svh - 24px);overflow:auto;background:linear-gradient(#fff4d7,#ead3a5);color:var(--ink);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 0 7px var(--night),8px 8px #000;padding:16px;clip-path:var(--pixel-round)}.rules-intro{text-align:center;font-size:11px;line-height:1.35;margin:4px 6px 12px}.rule-block{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;background:#fff8e8;border:3px solid #8f6532;box-shadow:inset 0 0 0 2px #e6c581,3px 3px #9b733d;padding:9px;margin-bottom:10px;clip-path:var(--pixel-round)}.rule-block.reverse{grid-template-columns:minmax(0,1fr) 82px}.rule-visual{display:flex;align-items:center;justify-content:center;min-height:88px}.rule-visual img{width:54px;height:78px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 4px #06121d66)}.rule-visual img+img{margin-left:-28px;transform:translate(12px,9px)}.rule-copy b{display:block;color:var(--rust);font-size:12px;margin-bottom:4px}.rule-copy p{font-size:10px;line-height:1.3;margin:0}.points-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:9px 0 12px}.point-card{text-align:center;background:var(--night);color:var(--cream);padding:6px 2px;clip-path:var(--pixel-round-sm);font-size:8px}.point-card img{display:block;width:42px;height:60px;object-fit:contain;margin:auto;image-rendering:pixelated}.point-card b{display:block;color:var(--gold);font-size:11px;margin-top:2px}.rules-tip{background:var(--night);color:var(--cream);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold);padding:11px;text-align:center;font-size:10px;line-height:1.35;clip-path:var(--pixel-round)}.archive-card{width:min(94vw,410px);max-height:calc(100svh - 20px);overflow:hidden;background:var(--night);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),7px 7px 0 #000;padding:12px;display:flex;flex-direction:column}.archive-head{text-align:center;border-bottom:3px solid var(--gold);padding:4px 4px 10px}.archive-head h2{font-size:20px;margin:3px;color:var(--cream)}.archive-head p{font-size:10px;color:var(--paper);margin:5px}.archive-grid{overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 1px}.archive-enemy{min-width:0;background:var(--cream);color:var(--ink);border:3px solid var(--line);box-shadow:inset 0 0 0 2px #d9ad62;padding:5px;text-align:center}.archive-enemy.locked{filter:grayscale(1);opacity:.64}.archive-enemy .sprite{width:66px;height:66px;margin:auto}.archive-enemy b{display:block;font-size:9px;line-height:1.15;min-height:31px}.archive-score{font-size:9px;color:var(--rust);margin-top:3px}.archive-close{width:100%;margin-top:7px}.small{font-size:12px;line-height:1.35}.hidden{display:none!important}.toast{position:fixed;z-index:30;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(90%,400px);background:var(--night);border:3px solid var(--gold);padding:12px;text-align:center;box-shadow:5px 5px #000;animation:pop .22s ease-out}
    .archive-enemy.unlocked,.archive-enemy.locked{cursor:pointer;width:100%;font:inherit}.archive-enemy.unlocked:active,.archive-enemy.locked:active{transform:translate(2px,2px)}.enemy-zoom-overlay{position:fixed;z-index:6;inset:0;background:#06131df2;display:grid;place-items:center;padding:18px;animation:zoomFade .18s steps(4,end)}.enemy-zoom-card{position:relative;width:min(92vw,400px);max-height:calc(100svh - 36px);overflow:auto;background:linear-gradient(#fff4d7,#ead3a5);color:var(--ink);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 0 7px var(--night),8px 8px #000;padding:16px;text-align:center;clip-path:var(--pixel-round)}.enemy-zoom-close{position:absolute;z-index:2;right:12px;top:12px}.enemy-zoom-sprite{width:min(72vw,300px);height:min(72vw,300px);max-height:45svh;margin:2px auto 5px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(6px 8px #06121d55);animation:bob 1.6s steps(2,end) infinite}.enemy-zoom-card.locked .enemy-zoom-sprite{filter:brightness(0) contrast(1.35) blur(1px) drop-shadow(0 0 12px #071c34);opacity:.88;animation:lockedPulse 1.8s steps(3,end) infinite}.enemy-zoom-card.locked h2{letter-spacing:3px;color:var(--night)}.enemy-zoom-card h2{margin:4px 34px 12px;color:var(--rust);font-size:clamp(18px,5vw,25px);line-height:1.1}.enemy-zoom-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.enemy-stat{background:var(--night);color:var(--cream);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold);padding:12px 5px;clip-path:var(--pixel-round-sm)}.enemy-stat small{display:block;color:var(--paper);font-size:8px}.enemy-stat b{display:block;color:var(--gold);font-size:24px;margin-top:3px}.enemy-zoom-card.locked .paper{background:#d6c49f;color:var(--night);letter-spacing:2px}.enemy-zoom-hint{font-size:9px;margin:12px 0 0;color:#74542e}@keyframes zoomFade{from{opacity:0;transform:scale(.92)}}@keyframes lockedPulse{50%{opacity:.68}}
    .leaderboard{display:grid;gap:7px;margin:10px 0}.leader-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;background:#fff2;padding:8px}.leader-row.me{color:var(--gold)}
    .entry-panel,.entry-panel input,.archive-btn,.paper,.dialogue,.hearts-panel,.table-art,.couple-text,.hand,.touch-hint,.modal-card,.settings-card,.settings-top,.setting-slot,.rules-card,.rule-block,.archive-card,.archive-enemy,.leader-row,.result-list li,.score-chip,.toast,.final-score-card,.global-card{border-radius:0;clip-path:var(--pixel-round)}
    .simple-toggle,.track-choice,.card,.card img{border-radius:0;clip-path:var(--pixel-round-sm)}
    .sprite{display:block;object-fit:contain;image-rendering:pixelated}
    @keyframes pop{from{transform:translate(-50%,12px) scale(.94);opacity:0}}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes spinPixel{to{transform:rotate(360deg)}}@keyframes tableShake{0%,100%{transform:translate(0,0)}20%{transform:translate(-4px,1px)}40%{transform:translate(4px,-1px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(3px,1px)}}@keyframes trumpFlash{0%{opacity:0;transform:scale(.7)}35%{opacity:1}100%{opacity:0;transform:scale(1.12)}}@keyframes trumpGlow{0%{filter:drop-shadow(4px 5px #06121d)}45%{filter:brightness(1.45) drop-shadow(0 0 10px #fff3a1) drop-shadow(0 0 20px #e4aa37);transform:scale(1.1)}100%{filter:drop-shadow(4px 5px #06121d);transform:scale(1)}}@keyframes partyFlash{0%,100%{opacity:0}10%{opacity:.58}20%{opacity:0}30%{opacity:.32}45%{opacity:0}}@keyframes confettiPop{0%{opacity:0;transform:translate(0,20px) rotate(0) scale(.4)}8%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1)}}.enemy-zone .sprite{animation:bob 1.6s steps(2,end) infinite}
    @media (max-height:760px){.topbar{min-height:45px}.enemy-zone{height:134px}.enemy-zone .sprite{width:128px;height:128px}.hearts-panel{font-size:18px;padding:5px 17px}.table{height:268px;padding-top:45px;margin-bottom:-16px}.played{height:145px;padding-top:16px}.played .card{width:65px;height:93px}.draw-pile{top:70px}.deck-count{top:-13px}.couple-line{min-height:86px;grid-template-columns:81px minmax(0,1fr) 81px;margin-top:auto}.couple-line .sprite{width:96px;height:96px}.couple-text{min-height:46px;font-size:10px;line-height:1.28;padding:8px 6px;margin-bottom:8px}.hand{min-height:134px;margin-top:3px}.card{width:min(28vw,94px);height:min(40vw,134px)}.intro-art{height:145px}.intro-art .sprite{width:116px;height:116px}.entry-panel{padding:13px}.entry-panel input{height:44px}.menu-btn{min-height:43px}.archive-btn{min-height:45px}.intro-menu{gap:10px}.story-logo{max-height:92px}.story-chat{gap:8px}.chat-row{grid-template-columns:72px minmax(0,1fr)}.chat-row.right{grid-template-columns:minmax(0,1fr) 72px}.chat-avatar{width:76px;height:76px}.chat-bubble{font-size:11px;padding:10px}.chat-row.guest{margin:0 30px}}
    @media (max-height:680px) and (orientation:portrait){.battle{padding-top:6px}.topbar{min-height:42px}.enemy-zone{height:112px}.enemy-zone .sprite{width:112px;height:112px}.speech{font-size:10px}.speech-box{padding:8px;max-height:86px}.hearts-panel{font-size:11px;margin:-5px 0;padding:4px 12px}.table{height:238px;padding-top:38px;margin-bottom:-14px}.played{height:125px;padding-top:12px}.draw-pile{top:60px}.deck-count{top:-12px}.couple-line{min-height:78px;grid-template-columns:74px minmax(0,1fr) 74px;margin-top:auto}.couple-line .sprite{width:88px;height:88px}.couple-text{min-height:44px;font-size:10px;line-height:1.25;padding:7px 5px;margin-bottom:7px}.hand{min-height:120px;margin-top:2px;padding:5px}.card{width:min(27vw,86px);height:min(37vw,118px)}}
    @media (orientation:landscape) and (max-height:520px){#rotate{display:grid!important}}
    @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

    .privacy-note{margin-top:14px;padding:11px;background:#f6dfb4;border:2px solid #9a6c34;color:#5f4528;font-size:9px;line-height:1.4;clip-path:var(--pixel-round-sm)}
    .privacy-note b{display:block;color:var(--rust);font-size:10px;margin-bottom:4px}
    .mission-rule{background:var(--night);color:var(--cream);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold),3px 3px #9b733d;padding:12px;margin:0 0 11px;clip-path:var(--pixel-round)}
    .mission-rule b{display:block;color:var(--gold);font-size:12px;margin-bottom:6px}
    .mission-rule p{font-size:10px;line-height:1.4;margin:0}
    .mission-score-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}
    .mission-score-strip span{display:block;text-align:center;background:#fff1cf;color:var(--ink);padding:7px 3px;font-size:9px;clip-path:var(--pixel-round-sm)}
    .mission-score-strip strong{display:block;color:var(--rust);font-size:15px;margin-top:2px}


/* Classifiche doppie: punti vittorie cumulativi + Best Score */
.leaderboard-btn{background:linear-gradient(#6f5720,#3b2c12);}
.leaderboard-modal-card{width:min(94vw,420px);max-height:calc(100svh - 24px);overflow:hidden;background:linear-gradient(#fff4d7,#ead3a5);color:var(--ink);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 0 7px var(--night),8px 8px #000;padding:16px;display:flex;flex-direction:column;clip-path:var(--pixel-round)}
.leaderboard-modal-body{overflow:auto;padding:2px 2px 4px;min-height:180px}
.leaderboard-modal-body .global-card:last-child,#final-global-leaderboards .global-card:last-child{margin-bottom:0}
.personal-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 10px}
.personal-score{background:#071c34;border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--gold);padding:10px 5px;clip-path:var(--pixel-round-sm)}
.personal-score span{display:block;min-height:24px;color:var(--paper);font-size:8px;line-height:1.25}
.personal-score b{display:block;color:var(--gold);font-size:clamp(28px,9vw,40px);line-height:1.05;text-shadow:3px 3px #000;margin-top:4px}
#final-global-leaderboards{display:grid;gap:0;margin-bottom:13px}
@media (max-height:760px){.personal-score-grid{margin:8px 0}.personal-score{padding:7px 4px}.personal-score b{font-size:28px}.leaderboard-modal-card{padding:12px}}
