@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#f4f2eb;--ink:#162f2a;--muted:#7b8178;--gold:#c7a56a;--line:#dedfd4;--red:#bd5047}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Manrope,Arial,sans-serif}button,select,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink);font-size:17px;font-weight:800;letter-spacing:2px}.brandmark{font-size:42px}.brand small{display:block;font-size:8px;letter-spacing:3.3px;margin-top:6px;color:var(--muted)}nav{display:flex;gap:22px;align-items:center}.offline{font-size:11px;color:var(--muted)}i{display:inline-block;width:6px;height:6px;background:#64816d;border-radius:50%;margin-right:6px}.quiet{border:0;background:none;color:var(--ink);padding:9px 0}.quiet:hover{color:#9e7c42}main{max-width:1370px;margin:auto;min-height:calc(100vh - 165px);padding:40px 5%}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:10px;font-weight:800;color:#8b764e}.intro{display:flex;justify-content:space-between;align-items:end;margin:14px 0 32px}.intro h1{font:500 clamp(36px,4vw,57px)/1.12 'Playfair Display',Georgia,serif;margin:0 0 14px;letter-spacing:-1.8px}.intro p{color:var(--muted);line-height:1.8;margin:0;max-width:510px}.intro .edition{font-size:10px;letter-spacing:2px;color:#9a9e92;border:1px solid var(--line);padding:10px 14px}.lobby{display:grid;grid-template-columns:1.6fr 1fr;gap:28px}.art{min-height:430px;background:radial-gradient(ellipse at 50% 10%,#356451 0,#163c31 45%,#0d2822 100%);border-radius:12px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.art:before{content:'';position:absolute;inset:20px;border:1px solid #c7a56a44;border-radius:8px}.art:after{content:'P R É F É R E N C E';position:absolute;bottom:31px;font:9px Georgia;letter-spacing:5px;color:#c7b28888}.art .ring{position:absolute;width:330px;height:330px;border:1px solid #bda77522;border-radius:50%}.art .ring:after{content:'';position:absolute;inset:24px;border:1px solid #bda77518;border-radius:50%}.hero-card{position:absolute;width:144px;height:215px;background:#faf8ef;border-radius:9px;box-shadow:0 15px 25px #00150c66;padding:14px;font:32px Georgia}.hero-card span{display:block;line-height:1}.hero-card .big{position:absolute;inset:57px 0;text-align:center;font-size:79px}.hero-card.one{transform:translate(-98px,15px) rotate(-20deg)}.hero-card.two{transform:translate(0,-13px) rotate(-3deg)}.hero-card.three{transform:translate(92px,19px) rotate(17deg)}.red{color:var(--red)}.setup{padding:5px 0}.step{font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:15px}.variants{display:flex;flex-direction:column;gap:10px}.variant{display:flex;align-items:center;text-align:left;gap:16px;border:1px solid var(--line);background:transparent;border-radius:8px;padding:16px 18px;color:var(--ink);transition:.2s}.variant:hover{border-color:#9caa99}.variant.active{border-color:#436a54;background:#e8ece2}.variant .symbol{font:28px Georgia;width:28px;color:#8a977d}.variant.active .symbol{color:#395a43}.variant strong{font-size:14px;display:block}.variant small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.radio{width:16px;height:16px;border:1px solid #c1c8ba;border-radius:50%;margin-left:auto;flex-shrink:0}.active .radio{border:5px solid #345640}.settings{display:flex;align-items:center;justify-content:space-between;margin:24px 0 19px}.settings label{color:var(--muted);font-size:12px}.settings select{padding:8px 29px 8px 12px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink)}.primary{border:0;background:var(--ink);color:#fff;border-radius:6px;padding:14px 24px;font-weight:700;transition:.2s}.primary:hover{background:#315242}.start{width:100%;display:flex;justify-content:space-between}.note{font-size:10px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.6}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px;padding-top:26px;border-top:1px solid var(--line)}.feature{display:flex;gap:13px}.feature .icon{font-size:21px;color:#8e967e}.feature strong{font-size:11px}.feature p{font-size:10px;color:var(--muted);margin:6px 0;line-height:1.7}footer{padding:21px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#94998d;letter-spacing:.5px}footer b{color:#ac6f62;font-weight:400}footer>span:nth-child(2){font-size:17px;letter-spacing:10px}.gamebar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.gamebar h1{font:28px Georgia;margin:0}.gamebar small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.tag{border:1px solid #d4d8ca;border-radius:30px;padding:7px 13px;font-size:10px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px}.table{background:radial-gradient(ellipse at center,#2d5c49,#133a30 85%);border:7px solid #d9c8a7;border-radius:120px;min-height:440px;position:relative;box-shadow:0 2px 0 #b5a281,0 14px 30px #132a1810;color:#eceee4;display:flex;flex-direction:column;align-items:center;padding:18px 22px}.table:before{content:'';pointer-events:none;position:absolute;inset:8px;border:1px solid #b9b48a33;border-radius:106px}.opponents{display:flex;width:100%;justify-content:space-around;gap:10px}.player{text-align:center;position:relative;font-size:12px}.avatar{display:inline-flex;width:34px;height:34px;background:#e9e4d2;color:#2d4c36;border:2px solid #d0b47c;border-radius:50%;align-items:center;justify-content:center;font:20px Georgia;margin-right:6px;vertical-align:middle}.player small{display:block;color:#a9beae;font-size:9px;margin:7px 0}.player.turn .avatar{box-shadow:0 0 0 4px #d2b06b44}.backs{display:flex;justify-content:center;height:47px;margin:8px 0}.back{width:29px;height:43px;border:2px solid #eee5d2;border-radius:4px;background:repeating-linear-gradient(45deg,#35564a 0 3px,#567564 3px 4px);margin-left:-12px;box-shadow:0 1px 3px #0003}.back:first-child{margin-left:0}.table-center{position:relative;min-height:166px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.table-label{font:italic 20px Georgia;color:#b6c5ae;opacity:.6;letter-spacing:1px}.trick{display:flex;align-items:center;justify-content:center;gap:13px;min-height:106px}.played{text-align:center}.played small{display:block;font-size:9px;color:#a8bdaa;margin-top:5px}.card{width:57px;height:84px;border-radius:5px;border:1px solid #e3decf;background:#fffdf6;color:#1d3029;box-shadow:0 3px 5px #0002;position:relative;padding:5px 6px;text-align:left;flex-shrink:0;font:21px Georgia}.card .suit{display:block;font-size:19px;line-height:20px}.card .center-suit{position:absolute;right:8px;bottom:8px;font-size:30px;opacity:.85}.card.red{color:#b9443b}.hand{display:flex;justify-content:center;min-height:99px;max-width:100%;padding-top:12px}.hand .card{margin-left:-13px;transition:transform .15s,opacity .15s}.hand .card:first-child{margin-left:0}.hand .card:not(:disabled):hover{transform:translateY(-12px);z-index:5}.hand .card:disabled{opacity:.6}.hand .card.selected{transform:translateY(-15px);outline:2px solid #e6bc6d}.your-label{font-size:10px;color:#bacbb9;margin-top:8px}.minihand{display:flex;justify-content:center;gap:0;margin:6px 0}.minihand .card{width:34px;height:49px;font-size:13px;padding:3px;margin-left:-8px}.minihand .card .suit{font-size:13px;line-height:14px}.minihand .card .center-suit{display:none}.actions{padding:21px 0 0}.action-title{font-size:15px;font-weight:700;margin-bottom:7px}.action-sub{font-size:11px;color:var(--muted);line-height:1.6;margin-bottom:14px}.buttons{display:flex;flex-wrap:wrap;gap:7px}.btn{padding:9px 13px;border:1px solid #cdd3c4;background:#fffdf7;color:var(--ink);border-radius:5px;font-size:12px}.btn:hover:not(:disabled){background:#e6ebdf;border-color:#6a846c}.btn.gold{background:#e6d4af;border-color:#d0b77f}.bidgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:10px;max-width:450px}.bidgrid .btn{padding:7px 10px}.side{display:flex;flex-direction:column;gap:15px}.panel{border:1px solid var(--line);border-radius:8px;padding:17px;background:#f8f7f0}.panel h3{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#8b927f;margin:0 0 15px}.score-mini{width:100%;font-size:11px;border-collapse:collapse}.score-mini th{font-size:9px;font-weight:500;color:var(--muted);text-align:right;padding-bottom:11px}.score-mini td{padding:9px 0;border-top:1px solid #e6e6dc;text-align:right}.score-mini td:first-child,.score-mini th:first-child{text-align:left}.score-mini .me{font-weight:800}.log{max-height:185px;overflow:auto;display:flex;flex-direction:column;gap:9px;font-size:10px;line-height:1.6;color:#778373}.log div:first-child{color:#213e2d}.contract{font:26px Georgia}.contract-note{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.6}.result{background:#e6ebdf;border:1px solid #c5d1b9;padding:18px;border-radius:8px;margin-top:15px}.result h2{font:24px Georgia;margin:0 0 9px}.result p{font-size:12px;line-height:1.8;white-space:pre-line}.resume{margin-bottom:24px;background:#e7ecdf;padding:14px 18px;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}dialog{max-width:700px;width:calc(100% - 32px);max-height:85vh;border:0;border-radius:12px;padding:35px;background:#f7f5ec;color:var(--ink);box-shadow:0 20px 100px #001c2355}dialog::backdrop{background:#0b221abb;backdrop-filter:blur(5px)}dialog h2{font:30px Georgia;margin:0 0 20px}dialog h3{font-size:14px;margin-top:23px}dialog p,dialog li{font-size:12px;line-height:1.9;color:#667263}dialog a{color:#375b45}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;color:#79816e}.fullscore{width:100%;border-collapse:collapse;font-size:12px}.fullscore th,.fullscore td{text-align:right;border-bottom:1px solid #d9decf;padding:12px 7px}.fullscore th:first-child,.fullscore td:first-child{text-align:left}.positive{color:#3b7956}.negative{color:#b35445}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#122e25;color:#fff;padding:13px 21px;border-radius:6px;font-size:12px;display:none;z-index:20}.muted{color:var(--muted)}.statusline{background:#ffffff0b;border-radius:20px;padding:7px 14px;font-size:10px;color:#d3d8bd;max-width:95%;text-align:center}.empty{padding:25px;text-align:center;color:var(--muted)}@media(min-width:1500px){main{padding-top:60px}.art{min-height:460px}}@media(max-width:950px){.game-layout{grid-template-columns:1fr}.side{display:grid;grid-template-columns:1fr 1fr}.side .panel:last-child{display:none}.table{min-height:430px}.lobby{grid-template-columns:1.15fr 1fr}.hero-card{width:115px;height:177px}.hero-card .big{font-size:65px}.hero-card.one{transform:translate(-65px,12px) rotate(-20deg)}.hero-card.three{transform:translate(64px,18px) rotate(17deg)}}@media(max-width:650px){header{height:76px;padding:0 5%}.brand{font-size:13px;letter-spacing:1px}.brandmark{font-size:30px}.brand small{font-size:6px;letter-spacing:2px}nav{gap:13px}.offline{display:none}.quiet{font-size:11px}main{padding:26px 5%}.intro{margin:10px 0 22px}.intro h1{font-size:38px}.intro p{font-size:12px}.edition{display:none}.lobby{grid-template-columns:1fr}.art{min-height:230px}.hero-card{width:100px;height:147px;font-size:23px;padding:9px}.hero-card .big{font-size:51px;inset:43px 0}.art:after{bottom:17px;font-size:7px}.art:before{inset:12px}.art .ring{width:200px;height:200px}.variant{padding:13px 16px}.features{gap:15px}.feature .icon{display:none}.feature strong{font-size:10px}.feature p{font-size:9px}footer{font-size:8px}footer>span:last-child{display:none}.gamebar h1{font-size:23px}.gamebar .tag{font-size:9px;padding:6px 8px}.table{border-radius:52px;padding:17px 8px;border-width:5px;min-height:410px}.table:before{border-radius:40px}.hand .card{width:43px;height:71px;font-size:18px;margin-left:-12px;padding:4px}.hand .card .center-suit{font-size:24px;right:5px;bottom:5px}.hand .card .suit{font-size:16px}.table-center{min-height:153px}.side{gap:10px}.panel{padding:13px}.bidgrid .btn{padding:8px}.player{font-size:11px}.avatar{width:28px;height:28px}.resume{font-size:10px}.resume .primary{font-size:11px;padding:10px}.score-mini{font-size:10px}}
.played .card:disabled,.minihand .card:disabled{opacity:1}.card:focus-visible{outline:3px solid #d0ad66;outline-offset:2px}.table .hand .card:disabled{opacity:.72}
.sheet-modal{max-width:940px}.sheet-title{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:2px;margin:10px 0 16px;color:#7b7867}.classic-sheet{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#f4edda;border:2px solid #5b6b58;border-radius:3px;overflow:hidden;font-family:Georgia,serif;box-shadow:inset 0 0 60px #d7c6a433}.sheet-sector{position:relative}.sheet-sector h3{margin:0;padding:14px 18px;font-size:17px;color:#334c3b;background:#e7e2cd;border-bottom:1px solid #89917b}.sheet-left{border-right:1px solid #67785e}.sheet-bottom{grid-column:1/3;border-top:2px solid #5b6b58}.sheet-bottom h3{text-align:center}.sheet-band{display:grid;grid-template-columns:65px 1fr;min-height:61px;align-items:center;border-bottom:1px solid #8c947e;padding:9px 14px;gap:12px}.sheet-band label{font:9px Manrope,Arial,sans-serif;letter-spacing:1px;color:#7c806d}.sheet-band small{display:block;font-size:9px;letter-spacing:0;line-height:20px}.sheet-band div,.whist-band div div{font-size:21px;color:#34577d;line-height:1.5;overflow-wrap:anywhere}.sheet-band span,.whist-band span{color:#7e8b90;font-size:15px}.classic-sheet em{font-size:13px;color:#a2a28c}.whist-band{display:grid;grid-template-columns:1fr 1fr;min-height:80px}.whist-band>div{padding:12px 14px}.whist-band>div+div{border-left:1px solid #8c947e}.whist-band label{font:8px Manrope,Arial,sans-serif;letter-spacing:.8px;display:block;color:#7c806d;margin-bottom:8px}.sheet-center{position:absolute;width:75px;height:75px;background:#e5dcc4;border:1px solid #849177;top:calc(50% - 38px);left:calc(50% - 38px);transform:rotate(45deg);display:none}.sheet-center>*{transform:rotate(-45deg)}.sheet-caption{font-size:10px!important;line-height:1.6!important;margin:11px 0 30px}.sheet-open{margin-top:15px;background:transparent}.network-launch{margin-top:30px;border:1px solid #cad2bf;border-radius:10px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e9ede2}.network-launch h2{font:27px Georgia;margin:12px 0}.network-launch p{font-size:11px;color:#7d8875;line-height:1.7}.network-launch .buttons{justify-content:end;max-width:290px}.form-label{display:block;font-size:11px;color:#7d8875;margin:18px 0 8px}dialog input{width:100%;background:#fffdf7;border:1px solid #ccd2c1;padding:13px;border-radius:5px;color:#28432e;font:14px Manrope,Arial,sans-serif}#formError{color:#ad4e3a;min-height:20px}.waiting-seats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.seat-panel{border:1px dashed #c6cebd;border-radius:10px;text-align:center;padding:40px 15px}.seat-panel.occupied{border:1px solid #afbea3;background:#e5eadf}.seat-panel .avatar{width:50px;height:50px;font-size:28px;margin:0}.seat-panel h3{font-size:15px;margin-top:20px}.seat-panel p{font-size:11px;color:#87917d}.waiting-controls{display:flex;justify-content:center;gap:15px;align-items:center;margin:30px 0}.net-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#7e8d73;padding:0 3px 14px}.gamebar+.net-bar{margin-top:-8px}.network-launch .eyebrow{font-size:8px}@media(max-width:650px){.sheet-title{font-size:8px;letter-spacing:1px}.sheet-band{grid-template-columns:45px 1fr;padding:8px;gap:5px}.sheet-band div,.whist-band div div{font-size:18px}.whist-band>div{padding:9px 7px}.sheet-sector h3{font-size:15px;padding:12px}.sheet-band label{font-size:8px}.whist-band label{font-size:7px}.network-launch{flex-direction:column;align-items:start;padding:22px}.network-launch .buttons{justify-content:start;max-width:none}.network-launch h2{font-size:25px}.waiting-seats{gap:8px}.seat-panel{padding:24px 8px}.seat-panel h3{font-size:12px}.seat-panel p{font-size:9px}.waiting-controls{flex-direction:column}}
