@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Space+Mono:wght@400;700&display=swap";.auth-bg{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.auth-container{z-index:1;width:100%;max-width:380px;position:relative}.auth-logo{font-family:var(--font-mono);justify-content:center;align-items:center;gap:12px;margin-bottom:24px;font-size:3rem;font-weight:700;display:flex}.auth-logo-separator{font-size:1.5rem}.auth-title{font-family:var(--font-display);text-align:center;letter-spacing:-.02em;margin:0 0 4px;font-size:1.8rem;font-weight:800}.auth-subtitle{text-align:center;color:var(--color-text-secondary);margin:0 0 32px;font-size:.95rem}.auth-form{flex-direction:column;gap:18px;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.input-field{border-radius:var(--border-radius-sm);font-family:var(--font-display);color:var(--color-text-primary);background:#ffffff0a;border:1px solid #ffffff1a;outline:none;width:100%;padding:14px 16px;font-size:1rem;transition:all .3s}.input-field::placeholder{color:var(--color-text-muted)}.input-field:focus{background:#00f0ff08;border-color:#00f0ff66;box-shadow:0 0 0 3px #00f0ff14}.auth-error{color:var(--color-red);border-radius:var(--border-radius-sm);text-align:center;background:#ef44441a;border:1px solid #ef444433;padding:12px 16px;font-size:.9rem}.auth-link{text-align:center;color:var(--color-text-secondary);margin-top:24px;font-size:.9rem}.auth-link a{color:var(--color-cyan);cursor:pointer;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.home-container{flex-direction:column;gap:20px;max-width:440px;margin:0 auto;padding:16px;display:flex}.stats-card{margin-top:8px}.stats-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.stats-avatar{background:var(--gradient-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.avatar-initials-lg{font-family:var(--font-display);color:#000;font-size:1.1rem;font-weight:800}.stats-user-info{flex-direction:column;display:flex}.stats-name{margin:0;font-size:1.2rem;font-weight:700}.stats-rating{color:var(--color-yellow);font-size:.85rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stat-item{text-align:center;background:#ffffff05;border-radius:8px;flex-direction:column;gap:4px;padding:8px 4px;display:flex}.home-menu{flex-direction:column;gap:12px;display:flex}.menu-btn{background:var(--gradient-card);border:var(--border-glass);border-radius:var(--border-radius);cursor:pointer;text-align:left;width:100%;color:var(--color-text-primary);align-items:center;gap:14px;padding:18px 20px;transition:all .3s;display:flex}.menu-btn:hover{border-color:#ffffff26;transform:translate(4px)}.menu-btn.find-match:hover{box-shadow:var(--shadow-glow-cyan);border-color:#00f0ff4d}.menu-btn.leaderboard:hover{border-color:#f59e0b4d;box-shadow:0 0 20px #f59e0b33}.menu-btn.profile:hover{box-shadow:var(--shadow-glow-purple);border-color:#a855f74d}.menu-btn.lobby:hover{box-shadow:var(--shadow-glow-green);border-color:#10b9814d}.menu-btn-icon{flex-shrink:0;font-size:1.8rem}.menu-btn-text{flex-direction:column;flex:1;gap:2px;display:flex}.menu-btn-title{font-size:1.05rem;font-weight:700}.menu-btn-desc{color:var(--color-text-muted);font-size:.8rem}.menu-btn-arrow{color:var(--color-text-muted);font-size:1.2rem;transition:transform .3s}.menu-btn:hover .menu-btn-arrow{transform:translate(4px)}.logout-btn{color:var(--color-text-muted);font-family:var(--font-display);cursor:pointer;text-align:center;background:0 0;border:none;padding:12px;font-size:.9rem}.logout-btn:hover{color:var(--color-red)}.matchmaking-container{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:80vh;padding:32px;display:flex}.search-animation{justify-content:center;align-items:center;width:160px;height:160px;margin-bottom:8px;display:flex;position:relative}.search-ring{border:2px solid;border-radius:50%;animation:2s ease-in-out infinite search-pulse;position:absolute}.ring-1{border-color:#00f0ff4d;width:100%;height:100%;animation-delay:0s}.ring-2{border-color:#a855f74d;width:75%;height:75%;animation-delay:.3s}.ring-3{border-color:#ec48994d;width:50%;height:50%;animation-delay:.6s}@keyframes search-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.search-icon{z-index:1;font-size:3rem;animation:3s ease-in-out infinite float}.search-title{font-family:var(--font-display);text-align:center;min-width:280px;margin:0;font-size:1.3rem;font-weight:700}.search-time{font-family:var(--font-mono);color:var(--color-text-muted);margin:0;font-size:2rem}.search-tips{text-align:center;max-width:300px;padding:16px}.tip-text{color:var(--color-text-secondary);margin:0;font-size:.9rem}.cancel-btn{max-width:200px}.match-found{text-align:center}.match-found-icon{margin-bottom:16px;font-size:5rem;animation:2s ease-in-out infinite float}.match-found-title{margin:0 0 8px;font-size:2rem;font-weight:800}.match-found-subtitle{color:var(--color-text-secondary);margin:0;font-size:1rem;animation:1.5s ease-in-out infinite breathing}.game-board-wrapper{justify-content:center;align-items:center;padding:16px;display:flex}.game-board{aspect-ratio:1;border-radius:var(--border-radius);border:var(--border-glass);background:#ffffff08;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;max-width:340px;padding:6px;display:grid}.board-cell{aspect-ratio:1;border-radius:var(--border-radius-sm);cursor:default;background:#ffffff05;border:1px solid #ffffff0f;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.board-cell.clickable{cursor:pointer}.board-cell.clickable:hover{background:#00f0ff14;border-color:#00f0ff33;transform:scale(1.03)}.board-cell.clickable:hover .cell-hint{opacity:.25}.board-cell.clickable:active{transform:scale(.97)}.board-cell.filled{background:#ffffff0a}.board-cell.winning{animation:1s ease-in-out infinite pulse-glow}.board-cell.winning.cell-x{background:#00f0ff1a;border-color:#00f0ff66;box-shadow:0 0 25px #00f0ff4d}.board-cell.winning.cell-o{background:#a855f71a;border-color:#a855f766;box-shadow:0 0 25px #a855f74d}.cell-value{font-family:var(--font-mono);-webkit-user-select:none;user-select:none;font-size:3rem;font-weight:700;line-height:1}.animate-spin-in{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards spin-in}.cell-hint{font-family:var(--font-mono);opacity:0;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:700;transition:opacity .2s}.game-board.game-over .board-cell:not(.winning){opacity:.4}.board-cell.clickable:after{content:"";border-radius:var(--border-radius-sm);opacity:0;background:linear-gradient(135deg,#00f0ff1a,#0000);transition:opacity .3s;position:absolute;inset:-1px}.board-cell.clickable:hover:after{opacity:1}.game-result-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-result-card{background:var(--gradient-card);border:var(--border-glass);border-radius:var(--border-radius-lg);text-align:center;z-index:1001;width:90%;max-width:320px;padding:40px 32px;position:relative}.game-result-card.result-green{border-color:#10b9814d;box-shadow:0 0 40px #10b98133}.game-result-card.result-red{border-color:#ef44444d;box-shadow:0 0 40px #ef444433}.game-result-card.result-yellow{border-color:#f59e0b4d;box-shadow:0 0 40px #f59e0b33}.result-emoji{margin-bottom:12px;font-size:4rem}.result-title{font-family:var(--font-display);margin:0 0 4px;font-size:2rem;font-weight:800}.result-green .result-title{color:var(--color-green)}.result-red .result-title{color:var(--color-red)}.result-yellow .result-title{color:var(--color-yellow)}.result-subtitle{color:var(--color-text-secondary);margin:0 0 28px;font-size:1rem}.result-actions{flex-direction:column;gap:12px;display:flex}.confetti-container{z-index:1000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:3px;animation:linear forwards confetti-fall;position:absolute;top:-20px}.player-card{border-radius:var(--border-radius-sm);background:#ffffff08;border:1px solid #ffffff0f;align-items:center;gap:12px;padding:12px 16px;transition:all .3s;display:flex}.player-card.active{background:#00f0ff0d;border-color:#00f0ff4d;box-shadow:0 0 15px #00f0ff1a}.player-card.active.mark-o{background:#a855f70d;border-color:#a855f74d;box-shadow:0 0 15px #a855f71a}.player-card.compact{padding:8px 12px}.player-avatar{background:var(--gradient-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.compact .player-avatar{width:36px;height:36px}.player-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-initials{font-family:var(--font-display);color:#000;font-size:.85rem;font-weight:700}.player-mark{font-family:var(--font-mono);background:var(--color-bg-primary);border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;bottom:-4px;right:-4px}.player-info{flex-direction:column;gap:2px;min-width:0;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.player-rating{color:var(--color-text-muted);font-size:.8rem}.game-container{flex-direction:column;gap:12px;max-width:440px;margin:0 auto;padding:12px 16px;display:flex}.game-players{align-items:center;gap:8px;display:flex}.game-players>.player-card{flex:1}.vs-badge{font-family:var(--font-mono);color:var(--color-text-muted);background:#ffffff0a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.connection-status{color:var(--color-yellow);justify-content:center;align-items:center;gap:8px;padding:8px;font-size:.85rem;animation:2s ease-in-out infinite breathing;display:flex}.connection-dot{background:var(--color-yellow);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite pulse-glow}.turn-indicator{text-align:center;min-height:36px;padding:8px;font-size:1rem;font-weight:700}.turn-indicator.my-turn{animation:2s ease-in-out infinite pulse-glow}.leaderboard-container{max-width:440px;margin:0 auto;padding:16px}.leaderboard-list{flex-direction:column;gap:8px;display:flex}.leaderboard-item{background:var(--gradient-card);border:var(--border-glass);border-radius:var(--border-radius-sm);align-items:center;gap:12px;padding:14px 16px;transition:all .3s;display:flex}.leaderboard-item:hover{border-color:#ffffff1f;transform:translate(4px)}.leaderboard-item.top-1{background:linear-gradient(145deg,#ffd70014,#111827e6);border-color:#ffd7004d}.leaderboard-item.top-2{background:linear-gradient(145deg,#c0c0c00f,#111827e6);border-color:#c0c0c04d}.leaderboard-item.top-3{background:linear-gradient(145deg,#cd7f320f,#111827e6);border-color:#cd7f324d}.rank-badge{text-align:center;width:36px;color:var(--color-text-muted);font-size:1.2rem;font-weight:700;font-family:var(--font-mono);flex-shrink:0}.lb-avatar{background:var(--gradient-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.lb-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lb-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.lb-stats{color:var(--color-text-muted);font-size:.75rem}.lb-rating{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.lb-rating-value{font-family:var(--font-mono);color:var(--color-yellow);font-size:1.1rem;font-weight:700}.lb-rating-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.loading-state,.empty-state{min-height:50vh;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-icon,.empty-icon{margin-bottom:12px;font-size:3rem}.profile-container{flex-direction:column;gap:16px;max-width:440px;margin:0 auto;padding:16px;display:flex}.profile-header{text-align:center;padding:32px 24px}.profile-avatar-lg{background:var(--gradient-primary);width:80px;height:80px;box-shadow:var(--shadow-glow-cyan);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.avatar-initials-xl{font-family:var(--font-display);color:#000;font-size:1.5rem;font-weight:800}.profile-name{margin:0 0 4px;font-size:1.4rem;font-weight:700}.profile-email{color:var(--color-text-muted);margin:0 0 12px;font-size:.85rem}.profile-rating-badge{color:var(--color-yellow);background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:20px;padding:6px 16px;font-size:.9rem;font-weight:700;display:inline-block}.section-title{color:var(--color-text-secondary);margin:0 0 16px;font-size:1rem;font-weight:700}.section-header{justify-content:space-between;align-items:center;display:flex}.edit-btn{color:var(--color-cyan);cursor:pointer;font-size:.8rem;font-family:var(--font-display);background:0 0;border:1px solid #ffffff1a;border-radius:8px;padding:6px 12px}.profile-stats-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.profile-stat{text-align:center;flex-direction:column;gap:4px;display:flex}.edit-form{flex-direction:column;gap:16px;margin-top:8px;display:flex}.textarea{resize:vertical;min-height:80px;font-family:var(--font-display)}.interests-grid{flex-wrap:wrap;gap:8px;display:flex}.interest-tag{color:var(--color-text-secondary);cursor:pointer;font-size:.8rem;font-family:var(--font-display);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;padding:6px 14px;transition:all .2s}.interest-tag.selected{color:var(--color-cyan);background:#00f0ff26;border-color:#00f0ff66}.edit-actions{gap:12px;display:flex}.edit-actions .btn-primary,.edit-actions .btn-secondary{flex:1}.profile-details{flex-direction:column;gap:12px;display:flex}.detail-bio{color:var(--color-text-secondary);border-bottom:var(--border-glass);margin:0;padding-bottom:12px;font-size:.95rem;line-height:1.5}.detail-row{justify-content:space-between;align-items:center;display:flex}.detail-label{color:var(--color-text-muted);font-size:.85rem}.detail-value{font-size:.9rem;font-weight:500}.logout-btn-profile{color:var(--color-red);border-radius:var(--border-radius-sm);font-family:var(--font-display);cursor:pointer;background:#ef444414;border:1px solid #ef444433;width:100%;padding:14px;font-size:1rem;font-weight:600;transition:all .3s}.logout-btn-profile:hover{background:#ef444426}:root{--ion-color-primary:#0054e9;--ion-color-primary-rgb:0, 84, 233;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255, 255, 255;--ion-color-primary-shade:#004acd;--ion-color-primary-tint:#1a65eb;--ion-color-secondary:#0163aa;--ion-color-secondary-rgb:1, 99, 170;--ion-color-secondary-contrast:#fff;--ion-color-secondary-contrast-rgb:255, 255, 255;--ion-color-secondary-shade:#015796;--ion-color-secondary-tint:#1a73b3;--ion-color-tertiary:#6030ff;--ion-color-tertiary-rgb:96, 48, 255;--ion-color-tertiary-contrast:#fff;--ion-color-tertiary-contrast-rgb:255, 255, 255;--ion-color-tertiary-shade:#542ae0;--ion-color-tertiary-tint:#7045ff;--ion-color-success:#2dd55b;--ion-color-success-rgb:45, 213, 91;--ion-color-success-contrast:#000;--ion-color-success-contrast-rgb:0, 0, 0;--ion-color-success-shade:#28bb50;--ion-color-success-tint:#42d96b;--ion-color-warning:#ffc409;--ion-color-warning-rgb:255, 196, 9;--ion-color-warning-contrast:#000;--ion-color-warning-contrast-rgb:0, 0, 0;--ion-color-warning-shade:#e0ac08;--ion-color-warning-tint:#ffca22;--ion-color-danger:#c5000f;--ion-color-danger-rgb:197, 0, 15;--ion-color-danger-contrast:#fff;--ion-color-danger-contrast-rgb:255, 255, 255;--ion-color-danger-shade:#ad000d;--ion-color-danger-tint:#cb1a27;--ion-color-light:#f4f5f8;--ion-color-light-rgb:244, 245, 248;--ion-color-light-contrast:#000;--ion-color-light-contrast-rgb:0, 0, 0;--ion-color-light-shade:#d7d8da;--ion-color-light-tint:#f5f6f9;--ion-color-medium:#636469;--ion-color-medium-rgb:99, 100, 105;--ion-color-medium-contrast:#fff;--ion-color-medium-contrast-rgb:255, 255, 255;--ion-color-medium-shade:#57585c;--ion-color-medium-tint:#737478;--ion-color-dark:#222428;--ion-color-dark-rgb:34, 36, 40;--ion-color-dark-contrast:#fff;--ion-color-dark-contrast-rgb:255, 255, 255;--ion-color-dark-shade:#1e2023;--ion-color-dark-tint:#383a3e}html.ios{--ion-default-font:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font:"Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font:-apple-system-body;--ion-font-family:var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (width>=768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity:.18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity:0;--box-shadow:none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base:var(--ion-color-primary,#0054e9)!important;--ion-color-base-rgb:var(--ion-color-primary-rgb,0, 84, 233)!important;--ion-color-contrast:var(--ion-color-primary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-primary-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-primary-shade,#004acd)!important;--ion-color-tint:var(--ion-color-primary-tint,#1a65eb)!important}.ion-color-secondary{--ion-color-base:var(--ion-color-secondary,#0163aa)!important;--ion-color-base-rgb:var(--ion-color-secondary-rgb,1, 99, 170)!important;--ion-color-contrast:var(--ion-color-secondary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-secondary-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-secondary-shade,#015796)!important;--ion-color-tint:var(--ion-color-secondary-tint,#1a73b3)!important}.ion-color-tertiary{--ion-color-base:var(--ion-color-tertiary,#6030ff)!important;--ion-color-base-rgb:var(--ion-color-tertiary-rgb,96, 48, 255)!important;--ion-color-contrast:var(--ion-color-tertiary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-tertiary-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-tertiary-shade,#542ae0)!important;--ion-color-tint:var(--ion-color-tertiary-tint,#7045ff)!important}.ion-color-success{--ion-color-base:var(--ion-color-success,#2dd55b)!important;--ion-color-base-rgb:var(--ion-color-success-rgb,45, 213, 91)!important;--ion-color-contrast:var(--ion-color-success-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-success-contrast-rgb,0, 0, 0)!important;--ion-color-shade:var(--ion-color-success-shade,#28bb50)!important;--ion-color-tint:var(--ion-color-success-tint,#42d96b)!important}.ion-color-warning{--ion-color-base:var(--ion-color-warning,#ffc409)!important;--ion-color-base-rgb:var(--ion-color-warning-rgb,255, 196, 9)!important;--ion-color-contrast:var(--ion-color-warning-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-warning-contrast-rgb,0, 0, 0)!important;--ion-color-shade:var(--ion-color-warning-shade,#e0ac08)!important;--ion-color-tint:var(--ion-color-warning-tint,#ffca22)!important}.ion-color-danger{--ion-color-base:var(--ion-color-danger,#c5000f)!important;--ion-color-base-rgb:var(--ion-color-danger-rgb,197, 0, 15)!important;--ion-color-contrast:var(--ion-color-danger-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-danger-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-danger-shade,#ad000d)!important;--ion-color-tint:var(--ion-color-danger-tint,#cb1a27)!important}.ion-color-light{--ion-color-base:var(--ion-color-light,#f4f5f8)!important;--ion-color-base-rgb:var(--ion-color-light-rgb,244, 245, 248)!important;--ion-color-contrast:var(--ion-color-light-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-light-contrast-rgb,0, 0, 0)!important;--ion-color-shade:var(--ion-color-light-shade,#d7d8da)!important;--ion-color-tint:var(--ion-color-light-tint,#f5f6f9)!important}.ion-color-medium{--ion-color-base:var(--ion-color-medium,#636469)!important;--ion-color-base-rgb:var(--ion-color-medium-rgb,99, 100, 105)!important;--ion-color-contrast:var(--ion-color-medium-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-medium-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-medium-shade,#57585c)!important;--ion-color-tint:var(--ion-color-medium-tint,#737478)!important}.ion-color-dark{--ion-color-base:var(--ion-color-dark,#222428)!important;--ion-color-base-rgb:var(--ion-color-dark-rgb,34, 36, 40)!important;--ion-color-contrast:var(--ion-color-dark-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-dark-contrast-rgb,255, 255, 255)!important;--ion-color-shade:var(--ion-color-dark-shade,#1e2023)!important;--ion-color-tint:var(--ion-color-dark-tint,#383a3e)!important}.ion-page{contain:layout size style;z-index:0;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{contain:layout style;height:100%;position:relative}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding:20px}@supports (padding-top:20px){html{--ion-safe-area-top:var(--ion-statusbar-padding)}}@supports (padding-top:env(safe-area-inset-top)){html{--ion-safe-area-top:var(--safe-area-inset-top,env(safe-area-inset-top));--ion-safe-area-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom));--ion-safe-area-left:var(--safe-area-inset-left,env(safe-area-inset-left));--ion-safe-area-right:var(--safe-area-inset-right,env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translate(0,0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow:hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-right-radius:8px;border-bottom-left-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width:0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width:0px;--inner-border-width:0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width:fit-content;--height:fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){height:0;display:none}b,strong{font-weight:700}img{max-width:100%}hr{box-sizing:content-box;border-width:0;height:1px}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{height:auto;font:inherit;color:inherit;overflow:auto}textarea::placeholder{padding-left:2px}form,input,optgroup,select{font:inherit;color:inherit;margin:0}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{font-family:inherit;font-style:inherit;font-variant:inherit;text-transform:none;cursor:pointer;-webkit-appearance:button;border:0;border-radius:0;padding:0;line-height:1}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}input[type=number]::-webkit-inner-spin-button{height:auto}input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:#0000;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;height:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0;position:fixed;overflow:hidden;transform:translateZ(0)}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout:none){html{font:var(--ion-dynamic-font,16px var(--ion-font-family))}}a{color:var(--ion-color-primary,#0054e9);background-color:#0000}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;padding:0}.ion-padding{--padding-start:var(--ion-padding,16px);--padding-end:var(--ion-padding,16px);--padding-top:var(--ion-padding,16px);--padding-bottom:var(--ion-padding,16px);-webkit-padding-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-top{--padding-top:var(--ion-padding,16px);padding-top:var(--ion-padding,16px)}.ion-padding-start{--padding-start:var(--ion-padding,16px);-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px)}.ion-padding-end{--padding-end:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}.ion-padding-bottom{--padding-bottom:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-vertical{--padding-top:var(--ion-padding,16px);--padding-bottom:var(--ion-padding,16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-horizontal{--padding-start:var(--ion-padding,16px);--padding-end:var(--ion-padding,16px);-webkit-padding-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}.ion-no-margin{--margin-start:0;--margin-end:0;--margin-top:0;--margin-bottom:0;margin:0}.ion-margin{--margin-start:var(--ion-margin,16px);--margin-end:var(--ion-margin,16px);--margin-top:var(--ion-margin,16px);--margin-bottom:var(--ion-margin,16px);-webkit-margin-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-top{--margin-top:var(--ion-margin,16px);margin-top:var(--ion-margin,16px)}.ion-margin-start{--margin-start:var(--ion-margin,16px);-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px)}.ion-margin-end{--margin-end:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}.ion-margin-bottom{--margin-bottom:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-vertical{--margin-top:var(--ion-margin,16px);--margin-bottom:var(--ion-margin,16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-horizontal{--margin-start:var(--ion-margin,16px);--margin-end:var(--ion-margin,16px);-webkit-margin-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media (width>=576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media (width>=768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media (width>=992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media (width>=1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}:root{--color-bg-primary:#0a0e1a;--color-bg-secondary:#111827;--color-bg-card:#111827cc;--color-bg-glass:#ffffff08;--color-cyan:#00f0ff;--color-purple:#a855f7;--color-pink:#ec4899;--color-green:#10b981;--color-red:#ef4444;--color-yellow:#f59e0b;--color-orange:#f97316;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--gradient-primary:linear-gradient(135deg, #00f0ff, #a855f7);--gradient-x:linear-gradient(135deg, #00f0ff, #06b6d4);--gradient-o:linear-gradient(135deg, #a855f7, #ec4899);--gradient-win:linear-gradient(135deg, #10b981, #34d399);--gradient-card:linear-gradient(145deg, #111827e6, #1e293b80);--shadow-glow-cyan:0 0 20px #00f0ff4d;--shadow-glow-purple:0 0 20px #a855f74d;--shadow-glow-green:0 0 20px #10b9814d;--border-glass:1px solid #ffffff14;--border-radius:16px;--border-radius-sm:10px;--border-radius-lg:24px;--font-display:"Outfit", sans-serif;--font-mono:"Space Mono", monospace;--ion-background-color:var(--color-bg-primary);--ion-text-color:var(--color-text-primary);--ion-toolbar-background:#0a0e1ae6;--ion-toolbar-color:var(--color-text-primary);--ion-item-background:transparent;--ion-card-background:var(--color-bg-card)}*{box-sizing:border-box}body{font-family:var(--font-display);background:var(--color-bg-primary);color:var(--color-text-primary);margin:0;overflow-x:hidden}ion-content{--background:var(--color-bg-primary)}ion-header ion-toolbar{--background:#0a0e1af2;--border-color:#ffffff0d}ion-title{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}ion-button{--border-radius:var(--border-radius-sm);font-family:var(--font-display);letter-spacing:.02em;text-transform:none;font-weight:600}ion-card{--background:var(--color-bg-card);border:var(--border-glass);border-radius:var(--border-radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}ion-input,ion-textarea{--background:#ffffff0a;--border-radius:var(--border-radius-sm);--padding-start:16px;--color:var(--color-text-primary);font-family:var(--font-display)}ion-item{--background:transparent;--border-color:#ffffff0f;--padding-start:0}.glass-card{background:var(--gradient-card);border:var(--border-glass);border-radius:var(--border-radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:24px}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-x{background:var(--gradient-x);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-o{background:var(--gradient-o);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{background:var(--gradient-primary);color:#000;border-radius:var(--border-radius-sm);font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-glow-cyan);border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 28px;font-size:1rem;font-weight:700;transition:all .3s;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #00f0ff80}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-text-primary);border-radius:var(--border-radius-sm);font-family:var(--font-display);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 28px;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.stat-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-10px)rotate(5deg)}66%{transform:translateY(5px)rotate(-3deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #00f0ff33}50%{box-shadow:0 0 40px #00f0ff80}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes spin-in{0%{opacity:0;transform:scale(0)rotate(-180deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes breathing{0%,to{opacity:.3}50%{opacity:1}}.animate-slide-up{animation:.5s ease-out forwards slide-up}.animate-scale-in{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards scale-in}.animate-float{animation:6s ease-in-out infinite float}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.page-container{flex-direction:column;min-height:100vh;padding:16px;display:flex}.page-center{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.bg-particles{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.bg-particle{font-family:var(--font-mono);opacity:.06;-webkit-user-select:none;user-select:none;font-size:1.2rem;font-weight:700;animation:8s ease-in-out infinite float;position:absolute}.bg-particle.x{color:var(--color-cyan)}.bg-particle.o{color:var(--color-purple)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}
