#auth-wall,#tournament-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:Be Vietnam Pro,Inter,sans-serif;padding:16px}.aw-card{background:#fff;border-radius:20px;padding:36px 32px;width:100%;box-shadow:0 24px 64px #00000038;animation:aw-slide-in .25s ease}@keyframes aw-slide-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.aw-logo{display:block;margin:0 auto 20px;height:36px}.aw-title{font-size:20px;font-weight:700;color:#111827;margin:0 0 6px;text-align:center}.aw-sub{font-size:13px;color:#6b7280;text-align:center;margin:0 0 24px}.aw-label{display:block;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.aw-input{width:100%;padding:12px 16px;border-radius:12px;border:1.5px solid #e5e7eb;font-size:15px;outline:none;background:#f9fafb;box-sizing:border-box;font-family:inherit;transition:border-color .2s}.aw-input:focus{border-color:#f93d3a;background:#fff}.aw-field{margin-bottom:16px}.aw-btn{width:100%;padding:14px;border-radius:12px;border:none;background:#f93d3a;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s;margin-top:4px}.aw-btn:hover{background:#d92b28}.aw-btn:disabled{background:#fca5a5;cursor:not-allowed}.aw-btn-ghost{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;padding:8px 18px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}.aw-btn-ghost:hover{background:#e5e7eb}.aw-btn-danger{background:#fee2e2;color:#dc2626;border:1px solid #fecaca;padding:8px 18px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}.aw-btn-danger:hover{background:#fecaca}.aw-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;padding:10px 14px;font-size:13px;margin-bottom:16px}.aw-btn-google{width:100%;padding:13px;border-radius:12px;border:1.5px solid #e5e7eb;background:#fff;color:#374151;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,border-color .15s;margin-bottom:20px}.aw-btn-google:hover{background:#f9fafb;border-color:#d1d5db}.aw-divider{display:flex;align-items:center;gap:12px;color:#9ca3af;font-size:13px;margin-bottom:20px}.aw-divider:before,.aw-divider:after{content:"";flex:1;border-top:1px solid #e5e7eb}.aw-picker-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.aw-picker-actions{display:flex;gap:8px;flex-shrink:0;margin-left:12px}.aw-list{overflow-y:auto;max-height:55vh;margin:0 -4px;padding:0 4px}.aw-tournament-item{border:1.5px solid #e5e7eb;border-radius:14px;padding:14px 18px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;background:#fff}.aw-tournament-item:hover{border-color:#f93d3a;background:#fff5f5;box-shadow:0 4px 16px #f93d3a1a}.aw-tournament-name{font-size:15px;font-weight:700;color:#111827;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aw-tournament-meta{font-size:12px;color:#6b7280}.aw-badge-published{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0;background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.aw-badge-draft{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0;background:#fef9c3;color:#854d0e;border:1px solid #fde047}.aw-empty{text-align:center;padding:40px 20px;color:#9ca3af}.aw-empty-icon{font-size:40px;margin-bottom:12px}#operator-user-chip{display:flex;align-items:center;gap:10px;margin-left:auto}#operator-user-chip .aw-chip-name{font-size:13px;color:#374151;font-weight:500}.aw-switcher-btn{display:flex;align-items:center;gap:6px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:6px 12px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:#111827;transition:background .15s;max-width:220px}.aw-switcher-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aw-access-denied{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:99999;display:flex;align-items:center;justify-content:center;font-family:sans-serif;color:#6b7280}.aw-tournament-subtitle{margin-top:6px;display:flex;align-items:center;gap:8px}.aw-tournament-subtitle>span{display:inline-flex;align-items:center;gap:5px;background:#fff5f5;border:1px solid #fecaca;color:#dc2626;font-size:13px;font-weight:600;padding:3px 12px;border-radius:20px;white-space:nowrap}.operate-page .match-card{background:#fff;border:1px solid var(--neutral-200);border-radius:12px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.operate-page .match-header{display:flex;justify-content:space-between;font-size:13px;color:var(--neutral-500);font-weight:600;border-bottom:1px dashed var(--neutral-200);padding-bottom:8px}.operate-page .team-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.operate-page .team-name{font-weight:600;color:var(--neutral-800);font-size:15px}.operate-page .mc-team-row{gap:10px;align-items:center;min-width:0;border-radius:10px;padding:10px 8px;transition:background .15s ease}.operate-page .mc-team-row:hover{background:#f8fafc}.operate-page .mc-team-row--blue{border-left:3px solid #60a5fa}.operate-page .mc-team-row--red{border-left:3px solid #f87171}.operate-page .mc-team-row.is-winner{background:#fffbeb}.operate-page .mc-team-main{flex:1;min-width:0}.operate-page .mc-team-heading{display:flex;align-items:center;gap:6px;min-width:0}.operate-page .mc-team-heading .team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operate-page .mc-team-label{flex:0 0 auto;padding:2px 6px;border-radius:99px;background:var(--neutral-100);color:var(--neutral-500);font-size:10px;font-weight:600}.operate-page .mc-team-locked{color:var(--neutral-400);font-size:10px;white-space:nowrap}.operate-page .mc-player-list{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:5px}.operate-page .mc-player{min-width:0;color:var(--neutral-600);font-size:11px;line-height:1.3;white-space:nowrap}.operate-page .mc-player b{color:var(--neutral-500)}.operate-page .mc-player em{color:var(--neutral-400);font-size:10px;font-style:normal;margin-left:3px}.operate-page .mc-team-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}.operate-page .mc-edit-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff;color:#2563eb;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.operate-page .mc-edit-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.operate-page .mc-edit-button:hover{background:#dbeafe;box-shadow:0 3px 8px #2563eb2e;transform:translateY(-1px)}.operate-page .mc-edit-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}@media (max-width: 420px){.operate-page .mc-team-row{padding:8px 6px}.operate-page .mc-player-list{display:block}.operate-page .mc-player{display:block;overflow:hidden;text-overflow:ellipsis}.operate-page .mc-team-controls{gap:4px}}.operate-page .match-actions{display:flex;gap:6px;margin-top:12px}.operate-page .btn-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 10px;border:none;border-radius:10px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:transform .12s,box-shadow .12s,filter .12s;white-space:nowrap}.operate-page .btn-action:active{transform:scale(.96)}.operate-page .btn-action:disabled{opacity:.45;cursor:not-allowed}.operate-page .btn-action-start{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 8px #3b82f659}.operate-page .btn-action-start:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #3b82f673}.operate-page .btn-action-score{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #6366f159}.operate-page .btn-action-score:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #6366f173}.operate-page .btn-action-call{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b59}.operate-page .btn-action-call:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #f59e0b73}.operate-page .btn-action-quick{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b98159}.operate-page .btn-action-quick:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #10b98173}.operate-page .btn-action-finish{background:linear-gradient(135deg,#f93d3a,#dc2626);color:#fff;box-shadow:0 2px 8px #f93d3a4d}.operate-page .btn-action-finish:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #f93d3a66}.operate-page .status-badge{padding:2px 8px;border-radius:12px;font-size:11px}.operate-page .status-PENDING{background:var(--neutral-100);color:var(--neutral-600)}.operate-page .status-STARTED,.operate-page .status-PLAYING,.operate-page .status-CALLPLAYER{background:#e3f2fd;color:#1976d2}.operate-page .status-FINISHED{background:#e8f5e9;color:#388e3c}.operate-page .round-section{margin-top:32px}.operate-page .round-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--neutral-800)}.sm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.sm-modal{background:#fff;border-radius:20px;padding:28px 24px;width:100%;max-width:420px;box-shadow:0 24px 64px #0003;animation:sm-in .2s ease}@keyframes sm-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sm-title{font-size:16px;font-weight:700;color:#111827;margin-bottom:4px}.sm-sub{font-size:12px;color:#6b7280;margin-bottom:20px}.sm-set-row{display:grid;grid-template-columns:40px 1fr 32px 1fr;gap:8px;align-items:center;margin-bottom:12px}.sm-set-label{font-size:13px;font-weight:600;color:#374151;text-align:center}.sm-vs{font-size:12px;color:#9ca3af;text-align:center}.sm-input{width:100%;padding:8px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:18px;font-weight:700;text-align:center;outline:none;transition:border-color .15s}.sm-input:focus{border-color:#f93d3a}.sm-limit-notice{grid-column:2 / -1;margin-top:-2px;padding:5px 7px;border-radius:6px;background:#fff7ed;color:#c2410c;font-size:10px;font-weight:600}.sm-team-header{display:grid;grid-template-columns:40px 1fr 32px 1fr;gap:8px;margin-bottom:6px}.sm-team-name{font-size:11px;font-weight:600;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-actions{display:flex;gap:10px;margin-top:20px}.sm-btn-cancel{flex:1;padding:11px;border-radius:10px;border:1.5px solid #e5e7eb;background:#f9fafb;font-size:14px;font-weight:600;color:#374151;cursor:pointer}.sm-btn-submit{flex:2;padding:11px;border-radius:10px;border:none;background:#f93d3a;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s}.sm-btn-submit:hover{background:#d92b28}.tm-overlay{z-index:10000;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0f172a8c;overflow-y:auto}.tm-modal{max-width:390px;padding:22px;max-height:calc(100vh - 32px);overflow-y:auto}.tm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--neutral-200)}.tm-head .sm-title{margin-bottom:3px}.tm-sub{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.tm-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:0;border-radius:8px;background:var(--neutral-100);color:var(--neutral-600);cursor:pointer;font-size:22px;line-height:1}.tm-close:hover{background:var(--neutral-200);color:var(--neutral-800)}.tm-field{margin-bottom:15px}.tm-label{display:block;margin-bottom:6px;color:var(--neutral-600);font-size:12px;font-weight:700}.tm-input{box-sizing:border-box;width:100%;height:38px;padding:0 10px;border:1.5px solid var(--neutral-200);border-radius:8px;color:var(--neutral-800);background:#fff;font:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.tm-player-row{display:flex;align-items:center;gap:7px;margin-top:7px}.tm-player-letter{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:800}.tm-quick{display:flex;gap:8px;padding-top:1px}.tm-quick-btn{flex:1;min-width:0;padding:8px 6px;border:1px solid var(--neutral-200);border-radius:8px;background:#f8fafc;color:var(--neutral-600);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.tm-quick-btn:hover:not(:disabled){border-color:#c7d2fe;background:#eef2ff;color:#4f46e5}.tm-quick-btn:disabled{opacity:.5;cursor:not-allowed}.tm-note{margin-top:8px;color:var(--neutral-500);font-size:11px}.tm-error{margin-top:12px;padding:8px 10px;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:12px}.tm-modal .sm-btn-submit:disabled{opacity:.5;cursor:not-allowed}.operate-page .group-select{display:inline-flex;align-items:center;padding:6px 32px 6px 12px;font-size:13px;font-weight:600;color:var(--neutral-700);background-color:#fff;border:1px solid var(--neutral-300);border-radius:20px;outline:none;cursor:pointer;margin-bottom:20px;transition:all .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}.operate-page .group-select:hover{background-color:var(--neutral-50);border-color:var(--neutral-400)}.operate-page .group-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.operate-page .team-row-toggle{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--neutral-200);border-radius:6px;background:#fff;color:var(--neutral-500);font-size:11px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.operate-page .team-row-toggle:hover{background:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-300)}.operate-page .swap-panel{margin-top:4px;padding:12px;border:1px dashed var(--neutral-300);border-radius:10px;background:#f9fafb}.operate-page .swap-panel-title{font-size:13px;font-weight:700;color:var(--neutral-700);margin-bottom:10px}.operate-page .swap-cols{display:flex;flex-direction:column;gap:12px}.operate-page .swap-col{display:flex;flex-direction:column;min-width:0}.operate-page .swap-col-title{font-size:11px;font-weight:600;color:var(--neutral-500);margin-bottom:6px}.operate-page .swap-search{width:100%;box-sizing:border-box;padding:6px 8px;font-size:12px;border:1px solid var(--neutral-200);border-radius:6px;margin-bottom:6px;outline:none;font-family:inherit}.operate-page .swap-search:focus{border-color:#6366f1}.operate-page .swap-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-right:2px}.operate-page .swap-row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:12px;background:#fff;border:1px solid transparent}.operate-page .swap-row:hover{background:var(--neutral-50)}.operate-page .swap-row.active{border-color:#6366f1;background:#eef2ff}.operate-page .swap-row input[type=radio]{margin:0;flex-shrink:0}.operate-page .swap-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--neutral-800)}.operate-page .swap-team-badge{font-size:10px;font-weight:600;color:var(--neutral-500);background:var(--neutral-100);padding:1px 6px;border-radius:8px;flex-shrink:0;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operate-page .swap-empty{font-size:12px;color:var(--neutral-400);font-style:italic;padding:6px 0}.operate-page .swap-actions{margin-top:12px;display:flex;justify-content:flex-end}.operate-page .btn-action-swap{flex:0 0 auto;padding:8px 16px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #6366f159}.operate-page .btn-action-swap:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #6366f173}.operate-page .mc-card{gap:10px;padding:14px;overflow:visible}.operate-page .mc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--neutral-200)}.operate-page .mc-head-left,.operate-page .mc-head-right{display:flex;align-items:center;gap:7px;min-width:0}.operate-page .mc-head-left{flex-wrap:wrap}.operate-page .mc-head-right{flex-shrink:0}.operate-page .mc-match-no{font-size:14px;font-weight:700;color:var(--neutral-800)}.operate-page .mc-meta{font-size:11px;color:var(--neutral-500)}.operate-page .mc-court{padding:3px 7px;border-radius:999px;background:var(--blue-50);color:var(--blue-600);font-size:10px;font-weight:700}.operate-page .mc-teams{display:flex;flex-direction:column;gap:4px}.operate-page .mc-team{border:1px solid var(--neutral-200);border-radius:10px;background:#fff;overflow:visible}.operate-page .mc-team--blue{border-left:3px solid var(--blue-400)}.operate-page .mc-team--red{border-left:3px solid var(--red-400)}.operate-page .mc-team.is-winner{background:#fffbeb;border-color:#fcd34d}.operate-page .mc-team-row{min-height:56px;display:flex;align-items:center;gap:8px;padding:8px 7px}.operate-page .mc-team-idx{width:20px;height:20px;flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--neutral-100);color:var(--neutral-500);font-size:10px;font-weight:800}.operate-page .mc-team-info{min-width:0;flex:1}.operate-page .mc-team-title,.operate-page .mc-players,.operate-page .mc-team-right{display:flex;align-items:center;min-width:0}.operate-page .mc-team-title{gap:5px}.operate-page .mc-team-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--neutral-800);font-size:13px;font-weight:700}.operate-page .mc-seed,.operate-page .mc-player-seed{flex:0 0 auto;color:var(--neutral-500);font-size:9px;font-weight:600}.operate-page .mc-win,.operate-page .mc-lock{flex:0 0 auto;font-size:12px}.operate-page .mc-players{gap:4px 8px;margin-top:3px;flex-wrap:wrap}.operate-page .mc-player{display:inline-flex;align-items:center;min-width:0;gap:3px;color:var(--neutral-600);font-size:10px}.operate-page .mc-player-letter{color:var(--neutral-400);font-weight:700}.operate-page .mc-player-name{max-width:126px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operate-page .mc-team-right{flex:0 0 auto;gap:5px}.operate-page .mc-team-right>div:first-child{gap:4px!important}.operate-page .mc-team-right>div:first-child>div{min-width:30px!important;width:30px;height:30px!important;font-size:15px!important}.operate-page .mc-edit-btn{width:30px;height:30px;flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;color:var(--neutral-500);border:1px solid var(--neutral-200);border-radius:8px;background:#fff;cursor:pointer;transition:.15s ease}.operate-page .mc-edit-btn:hover,.operate-page .mc-edit-btn.is-open{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.operate-page .mc-vs{height:7px;display:flex;align-items:center;justify-content:center}.operate-page .mc-vs:before,.operate-page .mc-vs:after{content:"";height:1px;flex:1;background:var(--neutral-200)}.operate-page .mc-vs span{margin:0 8px;color:var(--neutral-400);font-size:9px;font-weight:800}.operate-page .mc-wait-note{flex:1;min-width:0;padding:8px 0;color:var(--neutral-500);font-size:11px;font-weight:600}.operate-page .btn-action-edit{flex:0 0 auto;background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe}.tm-modal{max-width:390px;padding:20px}.tm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tm-sub{overflow:hidden;margin-bottom:16px;text-overflow:ellipsis;white-space:nowrap}.tm-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:0;border-radius:7px;background:var(--neutral-100);color:var(--neutral-600);font-size:22px;line-height:1;cursor:pointer}.tm-close:hover{background:var(--neutral-200)}.tm-field{margin-bottom:14px}.tm-label{display:block;margin-bottom:6px;color:var(--neutral-600);font-size:11px;font-weight:700}.tm-input{width:100%;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid var(--neutral-300);border-radius:8px;color:var(--neutral-800);font:inherit;font-size:13px;outline:none}.tm-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.tm-player-row{display:flex;align-items:center;gap:6px;margin-top:6px}.tm-player-letter{width:20px;flex:0 0 20px;color:var(--neutral-500);font-size:11px;font-weight:800;text-align:center}.tm-quick{display:flex;gap:8px;margin:4px 0 8px}.tm-quick-btn{flex:1;min-width:0;height:34px;padding:0 8px;border:1px solid #c7d2fe;border-radius:8px;background:#eef2ff;color:#4f46e5;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.tm-quick-btn:hover:not(:disabled){background:#e0e7ff}.tm-quick-btn:disabled{cursor:not-allowed;opacity:.5}.tm-note{margin-top:-2px;color:var(--neutral-500);font-size:10px}.tm-error{margin-top:10px;padding:8px 10px;border-radius:7px;background:#fef2f2;color:#dc2626;font-size:11px}.tm-modal .sm-actions{margin-top:16px}@media (max-width: 440px){.operate-page .mc-card{padding:12px}.operate-page .mc-team-row{gap:6px;padding:7px 5px}.operate-page .mc-team-idx{display:none}.operate-page .mc-player-name{max-width:92px}.operate-page .mc-head{align-items:center}.operate-page .mc-meta{width:100%}}.referee-desk-page .match-card{background:#fff;border:1px solid var(--neutral-200);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;height:100%}.referee-desk-page .court-card{background:#fff;border:2px solid var(--blue);border-radius:12px;padding:0;display:flex;flex-direction:column;height:300px;overflow:hidden}.referee-desk-page .court-card.court-ending{border-color:#ef4444;box-shadow:0 0 12px #ef444466}.referee-desk-page .court-card.court-ending .court-header{background:#ef4444}.referee-desk-page .court-header{background:var(--blue);color:#fff;padding:8px 16px;font-weight:700;font-size:16px;display:flex;justify-content:space-between;align-items:center}.referee-desk-page .court-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background:#f8fafc;gap:12px}.referee-desk-page .match-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--neutral-500);font-weight:600;border-bottom:1px dashed var(--neutral-200);padding-bottom:8px}.referee-desk-page .team-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.referee-desk-page .team-name{font-weight:600;color:var(--neutral-800);font-size:15px}.referee-desk-page .match-actions{display:flex;gap:8px;margin-top:8px;align-items:center;flex-wrap:wrap}.referee-desk-page .btn-small{padding:6px 12px;font-size:13px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.referee-desk-page .btn-small:hover{filter:brightness(.95)}.referee-desk-page .btn-small:active{transform:scale(.96)}.referee-desk-page .btn-start{background:var(--blue);color:#fff;border:none}.referee-desk-page .btn-update,.referee-desk-page .btn-update-lg{background:var(--neutral-100);color:var(--neutral-800);border:1px solid var(--neutral-300)}.referee-desk-page .btn-danger{background:#fee2e2;color:#ef4444;border:1px solid #fca5a5}.referee-desk-page .status-badge{padding:2px 8px;border-radius:12px;font-size:11px}.referee-desk-page .status-PENDING{background:var(--neutral-100);color:var(--neutral-600)}.referee-desk-page .status-PLAYING,.referee-desk-page .status-CALLPLAYER{background:#e3f2fd;color:#1976d2}.referee-desk-page .status-FINISHED{background:#e8f5e9;color:#388e3c}.referee-desk-page .round-section{margin-top:32px}.referee-desk-page .round-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--neutral-800);display:flex;align-items:center;gap:8px}.referee-desk-page .badge-count{background:var(--neutral-200);padding:2px 8px;border-radius:12px;font-size:13px;color:var(--neutral-700)}.referee-desk-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.referee-desk-page .modal-content{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #0003}.referee-desk-page .modal-header{padding:16px 20px;border-bottom:1px solid var(--neutral-200);display:flex;justify-content:space-between;align-items:center}.referee-desk-page .modal-body{padding:20px;overflow-y:auto;flex:1}.referee-desk-page .mini-match-card{border:1px solid var(--neutral-200);border-radius:8px;padding:12px;margin-bottom:12px;cursor:pointer;transition:all .2s}.referee-desk-page .mini-match-card:hover{border-color:var(--blue);background:#f0f9ff}.referee-score-page{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;padding:0;font-family:Be Vietnam Pro,sans-serif;background:#f1f5f9;color:#1e293b;height:100dvh;width:100vw;overflow:hidden;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.referee-score-page .topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid #e2e8f0;z-index:30}.referee-score-page .topbar-exit-btn{display:flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;color:#475569;font-family:inherit;font-size:13px;font-weight:600;padding:7px 14px;cursor:pointer;transition:background .18s;white-space:nowrap}.referee-score-page .topbar-exit-btn:active{background:#e2e8f0}.referee-score-page .topbar-center{text-align:center;flex:1;padding:0 8px}.referee-score-page .topbar-center .match-title{font-size:16px;font-weight:800;color:#0f172a;line-height:1.2}.referee-score-page .topbar-center .court-label{font-size:12px;color:#94a3b8;font-weight:500;margin-top:1px}.referee-score-page .set-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#2563eb;font-size:13px;font-weight:800;padding:7px 14px;white-space:nowrap;letter-spacing:.5px}.referee-score-page .score-header{flex:0 0 auto;background:#fff;border-bottom:1px solid #e2e8f0;padding:10px 14px;display:flex;align-items:center;gap:10px}.referee-score-page .team-info{flex:1;display:flex;flex-direction:column;gap:2px}.referee-score-page .team-info.team-a{align-items:flex-start}.referee-score-page .team-info.team-b{align-items:flex-end}.referee-score-page .team-players{font-size:12px;font-weight:600;color:#475569;line-height:1.45;white-space:pre-line}.referee-score-page .team-info.team-b .team-players{text-align:right}.referee-score-page .score-center{display:flex;align-items:center;gap:4px;flex:0 0 auto}.referee-score-page .score-num{font-size:52px;font-weight:900;line-height:1;min-width:44px;text-align:center}.referee-score-page .score-num.blue{color:#2563eb}.referee-score-page .score-num.red{color:#dc2626}.referee-score-page .score-colon{font-size:38px;font-weight:700;color:#cbd5e1;margin-bottom:2px}.referee-score-page .court-wrapper{flex:1 1 0;min-height:0;position:relative;display:flex;overflow:hidden}.referee-score-page .pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#f1f5f9bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;display:flex;align-items:center;justify-content:center}.referee-score-page .pause-text{font-size:20px;font-weight:800;color:#1e293b;background:#fff;padding:14px 32px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 8px 24px #0000001a;letter-spacing:2px}.referee-score-page .court-half{flex:1;position:relative;overflow:hidden}.referee-score-page .court-half.left-half{background:#dbeafe}.referee-score-page .court-half.right-half{background:#fee2e2}.referee-score-page .court-half:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(0,0,0,.12);border-radius:2px;pointer-events:none}.referee-score-page .court-half:after{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:#0000001a;pointer-events:none}.referee-score-page .court-line-short{position:absolute;left:8px;right:8px;height:1px;background:#00000014;pointer-events:none}.referee-score-page .court-line-short.top-third{top:28%}.referee-score-page .court-line-short.bot-third{top:72%}.referee-score-page .court-net{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:10px;z-index:10;pointer-events:none;display:flex;flex-direction:column;align-items:center}.referee-score-page .net-pole-top,.referee-score-page .net-pole-bottom{width:8px;height:16px;background:#64748b;border-radius:4px;flex-shrink:0}.referee-score-page .net-body{flex:1;width:4px;background:repeating-linear-gradient(to bottom,rgba(71,85,105,.8) 0px,rgba(71,85,105,.8) 3px,transparent 3px,transparent 8px)}.referee-score-page .corner-letter{position:absolute;font-size:12px;font-weight:700;color:#00000026;pointer-events:none}.referee-score-page .player-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20}.referee-score-page .player-avatar{position:absolute;transform:translate(-50%,-50%);width:clamp(72px,20vw,110px);height:clamp(72px,20vw,110px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,top .3s ease-in-out,left .3s ease-in-out;-webkit-tap-highlight-color:transparent}.referee-score-page .player-avatar.team-left-color{background:#fff;border:2.5px solid #2563eb;box-shadow:0 4px 16px #2563eb2e,0 2px 6px #0000001a}.referee-score-page .player-avatar.team-right-color{background:#fff;border:2.5px solid #dc2626;box-shadow:0 4px 16px #dc26262e,0 2px 6px #0000001a}.referee-score-page .player-avatar:active{transform:translate(-50%,-50%) scale(.93)}.referee-score-page .player-avatar.dragging{opacity:.4;border-style:dashed}.referee-score-page .player-name-main{font-size:clamp(11px,3vw,14px);font-weight:700;color:#1e293b;text-align:center;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.referee-score-page .serve-badge{position:absolute;top:-3px;right:-3px;width:clamp(18px,5vw,24px);height:clamp(18px,5vw,24px);background:#16a34a;border:2px solid #f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(9px,2.5vw,11px);box-shadow:0 2px 6px #16a34a4d;animation:servePulse 2s infinite;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;z-index:26}.referee-score-page .serve-badge.active{opacity:1;transform:scale(1)}@keyframes servePulse{0%{box-shadow:0 0 #16a34a80}70%{box-shadow:0 0 0 8px #16a34a00}to{box-shadow:0 0 #16a34a00}}.referee-score-page .control-bar{flex:0 0 auto;background:#fff;border-top:1px solid #e2e8f0;padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));display:flex;gap:10px}.referee-score-page .control-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.referee-score-page .control-btn:active{background:#e2e8f0;transform:scale(.97)}.referee-score-page .control-btn .ctrl-icon{font-size:18px;line-height:1}.referee-score-page .btn-pause.paused-active{background:#fef3c7;border-color:#fcd34d;color:#92400e}.referee-score-page .control-btn.btn-restart{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.referee-score-page .rs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.referee-score-page .modal-box{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:400px;border:1px solid #e2e8f0;box-shadow:0 20px 60px #00000026;max-height:90vh;overflow-y:auto;color:#1e293b}.referee-score-page .modal-title{font-size:20px;font-weight:800;margin-bottom:16px;text-align:center}.referee-score-page .setup-btn{width:100%;padding:12px;border-radius:10px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;font-family:inherit;font-size:14px;font-weight:600;margin-bottom:12px;cursor:pointer;transition:all .2s}.referee-score-page .setup-btn:hover{background:#e2e8f0}.referee-score-page .setup-btn.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.referee-score-page .setup-btn.serve-error{border-color:#dc2626}.referee-score-page .start-btn{width:100%;padding:14px;border-radius:10px;border:none;background:#16a34a;color:#fff;font-family:inherit;font-weight:700;font-size:16px;cursor:pointer;margin-top:8px;box-shadow:0 4px 14px #16a34a40;transition:all .2s}.referee-score-page .start-btn:hover{background:#15803d}.referee-score-page .fullscreen-state{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1520;z-index:900;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center}.referee-score-page .fullscreen-state h2{color:#f8fafc}.referee-score-page .fullscreen-state p{color:#64748b}.referee-score-page .spinner{width:40px;height:40px;border:4px solid #1e293b;border-top:4px solid #3b82f6;border-radius:50%;animation:rs-spin 1s linear infinite;margin-bottom:16px}@keyframes rs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.referee-score-page .token-counter{position:absolute;top:12px;background:#fffffff2;border:2px solid #64748b;border-radius:8px;padding:6px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;z-index:40;box-shadow:0 4px 10px #0000001a;transition:transform .1s,background-color .2s;-webkit-user-select:none;user-select:none}.referee-score-page .token-counter:active{transform:scale(.92);background:#f1f5f9}.referee-score-page .left-half .token-counter{left:20px;border-color:#2563eb}.referee-score-page .right-half .token-counter{right:20px;border-color:#dc2626}.referee-score-page .token-label{font-size:9px;font-weight:800;color:#64748b;letter-spacing:.5px;margin-bottom:2px}.referee-score-page .left-half .token-label{color:#2563eb}.referee-score-page .right-half .token-label{color:#dc2626}.referee-score-page .token-value{font-size:20px;font-weight:950;color:#0f172a;line-height:1}.staff-page{background-color:var(--neutral-50);font-family:Inter,sans-serif}.staff-page .staff-card{background:#fff;border:1px solid var(--neutral-200);border-radius:12px;padding:16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000000d}.staff-page .staff-info{display:flex;align-items:center;gap:12px}.staff-page .staff-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#eee}.staff-page .role-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;display:inline-block;margin-top:4px}.staff-page .role-host{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.staff-page .role-referee{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.staff-page .status-badge{font-size:11px;padding:2px 8px;border-radius:12px}.staff-page .status-accepted{background:#dcfce7;color:#166534}.staff-page .status-pending{background:#fef9c3;color:#854d0e}.staff-page .btn-remove{background:#fef2f2;color:#dc2626;border:none;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.staff-page .btn-remove:hover{background:#fee2e2}.staff-page .search-box{background:#fff;padding:24px;border-radius:12px;border:1px solid var(--neutral-200);margin-bottom:32px;box-shadow:0 4px 6px -1px #0000000d}.manage-tournament-page{padding:24px 0 64px;background:var(--neutral-100)}.manage-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 992px){.manage-grid{grid-template-columns:1.6fr 1fr}}.management-card{background:#fff;border-radius:16px;border:1px solid var(--neutral-200);box-shadow:0 4px 20px #00000008;padding:24px;margin-bottom:24px;transition:transform .2s,box-shadow .2s}.management-card:hover{box-shadow:0 10px 30px #0000000d}.section-subtitle{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--neutral-500);margin-bottom:12px;font-weight:600}.gradient-title{font-size:24px;font-weight:800;background:linear-gradient(135deg,#1a338e,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.tabs-container{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;border-bottom:1px solid var(--neutral-200);margin-bottom:20px}.tab-pill{padding:8px 16px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:13px;font-weight:600;color:var(--neutral-600);cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-pill:hover{background:#e5e7eb;color:var(--neutral-800)}.tab-pill.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff;box-shadow:0 4px 10px #8b5cf633}.team-item-card{border:1px solid var(--neutral-200);border-radius:12px;background:#fff;margin-bottom:16px;transition:all .2s ease;overflow:hidden}.team-item-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000005}.team-header-bar{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:12px 16px;border-bottom:1px solid #f1f5f9}.team-name-section{display:flex;align-items:center;gap:8px;flex:1}.team-name-text{font-size:15px;font-weight:700;color:var(--neutral-800)}.seed-badge{font-size:11px;font-weight:700;padding:3px 8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:12px}.seed-input-wrapper{display:flex;align-items:center;gap:4px}.seed-small-input{width:50px;padding:4px 6px;border:1px solid var(--neutral-300);border-radius:6px;font-size:12px;font-weight:600;text-align:center}.participants-list{padding:12px 16px}.participant-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed #f1f5f9}.participant-row:last-child{border-bottom:none}.participant-info{display:flex;flex-direction:column;gap:2px}.participant-name{font-size:14px;font-weight:600;color:var(--neutral-800)}.participant-phone{font-size:11px;color:var(--neutral-500)}.action-buttons-group{display:flex;gap:6px}.btn-mini{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.btn-mini-primary{background:#f1f5f9;color:#475569}.btn-mini-primary:hover{background:#e2e8f0;color:#1e293b}.btn-mini-danger{background:#fee2e2;color:#ef4444}.btn-mini-danger:hover{background:#fca5a5}.btn-control{width:100%;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;border:none}.btn-draw{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.btn-draw:hover{box-shadow:0 6px 16px #8b5cf666;filter:brightness(1.05)}.btn-draw:disabled{opacity:.6;cursor:not-allowed}.btn-reset{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.btn-reset:hover{background:#fcd3d3}.btn-reset:disabled{opacity:.6;cursor:not-allowed}.btn-resequence{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.btn-resequence:hover{background:#dbeafe}.btn-resequence:disabled{opacity:.6;cursor:not-allowed}.form-section-title{font-size:15px;font-weight:700;color:var(--neutral-800);border-bottom:1px solid var(--neutral-200);padding-bottom:8px;margin-bottom:16px}.input-label{display:block;font-size:12px;font-weight:600;color:var(--neutral-700);margin-bottom:6px}.input-field{width:100%;padding:10px 12px;border:1.5px solid var(--neutral-200);border-radius:8px;font-size:14px;outline:none;background:#fff;transition:border-color .2s;box-sizing:border-box}.input-field:focus{border-color:#8b5cf6}.textarea-field{width:100%;height:120px;padding:10px 12px;border:1.5px solid var(--neutral-200);border-radius:8px;font-size:13px;font-family:monospace;outline:none;background:#fff;transition:border-color .2s;box-sizing:border-box;resize:vertical}.textarea-field:focus{border-color:#8b5cf6}.inline-edit-form{display:flex;align-items:center;gap:8px;flex:1}.inline-edit-input{flex:1;padding:6px 10px;border:1.5px solid #8b5cf6;border-radius:6px;font-size:14px;outline:none}:root{--blue: #1A338E;--primary-50: #EEF8FF;--primary-400: #3B82F6;--primary-950: #1A338E;--secondary-400: #F93D3A;--neutral-50: #FCFCFC;--neutral-100: #F5F5F5;--neutral-200: #E5E5E5;--neutral-300: #D4D4D4;--neutral-400: #A3A3A3;--neutral-500: #737373;--neutral-700: #404040;--neutral-800: #262626;--neutral-900: #171717;--white: #ffffff;--red: #F93D3A;--blue-dark: #1A338E;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--radius-card: 16px;--radius-btn: 12px;--radius-input: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Be Vietnam Pro,sans-serif;background:var(--neutral-900);color:var(--neutral-700);font-size:15px;line-height:1.6}.page-wrapper{position:relative;z-index:2;background:var(--neutral-100);box-shadow:0 8px 40px #00000059,0 2px #0003;border-radius:0 0 20px 20px;overflow:hidden;margin-bottom:0}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{cursor:pointer;border:none;background:none;font-family:inherit}ul{list-style:none}.container{max-width:1160px;margin:0 auto;padding:0 20px}.navbar{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--neutral-200);box-shadow:var(--shadow-sm)}.navbar__inner{display:flex;align-items:center;gap:32px;height:64px}.navbar__logo img{height:36px;transform:scale(1.7);transform-origin:left center}.navbar__nav{display:flex;align-items:center;gap:28px;flex:1}.navbar__link{font-size:14px;font-weight:500;color:var(--neutral-500);padding:4px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.navbar__link:hover{color:var(--blue-dark)}.navbar__link--active{color:var(--blue-dark);font-weight:600;border-color:var(--blue-dark)}.navbar__actions{display:flex;align-items:center;gap:16px;margin-left:auto}.navbar__icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--neutral-700);transition:background .2s}.navbar__icon-btn:hover{background:var(--neutral-100)}.navbar__badge{position:absolute;top:4px;right:4px;background:var(--red);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.navbar__user{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:24px;transition:background .2s}.navbar__user:hover{background:var(--neutral-100)}.navbar__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.navbar__username{font-size:14px;font-weight:600;color:var(--neutral-700)}.hero{position:relative;background:linear-gradient(135deg,#0a1628,#1a2f6b,#0d1f45);min-height:380px;overflow:hidden;padding:60px 0 0}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0a1628eb,#0a1628b3 55%,#0a16281a);z-index:1}.hero__bg-img{position:absolute;right:0;top:0;bottom:0;width:55%;z-index:0}.hero__photo{width:100%;height:100%;object-fit:cover;object-position:center top;filter:brightness(.7)}.hero__content{position:relative;z-index:2;padding-bottom:40px}.hero__badge{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px;margin-bottom:16px}.hero__title{font-size:44px;font-weight:700;color:var(--white);line-height:1.15;margin-bottom:4px}.hero__subtitle{font-size:44px;font-weight:700;color:var(--red);line-height:1.15;margin-bottom:12px}.hero__desc{font-size:16px;color:#ffffffbf;margin-bottom:36px}@keyframes floatUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero__meta{display:flex;gap:0;background:#ffffff0f;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.35);border-left:1px solid rgba(255,255,255,.25);border-radius:24px;margin:20px 0 0;padding:0;box-shadow:0 20px 40px #00000040,inset 0 1px #ffffff1a;overflow:hidden;animation:floatUp .8s cubic-bezier(.16,1,.3,1) forwards}.hero__meta-item{display:flex;align-items:flex-start;gap:12px;flex:1;padding:24px 20px;color:#fff;border-right:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.hero__meta-item:hover{background:#ffffff1f;box-shadow:inset 0 0 20px #ffffff0d}.hero__meta-item:last-child{border-right:none}.hero__meta-item svg{margin-top:2px;flex-shrink:0;opacity:.9;width:18px;height:18px;color:#fff;transition:transform .3s ease}.hero__meta-item:hover svg{transform:scale(1.15) rotate(-5deg)}.hero__meta-label{font-size:13px;color:#ffffffb3;margin-bottom:4px;font-weight:500;transition:color .3s ease}.hero__meta-item:hover .hero__meta-label{color:#fff}.hero__meta-value{font-size:15px;font-weight:700;color:#fff;letter-spacing:.2px}.hero__meta-sub{font-size:12px;color:#fff9;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-red{color:var(--red)}.main-content{padding:32px 0 0}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.card{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:28px}.card__title{font-size:13px;font-weight:700;color:var(--blue-dark);letter-spacing:.08em;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--neutral-200)}.match-info__tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.tag{display:inline-flex;align-items:center;font-size:12px;padding:5px 12px;border-radius:20px}.tag--outline{border:1px solid var(--neutral-200);color:var(--neutral-700);background:var(--neutral-50)}.match-info__price{margin-left:auto;font-size:20px;font-weight:700;color:var(--red)}.match-info__price small{font-size:12px;color:var(--neutral-500);font-weight:400}.match-info__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.match-info__field-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--neutral-500);margin-bottom:4px}.match-info__field-value{font-size:15px;font-weight:600;color:var(--neutral-900)}.match-info__field-sub{font-size:12px;color:var(--neutral-500)}.match-info__host{display:flex;align-items:center;gap:12px;padding:14px 0;margin-bottom:16px;border-top:1px solid var(--neutral-100);border-bottom:1px solid var(--neutral-100)}.match-info__host-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.match-info__desc{margin-bottom:20px}.match-info__desc-label{font-size:13px;font-weight:600;color:var(--neutral-700);margin-bottom:6px}.match-info__desc p{font-size:14px;color:var(--neutral-500);line-height:1.7}.notice-box{background:#eef8ff;border:1px solid #BFDBFE;border-radius:10px;padding:16px}.notice-box__title{font-size:12px;font-weight:700;color:var(--blue-dark);margin-bottom:10px;letter-spacing:.06em}.notice-box ul{display:flex;flex-direction:column;gap:8px}.notice-box li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--neutral-700)}.notice-check{color:var(--blue-dark);font-size:13px;flex-shrink:0;margin-top:1px}.participants__count{color:var(--neutral-500);font-weight:400}.participants__note{font-size:12px;color:var(--neutral-500);margin-bottom:16px}.participants__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px 8px;margin-bottom:16px}.participant{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.participant:hover{transform:translateY(-4px) scale(1.05)}.participant img,.participant__avatar-placeholder{width:44px;height:44px;border-radius:50%;object-fit:cover;transition:box-shadow .25s ease,border-color .25s ease}.participant:hover img,.participant:hover .participant__avatar-placeholder{box-shadow:0 4px 12px #0000001f}.participant__avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.participant__avatar-placeholder--empty{background:var(--neutral-200)!important;color:var(--neutral-400)!important;border:2px dashed var(--neutral-300)}.participant--empty:hover{transform:none}.participant--empty:hover .participant__avatar-placeholder--empty{border-color:var(--neutral-400)}.participant span{font-size:11px;color:var(--neutral-700);text-align:center;line-height:1.3;max-width:52px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.participant small{font-size:10px;color:var(--red);font-weight:600}.participant--empty span{color:var(--neutral-400)}.btn-see-all{width:100%;padding:10px;border:1px solid var(--neutral-200);background:#fff;border-radius:8px;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer;transition:all .2s}.btn-see-all:hover{background:var(--neutral-50);border-color:var(--neutral-300);transform:translateY(-2px);box-shadow:0 2px 8px #0000000d}.btn-see-all:active{transform:translateY(0)}.reg-card{margin-bottom:24px}.reg-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.reg-block__label{font-size:13px;font-weight:600;color:var(--neutral-700);margin-bottom:12px}.optional{font-weight:400;color:var(--neutral-400)}.radio-card{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;border:1.5px solid var(--neutral-200);cursor:pointer;margin-bottom:10px;transition:border-color .2s,background .2s}.radio-card input[type=radio]{display:none}.radio-card__dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--neutral-300);flex-shrink:0;margin-top:1px;transition:border-color .2s,background .2s}.radio-card--selected{border-color:var(--red);background:#fff5f5}.radio-card--selected .radio-card__dot{border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 3px #fff}.radio-card__title{font-size:14px;font-weight:600;color:var(--neutral-800)}.radio-card__desc{font-size:12px;color:var(--neutral-500);margin-top:2px}.user-info-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:10px;border:1.5px solid var(--neutral-200);background:var(--neutral-50)}.user-info-card__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.user-info-card__name{font-size:15px;font-weight:700;color:var(--neutral-900)}.user-info-card__phone{font-size:13px;color:var(--neutral-500)}.user-info-card__level{font-size:12px;color:var(--neutral-500)}.reg-textarea{width:100%;padding:12px;border:1.5px solid var(--neutral-200);border-radius:var(--radius-input);font-family:inherit;font-size:13px;color:var(--neutral-700);resize:none;outline:none;transition:border-color .2s;background:var(--neutral-50)}.reg-textarea:focus{border-color:var(--primary-400)}.reg-textarea__count{font-size:11px;color:var(--neutral-400);text-align:right;margin-top:4px}.reg-footer{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--neutral-200)}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}.checkbox-label input{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid var(--neutral-300);border-radius:4px;flex-shrink:0;transition:border-color .2s,background .2s;position:relative}.checkbox-label input:checked+.checkbox-custom{background:var(--blue-dark);border-color:var(--blue-dark)}.checkbox-label input:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:11px;font-weight:700}.checkbox-label.error{color:var(--red);animation:shakeX .4s ease-in-out}.checkbox-label.error .checkbox-custom{border-color:var(--red);background-color:#f12f2c0d}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-4px)}}.link-blue{color:var(--blue-dark);font-weight:600}.btn-register{width:100%;background:var(--red);color:#fff;font-size:15px;font-weight:700;padding:14px;border-radius:12px;border:none;cursor:pointer;box-shadow:0 4px 14px #f93d3a4d;transition:all .2s}.btn-register:hover{background:#d92b28;transform:translateY(-2px);box-shadow:0 6px 16px #e5393566}.btn-register:active{transform:translateY(0);box-shadow:none}.reg-secure{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--neutral-500)}.related-section{padding:40px 0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.link-see-all{font-size:13px;font-weight:600;color:var(--blue-dark)}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.match-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.match-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.match-card__img{position:relative;height:120px;overflow:hidden}.match-card__img img{width:100%;height:100%;object-fit:cover}.match-card__date{position:absolute;top:10px;left:10px;background:#f0fdf4;color:#166534;font-size:11px;font-weight:700;padding:3px 8px;border-radius:10px}.match-card__date--red{background:#fff5f5;color:var(--red)}.match-card__body{padding:12px}.match-card__time{font-size:12px;color:var(--neutral-500);margin-bottom:2px}.match-card__venue{font-size:13px;font-weight:600;color:var(--neutral-800);margin-bottom:4px}.match-card__price{font-size:13px;font-weight:700;color:var(--red);margin-bottom:10px}.match-card__footer{display:flex;align-items:center;justify-content:space-between}.match-card__avatars{display:flex}.sm-avatar{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-left:-6px;border:2px solid #fff}.match-card__avatars .sm-avatar:first-child{margin-left:0}.match-card__slots{font-size:11px;color:var(--neutral-500)}.footer{position:sticky;bottom:0;z-index:1;background:var(--neutral-900);color:#ffffffb3;padding:48px 0 0;border-top:3px solid var(--red)}.footer__inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr auto;gap:32px;padding-bottom:40px}.footer__brand p{font-size:13px;margin-top:12px;line-height:1.7;color:#ffffff80}.footer__socials{display:flex;gap:10px;margin-top:16px}.footer__social{width:36px;height:36px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:background .2s,color .2s}.footer__social:hover{background:var(--red);color:#fff}.footer__col-title{font-size:11px;font-weight:700;color:#fff;letter-spacing:.08em;margin-bottom:14px}.footer__col ul{display:flex;flex-direction:column;gap:10px}.footer__col li{display:flex;align-items:center;gap:8px;font-size:13px;color:#ffffff8c}.footer__col a{color:#ffffff8c;transition:color .2s}.footer__col a:hover{color:#fff}.footer__logo-big{display:flex;align-items:center}.footer__copy{font-size:12px;color:#ffffff4d;text-align:center;padding:16px;border-top:1px solid rgba(255,255,255,.06)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.modal--show{opacity:1;pointer-events:auto}.modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal__content{position:relative;z-index:2;width:100%;max-width:400px;background:var(--white);border-radius:20px;padding:32px;box-shadow:var(--shadow-lg);transform:translateY(20px);transition:transform .3s}.modal--show .modal__content{transform:translateY(0)}.modal__close{position:absolute;top:16px;right:16px;font-size:24px;color:var(--neutral-400)}.auth-title{font-size:20px;font-weight:700;color:var(--neutral-900);margin-bottom:8px;text-align:center}.auth-desc{font-size:14px;color:var(--neutral-500);margin-bottom:24px;text-align:center}.auth-field{margin-bottom:16px}.auth-input{width:100%;padding:12px 16px;border-radius:12px;border:1.5px solid var(--neutral-200);font-size:15px;outline:none;transition:border-color .2s;background:var(--neutral-50)}.auth-input:focus{border-color:var(--primary-400)}.btn-primary{background:var(--red);color:#fff;font-size:15px;font-weight:700;padding:14px;border-radius:12px;border:none;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#d92b28;transform:translateY(-2px);box-shadow:0 6px 16px #e539354d}.btn-primary:active{transform:translateY(0);box-shadow:none}.w-100{width:100%}.d-none{display:none!important}.auth-switch{font-size:13px;color:var(--neutral-500);text-align:center;margin-top:16px}.auth-field--otp{display:flex;gap:8px}.btn-otp{background:var(--neutral-100);color:var(--blue-dark);font-size:13px;font-weight:600;padding:0 16px;border-radius:12px;border:1px solid var(--neutral-200)}.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid var(--neutral-200);color:var(--neutral-700);font-weight:600;font-size:15px;padding:14px;border-radius:12px;cursor:pointer;transition:background .2s;margin-bottom:24px}.btn-google:hover{background:var(--neutral-50)}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--neutral-500);font-size:13px;margin-bottom:24px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--neutral-200)}.auth-divider span{padding:0 12px}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s}.dialog-overlay.active{opacity:1;visibility:visible}.dialog-card{background:var(--white);padding:24px;border-radius:var(--radius-card);width:90%;max-width:360px;box-shadow:var(--shadow-lg);transform:translateY(20px);transition:all .3s;text-align:center}.dialog-overlay.active .dialog-card{transform:translateY(0)}.dialog-icon{width:48px;height:48px;background:var(--primary-50);color:var(--primary-400);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.dialog-icon.warning{background:#fffbeb;color:#f59e0b}.dialog-icon.success{background:#ecfdf5;color:#10b981}.dialog-title{font-size:18px;font-weight:700;color:var(--neutral-900);margin-bottom:8px}.dialog-message{font-size:15px;color:var(--neutral-500);margin-bottom:24px;white-space:pre-wrap;word-wrap:break-word}.dialog-actions{display:flex;gap:12px}.btn-dialog{flex:1;padding:12px;font-size:15px;font-weight:600;border-radius:12px;cursor:pointer;border:none;transition:background .2s}.btn-dialog--cancel{background:var(--neutral-100);color:var(--neutral-700)}.btn-dialog--cancel:hover{background:var(--neutral-200)}.btn-dialog--confirm{background:var(--primary-400);color:var(--white)}.btn-dialog--confirm:hover{background:var(--primary-950)}.btn-dialog--confirm.danger{background:var(--red)}.btn-dialog--confirm.danger:hover{background:#d92b28}@media (max-width: 768px){.container{padding:0 24px}.navbar__inner{padding-top:16px;padding-bottom:16px}.navbar__nav{display:none}.hero{padding:60px 24px 80px;border-radius:0 0 24px 24px}.hero__title{font-size:32px}.hero__subtitle{font-size:40px}.main-grid{grid-template-columns:1fr;gap:24px;margin-top:16px}.card{padding:20px}.match-info__grid{grid-template-columns:1fr;gap:16px}.participants__grid{grid-template-columns:repeat(5,1fr)}.reg-grid{grid-template-columns:1fr;gap:24px}.related-grid{grid-template-columns:repeat(2,1fr);gap:16px}.footer{padding:60px 0 40px}.footer__inner{grid-template-columns:1fr;gap:32px}.footer__col{align-items:center;text-align:center}.footer__logo{justify-content:center}.footer__bottom{flex-direction:column;gap:16px;text-align:center}.auth-modal{padding:24px;width:90%;max-width:400px}}@media (max-width: 480px){.hero__title{font-size:28px}.hero__subtitle{font-size:32px}.hero__meta{display:grid;grid-template-columns:1fr 1fr;background:transparent;border:none;margin:24px 0 0;padding:0;gap:12px;box-shadow:none;animation:floatUp .8s cubic-bezier(.16,1,.3,1) forwards}.hero__meta-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:#ffffff0f;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.35);border-left:1px solid rgba(255,255,255,.25);border-radius:20px;box-shadow:0 12px 32px #0003,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}.hero__meta-item:active{transform:scale(.96);background:#ffffff26}.hero__meta-item svg{margin-top:0;margin-bottom:4px;width:22px;height:22px;color:var(--red);transition:transform .3s ease}.hero__meta-item:active svg{transform:scale(1.15) rotate(-5deg)}.hero__meta-item:last-child{grid-column:span 2}.participants__grid{grid-template-columns:repeat(4,1fr)}.related-grid{grid-template-columns:1fr}}.dashboard-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.dashboard-tabs::-webkit-scrollbar{display:none}.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 4px;font-size:15px;font-weight:600;color:var(--neutral-500);cursor:pointer;display:flex;align-items:center;white-space:nowrap;transition:all .2s ease}.tab-btn--active{color:var(--neutral-900);border-bottom-color:var(--red)}.homepage-hero{background:linear-gradient(135deg,#0f0f1a,#1a1128,#0f1f2e);min-height:420px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.homepage-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 80% at 30% 50%,rgba(249,61,58,.18) 0%,transparent 70%);pointer-events:none}.homepage-hero__inner{display:flex;flex-direction:column;justify-content:center;padding-top:56px;padding-bottom:56px;gap:0;position:relative;z-index:2}.homepage-hero__title{font-size:clamp(32px,4vw,52px);font-weight:800;color:#fff;line-height:1.15;margin:12px 0 16px;letter-spacing:-.02em}.homepage-hero__title span{color:var(--red)}.homepage-hero__desc{font-size:16px;color:#fff9;line-height:1.7;max-width:420px;margin-bottom:28px}.homepage-stats{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.homepage-stat{display:flex;flex-direction:column;align-items:flex-start}.homepage-stat span{font-size:24px;font-weight:800;color:#fff;line-height:1}.homepage-stat small{font-size:12px;color:#ffffff80;margin-top:2px}.homepage-stat__divider{width:1px;height:36px;background:#ffffff26}.homepage-hero__images{position:relative;overflow:hidden}.homepage-hero__img{position:absolute;object-fit:cover;border-radius:12px}.homepage-hero__img--1{width:65%;height:85%;top:7%;right:4%;box-shadow:0 20px 60px #00000080}.homepage-hero__img--2{width:38%;height:50%;bottom:5%;left:2%;box-shadow:0 12px 32px #0006;border:3px solid rgba(255,255,255,.08)}.homepage-hero__img--3{width:34%;height:36%;top:8%;left:4%;box-shadow:0 8px 24px #00000059;border:3px solid rgba(255,255,255,.08)}.hp-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:2px solid var(--neutral-100);padding-bottom:0}.hp-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;color:var(--neutral-500);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;border-radius:0;transition:color .18s,border-color .18s;white-space:nowrap}.hp-tab:hover{color:var(--neutral-700)}.hp-tab--active{color:var(--red);border-bottom-color:var(--red)}.hp-tab svg{flex-shrink:0}.hp-filter-btn{background:var(--neutral-100);border:1px solid var(--neutral-200);border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600;color:var(--neutral-600);cursor:pointer;transition:all .18s ease}.hp-filter-btn:hover{background:var(--neutral-200)}.hp-filter-btn--active{background:var(--red);border-color:var(--red);color:#fff}.homepage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hp-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000012;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .22s ease,transform .22s ease;border:1px solid var(--neutral-100)}.hp-card:hover{box-shadow:0 8px 32px #00000021;transform:translateY(-3px)}.hp-card--full{opacity:.75}.hp-card--skeleton{height:280px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;cursor:default}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hp-card__img{position:relative;height:180px;overflow:hidden;flex-shrink:0}.hp-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.hp-card:hover .hp-card__img img{transform:scale(1.04)}.hp-badge{position:absolute;top:10px;left:10px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.02em}.hp-badge--today{background:var(--red)}.hp-badge--soon{background:#f97316}.hp-badge--full{background:var(--neutral-700)}.hp-reg-chip{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.02em;white-space:nowrap}.hp-reg-chip--accepted{background:#dcfce7;color:#15803d}.hp-reg-chip--pending{background:#fef9c3;color:#854d0e}.hp-reg-chip--rejected{background:#fee2e2;color:#b91c1c}.hp-card__slots-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff40}.hp-card__slots-bar div{height:100%;background:var(--red);border-radius:4px;transition:width .5s ease}.hp-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.hp-card__title{font-size:15px;font-weight:700;color:var(--neutral-900);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.hp-card__meta{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--neutral-500)}.hp-card__meta svg{flex-shrink:0;color:var(--neutral-400)}.hp-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--neutral-100)}.hp-card__price{font-size:14px;font-weight:700;color:var(--red)}@media (max-width: 900px){.homepage-hero{grid-template-columns:1fr;min-height:auto}.homepage-hero__images{display:none}.homepage-hero__inner{padding-top:40px;padding-bottom:40px}.homepage-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 580px){.homepage-grid{grid-template-columns:1fr}.homepage-hero__title{font-size:28px}}.hp-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--neutral-200);border-radius:8px;padding:6px 28px 6px 12px;font-size:13px;font-weight:500;color:var(--neutral-700);cursor:pointer;outline:none;transition:border-color .18s}.hp-select:focus{border-color:var(--red)}.hp-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--neutral-100)}.hp-page-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--neutral-200);border-radius:8px;background:var(--white);color:var(--neutral-700);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center}.hp-page-btn:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300)}.hp-page-btn--active{background:var(--red);border-color:var(--red);color:#fff}.hp-page-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 580px){.hp-pagination{justify-content:center}}.right-sidebar{display:flex;flex-direction:column;gap:16px}.cta-app-banner{display:flex;background:var(--primary-50, #EEF8FF);border-radius:12px;overflow:hidden;position:relative;text-decoration:none;box-shadow:0 4px 12px #2563eb0d}.cta-app-banner__left{flex:1;padding:24px;display:flex;flex-direction:column}.cta-app-banner__title{font-size:14px;font-weight:800;color:var(--blue-dark, #1A338E);margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.cta-app-banner__subtitle{font-size:16px;font-weight:700;color:var(--blue-dark, #1A338E);margin:0 0 12px}.cta-app-banner__desc{font-size:13px;color:var(--neutral-700);margin:0 0 16px;line-height:1.5}.cta-app-banner__list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px}.cta-app-banner__list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--neutral-700);font-weight:500}.cta-app-banner__list svg{width:16px;height:16px;color:var(--blue-dark, #1A338E);margin-top:2px;flex-shrink:0}.cta-app-banner__download{display:flex;align-items:center;gap:16px;margin-top:auto}.cta-app-banner__qr{width:64px;height:64px;border-radius:8px;object-fit:cover}.cta-app-banner__buttons{display:flex;gap:8px}.download-btn{display:inline-block;transition:transform .2s}.download-btn:hover{transform:translateY(-2px)}.download-btn img{height:36px;width:auto}.cta-app-banner__right{width:220px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding-right:24px}.cta-app-banner__mockup{width:100%;height:auto;max-height:120%;object-fit:contain;margin-bottom:-16px;display:block}@media (max-width: 500px){.cta-app-banner{flex-direction:column}.cta-app-banner__right{width:100%;height:auto;padding:0;margin-top:16px;align-items:center}.cta-app-banner__mockup{width:220px;margin-bottom:-20px}.cta-app-banner__buttons{flex-direction:column}}
