:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f6f8;background:#090b10;--bg:#090b10;--surface:#11151d;--surface-2:#171d27;--surface-3:#202733;--line:#2b3441;--muted:#8e99a8;--soft:#c5ccd5;--cream:#f0ede4;--accent:#c6f36b;--cyan:#75d7e8;--coral:#f28b79;--violet:#b59bed;--shadow:0 24px 70px #0008;--radius:22px}*{box-sizing:border-box}html{min-height:100%;overflow-x:hidden}body{margin:0;min-height:100dvh;background:radial-gradient(900px 480px at 70% -10%,#1c2939 0,#0d1118 47%,#090b10 100%);font-size:15px}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.topbar{height:76px;max-width:1240px;margin:auto;padding:env(safe-area-inset-top) 32px 0;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:.12em;font-size:13px}.brand-mark{display:grid;place-items:center;width:26px;height:26px;color:#0b1009;background:var(--accent);border-radius:8px;font-size:14px}.brand em{font-style:normal;color:#667181;font-size:9px;letter-spacing:.16em;margin-left:3px}.connection{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.connection i,.live-dot{width:7px;height:7px;border-radius:50%;background:#70d69a;box-shadow:0 0 0 4px #70d69a18}.connection.offline i{background:var(--coral);box-shadow:0 0 0 4px #f28b7918}.page{max-width:1240px;margin:auto;padding:38px 32px 80px;min-height:calc(100dvh - 140px)}.site-footer{max-width:1240px;margin:auto;border-top:1px solid #242a34;padding:20px 32px max(24px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;color:#697383;font-size:11px}.site-footer nav{display:flex;gap:20px}.site-footer a{text-decoration:none}.eyebrow,.section-label{display:block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.home-hero{display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:end;padding:62px 0 54px}.hero-copy h1{font-size:clamp(54px,7vw,92px);line-height:.92;letter-spacing:-.07em;margin:20px 0 24px;font-weight:800}.hero-copy h1 em{color:var(--accent);font-style:normal}.hero-copy p{color:var(--muted);font-size:18px;line-height:1.6;max-width:460px;margin:0}.game-select{display:grid;gap:10px}.game-select .section-label{margin-bottom:4px}.game-choice{border:1px solid var(--line);background:#11161e;color:#f4f6f8;border-radius:16px;display:flex;align-items:center;gap:14px;text-align:left;padding:13px 15px;transition:.2s ease;min-height:66px}.game-choice:hover,.game-choice.active{border-color:#657283;background:#1a222d;transform:translateX(4px)}.game-choice.active{box-shadow:0 0 0 1px var(--accent) inset}.game-choice>span:nth-child(2){display:grid;gap:4px;flex:1}.game-choice b{font-size:14px}.game-choice small{font-size:11px;color:var(--muted)}.game-choice i{font-style:normal;color:#7f8a99;font-size:24px}.choice-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#28303b;font-size:18px}.tone-last .choice-icon,.game-pill.tone-last{color:#0c1209;background:var(--accent)}.tone-poker .choice-icon,.game-pill.tone-poker{color:#d7eff2;background:#173a43}.tone-skat .choice-icon,.game-pill.tone-skat{color:#e3dcff;background:#312648}.lobby-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px}.entry-card,.panel-card,.lobby-code-card{background:linear-gradient(145deg,#171c25,#10141b);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 15px 50px #0003}.entry-card{display:flex;flex-direction:column;gap:18px}.entry-primary{border-color:#596c42}.entry-heading{display:flex;gap:14px;align-items:center;margin-bottom:2px}.entry-heading h2{font-size:18px;margin:0 0 3px}.entry-heading p{font-size:12px;color:var(--muted);margin:0}.entry-number{font:12px ui-monospace,monospace;color:var(--accent);background:#24301d;border-radius:9px;padding:7px}.entry-card label{color:var(--muted);font-size:12px}.entry-card input{display:block;width:100%;margin-top:8px;padding:13px 14px;border-radius:11px;border:1px solid #344050;background:#0c1016;color:#fff;outline:none}.entry-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c6f36b1c}.code-input{text-transform:uppercase;letter-spacing:.18em}.button{border:0;border-radius:11px;min-height:48px;padding:12px 17px;font-weight:750;display:inline-flex;justify-content:center;align-items:center;gap:12px;transition:.18s ease}.button:disabled{opacity:.4;cursor:not-allowed}.button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.button-primary{background:var(--accent);color:#0d1209}.button-secondary{background:#2a3442;color:#eef2f7}.button-ghost{background:transparent;border:1px solid #3a4554;color:#d7dce4}.button-danger{background:#7f2f32;color:#fff}.button-accent{background:#253d39;color:#a9ece5}.button-wide{width:100%;justify-content:space-between}.home-note{color:#697383;font-size:12px;margin:22px 0}.home-note span{color:var(--accent);font-size:18px;vertical-align:-2px;margin-right:7px}.lobby-layout,.game-layout{max-width:1080px;margin:auto}.lobby-head,.game-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:20px 0 34px}.lobby-head h1,.game-toolbar h1{font-size:clamp(32px,5vw,55px);letter-spacing:-.05em;margin:12px 0 8px}.lobby-head p{color:var(--muted);margin:0}.game-pill{border-radius:100px;padding:10px 14px;font-size:12px;font-weight:750;white-space:nowrap}.lobby-grid{display:grid;grid-template-columns:350px 1fr;gap:18px}.lobby-code-card{background:linear-gradient(145deg,#1d2a1a,#131a16);border-color:#4a6438;display:flex;flex-direction:column;justify-content:center;min-height:290px}.big-code{font:800 clamp(40px,7vw,66px) ui-monospace,monospace;letter-spacing:.13em;color:var(--accent);margin:18px 0 20px}.copy-button{border:1px solid #455263;background:#202834;color:#edf1f6;border-radius:10px;padding:11px 14px;font-size:12px;display:inline-flex;align-items:center;gap:9px;width:max-content}.copy-button:hover{background:#2b3644}.code-hint{color:#899482;font-size:11px;margin-top:16px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-title h2{margin:7px 0 0;font-size:22px}.live-dot{display:inline-flex;align-items:center;gap:8px;width:auto;height:auto;color:#7ae1a2;background:#18271f;border-radius:100px;padding:7px 10px;font-size:9px;letter-spacing:.12em}.player-list{list-style:none;margin:0;padding:0}.player-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #28313d}.player-row:last-child{border-bottom:0}.avatar,.mini-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#2c3848;color:#e2e8ef;font-weight:800}.avatar{width:36px;height:36px}.avatar-1{background:#3c2f55}.avatar-2{background:#5a382c}.avatar-3{background:#244c4f}.avatar-4{background:#4c4730}.player-info{display:grid;gap:3px;flex:1;min-width:0}.player-info b{overflow-wrap:anywhere}.player-info small,.player-state{color:var(--muted);font-size:11px}.player-state{display:flex;align-items:center;gap:6px}.player-state i{width:6px;height:6px;border-radius:50%;background:#65707d}.player-state.is-ready{color:#80d8a0}.player-state.is-ready i{background:#72d89b}.lobby-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.waiting-banner{color:var(--muted);padding:14px}.game-toolbar{align-items:center}.game-toolbar h1{font:16px ui-monospace,monospace;letter-spacing:.08em;margin:7px 0 0;color:#dbe2ea}.opponents-strip{display:flex;gap:10px;overflow:auto;padding:4px 0 18px;scrollbar-width:none}.opponent-card{min-width:138px;border:1px solid #2d3642;background:#141a22;border-radius:14px;padding:11px 12px;display:grid;grid-template-columns:26px 1fr;column-gap:8px;align-items:center}.opponent-card b{font-size:12px;overflow-wrap:anywhere}.opponent-card>small{grid-column:2;color:var(--muted);font-size:10px}.opponent-card em{grid-column:2;color:var(--coral);font-size:10px}.mini-avatar{width:26px;height:26px;font-size:11px}.active-seat .opponent-card{border-color:var(--accent);box-shadow:0 0 0 1px #c6f36b44}.felt-table{position:relative;min-height:390px;border:1px solid #304c45;border-radius:42px;background:radial-gradient(ellipse at center,#204a40 0,#14342e 48%,#0d211e 100%);box-shadow:inset 0 0 0 10px #112c27,inset 0 0 80px #07110f,0 20px 70px #0007;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.theme-poker .felt-table{border-color:#3c5363;background:radial-gradient(ellipse at center,#273b48 0,#17252f 55%,#101920 100%);box-shadow:inset 0 0 0 10px #15232d,inset 0 0 80px #081018,0 20px 70px #0007}.table-title{position:absolute;top:24px;left:28px;display:flex;align-items:center;gap:10px}.table-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#ffffff12;color:var(--accent);font-size:18px}.table-title div{display:grid;gap:3px}.table-title span{font-size:11px;font-weight:800;letter-spacing:.14em}.table-title small{font-size:10px;color:#9fb4b0}.card-piles{display:flex;align-items:center;gap:48px}.deck-pile,.discard-pile{display:flex;flex-direction:column;align-items:center;gap:10px}.deck-pile small,.discard-pile small{font-size:10px;color:#adc4be}.pile-card,.playing-card{width:66px;height:94px;border-radius:10px}.pile-back{display:grid;place-items:center;border:2px solid #c6f36b88;background:repeating-linear-gradient(45deg,#202c22,#202c22 4px,#2e432b 4px,#2e432b 8px);color:var(--accent);font-size:24px;box-shadow:5px 8px 18px #0004}.turn-call{position:absolute;bottom:24px;background:#0b1715b8;border:1px solid #719a8d55;padding:9px 14px;border-radius:100px;color:#c9d8d3;font-size:12px}.turn-call b{color:var(--accent)}.pot-label{display:grid;justify-items:center;gap:4px;color:#a4b2bf;font-size:10px;letter-spacing:.16em}.pot-label strong{font-size:32px;color:#eef3f5;letter-spacing:0}.community-cards,.trick-area{display:flex;gap:8px;min-height:96px;align-items:center}.board-empty,.trick-area>span{color:#81918f;font-size:12px}.skat-info{display:flex;gap:20px;color:#a6bdb8;font-size:12px;margin:32px 0}.skat-info b{color:#f2f5f3;margin-left:5px}.hand-zone{margin-top:24px}.hand-label{display:flex;justify-content:space-between;align-items:center;color:#9aa6b4;font-size:10px;letter-spacing:.14em;font-weight:800}.hand-label small{font-weight:500;letter-spacing:0;color:#697584}.hand{display:flex;gap:9px;overflow-x:auto;justify-content:center;min-height:126px;padding:16px 5px 14px;scrollbar-width:thin}.playing-card{position:relative;flex:0 0 66px;border:1px solid #dce2e7;background:linear-gradient(145deg,#f7f8f8,#dce2e4);color:#172027;box-shadow:0 9px 20px #0006;display:flex;flex-direction:column;justify-content:space-between;text-align:left;padding:8px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.playing-card:hover,.playing-card.selected{transform:translateY(-9px);box-shadow:0 16px 22px #0008}.playing-card.selected{outline:3px solid var(--accent)}.playing-card .card-index{font:700 9px ui-monospace,monospace;opacity:.55}.playing-card strong{font-size:20px;align-self:center}.playing-card small{font-size:8px;text-transform:uppercase;opacity:.65}.playing-card.ember{border-bottom:4px solid #f28778}.playing-card.tide{border-bottom:4px solid #65cde0}.playing-card.moss{border-bottom:4px solid #76d98b}.playing-card.violet{border-bottom:4px solid #b79dea}.action-dock{margin-top:4px;display:flex;justify-content:center;gap:9px;min-height:54px}.poker-actions{display:flex;align-items:end;justify-content:center;flex-wrap:wrap;gap:9px;width:100%}.raise-field{display:grid;gap:5px;color:#9da8b7;font-size:10px;min-width:100px}.raise-field input{width:100%;height:48px;border-radius:10px;border:1px solid #3a4655;background:#171e28;color:#fff;padding:0 12px}.control-heading{text-align:center;display:grid;gap:5px;margin-bottom:13px;color:#eef3f1;font-size:15px}.control-heading small{color:#9bb0ab;font-size:11px}.bid-grid,.game-type-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;max-width:700px;margin:0 auto 14px}.choice-button{border:1px solid #41504f;background:#172725;color:#d9e9e4;border-radius:9px;padding:10px 13px;min-width:48px}.choice-button:hover{border-color:var(--accent);color:var(--accent)}.game-type{min-width:112px}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#050709c9;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.modal-card{position:relative;width:min(420px,100%);background:#171d26;border:1px solid #3a4654;border-radius:24px;padding:30px;box-shadow:var(--shadow)}.modal-card h2{font-size:28px;letter-spacing:-.04em;margin:12px 0 8px}.modal-card p{color:var(--muted);margin:0 0 22px}.modal-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#99a4b1;font-size:26px}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-choice{border:1px solid #394451;border-radius:12px;background:#222b37;color:#f4f5f5;padding:14px;text-align:left;display:flex;align-items:center;gap:10px}.color-choice i{width:12px;height:12px;border-radius:50%;background:currentColor}.color-choice.ember{color:#f28778}.color-choice.tide{color:#65cde0}.color-choice.moss{color:#76d98b}.color-choice.violet{color:#b79dea}.toast-stack{position:fixed;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:30;display:grid;gap:8px}.toast{background:#202934;border:1px solid #3e4b5b;color:#f3f5f7;border-radius:11px;padding:12px 15px;box-shadow:0 12px 30px #0006;font-size:13px;animation:toast-in .2s ease}.toast-success{border-color:#6bbd8a}.toast-error{border-color:#e47b75}.toast-out{opacity:0;transform:translateY(8px);transition:.2s}.muted{color:var(--muted)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:800px){.topbar{height:68px;padding:0 18px}.page{padding:24px 18px 60px}.home-hero{grid-template-columns:1fr;gap:38px;padding:30px 0 34px}.hero-copy h1{font-size:clamp(48px,14vw,72px)}.hero-copy p{font-size:16px}.lobby-entry,.lobby-grid{grid-template-columns:1fr}.lobby-grid{gap:12px}.lobby-code-card{min-height:220px}.lobby-head,.game-toolbar{align-items:flex-start;flex-direction:column;margin-bottom:24px}.game-pill{align-self:flex-start}.lobby-actions{justify-content:stretch}.lobby-actions .button{flex:1}.felt-table{min-height:320px;border-radius:28px;padding-left:12px;padding-right:12px}.opponents-strip{margin:0 -2px}.opponent-card{min-width:126px}.table-title{left:18px;top:18px}.action-dock{position:sticky;bottom:0;z-index:5;background:linear-gradient(transparent,#090b10 20%);padding:18px 0 max(10px,env(safe-area-inset-bottom));margin-left:-2px;margin-right:-2px}.poker-actions .button{flex:1 1 auto}.hand{justify-content:flex-start}.site-footer{padding-left:18px;padding-right:18px}}@media(max-width:430px){.brand em{display:none}.page{padding-left:14px;padding-right:14px}.hero-copy h1{font-size:47px}.entry-card{padding:21px}.lobby-actions{flex-direction:column}.lobby-actions .button{width:100%}.big-code{font-size:39px}.felt-table{min-height:292px}.pile-card,.playing-card{width:58px;height:84px}.playing-card{flex-basis:58px;padding:7px}.playing-card strong{font-size:17px}.hand{gap:6px;padding-left:1px;padding-right:1px}.action-dock{margin-top:0}.poker-actions{display:grid;grid-template-columns:1fr 1fr}.poker-actions .raise-field{grid-column:span 2}.poker-actions .button-primary{grid-column:span 2}.toast-stack{left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom))}.toast{text-align:center}.site-footer{font-size:10px}}@media(orientation:landscape) and (max-height:560px){.page{padding-top:16px}.home-hero{padding-top:18px;grid-template-columns:1fr 1fr;gap:30px}.hero-copy h1{font-size:44px}.felt-table{min-height:260px}.hand-zone{margin-top:8px}.hand{min-height:100px;padding-top:8px;padding-bottom:8px}.site-footer{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}