:root{color:#f8f1dc;background:#102f2a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--felt: #123b34;--felt-deep: #0d2524;--ink: #16211f;--paper: #fffaf0;--paper-soft: #f8f1dc;--gold: #d7ae58;--red: #c7433c;--blue: #4f8a9b;--club: #168657;--diamond: #d26a35;--heart: #c7433c;--spade: #26354b;--line: rgba(248, 241, 220, .18);--shadow: 0 22px 60px rgba(5, 13, 14, .35);--card-w: 96px;--card-h: 140px;--op-card-w: 44px;--op-card-h: 64px}:root{--velvet: #021f1a;--velvet-2: #06352b;--velvet-3: #0b4737;--gold-bright: #ffc766;--gold-dark: #8e5d1b;--cream: #fff3d7;--soft-cream: rgba(255, 243, 215, .76);--panel-green: rgba(2, 35, 29, .82);--panel-border: rgba(201, 132, 42, .42);--gold-gradient: linear-gradient(180deg, #ffe293 0%, #f6b34f 48%, #be7827 100%);--serif: Georgia, "Times New Roman", serif}body{color:var(--cream);background:radial-gradient(circle at 74% 18%,rgba(245,179,79,.13),transparent 24%),radial-gradient(circle at 30% 62%,rgba(15,95,70,.36),transparent 34%),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(135deg,#011310,#05251f 48%,#00110f);background-size:auto,auto,42px 42px,42px 42px,auto}.app-shell{width:min(100%,1760px);padding:clamp(10px,1.4vw,24px)}.app-shell:not(.room-shell){min-height:100vh}.app-header{position:relative;display:grid;grid-template-columns:minmax(230px,.8fr) minmax(300px,1fr) minmax(260px,.8fr);align-items:center;gap:18px;min-height:88px;margin-bottom:clamp(18px,2vw,30px);padding:14px 24px;border-color:#c27a2075;border-radius:8px;background:linear-gradient(180deg,#09372cd6,#011a16e0),var(--panel-green);box-shadow:inset 0 0 0 1px #ffe7a309,0 18px 54px #0000004d}.brand-mark{display:inline-flex;align-items:center;gap:14px;width:fit-content;min-height:58px;padding:0;border:0;color:var(--gold-bright);background:transparent;cursor:pointer}.brand-mark strong{font-family:var(--serif);font-size:clamp(24px,2.2vw,34px);font-weight:700;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.45)}.goat-emblem{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#06231d;background:var(--gold-gradient);border:1px solid rgba(255,226,147,.72);box-shadow:0 0 0 6px #00000024,0 8px 22px #00000057;font-size:32px;font-weight:900}.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3.2vw,54px)}.main-nav button{position:relative;min-height:44px;padding:0 6px;border:0;color:#fff3d7d1;background:transparent;font-size:clamp(16px,1.2vw,20px);cursor:pointer}.main-nav button.active,.main-nav button:hover{color:var(--gold-bright)}.main-nav button.active:after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:3px;border-radius:999px;background:var(--gold-gradient);box-shadow:0 0 18px #ffc766b8}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}.round-icon-button{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--panel-border);color:var(--gold-bright);background:radial-gradient(circle at 35% 20%,rgba(255,226,147,.22),transparent 40%),#011c18e6;cursor:pointer}.login-header-button,.invite-header-button{width:auto;min-height:56px;padding:0 24px;border-radius:999px;color:var(--gold-bright);border-color:var(--panel-border);background:#021f1ab8}.header-room-label{position:absolute;left:24px;bottom:-26px;color:#fff3d79e;font-size:13px}.primary-button{color:#06231d;background:var(--gold-gradient);border:1px solid rgba(255,226,147,.82);box-shadow:inset 0 1px #ffffff52,0 12px 28px #0000003d}.secondary-button,.icon-button,.field input,.chat-input-wrap,.segmented,.toggle-row{border-color:var(--panel-border);background:#00272085}.secondary-button{color:var(--gold-bright)}.page-panel,.feature-card,.rule-block,.stat-tile{border:1px solid var(--panel-border);border-radius:8px;background:linear-gradient(180deg,#0a4233c7,#011e1ae0),var(--panel-green);box-shadow:inset 0 0 0 1px #ffe7a309,0 22px 60px #00000040;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-panel{padding:clamp(22px,3vw,40px)}.page-title-row{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:var(--gold-bright)}.page-title-row.compact{margin-bottom:16px}.page-title-row h1,.ornate-heading h1,.landing-hero h1,.waiting-title h1,.placeholder-page h1{margin:0;color:var(--cream);font-family:var(--serif);font-weight:700;line-height:1.02;text-shadow:0 3px 0 rgba(0,0,0,.38)}.page-title-row h1{font-size:clamp(32px,4vw,52px)}.landing-shell{display:grid;gap:clamp(24px,3vw,42px)}.landing-hero{position:relative;display:grid;grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr);align-items:center;min-height:min(640px,calc(100vh - 168px));overflow:hidden}.hero-copy{position:relative;z-index:2;display:grid;justify-items:start;gap:26px;padding-left:clamp(20px,4vw,70px)}.gold-flourish{width:250px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),var(--gold-bright),var(--gold-dark),transparent)}.landing-hero h1{display:grid;gap:10px;font-size:clamp(58px,6.8vw,96px)}.landing-hero h1 span{color:var(--gold-bright)}.landing-hero p{max-width:520px;margin:0;color:var(--soft-cream);font-size:clamp(20px,1.8vw,28px);line-height:1.45}.hero-actions{display:flex;gap:26px;flex-wrap:wrap}.hero-actions .primary-button,.hero-actions .secondary-button{width:auto;min-width:250px;min-height:72px;padding:0 32px;font-size:20px}.hero-table{position:relative;min-height:560px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,199,102,.14),transparent 36%),linear-gradient(120deg,rgba(255,255,255,.03),transparent 34%),radial-gradient(ellipse at center,#064632,#022820 62%,#011814);box-shadow:inset 0 0 0 8px #522f0ce6,inset 0 0 0 14px #ffc7666b,inset 0 0 90px #00000075,0 28px 80px #0006;transform:translate(8%)}.hero-card,.mini-hero-card{position:absolute;width:128px;height:178px}.hero-card .card-face,.mini-hero-card .card-face{width:100%;height:100%}.hero-card-left{left:28%;top:110px;transform:rotate(-18deg)}.hero-card-mid{left:44%;top:78px;transform:rotate(-4deg)}.hero-card-right{left:58%;top:108px;transform:rotate(14deg)}.hero-deck{position:absolute;right:12%;top:160px;width:132px;height:184px;transform:rotate(10deg)}.hero-deck .card-back{width:100%;height:100%}.hero-club-mark{position:absolute;left:46%;top:310px;display:grid;place-items:center;width:170px;height:170px;border:2px solid rgba(255,199,102,.22);border-radius:50%;color:#ffc7664d}.hero-club-mark .suit-icon{width:78px;height:78px;opacity:.55}.landing-feature-grid,.lobby-feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,40px)}.feature-card{display:grid;justify-items:center;gap:14px;min-height:220px;padding:34px 28px;text-align:center}.feature-card>span{display:grid;place-items:center;width:94px;height:94px;border:1px solid var(--panel-border);border-radius:50%;color:var(--gold-bright);background:radial-gradient(circle at 35% 22%,#ffe29333,#001f1acc)}.feature-card h2,.rule-block h2,.quick-code-panel h2{margin:0;font-family:var(--serif);color:var(--cream)}.feature-card h2{font-size:28px}.feature-card p,.rule-block p,.placeholder-page p{margin:0;color:var(--soft-cream);line-height:1.45}.lobby-page{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr);gap:24px}.lobby-feature-strip{grid-column:1 / -1}.ornate-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.ornate-heading.compact{justify-content:flex-start}.ornate-heading h1{font-size:clamp(42px,4.4vw,62px)}.ornate-heading p{margin:10px 0 0;color:var(--soft-cream);font-size:18px}.room-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:18px;margin-bottom:22px}.search-field{position:relative;display:block}.search-field svg{position:absolute;left:16px;top:50%;color:var(--gold-bright);transform:translateY(-50%)}.search-field input{padding-left:48px}.room-filter-row{display:flex;gap:14px}.room-filter-row button{min-width:118px;min-height:50px;border:1px solid var(--panel-border);border-radius:8px;color:var(--cream);background:#00272085;cursor:pointer}.room-filter-row .selected{color:#06231d;background:var(--gold-gradient)}.room-browser{margin-top:0;padding-top:0;border-top:0}.room-browser .section-heading{display:none}.room-list{gap:8px}.room-list-item{grid-template-columns:minmax(180px,1fr) auto auto;min-height:80px;padding:14px 16px;border-color:#c9842a47;background:#00352a73}.room-list-item strong{color:var(--gold-bright);font-family:var(--serif);font-size:24px}.room-actions{grid-column:auto;grid-template-columns:auto auto}.room-actions .secondary-button{width:auto;min-width:108px}.create-room-panel{position:relative;overflow:hidden}.create-room-art{position:relative;height:150px;margin:-20px -24px 8px;overflow:hidden}.create-room-art:before{content:"";position:absolute;inset:0 -40px auto auto;width:74%;height:220px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,199,102,.15),transparent 54%),#063a2d;box-shadow:inset 0 0 0 5px #ffc76633,inset 0 0 0 10px #5c340eb3}.mini-hero-one{right:280px;top:20px;transform:scale(.68) rotate(-14deg)}.mini-hero-two{right:210px;top:0;transform:scale(.68) rotate(0)}.mini-hero-deck{position:absolute;right:32px;top:24px;width:90px;height:126px;transform:rotate(10deg)}.mini-hero-deck .card-back{width:100%;height:100%}.create-room-art .mini-hero-one{right:230px;top:18px;transform:scale(.68) rotate(-12deg);z-index:2}.create-room-art .mini-hero-two{right:160px;top:28px;transform:scale(.68) rotate(10deg);z-index:3}.create-room-art .mini-hero-deck{right:34px;top:24px}.form-section-label{color:var(--cream);font-size:18px}.quick-code-panel{display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid rgba(201,132,42,.32);border-radius:8px;background:#0027206b}.quick-code-panel h2{display:flex;align-items:center;gap:10px;color:var(--cream);font-size:24px}.waiting-room-layout{grid-template-columns:minmax(520px,1.15fr) minmax(360px,.85fr);gap:22px}.waiting-panel{padding:clamp(22px,3vw,36px)}.waiting-title{display:grid;justify-items:center;gap:10px;margin-bottom:24px}.waiting-title h1{font-size:clamp(42px,5vw,64px)}.waiting-title span{color:var(--soft-cream);font-size:20px}.waiting-seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.waiting-seat{min-height:132px;padding:18px 20px;background:#00352a6b}.waiting-seat>div{display:grid;gap:6px;min-width:0;flex:1}.waiting-seat strong{overflow:hidden;font-family:var(--serif);font-size:28px;text-overflow:ellipsis;white-space:nowrap}.waiting-seat b{padding:8px 13px;border:1px solid var(--panel-border);border-radius:8px;color:var(--gold-bright);background:#00272085;font-weight:700}.avatar-ring{display:grid;place-items:center;flex:0 0 auto;width:92px;height:92px;border:2px solid var(--gold-bright);border-radius:50%;color:var(--gold-bright);background:radial-gradient(circle at 38% 20%,#ffe2932e,#001f1adb);font-family:var(--serif);font-size:46px;font-weight:700}.room-config-panel{display:grid;align-content:start;gap:20px}.room-config-list{display:grid}.room-config-list>div,.readiness-block>div,.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;border-bottom:1px solid rgba(201,132,42,.22)}.room-config-list span,.readiness-block span,.settings-row span{color:var(--cream);font-size:18px}.room-config-list strong,.readiness-block strong,.settings-row strong{color:var(--gold-bright);font-size:18px;font-weight:500}.room-config-list .icon-button{width:38px;height:38px}.readiness-block{display:grid;gap:14px}.readiness-track{display:block;height:14px;border-radius:999px;background:#fff3d724;overflow:hidden}.readiness-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#61d66f,#4caf5c)}.room-action-stack{display:grid;gap:16px}.leave-danger-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:64px;border:1px solid rgba(255,76,54,.72);border-radius:8px;color:#ff6a55;background:#2f08082e;font:inherit;font-weight:800;cursor:pointer}.waiting-panel .chat-panel{min-height:320px;margin-top:30px;padding:18px}.profile-stat-grid,.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat-tile{display:grid;gap:8px;padding:24px}.stat-tile strong{color:var(--gold-bright);font-size:42px;line-height:1}.stat-tile span{color:var(--soft-cream)}.rule-block{padding:24px}.rule-block h2{color:var(--gold-bright);font-size:28px}.settings-list,.room-entry-form{display:grid;gap:14px}.settings-row{width:100%;padding:0;border-top:0;border-right:0;border-left:0;color:var(--cream);background:transparent;cursor:pointer}.placeholder-page{display:grid;justify-items:center;gap:18px;width:min(680px,100%);margin:clamp(40px,10vh,120px) auto 0;text-align:center}.placeholder-icon{display:grid;place-items:center;width:92px;height:92px;border:1px solid var(--panel-border);border-radius:50%;color:var(--gold-bright)}.room-shell{width:min(100%,1920px);background:radial-gradient(circle at center,rgba(255,199,102,.08),transparent 40%),linear-gradient(135deg,#021712,#052d24)}.room-shell .app-header{min-height:80px;margin-bottom:16px;padding:12px 18px}.room-shell .brand-mark strong{font-size:30px}.room-shell .goat-emblem{width:46px;height:46px;font-size:28px}.room-shell .game-layout{grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"table journal" "hand journal";grid-template-rows:minmax(0,1fr) 190px;gap:22px}.room-shell .journal-chat-panel{grid-area:journal;border-color:var(--panel-border);background:linear-gradient(180deg,#0a4233bf,#011e1ae6),var(--panel-green)}.room-shell .play-area{padding:72px 166px 0}.room-shell .table{border-radius:50%;border-color:#c9842a6b;background:radial-gradient(circle at center,rgba(255,199,102,.12),transparent 34%),radial-gradient(circle at center,#044f33f0,#023025f5 62%,#001b17fa);box-shadow:inset 0 0 0 3px #4b2b0cdb,inset 0 0 0 7px #ffc7662e,inset 0 0 100px #00000075}.room-shell .table:before{top:22px;right:22px;bottom:22px;left:22px;border-color:#c9842a38;border-radius:50%}.room-shell .table-status{position:absolute;left:50%;top:50%;z-index:4;width:min(360px,70%);border:0;border-radius:8px;background:#00221da8;transform:translate(-50%,calc(-50% + 118px));text-align:center}.room-shell .trick-zone{height:100%;padding-top:74px}.room-shell .opponent{border-color:var(--panel-border);background:#00251fd1}.room-shell .hand-panel{border-color:var(--panel-border);background:linear-gradient(180deg,#0a4233b8,#011e1ae6),var(--panel-green)}.room-shell .hand-panel .turn-actions{grid-template-columns:1fr 1fr;grid-template-rows:58px;align-self:start;height:58px;min-height:58px}.room-shell .hand-panel .turn-actions .secondary-button{min-height:58px;height:58px;font-size:18px}.room-shell .table-deck-card,.room-shell .played-card,.room-shell .stack-card{width:var(--card-w);height:var(--card-h)}@media (max-width: 1180px){.app-header{grid-template-columns:1fr;justify-items:center}.header-actions{justify-content:center}.landing-hero,.lobby-page,.waiting-room-layout{grid-template-columns:1fr}.hero-table{transform:none}.room-search-row{grid-template-columns:1fr}}@media (max-width: 900px){.main-nav{width:100%;justify-content:space-between;gap:8px;overflow-x:auto}.main-nav button{white-space:nowrap}.landing-hero{min-height:auto}.hero-copy{padding:18px 0 0}.landing-hero h1{font-size:clamp(46px,14vw,72px)}.hero-table{min-height:360px}.landing-feature-grid,.lobby-feature-strip,.waiting-seats{grid-template-columns:1fr}.room-filter-row{display:grid;grid-template-columns:repeat(3,1fr)}.room-filter-row button{min-width:0}.room-list-item{grid-template-columns:1fr}.room-actions{grid-template-columns:1fr 1fr}.room-shell .game-layout{grid-template-columns:1fr;grid-template-areas:"table" "hand" "journal";grid-template-rows:minmax(340px,1fr) minmax(190px,auto) minmax(220px,.6fr)}.room-shell .play-area{padding:58px 72px 0}.room-shell .journal-chat-panel{min-height:220px}}@media (max-width: 620px){.app-shell{padding:8px}.app-header{min-height:0;padding:12px}.brand-mark{min-height:44px}.brand-mark strong{font-size:24px}.goat-emblem{width:42px;height:42px;font-size:26px}.header-actions .secondary-button,.invite-header-button,.login-header-button{width:100%}.hero-actions .primary-button,.hero-actions .secondary-button{width:100%;min-width:0}.landing-hero,.hero-copy,.hero-actions,.landing-hero h1,.landing-hero h1 span,.landing-hero p{width:100%;max-width:100%}.landing-hero h1,.landing-hero p{overflow-wrap:anywhere}.page-panel{padding:18px}.create-room-art{display:none}.create-room-panel{grid-template-rows:auto auto auto auto auto}.room-shell .main-nav,.room-shell .invite-header-button{display:none}}.app-shell:not(.room-shell){display:grid;grid-template-rows:auto minmax(0,1fr);height:100dvh;overflow:hidden}.app-shell>.notice{position:fixed;right:clamp(12px,2vw,28px);top:calc(clamp(80px,8vw,104px) + env(safe-area-inset-top));z-index:260;width:min(380px,calc(100vw - 24px));margin:0;box-shadow:0 18px 42px #00000057}.route-home .landing-shell,.route-lobby .lobby-page,.route-profile .profile-page,.route-settings .settings-page,.route-rules .rules-page,.route-login .auth-page,.route-register .auth-page,.route-rating .placeholder-page,.route-room .room-entry-page{min-height:0;overflow:hidden}.route-home .landing-shell{grid-template-rows:minmax(0,1fr) 220px;height:100%}.landing-hero{min-height:0;height:100%}.hero-copy,.hero-table{min-width:0;min-height:0}.hero-copy{overflow:hidden}.landing-feature-grid{min-height:0}.landing-feature-grid .feature-card,.lobby-feature-strip .feature-card{height:100%;min-height:0;overflow:hidden}.feature-card h2,.feature-card p,.rule-block h2,.rule-block p,.stat-tile span,.settings-row span,.settings-row strong{max-width:100%;overflow:hidden;text-overflow:ellipsis}.feature-card p,.rule-block p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.route-lobby .lobby-page{grid-template-rows:minmax(0,1fr) 132px;height:100%;min-height:0}.rooms-panel,.create-room-panel,.waiting-panel,.room-config-panel,.page-panel{min-width:0;min-height:0;overflow:hidden}.rooms-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.rooms-panel .room-browser{min-height:0;overflow:hidden}.rooms-panel .room-list{min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain}.room-list-item{height:80px;min-height:80px;overflow:hidden}.room-list-item>div:first-child,.room-list-item strong,.room-list-item span,.room-flags,.room-flags small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-actions{min-width:224px}.create-room-panel{display:grid;grid-template-rows:150px auto auto auto minmax(0,1fr) auto;gap:12px;overflow-y:auto;overscroll-behavior:contain}.create-room-panel .auth-panel,.create-room-panel .action-block,.quick-code-panel{min-height:0}.create-room-panel .auth-panel{overflow:hidden}.quick-code-panel{align-self:end}.lobby-feature-strip .feature-card{padding:16px 18px}.lobby-feature-strip .feature-card>span{width:58px;height:58px}.lobby-feature-strip .feature-card h2{font-size:21px}.lobby-feature-strip .feature-card p{font-size:14px;-webkit-line-clamp:2}.field,.field input,.primary-button,.secondary-button,.leave-danger-button,.room-filter-row button,.segmented button{min-width:0}.field input,.primary-button,.secondary-button,.leave-danger-button,.room-filter-row button,.segmented button,.main-nav button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waiting-room-layout{height:100%;min-height:0}.waiting-panel{display:grid;grid-template-rows:auto minmax(0,288px) auto minmax(0,1fr)}.waiting-seats{min-height:0;overflow:hidden}.waiting-seat{height:132px;min-height:132px;overflow:hidden}.waiting-seat>div,.waiting-seat strong,.waiting-seat small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waiting-panel .chat-panel{min-height:0;height:100%;overflow:hidden}.room-config-panel{grid-template-rows:auto minmax(0,auto) auto minmax(0,1fr)}.room-config-list,.readiness-block,.room-action-stack{min-height:0}.room-config-list>div{height:58px}.room-action-stack{align-self:end}.profile-page,.settings-page,.rules-page,.auth-page,.room-entry-page{align-self:start;width:min(100%,1040px);max-height:100%;margin:0 auto;overflow:auto;overscroll-behavior:contain}.rules-grid,.profile-stat-grid{min-height:0}.route-rules .rules-page,.route-profile .profile-page,.route-settings .settings-page,.route-login .auth-page,.route-register .auth-page,.route-room .room-entry-page{overflow:auto;overscroll-behavior:contain}.rule-block{height:190px;overflow:hidden}.stat-tile{height:132px;overflow:hidden}.settings-row{height:64px;min-height:64px}.placeholder-page{align-self:center;max-height:calc(100dvh - 150px);overflow:hidden}.room-entry-form{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(160px,auto);align-items:end}.room-entry-form .primary-button{height:50px}.room-shell{overflow:hidden}.room-shell .app-header{flex:0 0 80px;min-height:80px;max-height:80px;overflow:hidden}.room-shell .brand-mark,.room-shell .main-nav,.room-shell .header-actions{min-width:0;overflow:hidden}.room-shell .game-layout{min-height:0;overflow:hidden}.room-shell .waiting-room-layout{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:22px;width:100%;min-height:0;height:auto;overflow:hidden}.room-shell .waiting-panel,.room-shell .room-config-panel{height:100%;max-height:100%;min-height:0;overflow:hidden}.room-shell .waiting-panel{grid-template-rows:auto minmax(0,212px) 34px minmax(0,1fr);gap:12px;padding:clamp(18px,2vw,30px)}.room-shell .waiting-title{margin-bottom:14px}.room-shell .waiting-title h1{font-size:clamp(34px,3.5vw,52px)}.room-shell .waiting-title span{font-size:17px}.room-shell .waiting-seat{height:100px;min-height:100px;padding:12px 14px}.room-shell .waiting-seat strong{font-size:22px}.room-shell .waiting-seat b{padding:6px 10px}.room-shell .avatar-ring{width:66px;height:66px;font-size:34px}.room-shell .spectator-list{min-height:0;overflow:hidden}.room-shell .spectator-list>span{display:none}.room-shell .spectator-list>div{height:28px;overflow:hidden}.room-shell .waiting-panel .chat-panel{grid-column:1 / -1;grid-row:4;position:relative;top:auto;height:100%;max-height:none;min-height:0;margin-top:0}.room-shell .room-config-panel{grid-template-rows:auto minmax(0,auto) auto minmax(0,1fr)}.room-shell .room-action-stack{align-self:end}.room-shell .play-area,.room-shell .hand-panel,.room-shell .journal-chat-panel,.room-shell .table,.room-shell .trick-zone{min-width:0;min-height:0;overflow:hidden}.room-shell .journal-feed,.room-shell .chat-messages,.room-shell .score-summary{min-height:0;overflow:auto;overscroll-behavior:contain}.room-shell .hand-scroll{min-width:0;overflow-x:auto;overflow-y:hidden}.room-shell .table-status strong,.room-shell .table-status small,.room-shell .hand-header strong,.room-shell .hand-header .muted,.room-shell .journal-row p,.chat-message span,.chat-message strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.room-shell .table-status small,.room-shell .journal-row p,.chat-message span{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media (max-width: 1180px){.app-shell:not(.room-shell){overflow:auto}.route-home .landing-shell,.route-lobby .lobby-page,.waiting-room-layout{height:auto;min-height:calc(100dvh - 122px);overflow:visible}.route-lobby .lobby-page{grid-template-rows:auto auto auto}.rooms-panel,.create-room-panel,.waiting-panel,.room-config-panel{overflow:hidden}.rooms-panel .room-list{max-height:420px}}@media (max-width: 760px){.app-shell:not(.room-shell){height:auto;min-height:100dvh}.route-home .landing-shell{grid-template-rows:auto auto}.landing-feature-grid,.lobby-feature-strip{grid-auto-rows:180px}.feature-card{min-height:0;height:180px}.room-entry-form{grid-template-columns:1fr}.create-room-panel{grid-template-rows:130px auto auto auto auto auto}}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scrollbar-width:none}body{margin:0;min-width:320px;min-height:100vh;-ms-overflow-style:none;background:radial-gradient(circle at 26% 18%,rgba(30,132,97,.18),transparent 28%),radial-gradient(circle at 74% 82%,rgba(215,174,88,.14),transparent 30%),linear-gradient(135deg,rgba(79,138,155,.12),transparent 38%),var(--felt-deep)}body::-webkit-scrollbar{display:none;width:0;height:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.wide-result,.event-list,.journal-feed,.chat-messages,.score-cards,.hand-scroll{scrollbar-width:none;-ms-overflow-style:none}.wide-result::-webkit-scrollbar,.event-list::-webkit-scrollbar,.journal-feed::-webkit-scrollbar,.chat-messages::-webkit-scrollbar,.score-cards::-webkit-scrollbar,.hand-scroll::-webkit-scrollbar{display:none;width:0;height:0}.app-shell{width:min(100%,1540px);min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) clamp(12px,2.4vw,28px) max(18px,env(safe-area-inset-bottom));animation:appFadeIn .36s ease-out both}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:12px 18px;border:1px solid rgba(248,241,220,.16);border-radius:12px;background:linear-gradient(90deg,#ffffff0e,#ffffff05),#07181685;box-shadow:0 16px 42px #050d0e42;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}.topbar-stats{display:flex;align-items:stretch;gap:8px;min-width:0;flex-wrap:wrap}.topbar-stats span{display:grid;gap:2px;min-height:48px;padding:7px 12px;border:1px solid rgba(248,241,220,.14);border-radius:10px;color:#f8f1dcad;background:#ffffff0e;font-size:12px;line-height:1.15}.topbar-stats strong{color:var(--paper);font-size:19px;line-height:1}.leave-top-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 14px;border-radius:10px;color:#ffd9d0;background:#c7433c1f;border:1px solid rgba(199,67,60,.45);font-weight:800}.topbar h1{margin:2px 0 0;font-size:clamp(30px,4.2vw,48px);line-height:1;letter-spacing:0}.eyebrow,.muted{margin:0;color:#f8f1dcb8;font-size:13px}.connection-badge,.icon-button,.primary-button,.secondary-button,.segmented button,.card-button{min-height:44px;border:0;cursor:pointer}.connection-badge{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:116px;padding:10px 12px;border-radius:999px;color:var(--paper-soft);background:#ffffff14;border:1px solid var(--line);white-space:nowrap}.connection-badge small{padding-left:4px;color:inherit;opacity:.72;font-size:12px}.connection-badge.open{color:#0f2b25;background:var(--gold)}.connection-badge.closed{color:var(--paper);background:#c7433c40}.notice{margin-bottom:14px;padding:12px 14px;border-radius:8px;background:#c7433c38;border:1px solid rgba(199,67,60,.45)}.home-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.table-preview{position:relative;min-height:220px;border-radius:8px;background:radial-gradient(ellipse at center,rgba(215,174,88,.18),transparent 46%),linear-gradient(90deg,rgba(255,250,240,.08) 1px,transparent 1px),linear-gradient(rgba(255,250,240,.07) 1px,transparent 1px),var(--felt);background-size:auto,34px 34px,34px 34px,auto;overflow:hidden;box-shadow:var(--shadow)}.table-preview:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(215,174,88,.26);border-radius:8px;pointer-events:none}.preview-card{position:absolute;width:128px;height:176px;animation:previewFloat 5.2s ease-in-out infinite;transform-origin:center 90%}.preview-card .card-face{width:100%;height:100%;border-radius:9px}.preview-deck{position:absolute;right:24px;bottom:24px;width:84px;height:116px}.preview-deck .card-back{position:absolute;top:0;right:0;bottom:0;left:0}.preview-deck .card-back:first-child{transform:translate(-8px,-8px) rotate(-5deg)}.preview-table-chip{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;min-height:38px;padding:8px;border-radius:999px;color:var(--paper);background:#0818169e;border:1px solid rgba(215,174,88,.28)}.preview-table-chip .suit-icon{width:26px;height:26px;padding:3px;border-radius:999px;background:#fffaf0e6}.preview-card-one{left:14%;top:34px;transform:rotate(-13deg);animation-delay:.12s}.preview-card-two{left:calc(50% - 64px);top:20px;transform:rotate(3deg);animation-delay:.36s}.preview-card-three{right:14%;top:42px;transform:rotate(14deg);animation-delay:.62s}.panel,.hand-panel{border-radius:8px;border:1px solid var(--line);background:#102f2ac7;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel{padding:16px}.boot-error{display:grid;gap:12px;width:min(100%,420px);margin:20vh auto 0;text-align:center}.boot-error strong{font-size:24px}.boot-error span{color:#f8f1dcbd;line-height:1.45}.field{display:grid;gap:8px;width:100%}.field span{color:#f8f1dcc2;font-size:13px}.field input{width:100%;height:50px;border:1px solid var(--line);border-radius:8px;padding:0 14px;color:var(--paper);background:#ffffff14;outline:none}.field input:focus{border-color:var(--gold)}.compact-field input{height:44px}.auth-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(248,241,220,.14);border-radius:8px;background:#ffffff0e}.auth-heading,.account-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.auth-heading>div:first-child,.account-heading>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}.auth-heading strong,.account-heading strong{color:var(--paper)}.account-heading span,.auth-error{color:#f8f1dcad;font-size:12px}.account-heading strong{display:block;overflow-wrap:anywhere}.account-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--ink);background:var(--gold)}.auth-segmented{width:min(100%,230px);grid-template-columns:repeat(2,minmax(0,1fr))}.auth-segmented button{min-height:34px;padding:0 9px;font-size:12px}.auth-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(104px,auto);gap:10px;align-items:end}.auth-form .secondary-button{min-height:44px}.account-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.account-stats span{display:grid;gap:2px;min-width:0;padding:8px;border:1px solid rgba(248,241,220,.12);border-radius:8px;color:#f8f1dcad;background:#0718163d;font-size:11px;text-align:center}.account-stats strong{color:var(--gold);font-size:16px;line-height:1}.auth-error{color:#ffd9d0}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--paper);background:#ffffff12}.toggle-row input{width:20px;height:20px;accent-color:var(--gold)}.action-block{display:grid;gap:12px;margin-top:16px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#ffffff12}.segmented button{border-radius:6px;color:var(--paper);background:transparent}.segmented button.selected{color:var(--ink);background:var(--gold);font-weight:800}.timer-segmented button{font-size:14px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border-radius:8px;font-weight:800}.primary-button{color:var(--ink);background:var(--gold);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.secondary-button{color:var(--paper);background:#ffffff1a;border:1px solid var(--line);transition:transform .16s ease,background .16s ease,border-color .16s ease}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active,.icon-button:not(:disabled):active{transform:translateY(1px) scale(.99)}.primary-button:not(:disabled):hover{filter:brightness(1.06);box-shadow:0 10px 24px #d7ae582e}.secondary-button:not(:disabled):hover,.icon-button:not(:disabled):hover{background:#ffffff26;border-color:#f8f1dc47}button:disabled{cursor:not-allowed;opacity:.48}.lobby{display:grid;gap:16px}.lobby-layout{display:grid;gap:14px;align-items:start}.lobby-layout .chat-panel{height:min(420px,calc(100dvh - 150px));max-height:min(420px,calc(100dvh - 150px))}.room-settings-row{display:flex;flex-wrap:wrap;gap:8px}.room-settings-row span,.spectator-list small{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;color:#f8f1dcc7;background:#ffffff12;border:1px solid rgba(248,241,220,.14);font-size:12px}.spectator-list{display:grid;gap:8px}.spectator-list>span{color:#f8f1dcb8;font-size:13px}.spectator-list>div{display:flex;flex-wrap:wrap;gap:6px}.room-browser{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading span{color:#f8f1dcbd;font-size:13px}.section-heading strong{color:var(--paper)}.room-list{display:grid;gap:8px}.room-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:66px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff12}.room-list-item strong,.room-list-item span,.room-flags small{display:block}.room-list-item span,.room-flags small{color:#f8f1dcad;font-size:12px}.room-flags{display:grid;justify-items:end;gap:4px}.room-flags span{display:inline-flex;min-height:24px;align-items:center;padding:2px 8px;border-radius:999px;color:#ffe1cf;background:#d26a352e;border:1px solid rgba(210,106,53,.34);font-size:12px}.room-flags .watch-flag{color:#d5ffe9;background:#1686572e;border-color:#16865761}.room-actions{display:grid;grid-column:1 / -1;grid-template-columns:1fr 1fr;gap:8px}.compact-button{min-height:42px}.room-code-row,.button-row,.hand-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-code{display:block;margin-top:2px;color:var(--paper);font-size:34px;letter-spacing:0}.icon-button{display:inline-grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:8px;color:var(--paper);background:#ffffff1a;border:1px solid var(--line)}.seats{display:grid;gap:10px}.seat{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff12}.seat span{flex:1}.seat small{color:#f8f1dca3;font-size:12px}.ready-seat{border-color:#60d3946b;background:#60d3941a}.host-seat{border-color:#d7ae586b}.button-row .secondary-button,.button-row .primary-button{flex:1}.game-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"table" "hand" "journal";grid-template-rows:auto auto minmax(300px,420px);gap:14px}.play-area{position:relative;z-index:10;display:grid;gap:10px;grid-area:table;min-width:0}.opponents{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;pointer-events:none}.opponent{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(118px,auto);gap:3px 8px;align-items:center;min-height:86px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff14;pointer-events:auto;transition:border-color .18s ease,background .18s ease,transform .18s ease}.opponent.eliminated{opacity:.62}.opponent.active-opponent{border-color:#d7ae58ad;background:linear-gradient(90deg,rgba(215,174,88,.18),transparent),#ffffff1a;animation:activePlayerPulse 1.5s ease-in-out infinite}.opponent strong,.opponent span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent span:last-child{grid-column:2;color:#f8f1dcb8;font-size:13px}.opponent-hand-fan{grid-column:3;grid-row:1 / span 2;position:relative;width:132px;height:74px;justify-self:end}.opponent-back-card{position:absolute;left:50%;bottom:8px;z-index:var(--card-z);width:var(--op-card-w);height:var(--op-card-h);transform:translate(calc(-50% + var(--fan-x))) rotate(var(--fan-rotate));transform-origin:center bottom}.opponent-back-card .card-back{width:100%;height:100%;border-radius:5px}.empty-opponent-hand{width:52px}.opponent-hand-fan small{position:absolute;right:0;bottom:0;display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;color:var(--ink);background:var(--gold);font-size:12px;font-weight:900}.online-dot,.offline-dot{width:9px;height:9px;border-radius:50%}.online-dot{background:#60d394}.offline-dot{background:#c7433c}.table{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr;min-height:300px;border-radius:16px;border:1px solid rgba(215,174,88,.36);background:radial-gradient(ellipse at center,rgba(215,174,88,.18),transparent 56%),linear-gradient(135deg,rgba(255,250,240,.025) 25%,transparent 25%,transparent 50%,rgba(255,250,240,.025) 50%,rgba(255,250,240,.025) 75%,transparent 75%,transparent),linear-gradient(90deg,rgba(255,250,240,.06) 1px,transparent 1px),linear-gradient(rgba(255,250,240,.05) 1px,transparent 1px),var(--felt);background-size:auto,58px 58px,36px 36px,36px 36px,auto;box-shadow:inset 0 0 0 8px #ffffff07,inset 0 0 80px #050d0e38,var(--shadow);overflow:hidden}.table:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(215,174,88,.22);border-radius:12px;pointer-events:none}.table-status{position:relative;z-index:1;display:grid;gap:8px;padding:14px;border-bottom:1px solid var(--line);background:#08181670}.table-meta-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.table-status span,.table-status small{color:#f8f1dcbd}.table-status strong{font-size:18px}.penalty-chip,.timer-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border-radius:999px;color:#f8f1dcd1;background:#08181675;border:1px solid rgba(248,241,220,.16)}.penalty-chip{color:#fff0ea;background:#c7433c3d;border-color:#c7433c6b;font-weight:900;animation:penaltyPulse 1s ease-in-out infinite}.timer-chip{--timer-progress: 1;position:relative;color:var(--paper);overflow:hidden;font-weight:900}.timer-chip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(215,174,88,.28),transparent);transform:scaleX(var(--timer-progress));transform-origin:left;transition:transform .24s linear}.timer-chip{isolation:isolate}.timer-chip>*{position:relative}.suit-icon{display:inline-block;width:1em;height:1em;object-fit:contain;vertical-align:-.12em;pointer-events:none;-webkit-user-select:none;user-select:none}.inline-suit-icon{width:1.05em;height:1.05em;margin:0 .05em}.card-text{display:inline-flex;align-items:center;gap:4px;min-width:0}.card-text .suit-icon{width:1.15em;height:1.15em}.inline-suit-icon,.card-text .suit-icon,.suit-badge>.suit-icon,.table-suit-callout .suit-icon,.suit-choice .suit-icon{box-sizing:border-box;padding:2px;border-radius:999px;background:#fffaf0e6}.suit-choice .suit-icon{padding:6px}.card-face .suit-icon{padding:0;border-radius:0;background:transparent}.rank-text{display:inline-block;font-family:Inter,Arial Black,Segoe UI,system-ui,sans-serif;font-weight:950;letter-spacing:0;line-height:.95}.rank-suit-hearts,.rank-suit-diamonds{color:var(--red)}.rank-suit-clubs,.rank-suit-spades{color:var(--ink)}.suit-badge{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 9px;border-radius:8px;color:var(--paper);background:#ffffff1a;border:1px solid rgba(248,241,220,.2);animation:suitGlow 1.3s ease-out both}.suit-badge small{color:#f8f1dcad;font-size:11px}.suit-badge>.suit-icon{width:22px;height:22px;flex:0 0 auto}.red-suit-badge{color:#ffd9d0;border-color:#c7433c5c;background:#c7433c2e}.suit-badge-clubs{color:#d5ffe9;border-color:#1686576b;background:#1686572e}.suit-badge-diamonds{color:#ffe1cf;border-color:#d26a3570;background:#d26a352e}.suit-badge-hearts{color:#ffd9d0}.suit-badge-spades{color:#dfe9ff;border-color:#4f8a9b6b;background:#4f8a9b2e}.trick-zone{position:relative;z-index:1;display:grid;place-items:center;align-items:center;justify-content:center;gap:14px;min-height:260px;padding:32px;overflow:visible}.table-center-row{display:flex;align-items:center;justify-content:center;gap:clamp(24px,4vw,56px);width:min(100%,660px);min-height:calc(var(--card-h) + 86px);overflow:visible}.stack-focus,.result-panel{display:grid;justify-items:center;gap:12px;width:min(320px,88vw)}.table-suit-callout strong{display:inline-flex;align-items:center;justify-content:center;gap:7px}.table-suit-callout .suit-icon{width:26px;height:26px}.result-panel{padding:18px;border-radius:8px;border:1px solid rgba(215,174,88,.38);background:#08181694}.wide-result{width:min(100%,720px);max-height:min(62vh,620px);overflow:auto;overscroll-behavior:contain}.result-panel strong{text-align:center;font-size:18px}.round-result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:radial-gradient(circle at center,rgba(215,174,88,.12),transparent 54%),#030a0ac2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.round-result-window{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;justify-items:stretch;width:min(1120px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-height:none;gap:14px;padding:clamp(14px,2vw,22px);overflow:hidden}.round-result-heading{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;text-align:left}.round-result-heading>div{display:grid;gap:3px;min-width:0}.round-result-heading span{color:#f8f1dca8;font-size:13px;font-weight:800}.round-result-heading strong{overflow:hidden;font-size:clamp(22px,3vw,32px);line-height:1.04;text-align:left;text-overflow:ellipsis;white-space:nowrap}.round-result-window .score-summary{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-content:start;min-height:0;overflow:hidden}.round-result-window .score-player{align-content:start;gap:8px;min-height:0;padding:10px}.round-result-window .score-cards{flex-wrap:wrap;max-height:106px;overflow:hidden}.round-result-window .score-lines{gap:4px;overflow:hidden}.round-result-window .score-line{gap:3px 8px;font-size:12px}.round-result-window .score-line small{display:-webkit-box;overflow:hidden;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.empty-trick{display:grid;place-items:center;width:min(240px,72vw);min-height:120px;border-radius:8px;color:#f8f1dc9e;border:1px dashed rgba(248,241,220,.3)}.journal-chat-panel{position:relative;z-index:4;grid-area:journal;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;min-height:0;padding:16px;border-radius:12px;border:1px solid rgba(248,241,220,.16);background:linear-gradient(180deg,#ffffff0d,#ffffff05),#071816a8;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.journal-feed{display:grid;align-content:start;gap:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.journal-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:11px 2px;border-bottom:1px solid rgba(248,241,220,.1)}.journal-row time{color:#f8f1dc8f;font-size:12px;line-height:1.35}.journal-row div{display:grid;gap:4px;min-width:0}.journal-row strong,.journal-row div>span{color:#f8f1dc9e;font-size:12px;font-weight:700}.journal-row p{margin:0;color:#f8f1dce6;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.journal-chat-row{margin:7px 0;padding:10px;border:1px solid rgba(248,241,220,.11);border-radius:8px;background:#ffffff0e}.journal-chat-row strong{color:var(--paper);font-size:13px}.journal-spectator-row{border-color:#4f8a9b38;background:#4f8a9b1a}.journal-form{padding-top:2px}.event-log{display:grid;align-content:start;gap:10px;min-height:120px;padding:12px;border-radius:8px;border:1px solid var(--line);background:#08181680;box-shadow:var(--shadow)}.event-list{display:grid;gap:8px;max-height:220px;overflow:auto;padding-right:0;overscroll-behavior:contain}.event-item{display:grid;gap:3px;padding:8px;border-radius:8px;background:#ffffff0f;transition:background .18s ease,border-color .18s ease}.event-item time{color:#d7ae58c7;font-size:11px}.event-item span{color:#f8f1dcdb;font-size:13px;overflow-wrap:anywhere}.chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;min-height:260px;padding:12px;border-radius:8px;border:1px solid var(--line);background:#0818168f;box-shadow:var(--shadow);min-width:0;overflow:hidden}.game-layout>.chat-panel{grid-row:4;max-height:min(360px,52dvh)}.chat-messages{display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;min-height:0}.chat-message{display:grid;gap:5px;padding:9px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(248,241,220,.08);transition:background .18s ease,border-color .18s ease}.chat-message>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.chat-message strong,.chat-message span{min-width:0;overflow-wrap:anywhere}.chat-message strong{color:var(--paper);font-size:13px}.chat-message time{flex:0 0 auto;color:#d7ae58c2;font-size:11px}.chat-message span{color:#f8f1dcd6;font-size:13px;line-height:1.35}.spectator-message{border-color:#4f8a9b38;background:#4f8a9b1a}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.chat-input-wrap{display:flex;align-items:center;gap:8px;min-width:0;min-height:46px;padding:0 11px;border-radius:8px;border:1px solid var(--line);background:#ffffff14;color:#f8f1dc9e}.chat-input-wrap input{min-width:0;width:100%;height:42px;border:0;outline:0;color:var(--paper);background:transparent}.chat-cooldown{color:#f8f1dc94;font-size:12px}.score-summary{display:grid;gap:10px;width:100%}.score-player{display:grid;gap:10px;padding:12px;border-radius:8px;border:1px solid rgba(248,241,220,.16);background:#ffffff0f;min-width:0;overflow:hidden}.score-winner{border-color:#d7ae5861;background:#d7ae581a}.score-player-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.score-player-head>div{min-width:0}.score-player-head strong{overflow-wrap:anywhere}.score-player-head span{display:block;margin-top:2px;color:#f8f1dca8;font-size:12px}.score-cards{display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px;min-width:0;overscroll-behavior-x:contain}.score-lines{display:grid;gap:6px}.score-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;color:#f8f1dcdb;font-size:13px;min-width:0}.score-card-line{grid-template-columns:auto minmax(0,1fr)}.score-line small{grid-column:1 / -1;color:#f8f1dc94;overflow-wrap:anywhere}.score-line span,.score-line strong{min-width:0;overflow-wrap:anywhere}.total-line{padding-top:6px;border-top:1px solid rgba(248,241,220,.14);font-weight:900}.score-notes{display:flex;flex-wrap:wrap;gap:6px}.score-notes span{padding:4px 8px;border-radius:999px;color:#f8f1dcc7;background:#ffffff12;font-size:11px}.next-round-box{display:grid;gap:8px;width:100%}.next-round-box>span{color:#f8f1dcb8;text-align:center;font-size:13px}.played-card{display:grid;width:var(--card-w);height:var(--card-h);justify-items:center;gap:8px;max-width:none}.played-stack-wrap{display:grid;justify-items:center;gap:10px}.played-stack{position:relative;width:calc(var(--card-w) + 88px);height:calc(var(--card-h) + 60px);overflow:visible}.stack-card{position:absolute;left:50%;top:0;width:var(--card-w);height:var(--card-h);max-width:none;transform:translate3d(calc(-50% + var(--stack-x)),var(--stack-y),0) rotate(var(--stack-rotate));transition:transform .26s ease,filter .26s ease}.stack-card:not(.top-play){filter:saturate(.78) brightness(.84)}.stack-card.settling-hidden{opacity:0}.top-play{z-index:2}.played-stack-wrap>span{max-width:100%;overflow:hidden;color:#f8f1dcc2;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.table-suit-callout{display:grid;justify-items:center;gap:2px;min-width:122px;padding:9px 12px;border-radius:8px;border:1px solid rgba(215,174,88,.32);background:#0818167a;transition:background .18s ease,border-color .18s ease}.table-deck-visual{position:relative;z-index:2;display:grid;justify-items:center;gap:6px;width:var(--card-w);flex:0 0 var(--card-w);pointer-events:none}.table-deck-anchor{position:relative;width:1px;height:1px;opacity:0;pointer-events:none}.table-deck-card{display:grid;place-items:center;width:var(--card-w);height:var(--card-h);overflow:visible}.table-deck-visual img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.34));-webkit-user-select:none;user-select:none}.table-deck-visual strong{display:grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:999px;color:var(--ink);background:var(--gold);font-size:15px;line-height:1}.table-suit-callout span{color:#f8f1dcb8;font-size:12px}.table-suit-callout strong{color:var(--paper);font-size:18px}.hand-panel{position:relative;z-index:30;display:grid;grid-area:hand;gap:12px;padding:12px;overflow:visible}.turn-actions{position:relative;z-index:8;display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-pending{opacity:.86;transition:opacity .18s ease}.hand-header strong{display:block;font-size:18px}.hand-header{position:relative;z-index:8}.spectator-panel{display:flex;align-items:center;gap:10px;min-height:74px;padding:12px;border-radius:8px;color:#f8f1dcd1;background:#4f8a9b1f;border:1px solid rgba(79,138,155,.28)}.spectator-panel span{overflow-wrap:anywhere}.hand-scroll{display:block;width:100%;min-width:0;min-height:280px;overflow-x:auto;overflow-y:visible;padding:142px 18px 30px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.hand-fan{position:relative;width:var(--fan-width, var(--card-w));min-width:var(--fan-width, var(--card-w));height:184px;margin:0 auto;overflow:visible}.hand-card-slot{position:absolute;left:50%;bottom:18px;z-index:var(--card-z);width:var(--card-w);height:var(--card-h);overflow:visible;animation:handCardIn .22s ease-out both;transform:translate(calc(-50% + var(--fan-x))) translateY(var(--fan-y)) rotate(var(--fan-rotate));transform-origin:center bottom;transition:transform .18s ease,opacity .18s ease,filter .18s ease}.hand-card-slot:hover,.hand-card-slot:focus-within,.hand-card-slot.touch-tooltip-visible{z-index:90;transform:translate(calc(-50% + var(--fan-x))) translateY(calc(var(--fan-y) - 24px)) rotate(0) scale(1.08)}.hand-card-hidden{opacity:0;pointer-events:none}.card-tooltip{position:absolute;left:50%;bottom:calc(100% + 24px);z-index:120;display:grid;gap:9px;width:min(345px,calc(100vw - 28px));padding:18px 21px;border-radius:12px;border:1px solid rgba(215,174,88,.46);color:#f8f1dce6;background:linear-gradient(180deg,#0e2a24f5,#061412f5),#061412f5;box-shadow:0 22px 48px #00000061,0 0 0 1px #ffffff0a;opacity:0;pointer-events:none;transform:translate(-50%,10px) scale(.98);transition:opacity .16s ease,transform .16s ease}.card-tooltip:after{content:"";position:absolute;left:50%;bottom:-10px;width:18px;height:18px;border-right:1px solid rgba(215,174,88,.46);border-bottom:1px solid rgba(215,174,88,.46);background:#061412f5;transform:translate(-50%) rotate(45deg)}.hand-card-slot:hover .card-tooltip,.hand-card-slot:focus-within .card-tooltip,.hand-card-slot.touch-tooltip-visible .card-tooltip{opacity:1;transform:translate(-50%) scale(1)}.card-tooltip strong{color:var(--paper);font-size:22px;line-height:1.08}.card-tooltip>span{color:#67d79b;font-size:15px;font-weight:900}.card-tooltip p,.card-tooltip small,.card-tooltip em{margin:0;line-height:1.42}.card-tooltip p{font-size:16px}.card-tooltip small{padding-top:8px;border-top:1px solid rgba(248,241,220,.14);color:#f8f1dcd1;font-size:14px}.card-tooltip em{color:#d7ae58e6;font-size:14px;font-style:normal}.playable-tooltip em{color:#83e4ad}.card-tooltip-layer{position:fixed;z-index:240;max-width:calc(100vw - 24px);pointer-events:none;transform:translate(-50%,-100%)}.card-tooltip-layer .card-tooltip{position:relative;left:auto;bottom:auto;width:100%;max-height:min(360px,calc(100dvh - 24px));overflow:auto;opacity:1;transform:none}.card-button{width:100%;height:100%;min-height:0;padding:0;border-radius:8px;background:transparent;scroll-snap-align:start;transition:transform .17s ease,filter .17s ease,opacity .17s ease}.card-button:disabled{opacity:.78;pointer-events:none}.card-button:not(:disabled):hover,.card-button:not(:disabled):focus-visible{transform:none}.card-button:not(:disabled):active{transform:scale(.985)}.card-button.playable-card:not(:disabled) .card-face{animation:playablePulse 1.5s ease-in-out infinite}.card-button.playable-card:not(:disabled) .card-face{outline:2px solid rgba(215,174,88,.86);outline-offset:2px}.card-button.blocked-card:disabled{opacity:1}.card-button.blocked-card .card-face{color:#4a534f;background:linear-gradient(145deg,#c4cac4eb,#7a847ef5),#9ea8a1;box-shadow:0 6px 12px #00000024}.card-button.blocked-card .card-rank,.card-button.blocked-card .card-center-suit,.card-button.blocked-card .card-corner-suit{opacity:.56}.card-button.blocked-card{opacity:.58}.card-face{--suit-color: var(--ink);--rank-color: var(--ink);position:relative;display:block;width:var(--card-w);height:var(--card-h);padding:0;border-radius:8px;overflow:hidden;color:var(--ink);background:linear-gradient(145deg,#fffffff5,#f8f1dcfa),var(--paper);box-shadow:0 12px 24px #00000042,inset 0 0 0 1px #16211f14;font-weight:900;transition:transform .17s ease,box-shadow .17s ease}.suit-clubs{--suit-color: var(--club);--rank-color: var(--ink)}.suit-diamonds{--suit-color: var(--diamond);--rank-color: var(--red)}.suit-hearts{--suit-color: var(--heart);--rank-color: var(--red)}.suit-spades{--suit-color: var(--spade);--rank-color: var(--ink)}.card-corner{position:absolute;display:grid;gap:2px;color:var(--suit-color);line-height:1}.card-corner-top{top:10px;left:10px;justify-items:start}.card-corner-bottom{right:10px;bottom:10px;justify-items:end;transform:rotate(180deg)}.card-rank{display:grid;place-items:start;min-width:0;min-height:0;color:var(--rank-color)}.card-rank .rank-text{display:block;font-size:26px;line-height:.94}.card-center-suit{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:50px;height:50px;opacity:1;transform:translate(-50%,-50%)}.card-center-suit .suit-icon{width:100%;height:100%}.card-corner-suit{display:grid;place-items:center;width:20px;height:20px}.card-corner-suit .suit-icon{width:100%;height:100%}.card-face.compact{width:62px;height:72px;border-radius:7px}.card-face.compact .card-corner-top{top:7px;left:7px}.card-face.compact .card-rank .rank-text{font-size:16px}.card-face.compact .card-center-suit{width:28px;height:28px;opacity:1}.card-face.compact .card-corner-suit{width:13px;height:13px}.card-face.compact .card-corner-bottom{display:none}.table-card-face{box-shadow:0 16px 32px #0000004d,0 0 0 1px #16211f14}.table-card-face .card-center-suit{width:52px;height:52px;opacity:1}.table-card-face .card-rank .rank-text{font-size:26px}.red-suit,.black-suit{color:var(--suit-color)}.card-back{display:grid;place-items:center;width:var(--card-w);height:var(--card-h);border-radius:8px;background:transparent;box-shadow:0 12px 22px #00000047;overflow:hidden}.card-back img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.card-back.mini{width:26px;height:34px;border-radius:5px;box-shadow:0 6px 12px #0000003d}.flying-card{position:fixed;z-index:80;aspect-ratio:54 / 77;pointer-events:none;will-change:transform;animation:flyCardToTable var(--flight-ms, .52s) cubic-bezier(.16,.86,.2,1) both;transform-origin:center}.flying-card .card-face,.flying-card .card-back{width:100%;height:100%}.flying-card .card-rank .rank-text{font-size:clamp(17px,calc(var(--card-w) * .24),26px)}.flying-card .card-center-suit,.flying-card .table-card-face .card-center-suit{width:clamp(24px,calc(var(--card-w) * .44),52px);height:clamp(24px,calc(var(--card-w) * .44),52px)}.flying-card .card-corner-suit{width:clamp(12px,calc(var(--card-w) * .18),20px);height:clamp(12px,calc(var(--card-w) * .18),20px)}.reconnect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;padding:18px;background:#030a0a47;pointer-events:none}.reconnect-overlay>div{display:grid;justify-items:center;gap:8px;width:min(100%,360px);padding:18px;border-radius:8px;color:var(--paper);background:#081816e0;border:1px solid rgba(215,174,88,.42);box-shadow:var(--shadow);pointer-events:auto;animation:tableContentIn .22s ease-out both}.reconnect-overlay strong{text-align:center;font-size:20px}.reconnect-overlay span{color:#f8f1dcb8}.reconnect-overlay b{display:grid;place-items:center;min-width:68px;height:42px;border-radius:999px;color:var(--ink);background:var(--gold);font-size:20px}.suit-wait-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:78;display:grid;place-items:center;padding:18px;background:#030a0aa3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.suit-wait-overlay>div{display:grid;justify-items:center;gap:10px;width:min(100%,430px);padding:clamp(20px,5vw,34px);border-radius:8px;color:var(--paper);background:#081816f0;border:1px solid rgba(215,174,88,.48);box-shadow:var(--shadow);pointer-events:auto}.suit-wait-overlay strong{text-align:center;font-size:clamp(22px,5vw,32px);line-height:1.1}.suit-wait-overlay span:last-child{color:#f8f1dcb8;text-align:center}.queen-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:999px;color:var(--ink);background:var(--gold);font-size:30px;font-weight:900}@keyframes appFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes tableContentIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardToTable{0%{opacity:0;transform:translateY(26px) rotate(-5deg) scale(.94)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes actionBreath{0%,to{opacity:1;transform:scale(1)}50%{opacity:.74;transform:scale(.995)}}@keyframes previewFloat{0%,to{translate:0 0}50%{translate:0 -8px}}@keyframes handCardIn{0%{opacity:0;transform:translate(calc(-50% + var(--fan-x))) translateY(calc(var(--fan-y) + 18px)) rotate(var(--fan-rotate))}to{opacity:1;transform:translate(calc(-50% + var(--fan-x))) translateY(var(--fan-y)) rotate(var(--fan-rotate))}}@keyframes playablePulse{0%,to{box-shadow:0 12px 24px #00000042}50%{box-shadow:0 12px 24px #00000042,0 0 0 3px #d7ae5847}}@keyframes flyCardToTable{0%{opacity:1;transform:translateZ(0) rotate(0) scale(1)}78%{opacity:1;transform:translate3d(var(--fly-dx),var(--fly-dy),0) rotate(-4deg) scale(.94)}to{opacity:1;transform:translate3d(var(--fly-dx),var(--fly-dy),0) rotate(0) scale(1)}}@keyframes suitGlow{0%{box-shadow:0 0 #d7ae5852}to{box-shadow:0 0 0 8px #d7ae5800}}@keyframes activePlayerPulse{0%,to{box-shadow:0 0 #d7ae5800}50%{box-shadow:0 0 0 3px #d7ae5829}}@keyframes penaltyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:#030a0ab8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.suit-dialog{display:grid;gap:clamp(16px,4vw,24px);width:min(100%,560px);padding:clamp(20px,5vw,34px);border-radius:8px;border:1px solid rgba(215,174,88,.44);background:#102f2afa;box-shadow:var(--shadow)}.suit-dialog strong{display:block;margin-top:2px;font-size:clamp(28px,8vw,42px);line-height:1.05}.suit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.suit-choice{display:grid;justify-items:center;gap:8px;min-height:clamp(94px,20vw,124px);border:1px solid var(--line);border-radius:8px;color:var(--paper);background:#ffffff17;transition:transform .16s ease,background .16s ease,border-color .16s ease}.suit-choice:hover,.suit-choice:focus-visible{transform:translateY(-2px);border-color:#d7ae589e;background:#d7ae5829}.suit-choice .suit-icon{width:clamp(44px,9vw,58px);height:clamp(44px,9vw,58px)}@media (max-width: 560px){.topbar{align-items:flex-start;flex-direction:column}.auth-heading,.account-heading{align-items:stretch;flex-direction:column}.auth-segmented{width:100%}.auth-form{grid-template-columns:1fr}.account-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions{width:100%;justify-content:stretch}.topbar-stats,.topbar-stats span,.leave-top-button,.connection-badge{width:100%}.topbar-stats{display:grid;grid-template-columns:1fr}.table{min-height:280px}.trick-zone{min-height:230px;padding:18px 14px}.table-center-row{gap:14px;min-height:calc(var(--card-h) + 54px)}.turn-actions{grid-template-columns:1fr}.game-layout>.chat-panel{max-height:300px}.suit-dialog{width:min(100%,520px)}}@media (min-width: 900px){:root{--card-w: 108px;--card-h: 154px;--op-card-w: 48px;--op-card-h: 70px}.app-shell{padding:28px}.home-layout{grid-template-columns:minmax(360px,1.1fr) minmax(330px,.9fr);align-items:stretch}.table-preview{min-height:520px}.preview-card{width:174px;height:242px}.preview-card-one{left:17%;top:120px}.preview-card-two{left:calc(50% - 87px);top:96px}.preview-card-three{right:17%;top:132px}.panel{padding:22px}.game-layout{grid-template-columns:minmax(260px,330px) minmax(0,1fr);grid-template-areas:"journal table" "journal hand";grid-template-rows:auto auto;align-items:stretch}.opponents{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:block;margin:0;pointer-events:none}.play-area{grid-area:table;display:block;padding:92px 156px 0;min-height:610px}.opponent{position:absolute;width:min(280px,26vw);min-height:90px;pointer-events:auto}.opponent-seat-0{top:0;left:50%;transform:translate(-50%)}.opponent-seat-1{top:50%;left:0;transform:translateY(-50%)}.opponent-seat-2{top:50%;right:0;transform:translateY(-50%)}.hand-panel{grid-area:hand;grid-template-columns:minmax(170px,220px) minmax(0,1fr) minmax(240px,334px);grid-template-rows:auto minmax(210px,auto);align-items:start;padding:14px 18px}.hand-panel .hand-header{grid-column:1;grid-row:1;align-self:stretch;min-height:74px;padding:10px 12px;border:1px solid rgba(96,211,148,.34);border-radius:12px;background:#1686571f}.hand-panel .turn-actions{grid-column:3;grid-row:1;align-self:stretch;grid-template-columns:1fr}.hand-panel .hand-scroll{grid-column:1 / -1;grid-row:2;min-width:0;overflow-x:auto;overflow-y:visible;padding:90px 24px 30px}.hand-panel .spectator-panel{grid-column:2 / -1}.lobby-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.lobby-layout .chat-panel{grid-column:2;grid-row:1;height:min(640px,calc(100dvh - 180px));max-height:min(640px,calc(100dvh - 180px));min-height:320px;position:-webkit-sticky;position:sticky;top:16px}.event-list{max-height:520px}.journal-chat-panel{height:min(720px,calc(100dvh - 132px));position:-webkit-sticky;position:sticky;top:16px}.compact-button{grid-column:auto;width:auto;min-width:94px}.room-list-item{grid-template-columns:minmax(0,1fr) auto auto}.room-actions{grid-column:auto;grid-template-columns:auto auto}.hand-scroll{min-height:250px;padding-top:90px}.hand-fan{height:190px}.dialog-backdrop{place-items:center}}@media (min-width: 1320px){.game-layout{grid-template-columns:minmax(300px,340px) minmax(0,1fr);grid-template-rows:auto auto}.journal-chat-panel{height:min(760px,calc(100dvh - 132px))}.table{min-height:520px}.event-list{max-height:620px}.lobby-layout{grid-template-columns:minmax(0,1fr) 360px}}body:has(.room-shell){overflow:hidden}.room-shell{--card-w: clamp(54px, 15vw, 82px);--card-h: clamp(78px, 21.8vw, 120px);--op-card-w: clamp(22px, 6.6vw, 34px);--op-card-h: clamp(32px, 9.5vw, 50px);display:flex;flex-direction:column;width:min(100%,1540px);height:100dvh;min-height:0;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));overflow:hidden;animation:none}.room-shell .topbar{flex:0 0 auto;gap:8px;margin-bottom:6px;padding:7px 10px;border-radius:8px}.room-shell .topbar h1{margin:0;font-size:clamp(17px,4.2vw,28px);line-height:1.05}.room-shell .eyebrow{display:none}.room-shell .topbar-actions,.room-shell .topbar-stats{gap:6px}.room-shell .topbar-stats span{min-height:34px;padding:5px 8px;font-size:10px}.room-shell .topbar-stats strong{font-size:15px}.room-shell .leave-top-button,.room-shell .connection-badge{min-height:34px;padding:6px 9px;border-radius:8px;font-size:12px}.room-shell .notice{flex:0 0 auto;margin-bottom:6px;padding:7px 9px;border-radius:8px;font-size:12px}.room-shell .game-layout{flex:1 1 auto;display:grid;grid-template-columns:clamp(88px,24vw,150px) minmax(0,1fr);grid-template-areas:"journal table" "hand hand";grid-template-rows:minmax(0,1fr) clamp(178px,32dvh,252px);min-height:0;gap:clamp(5px,1.5vw,10px);overflow:hidden}.room-shell .journal-chat-panel{position:relative;top:auto;z-index:8;height:100%;min-height:0;padding:8px;border-radius:8px;gap:6px}.room-shell .journal-chat-panel .section-heading{gap:4px}.room-shell .section-heading span,.room-shell .section-heading strong{font-size:11px;line-height:1.1}.room-shell .journal-row{grid-template-columns:minmax(0,1fr);gap:2px;padding:6px 0}.room-shell .journal-row time{display:none}.room-shell .journal-row strong,.room-shell .journal-row div>span{font-size:10px}.room-shell .journal-row p{font-size:11px;line-height:1.24}.room-shell .journal-chat-row{margin:4px 0;padding:6px}.room-shell .journal-form{grid-template-columns:minmax(0,1fr) 32px;gap:4px}.room-shell .journal-form .chat-input-wrap{min-height:32px;padding:0 6px}.room-shell .journal-form .chat-input-wrap svg{display:none}.room-shell .journal-form input{height:30px;font-size:11px}.room-shell .journal-form .icon-button{width:32px;height:32px}.room-shell .chat-cooldown{font-size:10px}.room-shell .play-area{grid-area:table;position:relative;display:block;height:100%;min-height:0;padding:clamp(44px,11dvh,72px) clamp(50px,14vw,90px) 0}.room-shell .opponents{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:block;margin:0;pointer-events:none}.room-shell .opponent{position:absolute;grid-template-columns:7px minmax(0,1fr) minmax(38px,auto);width:clamp(92px,26vw,136px);min-height:42px;padding:5px 6px;gap:1px 5px;border-radius:8px;pointer-events:auto}.room-shell .opponent strong{font-size:11px;line-height:1.1}.room-shell .opponent span:last-child{font-size:10px;line-height:1.1}.room-shell .opponent-hand-fan{width:64px;height:34px}.room-shell .opponent-back-card{bottom:3px}.room-shell .opponent-hand-fan small{min-width:16px;height:16px;font-size:10px}.room-shell .online-dot,.room-shell .offline-dot{width:7px;height:7px}.room-shell .opponent-seat-0{top:0;left:50%;transform:translate(-50%)}.room-shell .opponent-seat-1{top:50%;left:0;transform:translateY(-50%)}.room-shell .opponent-seat-2{top:50%;right:0;transform:translateY(-50%)}.room-shell .table{height:100%;min-height:0;border-radius:12px}.room-shell .table:before{top:7px;right:7px;bottom:7px;left:7px;border-radius:9px}.room-shell .table-status{gap:4px;padding:7px 8px}.room-shell .table-status strong{font-size:clamp(12px,3.3vw,17px);line-height:1.1}.room-shell .table-status small{display:-webkit-box;overflow:hidden;font-size:10px;line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:2}.room-shell .penalty-chip,.room-shell .timer-chip{min-height:24px;padding:3px 7px;font-size:11px}.room-shell .trick-zone{min-height:0;height:100%;padding:6px}.room-shell .table-center-row{gap:clamp(8px,2.2vw,18px);width:100%;min-height:0}.room-shell .stack-focus{width:min(180px,100%);gap:6px}.room-shell .played-stack-wrap{gap:5px}.room-shell .played-stack{width:calc(var(--card-w) + 54px);height:calc(var(--card-h) + 34px)}.room-shell .played-stack-wrap>span,.room-shell .stack-focus>.muted{font-size:10px}.room-shell .table-suit-callout{min-width:0;padding:5px 7px}.room-shell .table-suit-callout span{font-size:10px}.room-shell .table-suit-callout .suit-icon{width:20px;height:20px}.room-shell .table-deck-visual{gap:4px}.room-shell .table-deck-visual strong{min-width:26px;height:20px;font-size:11px}.room-shell .empty-trick{width:min(150px,100%);min-height:70px;font-size:11px}.room-shell .hand-panel{z-index:20;grid-area:hand;grid-template-columns:minmax(94px,.78fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:stretch;height:100%;min-height:0;padding:6px;gap:6px}.room-shell .hand-header{grid-column:1;grid-row:1;min-width:0;min-height:38px}.room-shell .hand-header>div{min-width:0}.room-shell .hand-header .muted,.room-shell .hand-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-shell .hand-header .muted{font-size:10px}.room-shell .hand-header strong{font-size:13px}.room-shell .hand-header .icon-button{width:34px;height:34px}.room-shell .turn-actions{z-index:2;grid-column:2;grid-row:1;grid-template-columns:1fr 1fr;gap:5px}.room-shell .turn-actions .secondary-button{min-height:38px;padding:0 7px;gap:4px;font-size:12px;line-height:1.08}.room-shell .turn-actions svg{width:16px;height:16px}.room-shell .hand-scroll{grid-column:1 / -1;grid-row:2;display:grid;align-items:end;min-height:0;height:100%;padding:4px 8px 12px;overflow-x:auto}.room-shell .hand-fan{height:calc(var(--card-h) + 34px)}.room-shell .hand-card-slot{bottom:6px}.room-shell .hand-card-slot:hover,.room-shell .hand-card-slot:focus-within,.room-shell .hand-card-slot.touch-tooltip-visible{transform:translate(calc(-50% + var(--fan-x))) translateY(calc(var(--fan-y) - 12px)) rotate(0) scale(1.05)}.room-shell .spectator-panel{grid-column:2;grid-row:1 / span 2;min-height:0;padding:8px;font-size:12px}.room-shell .wide-result{width:min(100%,560px);max-height:100%;padding:10px}.room-shell .score-summary,.room-shell .score-player,.room-shell .score-lines{gap:6px}.room-shell .score-player{padding:8px}.room-shell .round-result-window{width:min(1120px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-height:none;padding:clamp(14px,2vw,22px);overflow:hidden}.room-shell .round-result-window .score-summary{gap:10px}.room-shell .round-result-window .score-player{padding:10px}@media (max-width: 899px){.room-shell .topbar{align-items:center;flex-direction:row}.room-shell .topbar-actions{width:auto;margin-left:auto;justify-content:flex-end}.room-shell .topbar-stats,.room-shell .leave-top-button{display:none}.room-shell .connection-badge{width:auto;min-width:0;white-space:nowrap}.room-shell .connection-badge small{display:none}.room-shell .stack-focus>.muted{display:none}}@media (max-width: 380px){.room-shell .game-layout{grid-template-columns:84px minmax(0,1fr);grid-template-rows:minmax(0,1fr) clamp(170px,31dvh,230px)}.room-shell .play-area{padding-right:44px;padding-left:44px}.room-shell .opponent{width:88px}.room-shell .opponent-hand-fan{display:none}.room-shell .hand-panel{grid-template-columns:minmax(82px,.64fr) minmax(0,1fr)}}@media (max-height: 620px){.room-shell{--card-w: clamp(50px, 12vw, 74px);--card-h: clamp(72px, 17.5vw, 108px)}.room-shell .topbar{padding-top:5px;padding-bottom:5px}.room-shell .game-layout{grid-template-rows:minmax(0,1fr) clamp(154px,30dvh,216px)}.room-shell .table-status small{-webkit-line-clamp:1}.room-shell .hand-scroll{padding-bottom:8px}}@media (min-width: 900px){.room-shell{--card-w: clamp(86px, 6.5vw, 108px);--card-h: clamp(124px, 9.4vw, 154px);--op-card-w: clamp(38px, 3vw, 48px);--op-card-h: clamp(55px, 4.35vw, 70px);padding:clamp(12px,1.6vw,24px)}.room-shell .game-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);grid-template-areas:"journal table" "journal hand";grid-template-rows:minmax(0,1fr) clamp(224px,30dvh,318px)}.room-shell .play-area{min-height:0;padding:clamp(78px,10dvh,104px) clamp(124px,13vw,168px) 0}.room-shell .opponent{width:min(260px,25vw);min-height:82px;padding:9px;grid-template-columns:auto minmax(0,1fr) minmax(104px,auto);gap:3px 8px}.room-shell .opponent strong{font-size:15px}.room-shell .opponent span:last-child{font-size:12px}.room-shell .opponent-hand-fan{width:118px;height:66px}.room-shell .online-dot,.room-shell .offline-dot{width:9px;height:9px}.room-shell .hand-panel{grid-template-columns:minmax(168px,220px) minmax(0,1fr) minmax(220px,320px);grid-template-rows:auto minmax(0,1fr);padding:12px 16px;gap:10px}.room-shell .hand-panel .hand-header{grid-column:1;grid-row:1;min-height:68px;padding:9px 10px;border:1px solid rgba(96,211,148,.34);border-radius:8px;background:#1686571f}.room-shell .hand-header strong{font-size:17px}.room-shell .hand-header .muted{font-size:12px}.room-shell .hand-panel .turn-actions{grid-column:3;grid-row:1;grid-template-columns:1fr}.room-shell .turn-actions .secondary-button{min-height:42px;font-size:13px}.room-shell .hand-panel .hand-scroll{grid-column:1 / -1;grid-row:2;padding:8px 18px 18px}.room-shell .hand-fan{height:calc(var(--card-h) + 42px)}.room-shell .journal-chat-panel{height:100%;padding:12px;gap:10px}.room-shell .journal-row{grid-template-columns:38px minmax(0,1fr);gap:7px;padding:9px 0}.room-shell .journal-row time{display:block}.room-shell .journal-row p{font-size:13px;line-height:1.32}}@media (min-width: 1320px){.room-shell .game-layout{grid-template-columns:minmax(300px,340px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) clamp(238px,29dvh,330px)}}@media (max-width: 899px){.room-shell{--card-w: clamp(64px, 18vw, 82px);--card-h: clamp(92px, 25.4vw, 118px);--table-card-w: clamp(51px, 14.4vw, 66px);--table-card-h: clamp(74px, 20.3vw, 94px);--op-card-w: clamp(24px, 6.7vw, 34px);--op-card-h: clamp(36px, 9.8vw, 50px);padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}.room-shell .topbar{min-height:48px;padding:7px 8px}.room-shell .topbar h1{max-width:48vw;overflow:hidden;font-size:clamp(20px,6vw,27px);text-overflow:ellipsis;white-space:nowrap}.room-shell .topbar-actions{display:grid;grid-template-columns:auto auto;gap:6px}.room-shell .topbar-stats{display:none}.room-shell .leave-top-button,.room-shell .connection-badge{display:inline-flex;width:auto;min-width:0;min-height:34px;padding:6px 9px;border-radius:8px;font-size:0}.room-shell .leave-top-button:after{content:"Выйти";font-size:12px}.room-shell .connection-badge span{font-size:12px}.room-shell .connection-badge svg,.room-shell .leave-top-button svg{width:17px;height:17px}.room-shell .game-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"journal" "table" "hand";grid-template-rows:clamp(143px,18dvh,162px) minmax(0,1fr) clamp(198px,31dvh,250px);gap:6px;overflow:hidden}.room-shell .journal-chat-panel{width:clamp(121px,34vw,143px);height:100%;justify-self:start;padding:7px;gap:5px}.room-shell .journal-chat-panel .section-heading span{font-size:0}.room-shell .journal-chat-panel .section-heading span:before{content:"Чат";font-size:12px}.room-shell .journal-chat-panel .section-heading strong{font-size:13px}.room-shell .journal-feed{-webkit-mask-image:none;mask-image:none}.room-shell .journal-row{padding:4px 0}.room-shell .journal-row strong,.room-shell .journal-row div>span{display:none}.room-shell .journal-row p{font-size:11px;line-height:1.22}.room-shell .journal-form{grid-template-columns:minmax(0,1fr) 26px;gap:4px}.room-shell .journal-form .chat-input-wrap{min-height:26px;padding:0 6px}.room-shell .journal-form input{height:24px;font-size:10px}.room-shell .journal-form input::placeholder{color:transparent}.room-shell .journal-form input{min-width:0}.room-shell .journal-form .icon-button{width:26px;height:26px;min-height:26px;padding:0}.room-shell .play-area{height:100%;padding:clamp(70px,9.2dvh,82px) 0 0}.room-shell .table{height:100%;min-height:0;border-radius:8px}.room-shell .table:before{top:8px;right:8px;bottom:8px;left:8px;border-radius:8px}.room-shell .opponent{background:#ffffff13;box-shadow:0 10px 24px #050d0e2e}.room-shell .opponent-seat-0{top:0;left:50%;width:clamp(116px,34vw,150px);min-height:48px;transform:translate(-50%)}.room-shell .opponent-seat-0 .opponent-hand-fan{display:block;width:72px;height:38px}.room-shell .opponent-seat-1,.room-shell .opponent-seat-2{top:calc(clamp(70px,9.2dvh,82px) + 44%);display:grid;grid-template-columns:1fr;justify-items:center;align-content:center;width:clamp(42px,12vw,54px);min-height:clamp(112px,30dvh,148px);padding:6px 4px;transform:translateY(-50%)}.room-shell .opponent-seat-1{left:0}.room-shell .opponent-seat-2{right:0}.room-shell .opponent-seat-1 .online-dot,.room-shell .opponent-seat-1 .offline-dot,.room-shell .opponent-seat-2 .online-dot,.room-shell .opponent-seat-2 .offline-dot{margin-bottom:4px}.room-shell .opponent-seat-1 strong,.room-shell .opponent-seat-1 span:last-child,.room-shell .opponent-seat-2 strong,.room-shell .opponent-seat-2 span:last-child{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;white-space:normal}.room-shell .opponent-seat-1 span:last-child,.room-shell .opponent-seat-2 span:last-child{display:none}.room-shell .opponent-seat-1 .opponent-hand-fan,.room-shell .opponent-seat-2 .opponent-hand-fan{display:none}.room-shell .table-status{min-height:78px;padding:12px 14px 8px}.room-shell .table-status strong{display:-webkit-box;overflow:hidden;font-size:clamp(16px,5vw,22px);line-height:1.08;-webkit-box-orient:vertical;-webkit-line-clamp:2}.room-shell .table-status small{font-size:12px;line-height:1.25}.room-shell .penalty-chip,.room-shell .timer-chip{min-height:30px;padding:5px 9px;font-size:13px}.room-shell .trick-zone{position:relative;height:100%;padding:0}.room-shell .table-center-row{position:relative;display:block;width:100%;height:100%}.room-shell .stack-focus{position:absolute;left:45%;top:56%;width:min(210px,62vw);transform:translate(-50%,-50%)}.room-shell .played-card,.room-shell .stack-card{--card-w: var(--table-card-w);--card-h: var(--table-card-h)}.room-shell .played-stack{width:calc(var(--table-card-w) + 54px);height:calc(var(--table-card-h) + 34px)}.room-shell .table-suit-callout{padding:7px 10px}.room-shell .table-suit-callout span{font-size:11px}.room-shell .table-suit-callout .suit-icon{width:26px;height:26px}.room-shell .table-deck-visual{position:absolute;left:calc(50% + clamp(84px,25vw,104px));right:auto;top:49%;width:clamp(46px,13vw,58px);transform:translate(-50%,-50%)}.room-shell .table-deck-card{width:clamp(46px,13vw,58px);height:clamp(66px,18vw,84px)}.room-shell .table-deck-visual strong{min-width:30px;height:24px;font-size:13px}.room-shell .empty-trick{position:absolute;left:50%;top:47%;min-height:84px;transform:translate(-50%,-50%)}.room-shell .hand-panel{grid-template-columns:minmax(112px,.78fr) minmax(0,1fr);grid-template-rows:48px minmax(0,1fr);padding:8px;gap:7px;border-radius:8px}.room-shell .hand-header{min-height:44px}.room-shell .hand-header .muted{font-size:12px}.room-shell .hand-header strong{font-size:17px;line-height:1.08}.room-shell .hand-header .icon-button{display:none}.room-shell .turn-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.room-shell .turn-actions .secondary-button{min-height:40px;padding:0 7px;font-size:13px;font-weight:900}.room-shell .hand-scroll{align-items:end;padding:8px 4px 12px}.room-shell .hand-fan{height:calc(var(--card-h) + 42px)}.room-shell .hand-card-slot{bottom:18px}.room-shell .card-corner-top{top:max(5px,calc(var(--card-w) * .1));left:max(5px,calc(var(--card-w) * .1))}.room-shell .card-corner-bottom{right:max(5px,calc(var(--card-w) * .1));bottom:max(5px,calc(var(--card-w) * .1))}.room-shell .card-rank .rank-text,.room-shell .table-card-face .card-rank .rank-text{font-size:clamp(17px,calc(var(--card-w) * .25),23px)}.room-shell .card-center-suit,.room-shell .table-card-face .card-center-suit{width:clamp(24px,calc(var(--card-w) * .44),38px);height:clamp(24px,calc(var(--card-w) * .44),38px)}.room-shell .card-corner-suit{width:clamp(12px,calc(var(--card-w) * .18),16px);height:clamp(12px,calc(var(--card-w) * .18),16px)}.room-shell .round-result-overlay{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}.room-shell .round-result-window{width:calc(100vw - 12px);height:calc(100dvh - 12px);gap:7px;padding:8px;border-radius:8px}.room-shell .round-result-heading{justify-content:start;gap:8px}.room-shell .round-result-heading svg{width:24px;height:24px}.room-shell .round-result-heading span{font-size:10px}.room-shell .round-result-heading strong{font-size:clamp(16px,5vw,21px)}.room-shell .round-result-window .score-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px}.room-shell .round-result-window .score-player{gap:5px;padding:7px}.room-shell .round-result-window .score-player-head{grid-template-columns:minmax(0,1fr);gap:2px}.room-shell .round-result-window .score-player-head strong{font-size:12px;line-height:1.08}.room-shell .round-result-window .score-player-head span{font-size:9px}.room-shell .round-result-window .score-cards{gap:3px;max-height:50px;padding:0}.room-shell .round-result-window .card-face.compact{width:32px;height:42px;border-radius:5px}.room-shell .round-result-window .card-face.compact .card-corner-top{top:4px;left:4px}.room-shell .round-result-window .card-face.compact .card-rank .rank-text{font-size:11px}.room-shell .round-result-window .card-face.compact .card-center-suit{width:17px;height:17px}.room-shell .round-result-window .card-face.compact .card-corner-suit{width:8px;height:8px}.room-shell .round-result-window .score-lines{gap:3px}.room-shell .round-result-window .score-line{gap:2px 5px;font-size:10px;line-height:1.12}.room-shell .round-result-window .score-line small{font-size:9px;-webkit-line-clamp:1}.room-shell .round-result-window .score-notes{gap:3px}.room-shell .round-result-window .score-notes span{padding:2px 5px;font-size:9px}.room-shell .round-result-window .next-round-box{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.room-shell .round-result-window .next-round-box>span{text-align:left;font-size:11px}.room-shell .round-result-window .next-round-box .primary-button{min-height:38px;padding:8px 10px;font-size:12px}}.room-shell .hand-panel .turn-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:58px;height:58px;min-height:58px;align-self:start}.room-shell .hand-panel .turn-actions .secondary-button{height:58px;min-height:58px;font-size:16px}.room-shell .hand-panel .hand-header{height:58px;min-height:58px;padding:8px 10px;align-self:start}.room-shell .hand-panel .hand-scroll{height:100%;min-height:0;padding:4px 18px 12px}.room-shell .hand-panel .hand-fan{height:calc(var(--card-h) + 10px)}.room-shell .hand-panel .hand-card-slot{bottom:12px;transform:translate(calc(-50% + var(--fan-x))) rotate(var(--fan-rotate))}.room-shell .hand-panel .hand-card-slot:hover,.room-shell .hand-panel .hand-card-slot:focus-within,.room-shell .hand-panel .hand-card-slot.touch-tooltip-visible{transform:translate(calc(-50% + var(--fan-x))) translateY(-12px) rotate(0) scale(1.05)}.app-shell:not(.room-shell) .app-header{grid-template-columns:minmax(260px,.9fr) minmax(360px,1fr) minmax(350px,.7fr);min-height:68px;max-height:68px;padding:7px 16px;margin-bottom:12px;overflow:hidden}.app-shell:not(.room-shell) .brand-mark{min-height:48px;gap:10px}.app-shell:not(.room-shell) .brand-mark strong{font-size:28px}.app-shell:not(.room-shell) .goat-emblem{width:42px;height:42px;font-size:25px}.app-shell:not(.room-shell) .main-nav button{min-height:36px;font-size:17px}.app-shell:not(.room-shell) .main-nav button.active:after{bottom:-8px}.app-shell:not(.room-shell) .header-actions{display:grid;grid-template-columns:auto 200px;align-items:center;justify-content:end;gap:10px;flex-wrap:nowrap}.app-shell:not(.room-shell) .connection-badge{width:auto;min-width:112px;min-height:40px;padding:7px 12px}.app-shell:not(.room-shell) .login-header-button{width:200px;min-width:200px;max-width:200px;min-height:40px;padding:0 12px;border-radius:8px;font-size:14px}.route-home .landing-shell{grid-template-rows:minmax(0,1fr) 176px;gap:14px}.route-home .landing-hero{min-height:0}.route-home .hero-copy{gap:16px;padding-left:clamp(12px,3vw,54px)}.route-home .gold-flourish{width:180px}.route-home .landing-hero h1{gap:4px;font-size:clamp(40px,4.25vw,60px);line-height:1}.route-home .landing-hero p{max-width:430px;font-size:clamp(16px,1.25vw,21px);line-height:1.35}.route-home .hero-actions{gap:16px}.route-home .hero-actions .primary-button,.route-home .hero-actions .secondary-button{min-width:210px;min-height:54px;padding:0 22px;font-size:17px}.route-home .hero-table{min-height:390px}.route-home .hero-card{width:104px;height:146px}.route-home .hero-card-left{left:35%;top:92px;transform:rotate(-12deg);z-index:2}.route-home .hero-card-right{left:49%;top:102px;transform:rotate(10deg);z-index:3}.route-home .hero-deck{width:104px;height:146px;right:12%;top:142px}.route-home .hero-club-mark{width:118px;height:118px;top:232px}.route-home .landing-feature-grid{min-height:0;grid-template-columns:repeat(3,minmax(0,1fr))}.route-home .landing-feature-grid .feature-card{height:176px;min-height:176px;padding:14px 20px;gap:7px;justify-content:center;overflow:hidden}.route-home .landing-feature-grid .feature-card>span{width:56px;height:56px;min-height:56px}.route-home .landing-feature-grid .feature-card h2{margin:0;font-size:21px;line-height:1.1;white-space:nowrap}.route-home .landing-feature-grid .feature-card p{max-width:360px;margin:0;font-size:15px;line-height:1.25;-webkit-line-clamp:2}@media (max-width: 1180px){.app-shell:not(.room-shell) .app-header{grid-template-columns:minmax(220px,1fr) minmax(300px,auto);max-height:none;min-height:72px}.app-shell:not(.room-shell) .main-nav{grid-column:1 / -1;grid-row:2}.app-shell:not(.room-shell) .header-actions{grid-column:2;grid-row:1}}@media (max-width: 760px){.app-shell:not(.room-shell) .app-header{grid-template-columns:1fr;max-height:none}.app-shell:not(.room-shell) .header-actions{grid-template-columns:1fr;width:100%}.app-shell:not(.room-shell) .login-header-button,.app-shell:not(.room-shell) .connection-badge{width:100%;max-width:none}.route-home .landing-shell{grid-template-rows:auto auto}.route-home .landing-feature-grid{grid-template-columns:1fr;grid-auto-rows:154px}.route-home .landing-feature-grid .feature-card{height:154px;min-height:154px}}.goat-emblem{overflow:hidden}.goat-emblem img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.app-shell:not(.room-shell) .goat-emblem{border-color:#ffd264cc;background:#1a1710;box-shadow:0 0 0 3px #0000002e,0 7px 18px #0000004d}.route-home .landing-hero{grid-template-columns:minmax(390px,.58fr) minmax(560px,1fr);border-radius:0;isolation:isolate}.route-home .landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#011b16fa,#011b16eb 31%,#011b167a 52%,#011b160f 78%),linear-gradient(180deg,rgba(0,0,0,.16),transparent 28%,rgba(0,0,0,.18))}.route-home .hero-copy{z-index:2;max-width:520px}.route-home .hero-table,.route-home .hero-table-photo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;min-height:0;border-radius:0;background:url(/images/home-table-bg.png) center right / cover no-repeat;box-shadow:none;transform:none}@media (max-width: 1180px){.route-home .landing-hero{grid-template-columns:1fr}.route-home .landing-hero:before{background:linear-gradient(90deg,#011b16fa,#011b16e6 44%,#011b163d),linear-gradient(180deg,rgba(0,0,0,.18),transparent 34%,rgba(0,0,0,.28))}.route-home .hero-table,.route-home .hero-table-photo{background-position:60% center}}@media (max-width: 760px){.route-home .landing-hero{min-height:420px}.route-home .landing-hero:before{background:linear-gradient(180deg,#011b16fa,#011b16e6 54%,#011b1675),linear-gradient(90deg,#011b16fa,#011b1661)}.route-home .hero-table,.route-home .hero-table-photo{background-position:63% center}}.app-shell.route-home{position:relative;isolation:isolate}.app-shell.route-home:before,.app-shell.route-home:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.app-shell.route-home:before{background:url(/images/home-table-bg.png) center right / cover no-repeat}.app-shell.route-home:after{background:linear-gradient(90deg,#011814fa,#011814e6 30%,#0118146b 52%,#01181414 78%),linear-gradient(180deg,rgba(0,0,0,.2) 0%,transparent 42%,rgba(0,0,0,.24) 100%)}.app-shell.route-home>*{position:relative;z-index:1}.app-shell.route-home .landing-hero{overflow:visible}.app-shell.route-home .landing-hero:before,.app-shell.route-home .hero-table,.app-shell.route-home .hero-table-photo{display:none}.goat-emblem,.app-shell:not(.room-shell) .goat-emblem,.room-shell .goat-emblem{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.goat-emblem img{object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}.app-shell:not(.room-shell) .goat-emblem{width:56px;height:56px;font-size:0}.app-shell:not(.room-shell) .brand-mark{min-height:58px}.room-shell .goat-emblem{width:48px;height:48px}@media (max-width: 1180px){.app-shell.route-home:before{background-position:58% center}}@media (max-width: 760px){.app-shell.route-home:after{background:linear-gradient(180deg,#011814fa,#011814e6 48%,#01181494),linear-gradient(90deg,#011814f5,#0118143d)}}html:has(.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register)),body:has(.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register)),#root:has(.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register)){background-color:#011814;background-image:linear-gradient(90deg,#011814fa,#011814e6 30%,#0118146b 52%,#01181414 78%),linear-gradient(180deg,rgba(0,0,0,.2) 0%,transparent 42%,rgba(0,0,0,.24) 100%),url(/images/home-table-bg.png);background-position:center,center,center right;background-size:cover,cover,cover;background-repeat:no-repeat;background-attachment:fixed}.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register):before,.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register):after{display:none}@media (max-width: 760px){html:has(.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register)),body:has(.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register)),#root:has(.app-shell:is(.route-home,.route-lobby,.route-rules,.route-rating,.route-login,.route-register)){background-image:linear-gradient(180deg,#011814fa,#011814e6 48%,#01181494),linear-gradient(90deg,#011814f5,#0118143d),url(/images/home-table-bg.png);background-position:center,center,63% center}}.app-shell.route-home .landing-feature-grid .feature-card{background:linear-gradient(180deg,#002b22db,#001210f0),#001713eb;border-color:#b9742280;box-shadow:inset 0 0 0 1px #ffe29309,0 16px 42px #00000052;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-shell.route-rules .rules-page{position:relative;display:grid;grid-template-rows:148px minmax(0,1fr);gap:14px;align-self:stretch;width:min(100%,1420px);height:100%;max-height:100%;margin:0 auto;padding:16px 22px 18px;overflow:hidden;border:1px solid rgba(255,183,76,.84);border-radius:8px;background:radial-gradient(circle at 18% 18%,rgba(255,199,102,.08),transparent 24%),linear-gradient(180deg,#00362adb,#001713f2);box-shadow:inset 0 0 0 1px #fff0be0a,0 22px 56px #0000005c}.app-shell.route-rules .rules-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.18;background:radial-gradient(circle at 7% 13%,rgba(255,243,215,.16) 0 14px,transparent 15px),radial-gradient(circle at 12% 23%,rgba(255,243,215,.12) 0 16px,transparent 17px),radial-gradient(circle at 92% 13%,rgba(255,243,215,.14) 0 14px,transparent 15px)}.rules-hero,.rules-grid{position:relative;z-index:1;min-width:0;min-height:0}.rules-hero{display:grid;grid-template-columns:1fr 290px;align-items:center;overflow:hidden}.rules-hero-copy{display:grid;justify-items:center;gap:6px;min-width:0;padding-left:220px}.rules-hero-copy .gold-flourish{width:330px}.rules-hero-copy p{margin:0;color:var(--gold-bright);font-family:var(--serif);font-size:24px;line-height:1}.rules-hero-copy h1{width:100%;margin:0;color:var(--cream);font-family:var(--serif);font-size:clamp(44px,5vw,74px);line-height:.98;text-align:center;text-shadow:0 3px 0 rgba(0,0,0,.42);white-space:nowrap}.rules-hero-line{display:flex;align-items:center;justify-content:center;gap:16px;width:min(480px,80%);height:18px;color:var(--gold-bright)}.rules-hero-line:before,.rules-hero-line:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),var(--gold-bright),var(--gold-dark),transparent)}.rules-hero-line .suit-icon{width:24px;height:24px}.rules-hero-art{position:relative;height:148px;min-width:0;overflow:visible}.rules-hero-art>img{position:absolute;right:4px;top:-12px;width:116px;height:162px;object-fit:contain;transform:rotate(7deg);filter:drop-shadow(0 18px 22px rgba(0,0,0,.36));z-index:3}.rules-art-card{position:absolute;top:42px;width:76px;height:108px;opacity:.82;filter:drop-shadow(0 10px 18px rgba(0,0,0,.32))}.rules-art-card .card-face{width:100%;height:100%}.rules-art-card-one{right:124px;transform:rotate(-14deg);z-index:1}.rules-art-card-two{right:82px;transform:rotate(-5deg);z-index:2}.app-shell.route-rules .rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;height:100%}.app-shell.route-rules .rule-block{position:relative;display:grid;grid-template-rows:44px 25px minmax(0,1fr);justify-items:center;gap:5px;width:100%;height:100%;min-height:0;padding:9px 17px 12px;overflow:hidden;border:1px solid rgba(255,181,70,.78);border-radius:8px;background:radial-gradient(circle at 50% 0%,rgba(255,199,102,.1),transparent 36%),linear-gradient(180deg,#003d30eb,#001713f5);box-shadow:inset 0 0 0 1px #fff0be09,0 12px 28px #00000042}.rule-number{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold-bright);border-radius:50%;color:var(--gold-bright);font-family:var(--serif);font-size:31px;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.42)}.app-shell.route-rules .rule-block h2{max-width:100%;margin:0;overflow:hidden;color:var(--gold-bright);font-family:var(--serif);font-size:21px;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-shell.route-rules .rule-block ul{align-self:start;display:grid;gap:4px;width:100%;min-height:0;margin:0;padding:0 0 0 17px;overflow:hidden;color:#fff3d7e6;font-size:clamp(12px,.9vw,15px);line-height:1.16}.app-shell.route-rules .rule-block li{padding-left:2px}.app-shell.route-rules .rule-block li::marker{color:var(--gold-bright)}@media (max-width: 1180px){.app-shell.route-rules .rules-page{grid-template-rows:128px minmax(0,1fr);padding:14px}.rules-hero{grid-template-columns:1fr 170px}.rules-hero-copy{padding-left:0}.rules-hero-copy h1{font-size:clamp(36px,6vw,58px)}.rules-hero-art{height:128px}.rules-hero-art>img{width:92px;height:128px}.rules-art-card{top:42px;width:58px;height:82px}.rules-art-card-one{right:92px}.rules-art-card-two{right:62px}.app-shell.route-rules .rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,174px);overflow:auto;padding-right:2px}}@media (max-width: 760px){.app-shell.route-rules .rules-page{grid-template-rows:150px minmax(0,1fr);padding:12px}.rules-hero{grid-template-columns:1fr}.rules-hero-copy .gold-flourish{width:180px}.rules-hero-copy h1{font-size:clamp(32px,10vw,42px);white-space:normal}.rules-hero-art{display:none}.app-shell.route-rules .rules-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:174px}}.app-shell.route-lobby .lobby-page{display:grid;grid-template-columns:minmax(500px,1.12fr) minmax(360px,.88fr);grid-template-rows:minmax(0,1fr) 86px;gap:14px;width:min(100%,1280px);height:100%;min-height:0;margin:0 auto;overflow:hidden}.app-shell.route-lobby .rooms-panel,.app-shell.route-lobby .create-room-panel{min-width:0;min-height:0;padding:16px 18px;overflow:hidden;border:1px solid rgba(255,181,70,.62);border-radius:8px;background:radial-gradient(circle at 80% 15%,rgba(255,199,102,.08),transparent 34%),linear-gradient(180deg,#003a2de6,#001713f5);box-shadow:inset 0 0 0 1px #fff0be09,0 18px 44px #00000052}.app-shell.route-lobby .rooms-panel{display:grid;grid-template-rows:62px 42px minmax(0,1fr);gap:12px}.app-shell.route-lobby .ornate-heading{min-height:0;margin:0}.app-shell.route-lobby .ornate-heading h1{font-size:38px;line-height:1}.app-shell.route-lobby .ornate-heading p{margin-top:8px;font-size:14px;line-height:1.2}.app-shell.route-lobby .room-search-row{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:10px;height:42px;margin:0}.app-shell.route-lobby .search-field,.app-shell.route-lobby .room-search-row .field,.app-shell.route-lobby .create-room-panel .field,.app-shell.route-lobby .quick-code-panel .field{min-height:0}.app-shell.route-lobby .field input{min-height:38px;height:38px;padding:0 12px;font-size:13px}.app-shell.route-lobby .search-field input{padding-left:40px}.app-shell.route-lobby .search-field svg{left:13px;width:17px;height:17px}.app-shell.route-lobby .room-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell.route-lobby .room-filter-row button{min-width:0;min-height:38px;height:38px;padding:0 8px;font-size:12px;white-space:nowrap}.app-shell.route-lobby .room-browser{display:grid;min-height:0;overflow:hidden}.app-shell.route-lobby .room-browser>.muted{display:grid;place-items:center;height:100%;min-height:0;margin:0;border-top:1px solid rgba(255,181,70,.28);color:#fff3d7a8;font-size:14px}.app-shell.route-lobby .room-list{display:grid;gap:8px;min-height:0;max-height:100%;overflow:auto;padding-right:4px}.app-shell.route-lobby .room-list-item{display:grid;grid-template-columns:minmax(145px,1fr) minmax(128px,auto) minmax(166px,auto);gap:10px;align-items:center;height:62px;min-height:62px;padding:9px 10px;border-color:#ffb5465c;background:#002b22b8}.app-shell.route-lobby .room-list-item strong{font-size:19px;line-height:1.1}.app-shell.route-lobby .room-list-item span,.app-shell.route-lobby .room-flags small,.app-shell.route-lobby .room-flags span{font-size:12px}.app-shell.route-lobby .room-flags{justify-items:start}.app-shell.route-lobby .room-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:166px}.app-shell.route-lobby .room-actions .secondary-button{width:100%;min-width:0;min-height:36px;height:36px;padding:0 8px;font-size:12px}.app-shell.route-lobby .create-room-panel{display:grid;grid-template-rows:42px 48px 154px 112px;gap:9px;position:relative;overflow:hidden}.app-shell.route-lobby .create-room-art{position:absolute;right:10px;top:0;z-index:0;width:230px;height:96px;margin:0;opacity:.42;pointer-events:none}.app-shell.route-lobby .create-room-art:before{height:132px;box-shadow:inset 0 0 0 3px #ffc7662e,inset 0 0 0 7px #5c340e94}.app-shell.route-lobby .create-room-art .mini-hero-one{right:170px;top:10px;transform:scale(.42) rotate(-12deg)}.app-shell.route-lobby .create-room-art .mini-hero-two{right:126px;top:16px;transform:scale(.42) rotate(10deg)}.app-shell.route-lobby .create-room-art .mini-hero-deck{right:28px;top:8px;width:58px;height:82px}.app-shell.route-lobby .create-room-panel .ornate-heading.compact{display:flex;align-items:center;gap:10px;min-height:34px;position:relative;z-index:1}.app-shell.route-lobby .create-room-panel .ornate-heading.compact svg{width:22px;height:22px}.app-shell.route-lobby .create-room-panel .ornate-heading.compact h1{font-size:28px;line-height:1}.app-shell.route-lobby .create-room-panel>.field{display:grid;gap:4px;position:relative;z-index:1}.app-shell.route-lobby .field>span,.app-shell.route-lobby .form-section-label{font-size:13px;line-height:1.1}.app-shell.route-lobby .action-block{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:7px;min-height:0;overflow:hidden;position:relative;z-index:1}.app-shell.route-lobby .action-block .form-section-label,.app-shell.route-lobby .action-block .segmented,.app-shell.route-lobby .action-block>.field,.app-shell.route-lobby .action-block>.primary-button,.app-shell.route-lobby .timer-segmented{grid-column:1 / -1}.app-shell.route-lobby .segmented{height:36px}.app-shell.route-lobby .segmented button{min-height:34px;height:34px;padding:0 10px;font-size:13px}.app-shell.route-lobby .toggle-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;min-height:30px;height:30px;padding:0 7px;font-size:11px;line-height:1.1;white-space:nowrap}.app-shell.route-lobby .action-block>.primary-button{min-height:35px;height:35px;margin-top:0;font-size:15px}.app-shell.route-lobby .quick-code-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:20px 28px 28px;gap:5px;align-self:stretch;height:112px;min-height:0;margin:0;padding:6px 9px;overflow:hidden;position:relative;z-index:1;border-color:#ffb5466b;background:#001e19b8}.app-shell.route-lobby .quick-code-panel h2{grid-column:1 / -1;gap:8px;margin:0;overflow:hidden;font-size:16px;line-height:1;white-space:nowrap}.app-shell.route-lobby .quick-code-panel h2 svg{width:18px;height:18px}.app-shell.route-lobby .quick-code-panel .field input{min-height:28px;height:28px;font-size:12px}.app-shell.route-lobby .quick-code-panel .primary-button{grid-column:1 / -1;min-height:28px;height:28px;font-size:13px}.app-shell.route-lobby .toggle-row input{width:14px;height:14px;margin:0}.app-shell.route-lobby .lobby-feature-strip{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:0}.app-shell.route-lobby .lobby-feature-strip .feature-card{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:24px 34px;column-gap:12px;row-gap:2px;align-items:center;justify-items:start;height:86px;min-height:86px;padding:12px 16px;text-align:left;background:linear-gradient(180deg,#002b22db,#001210f0),#001713eb;border-color:#b9742280}.app-shell.route-lobby .lobby-feature-strip .feature-card>span{grid-row:1 / 3;width:46px;height:46px;min-height:46px}.app-shell.route-lobby .lobby-feature-strip .feature-card h2{margin:0;font-size:17px;line-height:1.1;white-space:nowrap}.app-shell.route-lobby .lobby-feature-strip .feature-card p{margin:0;font-size:12px;line-height:1.15;-webkit-line-clamp:2}@media (max-width: 1180px){.app-shell.route-lobby .lobby-page{grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto;overflow:visible}.app-shell.route-lobby .rooms-panel{height:520px}.app-shell.route-lobby .create-room-panel{height:560px}}@media (max-width: 760px){.app-shell.route-lobby .room-search-row{grid-template-columns:1fr;height:auto}.app-shell.route-lobby .rooms-panel{grid-template-rows:auto auto 420px;height:auto}.app-shell.route-lobby .room-list-item{grid-template-columns:minmax(0,1fr);height:118px}.app-shell.route-lobby .room-actions{min-width:0}.app-shell.route-lobby .lobby-feature-strip{grid-template-columns:1fr}}
