:root{--bg:#f5f2e9;--ink:#173e34;--gold:#ba8031;--muted:#738077;--line:#d9ddd1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #dca946;outline-offset:4px}[hidden]{display:none!important}header,main,footer{max-width:1280px;margin:auto}header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line)}a{color:inherit}.brand{text-decoration:none;font-size:20px;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:12px}.brand span{font:italic 25px Georgia;letter-spacing:-1px;font-weight:normal}.brand i{font-size:25px;color:var(--gold);margin-left:5px}.quiet{border:0;background:none;color:var(--ink);font-size:14px;text-decoration:none;padding:12px}.quiet span{margin-left:16px}main{padding:0 48px}#lobby{min-height:660px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:55px 0 70px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;color:var(--gold);line-height:1.6}h1{font:normal clamp(45px,5.2vw,70px)/1.08 Georgia,serif;letter-spacing:-2.6px;margin:26px 0}h1 em{color:#a77535;font-weight:normal}.lead{font-size:16px;color:#62736a;line-height:1.8;max-width:390px}.features{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;font-size:11px;color:#596e60}.lobby-right{min-width:0}.card-scene{height:340px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#e7e5d7 0%,transparent 67%)}.decor-card{height:235px;width:151px;border-radius:10px;background:#fffdf5;border:1px solid #e3dac7;box-shadow:0 12px 25px #2845321b;position:absolute;padding:16px;color:#a87a2e}.decor-card b{font:26px Georgia}.decor-card span{display:block;text-align:center;font-size:86px;line-height:1.6}.decor-card small{display:block;text-align:center;letter-spacing:2px;font-size:9px}.first{transform:translate(-57px,3px) rotate(-17deg);color:#386756}.second{transform:translate(59px,-5px) rotate(13deg)}.seal{position:absolute;right:7%;bottom:26px;height:83px;width:83px;border-radius:50%;background:var(--ink);color:#fff5d9;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;letter-spacing:1px;transform:rotate(-13deg);outline:1px dashed #ead8a7;outline-offset:-6px}.seal strong{font:24px Georgia;margin-top:3px}.start-panel{background:#ebece1;padding:24px;border:1px solid #dce0d1;border-radius:12px}.start-panel label{font-size:13px;font-weight:600}.form-row{display:flex;gap:10px;margin-top:12px}input{min-width:0;background:#fffef8;border:1px solid #d9ddcf;padding:15px 13px;border-radius:6px;color:var(--ink);width:100%}.primary{border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:#fff9e9;padding:14px 19px;white-space:nowrap;font-size:13px;font-weight:600}.primary span{margin-left:14px}.start-panel p{font-size:11px;color:#738077;margin-bottom:0;line-height:1.5}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 48px;font-size:11px;color:#7b8679}footer span:last-child{font-size:9px;letter-spacing:1.7px}.game-heading{display:flex;align-items:center;justify-content:space-between;padding:30px 0 20px}.game-heading h1{font-size:38px;margin:8px 0;letter-spacing:-1px}.outline{background:transparent;border:1px solid #bbc8b7;border-radius:6px;padding:13px 16px;color:var(--ink);font-size:12px}.scoreboard{display:flex;justify-content:space-between;align-items:center;background:#e9ecdf;border:1px solid #d9dfcf;border-radius:10px 10px 0 0;padding:16px 28px}.scoreboard>div{display:flex;align-items:center;gap:18px;max-width:38%}.scoreboard>div:last-child{flex-direction:row-reverse;text-align:right}.scoreboard span{font-size:13px;overflow-wrap:anywhere}.scoreboard strong{font:27px Georgia}.scoreboard .score-label{font-size:9px;letter-spacing:2px;color:#7a8677}.table{background:radial-gradient(ellipse at center,#245747,#133e33 80%);border:7px solid #d5c6a6;box-shadow:inset 0 0 0 2px #ffffff14,inset 0 0 100px #081e1840;border-radius:0 0 100px 100px;min-height:475px;padding:22px 30px 0;position:relative;color:#f7edda;display:flex;flex-direction:column;align-items:center}.opponent-hand{display:flex;justify-content:center;gap:6px;height:80px}.card-back{width:49px;height:72px;border:4px solid #f3e9d4;border-radius:6px;background:repeating-linear-gradient(45deg,#9d5547 0 2px,#783d32 2px 6px);box-shadow:0 3px 8px #0003}.table-center{display:flex;align-items:center;justify-content:center;gap:40px;min-height:180px;width:100%;position:relative}.stock{position:absolute;left:6%;top:25px;text-align:center}.stock .card{width:65px;height:96px;font-size:12px;transform:rotate(-12deg)}.stock .card-symbol{font-size:26px}.stock .card-label{font-size:6px}.stock>span{display:block;font-size:10px;margin-top:14px;color:#d5dccb}.trick{display:flex;gap:18px;align-items:center;justify-content:center;min-height:150px;padding-left:60px}.card{width:100px;height:145px;display:flex;flex-direction:column;justify-content:space-between;padding:10px;border:1px solid #e5d9c0;border-radius:8px;background:#fffaf0;color:#a77829;box-shadow:0 4px 10px #071d1a35;font:22px Georgia;position:relative}.card[data-suit="spade"]{color:#496579}.card[data-suit="bastoni"]{color:#42744f}.card[data-suit="coppe"]{color:#b45741}.card-symbol{font-size:43px;text-align:center;line-height:1}.card-label{font:8px Arial;letter-spacing:1px;text-align:center}.card-top{display:flex;justify-content:space-between;align-items:center}.card-points{font:9px Arial;opacity:.65}.card svg{width:100%;height:100%;max-height:67px;overflow:visible}.hand{display:flex;gap:12px;min-height:156px;justify-content:center;margin-bottom:-20px;z-index:1}.hand button{transition:transform .18s,box-shadow .18s}.hand button:not(:disabled):hover{transform:translateY(-12px);box-shadow:0 10px 20px #0005}.hand button:disabled{opacity:1}.hand.can-play button{border:2px solid #d8b76f}.hand button.chosen{transform:translateY(-8px)}#turn-status{font-size:13px;margin:0 0 18px;min-height:18px;text-align:center}.under-table{display:flex;justify-content:space-between;gap:20px;margin:37px 0 28px;color:#6e7c6f;font-size:11px}.under-table span:last-child{text-align:right}#waiting{position:absolute;top:105px;left:50%;transform:translateX(-50%);width:min(90%,480px);text-align:center}#waiting h2{font:30px Georgia;font-weight:normal;margin-bottom:10px}#waiting p{font-size:13px;line-height:1.8;color:#d0dbcd}.invite-row{display:flex;gap:8px;margin-top:22px}.invite-row input{font-size:11px}.waiting-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#d9bb75;box-shadow:0 0 0 7px #d9bb751a}.result{padding:26px;text-align:center;border:1px solid #d5dcc9;border-radius:12px;background:#e9ecdf;margin:25px 0}.result h2{font:32px Georgia;margin:0 0 10px}.result p{font-size:14px;line-height:1.6}.result a{display:inline-block;margin-left:10px}.notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:90%;background:#fff9e9;color:var(--ink);padding:16px 24px;box-shadow:0 5px 35px #0003;border:1px solid #d9caa7;border-radius:8px;z-index:10;font-size:13px}dialog{background:var(--bg);color:var(--ink);border:1px solid #d7decb;border-radius:16px;padding:34px;max-width:560px;width:90%;max-height:85vh}dialog::backdrop{background:#08231cd0}dialog h2{font:32px Georgia}dialog h3{font-size:14px;margin-top:25px}dialog p{line-height:1.7;font-size:14px}.dialog-close{float:right;border:0;background:none;color:var(--ink);font-size:28px}.muted{color:#7a8479;font-size:12px!important}#game{padding-bottom:15px}
@media(max-width:800px){header{height:80px;padding:0 24px}main{padding:0 24px}#lobby{gap:10px;grid-template-columns:1fr;max-width:560px;margin:auto;padding:36px 0 40px;min-height:0}h1{font-size:53px;letter-spacing:-2px}.intro .lead{max-width:440px}.features{gap:16px;margin-top:20px}.card-scene{height:270px}.decor-card{width:128px;height:195px}.decor-card span{font-size:68px}.seal{right:15%;bottom:12px}footer{padding:23px 24px;gap:20px}footer span:last-child{max-width:120px;text-align:right;line-height:1.7}.game-heading h1{font-size:29px}.game-heading{gap:12px}.outline{font-size:11px;max-width:160px;line-height:1.6}.table{padding:20px 12px 0;border-width:5px;border-radius:0 0 50px 50px}.stock{left:0}.trick{gap:8px;padding-left:62px}.trick .card{width:80px;height:120px}.table-center{min-height:180px;gap:12px}.scoreboard{padding:14px}.scoreboard>div{gap:9px}.scoreboard span{font-size:11px}.scoreboard .score-label{font-size:7px;letter-spacing:1px}.under-table{flex-direction:column;gap:8px;text-align:center}.under-table span:last-child{text-align:center}}
@media(max-width:400px){main{padding:0 14px}header{padding:0 16px}.brand{font-size:16px;gap:7px}.quiet{font-size:12px}h1{font-size:46px}.form-row{flex-direction:column}.start-panel{padding:19px}.card{width:88px;height:132px}.hand{gap:7px}.stock .card{width:51px;height:78px;padding:6px}.stock .card-label{display:none}.trick .card{width:73px;height:110px}.trick{padding-left:50px}.scoreboard .score-label{display:none}.scoreboard>div{max-width:48%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
