:root{--bg-app:#15171b;--bg-surface:#1e2126;--bg-elevated:#262a31;--bg-overlay:#000000b8;--border:#2c2f33;--border-strong:#3d4147;--accent:#5aa84f;--accent-bright:#74c466;--accent-press:#48893f;--accent-soft:#5aa84f26;--accent-border:#5aa84f59;--text:#e8eaed;--text-muted:#9aa0a6;--text-dim:#6b7077;--felt:radial-gradient(circle at 50% 40%,#1f6b4f 0%,#0e3a2b 92%);--felt-border:#ffffff1a;--warn:#ff9800;--danger:#ef4444;--info:#4a9eff;--gold:#ffd166;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--z-base:1;--z-sticky:100;--z-drawer:900;--z-modal:1000;--z-toast:1100;--card-hand:clamp(82px,21vw,150px);--card-hand-h:calc(var(--card-hand)*1.45);--card-table:clamp(70px,17vw,116px);--card-table-h:calc(var(--card-table)*1.45);--card-opponent:clamp(34px,9vw,60px);--card-opponent-h:calc(var(--card-opponent)*1.45);--card-deck:clamp(66px,15vw,104px);--card-deck-h:calc(var(--card-deck)*1.45);--topbar-h:56px;--shadow-card:0 4px 16px #00000059;--shadow-modal:0 20px 60px #0000008c;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Helvetica Neue",sans-serif}.ui-field{margin-bottom:16px;margin-bottom:var(--space-4)}.ui-label{color:#9aa0a6;color:var(--text-muted);display:block;font-size:13px;font-weight:600;margin-bottom:8px;margin-bottom:var(--space-2)}.ui-input,.ui-select{background:#262a31;background:var(--bg-elevated);border:1px solid #3d4147;border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius-sm);color:#e8eaed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-family:var(--font-sans);font-size:14px;padding:12px;transition:border-color .15s;width:100%}.ui-input:focus,.ui-select:focus{border-color:#5aa84f;border-color:var(--accent);outline:none}.ui-input:disabled,.ui-select:disabled{cursor:not-allowed;opacity:.5}.ui-select option{background:#262a31;background:var(--bg-elevated);color:#e8eaed;color:var(--text)}.ui-btn{border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:600;padding:12px 20px;transition:all .15s}.ui-btn-primary{background:#5aa84f;background:var(--accent);color:#fff}.ui-btn-primary:hover{background:#74c466;background:var(--accent-bright)}.ui-btn-primary:active{background:#48893f;background:var(--accent-press)}.ui-btn-secondary{background:#262a31;background:var(--bg-elevated);border:1px solid #3d4147;border:1px solid var(--border-strong);color:#e8eaed;color:var(--text)}.ui-btn-secondary:hover{border-color:#5aa84f;border-color:var(--accent)}.ui-note{background:#5aa84f26;background:var(--accent-soft);border:1px solid #5aa84f59;border:1px solid var(--accent-border);border-radius:8px;border-radius:var(--radius-sm);margin-bottom:16px;margin-bottom:var(--space-4);padding:14px}.ui-note-title{color:#74c466;color:var(--accent-bright);font-size:15px;margin:0 0 8px}.ui-note-body{color:#9aa0a6;color:var(--text-muted);font-size:13px;line-height:1.6}.ui-name-preview{background:#5aa84f26;background:var(--accent-soft);border:1px solid #5aa84f59;border:1px solid var(--accent-border);border-radius:8px;border-radius:var(--radius-sm);margin-bottom:20px;margin-bottom:var(--space-5);padding:14px}.ui-name-preview-label{color:#74c466;color:var(--accent-bright);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.ui-name-preview-value{color:#e8eaed;color:var(--text);font-size:16px;font-weight:600;word-break:break-word}@media (display-mode:standalone){body,html{overflow-x:hidden;overflow-y:auto}#root,body,html{aspect-ratio:16/9;min-height:100vh}#root{display:flex;flex-direction:column;width:100vw}}@media (display-mode:standalone) and (min-width:768px){body{background:var(--bg-app);margin:0;overflow-x:hidden;overflow-y:auto;padding:0;width:100vw}#root,body{min-height:100vh}#root{display:flex;flex-direction:column;width:100%}.container{flex:1 1;overflow-x:hidden;overflow-y:auto}}body{-webkit-overflow-scrolling:touch;overflow-y:auto}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.container{margin:0 auto;max-width:1200px;overflow-x:hidden;overflow-y:auto;padding:0 20px}@media (display-mode:standalone){.container{min-height:100vh;overflow-x:hidden;overflow-y:auto}}.form-container{margin:50px auto;padding:30px}.form-group{margin-bottom:20px}.form-group label{color:#fff;display:block;font-weight:500;margin-bottom:5px}.form-group input{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;font-size:16px;padding:12px;width:100%}.form-group input:focus{background:#ffffff26;border-color:#28a745;box-shadow:0 0 0 2px #28a74540;outline:none}.form-group select{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;font-size:16px;padding:12px;width:100%}.form-group select:focus{background:#ffffff26;border-color:#28a745;box-shadow:0 0 0 2px #28a74540;outline:none}.form-group select option{background:#075e46;color:#fff}.btn{box-shadow:0 4px 15px #28a7454d;padding:12px}.btn:hover{background:linear-gradient(135deg,#20c997,#17a2b8);box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.btn:disabled{background:#ccc;cursor:not-allowed}.error{color:#dc3545}.error,.success{font-size:14px;margin-top:5px}.success{color:#28a745}.dashboard{margin:0 auto;max-width:1200px;padding:20px}.dashboard-header{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.user-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000004d;margin-bottom:20px;padding:20px}.user-info h3{color:#fff;font-weight:600;margin-top:0}.user-info p{color:#fffc;margin:10px 0}.socket-status{border-radius:4px;font-weight:500;margin-bottom:20px;padding:10px}.socket-status.connected{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.socket-status.disconnected{background:#dc354533;border:1px solid #dc35454d;color:#ff6b6b}.game-card{cursor:pointer;margin-bottom:15px;padding:20px}.game-card:hover{border-color:#28a74580;box-shadow:0 8px 25px #0006;transform:translateY(-2px)}.game-card h4{color:#fff;font-weight:600;margin-bottom:10px}.game-card p{color:#fffc;margin:5px 0}.friends-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:15px}.friend-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:15px;text-align:center;transition:all .3s ease}.friend-item:hover{transform:translateY(-2px)}.friend-item.online,.friend-item:hover{border-color:#28a74580}.friend-item.offline{opacity:.6}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff1a}.modal-header h3{color:#fff;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#ffffffb3;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .3s ease;width:30px}.close-btn:hover{background:#ffffff1a;color:#fff}.navbar{padding:.5rem 1rem}.navbar-brand{font-size:1.4rem;margin-right:0}.navbar-nav{align-items:center;margin-left:auto!important}.navbar-nav .nav-link{margin:0 .25rem}.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{background-color:#ffffff1a;color:#fff!important}.navbar-toggler{border:1px solid #ffffff4d;padding:.25rem .5rem}.navbar-toggler:focus{box-shadow:0 0 0 .2rem #ffffff40}.navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.7)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}@media (max-width:991.98px){.navbar-nav{margin-top:1rem;text-align:center}.navbar-nav .nav-link{margin:.25rem 0;padding:.75rem 1rem!important}}.nav-tabs{border-bottom:1px solid #fff3;flex-direction:row;margin-bottom:20px}.nav-tabs .nav-link{background:none;border:none;border-radius:8px 8px 0 0;margin-right:5px;padding:10px 20px}.nav-tabs .nav-link.active{background:#ffffff1a;border-bottom:2px solid #28a745}.nav-tabs .nav-link:hover{background:#ffffff0d;color:#fff}.action-btn{border-radius:6px;font-weight:500;margin-bottom:8px;margin-right:8px;padding:8px 16px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3)}.btn-success{background:linear-gradient(135deg,#28a745,#20c997)}.btn-warning{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#212529}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333)}.action-btn:hover{box-shadow:0 4px 12px #0000004d}.alert{border:1px solid;border-radius:8px;margin-bottom:20px;padding:12px 16px}.alert-danger{background:#dc35451a;border-color:#dc35454d;color:#ff6b6b}.alert-success{background:#28a7451a;border-color:#28a7454d;color:#28a745}.badge{padding:.25rem .5rem!important}.bg-danger{background-color:#dc3545!important}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.nav-tabs{gap:10px}@media (max-width:768px){.nav-tabs{flex-direction:column;width:100%}.nav-tabs .nav-link{text-align:center;width:100%}}:root{--mobile-padding:10px;--mobile-margin:8px;--card-width-mobile:60px;--card-height-mobile:84px;--button-height-mobile:48px;--touch-target-min:44px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-app);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;overflow-x:hidden}.container{margin:0;max-width:100vw;padding:10px;padding:var(--mobile-padding);width:100%}.form-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000004d;margin:8px auto;margin:var(--mobile-margin) auto;max-width:100%;padding:15px}.btn{-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-height:48px;min-height:var(--button-height-mobile);padding:12px 16px;touch-action:manipulation;transition:all .3s ease;width:100%}.btn:active{background:linear-gradient(135deg,#20a739,#17b48a);transform:scale(.98)}.form-group input,.form-group select{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;font-size:16px;min-height:48px;min-height:var(--button-height-mobile);padding:12px 16px;width:100%}.navbar{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000073!important;padding:.5rem 10px;padding:.5rem var(--mobile-padding);position:sticky;top:0;z-index:1000}.navbar-brand{font-size:1.2rem}.navbar-nav .nav-link{align-items:center;border-radius:4px;color:#ffffffb3!important;display:flex;justify-content:center;margin:.25rem 0;min-height:44px;min-height:var(--touch-target-min);padding:.75rem 1rem!important;transition:color .3s ease}.game-table{background:radial-gradient(ellipse at center,#0a5c43 0,#074336 50%,#023429 100%);border:3px solid #8b4513;border-radius:15px;margin:8px 0;margin:var(--mobile-margin) 0;min-height:60vh;width:100%}.card,.game-table{touch-action:manipulation}.card{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid #333;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;height:84px;height:var(--card-height-mobile);justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:60px;width:var(--card-width-mobile)}.card:active{transform:scale(.95)}.card.playable{border-color:#28a745;box-shadow:0 0 10px #28a74580}.card.selected{border-color:#ffc107;box-shadow:0 4px 20px #ffc10799;transform:translateY(-10px) scale(1.05)}.player-hand{-webkit-overflow-scrolling:touch;align-items:center;flex-wrap:wrap;gap:5px;justify-content:center;max-width:100%;overflow-x:auto;padding:10px}.player-hand.my-hand{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid #fff3;border-radius:15px;bottom:10px;left:10px;max-height:120px;position:fixed;right:10px;z-index:100}.opponent-hand{align-items:center;display:flex;gap:3px;justify-content:center}.opponent-card{background:linear-gradient(135deg,#4a5568,#2d3748);border:1px solid #333;border-radius:3px;height:35px;width:25px}.deck-area{gap:15px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.deck-pile,.discard-pile{align-items:center;border:2px solid #333;border-radius:6px;cursor:pointer;display:flex;height:84px;height:var(--card-height-mobile);justify-content:center;transition:all .2s ease;width:60px;width:var(--card-width-mobile)}.game-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;border:1px solid #fff3;border-radius:10px;font-size:14px;left:10px;max-height:100px;overflow-y:auto;padding:10px;position:fixed;right:10px;top:60px;z-index:99}.game-info.collapsed{max-height:40px;overflow:hidden}.game-info-toggle{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;min-height:44px;min-height:var(--touch-target-min);min-width:44px;min-width:var(--touch-target-min);padding:5px;position:absolute;right:10px;top:5px}.modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#075e46f2;border:1px solid #fff3;max-height:80vh;max-width:400px;overflow-y:auto;padding:20px;width:100%}.nav-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:15px}.nav-tabs .nav-link{align-items:center;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#ffffffb3;display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:44px;min-height:var(--touch-target-min);min-width:80px;padding:12px 8px;text-align:center;transition:all .3s ease}.nav-tabs .nav-link.active{background:linear-gradient(135deg,#28a745,#20c997);border-color:#28a745;color:#fff}.games-grid{grid-gap:15px;gap:15px;grid-template-columns:1fr;padding:10px 0}.game-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:15px;transition:all .3s ease}.game-card:active{background:#ffffff26;transform:scale(.98)}h1,h2,h3{font-size:clamp(1.2rem,4vw,2rem);margin:10px 0;text-align:center}p,span{font-size:clamp(.9rem,3vw,1rem)}.mobile-hidden{display:none}.mobile-only{display:block}.text-center-mobile{text-align:center}.full-width-mobile{width:100%}.sticky-bottom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;border-top:1px solid #fff3;bottom:0;left:0;padding:10px;position:fixed;right:0;z-index:100}@media (min-width:768px){:root{--card-width-mobile:80px;--card-height-mobile:112px}.container{padding:20px}.games-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.player-hand.my-hand{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;bottom:auto}.game-info,.player-hand.my-hand{left:auto;position:relative;right:auto}.game-info{background:#ffffff1a;margin-bottom:20px;top:auto}.mobile-hidden{display:block}.mobile-only{display:none}}@media (min-width:992px){:root{--card-width-mobile:100px;--card-height-mobile:140px}.container{margin:0 auto;max-width:1200px;padding:30px}.games-grid{gap:25px;grid-template-columns:repeat(3,1fr)}.navbar-nav{flex-direction:row}.navbar-nav .nav-link{margin:0 .25rem;padding:.5rem 1rem!important}.nav-tabs{flex-direction:row;flex-wrap:nowrap}.game-table{min-height:70vh}}@media (min-width:1200px){:root{--card-width-mobile:120px;--card-height-mobile:168px}.games-grid{gap:30px;grid-template-columns:repeat(4,1fr)}.container{padding:40px}}@media (hover:none) and (pointer:coarse){.card:hover{transform:none}.btn:hover{background:linear-gradient(135deg,#28a745,#20c997)}.btn,.card,.nav-link{min-height:44px;min-height:var(--touch-target-min);min-width:44px;min-width:var(--touch-target-min)}}@media (max-height:500px) and (orientation:landscape){.player-hand.my-hand{bottom:5px;max-height:80px}.game-info{max-height:60px;top:5px}.game-table{min-height:50vh}}@supports (-webkit-appearance:none){.form-group input,.form-group select{-webkit-appearance:none;border-radius:8px}body{-webkit-overflow-scrolling:touch}}@media screen and (-webkit-min-device-pixel-ratio:0){.btn{-webkit-tap-highlight-color:rgba(0,0,0,0)}}.notif-bell,.notif-bell-btn{position:relative}.notif-bell-btn{align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;height:42px;justify-content:center;transition:all .15s ease;width:42px}.notif-bell-btn:hover{background:var(--bg-surface);border-color:var(--accent)}.notif-bell-icon{font-size:20px;line-height:1}.notif-bell-badge{align-items:center;background:#f44336;background:var(--danger,#f44336);border-radius:10px;box-shadow:0 0 0 2px var(--bg-surface);color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px;position:absolute;right:-4px;top:-4px}.notif-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;max-width:92vw;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);width:340px;z-index:1200}.notif-panel-header{align-items:center;border-bottom:1px solid var(--border);color:var(--text);display:flex;font-size:15px;font-weight:700;justify-content:space-between;padding:14px 18px}.notif-panel-count{background:var(--accent-soft);border-radius:999px;border-radius:var(--radius-pill,999px);color:var(--accent-bright);font-size:12px;font-weight:700;padding:2px 10px}.notif-panel-body{max-height:60vh;overflow-y:auto}.notif-empty{color:var(--text-muted);padding:36px 20px;text-align:center}.notif-empty-icon{font-size:40px;margin-bottom:10px;opacity:.5}.notif-empty p{font-size:14px;margin:0}.notif-group{padding:8px 0}.notif-group-title{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.5px;padding:8px 18px;text-transform:uppercase}.notif-item{align-items:center;display:flex;gap:12px;padding:10px 18px;transition:background .15s ease}.notif-item:hover{background:var(--bg-elevated)}.notif-item-main{flex:1 1;min-width:0}.notif-item-title{color:var(--text);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-sub{color:var(--text-muted);font-size:12px}.notif-item-actions{display:flex;flex-shrink:0;gap:6px}.notif-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700;padding:7px 12px;transition:all .15s ease}.notif-btn-accept{background:var(--accent);color:#fff}.notif-btn-accept:hover{background:var(--accent-bright)}.notif-btn-reject{background:#0000;border:1px solid var(--border-strong,var(--border));color:var(--text-muted)}.notif-btn-reject:hover{border-color:#f44336;border-color:var(--danger,#f44336);color:#f44336;color:var(--danger,#f44336)}.notif-panel-footer{background:var(--bg-elevated);border:none;border-top:1px solid var(--border);color:var(--accent-bright);cursor:pointer;font-size:14px;font-weight:600;padding:14px;transition:background .15s ease;width:100%}.notif-panel-footer:hover{background:var(--bg-surface)}.homepage{background:var(--bg-app);color:var(--text);min-height:100vh;overflow-x:hidden}.hero-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d0d0de6;border-bottom:1px solid #ffffff0f;justify-content:space-between;left:0;padding:20px 40px;position:fixed;right:0;top:0;z-index:100}.hero-nav,.hero-nav-brand{align-items:center;display:flex}.hero-nav-brand{color:#fff;font-size:22px;font-weight:700;gap:10px}.hero-logo{height:36px;width:36px}.hero-nav-links{align-items:center;display:flex;gap:24px}.hero-link{color:#ffffffb3;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.hero-link:hover{color:#fff}.hero-btn-secondary{border:1px solid #fff3;border-radius:8px;color:#ffffffe6;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.hero-btn-secondary:hover{background:#ffffff1a;border-color:#fff6;color:#fff}.hero-btn-primary{background:linear-gradient(135deg,var(--accent) 0,var(--accent-press) 100%);border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:8px 20px;text-decoration:none;transition:all .2s}.hero-btn-primary:hover{background:linear-gradient(135deg,var(--accent-bright) 0,var(--accent) 100%);box-shadow:0 4px 12px var(--accent-soft);color:#fff;transform:translateY(-1px)}.hero{display:flex;flex-direction:column;min-height:100vh}.hero-content{align-items:center;display:flex;flex:1 1;gap:80px;justify-content:center;margin:0 auto;max-width:1200px;padding:120px 40px 60px;width:100%}.hero-text{flex:1 1;max-width:560px}.hero-text h1{font-size:clamp(2.5rem,5vw,3.8rem);font-weight:800;line-height:1.1;margin:0 0 24px;text-align:left}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-bright) 0,var(--accent) 50%,var(--accent-press) 100%);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#fff9;font-size:18px;line-height:1.7;margin:0 0 32px}.hero-cta{display:flex;gap:16px;margin-bottom:48px}.cta-primary{background:linear-gradient(135deg,var(--accent) 0,var(--accent-press) 100%);border-radius:12px;color:#fff;display:inline-block;font-size:16px;font-weight:600;padding:14px 32px;text-decoration:none;transition:all .3s}.cta-primary:hover{box-shadow:0 8px 24px var(--accent-soft);color:#fff;transform:translateY(-2px)}.cta-primary.large{font-size:18px;padding:18px 40px}.cta-secondary{border:1px solid #fff3;border-radius:12px;color:#fffc;display:inline-block;font-size:16px;font-weight:500;padding:14px 32px;text-decoration:none;transition:all .3s}.cta-secondary:hover{background:#ffffff0d;border-color:#fff6;color:#fff}.hero-stats{display:flex;gap:40px}.stat{display:flex;flex-direction:column}.stat-value{color:var(--accent-bright);font-size:28px}.stat-label{color:#ffffff80;font-size:13px;letter-spacing:.5px}.hero-visual{flex:1 1;max-width:400px}.card-fan,.hero-visual{align-items:center;display:flex;justify-content:center}.card-fan{height:350px;position:relative;width:300px}.fan-card{border:2px solid #ffffff1a;border-radius:10px;box-shadow:0 8px 32px #00000080;height:160px;overflow:hidden;position:absolute;transform:rotate(calc((var(--i) - 2)*15deg)) translateY(calc(var(--i)*-3px));transform-origin:bottom center;transition:transform .4s ease;width:110px}.fan-card img{height:100%;object-fit:cover;width:100%}.fan-card:hover{box-shadow:0 12px 40px var(--accent-soft);transform:rotate(calc((var(--i) - 2)*15deg)) translateY(-30px) scale(1.1);z-index:10}.section-container{margin:0 auto;max-width:1100px;padding:0 40px}.section-title{font-size:clamp(2rem,4vw,2.8rem);font-weight:700;margin:0 0 16px;text-align:center}.section-subtitle{color:#fff9;font-size:17px;line-height:1.6;margin:0 auto 48px;max-width:600px;text-align:center}.deck-section{background:linear-gradient(180deg,var(--bg-app) 0,#111a14 100%);padding:100px 0}.suits-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr);margin-bottom:48px}.suit-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;padding:32px 20px;text-align:center;transition:all .3s}.suit-card:hover{background:#ffffff0f;border-color:var(--accent-border);transform:translateY(-4px)}.suit-icon{border-radius:8px;box-shadow:0 4px 16px #0006;height:110px;margin:0 auto 16px;overflow:hidden;width:80px}.suit-icon img{height:100%;object-fit:cover;width:100%}.suit-card h3{font-size:18px;font-weight:600;margin:0 0 4px}.suit-card p{color:#ffffff80;font-size:13px;margin:0}.rank-explainer{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.rank-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;font-size:14px;font-weight:500;padding:8px 16px}.rank-item.highlight{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-bright)}.games-section{background:var(--bg-app);padding:100px 0}.game-showcase{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(2,1fr)}.game-card-showcase{background:#ffffff05;border:1px solid #ffffff14;border-radius:20px;overflow:hidden;transition:all .3s}.game-card-showcase:hover{border-color:var(--accent-border);box-shadow:0 12px 40px #0000004d;transform:translateY(-4px)}.game-card-header{padding:24px;position:relative}.game-card-header.pharaon-header{background:linear-gradient(135deg,var(--accent-soft),#1665341a)}.game-card-header.raub-header{background:linear-gradient(135deg,#3b82f633,#2563eb1a)}.game-badge{background:#ffffff1a;border-radius:4px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:8px;padding:4px 10px;text-transform:uppercase}.game-card-header h3{font-size:28px;font-weight:700;margin:0}.game-card-body{padding:24px}.game-description{color:#ffffffb3;font-size:15px;line-height:1.6;margin:0 0 20px}.game-details{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.detail{align-items:center;color:#fff9;display:flex;font-size:13px;gap:6px}.detail-icon{font-size:16px}.game-phases h4,.special-cards h4{color:#ffffff80;font-size:13px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.special-cards-row{display:flex;flex-wrap:wrap;gap:16px}.special-card-info{align-items:center;display:flex;flex-direction:column;gap:6px}.special-card-info img{border-radius:6px;box-shadow:0 2px 8px #0006;height:70px;object-fit:cover;width:50px}.special-card-info span{color:#fff9;font-size:11px}.phase-flow{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.phase-step{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:6px;font-size:13px;font-weight:500;padding:6px 14px}.phase-arrow{color:#ffffff4d;font-size:16px}.more-games-teaser{border:1px dashed #ffffff26;border-radius:12px;margin-top:40px;padding:20px;text-align:center}.more-games-teaser p{color:#ffffff80;font-size:14px;margin:0}.how-section{background:linear-gradient(180deg,var(--bg-app) 0,#0f1a12 100%);padding:100px 0}.steps-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}.step-card{padding:32px 20px;text-align:center}.step-number{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-press));border-radius:50%;display:flex;font-size:20px;font-weight:700;height:48px;justify-content:center;margin:0 auto 16px;width:48px}.step-card h3{font-size:17px;font-weight:600;margin:0 0 8px}.step-card p{color:#fff9;font-size:14px;line-height:1.5;margin:0}.features-section{background:var(--bg-app);padding:80px 0}.features-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(4,1fr)}.feature{padding:24px;text-align:center}.feature-icon{display:block;font-size:32px;margin-bottom:12px}.feature h3{font-size:16px;font-weight:600;margin:0 0 8px}.feature p{color:#ffffff80;font-size:14px;line-height:1.5;margin:0}.cta-section{background:linear-gradient(180deg,var(--bg-app) 0,#0d1f14 50%,var(--bg-app) 100%);padding:100px 0;text-align:center}.cta-section h2{font-size:2.5rem;font-weight:700;margin:0 0 12px}.cta-section p{color:#fff9;font-size:17px;margin:0 0 32px}.homepage-footer{border-top:1px solid #ffffff0f;padding:40px 0}.footer-content{justify-content:space-between}.footer-brand,.footer-content{align-items:center;display:flex}.footer-brand{font-size:18px;font-weight:600;gap:10px}.footer-brand img{height:28px;width:28px}.footer-text{color:#fff6;font-size:14px;margin:0}@media (max-width:1024px){.hero-content{flex-direction:column;gap:48px;padding:100px 24px 60px;text-align:center}.hero-text{max-width:100%}.hero-text h1{text-align:center}.hero-cta,.hero-stats{justify-content:center}.game-showcase{grid-template-columns:1fr}.steps-grid{gap:20px}.features-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.hero-nav{padding:16px 20px}.hero-nav-links{gap:12px}.hero-link{display:none}.hero-content{padding:90px 20px 40px}.hero-text h1{font-size:2.2rem}.hero-subtitle{font-size:16px}.hero-visual{max-width:280px}.card-fan{height:280px;width:240px}.fan-card{height:120px;width:80px}.section-container{padding:0 20px}.suits-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.features-grid,.steps-grid{grid-template-columns:1fr 1fr}.features-grid{gap:20px}.footer-content{flex-direction:column;gap:12px;text-align:center}.cta-section h2{font-size:1.8rem}.cta-section,.deck-section,.features-section,.games-section,.how-section{padding:60px 0}}@media (max-width:480px){.hero-nav-brand span{display:none}.hero-text h1{font-size:1.8rem}.hero-cta{align-items:stretch;flex-direction:column}.cta-primary,.cta-secondary{text-align:center}.hero-stats{gap:24px}.stat-value{font-size:22px}.suits-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.suit-icon{height:84px;width:60px}.suit-card{padding:20px 12px}.game-details{flex-direction:column;gap:8px}.special-cards-row{justify-content:center}.features-grid,.steps-grid{grid-template-columns:1fr}.rank-explainer{gap:8px}.rank-item{font-size:12px;padding:6px 10px}}.auth-page{align-items:center;background:var(--bg-app);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-lang{position:fixed;right:20px;top:20px;width:200px}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 32px #00000059;max-width:400px;padding:40px;width:100%}.auth-brand{margin-bottom:40px;text-align:center}.auth-logo{height:72px;margin-bottom:15px;object-fit:contain;width:72px}.auth-brand h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-bright) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text);font-size:32px;font-weight:700;margin:0 0 10px}.auth-brand p{color:var(--text-muted);font-size:16px;margin:0}.auth-error{background:#ef44441a;border:1px solid var(--danger);border-radius:12px;color:var(--danger);font-size:14px;padding:15px;text-align:center}.auth-error,.auth-field{margin-bottom:25px}.auth-field label{color:var(--text);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.auth-field input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;box-sizing:border-box;color:var(--text);font-size:16px;outline:none;padding:15px;transition:border-color .2s,box-shadow .2s;width:100%}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-submit{background:linear-gradient(135deg,var(--accent-bright) 0,var(--accent) 100%);border:none;border-radius:12px;box-shadow:0 4px 15px #5aa84f4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px;transition:transform .2s,box-shadow .2s;width:100%}.auth-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.auth-submit:not(:disabled):hover{box-shadow:0 6px 20px #5aa84f66;transform:translateY(-2px)}.auth-footer{border-top:1px solid var(--border);margin-top:30px;padding-top:25px;text-align:center}.auth-footer p{color:var(--text-muted);font-size:14px;margin:0}.auth-footer a{color:var(--accent-bright);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-spinner{animation:auth-spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes auth-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ui-modal-overlay{align-items:center;animation:ui-modal-fade .18s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--bg-overlay);display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.ui-modal{animation:ui-modal-pop .2s ease;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);color:var(--text);display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%}.ui-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-3) var(--space-5)}.ui-modal-title{color:var(--text);font-size:1.1rem;font-weight:600;margin:0}.ui-modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:28px;height:36px;justify-content:center;line-height:1;transition:all .15s;width:36px}.ui-modal-close:hover{background:var(--bg-elevated);color:var(--text)}.ui-modal-body{flex:1 1;overflow-y:auto;padding:var(--space-5)}.ui-modal-footer{border-top:1px solid var(--border);display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-3) var(--space-5) var(--space-5) var(--space-5)}@keyframes ui-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.ui-modal-overlay{align-items:stretch;justify-content:stretch;padding:0}.ui-modal{animation:ui-modal-slide-up .22s ease;border:none;border-radius:0;height:100vh;max-height:100vh;max-width:none!important;width:100vw}.ui-modal-header{padding:var(--space-4);padding-top:max(var(--space-4),env(safe-area-inset-top))}.ui-modal-title{font-size:1.25rem}.ui-modal-close{font-size:32px;height:44px;width:44px}.ui-modal-body,.ui-modal-footer{padding:var(--space-4)}.ui-modal-footer{padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}@keyframes ui-modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.zbio-wallet{background:linear-gradient(135deg,#1a1d21,#12151a);border:1px solid #00c85333;border-radius:16px;padding:24px;width:100%}.zbio-balance-header{align-items:baseline;display:flex;gap:6px}@media (min-width:768px){.zbio-sections{align-items:stretch;flex-direction:row}.zbio-sections .zbio-section{flex:1 1}}.zbio-wallet-loading{color:#888;padding:40px;text-align:center}.zbio-receive{margin-bottom:20px}.zbio-address-box{align-items:center;background:#00c85314;border:1px solid #00c85340;border-radius:10px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;margin-top:10px;padding:12px 14px;transition:background .15s ease}.zbio-address-box:hover{background:#00c85324}.zbio-address-box code{color:#cfe8d4;font-family:monospace;font-size:13px;word-break:break-all}.zbio-copy-hint{color:#00c853;flex-shrink:0;font-size:12px;font-weight:600;white-space:nowrap}.zbio-header{border-bottom:1px solid #ffffff14;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.zbio-header,.zbio-logo{align-items:center;display:flex}.zbio-logo{gap:10px}.zbio-icon{align-items:center;background:linear-gradient(135deg,#00c853,#009624);border-radius:50%;display:flex;font-weight:900;height:36px;justify-content:center;width:36px}.zbio-icon,.zbio-title{color:#fff;font-size:18px}.zbio-title{font-weight:700}.zbio-balance-display{text-align:right}.zbio-balance-amount{color:#00c853;font-size:28px;font-weight:800;margin-right:6px}.zbio-balance-label{color:#888;font-size:14px;font-weight:600}.zbio-message{border-radius:8px;font-size:13px;margin-bottom:16px;padding:10px 14px}.zbio-message.success{background:#00c8531a;border:1px solid #00c8534d;color:#00c853}.zbio-message.error{background:#ff3c3c1a;border:1px solid #ff3c3c4d;color:#ff6b6b}.zbio-sections{display:flex;flex-direction:column;gap:20px}.zbio-section{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;padding:16px}.zbio-section h4{color:#fff;font-size:15px;margin:0 0 6px}.zbio-description{color:#888;font-size:12px;margin:0 0 12px}.zbio-input-row{display:flex;gap:8px;margin-bottom:8px}.zbio-input-row:last-child{margin-bottom:0}.zbio-input{background:#0000004d;border:1px solid #ffffff1f;border-radius:8px;color:#fff;flex:1 1;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s}.zbio-input:focus{border-color:#00c853}.zbio-input.address{font-family:monospace;font-size:12px}.zbio-input::placeholder{color:#555}.zbio-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.zbio-btn:disabled{cursor:not-allowed;opacity:.5}.zbio-btn.deposit{background:linear-gradient(135deg,#00c853,#009624);color:#fff}.zbio-btn.deposit:hover:not(:disabled){box-shadow:0 4px 12px #00c8534d;transform:translateY(-1px)}.zbio-btn.withdraw{background:linear-gradient(135deg,#ff9800,#e65100);color:#fff}.zbio-btn.withdraw:hover:not(:disabled){box-shadow:0 4px 12px #ff98004d;transform:translateY(-1px)}.zbio-footer{align-items:center;border-top:1px solid #ffffff0f;display:flex;justify-content:space-between;margin-top:16px;padding-top:12px}.zbio-network-badge{background:#00c8531a;border:1px solid #00c85333;border-radius:12px;color:#00c853;font-size:11px;padding:4px 10px}.zbio-link{color:#00c853;font-size:12px;text-decoration:none}.zbio-link:hover{text-decoration:underline}.chat-new-btn{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:8px;color:var(--accent-bright);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.chat-new-picker{background:#0003;border-bottom:1px solid #ffffff1a;max-height:180px;overflow-y:auto}.chat-new-friend{background:#0000;border:none;border-bottom:1px solid #ffffff0d;color:var(--text);cursor:pointer;display:block;font-size:14px;padding:10px 20px;text-align:left;width:100%}.chat-new-friend:hover{background:#ffffff0d}.chat-new-empty{color:var(--text-muted);font-size:13px;margin:0;padding:14px 20px}@media (max-width:768px){.chat-page .chat-hide-mobile{display:none!important}.chat-page.dashboard-modern{padding:0}.chat-page .chat-section.game-section{margin:0}.chat-page .chat-shell{border:none!important;border-radius:0!important;height:calc(100dvh - var(--topbar-h))!important}.chat-page .chat-conversations{border-right:none!important;min-width:0!important;width:100%!important}.chat-page .chat-messages{width:100%}}@supports not (height:100dvh){@media (max-width:768px){.chat-page .chat-shell{height:calc(100vh - var(--topbar-h))!important}}}.pharaon-game-room-layout{background:radial-gradient(circle at 50% 50%,#075e46 0,#023429 90%);color:#fff;display:flex;min-height:100vh;overflow:hidden}.pharaon-game-left-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border-right:1px solid #ffffff1a;overflow:hidden;width:280px;z-index:1000}.pharaon-game-left-panel.collapsed{width:60px}.pharaon-game-center-area{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:20px}.game-table-container{height:80vh;max-width:1200px}.pharaon-game-right-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border-left:1px solid #ffffff1a;overflow:hidden;width:320px;z-index:1000}.pharaon-game-right-panel.collapsed{width:60px}.panel-header{padding:15px 20px}.header-left{align-items:center;display:flex;gap:10px}.panel-header h3{color:#fff;font-size:16px}.collapse-btn,.dashboard-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;transition:all .2s ease;width:30px}.collapse-btn:hover,.dashboard-btn:hover{background:#fff3;transform:scale(1.1)}.dashboard-btn{background:#4caf5033;border-color:#4caf5066}.dashboard-btn:hover{background:#4caf504d}.panel-content{height:calc(100vh - 80px);scrollbar-color:#ffffff4d #0000;scrollbar-width:thin}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#0000}.panel-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.nav-section{display:flex;flex-direction:column;gap:8px;margin-bottom:30px}.nav-button{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;font-weight:500;gap:12px;transition:all .2s ease}.nav-button:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateX(2px)}.nav-button span:first-child{font-size:16px}.info-section{padding-bottom:20px}.info-section:last-child{padding-bottom:0}.info-item{align-items:flex-start;display:flex;font-size:13px;justify-content:space-between;line-height:1.4;margin-bottom:8px}.info-item span:first-child{color:#ccc;font-weight:600;margin-right:10px;min-width:80px}.info-item span:last-child{color:#fff;flex:1 1;text-align:right;word-break:break-word}.game-info,.players-list,.scores-list,.status-info{overflow:visible}.player-item{border-radius:6px;margin-bottom:4px}.info-item,.status-item{padding:4px 0}.mode-badge,.phase-badge,.status-badge{font-size:11px;padding:2px 8px}.status-badge.waiting{background:#ff9800;color:#fff}.status-badge.playing{background:#4caf50;color:#fff}.status-badge.finished{background:#f44336;color:#fff}.phase-badge{background:#4caf50cc;color:#fff}.mode-badge.friendly{background:#2196f3;color:#fff}.mode-badge.betting{background:#ff5722;color:#fff}.score-item{font-size:13px;padding:6px 0}.score{color:#4caf50;font-weight:600}.score.losing{color:#f44336}.controls{gap:8px}.control-btn{background:linear-gradient(135deg,#4caf50,#388e3c);border-radius:6px}.control-btn:hover{background:linear-gradient(135deg,#388e3c,#2e7d32);transform:translateY(-1px)}.start-match-btn{background:linear-gradient(135deg,#4caf50,#388e3c)}.start-match-btn:hover{background:linear-gradient(135deg,#388e3c,#2e7d32)}.deck-area{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:20px}.face-down-deck,.face-up-deck{cursor:pointer;position:relative}.face-down-deck:hover{transform:scale(1.05);transition:transform .2s ease}.deck-stack{position:relative}.deck-card{background-position:50%;background-repeat:no-repeat;background-size:cover;border:2px solid #fff3;border-radius:8px;box-shadow:0 4px 8px #0000004d;cursor:pointer;height:251px;transition:all .3s ease;width:160px}.deck-count{align-items:center;background:#ff6b6b;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px}.top-card{border:2px solid #4caf50;box-shadow:0 0 15px #4caf5080}.top-card-container{display:inline-block;position:relative}.selected-symbol-overlay{border:3px solid gold;border-radius:8px;box-shadow:0 0 15px #ffd70099;height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}.empty-deck{align-items:center;background:#0000001a;border:2px dashed #666;border-radius:8px;color:#666;display:flex;font-size:12px;height:112px;justify-content:center;width:80px}.game-status-center{color:#fff;font-size:14px;text-align:center}.seven-chain-indicator{animation:pulse 2s infinite;background:#f44336;font-size:12px;margin-top:5px;white-space:nowrap}.selected-symbol,.seven-chain-indicator{border-radius:15px;color:#fff;font-weight:700;padding:6px 12px}.selected-symbol{background:#2196f3;margin-bottom:10px}.current-turn{color:#4caf50;font-size:16px;font-weight:700}.player-cards-area{margin-top:10px}.opponent-hand,.player-cards-area,.user-hand{overflow:visible;pointer-events:auto;position:relative;z-index:1}.hand-card{border:2px solid #0000004d;border-radius:12px;box-shadow:0 4px 8px #0000004d;height:251px;position:relative;transition:all .3s ease;width:160px;z-index:1}.hand-card,.hand-card.playable{cursor:pointer;pointer-events:auto}.hand-card.playable{border:3px solid #4caf50;box-shadow:0 6px 16px #4caf5080;opacity:1;transform:translateY(-5px);z-index:999!important}.hand-card.playable:hover{box-shadow:0 12px 24px #4caf50b3;pointer-events:auto;transform:scale(1.05)!important;transition:transform .2s ease;z-index:20}.hand-card.not-playable{cursor:not-allowed;filter:grayscale(.3);opacity:1;pointer-events:none;z-index:1}.hand-card.not-playable:hover{box-shadow:0 4px 8px #0000004d;pointer-events:none;transform:none}.hand-card.clickable{cursor:pointer;opacity:1;pointer-events:auto;z-index:15}.player-info{margin-bottom:5px;text-align:center}.player-name{font-size:14px}.dealer-badge{font-size:16px;margin-left:5px}.turn-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:700;margin-top:3px}.pharaon-seat.current-turn{background:#4caf5033;border:2px solid #4caf50;border-radius:15px;padding:10px}.pharaon-seat.current-user{background:#2196f333;border:2px solid #2196f3;border-radius:15px;padding:10px}.player-item.current-turn{background:#4caf501a;border-left:4px solid #4caf50}.card-count{color:#888;font-size:12px;margin-left:10px}.draw-btn{background:linear-gradient(135deg,#ff9800,#f57c00)}.draw-btn:disabled{background:#666;cursor:not-allowed;opacity:.5}.modal-content{background:#2c2f33;border-radius:15px;color:#fff;padding:30px}.symbol-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);justify-content:center;justify-items:center;margin-top:20px}.player-info-badges{align-items:center;display:flex;gap:10px;justify-content:center}.symbol-btn{align-items:center;background:#ffffff1a;border:2px solid #0000;border-radius:10px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px;transition:all .3s ease;width:100%}.symbol-btn:hover{background:#4caf5033;border-color:#4caf50;transform:translateY(-3px)}.symbol-image{aspect-ratio:160/251;border-radius:6px;height:auto;max-width:150px;object-fit:contain;width:100%}.modal-actions{margin-top:20px}.intercept-btn,.skip-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px 20px;transition:all .3s ease}.skip-btn{background:linear-gradient(135deg,#f44336,#d32f2f)}.intercept-btn:hover,.skip-btn:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.card-option{border-radius:5px;height:70px;width:50px}@media (max-width:1200px){.deck-card{height:124px;width:88px}.hand-card{height:158px;width:112px}}@media (max-width:768px){.deck-area{gap:15px}.deck-card{height:101px;width:72px}.hand-card{height:132px;width:92px}.modal-content{margin:20px;padding:20px}.symbol-options{gap:10px}}.pharaon-game-left-panel.hidden-during-game{display:none!important}.pharaon-game-left-panel.hidden-during-game~.pharaon-game-center-area{margin-left:0!important}.pharaon-seat{flex-direction:column;font-size:.95rem;gap:.5rem;position:absolute;text-align:center}.pharaon-seat,.seat-avatar{align-items:center;display:flex}.seat-avatar{justify-content:center;margin-bottom:.5rem}.seat-avatar .profile-avatar{border:3px solid #ffffff4d;box-shadow:0 4px 12px #0000004d;transition:all .3s ease}.seat-avatar .profile-avatar:hover{border-color:#ffffff80;box-shadow:0 6px 16px #0006;transform:scale(1.05)}.pharaon-seat.current-user .seat-avatar .profile-avatar{border-color:#2196f3;box-shadow:0 4px 12px #2196f366}.pharaon-seat.current-turn .seat-avatar .profile-avatar{animation:pulse 2s infinite;border-color:#4caf50;box-shadow:0 4px 12px #4caf5066}.opponent-hand,.player-cards-area,.user-hand{align-items:center;display:flex;justify-content:center;transition:all .5s ease-in-out}.raub-modal-content{max-height:90%}.opponent-card{height:58px;width:40px}.card-back{height:72px;width:50px}@media (max-width:768px){.pharaon-game-left-panel,.pharaon-game-right-panel{max-width:320px;position:fixed;transition:transform .3s ease;width:85vw;z-index:1100}.pharaon-game-left-panel{height:100vh;left:0;top:0;transform:translateX(-100%)}.pharaon-game-left-panel:not(.collapsed){transform:translateX(0)}.pharaon-game-right-panel{height:100vh;right:0;top:0;transform:translateX(100%)}.pharaon-game-right-panel:not(.collapsed){transform:translateX(0)}.pharaon-game-center-area{display:flex;flex-direction:column;height:100vh;padding:8px;width:100vw}.game-table-container{height:calc(100vh - 140px);max-height:none;padding:0}.pharaon-player-hand,.player-hand-cards{-webkit-overflow-scrolling:touch;display:flex;gap:4px;max-width:100vw;overflow-x:auto;padding:8px 12px;scroll-snap-type:x proximity}.pharaon-player-hand .hand-card,.player-hand-cards .hand-card{-webkit-tap-highlight-color:transparent;flex-shrink:0;height:132px;min-width:92px;scroll-snap-align:center;touch-action:manipulation;width:92px}.pharaon-player-hand .hand-card img,.player-hand-cards .hand-card img{border-radius:5px;height:100%;object-fit:cover;pointer-events:none;width:100%}.bottom-hand-area,.pharaon-my-hand-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000d9;border-top:1px solid #ffffff1a;bottom:0;left:0;max-height:160px;padding:8px;position:fixed;right:0;z-index:200}.deck-area .deck-card,.deck-area .discard-card{height:101px;width:72px}.pharaon-seat{font-size:11px}.pharaon-seat .seat-avatar .profile-avatar{height:32px!important;width:32px!important}.pharaon-seat .seat-name{font-size:10px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent-hand .hand-card{height:46px;min-width:32px;width:32px}.game-action-buttons .action-btn{font-size:13px;min-height:44px;padding:10px 14px}.card-cutting-modal .modal-content,.symbol-modal .modal-content{max-width:340px;padding:16px;width:90vw}.collapse-btn{height:40px;min-height:40px;min-width:40px;position:static;width:40px}.scoreboard{font-size:11px}.scoreboard td,.scoreboard th{padding:4px 6px}.page-with-sidebar{margin-left:0!important}.sidebar{transform:translateX(-100%);transition:transform .3s ease}.sidebar.open{transform:translateX(0)}}@media (max-width:380px){.pharaon-player-hand .hand-card,.player-hand-cards .hand-card{height:114px;min-width:80px;width:80px}.deck-area .deck-card,.deck-area .discard-card{height:87px;width:62px}.pharaon-seat .seat-avatar .profile-avatar{height:26px!important;width:26px!important}}@media (max-width:768px) and (orientation:landscape){.bottom-hand-area,.pharaon-my-hand-container{max-height:132px;padding:4px 8px}.pharaon-player-hand .hand-card,.player-hand-cards .hand-card{height:110px;min-width:78px;width:78px}.game-table-container{height:calc(100vh - 100px)}}@media (max-width:768px){.deck-area{gap:16px;margin-bottom:0;margin-top:-28px}.deck-area .deck-card,.deck-area .discard-card,.deck-area .top-card{height:152px;width:108px}.deck-count{font-size:13px;height:26px;width:26px}.pharaon-seat.current-user{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000d1;border:none!important;border-radius:0!important;border-top:1px solid #ffffff1f!important;bottom:78px!important;box-sizing:border-box;left:0!important;margin:0!important;max-width:100%!important;padding:8px 0 calc(8px + env(safe-area-inset-bottom, 0px))!important;position:fixed!important;right:0!important;top:auto!important;transform:none!important;width:100%!important;z-index:300!important}.pharaon-seat.current-user .player-cards-area{display:flex;width:100%}.pharaon-seat.current-user .user-hand{-webkit-overflow-scrolling:touch;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding:10px 12px;scroll-snap-type:x proximity;width:100%}.pharaon-seat.current-user .user-hand .hand-card{flex:0 0 auto;height:156px!important;margin-left:-32px!important;scroll-snap-align:center;width:110px!important}.pharaon-seat.current-user .user-hand .hand-card:first-child{margin-left:0!important}.pharaon-game-center-area.pharaon-game-center-area .deck-area{margin-top:42px}.pharaon-game-center-area.pharaon-game-center-area .deck-area .deck-card{height:222px;width:149px}.sedmica-trick-card{height:200px;width:130px}}.game-room-layout.game-room-layout,.pharaon-game-room-layout.pharaon-game-room-layout{background:var(--bg-app);color:var(--text)}.game-left-panel.game-left-panel,.game-right-panel.game-right-panel,.pharaon-game-left-panel.pharaon-game-left-panel,.pharaon-game-right-panel.pharaon-game-right-panel{background:var(--bg-surface);border-color:var(--border)}.panel-header.panel-header{background:var(--bg-elevated);border-color:var(--border)}.game-table.game-table{background:var(--felt);border:2px solid var(--felt-border);box-shadow:inset 0 0 60px #00000059,0 12px 40px #0006}.hand-card.hand-card,.raub-hand-card-img.raub-hand-card-img{height:var(--card-hand-h);width:var(--card-hand)}.played-card .card-image,.raub-trick-card-img.raub-trick-card-img{height:var(--card-table-h);width:var(--card-table)}.raub-proposed-card-img.raub-proposed-card-img{height:var(--card-hand-h);width:var(--card-hand)}.raub-faceup-card-img.raub-faceup-card-img{height:var(--card-deck-h);width:var(--card-deck)}.card-back.card-back,.opponent-card.opponent-card{height:var(--card-opponent-h);width:var(--card-opponent)}.game-mobile-burger,.game-mobile-info{display:none}.game-center-area.game-center-area,.pharaon-game-center-area.pharaon-game-center-area{position:relative}.board-action-bar{align-items:center;bottom:max(20px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:10px;justify-content:center;left:50%;max-width:94vw;padding:6px;position:absolute;transform:translateX(-50%);z-index:60}.board-action-btn{align-items:center;border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-card);color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;gap:6px;padding:12px 22px;transition:transform .15s,background .15s,opacity .15s;white-space:nowrap}.board-action-btn:hover{transform:translateY(-2px)}.board-action-btn.primary{background:var(--accent)}.board-action-btn.primary:hover{background:var(--accent-bright)}.board-action-btn.secondary{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text)}.board-action-btn.secondary:hover{border-color:var(--accent)}.board-action-btn.start{background:var(--info)}.board-action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.game-room-layout.game-room-layout,.pharaon-game-room-layout.pharaon-game-room-layout{flex-direction:row;height:100vh;height:100dvh;overflow:hidden}.game-center-area.game-center-area,.pharaon-game-center-area.pharaon-game-center-area{flex:1 1;margin:0;padding:var(--topbar-h) 8px 8px;width:100%}.game-left-panel.game-left-panel,.game-right-panel.game-right-panel,.pharaon-game-left-panel.pharaon-game-left-panel,.pharaon-game-right-panel.pharaon-game-right-panel{bottom:0;box-shadow:var(--shadow-modal);flex-direction:column;height:100vh;height:100dvh;max-width:360px;position:fixed;top:0;transition:transform .24s ease;width:86vw;z-index:var(--z-drawer)}.game-left-panel.game-left-panel,.pharaon-game-left-panel.pharaon-game-left-panel{border-right:1px solid var(--border);left:0;right:auto;transform:translateX(0)}.game-right-panel.game-right-panel,.pharaon-game-right-panel.pharaon-game-right-panel{border-left:1px solid var(--border);left:auto;right:0;transform:translateX(0)}.game-left-panel.collapsed.collapsed,.pharaon-game-left-panel.collapsed.collapsed{transform:translateX(-100%);width:86vw}.game-right-panel.collapsed.collapsed,.pharaon-game-right-panel.collapsed.collapsed{transform:translateX(100%);width:86vw}.panel-content.panel-content{flex-direction:column;height:calc(100vh - 64px);overflow-x:hidden;overflow-y:auto;padding:var(--space-4)}.panel-header.panel-header{position:sticky;top:0;z-index:2}.game-mobile-burger,.game-mobile-info{align-items:center;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);color:var(--text);cursor:pointer;display:flex;font-size:20px;height:42px;justify-content:center;position:fixed;top:max(8px,env(safe-area-inset-top));width:42px;z-index:calc(var(--z-drawer) - 1)}.game-mobile-burger{left:8px}.game-mobile-info{right:8px}.game-table.game-table{height:min(52vh,420px)!important;margin:0 auto!important;width:min(92vw,520px)!important}.player-hand.player-hand{bottom:max(8px,env(safe-area-inset-bottom));gap:4px}}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#2e7d32,#1b5e20);border-bottom:1px solid #ffffff1a;box-shadow:0 2px 15px #0000004d}.navbar-brand{color:#fff!important;font-size:1.5rem;font-weight:700;letter-spacing:.5px}.navbar-nav .nav-link{color:#ffffffe6!important;font-weight:500;padding:.5rem 1rem!important;transition:all .3s ease}.navbar-nav .nav-link:hover{background-color:#ffffff1a;border-radius:5px;color:gold!important}.navbar-nav .nav-link.active{background-color:#ffffff26;border-radius:5px;color:gold!important}.navbar-toggler{border-color:#ffffff4d}.navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.badge{font-size:.6rem!important}.raub-game-container{background:linear-gradient(135deg,#4b6cb7,#182848);margin:0;min-height:100vh;padding:0}.raub-navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#2e7d32f2;box-shadow:0 2px 15px #0000004d}.raub-navbar-brand{font-size:1.4rem;font-weight:700;letter-spacing:.5px}.raub-coin-badge{background-color:#ffc107;border-radius:10px;color:#000;font-size:.8rem;font-weight:700;margin-left:10px;padding:.25rem .5rem}.raub-main-content{padding:20px}.raub-waiting-message{text-align:center}.raub-game-info,.raub-waiting-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000004d;color:#fff}.raub-game-info{margin-bottom:20px;padding:20px}.raub-game-info-row{display:flex;flex-wrap:wrap;gap:30px}.raub-declarer-info{background:#ffd70033;border:1px solid gold;border-radius:8px;padding:8px 12px}.raub-declarer-tricks{font-size:12px;opacity:.8}.raub-trump-info{background:#ff450033;border:1px solid #ff4500;border-radius:8px;padding:8px 12px}.raub-second-info-row{display:flex;gap:20px}.raub-scores-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000004d;color:#fff;margin-bottom:20px;padding:20px}.raub-scores-grid{display:flex;flex-wrap:wrap;justify-content:space-around}.raub-score-item{background:#ffffff1a;border-radius:10px;min-width:120px;padding:15px;text-align:center}.raub-score-name{font-weight:700}.raub-score-value{font-size:18px;font-weight:700}.raub-score-eliminated{color:#ff6b6b;font-size:12px}.raub-game-table{background:radial-gradient(circle,#2e7d32 0,#1b5e20 70%);border:8px solid #4caf50;border-radius:50%;box-shadow:inset 0 0 50px #0000004d,0 10px 30px #0000004d;height:400px;margin:0 auto;max-width:600px;position:relative;width:100%}.raub-seat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:15px;height:100px;padding:10px;position:absolute;text-align:center;transition:all .3s ease;width:120px}.raub-seat.active{border-color:gold;box-shadow:0 0 20px #ffd70080}.raub-seat-bottom{bottom:-50px;left:50%;transform:translateX(-50%)}.raub-seat-right{right:-60px;top:50%;transform:translateY(-50%)}.raub-seat-top{left:50%;top:-50px;transform:translateX(-50%)}.raub-seat-left{left:-60px;top:50%;transform:translateY(-50%)}.raub-seat-cards{gap:5px;margin-bottom:8px;min-height:40px}.raub-card,.raub-seat-cards{display:flex;justify-content:center}.raub-card{align-items:center;background:linear-gradient(135deg,#fff,#f0f0f0);border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;color:#333;font-size:10px;font-weight:700;height:35px;position:relative;width:25px}.raub-card.red{color:#d32f2f}.raub-card.black{color:#333}.raub-seat-name{color:#fff;font-size:12px;font-weight:700;margin-bottom:4px}.raub-dealer-indicator{color:#ff6b6b;margin-right:4px}.raub-active-indicator{color:#4caf50;margin-right:4px}.raub-center-area{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.raub-trick-cards{display:flex;gap:10px;justify-content:center;margin-bottom:10px}.raub-played-card{align-items:center;background:linear-gradient(135deg,#fff,#f0f0f0);border:2px solid #333;border-radius:8px;box-shadow:0 4px 8px #0000004d;color:#333;display:flex;font-size:14px;font-weight:700;height:70px;justify-content:center;width:50px}.raub-played-card.red{color:#d32f2f}.raub-trick-info{color:#fff;font-size:12px}.raub-player-hand{gap:10px;margin-top:20px}.raub-hand-card{align-items:center;background:linear-gradient(135deg,#fff,#f0f0f0);border:2px solid #333;border-radius:8px;box-shadow:0 4px 8px #0003;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:18px;font-weight:700;height:110px;justify-content:center;transition:all .3s ease;width:80px}.raub-hand-card:hover{box-shadow:0 6px 16px #0000004d;transform:translateY(-5px)}.raub-hand-card.red{color:#d32f2f}.raub-hand-card.selected{border-color:#4caf50;box-shadow:0 0 15px #4caf5080;transform:translateY(-5px)}.raub-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.raub-modal-content{background:linear-gradient(135deg,#2e7d32,#1b5e20);border:2px solid #ffd7004d;border-radius:20px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:90%;overflow-y:auto;padding:30px;text-align:center}.raub-inline-action{align-items:center;background:#1e461ed9;border:1px solid #ffd7004d;border-radius:14px;display:flex;flex-direction:column;gap:10px;max-width:320px;padding:16px 20px;text-align:center}.raub-inline-title{color:gold;font-size:15px;font-weight:600;margin:0}.raub-inline-buttons{display:flex;gap:10px;margin-top:6px}.raub-action-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .2s ease}.raub-action-btn.primary{background:linear-gradient(135deg,gold,#ffa000);color:#1a1a1a}.raub-action-btn.primary:hover{box-shadow:0 4px 12px #ffd70066;transform:scale(1.05)}.raub-action-btn.secondary{background:#ffffff26;border:1px solid #ffffff4d;color:#fff}.raub-action-btn.secondary:hover{background:#ffffff40}.raub-waiting-text{color:gold;font-size:13px;margin:4px 0 0;opacity:.9}.raub-results-inline{max-width:380px}.raub-modal-title{color:gold;margin-bottom:10px}.raub-modal-description{color:#ccc;font-size:14px}.raub-trump-display{align-items:center;display:flex;justify-content:center;margin:15px 0}.raub-trump-label{color:gold;font-weight:700;margin-bottom:10px}.raub-trump-card{align-items:center;background:linear-gradient(135deg,#fff,#f0f0f0);border:3px solid gold;border-radius:12px;box-shadow:0 0 20px #ffd70066;color:#333;display:flex;flex-direction:column;font-size:24px;font-weight:700;height:110px;justify-content:center;margin:0 auto;width:80px}.raub-trump-card.red{color:#d32f2f}.raub-modal-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.raub-modal-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:10px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;font-weight:700;min-width:120px;padding:15px 25px;position:relative;transition:all .3s ease}.raub-modal-btn:hover{box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.raub-modal-btn.secondary{background:linear-gradient(135deg,#9e9e9e,#616161);box-shadow:0 4px 15px #9e9e9e4d}.raub-btn-hint{font-size:10px;opacity:.9}.raub-card-exchange{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000004d;color:#fff;margin-bottom:20px;padding:20px;text-align:center}.raub-exchange-title{margin-bottom:10px}.raub-exchange-description{color:#ccc;font-size:14px}.raub-exchange-cards{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0}.raub-exchange-card{align-items:center;background:linear-gradient(135deg,#fff,#f0f0f0);border:2px solid #333;border-radius:6px;box-shadow:0 2px 6px #0003;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:700;height:85px;justify-content:center;transition:all .3s ease;width:60px}.raub-exchange-card.selected{border-color:#f44336;opacity:.7;transform:scale(.95)}.raub-exchange-controls{display:flex;gap:15px;justify-content:center;margin-top:15px}.raub-adut-determination{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000004d;color:#fff;margin-bottom:20px;padding:20px;text-align:center}.raub-adut-title{color:#4caf50;margin-bottom:10px}.raub-adut-description{color:#ccc;font-size:14px}.raub-adut-cards{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin:20px 0}.loading-container{color:#fff}.error-container,.loading-container{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);display:flex;justify-content:center;min-height:100vh}.error-container{color:#ff6b6b}.game-header{background:#0000004d;border-bottom:2px solid gold;padding:20px}.game-title{color:gold;font-size:24px;margin:0}.button-group{display:flex;gap:10px}.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 4px 8px #0000004d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 6px 12px #0006;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#007bff,#0056b3)}.btn-danger,.btn-secondary{border:none;border-radius:8px;box-shadow:0 4px 8px #0000004d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px;transition:all .3s ease}.btn-danger{background:linear-gradient(135deg,#f44,#c00)}.btn-neutral{background:linear-gradient(135deg,#666,#333);padding:12px 24px;transition:all .3s ease}.btn-neutral,.btn-success{border:none;border-radius:8px;box-shadow:0 4px 8px #0000004d;color:#fff;cursor:pointer;font-size:16px;font-weight:700}.btn-success{background:linear-gradient(135deg,#4f4,#0c0);padding:15px 25px}.game-info{background:#0006;border:2px solid #333;border-radius:15px;margin:20px;padding:20px}.status-waiting{color:gold;font-size:18px;font-weight:700}.status-playing{color:#4caf50;font-size:18px;font-weight:700}.players-list{flex-wrap:wrap;gap:15px;margin-top:15px}.player-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid gold;border-radius:10px;min-width:120px;padding:10px 15px;text-align:center}.player-name{font-weight:700;margin-bottom:5px}.player-score{color:gold;font-size:14px}.game-table{background:radial-gradient(ellipse at center,#2d5d2d 0,#1a3d1a 100%);border:8px solid #8b4513;border-radius:50%;box-shadow:inset 0 0 50px #00000080;height:400px;margin:40px auto;width:600px}.trump-card-display{background:#ffd7001a;border:2px solid gold;border-radius:10px;left:50%;padding:15px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.trump-card-label{color:gold;font-weight:700;margin-bottom:10px}.trump-card{align-items:center;background:#fff;border:2px solid #333;border-radius:8px;color:#333;display:flex;flex-direction:column;font-size:14px;font-weight:700;height:90px;justify-content:center;margin:0 auto;width:60px}.game-status{background:#00000080;border:1px solid #333;border-radius:10px;margin:20px;padding:15px;text-align:center}.phase-indicator{color:gold;font-size:18px;font-weight:700;margin-bottom:10px}.turn-indicator{color:#4caf50;font-size:16px}.player-hand{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:2px solid gold;border-radius:15px;bottom:20px;display:flex;gap:10px;left:50%;padding:20px;position:fixed;transform:translateX(-50%)}.player-card-item{border:2px solid #0000;border-radius:8px;cursor:pointer;height:90px;transition:all .3s ease;width:60px}.player-card-item:hover{border-color:gold;box-shadow:0 8px 16px #ffd7004d;transform:translateY(-10px)}.card-image{border-radius:6px;height:100%;object-fit:cover;width:100%}.modal-overlay{background:#000000e6}.modal-content{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border:3px solid gold;border-radius:20px;box-shadow:0 10px 30px #00000080;padding:40px;text-align:center}.modal-header{margin-bottom:25px}.modal-title{color:gold;margin-bottom:10px}.modal-description{color:#ccc}.modal-trump-card{background:#ffd7001a;border:1px solid gold;border-radius:10px;margin:20px 0;padding:15px}.modal-actions{flex-wrap:wrap;gap:15px;justify-content:center}.action-button{min-width:100px}.action-button-small{font-size:10px;opacity:.9}.waiting-message{color:gold;font-size:18px;margin:40px 0;text-align:center}.waiting-players{background:#ffd7001a;border:1px solid gold;border-radius:10px;margin:20px;padding:20px;text-align:center}@media (max-width:768px){.raub-game-table{height:300px;width:90%}.raub-seat{height:80px;padding:5px;width:100px}.raub-seat-bottom{bottom:-40px}.raub-seat-top{top:-40px}.raub-seat-left{left:-50px}.raub-seat-right{right:-50px}.raub-hand-card{font-size:14px;height:85px;width:60px}.raub-modal-buttons{align-items:center;flex-direction:column}.raub-modal-btn{min-width:200px}.game-header{flex-direction:column;gap:15px;text-align:center}.button-group{flex-wrap:wrap;justify-content:center}}.game-left-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-right:1px solid #ffffff1a;display:flex;flex-direction:column;transition:all .3s ease;width:280px;z-index:100}.game-left-panel.collapsed{width:60px}.game-right-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-left:1px solid #ffffff1a;display:flex;flex-direction:column;transition:all .3s ease;width:320px;z-index:100}.game-right-panel.collapsed{width:60px}.panel-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:15px}.panel-header h3{color:#4caf50;font-size:18px;font-weight:600;margin:0}.collapse-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .3s ease}.collapse-btn:hover{background:#fff3;transform:scale(1.05)}.panel-content{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:20px}.nav-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;text-align:left;transition:all .3s ease;width:100%}.nav-button:hover{background:#fff3;transform:translateY(-2px)}.nav-button.action-btn{background:linear-gradient(135deg,#4caf50,#45a049);border-color:#4caf50}.nav-button.action-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40)}.nav-section{margin-bottom:20px}.nav-section h4{color:#4caf50;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.player-item{padding:8px 12px}.player-name{color:#fff}.dealer-badge{color:gold}.active-badge{color:#4caf50}.game-center-area{flex:1 1;flex-direction:column;padding:20px}.game-center-area,.game-table-container{align-items:center;display:flex;justify-content:center;position:relative}.game-table-container{height:100%;width:100%}.game-table{background:#ffffff0a;border:2px solid #ffffff1f;border-radius:900px;box-shadow:inset 0 0 40px #000c;height:min(64vh,620px);width:min(84vw,920px)}.table-center h4{color:#4caf50;margin:0 0 10px}.table-center p{color:#ccc;margin:5px 0}.seat{flex-direction:column;font-size:.95rem;gap:.3rem;pointer-events:none;position:absolute;text-align:center}.seat,.seat-cards{align-items:center;display:flex}.seat-cards{justify-content:center;margin-top:64px;max-width:250px;position:relative;width:100%}.card-placeholder{border-radius:6px;box-shadow:0 3px 7px #000000b3;height:72.5px;margin-left:-25px;object-fit:cover;width:50px}.card-placeholder:first-child{margin-left:0}.seat-label{border-radius:10px;font-size:12px;font-weight:700;padding:5px 10px}.seat-label.occupied{background:#000000b3;border:2px solid #2d5a3a;color:#fff}.seat-label.empty{background:#ffffff1a;border:2px dashed #666;color:#ccc}.seat-label.current-user{border-color:gold;color:gold}.you-label{color:gold;font-size:10px;opacity:.8}.waiting-player{color:#ccc;font-style:italic}.current-hand{align-items:center;display:flex;gap:10px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.played-card .card-image{border-radius:8px;box-shadow:0 4px 12px #00000080;height:101.5px;width:70px}.player-position{align-items:center;display:flex;flex-direction:column;gap:8px;position:absolute}.player-position.current-user .player-info{color:gold}.player-position.active .player-info{animation:pulse 2s infinite}@keyframes pulse{0%,50%,to{opacity:1}25%,75%{opacity:.7}}.player-info{align-items:center;background:#000c;border:2px solid #2d5a3a;border-radius:15px;display:flex;font-size:12px;font-weight:700;gap:5px;padding:6px 12px}.dealer-crown{color:#ff6b6b}.user-cards{flex-wrap:wrap;gap:5px;max-width:400px}.user-card{border-radius:8px;box-shadow:0 3px 7px #000000b3;cursor:pointer;height:116px;object-fit:cover;transition:all .3s ease;width:80px}.user-card:hover{transform:translateY(-10px)}.user-card.playable{cursor:pointer}.user-card.playable:hover{box-shadow:0 8px 15px #4caf5080;transform:translateY(-15px)}.opponent-cards{gap:-15px}.opponent-card{border-radius:6px;box-shadow:0 2px 6px #000000b3;height:79.75px;margin-left:-15px;object-fit:cover;width:55px}.opponent-card:first-child{margin-left:0}.info-section h4{font-size:16px;margin:0 0 12px}.controls-grid,.match-info,.scores-grid,.status-info{display:flex;flex-direction:column;gap:8px}.info-item,.score-item,.status-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.mode-badge,.phase-badge,.status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.mode-badge.betting{background:#ffc10733;border:1px solid #ffc107;color:#ffc107}.score{font-weight:700}.score.eliminated{color:#f44336}.eliminated-badge{background:#f4433633;border-radius:8px;color:#f44336;font-size:10px;font-weight:600;padding:2px 6px}.trump-info{align-items:center;background:#ffc1071a;border:1px solid #ffc1074d;border-radius:8px;display:flex;gap:10px;padding:12px}.trump-card{border-radius:6px;box-shadow:0 2px 6px #00000080;height:58px;width:40px}.control-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:10px;color:#fff;display:flex;font-size:14px;gap:8px;justify-content:center;padding:12px 16px;transition:all .3s ease;width:100%}.control-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px)}.control-btn.secondary{background:linear-gradient(135deg,#666,#555)}.control-btn.secondary:hover{background:linear-gradient(135deg,#555,#444)}@media (max-width:1200px){.game-left-panel{width:240px}.game-right-panel{width:280px}}@media (max-width:992px){.game-left-panel,.game-right-panel{bottom:0;position:absolute;top:0;z-index:1000}.game-left-panel{left:0}.game-right-panel{right:0}.game-left-panel.collapsed{left:-220px}.game-right-panel.collapsed{right:-260px}}@media (max-width:768px){.game-room-layout{flex-direction:column}.game-left-panel,.game-right-panel{flex-direction:row;height:60px;position:fixed;width:280px}.game-left-panel{border-bottom:1px solid #ffffff1a;border-right:none;left:0;right:0;top:0;width:100%}.game-right-panel{border-left:none;border-top:1px solid #ffffff1a;bottom:0;left:0;right:0;width:100%}.game-center-area{margin:60px 0}.panel-content{flex-direction:row;overflow-x:auto;padding:10px 20px}}.game-room-layout{background:radial-gradient(circle at 50% 50%,#075e46 0,#023429 90%);color:#fff;display:flex;height:100vh;overflow:hidden}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center;width:100%}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#4caf50;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container button{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:12px 24px}.error-container button:hover{background:#45a049}.seat-occupied{align-items:center;display:flex;flex-direction:column;gap:8px}.seat-occupied.current-user{background:#4caf501a;border:2px solid #4caf50;border-radius:10px;padding:8px}.card-placeholder{align-items:center;display:flex;justify-content:center;position:relative}.card-back{border-radius:6px;box-shadow:0 2px 6px #000000b3;height:87px;object-fit:cover;position:relative;width:60px;z-index:1}.seat-name{background:#000c;border:1px solid #666;border-radius:15px;color:#fff;font-size:12px;font-weight:700;max-width:150px;overflow:hidden;padding:6px 12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.seat-empty{align-items:center;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.seat-placeholder{background:#ffffff1a;border:2px dashed #666;border-radius:10px;color:#ccc;padding:20px;text-align:center}.sit-here-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;margin-top:8px;padding:6px 12px;pointer-events:auto;transition:background .2s ease}.sit-here-btn:hover{background:#45a049}.table-center{border:2px solid #2d5a3a;border-radius:15px;left:50%;padding:20px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:5}.playing-table{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.info-section{border-bottom:1px solid #ffffff1a;margin-bottom:20px;padding-bottom:15px}.info-section:last-child{border-bottom:none;margin-bottom:0}.info-section h4{color:#4caf50;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.game-info,.status-info{display:flex;flex-direction:column;gap:8px}.info-item,.status-item{align-items:center;display:flex;font-size:13px;justify-content:space-between}.info-item span:first-child,.status-item span:first-child{color:#ffffffb3;font-weight:500}.info-item span:last-child,.status-item span:last-child{color:#fff;font-weight:600}.status-badge{border-radius:12px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.status-badge.waiting{background:#ffc10733;border:1px solid #ffc107;color:#ffc107}.status-badge.playing{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.status-badge.finished{background:#9e9e9e33;border:1px solid #9e9e9e;color:#9e9e9e}.phase-badge{background:#2196f333;border:1px solid #2196f3;border-radius:12px;color:#2196f3}.mode-badge,.phase-badge{font-size:11px;font-weight:600;padding:2px 8px}.mode-badge{border-radius:12px;text-transform:uppercase}.mode-badge.friendly{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.mode-badge.betting{background:#ffd70033;border:1px solid gold;color:gold}.scores-list{display:flex;flex-direction:column;gap:8px}.score-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.score-item .player-name{align-items:center;display:flex;font-size:13px;font-weight:500;gap:6px}.score-item .score{color:#4caf50;font-size:14px;font-weight:700}.score-item .score.losing{color:#f44336}.controls{display:flex;flex-direction:column;gap:10px}.control-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.5px;padding:10px 16px;text-transform:uppercase;transition:all .2s ease}.start-match-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.start-match-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px)}@media (max-width:768px){.game-room-layout{flex-direction:column}.game-left-panel,.game-right-panel{position:fixed;z-index:1001}.game-left-panel{height:100vh;left:0;top:0}.game-right-panel{height:100vh;right:0;top:0}.game-center-area{flex:1 1;margin:0}}.page-with-sidebar{background:radial-gradient(circle at 50% 50%,#075e46 0,#023429 90%);color:#fff;display:flex;overflow:hidden}.game-actions{flex-direction:column;gap:10px}.action-btn{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:8px;font-size:14px;gap:8px;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.action-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px)}.action-btn:disabled{background:linear-gradient(135deg,#666,#555);transform:none}.action-btn.spectate-btn{background:linear-gradient(135deg,#ff9800,#f57c00)}.action-btn.spectate-btn:hover{background:linear-gradient(135deg,#f57c00,#ef6c00)}.action-btn.delete-btn,.action-btn.leave-btn{background:linear-gradient(135deg,#f44336,#d32f2f)}.action-btn.delete-btn:hover,.action-btn.leave-btn:hover{background:linear-gradient(135deg,#d32f2f,#c62828)}.action-btn.sit-btn{background:linear-gradient(135deg,#2196f3,#1976d2)}.action-btn.sit-btn:hover{background:linear-gradient(135deg,#1976d2,#1565c0)}.action-btn.start-btn{background:linear-gradient(135deg,#4caf50,#388e3c)}.action-btn.start-btn:hover{background:linear-gradient(135deg,#388e3c,#2e7d32)}.players-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.player-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s ease}.player-item:hover{background:#ffffff1a}.player-item.empty-seat{font-style:italic;opacity:.5}.player-name{font-size:13px;font-weight:500;gap:6px}.player-badges,.player-name{align-items:center;display:flex}.player-badges{gap:4px}.active-badge,.dealer-badge{font-size:12px}@media (max-width:768px){.page-with-sidebar{flex-direction:column;margin-left:0}.game-right-panel{height:100vh;position:fixed;right:0;top:0;z-index:1001}.game-center-area{flex:1 1;margin-right:0}.game-right-panel.collapsed{transform:translateX(100%)}}.raub-error-toast{animation:raub-toast-in .3s ease;background:#f44336f2;border-radius:10px;box-shadow:0 4px 20px #f4433666;color:#fff;cursor:pointer;font-size:14px;font-weight:600;left:50%;padding:12px 24px;position:fixed;top:20px;transform:translateX(-50%);z-index:2000}@keyframes raub-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.raub-trump-indicator{align-items:center;background:#ffd70026;border:1px solid #ffd70066;border-radius:20px;display:flex;font-size:14px;gap:8px;margin-bottom:8px;padding:6px 14px}.raub-trump-label-inline{color:gold;font-weight:600}.raub-trump-suit{font-weight:700;text-transform:capitalize}.raub-proposed-cards{display:flex;gap:10px;justify-content:center;margin:15px 0}.raub-proposed-card-img{border:2px solid gold;border-radius:8px;box-shadow:0 4px 16px #ffd7004d;height:130px;width:90px}.raub-trick-area{align-items:flex-end;display:flex;gap:12px;justify-content:center;margin-top:10px;min-height:100px}.raub-trick-played-card{align-items:center;display:flex;flex-direction:column;gap:4px}.raub-trick-card-img{border:1px solid #fff3;border-radius:6px;box-shadow:0 3px 10px #00000080;height:101px;width:70px}.raub-trick-card-label{color:#ffffffb3;font-size:10px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raub-player-hand{flex-wrap:wrap;gap:4px;max-width:500px}.raub-hand-card-img{border:2px solid #0000;border-radius:8px;box-shadow:0 3px 8px #0009;cursor:default;height:145px;transition:all .2s ease;width:100px}.raub-hand-card-img.playable{border-color:#4caf5099;cursor:pointer}.raub-hand-card-img.playable:hover{border-color:#4caf50;box-shadow:0 8px 20px #4caf5080;transform:translateY(-12px)}.raub-hand-card-img.selectable{cursor:pointer}.raub-hand-card-img.selectable:hover{border-color:#f44336;box-shadow:0 6px 16px #f4433666;transform:translateY(-8px)}.raub-hand-card-img.selected-discard{border-color:#f44336;box-shadow:0 0 16px #f4433699;cursor:pointer;opacity:.8;transform:translateY(-10px)}.raub-table-seat{align-items:center;display:flex;flex-direction:column;gap:6px}.raub-table-seat.is-turn .raub-seat-info{animation:pulse 2s infinite;border-color:#4caf50;box-shadow:0 0 12px #4caf5080}.raub-seat-info{align-items:center;background:#000c;border:2px solid #ffffff26;border-radius:15px;display:flex;font-size:12px;gap:6px;padding:5px 12px;white-space:nowrap}.raub-seat-name-label{color:#fff;font-weight:600}.raub-table-seat.is-me .raub-seat-name-label{color:gold}.raub-dealer-badge-small{background:gold;border-radius:8px;color:#000;font-size:10px;font-weight:700;padding:1px 5px}.raub-tricks-badge{color:#fff9;font-size:10px;margin-left:4px}.raub-playing-center{align-items:center;border:none!important;display:flex;flex-direction:column;gap:6px}.raub-rauber-badge{background:#ffd7001a;border:1px solid #ffd7004d;border-radius:12px;color:gold;font-size:12px;padding:3px 10px}.raub-refa-badge{background:#f4433626;border:1px solid #f443364d;border-radius:12px;color:#f44336;font-size:12px;font-weight:700;padding:3px 10px}.raub-trick-number{color:#ffffff80;font-size:11px}.raub-trick-winner{color:#4caf50;font-size:12px;font-weight:600;margin-top:6px}.raub-exchange-above-table{margin:0 auto 12px;max-width:720px;width:100%;z-index:20}.raub-exchange-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border:1px solid #ffd7004d;border-radius:15px;box-shadow:0 8px 32px #00000080;max-width:320px;padding:16px;position:relative;width:100%;width:320px;z-index:100}.raub-exchange-header{margin-bottom:10px;text-align:center}.raub-exchange-title{color:gold;font-size:16px;margin:0 0 6px}.raub-rauber-info{color:#ccc;font-size:13px;margin-top:6px}.raub-exchange-status{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:10px}.raub-exchange-player-status{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;display:flex;flex-direction:column;font-size:12px;gap:2px;min-width:100px;padding:6px 10px}.raub-exchange-player-status.is-me{background:#ffd70014;border-color:gold}.raub-exchange-count{color:#fff9;font-size:11px}.raub-faceup-exchange{align-items:center;color:#ccc;display:flex;font-size:13px;gap:10px;justify-content:center;margin:10px 0}.raub-faceup-card-img{border-radius:6px;box-shadow:0 2px 8px #0006;height:73px;width:50px}.raub-seven-exchange{background:#4caf501a;border:1px solid #4caf504d;border-radius:10px;margin:10px 0;padding:12px;text-align:center}.raub-seven-exchange p{color:#4caf50;font-size:13px;margin:0 0 10px}.raub-awaiting-discard,.raub-discard-chooser{margin-top:12px;text-align:center}.raub-discard-chooser p{color:#ccc;font-size:14px;margin:0 0 10px}.raub-discard-count-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.raub-count-btn{background:#ffffff14;border:2px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;height:48px;transition:all .2s ease;width:48px}.raub-count-btn:hover{background:#4caf5033;border-color:#4caf50;transform:scale(1.05)}.raub-count-btn.active{background:#4caf504d;border-color:#4caf50;box-shadow:0 0 10px #4caf5066}.raub-discard-selection{margin-top:12px;text-align:center}.raub-discard-selection p{color:#ccc;font-size:13px;margin:0 0 12px}.raub-results-modal{max-width:550px;width:95%}.raub-refa-result{background:#f443361a;border:1px solid #f443364d;border-radius:10px;color:#f44336;font-size:16px;font-weight:700;margin-bottom:15px;padding:8px 16px}.raub-results-grid{display:flex;flex-direction:column;gap:8px;margin-top:15px}.raub-result-row{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.raub-result-row.is-rauber{background:#ffd70014;border-color:#ffd70066}.raub-rank{color:gold;font-size:14px;font-weight:700;margin-right:8px}.raub-result-name{flex:1 1;font-size:14px;font-weight:600}.raub-result-tricks{color:#fff9;font-size:12px;margin-right:12px}.raub-result-score{color:#4caf50;font-size:15px;font-weight:700}.raub-result-score.negative{color:#f44336}.raub-winner-banner{background:#ffd7001f;border:2px solid gold;border-radius:15px;color:gold;font-size:22px;font-weight:700;margin-bottom:20px;padding:12px 20px;text-align:center}.raub-final-standings{margin-top:10px}.raub-modal-btn.danger{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 4px 15px #f443364d}.raub-modal-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.raub-modal-btn:disabled:hover{box-shadow:0 4px 15px #4caf504d;transform:none!important}.raub-player-hand{-webkit-overflow-scrolling:touch;align-items:flex-end;display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;max-width:none;overflow-x:auto;overflow-y:visible;padding:8px 12px;scroll-snap-type:x proximity}.raub-player-hand .raub-hand-card-img{flex:0 0 auto;scroll-snap-align:center}.raub-table-seat.is-me{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000d1;border-top:1px solid #ffffff1f;bottom:0!important;box-sizing:border-box;flex-direction:column;gap:4px;left:0!important;max-width:100%!important;padding:6px 0 calc(8px + env(safe-area-inset-bottom, 0px));position:fixed!important;right:0!important;top:auto!important;transform:none!important;width:100%!important;z-index:300}.raub-table-seat.is-me .raub-seat-info{margin:0 auto}.raub-table-seat.is-me .raub-player-hand{width:100%}.game-table-container{padding-bottom:180px}@media (max-width:768px){.raub-table-seat.is-me .raub-player-hand{justify-content:flex-start}.raub-player-hand .raub-hand-card-img{height:134px;width:92px}.game-table-container{padding-bottom:165px}}.raub-vote-panel{align-items:center;background:#0a0c10eb;border:2px solid #ffd70080;border-radius:16px;box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;gap:8px;max-width:360px;padding:18px 22px}.raub-vote-title{color:gold;font-size:17px;font-weight:700;margin:0;text-align:center}.raub-vote-sub{color:#ddd;font-size:14px;margin:0;text-align:center}.raub-vote-suit{font-weight:800;text-transform:capitalize}.raub-vote-card{border:2px solid #ffffff40;border-radius:10px;box-shadow:0 6px 18px #0009;height:160px;width:110px}.raub-vote-hint{color:#ffffffb3;font-size:12.5px;line-height:1.4;margin:0;text-align:center}.raub-vote-panel .raub-inline-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.raub-vote-panel .raub-action-btn{font-size:14px;font-weight:700;min-height:44px;padding:10px 18px}.raub-action-btn.mus{background:linear-gradient(135deg,#7e57c2,#5e35b1);border:none;border-radius:10px;box-shadow:0 4px 14px #5e35b166;color:#fff;cursor:pointer;margin-top:6px}.raub-action-btn.mus:hover{box-shadow:0 6px 18px #5e35b18c;transform:translateY(-1px)}.raub-btn-short{display:none}.raub-btn-long{display:inline}.raub-vote-hint--mobile{display:none}@media (max-width:768px){.raub-vote-panel--compact{max-width:92vw;padding:12px 14px}.raub-vote-hint--desktop,.raub-vote-mus--desktop,.raub-vote-sub--desktop{display:none!important}.raub-vote-hint--mobile{display:block;font-size:11px}.raub-btn-short{display:inline}.raub-btn-long{display:none}.raub-vote-card{cursor:pointer;height:128px;width:88px}.raub-vote-panel .raub-action-btn{min-width:100px;padding:10px 14px}}.sedmica-room{background:var(--bg-app);color:var(--text);display:flex;flex-direction:column;min-height:100vh;padding:16px;position:relative}.sedmica-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:16px;padding-bottom:12px}.sedmica-header h2{color:var(--accent-bright);font-size:1.4rem;margin:0}.sedmica-btn-back{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#ccc;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.sedmica-btn-back:hover{background:#fff3;color:#fff}.sedmica-game-info{display:flex;flex-direction:column;font-size:13px;gap:4px;margin-left:auto}.sedmica-info-row{display:flex;gap:16px}.sedmica-current-turn{color:var(--accent);font-weight:600}@media (max-width:768px){.sedmica-scoreboard-wrap{display:none}}.sedmica-scoreboard{display:flex;gap:16px;justify-content:center;padding:12px 0}.sedmica-team{background:#ffffff0d;border:1px solid #ffffff26;border-radius:12px;min-width:160px;padding:12px 20px;text-align:center}.sedmica-team.my-team{background:var(--accent-soft);border-color:var(--accent-border)}.sedmica-team-name{color:var(--accent-bright);font-size:14px;font-weight:700;margin-bottom:4px}.sedmica-team-players{color:#aaa;font-size:12px;margin-bottom:8px}.sedmica-team-score{color:#fff;font-size:22px;font-weight:700}.sedmica-team-deal-score{color:#888;font-size:12px;margin-top:4px}.sedmica-opponents{display:flex;gap:24px;justify-content:center;padding:12px 0}.sedmica-opponent{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;padding:8px 12px;text-align:center;transition:all .3s}.sedmica-opponent.active-player{border-color:var(--accent);box-shadow:0 0 12px var(--accent-soft)}.sedmica-opponent-name{color:#ccc;font-size:13px;margin-bottom:6px}.sedmica-partner-badge{background:var(--accent-soft);border-radius:4px;color:var(--accent-bright);font-size:10px;margin-left:6px;padding:2px 6px}.sedmica-opponent-cards{display:flex;gap:-8px;justify-content:center}.sedmica-opponent-card{border-radius:4px;box-shadow:0 2px 4px #0000004d;height:var(--card-opponent-h);margin-left:-8px;width:var(--card-opponent)}.sedmica-opponent-card:first-child{margin-left:0}.sedmica-table{align-items:center;background:var(--felt);border:1px solid var(--felt-border);border-radius:20px;box-shadow:inset 0 0 50px #0000004d;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:12px 0;min-height:200px;padding:20px;position:relative}.sedmica-trick-area{text-align:center}.sedmica-trick-label{color:#aaa;font-size:13px;margin-bottom:10px}.sedmica-continued{color:#ff9800;font-weight:600}.sedmica-trick-cards{align-items:flex-end;display:flex;gap:12px;justify-content:center}.sedmica-trick-card-wrapper{align-items:center;display:flex;flex-direction:column;gap:4px}.sedmica-trick-card{border-radius:24px;box-shadow:0 4px 12px #0006;height:300px;width:196px}.sedmica-trick-card-name{color:#ccc;font-size:11px}.sedmica-previous-rounds{border-top:1px solid #ffffff1a;margin-top:12px;padding-top:8px}.sedmica-prev-label{color:#888;font-size:11px}.sedmica-prev-round{display:flex;gap:4px;justify-content:center;margin-top:4px}.sedmica-prev-card{border-radius:3px;height:46px;opacity:.6;width:32px}.sedmica-stock{align-items:center;display:flex;gap:8px;position:absolute;right:20px;top:20px}.sedmica-stock-card{border-radius:4px;box-shadow:0 2px 8px #0006;height:var(--card-deck-h);width:var(--card-deck)}.sedmica-stock-count{color:#ccc;font-size:14px;font-weight:600}.sedmica-continuation-panel{background:#ff98001a;border:1px solid #ff98004d;border-radius:12px;margin-top:12px;padding:16px;text-align:center}.sedmica-continuation-panel p{font-size:14px;margin:4px 0}.sedmica-continuation-hint{color:#aaa;font-size:12px!important}.sedmica-deal-finished,.sedmica-game-over{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;border:1px solid var(--accent-border);border-radius:16px;padding:24px;text-align:center}.sedmica-deal-finished h3,.sedmica-game-over h2{color:var(--accent-bright);margin-bottom:16px}.sedmica-deal-results p,.sedmica-final-scores p{font-size:14px;margin:6px 0}.sedmica-deal-results hr{border-color:#ffffff1a;margin:12px 0}.sedmica-my-area{border-top:1px solid #ffffff1a;padding-top:12px}.sedmica-my-label{color:#aaa;font-size:13px;margin-bottom:8px;text-align:center}.sedmica-your-turn{animation:pulse-turn 1.5s infinite;color:var(--accent);font-weight:600}@keyframes pulse-turn{0%,to{opacity:1}50%{opacity:.6}}.sedmica-hand{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.sedmica-card{border:2px solid #0000;border-radius:8px;box-shadow:0 4px 8px #0000004d;cursor:pointer;height:var(--card-hand-h);transition:all .2s;width:var(--card-hand)}.sedmica-card.playable{border-color:var(--accent-border)}.sedmica-card.playable:hover{border-color:var(--accent);box-shadow:0 8px 20px var(--accent-soft);transform:translateY(-12px)}.sedmica-card.disabled{cursor:not-allowed;opacity:.5}.sedmica-card.my-turn.playable{border-color:var(--accent-border)}.sedmica-card.my-turn.playable:hover{border-color:var(--accent-bright);box-shadow:0 8px 20px var(--accent-border)}.sedmica-btn{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:10px 24px;transition:all .2s}.sedmica-btn:hover{background:var(--accent-bright);transform:translateY(-1px)}.sedmica-btn-pass{background:var(--danger)}.sedmica-btn-pass:hover{background:#f05050}.sedmica-btn-next{background:var(--accent)}.sedmica-btn-next:hover{background:var(--accent-bright)}.sedmica-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.sedmica-waiting-actions{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:24px}.sedmica-btn-start{border-radius:12px;font-size:16px;padding:14px 36px}.sedmica-start-hint{color:#999;font-size:12px;margin:0}.sedmica-error,.sedmica-loading,.sedmica-waiting{align-items:center;background:var(--bg-app);color:#e0e0e0;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.sedmica-waiting h2{color:var(--accent-bright)}.sedmica-waiting-table{align-items:center;background:var(--bg-app);color:#e0e0e0;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.sedmica-waiting-info{margin-bottom:30px;text-align:center}.sedmica-waiting-info h2{color:var(--accent-bright);font-size:2rem;margin-bottom:8px}.sedmica-waiting-info p{color:#aaa;font-size:16px}.sedmica-host-badge{color:var(--accent)!important;font-size:13px!important;margin-top:4px}.sedmica-seats{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.sedmica-seat{background:#ffffff0d;border:2px solid #ffffff26;border-radius:16px;min-width:160px;padding:20px;text-align:center;transition:all .3s}.sedmica-seat.me,.sedmica-seat.occupied{background:var(--accent-soft);border-color:var(--accent-border)}.sedmica-seat.empty{border-style:dashed}.sedmica-seat-cards{display:flex;justify-content:center;margin-bottom:10px}.sedmica-seat-card-back{border-radius:4px;box-shadow:0 2px 4px #0000004d;height:46px;margin-left:-10px;width:32px}.sedmica-seat-card-back:first-child{margin-left:0}.sedmica-seat-name{color:#e0e0e0;font-size:14px;font-weight:600}.sedmica-you-badge{color:var(--accent-bright);font-size:12px}.sedmica-seat-placeholder{color:#666;font-size:14px;margin-bottom:12px;padding:20px 0}.sedmica-sit-btn{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.sedmica-sit-btn:hover{background:var(--accent-bright);transform:translateY(-1px)}.sedmica-sit-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.sedmica-message{background:var(--warn);border-radius:8px;color:#1a1a1a;font-size:14px;font-weight:600;left:50%;padding:10px 20px;position:fixed;top:20px;transform:translateX(-50%);z-index:var(--z-toast)}@media (max-width:768px){.sedmica-room{padding:8px}.sedmica-header{gap:8px}.sedmica-header h2{font-size:1.1rem}.sedmica-scoreboard{align-items:center;flex-direction:column;gap:8px}.sedmica-team{min-width:140px;padding:8px 14px}.sedmica-opponents{flex-wrap:wrap;gap:12px}}.App{background:radial-gradient(circle at 50% 50%,#075e46 0,#023429 90%);min-height:100vh;text-align:center}.App-header{background-color:#282c34;color:#fff;padding:20px}.App-link{color:#61dafb}.card-dealing-overlay{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9999}.dealing-card{pointer-events:none}@keyframes dealCard{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:.8;transform:translate(calc(-50% + var(--to-x)),calc(-50% + var(--to-y))) scale(.8)}}.dealing-status{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid #fff3;border-radius:15px;color:#fff;left:50%;padding:20px 30px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10000}.dealing-message{align-items:center;display:flex;font-size:18px;font-weight:600;gap:15px}.dealing-spinner{animation:dealingSpinner 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#4caf50;height:24px;width:24px}@keyframes dealingSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.game-table{min-height:400px;position:relative}.deck-position{background:linear-gradient(135deg,#8b4513,#654321);border:2px solid #444;border-radius:8px;box-shadow:0 4px 12px #0000004d;height:112px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:80px;z-index:10}.deck-position.dealing{animation:deckPulse .5s ease-in-out infinite alternate}@keyframes deckPulse{0%{box-shadow:0 4px 12px #0000004d;transform:translate(-50%,-50%) scale(1)}to{box-shadow:0 6px 16px #4caf5066;transform:translate(-50%,-50%) scale(1.05)}}.played-cards-area{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:20px;min-height:100px}.played-card{transition:all .3s ease}.no-played-cards{align-items:center;display:flex;font-style:italic;justify-content:center;opacity:.7}.game-phase-indicator{align-items:center;display:flex;flex-direction:column;gap:5px;margin-top:10px}.phase-text{background:#4caf50cc;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.current-player{color:#4caf50;font-size:14px;font-weight:500}.opponent-cards,.user-cards{align-items:center;display:flex;justify-content:center}.game-card.playable{transition:all .2s ease}.game-card.playable:hover{box-shadow:0 4px 12px #4caf5080;transform:translateY(-10px)}.seat.current-turn{background:#4caf501a;border:2px solid #4caf50;box-shadow:0 0 20px #4caf504d}.turn-indicator{margin-top:5px}.turn-badge{background:#4caf50;border-radius:8px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.app-topbar{background:var(--bg-surface);border-bottom:1px solid var(--border);height:var(--topbar-h);justify-content:space-between;margin-left:280px;padding:0 24px;position:sticky;top:0;z-index:800}.app-topbar,.app-topbar-left{align-items:center;display:flex;gap:12px}.app-topbar-left{min-width:0}.app-topbar .ui-burger{display:none}.mobile-topbar-title{color:var(--text);font-size:16px;font-weight:600}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--bg-overlay);inset:0;opacity:0;position:fixed;transition:opacity .24s ease,visibility .24s ease;visibility:hidden;z-index:999}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .24s ease;width:280px;z-index:1000}.sidebar-header{background:var(--bg-app);border-bottom:1px solid var(--border);padding:24px 20px}.sidebar-logo{align-items:center;color:#fff;display:flex;font-size:20px;font-weight:700;gap:12px;text-decoration:none}.sidebar-logo-icon{color:var(--accent);font-size:24px}.sidebar-logo-text{color:#fff}.sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 0}.sidebar-nav-item{align-items:center;border-left:3px solid #0000;color:var(--text-muted);display:flex;font-size:14px;font-weight:500;gap:12px;margin:0;padding:14px 24px;text-decoration:none;transition:all .2s ease}.sidebar-nav-item:hover{background:var(--bg-elevated);border-left-color:var(--accent);color:var(--text)}.sidebar-nav-item.active{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent-bright);font-weight:600}.sidebar-nav-icon{font-size:16px;text-align:center;width:20px}.sidebar-footer{background:var(--bg-app);border-top:1px solid var(--border);padding:20px}.sidebar-user-info{margin-bottom:16px}.sidebar-user-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.sidebar-user-email,.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{color:var(--text-muted);font-size:12px}.sidebar-language{margin-bottom:12px}.sidebar-logout-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 16px;transition:all .2s ease;width:100%}.sidebar-logout-btn:hover{background:var(--border);border-color:var(--accent);color:#fff}.page-with-sidebar{background:var(--bg-app);margin-left:280px;min-height:100vh}.dashboard-modern{margin:0;padding:32px;width:100%}.dashboard-header{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 16px #0003;display:flex;justify-content:space-between;margin-bottom:32px;padding:32px}.dashboard-header h1{color:#fff;font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0}.dashboard-header p{color:var(--text-muted);font-size:16px;font-weight:400;margin:8px 0 0}.game-actions{display:flex;gap:16px;margin-bottom:40px}.dashboard-modern .game-actions{flex-direction:row}.action-btn{align-items:center;background:var(--accent);border:none;border-radius:12px;box-shadow:0 2px 8px #7fa65033;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;letter-spacing:normal;padding:16px 28px;text-transform:none;transition:all .2s ease}.action-btn:hover{background:var(--accent-bright);box-shadow:0 4px 20px #7fa6504d;transform:translateY(-2px)}.action-btn span:first-child{font-size:16px}.stats-grid{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:40px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #0000001a;flex:1 1 240px;padding:28px;text-align:center;transition:all .2s ease}.stat-card:hover{border-color:var(--accent);box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.stat-value{color:var(--accent);font-size:36px;font-weight:700;line-height:1;margin-bottom:8px}.stat-label{color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.action-btn.action-btn-xl{border-radius:14px;font-size:18px;padding:20px 40px}.dash-quick-actions{flex-wrap:nowrap}.dash-quick-actions .action-btn,.dash-quick-actions .action-btn-xl{flex:1 1;justify-content:center}.quick-play-grid--simple{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.quick-play-btn--solo{align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px 16px;transition:border-color .2s,background .2s}.quick-play-btn--solo:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-border)}.quick-play-btn--solo:disabled{cursor:not-allowed;opacity:.6}.quick-play-btn--solo .quick-play-meta{color:var(--accent-bright);font-size:13px;font-weight:600}@media (max-width:640px){.quick-play-grid--simple{grid-template-columns:1fr}.dash-quick-actions{flex-wrap:wrap}}.action-btn.action-btn-xl span:first-child{font-size:22px}.quick-play{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;margin-bottom:32px;padding:24px}.quick-play-title{color:var(--text);font-size:22px;font-weight:700;margin:0 0 4px}.quick-play-subtitle{color:var(--text-muted);font-size:14px;margin:0 0 20px}.quick-play-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.quick-play-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:14px;padding:18px}.quick-play-card-head{align-items:center;display:flex;gap:10px}.quick-play-icon{font-size:26px}.quick-play-name{color:var(--text);font-size:18px;font-weight:700}.quick-play-players{display:flex;flex-wrap:wrap;gap:8px}.quick-play-chip{background:#0000;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:700;min-width:44px;padding:8px 12px;transition:all .15s}.quick-play-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.quick-play-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-bright)}.quick-play-btn{background:var(--accent);border:none;border-radius:12px;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:auto;padding:16px 20px;transition:all .15s}.quick-play-btn:hover:not(:disabled){background:var(--accent-bright);transform:translateY(-2px)}.quick-play-btn:disabled{cursor:not-allowed;opacity:.6}.friend-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:18px;transition:border-color .15s ease,transform .15s ease}.friend-card:hover{border-color:var(--accent);transform:translateY(-2px)}.friend-card-top{align-items:center;display:flex;gap:14px}.friend-card-avatar{flex-shrink:0;line-height:0;position:relative}.friend-status-dot{background:var(--text-muted);border:2px solid var(--bg-surface);border-radius:50%;bottom:0;height:13px;position:absolute;right:0;width:13px}.friend-status-dot.online{background:#4caf50}.friend-card-id{flex:1 1;min-width:0}.friend-card-name{color:var(--text);font-size:16px;font-weight:700}.friend-card-email,.friend-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-card-email{color:var(--text-muted);font-size:13px}.friend-status-pill{background:var(--bg-elevated);border-radius:var(--radius-pill);color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.friend-status-pill.online{background:var(--accent-soft);color:#4caf50}.friend-card-actions{margin-top:16px}.friend-invite-btn{background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px;transition:background .15s ease;width:100%}.friend-invite-btn:hover:not(:disabled){background:var(--accent-bright)}.friend-invite-btn:disabled{cursor:not-allowed;opacity:.6}.friend-invite-menu{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:10px}.friend-invite-option{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:4px;padding:12px 8px;transition:all .15s ease}.friend-invite-option span{font-size:20px}.friend-invite-option:hover:not(:disabled){border-color:var(--accent);color:var(--accent-bright)}.friend-invite-option:disabled{cursor:not-allowed;opacity:.6}.game-section{margin-bottom:24px}.section-accordion-header{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:18px 22px;transition:all .15s;width:100%}.section-accordion-header:hover{border-color:var(--accent)}.section-accordion-title{align-items:center;color:var(--text);display:flex;font-size:20px;font-weight:700;gap:12px;letter-spacing:-.3px}.section-chevron{color:var(--text-muted);font-size:18px;transition:transform .2s ease}.section-chevron.open{transform:rotate(180deg)}.section-accordion-header+.game-card,.section-accordion-header+.games-grid,.section-accordion-header~.games-grid{margin-top:16px}.game-section h3{align-items:center;color:#fff;display:flex;font-size:24px;font-weight:700;gap:12px;letter-spacing:-.3px;margin:0 0 24px}.game-section h3 span:first-child{font-size:20px}.game-card-join-btn{background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;margin-top:14px;padding:12px;transition:all .15s;width:100%}.game-card-join-btn:hover{background:var(--accent-bright)}.games-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.game-card.modern{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;min-height:180px;overflow:hidden;position:relative;transition:all .3s ease}.game-card.modern:hover{border-color:var(--accent);box-shadow:0 12px 32px #0000004d;transform:translateY(-4px)}.game-header{background:linear-gradient(135deg,var(--bg-surface) 0,#1e2126 100%);border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;min-height:64px;padding:24px 24px 20px;position:relative}.game-delete-btn,.game-header{align-items:center;display:flex}.game-delete-btn{background:#ff3c3c26;border:1px solid #ff3c3c4d;border-radius:50%;color:#ff6b6b;cursor:pointer;font-size:14px;height:28px;justify-content:center;transition:all .2s;width:28px}.game-delete-btn:hover{background:#ff3c3c4d;border-color:#ff6b6b;color:#fff;transform:scale(1.1)}.game-name-section{background:#ffffff05;border-bottom:1px solid #ffffff0d;padding:20px 24px 24px}.game-name{-webkit-line-clamp:2;word-wrap:break-word;color:#fff;font-size:18px;font-weight:700;line-height:1.3;margin:0 0 8px;max-width:calc(100% - 80px)}.game-description,.game-name{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.game-description{-webkit-line-clamp:1;color:var(--text-muted);margin:0}.game-description,.info-row{font-size:14px;line-height:1.4}.info-row{align-items:flex-start;background:#ffffff05;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;min-height:24px;padding:12px 24px}.info-row:last-child{border-bottom:none;padding-bottom:16px}.info-row span:first-child{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:500;letter-spacing:.5px;margin-right:12px;min-width:80px;text-transform:uppercase}.info-row span:last-child{word-wrap:break-word;color:#fff;flex:1 1;font-weight:600;overflow:hidden;overflow-wrap:break-word;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dashboard-modern .game-card.modern .game-status{background:none!important;border:none!important;border-radius:20px!important;box-shadow:0 2px 8px #0003!important;color:#fff!important;display:block!important;font-size:11px!important;font-weight:700!important;letter-spacing:.5px!important;margin:0!important;padding:6px 12px!important;position:absolute!important;right:16px!important;text-align:center!important;text-shadow:0 1px 2px #00000080!important;text-transform:uppercase!important;top:20px!important;z-index:2!important}.dashboard-modern .game-card.modern .game-status.waiting{background:linear-gradient(135deg,#ff9800,#f57c00)!important}.dashboard-modern .game-card.modern .game-status.playing{background:linear-gradient(135deg,#4caf50,#388e3c)!important}.dashboard-modern .game-card.modern .game-status.finished{background:linear-gradient(135deg,#9e9e9e,#616161)!important}.dashboard-modern .game-card.modern .game-status.online{background:linear-gradient(135deg,#4caf50,#388e3c)!important}.dashboard-modern .game-card.modern .game-status.offline{background:linear-gradient(135deg,#9e9e9e,#616161)!important}.game-card.modern .empty-state{padding:60px 40px;text-align:center}.game-card.modern .empty-state h4{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.2px;margin-bottom:12px}.game-card.modern .empty-state p{color:var(--text-muted);font-size:15px;line-height:1.6;margin:0 0 24px}.game-card.modern .empty-state .empty-icon{font-size:64px;margin-bottom:24px;opacity:.4}.profile-avatar{border:2px solid #7fa65033;cursor:pointer;transition:all .3s ease}.profile-avatar:hover{border-color:var(--accent);box-shadow:0 4px 16px #7fa6504d;transform:scale(1.05)}.action-btn[style*="background: #2196F3"]{background:linear-gradient(135deg,#4a9eff,#2196f3)!important;box-shadow:0 2px 8px #4a9eff33}.action-btn[style*="background: #2196F3"]:hover{background:linear-gradient(135deg,#5aa8ff,#3ba0f4)!important;box-shadow:0 4px 20px #4a9eff4d}.action-btn[style*="background: #FF9800"]{background:linear-gradient(135deg,#ffa726,#ff9800)!important;box-shadow:0 2px 8px #ffa72633}.action-btn[style*="background: #FF9800"]:hover{background:linear-gradient(135deg,#ffb74d,#ffab40)!important;box-shadow:0 4px 20px #ffa7264d}@media (max-width:768px){.app-topbar{margin-left:0;padding:env(safe-area-inset-top) 12px 0}.app-topbar .ui-burger{display:flex}.sidebar{max-width:88vw;transform:translateX(-100%);z-index:1001}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.open{opacity:1;visibility:visible}.page-with-sidebar{margin-left:0}.dashboard-modern{padding:24px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:20px;padding:24px}.game-actions{flex-wrap:wrap}.games-grid{grid-template-columns:1fr}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 24px 0}.modal-title{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.2px;margin:0}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;padding:8px;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:var(--border);color:#fff}.modal-body{flex:1 1;padding:0 24px 24px}.modal-description{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0 0 24px}.form-group{margin-bottom:24px}.form-label{color:#fff;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.form-input{background:#ffffff0d;border:2px solid var(--border);border-radius:12px;box-sizing:border-box;color:#fff;font-size:16px;padding:16px;transition:all .3s ease;width:100%}.form-input:focus{background:#ffffff14;border-color:var(--accent);box-shadow:0 0 0 3px #7fa6501a;outline:none}.form-hint,.form-input::placeholder{color:var(--text-muted)}.form-hint{font-size:12px;line-height:1.4;margin-top:8px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.modal-actions .action-btn{font-size:14px;min-width:120px;padding:12px 24px}.modal-actions .action-btn.secondary{background:var(--border);border:1px solid #3d4147;color:#fff}.modal-actions .action-btn.secondary:hover{background:#3d4147;border-color:#4a4e54}@media (max-width:480px){.dashboard-modern{padding:16px}.dashboard-header{padding:20px}.stats-grid{gap:16px}.stat-card{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;padding:20px}.game-card.modern{border-radius:12px}.modal-content{margin:20px;width:95%}.modal-header{padding:20px 20px 0}.modal-body{padding:0 20px 20px}.modal-actions{flex-direction:column}.modal-actions .action-btn{width:100%}}.action-btn.active{background:var(--accent)!important;box-shadow:0 2px 8px #7fa6504d;color:#fff!important}.action-btn.secondary{background:#ffffff1a!important;border:1px solid #fff3;color:#fffc!important}.action-btn.secondary:hover:not(:disabled){background:#fff3!important;color:#fff!important}.action-btn:disabled{cursor:not-allowed;opacity:.5}.game-status.success{background:#4ecdc433;border:1px solid #4ecdc44d;color:#4ecdc4}.game-status.error{background:#ff6b6b33;border:1px solid #ff6b6b4d;color:#ff6b6b}.game-status.info{background:#45b7d133;border:1px solid #45b7d14d;color:#45b7d1}.game-status.default{color:#fffc}.game-status.default,select{background:#ffffff1a;border:1px solid #fff3}select{border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 15px;transition:all .3s ease}select:hover{background:#ffffff26}select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #7fa65033;outline:none}select option{background:#2c5364;color:#fff}.ui-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--bg-overlay);inset:0;opacity:0;position:fixed;transition:opacity .22s ease,visibility .22s ease;visibility:hidden;z-index:var(--z-drawer)}.ui-drawer-backdrop.open{opacity:1;visibility:visible}.ui-drawer{background:var(--bg-surface);border-color:var(--border);bottom:0;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-width:88vw;position:fixed;top:0;transition:transform .24s ease;z-index:calc(var(--z-drawer) + 1)}.ui-drawer-left{border-right:1px solid var(--border);left:0;transform:translateX(-100%)}.ui-drawer-right{border-left:1px solid var(--border);right:0;transform:translateX(100%)}.ui-drawer-left.open,.ui-drawer-right.open{transform:translateX(0)}.ui-drawer-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:var(--space-3);justify-content:space-between;padding:var(--space-4) var(--space-5)}.ui-drawer-title{color:var(--text);font-size:1.05rem;font-weight:600;margin:0}.ui-drawer-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:28px;height:36px;justify-content:center;line-height:1;transition:all .15s;width:36px}.ui-drawer-close:hover{background:var(--bg-elevated);color:var(--text)}.ui-drawer-body{flex:1 1;overflow-y:auto;padding:var(--space-4)}@media (max-width:768px){.ui-drawer{max-width:100vw;width:100vw!important}.ui-drawer-header{padding-top:max(var(--space-4),env(safe-area-inset-top))}.ui-drawer-close{font-size:32px;height:44px;width:44px}}.ui-burger{align-items:center;background:#0000;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:4px;height:40px;justify-content:center;transition:all .15s;width:40px}.ui-burger:hover{background:var(--accent-soft);border-color:var(--accent)}.ui-burger span{background:var(--text);border-radius:2px;display:block;height:2px;width:18px}
/*# sourceMappingURL=main.6a04fe86.css.map*/