[hidden]{display:none!important}.online-page{background:#f6f5ef}.online-shell{max-width:1920px;margin:auto;padding:0 clamp(16px,3vw,72px)}.online-shell>.app-header{height:84px}.online-nav{display:flex;gap:8px}.online-nav a,.online-nav button{font-size:13px;padding:11px 16px;border-radius:24px;background:none;text-decoration:none;color:#74816d}.online-nav .active{background:#e6ebdc;color:#34553e}.connection{font-size:11px;color:#58774d}.connection.offline{color:#b16343}.lobby-view{display:block}.lobby-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#1f4334 30%,#284936ac),url('/assets/waldstube-table.png') center 20%/cover;border-radius:22px;margin:30px 0 42px;padding:48px 54px;min-height:330px;color:#fff4df;isolation:isolate}.lobby-hero .eyebrow{color:#b3c5a0}.lobby-hero h1{font-size:clamp(36px,3.6vw,64px);line-height:1.05;margin:16px 0}.lobby-hero p{font-size:14px;line-height:1.8;color:#d0d8c2;margin-bottom:24px}.lobby-hero .primary-button{background:#edd9b3;color:#294b37;padding:14px 22px}.hero-friends{position:absolute;right:2%;bottom:20px;width:52%;aspect-ratio:3;background:url('/assets/seated-friends.png') center/contain no-repeat;z-index:-1;filter:drop-shadow(0 15px 12px #071a2150)}.hero-note{position:absolute;right:10%;bottom:20px;color:#c7d0b8;font-size:11px}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.list-heading h2{font:38px var(--serif);margin-top:10px}.list-heading h2 span{color:#af8355}.count-badge{font-size:12px;color:#708165}.lobby-filters{display:flex;align-items:center;gap:24px;margin:24px 0}.search-field{display:flex;align-items:center;gap:10px;background:#fffdf7;border:1px solid #e0e3d6;border-radius:9px;padding:12px 16px;flex:1;max-width:480px}.search-field input{border:0;outline:none;background:none;width:100%;font-size:13px}.lobby-filters .checkbox-line{font-size:12px;color:#6c7c63}.lobby-filters input{accent-color:#345e46}.tables-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-height:180px}.table-tile{background:#fffdf7;border:1px solid #e2e5d8;border-radius:16px;padding:23px;transition:transform .2s,box-shadow .2s}.table-tile:hover{transform:translateY(-3px);box-shadow:0 10px 28px #243b2410}.tile-top{display:flex;justify-content:space-between;align-items:center}.table-tile h3{font:27px var(--serif);margin:18px 0 7px}.table-tile p{font-size:12px;color:#809071}.table-tile .rule-summary{min-height:34px;margin:17px 0}.tile-status{font-size:10px;padding:5px 9px;border-radius:20px;background:#e8f0dc;color:#4e6d3d}.tile-status.running{background:#f0e8dc;color:#957245}.tile-avatars{display:flex;gap:7px;margin:20px 0}.tile-avatars .portrait,.empty-seat{width:34px;height:34px;border-radius:50%;border:2px solid #e9e9de}.empty-seat{display:grid;place-items:center;border:1px dashed #c5ceb7;color:#99aa85}.tile-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.tile-bottom>span{font-size:11px;color:#77866b}.tile-bottom button{padding:10px 15px}.empty-lobby{grid-column:1/-1;border:1px dashed #cfd7c3;border-radius:16px;text-align:center;padding:42px;background:#eeefe5}.empty-lobby>span{font-size:35px;color:#95a580}.empty-lobby h3{font:27px var(--serif);margin:10px}.empty-lobby p{font-size:13px;color:#7a896d;line-height:1.8}.lobby-view footer{padding:30px 0}.room-view{display:block}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0}.room-heading h1{font-size:32px;margin:8px 0 0}.room-actions{display:flex;gap:18px}.waiting-room{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr);gap:24px;padding-bottom:35px}.waiting-main{padding:36px;border-radius:20px;background:linear-gradient(#274937f5,#214532f2),url('/assets/waldstube-table.png') center/cover;color:#f8efda;align-self:start}.waiting-main h2{font:34px var(--serif);margin:14px 0}.waiting-main>p{font-size:13px;line-height:1.7;color:#c0cdb1}.waiting-main .eyebrow{color:#b9c99e}.waiting-seats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:32px 0}.waiting-person{border:1px solid #c1d0a833;border-radius:14px;padding:22px 15px;background:#ffffff08;text-align:center;min-height:174px}.waiting-person .portrait{height:64px;width:64px;margin:auto;border:3px solid #e6d9b6}.waiting-person strong{display:block;font-size:16px;margin:12px 0 8px}.waiting-person small{color:#bcccaa;font-size:11px}.waiting-person.empty{border-style:dashed}.waiting-person .empty-seat{height:64px;width:64px;margin:auto;font-size:24px}.ready-bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid #d5dfb933;padding-top:22px}.ready-bar>span{font-size:12px;flex:1;min-width:140px}.ready-bar .primary-button{background:#efdbb2;color:#304f38}.waiting-main .reconnect-note{font-size:11px;margin-top:22px}.waiting-rules{background:#fffdf7;padding:28px;border-radius:20px;border:1px solid #e0e3d7}.waiting-rules h2{font:29px var(--serif);margin:12px 0}.waiting-rules>p{font-size:12px;color:#859176;line-height:1.7;margin-bottom:22px}.online-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bot-choice{font-size:13px;margin:23px 0;line-height:1.5}.bot-choice input{accent-color:#345e46}.subtle{font-size:11px;color:#829172;line-height:1.7;margin-top:15px}.field-label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#697b5b;margin:24px 0}.field-label input{max-width:none!important;width:100%;border:1px solid #d6ddcb;border-radius:8px;background:#fffdf6;padding:13px;font-size:15px}.online-page dialog h2{font:31px var(--serif);margin:9px 0 15px}.online-page dialog p{font-size:13px;line-height:1.8;color:#7f8e70}.online-page dialog{width:min(620px,calc(100vw - 30px))}.online-page .create-dialog{width:min(780px,calc(100vw - 30px))}.visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;border:0;margin:20px 0}.visibility-options legend{font-size:12px;margin-bottom:10px;color:#6d7d60}.visibility-options label{border:1px solid #dce2d2;border-radius:10px;padding:15px;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:7px}.visibility-options label:has(:checked){border-color:#88a371;background:#edf2e4}.visibility-options input{accent-color:#345e46}.visibility-options strong{font-size:13px}.visibility-options small{grid-column:2;font-size:11px;color:#899777;line-height:1.6}.rules-heading{display:flex;gap:15px;align-items:center;margin:24px 0 18px}.rules-heading h3{font-size:16px;margin-right:auto}.online-page [role=alert]{color:#a34c34;margin-top:12px}.online-page .room-view .game-layout{height:calc(100dvh - 208px);min-height:500px;padding-bottom:12px}.online-page .play-area{height:100%}.online-page .seat-name{max-width:95%}.online-page .seat-meta{white-space:nowrap}.online-page .seat-name strong{overflow:hidden;text-overflow:ellipsis}.online-page #table-message{top:90%}.online-page .last-trick-cards{flex-wrap:wrap}.online-page .last-card-wrap .playing-card{position:relative}.online-page .online-flight{position:fixed;z-index:100;pointer-events:none}.online-page .room-view .sidebar{overflow:auto}.online-page .result-row{font-size:13px}.online-page .result-score{margin-top:20px}.online-page .game-layout .table-stage{overflow:hidden}
@media(min-width:2000px){.online-shell{max-width:none}.lobby-view,.waiting-room{max-width:1840px;margin-inline:auto}.lobby-hero{min-height:440px;padding:64px}.tables-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.online-page .room-view .game-layout{height:calc(100dvh - 212px)}}
@media(max-width:1100px){.tables-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.waiting-room{grid-template-columns:1fr 1fr}.waiting-main,.waiting-rules{padding:23px}.online-rule-grid{grid-template-columns:1fr}.hero-friends{right:-10%;width:65%}.hero-note{display:none}}
@media(max-width:760px){.online-shell{padding:0 12px}.online-shell>.app-header{height:68px;flex-wrap:wrap;gap:5px}.online-nav a,.online-nav button{padding:7px;font-size:10px}.online-nav{gap:3px}.connection{display:none}.lobby-hero{margin:18px 0 28px;padding:28px 24px;min-height:380px}.lobby-hero h1{font-size:36px}.lobby-hero p{font-size:12px}.hero-friends{width:75%;right:-8%;bottom:0;opacity:.65}.lobby-hero .primary-button{position:relative;z-index:2}.list-heading h2{font-size:28px}.lobby-filters{flex-wrap:wrap;gap:12px}.search-field{max-width:none;flex-basis:100%}.tables-grid{grid-template-columns:1fr}.table-tile{padding:20px}.waiting-room{grid-template-columns:1fr}.waiting-main h2{font-size:28px}.waiting-seats{gap:10px}.room-heading{flex-wrap:wrap;padding:18px 0}.room-heading h1{font-size:27px}.room-actions{gap:15px}.online-page .room-view .game-layout{height:auto;min-height:0}.online-page .play-area{height:max(520px,calc(100dvh - 170px))}.online-page .sidebar{display:grid;grid-template-columns:1fr 1fr}.online-page .sidebar .side-card{padding:14px}.online-rule-grid{grid-template-columns:1fr 1fr}.rule-option label{font-size:11px}.visibility-options{grid-template-columns:1fr}.online-page .brand{font-size:20px}.online-page .brand-mark{width:28px;height:28px;font-size:24px}.online-page .lobby-view footer{gap:14px;flex-wrap:wrap}}
@media(max-width:430px){.online-rule-grid{grid-template-columns:1fr}.online-nav a{display:none}.waiting-main,.waiting-rules{padding:20px}.ready-bar .primary-button{width:100%;justify-content:center}.room-actions .outline-button{font-size:11px}.list-heading{align-items:flex-start}.count-badge{font-size:10px}}
