@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@700;800&display=swap";:root{color:#f4f1e7;font-synthesis:none;--bg:#06120d;--surface:#0c2118;--surface-2:#102b20;--line:#efdea429;--gold:#dfc16f;--gold-2:#f1dc98;--muted:#9baa9f;--red:#a62d38;--felt:#0d3a29;--shadow:0 24px 70px #00000061;background:#06120d;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#f4f1e7;background:radial-gradient(circle at 50% -10%,#174b35 0,#0000 38%),linear-gradient(145deg,#07150f,#030907 72%);min-width:320px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.app-shell{min-height:100vh;min-height:100dvh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#040e0ad1;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 clamp(18px,4vw,52px);display:grid;position:relative}.topbar__side{align-items:center;display:flex}.topbar__side--right{justify-content:flex-end;gap:14px}.brand-link{display:flex}.page{min-height:calc(100vh - 72px);padding:clamp(34px,7vw,78px) 20px}.game-main{height:calc(100vh - 72px);height:calc(100dvh - 72px);min-height:620px}.logo{letter-spacing:.13em;text-shadow:0 2px 28px #dfc16f24;align-items:center;gap:16px;font-family:Playfair Display,serif;font-size:clamp(2.4rem,8vw,5.7rem);font-weight:800;display:flex}.logo--compact{gap:9px;font-size:1.25rem}.logo__mark{grid-template-columns:1fr 1fr;gap:2px;width:.68em;height:.68em;display:grid;position:relative;transform:rotate(45deg)}.logo__mark i{background:var(--gold);display:block}.logo__mark i:nth-child(2),.logo__mark i:nth-child(3){opacity:.5}.home{flex-direction:column;justify-content:center;align-items:center;max-width:1120px;min-height:calc(100vh - 150px);margin:auto;display:flex;position:relative;overflow:hidden}.home__brand{text-align:center;margin-bottom:46px}.home__brand p{color:var(--muted);letter-spacing:.06em;margin:15px 0 0;font-size:1.05rem}.home__actions{grid-template-columns:1fr 1fr;gap:12px;width:min(100%,530px);display:grid}.home__actions .button--hero{grid-column:1/-1}.home__links{color:#b6c2ba;gap:30px;margin-top:28px;font-size:.92rem;display:flex}.home__links a{align-items:center;gap:8px;display:flex}.home__deck{color:#8e202b;opacity:.05;background:#f7f4e9;border-radius:14px;flex-direction:column;width:150px;height:210px;padding:18px;font-family:Playfair Display,serif;font-size:3rem;display:flex;position:absolute;bottom:-50px;right:-20px;transform:rotate(12deg)}.home__deck b{align-self:center;margin:auto;font-size:4rem}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 22px;font-weight:700;transition:transform .2s,background .2s,border .2s,opacity .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{opacity:.38;cursor:not-allowed}.button--gold{background:linear-gradient(135deg,var(--gold-2),#b98d32);color:#1b1609;box-shadow:0 10px 34px #c2963633}.button--surface{border-color:var(--line);background:#163327bd}.button--surface:hover{background:#183d2e}.button--ghost{border-color:var(--line);color:#b9c4bc;background:0 0}.button--full{width:100%}.button--hero{height:60px;font-size:1.08rem}.text-button{color:var(--gold-2);cursor:pointer;background:0 0;border:0;padding:10px;font-weight:600}.icon-button{border:1px solid var(--line);cursor:pointer;background:#122d22a6;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.mini-profile{color:#c5cec8;align-items:center;gap:8px;font-size:.88rem;display:flex}.avatar{text-transform:uppercase;color:#1a160a;background:linear-gradient(135deg,var(--gold-2),#ad8130);border:2px solid #ffffff1a;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.avatar--mini{width:30px;height:30px;font-size:.8rem}.content-narrow{max-width:650px;margin:auto}.content-wide{max-width:1080px;margin:auto}.eyebrow{color:var(--gold);letter-spacing:.2em;font-size:.72rem;font-weight:800}.content-narrow>h1,.content-wide>h1{margin:10px 0 30px;font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.3rem);line-height:1.04}.segment{border:1px solid var(--line);background:#081a12;border-radius:12px;margin-bottom:20px;padding:4px;display:flex}.segment button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:12px;font-weight:700}.segment button.active{color:#fff;background:#1a4935;box-shadow:0 6px 20px #0003}.mode-grid{gap:12px;display:grid}.mode-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:linear-gradient(135deg,#143728e6,#091c14e6);border-radius:16px;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:20px;transition:all .2s;display:grid}.mode-card:hover:not(:disabled){background:linear-gradient(135deg,#1a5039,#0b251a);border-color:#dfc16f7a;transform:translate(4px)}.mode-card:disabled{opacity:.55}.mode-card__icon{width:48px;height:48px;color:var(--gold);background:#dfc16f1a;border-radius:12px;place-items:center;display:grid}.mode-card h2{margin:0 0 5px;font-size:1.02rem}.mode-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.mode-card>b{color:var(--gold);font-size:1.2rem}.bot-glyph{border:1px solid;border-radius:4px;padding:3px;font-size:.62rem;font-weight:800}.form-card{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(155deg,#113123f2,#071710f5);border-radius:18px;padding:clamp(20px,5vw,32px)}fieldset{border:0;margin:0 0 28px;padding:0}legend,.field>span{color:#cbd2cd;margin-bottom:10px;font-size:.8rem;font-weight:700;display:block}.choice-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice{border:1px solid var(--line);color:#fff;cursor:pointer;background:#0a2117;border-radius:12px;padding:18px}.choice b{font-size:1.45rem;display:block}.choice span{color:var(--muted);font-size:.8rem}.choice.active{border-color:var(--gold);background:#dfc16f17}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:20px 0;display:flex}.setting-row div{flex-direction:column;gap:4px;display:flex}.setting-row span{color:var(--muted);font-size:.82rem}.switch{cursor:pointer;background:#36463d;border:0;border-radius:20px;flex:none;width:48px;height:27px;padding:3px}.switch i{background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .2s;display:block}.switch.on{background:#b98d32}.switch.on i{transform:translate(21px)}.field{margin-bottom:22px;display:block}.field input,.field select{border:1px solid var(--line);color:#fff;background:#06160f;border-radius:11px;width:100%;height:52px;padding:0 15px}.field input::placeholder{color:#63766a}.code-input{text-align:center;letter-spacing:.25em;text-transform:uppercase;font-size:1.5rem;font-weight:800}.form-error{color:#ffc3c8;background:#871d262e;border:1px solid #d4505a66;border-radius:10px;margin:12px 0;padding:12px 14px;font-size:.84rem}.range-row{border-top:1px solid var(--line);padding:20px 0;display:block}.range-row>span{justify-content:space-between;display:flex}.range-row em{color:var(--gold);font-style:normal}.range-row input{width:100%;accent-color:var(--gold);margin-top:16px}.matchmaking{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 160px);display:flex}.matchmaking h1{margin:8px 0;font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem)}.matchmaking>p{color:var(--muted);margin:0 0 30px}.search-orbit{border:1px solid #dfc16f38;border-radius:50%;place-items:center;width:150px;height:150px;margin-bottom:34px;display:grid;position:relative}.search-orbit:before,.search-orbit:after{content:"";border:1px solid #dfc16f1a;border-radius:50%;position:absolute;inset:-14px}.search-orbit:after{inset:14px}.search-orbit__core{color:var(--gold-2);font-family:Playfair Display,serif;font-size:3rem}.search-orbit__core small{color:var(--muted);font-size:1rem}.search-orbit i{background:var(--gold);transform-origin:0 75px;border-radius:50%;width:8px;height:8px;animation:2.6s linear infinite orbit;position:absolute;top:0}.search-orbit i:nth-child(2){animation-delay:-.9s}.search-orbit i:nth-child(3){animation-delay:-1.8s}@keyframes orbit{to{transform:rotate(360deg)}}.bot-offer{border:1px solid var(--line);background:#102c20;border-radius:15px;flex-direction:column;gap:10px;max-width:420px;margin-bottom:18px;padding:18px;display:flex}.bot-offer span{color:var(--muted);font-size:.85rem}.bot-offer .button{margin-top:5px}.lobby__head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;display:flex}.lobby__head h1{margin:8px 0 0;font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem)}.code-badge{color:#fff;cursor:pointer;background:#dfc16f14;border:1px solid #dfc16f59;border-radius:12px;grid-template-columns:auto auto;align-items:center;column-gap:10px;padding:10px 14px;display:grid}.code-badge span{letter-spacing:.18em;color:var(--gold);text-align:left;grid-column:1/-1;font-size:.58rem}.code-badge b{letter-spacing:.18em}.slots{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.slot{color:#718279;border:1px dashed #ffffff29;border-radius:14px;align-items:center;gap:14px;min-height:82px;padding:16px;display:flex;position:relative}.slot--filled{border-style:solid;border-color:var(--line);color:#fff;background:linear-gradient(135deg,#123425,#0a2118)}.slot div{flex-direction:column;gap:3px;display:flex}.slot div span{color:var(--muted);font-size:.78rem}.slot__number{border:1px dashed;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.slot__remove{cursor:pointer;background:#00000040;border:0;border-radius:50%;width:24px;height:24px;position:absolute;top:9px;right:9px}.bot-badge{letter-spacing:.08em;color:#171306;background:var(--gold);border-radius:4px;justify-content:center;align-items:center;margin-left:7px;padding:3px 5px;font-size:.55rem;font-style:normal;display:inline-flex}.lobby__actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.lobby__hint{text-align:center;color:var(--muted);margin-top:25px;font-size:.83rem}.app-shell--table{background:radial-gradient(#155039 0,#0b3022 48%,#061810 100%)}.game-table{height:100%;padding:12px clamp(10px,2vw,26px) max(10px,env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(255px,1fr) auto;gap:8px;display:grid;position:relative;overflow:hidden}.game-table:before{content:"";pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}.opponents{z-index:1;justify-content:center;gap:clamp(6px,2vw,18px);display:flex}.opponent{border:1px solid var(--line);background:#04120cad;border-radius:12px;flex:1;align-items:center;gap:8px;min-width:150px;max-width:210px;padding:8px;transition:all .2s;display:flex}.opponent .avatar{width:36px;height:36px;font-size:.82rem}.opponent--active{border-color:var(--gold);box-shadow:0 0 0 2px #dfc16f1f,0 8px 26px #00000038}.opponent--finished{opacity:.65}.opponent__info{flex-direction:column;min-width:0;display:flex}.opponent__info b{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.opponent__info span{color:var(--muted);font-size:.68rem}.card-stack{margin-left:auto;display:flex}.card-stack .playing-card:last-child{margin-left:-27px;transform:rotate(5deg)}.turn-banner{z-index:1;border:1px solid var(--line);background:#030e09b3;border-radius:30px;justify-self:center;align-items:center;gap:8px;padding:7px 14px;font-size:.75rem;font-weight:700;display:flex}.status-dot{background:#6e8075;border-radius:50%;width:7px;height:7px}.status-dot--gold{background:var(--gold);box-shadow:0 0 10px var(--gold)}.replace-button{border:1px solid var(--gold);color:var(--gold);cursor:pointer;background:#dfc16f1f;border-radius:5px;margin-left:auto;padding:4px;font-size:.55rem;font-weight:800}.board{z-index:1;background:#03100a38;border:1px solid #dfc16f1a;border-radius:16px;align-self:center;gap:6px;width:min(100%,940px);margin:auto;padding:9px;display:grid}.board-lane{grid-template-columns:75px minmax(0,1fr);align-items:center;gap:8px;display:grid}.lane-label{color:#e5e2d8;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;font-size:.72rem;display:flex}.lane-label span{font-size:1.15rem}.lane-label.red{color:#ef8b91}.lane-cards{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.card-slot{aspect-ratio:.7;color:#ffffff2e;border:1px dashed #ffffff1f;border-radius:5px;place-items:center;font-size:.64rem;display:grid}.card-slot--five{color:#dfc16f66;border-color:#dfc16f42}.player-zone{z-index:2;border:1px solid var(--line);background:linear-gradient(#030f0a8c,#030c08e6);border-radius:16px 16px 8px 8px;padding:8px 12px}.player-zone__head{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto 3px;display:flex}.player-zone__head>div{align-items:baseline;gap:10px;display:flex}.player-zone__head span{color:var(--muted);font-size:.68rem}.button--pass{border-color:var(--line);background:#ffffff0a;min-height:32px;padding:0 14px;font-size:.72rem}.hand{justify-content:center;align-items:flex-end;max-width:1000px;height:116px;margin:auto;padding:0 16px;display:flex;overflow:auto hidden}.hand .playing-card{margin-left:-15px;transition:all .18s;transform:translateY(15px)}.hand .playing-card:first-child{margin-left:0}.hand .playing-card--playable{box-shadow:0 0 0 3px var(--gold),0 9px 24px #0000004d;cursor:pointer;transform:translateY(1px)}.hand .playing-card--playable:hover{transform:translateY(-5px)}.playing-card{color:#151712;background:linear-gradient(145deg,#fffef8,#e9e5d9);border:1px solid #d9d5ca;border-radius:8px;flex:none;width:70px;height:100px;padding:6px;position:relative;overflow:hidden;box-shadow:0 4px 13px #00000040}.playing-card:disabled{opacity:1}.playing-card--red{color:#a92532}.playing-card--small{border-radius:5px;width:48px;height:68px;padding:4px}.card-corner{flex-direction:column;align-items:center;line-height:.95;display:flex;position:absolute;top:4px;left:7px}.card-corner b{font-family:Playfair Display,serif;font-size:1rem}.card-corner i{font-size:.8rem;font-style:normal}.card-suit{place-items:center;font-size:2rem;display:grid;position:absolute;inset:0}.playing-card--small .card-corner{top:3px;left:4px}.playing-card--small .card-corner b{font-size:.68rem}.playing-card--small .card-corner i{font-size:.5rem}.playing-card--small .card-suit{font-size:1.25rem}.playing-card--placed{animation:.2s ease-out place}.playing-card--back{background:#ede5cb;border-color:#c6b77e;padding:4px}.card-back__inner{background:repeating-linear-gradient(45deg,#0d3325 0 4px,#174a36 4px 8px);border:2px solid #c9a94f;border-radius:5px;place-items:center;height:100%;display:grid}.card-back__inner span{color:#173527;background:#d9bc69;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Playfair Display,serif;font-weight:800;display:grid}.playing-card--small .card-back__inner span{width:17px;height:17px;font-size:.65rem}@keyframes place{0%{opacity:.4;transform:translateY(12px)scale(.92)}}.with-motion .opponent--active{animation:1.5s ease-in-out infinite activePulse}@keyframes activePulse{50%{box-shadow:0 0 0 4px #dfc16f14,0 8px 30px #0000004d}}.toast-error{z-index:30;box-shadow:var(--shadow);background:#531a20;border:1px solid #a95059;border-radius:10px;padding:11px 16px;font-size:.8rem;position:fixed;bottom:150px;left:50%;transform:translate(-50%)}.results{text-align:center}.results>h1{color:var(--gold-2);margin-bottom:10px;font-size:clamp(3rem,8vw,5rem)}.results>p{color:var(--muted)}.ranking{text-align:left;gap:9px;margin:30px 0;display:grid}.ranking__row{border:1px solid var(--line);background:#0d271c;border-radius:12px;align-items:center;gap:13px;min-height:64px;padding:8px 15px;display:flex}.ranking__row.is-me{border-color:var(--gold);background:#dfc16f17}.ranking__rank{width:25px;color:var(--gold);font-family:Playfair Display,serif;font-size:1.5rem}.ranking__row .avatar{width:40px;height:40px}.result-actions{flex-direction:column;gap:9px;display:flex}.rules-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.rules-grid article{border:1px solid var(--line);background:linear-gradient(145deg,#103122,#081c14);border-radius:15px;padding:22px}.rules-grid article>span{color:var(--gold);letter-spacing:.15em;font-size:.7rem;font-weight:800}.rules-grid h2{margin:8px 0;font-family:Playfair Display,serif}.rules-grid p{color:#b3beb6;margin:0;font-size:.93rem;line-height:1.65}.sequence-demo{border:1px solid var(--line);background:#071811;border-radius:15px;margin-top:18px;padding:22px}.sequence-demo h2{font-family:Playfair Display,serif}.sequence-demo>div{gap:5px;padding:7px 2px;display:flex;overflow-x:auto}.sequence-demo p{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.83rem;display:flex}.sequence-demo p span{flex:1}.settings-card .field:last-child{margin-bottom:0}.modal-backdrop{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100;background:#020805db;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:linear-gradient(155deg,#123727,#071a12);border:1px solid #dfc16f4d;border-radius:18px;width:min(100%,440px);padding:30px;box-shadow:0 30px 100px #000}.modal-card h2{margin:9px 0;font-family:Playfair Display,serif;font-size:2rem}.modal-card p{color:var(--muted);margin-bottom:24px;font-size:.9rem;line-height:1.5}.fatal-screen,.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.fatal-screen h1{letter-spacing:.15em;color:var(--gold);font-family:Playfair Display,serif;font-size:3rem}.fatal-screen p{color:var(--muted)}.fatal-screen code{border:1px solid var(--line);text-align:left;background:#0d271c;border-radius:10px;padding:15px}.spinner{border:2px solid #ffffff24;border-top-color:var(--gold);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.loading-state p{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:760px){.topbar{height:60px;padding:0 13px}.mini-profile>span:last-child{display:none}.page{min-height:calc(100vh - 60px);padding:32px 15px}.game-main{height:calc(100vh - 60px);height:calc(100dvh - 60px);min-height:580px}.home{min-height:calc(100vh - 120px)}.home__brand{margin-bottom:34px}.home__brand p{font-size:.88rem}.slots,.rules-grid{grid-template-columns:1fr}.lobby__head{flex-direction:column;align-items:flex-start}.lobby__actions{flex-direction:column}.board-lane{grid-template-columns:30px minmax(450px,1fr)}.lane-label b{display:none}.lane-label span{font-size:1rem}.board{width:100%;padding:7px;overflow-x:auto}.lane-cards{width:450px}.game-table{padding:8px 6px max(6px,env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(230px,1fr) auto}.opponents{justify-content:flex-start;padding:1px;overflow-x:auto}.opponent{min-width:125px;padding:6px}.opponent .avatar{width:29px;height:29px}.opponent__info b{font-size:.7rem}.card-stack{display:none}.hand{justify-content:flex-start;height:105px;padding:0 10px}.playing-card{width:62px;height:90px}.player-zone{padding:6px}.turn-banner{padding:5px 11px}.toast-error{width:calc(100% - 30px);bottom:125px}.sequence-demo{padding:15px}.home__deck{display:none}}@media (max-width:430px){.home__actions{grid-template-columns:1fr}.home__actions .button--hero{grid-column:auto}.home__links{gap:20px}.mode-card{grid-template-columns:42px 1fr auto;gap:11px;padding:16px}.mode-card__icon{width:42px;height:42px}.mode-card p{font-size:.78rem}.rules-grid article{padding:18px}.opponent{min-width:112px}.opponent__info span{font-size:.62rem}.board-lane{grid-template-columns:26px minmax(410px,1fr)}.lane-cards{width:410px}.playing-card--small{width:43px;height:61px}.game-table{min-height:560px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (min-width:761px){.board{max-width:820px;padding:10px 14px}.board-lane{grid-template-columns:82px 1fr}.lane-cards{grid-template-columns:repeat(10,56px);justify-content:center;gap:5px}.lane-cards .playing-card--small{width:56px;height:80px}}@media (min-width:1180px) and (min-height:760px){.board{max-width:1020px}.lane-cards{grid-template-columns:repeat(10,64px);gap:7px}.lane-cards .playing-card--small{width:64px;height:91px}.card-slot{font-size:.72rem}.hand{height:126px}.playing-card{width:76px;height:108px}}@media (max-width:760px){body{overflow-x:hidden}.page{width:100%;overflow-x:hidden}.board{min-width:0;overflow:visible}.board-lane{grid-template-columns:24px minmax(0,1fr);gap:3px;min-width:0}.lane-cards{grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;width:auto;min-width:0}.lane-cards .playing-card--small{aspect-ratio:.7;border-radius:4px;width:100%;min-width:0;height:auto;padding:2px}.lane-cards .playing-card--small .card-corner{top:2px;left:2px}.lane-cards .playing-card--small .card-corner b{font-size:clamp(.48rem,2.15vw,.65rem)}.lane-cards .playing-card--small .card-corner i{font-size:clamp(.38rem,1.7vw,.52rem)}.lane-cards .playing-card--small .card-suit{font-size:clamp(.68rem,3.7vw,1.15rem)}.card-slot{border-radius:3px;min-width:0;font-size:clamp(.48rem,2vw,.62rem)}.game-table{grid-template-rows:auto auto minmax(205px,1fr) auto}.player-zone{width:100%;min-width:0}.hand{scrollbar-width:thin;overscroll-behavior-x:contain;max-width:100%}.content-narrow,.content-wide,.form-card{width:100%}}@media (max-width:430px){.board-lane{grid-template-columns:21px minmax(0,1fr)}.board{gap:4px;padding:5px 4px}.lane-label span{font-size:.88rem}.player-zone__head{padding-inline:4px}.opponents{scrollbar-width:none}.opponents::-webkit-scrollbar{display:none}.home__actions,.home__links{width:100%}.home__links{justify-content:center}}@media (orientation:landscape) and (max-height:620px){.app-shell--table .topbar{height:44px}.app-shell--table .game-main{height:calc(100dvh - 44px);min-height:0}.app-shell--table .logo--compact{font-size:1rem}.game-table{grid-template-rows:auto auto auto auto;min-height:0;padding-block:4px;overflow-y:auto}.opponent{min-height:38px;padding:4px 7px}.opponent .avatar{width:28px;height:28px}.turn-banner{padding:4px 10px}.board{max-width:680px}.board-lane{grid-template-columns:28px minmax(0,1fr)}.lane-cards{grid-template-columns:repeat(10,minmax(0,1fr));gap:2px}.lane-cards .playing-card--small{aspect-ratio:.7;width:100%;height:auto}.hand{height:84px}.hand .playing-card{width:52px;height:75px}}@media (max-width:600px){html,body,#root,.app-shell,.game-main,.game-table{max-width:100%;overflow-x:hidden}.game-table{padding-left:5px;padding-right:5px}.opponents{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;padding:0;display:grid;overflow:visible}.opponents:has(.opponent:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.opponent{gap:6px;width:100%;min-width:0;max-width:none;padding:6px}.opponent .avatar{width:30px;height:30px;font-size:.72rem}.opponent__info{min-width:0}.opponent__info b{max-width:100%;font-size:.68rem}.opponent__info span{font-size:.6rem}.opponent .bot-badge{margin-left:3px;padding:2px 3px;font-size:.47rem}.board{width:100%;max-width:100%;padding:5px 3px;overflow:hidden}.board-lane{grid-template-columns:19px minmax(0,1fr);gap:2px;width:100%}.lane-cards{grid-template-columns:repeat(10,minmax(0,1fr));gap:1px;width:100%;max-width:100%;overflow:hidden}.lane-cards>*{min-width:0;max-width:100%}.lane-cards .playing-card--small{aspect-ratio:.7;border-radius:3px;width:100%;max-width:100%;height:auto}.card-slot{aspect-ratio:.7;width:100%;max-width:100%}.lane-label{justify-content:center}.lane-label span{font-size:.82rem}.player-zone{width:100%;max-width:100%;padding-inline:5px;overflow:hidden}.hand{justify-content:center;width:100%;max-width:100%;height:100px;padding:0 6px;overflow:hidden}.hand .playing-card{width:56px;height:82px;margin-left:max(-30px,11.1111vw - 64.8889px);transform:translateY(10px)}.hand .playing-card:first-child{margin-left:0}.hand .playing-card--playable{transform:translateY(0)}}@media (max-width:360px){.opponent{gap:4px;padding:5px 4px}.opponent .avatar{width:27px;height:27px}.opponent__info b{font-size:.62rem}.game-table{padding-inline:3px}.board{padding-inline:2px}.board-lane{grid-template-columns:17px minmax(0,1fr);gap:1px}.lane-cards{gap:1px}.hand{padding-inline:3px}.hand .playing-card{width:54px;height:80px;margin-left:max(-29px,11.1111vw - 62.6667px)}}.lane-cards .playing-card--placed{z-index:2;border-color:#f3ead0;transform:scale(1.08);box-shadow:0 5px 16px #0000006b,0 0 0 1px #dfc16f57}.lane-cards .playing-card--placed .card-corner b{font-size:.82rem}.lane-cards .playing-card--placed .card-corner i{font-size:.62rem}.lane-cards .playing-card--placed .card-suit{font-size:1.5rem}@media (max-width:760px){.lane-cards .playing-card--placed{transform:scale(1.14)}.lane-cards .playing-card--placed:first-child{transform-origin:0}.lane-cards .playing-card--placed:last-child{transform-origin:100%}.lane-cards .playing-card--placed .card-corner b{font-size:clamp(.6rem,2.65vw,.78rem)}.lane-cards .playing-card--placed .card-corner i{font-size:clamp(.46rem,2vw,.6rem)}.lane-cards .playing-card--placed .card-suit{font-size:clamp(.9rem,4.5vw,1.35rem)}}
