@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Crimson+Pro:wght@400;600;700&display=swap";@layer properties;:root{--color-primary: #0d6efd;--color-primary-dark: #0056b3;--color-success: #28a745;--color-success-light: #20c997;--color-warning: #ffc107;--color-warning-dark: #ff9800;--color-danger: #dc3545;--color-danger-dark: #c82333;--color-gray-50: #f8f9fa;--color-gray-100: #e9ecef;--color-gray-200: #dee2e6;--color-gray-300: #ced4da;--color-gray-400: #adb5bd;--color-gray-500: #6c757d;--color-gray-600: #495057;--color-gray-700: #343a40;--color-gray-800: #212529;--gradient-gray: linear-gradient( 135deg, #f8f9fa 0%, #e9ecef 25%, #dee2e6 50%, #ced4da 75%, #adb5bd 100% );--gradient-success: linear-gradient(135deg, #28a745 0%, #20c997 100%);--gradient-warning: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);--gradient-danger: linear-gradient(135deg, #dc3545 0%, #c82333 100%);--gradient-primary: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);--gradient-white: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--shadow-inset-white: inset 0 1px 0 rgba(255, 255, 255, 1);--shadow-border: 0 0 0 1px rgba(255, 255, 255, .9);--gradient-wood: linear-gradient( 135deg, #e8d5b7 0%, #d4a574 50%, #c19a6b 100% );--gradient-wood-texture: linear-gradient( 90deg, rgba(255, 255, 255, .1) 0%, transparent 50%, rgba(0, 0, 0, .1) 100% );--color-felt: rgba(34, 139, 34, .15);--color-felt-border: rgba(34, 139, 34, .2);--gradient-paper: radial-gradient( circle at 25% 25%, rgba(255, 255, 255, .1) 0%, transparent 50% ), radial-gradient(circle at 75% 75%, rgba(0, 0, 0, .02) 0%, transparent 50%);--gradient-container: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%), radial-gradient( circle at 20% 30%, rgba(255, 193, 7, .03) 0%, transparent 70% ), radial-gradient( circle at 80% 70%, rgba(13, 110, 253, .02) 0%, transparent 70% );--transition-base: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s ease;--font-primary: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Crimson Pro", serif;--container-width: min(100vw, 56.25vh);--container-height: min(100vh, 177.78vw);--container-max-width: 400px;--container-max-height: 711px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(5deg)}66%{transform:translateY(-5px) rotate(-3deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInFromBottom{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Plus Jakarta Sans,sans-serif;border:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden}.btn:disabled{cursor:not-allowed;opacity:.7;transform:none!important}.btn-primary{background:linear-gradient(135deg,#ffc107,#ff9800),radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);color:#212529;border:1px solid rgba(255,193,7,.4);box-shadow:0 4px 8px #ffc10733}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #ffc1074d}.btn-primary:disabled{background:linear-gradient(145deg,#e9ecef,#dee2e6);color:#6c757d;border-color:#adb5bd4d;box-shadow:0 2px 4px #0000000a,inset 0 1px #fff}.btn-success{background:linear-gradient(135deg,#28a745,#20c997),radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);color:#fff;border:1px solid rgba(40,167,69,.4);box-shadow:0 4px 8px #28a74533}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #28a7454d}.btn-success:disabled{background:linear-gradient(145deg,#e9ecef,#dee2e6);color:#6c757d;border-color:#adb5bd4d}.btn-secondary{background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);color:#495057;border:1px solid rgba(173,181,189,.3);box-shadow:0 2px 4px #0000000f}.btn-secondary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000001a;border-color:#adb5bd66}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:1px solid rgba(220,53,69,.4);box-shadow:0 2px 4px #dc354533}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.btn-info{background:linear-gradient(135deg,#0d6efd,#0056b3);color:#fff;border:1px solid rgba(13,110,253,.4);box-shadow:0 2px 4px #0d6efd33}.btn-info:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0d6efd4d}.btn-sm{padding:10px 16px;font-size:13px}.btn-xs{padding:4px 8px;font-size:10px}.btn-lg{padding:16px 32px;font-size:18px}.btn-full{width:100%}.btn-icon-only{padding:10px;min-width:36px}.lp-loading .lp-refreshIcon{animation:spin 1s linear infinite;display:inline-block}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#adb5bd1a;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#adb5bd4d;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#adb5bd80}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;transition:var(--transition-fast)}.badge-host{background:var(--gradient-warning);color:var(--color-gray-800);border:1px solid rgba(255,193,7,.4)}.badge-success{background:var(--gradient-success);color:#fff;border:1px solid rgba(40,167,69,.4)}.connection-status{position:absolute;top:20px;right:20px;background:var(--gradient-success);padding:6px 12px;border-radius:16px;border:1px solid rgba(40,167,69,.4);box-shadow:0 4px 12px #28a74533,var(--shadow-inset-white);font-weight:600;font-size:11px;z-index:1000;color:#fff;letter-spacing:.3px;display:flex;align-items:center;gap:6px}.connection-status.disconnected{background:var(--gradient-danger);border-color:#dc354566;box-shadow:0 4px 12px #dc354533}.status-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 2s infinite}.sp-version-display{position:absolute;bottom:12px;right:16px;font-size:12px;color:#6c757d;opacity:.7;font-family:var(--font-mono);z-index:10;transition:opacity .2s ease}.sp-version-display:hover{opacity:1}.sp-game-container{width:var(--container-width);height:var(--container-height);max-width:var(--container-max-width);max-height:var(--container-max-height);background:var(--gradient-container);border-radius:var(--radius-xl);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-xl),var(--shadow-border),var(--shadow-inset-white);position:relative;overflow:hidden;animation:scaleIn .5s ease-out}.sp-game-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-paper);pointer-events:none}.sp-content-wrapper{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem}.sp-game-icon{width:120px;height:120px;margin:0 auto 32px;position:relative}.sp-icon-circle{width:120px;height:120px;background:linear-gradient(145deg,#fff8e1,#fffbf0),radial-gradient(circle at 30% 30%,rgba(255,193,7,.2) 0%,transparent 60%);border-radius:50%;border:3px solid rgba(255,193,7,.3);box-shadow:0 8px 24px #ffc10726,inset 0 1px #fff;display:flex;align-items:center;justify-content:center;font-size:48px;color:#f57f17;font-family:SimSun,\5b8b\4f53,serif;position:relative;animation:float 6s ease-in-out infinite}.sp-icon-circle img{width:100%;height:100%;filter:var(--piece-filter-black)}.sp-icon-pieces{position:absolute;width:30px;height:30px;background:#fff;border-radius:50%;border:2px solid rgba(173,181,189,.3);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 4px #0000001a;font-family:SimSun,\5b8b\4f53,serif}.sp-icon-pieces img{width:100%;height:100%}.sp-icon-piece-1{top:-5px;right:-5px;color:var(--ui-piece-red, #dc3545);animation:rotate 8s linear infinite}.sp-icon-piece-1 img{filter:var(--piece-filter-red)}.sp-icon-piece-2{bottom:-5px;left:-5px;color:var(--ui-piece-black, #495057);animation:rotate 8s linear infinite reverse}.sp-icon-piece-2 img{filter:var(--piece-filter-black)}@keyframes rotate{0%{transform:rotate(0) translate(20px) rotate(0)}to{transform:rotate(360deg) translate(20px) rotate(-360deg)}}.sp-game-title{font-family:var(--font-serif);font-size:32px;font-weight:700;color:var(--color-gray-700);margin-bottom:8px;text-align:center;letter-spacing:-.5px}.sp-game-subtitle{font-size:14px;color:var(--color-gray-500);margin-bottom:32px;text-align:center}.sp-form-container{width:100%;max-width:320px;margin:0 auto}.sp-input-wrapper{position:relative;margin-bottom:20px}.sp-input-label{display:block;font-size:12px;font-weight:600;color:var(--color-gray-600);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.sp-glowing-input{width:100%;padding:12px 16px;font-size:16px;font-weight:500;background:#f8f9facc;border:2px solid rgba(173,181,189,.3);border-radius:var(--radius-md);outline:none;transition:var(--transition-base);font-family:var(--font-primary)}.sp-glowing-input:focus{border-color:#ffc10780;background:linear-gradient(145deg,#fff8e1,#fffbf0),radial-gradient(circle at 15% 50%,rgba(255,193,7,.05) 0%,transparent 50%);box-shadow:0 4px 8px #ffc1071a,inset 0 1px #fff}.sp-glowing-input::-moz-placeholder{color:var(--color-gray-400)}.sp-glowing-input::placeholder{color:var(--color-gray-400)}.sp-input-helper-text{font-size:11px;color:var(--color-gray-500);margin-top:6px}.sp-input-error{font-size:11px;color:var(--color-danger);margin-top:6px;display:flex;align-items:center;gap:4px}.sp-button-group{display:flex;flex-direction:column;gap:12px;margin-top:24px}.sp-primary-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#ffc107,#ff9800),radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);color:#212529;border:1px solid rgba(255,193,7,.4);border-radius:12px;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 8px #ffc10733;position:relative;overflow:hidden;font-family:Plus Jakarta Sans,sans-serif;margin-bottom:12px}.sp-primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #ffc1074d}.sp-primary-button:disabled{background:linear-gradient(145deg,#e9ecef,#dee2e6);color:#6c757d;border-color:#adb5bd4d;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0000000a,inset 0 1px #fff;opacity:.7}.sp-secondary-button{width:100%;padding:14px 24px;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);color:#495057;border:1px solid rgba(173,181,189,.3);border-radius:12px;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000f;font-family:Plus Jakarta Sans,sans-serif;margin-bottom:12px}.sp-secondary-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a;border-color:#adb5bd66}.sp-game-info{margin-top:24px;padding-top:20px;border-top:1px solid rgba(173,181,189,.2);text-align:center;display:flex;flex-direction:column;gap:12px}.sp-game-info-text{font-size:13px;color:var(--color-gray-500);line-height:1.6}.sp-game-info-text+.sp-game-info-text{margin-top:8px}.sp-loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:none;align-items:center;justify-content:center;border-radius:var(--radius-xl);z-index:1000}.sp-loading-overlay.show{display:flex}.sp-loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:8px}.rp-gameContainer{width:var(--container-width);height:var(--container-height);max-width:var(--container-max-width);max-height:var(--container-max-height);background:var(--gradient-container);border-radius:var(--radius-xl);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-xl),var(--shadow-border),var(--shadow-inset-white);display:flex;flex-direction:column;position:relative;overflow:hidden}.rp-roomHeader{text-align:center;padding:50px 24px 20px;background:linear-gradient(180deg,rgba(248,249,250,.8) 0%,transparent 100%),linear-gradient(90deg,transparent 0%,rgba(173,181,189,.1) 50%,transparent 100%);border-bottom:1px solid rgba(173,181,189,.2);position:relative}.rp-roomHeader:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--color-gray-500),transparent)}.rp-roomTitle{font-family:var(--font-serif);font-size:28px;font-weight:700;margin-bottom:4px;color:var(--color-gray-700);letter-spacing:-.5px}.rp-roomSubtitle{font-size:14px;color:var(--color-gray-500);font-weight:500;transition:var(--transition-base)}.rp-roomSubtitle.rp-ready{color:var(--color-success);font-weight:600}.rp-roomIdBadge{display:inline-flex;align-items:center;gap:8px;background:#ffc1071a;padding:8px 16px;border-radius:12px;border:1px solid rgba(255,193,7,.3);margin-top:12px}.rp-roomIdLabel{font-size:12px;color:var(--color-gray-500);font-weight:600}.rp-roomIdValue{font-size:14px;color:#f57f17;font-weight:700;letter-spacing:.5px;font-family:Courier New,monospace}.rp-playersSection{flex:1;padding:24px 20px;display:flex;flex-direction:column}.rp-sectionHeader{display:flex;justify-content:space-between;align-items:center}.rp-sectionTitle{font-size:14px;font-weight:600;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.5px}.rp-playerCount{font-size:13px;color:var(--color-gray-500);font-weight:600;background:#6c757d1a;padding:4px 12px;border-radius:12px;border:1px solid rgba(108,117,125,.2)}.rp-playerCount.full{background:#28a7451a;border-color:#28a7454d;color:var(--color-success)}.rp-gameTable{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.rp-tableSurface{width:270px;height:270px;background:radial-gradient(ellipse at center,#d4a574,#bc9a6a),linear-gradient(135deg,#deb887,#cdaa7d);border:3px solid #8b6f47;border-radius:12px;box-shadow:0 8px 24px #0000004d,inset 0 2px 4px #fff8dc4d,inset 0 -2px 4px #8b6f4780,0 0 0 1px #cdaa7d4d;position:relative}.rp-table-wood-grain{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.1) 2px,rgba(139,111,71,.1) 4px),repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(139,111,71,.05) 40px,rgba(139,111,71,.05) 80px);pointer-events:none;opacity:.7;z-index:0;border-radius:10px}.rp-tableSurface:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(139,111,71,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(139,111,71,.2) 1px,transparent 1px),radial-gradient(circle at center,transparent 40%,rgba(139,111,71,.1) 100%);background-size:30px 30px,30px 30px,100% 100%;border-radius:10px;pointer-events:none}.rp-playerSeat{position:absolute;width:100px;text-align:center}.rp-playerSeat.rp-position-1{top:-65px;left:50%;transform:translate(-50%)}.rp-playerSeat.rp-position-2{right:-45px;top:50%;transform:translateY(-50%)}.rp-playerSeat.rp-position-3{bottom:-45px;left:50%;transform:translate(-50%)}.rp-playerSeat.rp-position-4{left:-45px;top:50%;transform:translateY(-50%)}.rp-seatNumber{font-size:10px;font-weight:700;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.rp-playerCard{background:#fff;border:2px solid rgba(173,181,189,.3);border-radius:12px;padding:12px;box-shadow:var(--shadow-md),var(--shadow-inset-white);transition:var(--transition-base);animation:slideInFromBottom .5s ease-out}.rp-playerCard.rp-filled{border-color:#28a7454d;background:#fff}.rp-playerCard.rp-host{border-color:#ffc1074d;background:#fff}.rp-playerCard.rp-empty{border-style:dashed;background:#fff;opacity:.6}.rp-playerInfo{display:flex;flex-direction:column;align-items:center;gap:8px}.rp-playerName{font-size:13px;font-weight:600;color:var(--color-gray-800);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-playerBadges{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin-bottom:6px;min-height:20px}.rp-badge{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.rp-hostBadge{background:linear-gradient(135deg,#ffc107,#ff9800);color:#212529;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border:1px solid rgba(255,193,7,.4)}.rp-playerAction{margin-top:8px}.rp-actionBtn{padding:4px 8px;border-radius:6px;font-size:10px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;width:100%;font-family:Plus Jakarta Sans,sans-serif}.rp-addBotBtn{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;border:1px solid rgba(108,117,125,.4)}.rp-addBotBtn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #6c757d4d}.rp-removeBtn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:1px solid rgba(220,53,69,.4)}.rp-removeBtn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.rp-gameControls{padding:20px;background:linear-gradient(180deg,#f8f9fa99,#e9ecefcc),radial-gradient(ellipse 100% 60% at 50% 0%,rgba(173,181,189,.1) 0%,transparent 100%);border-top:1px solid rgba(173,181,189,.2);position:relative}.rp-gameControls:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--color-gray-500),transparent)}.rp-controlButtons{display:flex;gap:12px}.rp-controlButton{flex:1;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Plus Jakarta Sans,sans-serif;border:none;text-transform:uppercase;letter-spacing:.5px}.rp-startButton{background:linear-gradient(135deg,#28a745,#20c997),radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);color:#fff;border:1px solid rgba(40,167,69,.4);box-shadow:0 4px 8px #28a74533}.rp-startButton:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #28a7454d}.rp-startButton:disabled{background:linear-gradient(145deg,var(--color-gray-100) 0%,var(--color-gray-200) 100%);color:var(--color-gray-500);border-color:#adb5bd4d;cursor:not-allowed;opacity:.7}.rp-leaveButton{background:var(--gradient-white),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);color:var(--color-gray-600);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-sm)}.rp-leaveButton:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:#adb5bd66}.rp-roomStatus{text-align:center;margin-bottom:16px;font-size:13px;color:var(--color-gray-500);transition:var(--transition-base)}.rp-roomStatus.rp-ready{color:var(--color-success);font-weight:600}.lp-gameContainer{width:var(--container-width);height:var(--container-height);max-width:var(--container-max-width);max-height:var(--container-max-height);background:var(--gradient-container);border-radius:var(--radius-xl);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-xl),var(--shadow-border),var(--shadow-inset-white);display:flex;flex-direction:column;position:relative;overflow:hidden}.lp-playerInfoBadge{position:absolute;top:20px;left:20px;background:var(--gradient-white),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);padding:8px 16px;border-radius:16px;border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-md),var(--shadow-inset-white);font-weight:600;font-size:12px;z-index:1000;color:var(--color-gray-700);display:flex;align-items:center;gap:8px}.lp-lobbyHeader{text-align:center;padding:60px 24px 20px;background:linear-gradient(180deg,rgba(248,249,250,.8) 0%,transparent 100%),linear-gradient(90deg,transparent 0%,rgba(173,181,189,.1) 50%,transparent 100%);border-bottom:1px solid rgba(173,181,189,.2);position:relative}.lp-lobbyHeader:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--color-gray-500),transparent)}.lp-lobbyTitle{font-family:var(--font-serif);font-size:28px;font-weight:700;margin-bottom:4px;color:var(--color-gray-700);letter-spacing:-.5px}.lp-lobbySubtitle{font-size:14px;color:var(--color-gray-500);font-weight:500}.lp-actionBar{padding:16px 20px;background:#f8f9fa99;border-bottom:1px solid rgba(173,181,189,.2);display:flex;gap:8px;align-items:center}.lp-actionButtonsLeft{display:flex;gap:8px;flex:1}.lp-actionButton{padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition-base);font-family:var(--font-primary);border:none;display:flex;align-items:center;gap:6px}.lp-actionButton.primary{background:var(--gradient-success),radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);color:#fff;border:1px solid rgba(40,167,69,.4);box-shadow:0 2px 4px #28a74533}.lp-actionButton.primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.lp-actionButton.secondary{background:var(--gradient-white),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);color:var(--color-gray-600);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-sm)}.lp-actionButton.secondary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:#adb5bd66}.lp-actionButton.iconOnly{padding:10px;min-width:36px}.lp-actionButton.lp-loading .lp-refreshIcon{animation:spin 1s linear infinite;display:inline-block}.lp-roomListSection{flex:1;padding:16px 20px;overflow:hidden;display:flex;flex-direction:column}.lp-roomListHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lp-roomCount{font-size:13px;color:var(--color-gray-500);font-weight:600}.lp-lastUpdated{font-size:11px;color:var(--color-gray-500)}.lp-roomList{display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;flex:1;padding-right:4px}.lp-roomList::-webkit-scrollbar{width:6px}.lp-roomList::-webkit-scrollbar-track{background:#adb5bd1a;border-radius:3px}.lp-roomList::-webkit-scrollbar-thumb{background:#adb5bd4d;border-radius:3px}.lp-roomList::-webkit-scrollbar-thumb:hover{background:#adb5bd80}.lp-roomCard{background:var(--gradient-white),radial-gradient(circle at 15% 50%,rgba(255,255,255,.8) 0%,transparent 50%);border:1px solid rgba(173,181,189,.15);border-radius:10px;padding:12px;transition:var(--transition-base);box-shadow:var(--shadow-sm),var(--shadow-inset-white);position:relative;cursor:pointer;animation:fadeIn .3s ease-out}.lp-roomCard:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f,0 0 0 1px #ffffffe6,inset 0 1px #fff;border-color:#0d6efd4d;background:linear-gradient(145deg,#fffbf0,#fff8e1),radial-gradient(circle at 15% 50%,rgba(255,193,7,.05) 0%,transparent 50%)}.lp-roomCard.full{opacity:.7;cursor:not-allowed}.lp-roomCard.lp-full:hover{transform:none;border-color:#adb5bd26;box-shadow:var(--shadow-sm),var(--shadow-inset-white);background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 15% 50%,rgba(255,255,255,.8) 0%,transparent 50%)}.lp-roomCardHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lp-roomInfo{display:flex;align-items:center;gap:8px}.lp-roomId{font-size:14px;font-weight:700;color:var(--color-gray-700);background:#ffc1071a;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,193,7,.3);font-family:Courier New,monospace;letter-spacing:.5px}.lp-hostName{font-size:12px;color:var(--color-gray-500)}.lp-roomOccupancy{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;background:#28a7451a;color:var(--color-success);border:1px solid rgba(40,167,69,.3)}.lp-roomOccupancy.full{background:#dc35451a;color:var(--color-danger);border-color:#dc35454d}.lp-roomPlayers{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.lp-playerSlot{width:22%;padding:6px;border-radius:6px;font-size:11px;text-align:center;background:#6c757d1a;border:1px solid rgba(108,117,125,.2);color:var(--color-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-playerSlot.filled{background:#28a7451a;border-color:#28a7454d;color:var(--color-success);font-weight:600}.lp-playerSlot.bot{background:#adb5bd1a;border-color:#adb5bd4d;color:var(--color-gray-500)}.lp-playerSlot.empty{border-style:dashed;color:var(--color-gray-400)}.lp-playerSlotContent{display:flex;align-items:center;gap:4px;justify-content:center}.lp-playerSlotName{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-emptyState{text-align:center;padding:60px 20px;animation:fadeIn .5s ease-out}.lp-emptyIcon{margin-bottom:24px;display:flex;justify-content:center}.lp-iconCircle{width:80px;height:80px;background:linear-gradient(145deg,#f8f9fa,#e9ecef),radial-gradient(circle at 30% 30%,rgba(173,181,189,.2) 0%,transparent 60%);border-radius:50%;border:3px solid rgba(173,181,189,.3);box-shadow:0 8px 24px #adb5bd26,inset 0 1px #fff;display:flex;align-items:center;justify-content:center;font-size:36px;color:var(--ui-piece-black, #6c757d);font-family:SimSun,\5b8b\4f53,serif;opacity:.5}.lp-iconCircle img{filter:var(--piece-filter-black);opacity:.7}.lp-emptyText{font-size:14px;color:var(--color-gray-500);margin-bottom:20px}.lp-footerActions{padding:16px 20px;background:linear-gradient(180deg,#f8f9fa99,#e9ecefcc),radial-gradient(ellipse 100% 60% at 50% 0%,rgba(173,181,189,.1) 0%,transparent 100%);border-top:1px solid rgba(173,181,189,.2);text-align:center}.lp-footerButton{font-size:12px;color:var(--color-gray-500);background:none;border:none;cursor:pointer;transition:var(--transition-base);display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-family:var(--font-primary)}.lp-footerButton:hover{color:var(--color-gray-600);background:#6c757d1a}.lp-modalOverlay{position:absolute;inset:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:2000;border-radius:var(--radius-xl)}.lp-modalOverlay.show{display:flex}.lp-modalContent{background:#fff;padding:24px;border-radius:16px;width:90%;max-width:320px;box-shadow:var(--shadow-xl);animation:scaleIn .3s ease-out}.lp-modalTitle{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--color-gray-700)}.lp-modalInput{width:100%;padding:10px 14px;font-size:14px;background:#f8f9facc;border:2px solid rgba(173,181,189,.3);border-radius:8px;outline:none;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-family:Courier New,monospace;transition:var(--transition-base)}.lp-modalInput:focus{border-color:#ffc10780;background:#fffbf080}.lp-modalButtons{display:flex;gap:8px}.lp-modalButton{flex:1;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition-base);border:none;font-family:var(--font-primary)}.lp-modalButton.confirm{background:var(--gradient-primary);color:#fff;border:1px solid rgba(13,110,253,.4)}.lp-modalButton.confirm:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0d6efd4d}.lp-modalButton.cancel{background:#f8f9facc;color:var(--color-gray-600);border:1px solid rgba(173,181,189,.3)}.lp-modalButton.cancel:hover{background:#e9ecefcc}.lp-loadingOverlay{position:absolute;inset:0;background:#ffffffe6;display:none;align-items:center;justify-content:center;z-index:1500;border-radius:var(--radius-xl)}.lp-loadingOverlay.show{display:flex}.lp-loadingSpinner{width:48px;height:48px;border:3px solid rgba(13,110,253,.2);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s linear infinite}.service-init-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.service-init-container{text-align:center;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.service-error-title{font-size:1.5rem;color:#dc3545;margin-bottom:1rem}.service-error-message{color:#6c757d;margin-bottom:1rem}.service-retry-button{padding:.5rem 1rem;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.service-retry-button:hover{background:#0056b3}.service-loading-spinner{width:48px;height:48px;border:3px solid #dee2e6;border-top-color:#6c757d;border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.service-loading-text{color:#6c757d}.game-page-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef,#dee2e6,#ced4da,#adb5bd),radial-gradient(circle at 30% 20%,rgba(255,193,7,.1) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(13,110,253,.05) 0%,transparent 50%)}.tp-gameContainer{width:var(--container-width);height:var(--container-height);max-width:var(--container-max-width);max-height:var(--container-max-height);background:var(--gradient-container);border-radius:var(--radius-xl);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-xl),var(--shadow-border),var(--shadow-inset-white);display:flex;flex-direction:column;position:relative;overflow:hidden}.tp-backButton{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:var(--gradient-white);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-base);z-index:1000;color:var(--color-gray-700)}.tp-backButton:hover{transform:translateY(-50%) scale(1.05);box-shadow:var(--shadow-lg);background:linear-gradient(145deg,#fff,#f0f0f0)}.tp-tutorialHeader{text-align:center;padding:20px;background:linear-gradient(180deg,rgba(248,249,250,.8) 0%,transparent 100%),linear-gradient(90deg,transparent 0%,rgba(173,181,189,.1) 50%,transparent 100%);border-bottom:1px solid rgba(173,181,189,.2);position:relative}.tp-tutorialHeader:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--color-gray-500),transparent)}.tp-tutorialTitle{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--color-gray-700);letter-spacing:-.5px;margin:0}.tp-tutorialContent{flex:1;display:flex;flex-direction:column;background:#f8f9fa4d;padding:16px 20px 20px;overflow:hidden;position:relative}.tp-slideContainer{flex:1;position:relative;overflow:hidden;background:#fff;border-radius:var(--radius-lg);border:1px solid rgba(173,181,189,.2);box-shadow:var(--shadow-md)}.tp-slide{position:absolute;width:100%;height:100%;padding:20px;display:flex;flex-direction:column;transition:transform .3s ease;overflow-y:auto}.tp-slideContent{flex:1;display:flex;flex-direction:column;gap:12px}.tp-navDots{display:flex;justify-content:center;gap:6px;padding:16px 0 0}.tp-dot{width:6px;height:6px;border-radius:50%;background:var(--color-gray-300);cursor:pointer;transition:all .3s ease;opacity:.6}.tp-dot.active{width:20px;border-radius:3px;background:var(--color-gray-600);opacity:1}.tp-footer{padding:16px 20px;background:#f8f9fa99;border-top:1px solid rgba(173,181,189,.2);position:relative;display:flex;justify-content:space-between;align-items:center}.tp-navArrow{width:40px;height:40px;border-radius:50%;background:var(--gradient-white);border:1px solid rgba(173,181,189,.3);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-base);color:var(--color-gray-600)}.tp-navArrow:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(145deg,#fff,#f0f0f0)}.tp-navArrow:disabled{opacity:.3;cursor:not-allowed}.tp-slideCounter{font-size:14px;font-weight:500;color:var(--color-gray-600)}.tp-skipButton{position:absolute;bottom:100%;right:20px;margin-bottom:8px;font-size:12px;color:var(--color-gray-500);background:none;border:none;cursor:pointer;text-decoration:underline;opacity:.7;transition:opacity .3s ease}.tp-skipButton:hover{opacity:1}.tutorial-welcome{height:100%;display:flex;flex-direction:column;padding:5px 0}.welcome-hero{text-align:center;padding:20px 0}.hero-icon{width:60px;height:60px;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px;animation:float 3s ease-in-out infinite;box-shadow:0 10px 25px #6366f140}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.welcome-hero h2{font-size:18px;font-weight:700;color:var(--color-gray-800);margin-bottom:8px}.welcome-hero p{font-size:13px;color:var(--color-gray-600);line-height:1.5}.info-cards{display:grid;gap:10px;padding:0 10px}.info-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;padding:12px 14px;border-left:4px solid #6366f1;transition:transform .2s,box-shadow .2s;cursor:default}.info-card:hover{transform:translate(3px);box-shadow:0 4px 12px #00000014}.info-card-title{font-size:13px;font-weight:600;color:#6366f1;margin-bottom:4px;display:flex;align-items:center;gap:6px}.info-card-desc{font-size:12px;color:var(--color-gray-600);line-height:1.4}.tutorial-pieces,.tutorial-phase,.tutorial-play-types,.tutorial-scoring{display:flex;flex-direction:column;gap:16px;height:100%}.game-setup-details{margin-top:8px;display:flex;flex-direction:column;gap:6px}.setup-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-gray-600)}.setup-row .setup-icon{font-size:16px;width:20px;text-align:center}.setup-row strong{color:var(--color-gray-800)}.key-rule{background:#ffc1071a;padding:8px 10px;border-radius:var(--radius-sm);margin-top:8px;font-size:12px;line-height:1.5;color:var(--color-gray-600)}.key-rule strong{color:var(--color-gray-800)}.piece-showcase{display:flex;flex-direction:column;gap:10px;padding:0 10px}.piece-group{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.piece-set{display:flex;gap:4px;justify-content:center;align-items:center}.piece-group:first-child .piece-set{justify-content:center}.soldiers-section{margin-top:10px;display:flex;flex-direction:column;gap:6px;align-items:center}.soldier-row{display:flex;gap:2px;justify-content:center}.tutorial-note{text-align:center;font-size:13px;color:var(--color-gray-600);font-style:italic;margin-top:auto}.prep-visual{display:flex;justify-content:center;margin-bottom:24px;padding:20px;background:var(--color-gray-50);border-radius:var(--radius-lg)}.deal-display{display:flex;align-items:center;gap:16px}.dealing-cards{display:flex;align-items:center;gap:-8px;position:relative}.dealing-cards>*{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.card-count{margin-left:12px;font-size:16px;font-weight:700;color:var(--color-gray-700)}.deal-arrow{font-size:20px;color:var(--color-gray-400)}.prep-steps{display:flex;flex-direction:column;gap:10px}.prep-step{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:#fff;border-radius:var(--radius-md);border:1px solid rgba(173,181,189,.15)}.prep-step.weak{background:#ffc1070d;border-color:#ffc10733}.prep-step.starter{background:#dc35450d;border-color:#dc354533}.prep-step.compact{padding:8px 10px}.prep-step.compact .step-text{gap:4px}.prep-step.compact .example-inline{margin-top:2px}.step-number{width:24px;height:24px;background:var(--color-gray-800);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.prep-step.weak .step-number{background:var(--color-warning);color:var(--color-gray-800)}.prep-step.starter .step-number{background:var(--color-danger);color:#fff}.step-text{flex:1;font-size:13px;color:var(--color-gray-700);line-height:1.4}.step-text strong{color:var(--color-gray-800);display:block;margin-bottom:4px}.step-detail{font-size:12px;color:var(--color-gray-600);margin:0;line-height:1.5}.weak-definition{margin-top:6px;font-size:12px;color:var(--color-gray-600)}.weak-definition>div:first-child{margin-bottom:8px;display:flex;align-items:center;gap:4px}.redeal-option{background:#ffc1071a;padding:8px 10px;border-radius:var(--radius-sm);line-height:1.6;margin-left:-4px;margin-right:-4px}.warning{color:var(--color-danger);font-weight:600;font-size:11px}.phase-steps{display:flex;flex-direction:column;gap:12px}.phase-step{background:var(--color-gray-50);border-radius:var(--radius-md);padding:12px;display:flex;align-items:center;gap:12px;border:1px solid rgba(173,181,189,.1)}.step-icon{width:36px;height:36px;background:var(--gradient-container);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;border:1px solid rgba(173,181,189,.2)}.step-content{flex:1;text-align:left}.step-content h4{font-size:13px;margin-bottom:2px;color:var(--color-gray-800);font-weight:600}.step-content p{font-size:11px;color:var(--color-gray-600);margin:0}.phase-note{background:var(--color-amber-50);border:1px solid var(--color-amber-200);border-radius:var(--radius-md);padding:10px;font-size:12px;color:var(--color-amber-900);text-align:center;margin-top:auto}.example-box{background:var(--color-gray-50);border:1px solid rgba(173,181,189,.2);border-radius:var(--radius-md);padding:10px;font-size:11px;color:var(--color-gray-600);line-height:1.5}.play-types-showcase{display:flex;flex-direction:column;gap:10px}.play-type-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid rgba(173,181,189,.1)}.play-type-visual{display:flex;gap:2px;min-width:80px}.play-type-info{flex:1}.play-type-info strong{font-size:13px;color:var(--color-gray-800);display:block;margin-bottom:2px}.prep-container{padding:20px 24px;display:flex;flex-direction:column;height:100%;text-align:center}.prep-header{margin-bottom:24px}.prep-title{font-size:24px;color:#1f2937;font-weight:700;letter-spacing:-.025em;margin-bottom:8px}.prep-content{flex:1;display:flex;flex-direction:column;gap:20px;text-align:left}.prep-item{display:flex;flex-direction:column;gap:8px}.prep-item-title{font-size:18px;color:#1e293b;font-weight:600;margin:0 0 8px}.prep-item-text{font-size:14px;color:#475569;margin:0;line-height:1.6;display:block}.prep-item-text-with-margin{font-size:14px;color:#475569;line-height:1.6;margin-bottom:8px;display:block}.prep-item-text .game-piece,.prep-item-text-with-margin .game-piece{display:inline-block!important;vertical-align:middle;margin:0 4px}.prep-item-text .game-piece--mini,.prep-item-text-with-margin .game-piece--mini{width:18px!important;height:18px!important;font-size:9px!important}.prep-item-text span,.prep-item-text-with-margin span{display:inline;vertical-align:middle}.prep-divider{border-bottom:1px solid #e2e8f0;margin:4px 0}.prep-warning{font-size:13px;color:#64748b;background:#fef3c7;padding:8px 12px;border-radius:6px;border-left:3px solid #f59e0b}.example-inline{font-size:11px;color:var(--color-gray-600);margin-top:4px}.example-inline strong{color:var(--color-success)}.prep-step[style*="rgba(220, 53, 69"] .example-inline strong{color:var(--color-danger)}.play-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.play-type{background:var(--color-gray-50);padding:10px;border-radius:var(--radius-sm);text-align:center;display:flex;flex-direction:column;gap:6px;border:1px solid rgba(173,181,189,.1)}.play-pieces{display:flex;justify-content:center;gap:3px;margin-bottom:4px}.play-type span{font-size:11px;font-weight:600;color:var(--color-gray-700)}.play-type-notes{font-size:12px;color:var(--color-gray-600);line-height:1.5}.play-type-notes ul{margin:8px 0;padding-left:16px}.play-type-notes li{margin:4px 0}.note-small{font-size:11px;color:var(--color-gray-500);font-style:italic;margin-top:8px}.scoring-example{background:var(--color-gray-50);border:1px solid rgba(173,181,189,.2);border-radius:var(--radius-md);padding:16px;margin-bottom:12px}.scoring-example h4{margin-bottom:12px;font-size:14px;color:var(--color-gray-800);font-weight:600}.scoring-row{display:flex;justify-content:space-between;margin:6px 0;font-size:13px}.scoring-row span:first-child{color:var(--color-gray-600)}.scoring-row .value{font-weight:600;color:var(--color-gray-800)}.scoring-row.total{border-top:1px solid var(--color-gray-300);padding-top:6px;margin-top:6px}.scoring-row .value.success{color:var(--color-green-600);font-size:16px}.scoring-cards{display:flex;gap:8px}.scoring-card{flex:1;padding:8px;border-radius:var(--radius-sm);text-align:center;display:flex;flex-direction:column;gap:2px;border:1px solid}.scoring-card.special{background:var(--color-amber-50);border-color:var(--color-amber-200)}.scoring-card.penalty{background:var(--color-red-50);border-color:var(--color-red-200)}.card-icon{font-size:12px;margin-bottom:2px}.scoring-card strong{font-size:10px;color:var(--color-gray-800)}.scoring-card small{font-size:9px;color:var(--color-gray-600);line-height:1.2}.modal-overlay{position:fixed;inset:0;z-index:9999;background-color:#00000080}.waiting-dots{display:flex;justify-content:center;align-items:center;gap:.25rem}.waiting-dot{width:12px;height:12px;background-color:var(--color-gray-500);border-radius:50%;animation:pulse 1.2s infinite}.waiting-dot:nth-child(1){animation-delay:0s}.waiting-dot:nth-child(2){animation-delay:.3s}.waiting-dot:nth-child(3){animation-delay:.6s}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.settings-button{position:absolute;top:20px;right:20px;width:40px;height:40px;background:linear-gradient(145deg,#fff,#f8f9fa);border:1px solid rgba(173,181,189,.3);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;z-index:10}.settings-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026;border-color:#adb5bd80}.settings-button:active{transform:translateY(0)}.settings-icon{width:20px;height:20px;color:#495057;transition:transform .3s ease}.settings-button:hover .settings-icon{transform:rotate(45deg)}.settings-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.settings-modal{background:linear-gradient(145deg,#fff,#f8f9fa);border-radius:20px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.settings-modal-header{padding:30px 30px 20px;border-bottom:1px solid rgba(173,181,189,.2);display:flex;align-items:center;justify-content:space-between}.settings-modal-title{font-size:28px;font-weight:700;color:#212529;font-family:var(--font-serif);margin:0}.settings-modal-close{width:32px;height:32px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.settings-modal-close:hover{background:#0000000d}.modal-close-icon{width:20px;height:20px;color:#6c757d}.settings-modal-body{padding:30px}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.settings-section-title{font-size:12px;font-weight:600;color:#495057;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.theme-options{display:grid;gap:12px}.theme-option{display:flex;align-items:center;padding:16px;border:2px solid rgba(173,181,189,.3);border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;position:relative}.theme-option:hover{border-color:#adb5bd80;background:#adb5bd0d}.theme-option.active{border-color:#28a74580;background:#28a7450d}.theme-option-preview{display:flex;gap:12px;margin-right:16px;align-items:center}.piece-preview{width:45px;height:45px;-o-object-fit:contain;object-fit:contain;transition:transform .2s ease}.theme-option:hover .piece-preview{transform:scale(1.1)}.piece-char{font-family:SimSun,\5b8b\4f53,serif;font-weight:700}.theme-option-info{flex:1}.theme-option-name{font-weight:600;font-size:16px;color:#212529;margin-bottom:4px}.theme-option-desc{font-size:14px;color:#6c757d}.theme-option-check{position:absolute;top:12px;right:12px;width:24px;height:24px;background:#28a745;border-radius:50%;display:flex;align-items:center;justify-content:center}.check-icon{width:14px;height:14px;color:#fff}.settings-placeholder{padding:40px;text-align:center;background:linear-gradient(145deg,#f8f9fa,#e9ecef);border:1px solid rgba(173,181,189,.2);border-radius:12px;color:#6c757d;font-size:14px}.settings-modal-footer{padding:20px 30px 30px;border-top:1px solid rgba(173,181,189,.2);display:flex;gap:12px}.btn-modal{padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;flex:1;font-family:var(--font-primary)}.btn-apply{background:linear-gradient(135deg,#28a745,color-mix(in srgb,#28a745 80%,#000));color:#fff;box-shadow:0 4px 8px #28a74533}.btn-apply:hover{transform:translateY(-2px);box-shadow:0 8px 16px #28a7454d}.btn-cancel{background:linear-gradient(145deg,#fff,#f8f9fa);color:#495057;border:1px solid rgba(173,181,189,.3);box-shadow:0 2px 4px #0000000f}.btn-cancel:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a;border-color:#adb5bd66}:root{--gradient-game-primary: linear-gradient( 135deg, #1e3a8a 0%, #3b82f6 50%, #60a5fa 100% );--gradient-game-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-game-wood: linear-gradient( 135deg, #92400e 0%, #b45309 50%, #d97706 100% );--gradient-game-felt: radial-gradient( ellipse at center, rgba(34, 139, 34, .15) 0%, rgba(34, 139, 34, .05) 70% );--gradient-preparation: linear-gradient( 135deg, #f59e0b 0%, #fbbf24 50%, #fcd34d 100% );--gradient-declaration: linear-gradient( 135deg, #8b5cf6 0%, #a78bfa 50%, #c4b5fd 100% );--gradient-turn: linear-gradient( 135deg, #059669 0%, #10b981 50%, #34d399 100% );--gradient-scoring: linear-gradient( 135deg, #dc2626 0%, #ef4444 50%, #f87171 100% );--game-spacing-xs: 4px;--game-spacing-sm: 8px;--game-spacing-md: 16px;--game-spacing-lg: 24px;--game-spacing-xl: 32px;--animation-dealing: 3.5s;--animation-piece-appear: .5s;--animation-slide-in: .3s;--animation-badge-bounce: .4s;--animation-progress: 3s;--animation-confetti: 2.5s;--z-game-background: 1;--z-game-content: 10;--z-game-overlay: 20;--z-game-modal: 30;--z-game-notification: 40;--game-container-ratio: .5625;--game-max-width: 400px;--game-max-height: 711px;--piece-tray-height: 200px;--color-piece-red: #dc2626;--color-piece-red-light: #fee2e2;--color-piece-black: #1f2937;--color-piece-black-light: #f3f4f6;--color-alert-yellow: #fef3c7;--color-alert-yellow-border: #f59e0b;--shadow-game-card: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-game-elevated: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-game-piece: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -1px rgba(0, 0, 0, .1)}@media (max-height: 700px){:root{--piece-tray-height: 180px}}@keyframes dealing{0%{transform:translate(-50%,-50%) rotate(0) scale(1)}25%{transform:translate(-80%,-80%) rotate(-15deg) scale(.9)}50%{transform:translate(-20%,-80%) rotate(15deg) scale(.9)}75%{transform:translate(-20%,-20%) rotate(-10deg) scale(.9)}to{transform:translate(-50%,-50%) rotate(0) scale(1)}}@keyframes progress{0%{width:0%}to{width:100%}}@keyframes slideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pieceAppear{to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes flipIn{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{transform:perspective(400px) rotateX(0);opacity:1}}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes gamePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc,0 0 30px #3b82f699}}@keyframes trophyBounce{0%{transform:translateY(-100px) scale(.5);opacity:0}60%{transform:translateY(30px) scale(1.1);opacity:1}80%{transform:translateY(-10px) scale(.95)}to{transform:translateY(0) scale(1)}}@keyframes crownRotate{0%{transform:rotate(-15deg) scale(.8)}50%{transform:rotate(15deg) scale(1.1)}to{transform:rotate(0) scale(1)}}@keyframes tableFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scoreCount{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1)}}@keyframes pieceFlipReveal{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes pieceEntranceFlip{0%{opacity:0;transform:scale(.8) rotateY(0)}50%{opacity:1;transform:scale(1.05) rotateY(90deg)}to{opacity:1;transform:scale(1) rotateY(180deg)}}@keyframes invalidPlayShake{0%,to{transform:translate(0) rotateY(0)}25%{transform:translate(-3px) rotateY(5deg)}75%{transform:translate(3px) rotateY(-5deg)}}.player-avatar{border-radius:50%;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);display:flex;align-items:center;justify-content:center;font-weight:700;border:2px solid rgba(173,181,189,.3);box-shadow:0 2px 4px #0000000f,inset 0 1px #fff;color:#495057;flex-shrink:0;transition:all .2s ease}.player-avatar--mini{width:20px;height:20px;font-size:10px;border-width:1px}.player-avatar--small{width:24px;height:24px;font-size:11px;border-width:1.5px}.player-avatar--medium{width:32px;height:32px;font-size:14px}.player-avatar--large{width:36px;height:36px;font-size:16px}.player-avatar:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000014,inset 0 1px #fff}.player-avatar.active{border-color:#28a74580;background:linear-gradient(145deg,#f8fff9,#e8f5e9),radial-gradient(circle at 30% 30%,rgba(40,167,69,.1) 0%,transparent 60%)}.player-avatar.winner{border-color:#ffc10780;background:linear-gradient(145deg,#fffbf0,#fff8e1),radial-gradient(circle at 30% 30%,rgba(255,193,7,.1) 0%,transparent 60%)}.player-avatar--bot{background:linear-gradient(145deg,#f3f4f6,#e5e7eb),radial-gradient(circle at 30% 30%,rgba(156,163,175,.2) 0%,transparent 60%);border-color:#6b728066;color:#4b5563}.player-avatar--bot .bot-icon,.player-avatar .human-icon{width:65%;height:65%}.player-avatar--bot.thinking{position:relative;border:2px solid transparent;background:linear-gradient(145deg,#f3f4f6,#e5e7eb) padding-box,conic-gradient(from 0deg,transparent 0deg,rgba(107,114,128,.6) 90deg,transparent 180deg) border-box}.player-avatar--bot.thinking:before{content:"";position:absolute;inset:-2px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(107,114,128,.6) 90deg,transparent 180deg);animation:bot-thinking-spin 1.5s linear infinite;z-index:-1}.player-avatar--yellow{background:#ffc10733;color:#f57f17;border-color:#ffc1074d}.player-avatar--yellow.player-avatar--bot{background:#ffc10726;color:#f57f17;border-color:#ffc10740}@keyframes bot-thinking-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.player-avatar--bot:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000014,inset 0 1px #fff;border-color:#6b728080}.player-avatar-wrapper{position:relative;display:inline-block}.player-avatar.disconnected{opacity:.6;filter:grayscale(50%)}.disconnect-badge{position:absolute;top:-2px;right:-2px;font-size:8px;line-height:1}.ai-badge{position:absolute;bottom:-4px;right:-4px;background:#4b5563;color:#fff;font-size:9px;font-weight:700;padding:1px 3px;border-radius:4px;border:1px solid white;box-shadow:0 1px 2px #0003}.player-avatar--color-blue{background:linear-gradient(145deg,#ebf5ff,#dbeafe);border-color:#3b82f6;color:#1e40af}.player-avatar--color-purple{background:linear-gradient(145deg,#f3e8ff,#e9d5ff);border-color:#8b5cf6;color:#5b21b6}.player-avatar--color-orange{background:linear-gradient(145deg,#fff7ed,#fed7aa);border-color:#f97316;color:#c2410c}.player-avatar--color-red{background:linear-gradient(145deg,#fef2f2,#fecaca);border-color:#ef4444;color:#b91c1c}.player-avatar--color-green{background:linear-gradient(145deg,#f0fdf4,#d1fae5);border-color:#10b981;color:#047857}.player-avatar--color-teal{background:linear-gradient(145deg,#f0fdfa,#ccfbf1);border-color:#14b8a6;color:#0f766e}.player-avatar--color-pink{background:linear-gradient(145deg,#fdf2f8,#fce7f3);border-color:#ec4899;color:#be185d}.player-avatar--color-yellow{background:linear-gradient(145deg,#fffbeb,#fef3c7);border-color:#f59e0b;color:#b45309}:root{--piece-border-gray: rgba(173, 181, 189, .3);--piece-border-gray-dark: rgba(173, 181, 189, .7)}.game-piece{border-radius:50%;background:linear-gradient(145deg,ivory,#faf8f3,#f0ebe4),radial-gradient(ellipse at 30% 30%,rgba(255,255,240,.9) 0%,transparent 50%);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;border:none;font-family:"SimSun","\5b8b\4f53",var(--font-display),serif;box-shadow:0 0 0 .5px #c8beb4e6,0 0 0 1px #fffff566,0 0 0 1.5px #dcd2c84d,inset 0 0 1px 1px #ffffff80,inset 0 1px 0 1px #fffc,inset 0 -1px 0 1px #c8beb499,0 4px 8px #00000026,0 2px 4px #8b6f471a,inset 0 2px 3px #ffffffb3,inset 0 -2px 3px #e6dcd24d,inset 2px 0 2px #ffffff4d,inset -2px 0 2px #e6dcd24d;transition:all .15s ease;position:relative}.game-piece--mini{width:34px;height:34px;font-size:20px}.game-piece--small{width:38px;height:38px;font-size:24px}.game-piece--medium{width:68px;height:68px;font-size:42px}.game-piece--large{width:62px;height:62px;font-size:20px}.game-piece:not(.game-piece--table).piece-red,.game-piece:not(.game-piece--table).red{box-shadow:0 0 0 .5px var(--piece-color-red, #dc3545),0 0 0 1px #fff5f566,0 0 0 1.5px var(--piece-color-red, #dc3545),inset 0 0 1px 1px #ffffff80,inset 0 1px 0 1px #fffc,inset 0 -1px 0 1px #c8beb499,0 4px 8px #00000026,0 2px 4px #8b6f471a,inset 0 2px 3px #ffffffb3,inset 0 -2px 3px #e6dcd24d,inset 2px 0 2px #ffffff4d,inset -2px 0 2px #e6dcd24d;@supports (color: color-mix(in lab,red,red)){box-shadow:0 0 0 .5px color-mix(in srgb,var(--piece-color-red, #dc3545) 30%,#c8beb4),0 0 0 1px #fff5f566,0 0 0 1.5px color-mix(in srgb,var(--piece-color-red, #dc3545) 20%,#dcd2c8),inset 0 0 1px 1px #ffffff80,inset 0 1px 0 1px #fffc,inset 0 -1px 0 1px #c8beb499,0 4px 8px #00000026,0 2px 4px #8b6f471a,inset 0 2px 3px #ffffffb3,inset 0 -2px 3px #e6dcd24d,inset 2px 0 2px #ffffff4d,inset -2px 0 2px #e6dcd24d}}.game-piece:not(.game-piece--table).piece-black,.game-piece:not(.game-piece--table).black{box-shadow:0 0 0 .5px var(--piece-color-black, #495057),0 0 0 1px #fff6,0 0 0 1.5px var(--piece-color-black, #495057),inset 0 0 1px 1px #ffffff80,inset 0 1px 0 1px #fffc,inset 0 -1px 0 1px #c8beb499,0 4px 8px #00000026,0 2px 4px #8b6f471a,inset 0 2px 3px #ffffffb3,inset 0 -2px 3px #e6dcd24d,inset 2px 0 2px #ffffff4d,inset -2px 0 2px #e6dcd24d;@supports (color: color-mix(in lab,red,red)){box-shadow:0 0 0 .5px color-mix(in srgb,var(--piece-color-black, #495057) 30%,#c8beb4),0 0 0 1px #fff6,0 0 0 1.5px color-mix(in srgb,var(--piece-color-black, #495057) 20%,#dcd2c8),inset 0 0 1px 1px #ffffff80,inset 0 1px 0 1px #fffc,inset 0 -1px 0 1px #c8beb499,0 4px 8px #00000026,0 2px 4px #8b6f471a,inset 0 2px 3px #ffffffb3,inset 0 -2px 3px #e6dcd24d,inset 2px 0 2px #ffffff4d,inset -2px 0 2px #e6dcd24d}}.game-piece__character{font-size:.9em;line-height:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.game-piece__value{position:absolute;top:-2px;left:-2px;background:linear-gradient(145deg,#fffff5,#faf8f0);border:1px solid rgba(230,220,210,.3);border-radius:8px;padding:2px 4px;font-size:10px;font-weight:700;line-height:1;margin:0;min-width:16px;text-align:center;box-shadow:0 2px 4px #0000001a,inset 0 1px 1px #fff9,inset 0 -1px 1px #e6dcd233;z-index:10}.game-piece.piece-red .game-piece__value,.game-piece__face--front.piece-red .game-piece__value{color:var(--piece-color-red, #dc3545);border-color:var(--piece-color-red, #dc3545);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--piece-color-red, #dc3545) 30%,transparent)}}.game-piece.piece-black .game-piece__value,.game-piece__face--front.piece-black .game-piece__value{color:var(--piece-color-black, #495057);border-color:var(--piece-color-black, #495057);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--piece-color-black, #495057) 30%,transparent)}}.game-piece img,.game-piece--mini img,.game-piece--small img,.game-piece--medium img,.game-piece--large img,.theme-classic .game-piece--mini img,.theme-classic .game-piece--small img,.theme-classic .game-piece--medium img,.theme-classic .game-piece--large img{width:90%}.theme-modern .game-piece--mini img,.theme-modern .game-piece--small img,.theme-modern .game-piece--medium img,.theme-modern .game-piece--large img{width:100%}.game-piece.piece-red img,.game-piece__face--front.piece-red img,.game-piece.piece-black img,.game-piece__face--front.piece-black img{filter:none}.game-piece--selectable{cursor:pointer;animation:gentleBounce .35s ease-out forwards;opacity:1}.game-piece--selectable:hover{transform:translateY(-2px);box-shadow:0 0 0 .5px #0d6efd99,0 0 0 1px #ffffff80,0 0 0 1.5px #0d6efd4d,inset 0 0 1px 1px #fff9,inset 0 1px 0 1px #ffffffe6,inset 0 -1px 0 1px #c8beb480,0 6px 12px #0000002e,0 4px 8px #8b6f471f,inset 0 2px 3px #ffffffb3,inset 0 -2px 3px #e6dcd24d,inset 2px 0 2px #ffffff4d,inset -2px 0 2px #e6dcd24d}.game-piece--selectable.selected:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid rgba(255,193,7,.8);box-shadow:0 0 10px #ffc10766,inset 0 0 10px #ffc10733;pointer-events:none;animation:selectionPulse 1.5s ease-in-out infinite}.game-piece--table{cursor:pointer;position:relative;z-index:10;background:ivory,linear-gradient(145deg,ivory,#faf8f3,#f0ebe4),radial-gradient(ellipse at 30% 30%,rgba(255,255,240,.9) 0%,transparent 50%)}.game-piece.flippable{transform-style:preserve-3d;transition:transform .6s ease;border:none;background:none;box-shadow:none}.game-piece.flippable.flipped{transform:rotateY(180deg)}.game-piece.flippable.game-piece--selectable.selected:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid rgba(255,193,7,.8);box-shadow:0 0 10px #ffc10766,inset 0 0 10px #ffc10733;pointer-events:none;animation:selectionPulse 1.5s ease-in-out infinite}.game-piece.flippable.game-piece--selectable.selected.flipped{transform:rotateY(180deg)}.game-piece__face{position:absolute;width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,ivory,#faf8f3,#f0ebe4),radial-gradient(ellipse at 30% 30%,rgba(255,255,240,.9) 0%,transparent 50%);display:flex;align-items:center;justify-content:center;border:none;box-shadow:0 0 0 .5px #c8beb4e6,0 0 0 1px #fffff566,0 0 0 1.5px #dcd2c84d,inset 0 0 1px 1px #ffffff80,inset 0 1px 0 1px #fffc,inset 0 -1px 0 1px #c8beb499,0 4px 8px #00000026,0 2px 4px #8b6f471a,inset 0 2px 3px #ffffffb3,inset 0 -2px 3px #e6dcd24d,inset 2px 0 2px #ffffff4d,inset -2px 0 2px #e6dcd24d;backface-visibility:hidden}.game-piece__face--back{background:linear-gradient(145deg,#faf8f3,#f0ebe4,#e8e0d5),radial-gradient(ellipse at 30% 30%,rgba(250,248,243,.8) 0%,transparent 50%);border:none;box-shadow:0 0 0 .5px #beb4aacc,0 0 0 1px #faf8f34d,0 0 0 1.5px #d2c8be33,inset 0 0 1px 1px #fff6,inset 0 1px 0 1px #fff9,inset 0 -1px 0 1px #beb4aa80,0 4px 8px #0000001f,0 2px 4px #8b6f4714,inset 0 2px 3px #fff9,inset 0 -2px 3px #dcd2c866,inset 2px 0 2px #ffffff40,inset -2px 0 2px #dcd2c840}.game-piece__face--back:after{content:"?";color:#6c757d;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.6),0 -1px 1px rgba(0,0,0,.3),1px 0 0 rgba(0,0,0,.2),-1px 0 0 rgba(255,255,255,.4)}.game-piece__face--front{transform:rotateY(180deg)}.game-piece__face--front.piece-red,.game-piece__face--front.red{color:var(--piece-color-red, #dc3545);border-color:var(--piece-color-red, #dc3545);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--piece-color-red, #dc3545) 40%,transparent)}}.game-piece__face--front.piece-black,.game-piece__face--front.black{color:var(--piece-color-black, #495057);border-color:var(--piece-color-black, #495057);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--piece-color-black, #495057) 40%,transparent)}}.game-piece--dealing{cursor:default;animation:verticalDropStagger .35s ease-out forwards;opacity:0;transform:translateY(-50px)}@keyframes gentleBounce{0%{opacity:1;transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes verticalDropStagger{0%{opacity:0;transform:translateY(-50px)}20%{opacity:.5;transform:translateY(-30px)}60%{opacity:1;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.game-piece.flippable.invalid-play:not(.flipped){opacity:.8;filter:grayscale(30%)}.game-piece.flippable.invalid-play:not(.flipped):hover{cursor:help;opacity:1;filter:grayscale(0%)}.game-piece.flippable.invalid-play:not(.flipped):hover{animation:invalidPlayShake .5s ease}.game-piece.flippable.flipped{animation:pieceFlipReveal .6s ease-out forwards;animation-fill-mode:both}@keyframes selectionPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.piece-tray{border:8px solid rgba(173,181,189,.3);border-radius:0 0 16px 16px;padding:0;position:relative;z-index:20;transition:all .3s ease;background:transparent;box-shadow:0 -1px 2px #ffffff4d}.piece-tray__inner{background:linear-gradient(180deg,#e9ecef,#f8f9fa);padding:20px;border-radius:0 0 8px 8px;box-shadow:inset 0 4px 8px #00000026,inset 0 2px 4px #0003,inset 0 -1px 2px #ffffff80}.piece-tray--active{border:8px solid rgba(255,193,7,.2);box-shadow:0 -2px 8px #ffc1074d}.piece-tray--active .piece-tray__inner{background:linear-gradient(180deg,#fff3cd,#fff8e1);box-shadow:inset 0 4px 8px #ffc10733,inset 0 2px 4px #ffc10740,inset 0 -1px 2px #fff9}.piece-tray--fixed{position:absolute;bottom:0;left:0;right:0;z-index:25}.piece-tray__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:350px;margin:0 auto;min-height:136px;align-content:start}.footer-timer{font-size:14px;color:#6c757d}.footer-timer--inline,.footer-timer--inline .footer-timer__text{display:inline}.footer-timer--footer{position:absolute;bottom:0;left:0;right:0;z-index:25;padding:20px;text-align:center;background:linear-gradient(180deg,#f8f9fae6,#e9eceff2),radial-gradient(ellipse 100% 60% at 50% 0%,rgba(173,181,189,.2) 0%,transparent 100%);border-top:1px solid rgba(173,181,189,.2)}.footer-timer--footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,#6c757d,transparent)}.footer-timer__prefix{color:#6c757d}.footer-timer__count{display:inline-block;background:#6c757d1a;padding:2px 8px;border-radius:6px;font-weight:600;color:#495057;margin:0 4px;min-width:24px;text-align:center}.footer-timer__suffix{color:#6c757d}.footer-timer__count{transition:all .3s ease}@media (max-height: 700px){.footer-timer--footer{padding:12px}}.gl-game-container{width:100%;max-width:var(--game-max-width);aspect-ratio:9 / 16;max-height:var(--game-max-height);margin:0 auto;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 20% 30%,rgba(255,193,7,.03) 0%,transparent 70%),radial-gradient(circle at 80% 70%,rgba(13,110,253,.02) 0%,transparent 70%);border-radius:20px;border:1px solid rgba(173,181,189,.3);box-shadow:0 20px 40px #00000014,0 0 0 1px #ffffffe6,inset 0 1px #fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.gl-round-indicator{position:absolute;top:var(--game-spacing-md);right:var(--game-spacing-md);z-index:var(--z-game-overlay);background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);padding:8px 16px;border-radius:16px;border:1px solid rgba(173,181,189,.3);box-shadow:0 4px 12px #00000014,inset 0 1px #fff;font-size:14px;font-weight:700;color:#343a40;font-family:var(--font-primary);letter-spacing:.5px}.gl-multiplier-badge{position:absolute;top:var(--game-spacing-md);left:var(--game-spacing-md);z-index:var(--z-game-overlay);opacity:0;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#6f42c1,#5a32a3),radial-gradient(circle at 30% 30%,rgba(255,255,255,.3) 0%,transparent 60%);padding:8px 16px;border-radius:16px;border:1px solid rgba(111,66,193,.4);box-shadow:0 4px 12px #6f42c133,inset 0 1px #fff9;font-size:14px;font-weight:700;color:#fff;font-family:var(--font-primary);letter-spacing:.5px}.gl-multiplier-badge.show{opacity:1;transform:scale(1);animation:bounceIn .4s cubic-bezier(.68,-.55,.265,1.55)}.gl-phase-header{position:relative;padding:50px 24px 20px;background:linear-gradient(180deg,#fff,#f1f2f5);border-bottom:1px solid rgba(173,181,189,.2);text-align:center;box-shadow:0 2px 6px #0000000f,0 1px 2px #0000000a,inset 0 1px #ffffffe6,inset 0 -1px 2px #0000000a,inset 1px 0 1px #fff6,inset -1px 0 1px #00000005}.gl-phase-title{font-family:var(--font-serif);font-size:28px;font-weight:700;color:#343a40;margin:0 0 4px;letter-spacing:-.5px}.gl-phase-subtitle{font-size:14px;font-weight:500;color:#6c757d;margin:0}.gl-content-section{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}@media (max-height: 700px){.gl-phase-header{padding:var(--game-spacing-lg) var(--game-spacing-lg) var(--game-spacing-md)}.gl-phase-title{font-size:28px}.gl-phase-subtitle{font-size:13px}}.content-section{flex:1;padding:24px 20px 240px;display:flex;flex-direction:column;align-items:center;justify-content:center}.dealing-container{text-align:center;padding:40px 20px}.dealing-icon{width:120px;height:120px;margin:0 auto 24px;position:relative}.card-stack{position:absolute;width:90px;height:90px;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);border-radius:50%;border:4px solid rgba(173,181,189,.8);box-shadow:0 6px 16px #0000001f,inset 0 1px #fff;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#6c757d;font-family:SimSun,\5b8b\4f53,serif}.card-stack:before{content:"?"}.card-stack:nth-child(1){animation:dealing 2s ease-in-out infinite}.card-stack:nth-child(2){animation:dealing 2s ease-in-out infinite .5s;opacity:.8}.card-stack:nth-child(3){animation:dealing 2s ease-in-out infinite 1s;opacity:.6}.dealing-message{font-size:20px;font-weight:600;color:#343a40;margin-bottom:8px}.dealing-status{font-size:14px;color:#6c757d}.progress-container{width:100%;max-width:280px;margin-top:32px}.progress-bar{height:8px;background:#adb5bd33;border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);border-radius:4px;width:0;animation:progress 3s ease-out forwards;box-shadow:0 0 8px #28a7454d}@keyframes progress{0%{width:0}to{width:100%}}.weak-hand-alert{background:linear-gradient(145deg,#fff8e1,#fffbf0),radial-gradient(circle at 30% 30%,rgba(255,193,7,.1) 0%,transparent 60%);border:1px solid rgba(255,193,7,.3);border-radius:12px;padding:16px;margin-top:24px;max-width:320px;box-shadow:0 4px 12px #ffc10726;display:none}.weak-hand-alert.show{display:block;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert-title{font-size:16px;font-weight:600;color:#f57f17;margin-bottom:8px;display:flex;align-items:center;gap:8px}.alert-message{font-size:14px;color:#6c757d;margin-bottom:16px}.multiplier-warning{margin-top:8px;color:#dc3545;font-weight:600}.alert-buttons{display:flex;gap:8px}.alert-button{flex:1;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-family:Plus Jakarta Sans,sans-serif}.alert-button.primary{background:linear-gradient(135deg,#ffc107,#ff9800);color:#212529;border:1px solid rgba(255,193,7,.4);box-shadow:0 2px 4px #ffc10733}.alert-button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #ffc1074d}.alert-button.secondary{background:linear-gradient(145deg,#fff,#f8f9fa);color:#495057;border:1px solid rgba(173,181,189,.3);box-shadow:0 2px 4px #0000000f}.alert-button.secondary:hover{background:linear-gradient(145deg,#f8f9fa,#e9ecef)}.waiting-indicator{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:16px;margin-top:24px;text-align:center}.waiting-text{font-size:14px;color:#6c757d;margin-bottom:8px}.waiting-progress{font-size:12px;color:#6c757d}.rs-content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;animation:fadeIn .5s ease-out}.rs-round-section{text-align:center;margin-bottom:40px;animation:slideDown .6s ease-out}.rs-round-label{font-size:20px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.rs-round-number{font-size:72px;font-weight:800;color:#2d3748;font-family:Crimson Pro,serif;line-height:1;text-shadow:0 4px 8px rgba(0,0,0,.1);animation:scaleIn .8s ease-out .3s both}.rs-starter-section{text-align:center;margin-bottom:40px;animation:fadeIn .6s ease-out .6s both}.rs-starter-label{font-size:20px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.rs-starter-name{font-size:32px;font-weight:700;color:#4a5568;margin-bottom:8px;font-family:Crimson Pro,serif}.rs-starter-reason{font-size:18px;color:#718096;font-style:italic}.rs-starter-section[data-reason=has_general_red] .rs-starter-reason{color:#e53e3e}.rs-starter-section[data-reason=won_last_turn] .rs-starter-reason{color:#48bb78}.rs-starter-section[data-reason=accepted_redeal] .rs-starter-reason{color:#4299e1}.rs-timer-section{margin-top:20px;animation:fadeIn .6s ease-out .9s both}.rs-general-piece{margin-top:20px;animation:fadeIn .6s ease-out .7s both;display:flex;justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.rs-content:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(66,153,225,.05) 0%,transparent 70%);pointer-events:none;z-index:-1}@media (max-height: 700px){.rs-round-number{font-size:56px}.rs-starter-name{font-size:28px}.rs-starter-reason{font-size:16px}.rs-round-section,.rs-starter-section{margin-bottom:30px}}.dec-game-status-section{flex:1;padding:20px;display:flex;flex-direction:column}.dec-requirement-badge{display:none}.dec-players-list{flex:1;display:flex;flex-direction:column;gap:8px}.dec-player-row{display:flex;align-items:center;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 15% 50%,rgba(255,255,255,.8) 0%,transparent 50%);padding:8px 16px;border-radius:10px;border:1px solid rgba(173,181,189,.15);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000a,inset 0 1px #fff;position:relative}.dec-player-row:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 2px 2px 0;background:transparent;transition:all .3s ease}.dec-player-row.current-turn{border-color:#ffc10766;background:linear-gradient(145deg,#fff8e1,#fffbf0),radial-gradient(circle at 15% 50%,rgba(255,193,7,.1) 0%,transparent 50%);box-shadow:0 3px 8px #ffc1071f,inset 0 1px #fff}.dec-player-row.current-turn:before{background:linear-gradient(180deg,#ffc107,#ff9800)}.dec-player-row.declared{border-color:#28a7454d;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 15% 50%,rgba(255,255,255,.8) 0%,transparent 50%)}.dec-player-row.declared:before{background:linear-gradient(180deg,#28a745,#20c997)}.dec-player-row .player-avatar{margin-right:12px}.dec-player-info{flex:1}.dec-player-name{font-size:14px;font-weight:600;color:#212529;letter-spacing:-.2px}.dec-player-status{text-align:center;min-width:60px}.dec-status-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}.dec-status-badge.current{background:linear-gradient(135deg,#ffc107,#ff9800);color:#212529;border:1px solid rgba(255,193,7,.4)}.dec-status-badge.waiting,.dec-status-badge.pending{background:#6c757d1a;color:#6c757d;border:1px solid rgba(108,117,125,.2)}.dec-declared-value{font-size:16px;font-weight:700;color:#28a745;background:#28a7451a;padding:3px 8px;border-radius:6px;border:1px solid rgba(40,167,69,.3)}.dec-panel{position:absolute;bottom:calc(var(--piece-tray-height, 200px) + 8px);left:0;right:0;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);border:1px solid rgba(173,181,189,.3);border-radius:16px;margin:0 16px;padding:20px;box-shadow:0 4px 20px #adb5bd26,0 0 0 1px #ffffffe6,inset 0 1px #fff;z-index:10;transform:translateY(calc(100% + var(--piece-tray-height, 200px) + 50px));transition:transform .4s cubic-bezier(.4,0,.2,1)}.dec-panel.show{transform:translateY(0)}.dec-panel:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:3px;background:#adb5bd4d;border-radius:2px}.dec-options{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;margin-bottom:16px}.dec-option{padding:10px 4px;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);border:1px solid rgba(173,181,189,.3);border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:14px;font-weight:600;color:#343a40;box-shadow:0 2px 4px #0000000a,inset 0 1px #fff;text-align:center;font-family:var(--font-primary)}.dec-option:disabled,.dec-option.disabled{background:linear-gradient(145deg,#e9ecef,#dee2e6);color:#6c757d;border-color:#adb5bd33;cursor:not-allowed;opacity:.5}.dec-option:disabled:hover,.dec-option.disabled:hover{transform:none;background:linear-gradient(145deg,#e9ecef,#dee2e6);border-color:#adb5bd33;box-shadow:0 2px 4px #0000000a,inset 0 1px #fff}.dec-option:not(:disabled):hover{background:linear-gradient(145deg,#fff8e1,#fffbf0),radial-gradient(circle at 30% 30%,rgba(255,193,7,.1) 0%,transparent 60%);border-color:#ffc10766;transform:translateY(-1px) scale(1.02);box-shadow:0 4px 8px #ffc10726,inset 0 1px #fff}.dec-option.selected{background:linear-gradient(135deg,#ffc107,#ff9800);border-color:#ffc10799;color:#212529;transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px #ffc1074d,inset 0 1px #fffc}.dec-actions{display:flex;gap:8px;justify-content:center}.dec-action-btn{background:linear-gradient(135deg,#28a745,#20c997),radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);color:#fff;border:1px solid rgba(40,167,69,.4);padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #28a74533;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary)}.dec-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.dec-action-btn:disabled{background:linear-gradient(145deg,#e9ecef,#dee2e6);color:#6c757d;border-color:#adb5bd4d;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0000000a,inset 0 1px #fff;opacity:.7}.dec-action-btn.secondary{background:linear-gradient(135deg,#6c757d,#495057),radial-gradient(circle at 30% 30%,rgba(255,255,255,.1) 0%,transparent 60%);border-color:#6c757d66;box-shadow:0 2px 4px #6c757d33}.dec-action-btn.secondary:hover{box-shadow:0 4px 8px #6c757d4d}@media (max-height: 700px){.dec-option{padding:10px 4px;font-size:14px}}:root{--border-color-gray: rgba(173, 181, 189, .3);--border-color-gray-dark: rgba(173, 181, 189, .7);--piece-color-red: #dc3545;--piece-color-black: #495057;--status-color-active: rgba(255, 193, 7, .6);--status-color-played: rgba(40, 167, 69, .6);--status-color-current: rgba(13, 110, 253, .3)}.turn-indicator{position:absolute;top:20px;right:20px;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);padding:8px 16px;border-radius:16px;border:1px solid var(--border-color-gray);box-shadow:0 4px 12px #00000014,inset 0 1px #fff;font-weight:700;font-size:14px;z-index:1000;color:#343a40;letter-spacing:.5px}.turn-phase-info{text-align:center;margin-bottom:20px}.turn-play-type{color:#ff6b35;font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(255,107,53,.2);animation:flipIn .6s ease-out;margin-bottom:10px}@keyframes flipIn{0%{opacity:0;transform:rotateX(-90deg);color:#343a40}50%{opacity:.8;transform:rotateX(-30deg);text-shadow:0 4px 12px rgba(255,107,53,.3)}to{opacity:1;transform:rotateX(0);color:#ff6b35;text-shadow:0 2px 4px rgba(255,107,53,.2)}}.turn-table-section{flex:1;padding:8px;position:relative;display:flex;flex-direction:column}.turn-table-layout{position:relative;flex:1;min-height:260px;padding:8px}.turn-central-table{position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);width:270px;height:270px;background:radial-gradient(ellipse at center,#d4a574,#bc9a6a),linear-gradient(135deg,#deb887,#cdaa7d);border:3px solid #8b6f47;border-radius:12px;box-shadow:0 8px 24px #0000004d,inset 0 2px 4px #fff8dc4d,inset 0 -2px 4px #8b6f4780,0 0 0 1px #cdaa7d4d;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.turn-table-wood-grain{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.1) 2px,rgba(139,111,71,.1) 4px),repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(139,111,71,.05) 40px,rgba(139,111,71,.05) 80px);pointer-events:none;opacity:.7;z-index:0;border-radius:10px}.turn-central-table:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(139,111,71,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(139,111,71,.2) 1px,transparent 1px),radial-gradient(circle at center,transparent 40%,rgba(139,111,71,.1) 100%);background-size:30px 30px,30px 30px,100% 100%;border-radius:10px;pointer-events:none}.turn-current-pile{position:relative;z-index:10}.turn-pile-label{font-size:12px;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px;text-align:center}.turn-pile-display{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;max-width:180px}.turn-empty-pile{width:80px;height:80px;border:2px dashed var(--border-color-gray);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6c757d;background:#f8f9fa80}.turn-player-pieces-area{position:absolute;display:grid;gap:3px}.turn-player-pieces-area.top{top:15px;left:50%;transform:translate(-50%);grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);max-width:170px;justify-items:center}.turn-player-pieces-area.bottom{bottom:15px;left:50%;transform:translate(-50%);grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);max-width:170px;justify-items:center}.turn-player-pieces-area.left{left:15px;top:50%;transform:translateY(-50%);grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);max-height:170px;justify-items:center}.turn-player-pieces-area.right{right:15px;top:50%;transform:translateY(-50%);grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);max-height:170px;justify-items:center}.turn-player-pieces-area.single-line.top,.turn-player-pieces-area.single-line.bottom{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}.turn-player-pieces-area.single-line.left,.turn-player-pieces-area.single-line.right{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}.turn-player-summary-bar{position:absolute;background:linear-gradient(145deg,#faf8f5,#f5f0e8);border:1px solid var(--border-color-gray);border-radius:8px;padding:6px 10px;box-shadow:0 3px 8px #0000001f,0 1px 3px #00000014,inset 0 1px #ffffffe6,inset 0 -1px 2px #0000001a,inset 1px 0 1px #ffffff80,inset -1px 0 1px #0000000d;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .3s ease}.turn-player-summary-bar.top{top:20px;left:50%;transform:translate(-50%);min-width:140px}.turn-player-summary-bar.left{left:-45px;top:58%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;min-width:140px}.turn-player-summary-bar.right{right:-45px;top:58%;transform:translateY(-50%) rotate(90deg);transform-origin:center;min-width:140px}.turn-player-summary-bar.active{background:linear-gradient(145deg,#fffaf0,#fff5e6);border:1px solid var(--status-color-active);box-shadow:0 3px 12px #ffc10740,0 1px 4px #ffc10726,inset 0 1px #fffffff2,inset 0 -1px 2px #ffc10733,inset 1px 0 1px #fff8dc99,inset -1px 0 1px #ffc1071a}.turn-player-summary-bar.played{background:linear-gradient(145deg,#f5f8f0,#f0f5e8);border:1px solid var(--status-color-played);box-shadow:0 3px 10px #28a74526,0 1px 3px #28a7451a,inset 0 1px #ffffffe6,inset 0 -1px 2px #28a74526,inset 1px 0 1px #dcf8dc80,inset -1px 0 1px #28a7450d}.turn-player-summary-bar.current-user{border:2px solid var(--status-color-current);box-shadow:0 3px 10px #0d6efd33,0 1px 3px #0d6efd26,0 0 0 1px #0d6efd1a,inset 0 1px #fffffff2,inset 0 -1px 2px #0d6efd1a,inset 1px 0 1px #dcedff80,inset -1px 0 1px #0d6efd0d}.turn-player-summary-content{display:flex;align-items:center;gap:6px;flex:1}.turn-player-name-short{font-size:10px;font-weight:600;color:#343a40;white-space:nowrap}.turn-player-stats-compact{display:flex;align-items:center;gap:3px;white-space:nowrap}.turn-stat-number{font-size:11px;font-weight:700;color:#343a40}.turn-stat-separator{font-size:9px;color:#6c757d}.turn-status-icons{display:flex;gap:2px;justify-content:center}.turn-status-icon{width:8px;height:8px;border-radius:50%;display:inline-block;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);border:1px solid var(--border-color-gray-dark);box-shadow:0 1px 2px #0000000f}.pile-status-none{color:#007bff}.pile-status-perfect{color:#28a745}.pile-status-over{color:var(--piece-color-red)}.pile-status-under{color:#6c757d}.turn-confirm-panel{position:absolute;bottom:202px;left:0;right:0;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);border:1px solid var(--border-color-gray);border-radius:16px;margin:0 16px;padding:16px 20px;box-shadow:0 4px 20px #0000001a,0 0 0 1px #ffffffe6,inset 0 1px #fff;z-index:10;transform:translateY(calc(100% + 20px));transition:transform .4s cubic-bezier(.4,0,.2,1)}.turn-confirm-panel.show{transform:translateY(0)}.turn-confirm-panel:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--border-color-gray);border-radius:2px}.turn-selection-info{text-align:center;margin-bottom:12px}.turn-selection-count{font-size:14px;color:#28a745;font-weight:600}.turn-action-buttons{display:flex;gap:8px;justify-content:center}.turn-action-button{background:linear-gradient(135deg,#28a745,#20c997),radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);color:#fff;border:1px solid rgba(40,167,69,.4);padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #28a74533;text-transform:uppercase;letter-spacing:.5px;font-family:Plus Jakarta Sans,sans-serif}.turn-action-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.turn-action-button.secondary{background:linear-gradient(135deg,#6c757d,#495057),radial-gradient(circle at 30% 30%,rgba(255,255,255,.1) 0%,transparent 60%);border-color:#6c757d66;box-shadow:0 2px 4px #6c757d33}.turn-action-button.secondary:hover{box-shadow:0 4px 8px #6c757d4d}.turn-action-button:disabled{background:linear-gradient(135deg,#e9ecef,#dee2e6);color:#6c757d;border-color:var(--border-color-gray);cursor:not-allowed;opacity:.6}.turn-action-button:disabled:hover{transform:none;box-shadow:0 2px 4px #6c757d1a}.turn-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999;pointer-events:none}.turn-overlay-text{font-size:48px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-shadow:-1px -1px 0 #718096,1px -1px 0 #718096,-1px 1px 0 #718096,1px 1px 0 #718096,0 2px 4px rgba(0,0,0,.2);animation:scaleIn .4s ease-out both,fadeOut .4s ease-out .8s both}@keyframes scaleIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media (max-height: 700px){.turn-central-table{width:270px;height:270px}}.tr-winner-section{padding:20px;text-align:center}.tr-winner-announcement{background:linear-gradient(145deg,#fff8e1,#fffbf0),radial-gradient(circle at 30% 30%,rgba(255,193,7,.1) 0%,transparent 60%);border:1px solid rgba(255,193,7,.3);border-radius:16px;padding:12px;box-shadow:0 8px 24px #ffc10726,inset 0 1px #fff;position:relative;overflow:hidden;animation:slideAndScale .8s ease-out}.tr-winner-announcement:before{content:"\2728";position:absolute;top:-20px;left:-20px;font-size:48px;opacity:.1;transform:rotate(-15deg)}.tr-winner-announcement:after{content:"\1f389";position:absolute;bottom:-20px;right:-20px;font-size:48px;opacity:.1;transform:rotate(15deg)}.tr-crown-icon{font-size:28px;margin-bottom:8px;animation:bounce 1s ease-in-out infinite}.tr-winner-name{font-family:var(--font-serif);font-size:20px;font-weight:700;color:#f57f17;margin-bottom:4px}.tr-winning-play{margin-top:12px;background:#fffc;border-radius:12px;padding:10px;border:1px solid rgba(255,193,7,.2)}.tr-play-label{font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.tr-winning-pieces{display:flex;justify-content:center;gap:6px;margin-bottom:8px}.tr-players-summary{padding:20px}.tr-player-list{display:flex;flex-direction:column;gap:8px}.tr-player-row{display:flex;align-items:stretch;justify-content:space-between;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 15% 50%,rgba(255,255,255,.8) 0%,transparent 50%);padding:12px 16px;border-radius:10px;border:1px solid rgba(173,181,189,.15);box-shadow:0 2px 6px #0000000a,inset 0 1px #fff;animation:fadeIn .6s ease-out;animation-fill-mode:both;height:96px;transition:all .2s ease}.tr-player-row.winner{background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 15% 50%,rgba(255,255,255,.8) 0%,transparent 50%);border:2px solid rgba(76,175,80,.5);box-shadow:0 2px 6px #0000000a,inset 0 1px #fff;padding:11px 15px}.tr-player-row:nth-child(1){animation-delay:.1s}.tr-player-row:nth-child(2){animation-delay:.2s}.tr-player-row:nth-child(3){animation-delay:.3s}.tr-player-row:nth-child(4){animation-delay:.4s}.tr-player-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,transparent 60%);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;margin-right:12px;border:2px solid rgba(173,181,189,.3);box-shadow:0 2px 4px #0000000f,inset 0 1px #fff;color:#495057}.tr-player-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:4px 0;position:relative}.tr-player-name{font-size:16px;font-weight:600;color:#212529;line-height:1.3}.tr-player-piles{font-size:12px;color:#6c757d;font-weight:500;margin-top:2px}.tr-player-piles.pile-status-none{color:#007bff}.tr-player-piles.pile-status-perfect{color:#28a745}.tr-player-piles.pile-status-over{color:#dc3545}.tr-player-piles.pile-status-under{color:#6c757d}.tr-winner-badge{background-color:#4caf50;color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;position:absolute;top:1.5em;left:0;width:-moz-fit-content;width:fit-content}.tr-played-pieces{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex:0 0 auto;min-width:280px;max-width:400px;height:68px;position:relative;z-index:1;margin-left:-100px}.tr-played-pieces.two-rows{flex-direction:column;justify-content:center;align-items:flex-end;gap:4px}.pieces-row{display:flex;gap:6px;justify-content:flex-end}.tr-played-piece{position:relative}.tr-played-piece.game-piece--table:not(.flipped){transform:rotateY(0)}.tr-played-piece.game-piece--table.flipped{animation:pieceEntranceFlip .6s ease-out forwards;animation-fill-mode:both}.tr-pass-indicator{font-size:12px;color:#6c757d;font-style:italic}.tr-next-turn-info{background:linear-gradient(180deg,#f8f9fa99,#e9ecefcc),radial-gradient(ellipse 100% 60% at 50% 0%,rgba(173,181,189,.1) 0%,transparent 100%);padding:20px;border-top:1px solid rgba(173,181,189,.2);text-align:center;position:relative;margin-top:auto}.tr-next-turn-info:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,#6c757d,transparent)}.tr-next-starter{font-size:16px;font-weight:600;color:#343a40;margin-bottom:8px}.tr-auto-continue{font-size:12px;color:#6c757d}@keyframes slideAndScale{0%{opacity:0;transform:scale(.9) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-height: 700px){.tr-winner-announcement{padding:12px}.tr-crown-icon{font-size:28px}.tr-winner-name{font-size:20px}}.sc-scoring-section{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px;overflow:auto}.sc-score-card{background:linear-gradient(145deg,#fff,#f8f9fa),radial-gradient(circle at 15% 50%,rgba(255,255,255,.8) 0%,transparent 50%);border:1px solid rgba(173,181,189,.3);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 6px #0000000a,inset 0 1px #fff;position:relative;transition:all .3s ease;margin-bottom:6px;animation:fadeIn .6s ease-out;animation-fill-mode:both}.sc-score-card:nth-child(1){animation-delay:.1s}.sc-score-card:nth-child(2){animation-delay:.2s}.sc-score-card:nth-child(3){animation-delay:.3s}.sc-score-card:nth-child(4){animation-delay:.4s}.sc-top-row{display:flex;align-items:center;justify-content:space-between}.sc-player-info{display:flex;align-items:center;gap:12px;flex:1}.sc-player-name{font-size:14px;font-weight:600;color:#212529;white-space:nowrap}.sc-total-score{display:flex;align-items:center;gap:4px}.sc-total-label{font-size:12px;font-weight:600;color:#6c757d}.sc-total-value{font-size:20px;font-weight:900;text-align:center;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.1);padding:3px 6px;border-radius:4px}.sc-total-value.positive{color:#28a745;background:linear-gradient(135deg,#28a7451a,#20c9971a);border:1px solid rgba(40,167,69,.2)}.sc-total-value.negative{color:#dc3545;background:linear-gradient(135deg,#dc35451a,#c823331a);border:1px solid rgba(220,53,69,.2)}.sc-total-value.neutral{color:#6c757d;background:linear-gradient(135deg,#6c757d1a,#adb5bd1a);border:1px solid rgba(108,117,125,.2)}.sc-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sc-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.sc-stat-label{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:#6c757d}.sc-stat-value{font-size:11px;font-weight:700;padding:2px 4px;border-radius:4px;text-align:center;min-width:30px}.sc-target{flex-direction:column;align-items:flex-start;min-width:40px}.sc-target-value{font-size:12px;font-weight:700;color:#343a40}.sc-stat-value.positive{background:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.3)}.sc-stat-value.negative{background:#dc35451a;color:#dc3545;border:1px solid rgba(220,53,69,.3)}.sc-stat-value.neutral{background:#6c757d1a;color:#6c757d;border:1px solid rgba(108,117,125,.3)}.sc-stat-value.special,.sc-stat-value.value-blue{background:#007bff1a;color:#007bff;border:1px solid rgba(0,123,255,.3)}.sc-stat-value.value-positive{background:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.3)}.sc-stat-value.value-negative{background:#dc35451a;color:#dc3545;border:1px solid rgba(220,53,69,.3)}.sc-stat-value.value-neutral{background:#6c757d1a;color:#6c757d;border:1px solid rgba(108,117,125,.3)}.sc-target-value.value-positive{background:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.3);padding:2px 4px;border-radius:4px}.sc-target-value.value-negative{background:#dc35451a;color:#dc3545;border:1px solid rgba(220,53,69,.3);padding:2px 4px;border-radius:4px}.sc-target-value.value-blue{background:#007bff1a;color:#007bff;border:1px solid rgba(0,123,255,.3);padding:2px 4px;border-radius:4px}.sc-multiplier{font-size:10px;font-weight:700;color:#6f42c1;background:#6f42c11a;padding:2px 6px;border-radius:4px;border:1px solid rgba(111,66,193,.3)}.sc-continue-section{background:linear-gradient(180deg,#f8f9fa99,#e9ecefcc),radial-gradient(ellipse 100% 60% at 50% 0%,rgba(173,181,189,.1) 0%,transparent 100%);padding:16px;border-top:1px solid rgba(173,181,189,.2);position:relative}.sc-continue-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,#6c757d,transparent)}.sc-continue-info{text-align:center}.sc-next-round{font-size:14px;font-weight:600;color:#343a40;margin-bottom:4px}.sc-auto-continue{font-size:12px;color:#6c757d}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-height: 700px){.sc-score-card{padding:8px;margin-bottom:4px}.sc-total-value{font-size:18px}}@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-300: oklch(80.8% .114 19.571);--color-red-400: oklch(70.4% .191 22.216);--color-red-500: oklch(63.7% .237 25.331);--color-red-600: oklch(57.7% .245 27.325);--color-red-700: oklch(50.5% .213 27.518);--color-red-800: oklch(44.4% .177 26.899);--color-amber-50: oklch(98.7% .022 95.277);--color-amber-200: oklch(92.4% .12 95.746);--color-amber-900: oklch(41.4% .112 45.904);--color-yellow-50: oklch(98.7% .026 102.212);--color-yellow-100: oklch(97.3% .071 103.193);--color-yellow-200: oklch(94.5% .129 101.54);--color-yellow-300: oklch(90.5% .182 98.111);--color-yellow-400: oklch(85.2% .199 91.936);--color-yellow-500: oklch(79.5% .184 86.047);--color-yellow-800: oklch(47.6% .114 61.907);--color-yellow-900: oklch(42.1% .095 57.708);--color-green-50: oklch(98.2% .018 155.826);--color-green-200: oklch(92.5% .084 155.995);--color-green-400: oklch(79.2% .209 151.711);--color-green-500: oklch(72.3% .219 149.579);--color-green-600: oklch(62.7% .194 149.214);--color-green-700: oklch(52.7% .154 150.069);--color-green-800: oklch(44.8% .119 151.328);--color-blue-50: oklch(97% .014 254.604);--color-blue-100: oklch(93.2% .032 255.585);--color-blue-200: oklch(88.2% .059 254.128);--color-blue-300: oklch(80.9% .105 251.813);--color-blue-400: oklch(70.7% .165 254.624);--color-blue-500: oklch(62.3% .214 259.815);--color-blue-600: oklch(54.6% .245 262.881);--color-blue-700: oklch(48.8% .243 264.376);--color-blue-800: oklch(42.4% .199 265.638);--color-blue-900: oklch(37.9% .146 265.522);--color-purple-50: oklch(97.7% .014 308.299);--color-purple-100: oklch(94.6% .033 307.174);--color-purple-400: oklch(71.4% .203 305.504);--color-purple-900: oklch(38.1% .176 304.987);--color-gray-50: oklch(98.5% .002 247.839);--color-gray-100: oklch(96.7% .003 264.542);--color-gray-200: oklch(92.8% .006 264.531);--color-gray-300: oklch(87.2% .01 258.338);--color-gray-400: oklch(70.7% .022 261.325);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-gray-700: oklch(37.3% .034 259.733);--color-gray-800: oklch(27.8% .033 256.848);--color-gray-900: oklch(21% .034 264.665);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-2xl: 42rem;--container-4xl: 56rem;--container-7xl: 80rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--text-6xl: 3.75rem;--text-6xl--line-height: 1;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm: 8px;--blur-md: 12px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::-moz-placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.-top-2{top:calc(var(--spacing) * -2)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.-right-1{right:calc(var(--spacing) * -1)}.-right-2{right:calc(var(--spacing) * -2)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-\[10px\]{margin-top:10px}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-\[5px\]{margin-bottom:5px}.mb-\[10px\]{margin-bottom:10px}.mb-\[15px\]{margin-bottom:15px}.mb-\[30px\]{margin-bottom:30px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-\[30px\]{height:30px}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(90vh-theme\(spacing\.16\)\)\]{max-height:calc(90vh - 4rem)}.min-h-\[120px\]{min-height:120px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-\[30px\]{width:30px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[100px\]{max-width:100px}.max-w-\[1400px\]{max-width:1400px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-\[300px\]{min-width:300px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-100{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-105{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[10px\]{gap:10px}.gap-\[15px\]{gap:15px}.gap-\[30px\]{gap:30px}.space-y-1{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-2{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-3{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-4{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-5{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}}.space-x-2{:where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-none{--tw-border-style: none;border-style:none}.border-\[\#27ae60\]{border-color:#27ae60}.border-\[\#333\]{border-color:#333}.border-\[\#444\]{border-color:#444}.border-\[\#3498db\]{border-color:#3498db}.border-\[\#34495e\]{border-color:#34495e}.border-\[\#e74c3c\]{border-color:#e74c3c}.border-\[\#f39c12\]{border-color:#f39c12}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-current{border-color:currentcolor}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-green-200{border-color:var(--color-green-200)}.border-purple-400{border-color:var(--color-purple-400)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-500\/30{border-color:color-mix(in srgb,oklch(63.7% .237 25.331) 30%,transparent);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-transparent{border-color:transparent}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-400{border-color:var(--color-yellow-400)}.border-t-blue-600{border-top-color:var(--color-blue-600)}.border-t-transparent{border-top-color:transparent}.border-l-blue-400{border-left-color:var(--color-blue-400)}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-\[\#1a1a1a\]{background-color:#1a1a1a}.bg-\[\#2a2a2a\]{background-color:#2a2a2a}.bg-\[\#8b5cf6\]{background-color:#8b5cf6}.bg-\[\#27ae60\]{background-color:#27ae60}.bg-\[\#27ae60\]\/10{background-color:color-mix(in oklab,#27ae60 10%,transparent)}.bg-\[\#3498db\]{background-color:#3498db}.bg-\[\#34495e\]\/20{background-color:color-mix(in oklab,#34495e 20%,transparent)}.bg-\[\#e74c3c\]{background-color:#e74c3c}.bg-\[\#e74c3c\]\/20{background-color:color-mix(in oklab,#e74c3c 20%,transparent)}.bg-\[\#f39c12\]{background-color:#f39c12}.bg-black{background-color:var(--color-black)}.bg-black\/30{background-color:color-mix(in srgb,#000 30%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/20{background-color:color-mix(in srgb,oklch(63.7% .237 25.331) 20%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:color-mix(in srgb,#fff 5%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/10{background-color:color-mix(in srgb,#fff 10%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position: to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position: to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#1a1a1a\]{--tw-gradient-from: #1a1a1a;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#2a2a2a\]{--tw-gradient-from: #2a2a2a;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from: var(--color-blue-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from: var(--color-blue-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-900{--tw-gradient-from: var(--color-blue-900);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from: var(--color-gray-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-200{--tw-gradient-from: var(--color-gray-200);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-green-600{--tw-gradient-from: var(--color-green-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-50{--tw-gradient-from: var(--color-purple-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-600{--tw-gradient-from: var(--color-red-600);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white{--tw-gradient-from: var(--color-white);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-yellow-50{--tw-gradient-from: var(--color-yellow-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#1a1a1a\]{--tw-gradient-to: #1a1a1a;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#2a2a2a\]{--tw-gradient-to: #2a2a2a;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-100{--tw-gradient-to: var(--color-blue-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-700{--tw-gradient-to: var(--color-blue-700);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-50{--tw-gradient-to: var(--color-gray-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to: var(--color-gray-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-300{--tw-gradient-to: var(--color-gray-300);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-green-700{--tw-gradient-to: var(--color-green-700);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-100{--tw-gradient-to: var(--color-purple-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-900{--tw-gradient-to: var(--color-purple-900);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-red-700{--tw-gradient-to: var(--color-red-700);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-100{--tw-gradient-to: var(--color-yellow-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[5px\]{padding:5px}.p-\[10px\]{padding:10px}.p-\[15px\]{padding:15px}.p-\[25px\]{padding:25px}.p-\[30px\]{padding:30px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[15px\]{padding-inline:15px}.px-\[30px\]{padding-inline:30px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-\[2px\]{padding-block:2px}.py-\[5px\]{padding-block:5px}.pt-\[10px\]{padding-top:10px}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[15px\]{padding-bottom:15px}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading, var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[32px\]{font-size:32px}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#27ae60\]{color:#27ae60}.text-\[\#95a5a6\]{color:#95a5a6}.text-\[\#666\]{color:#666}.text-\[\#999\]{color:#999}.text-\[\#3498db\]{color:#3498db}.text-\[\#ccc\]{color:#ccc}.text-\[\#e74c3c\]{color:#e74c3c}.text-\[\#f0f0f0\]{color:#f0f0f0}.text-blue-200{color:var(--color-blue-200)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-800{color:var(--color-green-800)}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-25{opacity:25%}.opacity-50{opacity:50%}.opacity-75{opacity:75%}.opacity-80{opacity:80%}.shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(243\,156\,18\,0\.3\)\]{--tw-shadow: 0 0 20px var(--tw-shadow-color, rgba(243,156,18,.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: 0 4px 20px var(--tw-shadow-color, rgba(0,0,0,.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color: color-mix(in srgb, oklch(62.3% .214 259.815) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-blue-500\/25{--tw-shadow-color: color-mix(in srgb, oklch(62.3% .214 259.815) 25%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-gray-400\/10{--tw-shadow-color: color-mix(in srgb, oklch(70.7% .022 261.325) 10%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-400) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-gray-400\/25{--tw-shadow-color: color-mix(in srgb, oklch(70.7% .022 261.325) 25%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-400) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-green-500\/25{--tw-shadow-color: color-mix(in srgb, oklch(72.3% .219 149.579) 25%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-purple-400\/20{--tw-shadow-color: color-mix(in srgb, oklch(71.4% .203 305.504) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-purple-400) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/25{--tw-shadow-color: color-mix(in srgb, oklch(63.7% .237 25.331) 25%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-yellow-400\/20{--tw-shadow-color: color-mix(in srgb, oklch(85.2% .199 91.936) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-yellow-400) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-blue-300\/50{--tw-ring-color: color-mix(in srgb, oklch(80.9% .105 251.813) 50%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-blue-300) 50%, transparent)}}.ring-yellow-300\/50{--tw-ring-color: color-mix(in srgb, oklch(90.5% .182 98.111) 50%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-yellow-300) 50%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur: blur(var(--blur-md));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.duration-500{--tw-duration: .5s;transition-duration:.5s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.last\:border-0{&:last-child{border-style:var(--tw-border-style);border-width:0px}}.hover\:scale-105{&:hover{@media (hover: hover){--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.hover\:border-blue-700{&:hover{@media (hover: hover){border-color:var(--color-blue-700)}}}.hover\:border-gray-400{&:hover{@media (hover: hover){border-color:var(--color-gray-400)}}}.hover\:bg-\[\#3498db\]\/80{&:hover{@media (hover: hover){background-color:color-mix(in oklab,#3498db 80%,transparent)}}}.hover\:bg-blue-50{&:hover{@media (hover: hover){background-color:var(--color-blue-50)}}}.hover\:bg-blue-700{&:hover{@media (hover: hover){background-color:var(--color-blue-700)}}}.hover\:bg-gray-100{&:hover{@media (hover: hover){background-color:var(--color-gray-100)}}}.hover\:bg-gray-400{&:hover{@media (hover: hover){background-color:var(--color-gray-400)}}}.hover\:bg-red-600{&:hover{@media (hover: hover){background-color:var(--color-red-600)}}}.hover\:from-blue-700{&:hover{@media (hover: hover){--tw-gradient-from: var(--color-blue-700);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:from-gray-100{&:hover{@media (hover: hover){--tw-gradient-from: var(--color-gray-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:from-gray-300{&:hover{@media (hover: hover){--tw-gradient-from: var(--color-gray-300);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:from-green-700{&:hover{@media (hover: hover){--tw-gradient-from: var(--color-green-700);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:from-red-700{&:hover{@media (hover: hover){--tw-gradient-from: var(--color-red-700);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:to-blue-800{&:hover{@media (hover: hover){--tw-gradient-to: var(--color-blue-800);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:to-gray-200{&:hover{@media (hover: hover){--tw-gradient-to: var(--color-gray-200);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:to-gray-400{&:hover{@media (hover: hover){--tw-gradient-to: var(--color-gray-400);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:to-green-800{&:hover{@media (hover: hover){--tw-gradient-to: var(--color-green-800);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:to-red-800{&:hover{@media (hover: hover){--tw-gradient-to: var(--color-red-800);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}}}.hover\:text-gray-500{&:hover{@media (hover: hover){color:var(--color-gray-500)}}}.hover\:text-gray-700{&:hover{@media (hover: hover){color:var(--color-gray-700)}}}.hover\:text-white{&:hover{@media (hover: hover){color:var(--color-white)}}}.hover\:shadow-lg{&:hover{@media (hover: hover){--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.hover\:shadow-gray-300\/50{&:hover{@media (hover: hover){--tw-shadow-color: color-mix(in srgb, oklch(87.2% .01 258.338) 50%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-300) 50%, transparent) var(--tw-shadow-alpha), transparent)}}}}.focus\:border-blue-500{&:focus{border-color:var(--color-blue-500)}}.focus\:border-red-500{&:focus{border-color:var(--color-red-500)}}.focus\:ring-2{&:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-blue-200{&:focus{--tw-ring-color: var(--color-blue-200)}}.focus\:ring-blue-500{&:focus{--tw-ring-color: var(--color-blue-500)}}.focus\:ring-gray-500{&:focus{--tw-ring-color: var(--color-gray-500)}}.focus\:ring-green-500{&:focus{--tw-ring-color: var(--color-green-500)}}.focus\:ring-red-200{&:focus{--tw-ring-color: var(--color-red-200)}}.focus\:ring-red-500{&:focus{--tw-ring-color: var(--color-red-500)}}.focus\:ring-offset-2{&:focus{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}}.focus\:outline-none{&:focus{--tw-outline-style: none;outline-style:none}}.active\:scale-95{&:active{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.disabled\:pointer-events-none{&:disabled{pointer-events:none}}.disabled\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.disabled\:bg-gray-100{&:disabled{background-color:var(--color-gray-100)}}.disabled\:opacity-50{&:disabled{opacity:50%}}.disabled\:hover\:scale-100{&:disabled{&:hover{@media (hover: hover){--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}}.disabled\:hover\:shadow-none{&:disabled{&:hover{@media (hover: hover){--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}}.md\:grid-cols-2{@media (width >= 48rem){grid-template-columns:repeat(2,minmax(0,1fr))}}.md\:grid-cols-4{@media (width >= 48rem){grid-template-columns:repeat(4,minmax(0,1fr))}}.lg\:grid-cols-4{@media (width >= 64rem){grid-template-columns:repeat(4,minmax(0,1fr))}}}@layer base{*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;background:linear-gradient(135deg,#f8f9fa,#e9ecef,#dee2e6,#ced4da,#adb5bd),radial-gradient(circle at 30% 20%,rgba(255,193,7,.1) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(13,110,253,.05) 0%,transparent 50%);color:#212529;height:100%;overflow-x:hidden}#root{height:100%;min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2563eb}}@layer components{.simple-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid #e5e7eb;padding:1rem}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-space-x-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-space-x-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial}}}.go-content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:20px;position:relative;overflow:hidden}.go-confetti-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.go-confetti{position:absolute;width:10px;height:10px;background:#ff6b6b;animation:confetti-fall 3s ease-out infinite}.go-confetti.color-1{background:#ff6b6b}.go-confetti.color-2{background:#4ecdc4}.go-confetti.color-3{background:#45b7d1}.go-confetti.color-4{background:#f9ca24}.go-confetti.color-5{background:#6c5ce7}.go-confetti.color-6{background:#a29bfe}.go-confetti.size-small{width:8px;height:8px}.go-confetti.size-medium{width:10px;height:10px}.go-confetti.size-large{width:12px;height:12px}.go-trophy-container{margin-top:20px;display:flex;flex-direction:column;align-items:center;z-index:10;animation:bounceIn .6s ease-out}.go-trophy{font-size:56px;line-height:1;animation:trophy-glow 2s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(255,215,0,.3))}@keyframes trophy-glow{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.go-winner-section{margin-top:16px;text-align:center;animation:slideIn .8s ease-out .3s both}.go-winner-name{font-family:Crimson Pro,serif;font-size:28px;font-weight:700;color:#2d3748;text-shadow:2px 2px 4px rgba(0,0,0,.1);margin-bottom:6px}.go-winner-subtitle{font-size:16px;color:#718096;font-weight:500}.go-rankings-container{width:100%;max-width:320px;margin-top:20px}.go-rankings-title{font-size:18px;font-weight:600;color:#2d3748;text-align:center;margin-bottom:12px}.go-rankings{display:flex;flex-direction:column;gap:8px}.go-rank-item{background:#fff;border-radius:8px;padding:12px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #00000014;opacity:0;animation:slideIn .5s ease-out forwards}.go-rank-item:nth-child(1){animation-delay:.6s}.go-rank-item:nth-child(2){animation-delay:.8s}.go-rank-item:nth-child(3){animation-delay:1s}.go-rank-item:nth-child(4){animation-delay:1.2s}.go-rank-position{font-size:18px;font-weight:700;color:#a0aec0;min-width:28px}.go-medal{font-size:24px;animation:medal-shine 2s ease-in-out infinite}@keyframes medal-shine{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(10deg)}}.go-player-info{flex:1;display:flex;flex-direction:column;gap:4px}.go-player-name{font-size:14px;font-weight:600;color:#2d3748}.go-player-score{font-size:12px;color:#718096}.go-final-score{font-size:20px;font-weight:700;color:#2d3748;text-align:right}.go-stats{margin-top:20px;background:#fffc;border-radius:12px;padding:16px;text-align:center;max-width:320px;box-shadow:0 2px 8px #00000014}.go-stats-title{font-size:16px;font-weight:600;color:#2d3748;margin-bottom:12px}.go-stat-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0}.go-stat-item:last-child{border-bottom:none}.go-stat-label{font-size:14px;color:#718096}.go-stat-value{font-size:14px;font-weight:600;color:#2d3748}.go-actions{margin-top:20px;display:flex;gap:12px;z-index:10}.go-action-button{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.go-action-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.go-action-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.go-action-button.secondary{background:#fff;color:#4a5568;border:2px solid #e2e8f0}.go-action-button.secondary:hover{background:#f7fafc;border-color:#cbd5e0}@keyframes confetti-fall{0%{transform:translateY(-20px) translate(0) rotate(0);opacity:1}25%{transform:translateY(25vh) translate(10px) rotate(180deg);opacity:1}50%{transform:translateY(50vh) translate(-5px) rotate(360deg);opacity:1}75%{transform:translateY(75vh) translate(15px) rotate(540deg);opacity:.8}to{transform:translateY(100vh) translate(-10px) rotate(720deg);opacity:0}}@media (max-height: 700px){.go-trophy{font-size:48px}.go-winner-name{font-size:24px}.go-rank-item{padding:10px}.go-stats{margin-top:16px;padding:12px}}.toast-container{position:fixed;z-index:9999;pointer-events:none;padding:16px;display:flex;flex-direction:column;gap:12px}.toast-container--top-right{top:0;right:0;align-items:flex-end}.toast-container--top-left{top:0;left:0;align-items:flex-start}.toast-container--bottom-right{bottom:0;right:0;align-items:flex-end}.toast-container--bottom-left{bottom:0;left:0;align-items:flex-start}.toast-wrapper{pointer-events:auto;animation:slideIn .3s ease-out forwards}.toast-notification{position:relative;display:flex;align-items:flex-start;gap:12px;min-width:300px;max-width:400px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;animation:toastEnter .3s ease-out}.toast-icon{font-size:20px;flex-shrink:0}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:14px;margin-bottom:4px;color:#1f2937}.toast-message{font-size:14px;color:#6b7280;word-wrap:break-word}.toast-close{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:20px;color:#9ca3af;cursor:pointer;transition:all .2s ease;border-radius:4px}.toast-close:hover{background:#0000000d;color:#6b7280}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.2;animation:progress linear forwards}.toast--info{border-left:4px solid #3b82f6}.toast--info .toast-progress{color:#3b82f6}.toast--success{border-left:4px solid #10b981}.toast--success .toast-progress{color:#10b981}.toast--warning{border-left:4px solid #f59e0b}.toast--warning .toast-progress{color:#f59e0b}.toast--error{border-left:4px solid #ef4444}.toast--error .toast-progress{color:#ef4444}.toast--disconnect{border-left:4px solid #dc2626;background:#fef2f2}.toast--disconnect .toast-title,.toast--disconnect .toast-progress{color:#dc2626}.toast--reconnect{border-left:4px solid #059669;background:#f0fdf4}.toast--reconnect .toast-title,.toast--reconnect .toast-progress{color:#059669}.toast--ai{border-left:4px solid #6366f1;background:#f5f3ff}.toast--ai .toast-title,.toast--ai .toast-progress{color:#6366f1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastEnter{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes progress{0%{width:100%}to{width:0%}}.toast-wrapper:not(:last-child){margin-bottom:-8px}.toast-wrapper:not(:last-child) .toast-notification{transform:scale(.95);opacity:.9}@media (prefers-color-scheme: dark){.toast-notification{background:#1f2937;color:#f3f4f6}.toast-title{color:#f3f4f6}.toast-message{color:#d1d5db}.toast-close{color:#6b7280}.toast-close:hover{background:#ffffff1a;color:#d1d5db}}.play-history-page{min-height:100vh;background-color:#0a0a0a;color:#fff;padding:20px}.play-history-page .container{max-width:1400px;margin:0 auto}.play-history-page .header{margin-bottom:40px}.play-history-page .back-link{display:inline-block;color:#3498db;text-decoration:none;margin-bottom:20px;transition:color .3s}.play-history-page .back-link:hover{color:#2980b9}.play-history-page h1{font-size:36px;margin-bottom:10px}.play-history-page .content{background-color:#1a1a1a;border-radius:12px;padding:40px;box-shadow:0 4px 20px #00000080}.play-history-page .placeholder-message{text-align:center;max-width:600px;margin:0 auto}.play-history-page .placeholder-message h2{font-size:28px;margin-bottom:20px;color:#3498db}.play-history-page .placeholder-message ul{list-style:none;padding:0;margin:30px 0}.play-history-page .placeholder-message li{padding:10px 0;font-size:18px;color:#ccc}.play-history-page .placeholder-message li:before{content:"\2713  ";color:#2ecc71;font-weight:700;margin-right:10px}.play-history-page .demo-link{margin-top:40px;padding:20px;background-color:#3498db1a;border-radius:8px;border:1px solid #3498db}.play-history-page .demo-link a{color:#3498db;font-size:18px;font-weight:600}
/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
/*# sourceMappingURL=bundle.css.map */
