*,:before,:after{box-sizing:border-box;margin:0;padding:0}.search-progress{z-index:0;pointer-events:none;background:linear-gradient(90deg,#ff000059,#ff9a0059,#ffff0059,#00c85059,#00b4ff59,#8250ff59,#ff00c859,#ff000059) 0 0/300% 100%;border-radius:12px;height:100%;transition:width .15s ease-out;animation:2s linear infinite rainbow-shimmer;position:absolute;top:0;left:0}@keyframes rainbow-shimmer{0%{background-position:0%}to{background-position:300%}}:root{--color-bg:#0e0e0e;--color-surface:#1a1a2e;--color-surface-hover:#1c213e;--color-text:#fff;--color-text-muted:#94a3b8;--color-border:#2a2f4a;--color-accent:#00f5ff;--color-win:#22c55e;--color-loss:#ef4444;--color-win-bg:#22c55e1f;--color-loss-bg:#ef44441f;--font-display:"Space Grotesk",system-ui,sans-serif;--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Menlo",monospace;--color-surface-alt:#232845;--radius:12px;--radius-sm:8px}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.5}a{color:inherit;text-decoration:none}input{font-family:inherit;font-size:inherit}.search-container{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:480px;position:relative}.search-input{z-index:1;border:2px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);background:0 0;outline:none;padding:14px 16px 14px 44px;font-size:1rem;transition:border-color .15s;position:relative}.search-input:focus{border-color:var(--color-accent)}.search-input::placeholder{color:var(--color-text-muted)}.search-icon{color:var(--color-text-muted);z-index:2;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-spinner{z-index:2;border:2px solid #94a3b84d;border-top-color:var(--color-text-muted);pointer-events:none;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;position:absolute;top:50%;left:16px;transform:translateY(-50%)}@keyframes spin{to{transform:translateY(-50%)rotate(360deg)}}.autocomplete-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);z-index:50;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 32px #0006}.autocomplete-item{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;padding:12px 16px;transition:background .1s;display:flex}.autocomplete-item:hover,.autocomplete-item.active{background:var(--color-surface-hover)}.autocomplete-item+.autocomplete-item{border-top:1px solid var(--color-border)}.autocomplete-name{font-size:.95rem;font-weight:600}.autocomplete-club{color:var(--color-text-muted);font-size:.8rem}.autocomplete-points{font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap;margin-left:12px;font-size:.85rem;font-weight:600}.profile-hero{max-width:1200px;margin:0 auto;padding:28px 16px 4px;position:relative}.player-name{font-family:var(--font-display);letter-spacing:-.035em;background:linear-gradient(180deg,var(--color-text)40%,#ffffff80 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.8rem;font-weight:700;line-height:1;position:relative}.has-club-colors .player-name{z-index:1;position:relative}.has-club-colors .player-name:before{content:"";background:linear-gradient(135deg,var(--club-primary)0%,var(--club-secondary)50%,var(--club-accent,var(--club-secondary))100%);opacity:.35;filter:blur(28px);z-index:-1;pointer-events:none;border-radius:16px;position:absolute;inset:-18px -32px -14px -16px}.player-name-row{align-items:center;gap:10px;display:flex}.favorite-btn{color:var(--color-text-muted);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:6px;line-height:0;transition:color .15s,transform .15s;position:relative}.favorite-btn:hover{color:#facc15;transform:scale(1.15)}.favorite-btn-active{color:#facc15}.seam-divider{width:140px;height:12px;margin-top:6px;display:block}.player-club{color:var(--color-text-muted);letter-spacing:.01em;margin-top:4px;font-size:.85rem;font-weight:400}.ranking-card{background:var(--color-surface);border-radius:var(--radius);margin-bottom:12px;padding:20px}[class*=rank-tier-] .ranking-card{background:0 0}[class*=rank-tier-]{border-radius:var(--radius);border:1.5px solid #0000;position:relative;overflow:hidden}[class*=rank-tier-]:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;opacity:0;position:absolute;inset:0}.rank-tier-elite{background:#facc1514;border-color:#facc1580;box-shadow:0 0 20px #facc1526,0 0 40px #eab30814,inset 0 1px #facc1526}.rank-tier-elite:before{opacity:1;background:linear-gradient(105deg,#0000 40%,#facc1512 45%,#fbbf241f 50%,#facc1512 55%,#0000 60%) 0 0/250% 100%;animation:4s ease-in-out infinite shimmer}.rank-tier-1{background:#a855f714;border-color:#c084fc73;box-shadow:0 0 16px #a855f71f,0 0 32px #8b5cf60f,inset 0 1px #c084fc1f}.rank-tier-1:before{opacity:1;background:linear-gradient(105deg,#0000 40%,#a855f70f 45%,#c084fc1a 50%,#a855f70f 55%,#0000 60%) 0 0/250% 100%;animation:5s ease-in-out infinite shimmer}.rank-tier-2{background:#00f5ff14;border-color:#00f5ff66;box-shadow:0 0 14px #00f5ff1a,inset 0 1px #00f5ff1a}.rank-tier-2:before{opacity:1;background:linear-gradient(105deg,#0000 42%,#00f5ff0d 47%,#00f5ff14 50%,#00f5ff0d 53%,#0000 58%) 0 0/250% 100%;animation:6s ease-in-out infinite shimmer}.rank-tier-3{background:#22c55e14;border-color:#4ade8059;box-shadow:0 0 10px #22c55e14,inset 0 1px #4ade801a}.rank-tier-3:before{opacity:1;background:linear-gradient(105deg,#0000 43%,#4ade800a 48%,#4ade800f 50%,#4ade800a 52%,#0000 57%) 0 0/250% 100%;animation:7s ease-in-out infinite shimmer}.rank-tier-4{background:#2dd4bf14;border-color:#2dd4bf66;box-shadow:0 0 8px #2dd4bf0f,inset 0 1px #2dd4bf1a}.rank-tier-5{background:#fbbf2412;border-color:#fbbf2459;box-shadow:inset 0 1px #fbbf2414}.rank-tier-6{background:#d9775712;border-color:#d9775759;box-shadow:inset 0 1px #d9775714}.rank-tier-7{background:#94a3b80f;border-color:#94a3b840}@keyframes shimmer{0%,to{background-position:250%}50%{background-position:-50%}}.ranking-stats{align-items:baseline;gap:12px;display:flex}.ranking-points{font-size:3.5rem;font-weight:700;font-family:var(--font-mono);letter-spacing:-.035em;background:linear-gradient(#00f5ff 40%,#00f5ff80 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;line-height:1}.ranking-class-badge{text-transform:uppercase;letter-spacing:.06em;border:1.5px solid #0000;border-radius:6px;padding:4px 12px;font-size:.8rem;font-weight:800;display:inline-block}.ranking-class-badge.class-elite{color:#facc15;background:linear-gradient(135deg,#eab30840,#fbbf241a);border-color:#facc1599;box-shadow:0 0 12px #facc1533,inset 0 1px #ffffff1a}.ranking-class-badge.class-1{color:#c084fc;background:linear-gradient(135deg,#a855f738,#8b5cf614);border-color:#c084fc80;box-shadow:0 0 10px #a855f726,inset 0 1px #ffffff14}.ranking-class-badge.class-2{color:#00f5ff;background:linear-gradient(135deg,#00f5ff33,#00f5ff14);border-color:#00f5ff73;box-shadow:0 0 8px #00f5ff1f}.ranking-class-badge.class-3{color:#4ade80;background:linear-gradient(135deg,#22c55e2e,#4ade800f);border-color:#4ade8066}.ranking-class-badge.class-4{color:#2dd4bf;background:#14b8a61f;border-color:#2dd4bf4d}.ranking-class-badge.class-5,.ranking-class-badge.class-6,.ranking-class-badge.class-7{color:#94a3b8;background:#94a3b81a;border-color:#94a3b833}.ranking-class-info{flex-direction:column;align-self:center;gap:2px;display:flex}.ranking-position{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.75rem}.ranking-trends{flex-direction:column;gap:2px;margin-top:10px;display:flex}.ranking-trend{font-size:.82rem;font-weight:500;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.trend-up{color:var(--color-win)}.trend-down{color:var(--color-loss)}.trend-neutral{color:var(--color-text-muted)}.trend-projected{color:var(--color-text-muted);font-style:italic}.winrate-row{justify-content:center;gap:10px;margin-top:12px;display:flex}.winrate-badge{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:5px 10px;font-size:.8rem;display:flex}.winrate-badge-serie{background:#00f5ff14;border-left:2px solid #00f5ff66}.winrate-badge-tavling{background:#fbbf2414;border-left:2px solid #fbbf2466}.winrate-label{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.winrate-badge-serie .winrate-label{color:#00f5ffb3}.winrate-badge-tavling .winrate-label{color:#fbbf24b3}.winrate-record{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.winrate-wins{color:var(--color-win)}.winrate-losses{color:var(--color-loss)}.winrate-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.winrate-positive{color:var(--color-win)}.winrate-negative{color:var(--color-loss)}.bento-card-competitions{grid-column:1/-1}.section-label-competition{color:#fbbf24e6;background:linear-gradient(#fbbf2426 0%,#a855f726 50%,#00f5ff26 100%)}.comp-card{flex-direction:column;gap:16px;padding:12px 0;display:flex}.comp-section-title{text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);margin:0 0 8px;padding-bottom:4px;font-size:.7rem}.comp-title-sm{color:#fbbf24cc}.comp-title-qp{color:#a855f7cc}.comp-title-tour{color:#00f5ffcc}.comp-rows{flex-direction:column;gap:4px;display:flex}.comp-row{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 8px;font-size:.85rem;display:flex}.comp-row-label{color:var(--color-text-secondary);flex:1;font-size:.8rem}.comp-row-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font-weight:700}.comp-row-secondary{color:var(--color-text-muted);font-size:.75rem;font-family:var(--font-mono);text-align:right;min-width:40px}.comp-row-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:1px 6px;font-size:.65rem;font-weight:600}.comp-row-sm{background:#fbbf240f}.comp-row-sm .comp-row-value{color:#fbbf24}.comp-tag-sm{color:#fbbf24e6;background:#fbbf2426}.comp-row-reserve .comp-row-value{color:var(--color-text-muted)}.comp-row-cancelled{opacity:.5;text-decoration:line-through}.comp-row-qp{background:#a855f70d}.comp-row-qp .comp-row-value{color:#a855f7}.comp-row-tour{background:#00f5ff0a}.comp-row-tour .comp-row-value{color:#00f5ff}.comp-row-top12{background:#00f5ff14}.comp-row-top3{background:#fbbf2414}.comp-row-top3 .comp-row-value{color:#fbbf24}.comp-qual-mark{color:#22c55ee6;font-size:.75rem}.bento-card-labeled{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:row;display:flex;overflow:hidden}.section-label{border-radius:var(--radius)0 0 var(--radius);justify-content:center;align-items:center;width:28px;min-width:28px;display:flex;position:relative}.section-label span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;writing-mode:vertical-rl;text-orientation:mixed;color:#ffffffb3;white-space:nowrap;font-size:.65rem;font-weight:700;transform:rotate(180deg)}.section-label-series{background:linear-gradient(#00f5ff26,#00f5ff0a);border-right:1px solid #00f5ff33}.section-label-series span{color:#00f5ffb3}.section-label-tournament{background:linear-gradient(#fbbf2426,#fbbf240a);border-right:1px solid #fbbf2433}.section-label-tournament span{color:#fbbf24b3}.section-label-live{background:linear-gradient(#22c55e33,#22c55e0d);border-right:1px solid #22c55e40}.section-label-live span{color:#22c55ecc}.section-label-social{background:linear-gradient(#e1306c26,#833ab40a);border-right:1px solid #e1306c33}.section-label-social span{color:#e1306cb3}.social-icons-row{flex-wrap:wrap;gap:6px;display:flex}.social-icon-link{border-radius:var(--radius-sm);color:var(--color-text-muted);background:#ffffff0a;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s;display:flex}.social-icon-link:hover{background:#ffffff14}.social-icon-instagram:hover{color:#e1306c;box-shadow:0 0 12px #e1306c40}.social-icon-tiktok:hover{color:#00f2ea;box-shadow:0 0 12px #00f2ea40}.social-icon-x:hover{color:#fff;box-shadow:0 0 12px #ffffff26}.social-icon-youtube:hover{color:red;box-shadow:0 0 12px #ff000040}.social-icon-web:hover{color:var(--color-accent);box-shadow:0 0 12px #00f5ff40}.social-handle{white-space:nowrap}.social-embed-toggle{border-radius:var(--radius-sm);color:#e1306ccc;cursor:pointer;background:#e1306c14;border:1px solid #e1306c33;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;transition:background .15s;display:flex}.social-embed-toggle:hover{background:#e1306c26}.social-embed-close{color:var(--color-text-muted);background:#94a3b814;border-color:#94a3b833}.social-embed-close:hover{background:#94a3b826}.social-embed-container{border-radius:var(--radius);margin-top:10px;overflow:hidden}.social-embed-container .instagram-media{min-height:300px}.bento-card-body{flex:1;min-width:0;padding:10px 12px}.bento-card-live{margin-bottom:12px}.match-list{flex-direction:column;gap:2px;display:flex}.match-item{border-radius:var(--radius-sm);background:#ffffff05;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:48px;padding:10px 8px;transition:background .1s;display:grid}a.match-item{cursor:pointer}a.match-item:hover{background:var(--color-surface-hover)}.match-item.win{border-left:3px solid var(--color-win)}.match-item.loss{border-left:3px solid var(--color-loss)}.match-opponent{font-size:.9rem;font-weight:600}.match-detail{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:.78rem;display:flex}.match-source-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:1px 5px;font-size:.6rem;font-weight:600}.match-source-series{color:var(--color-accent);background:#00f5ff1f}.match-source-tournament{color:#fbbf24;background:#fbbf241f}.match-result{text-align:right}.match-score{font-size:.9rem;font-weight:700;font-family:var(--font-mono)}.match-points-change{font-size:.78rem;font-weight:600;font-family:var(--font-mono)}.expand-zone{position:relative}.expand-zone:not(.expanded):after{content:"";background:linear-gradient(to bottom,transparent,var(--color-bg));pointer-events:none;border-radius:0 0 var(--radius-sm)var(--radius-sm);height:40px;position:absolute;bottom:0;left:0;right:0}.series-card .expand-zone:not(.expanded):after{background:linear-gradient(to bottom,transparent,var(--color-surface))}.match-list-actions{justify-content:center;gap:8px;display:flex}.match-list-actions .expand-toggle{flex:0}.expand-toggle{cursor:pointer;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:28px;margin-top:-4px;padding:0;display:flex;position:relative}.expand-pill{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:10px;justify-content:center;align-items:center;width:36px;height:20px;transition:background .15s,border-color .15s,transform .15s;display:flex}.expand-toggle:hover .expand-pill{background:var(--color-border);border-color:var(--color-text-muted);transform:scale(1.1)}.expand-chevron{border-right:1.5px solid var(--color-text-muted);border-bottom:1.5px solid var(--color-text-muted);width:10px;height:10px;transition:transform .2s;display:block;transform:rotate(45deg)translateY(-1.5px)}.expand-chevron-up{transform:rotate(-135deg)translateY(-1.5px)}.expand-toggle:hover .expand-chevron{border-color:var(--color-text)}.history-graph-wrapper{display:flex;position:relative}.history-graph{background:var(--color-surface);border-radius:var(--radius);flex-direction:column;flex:1;min-width:0;min-height:160px;padding:16px;display:flex}.history-graph-content{flex:1;justify-content:center;align-items:center;animation:.35s ease-out history-fade-in;display:flex}@keyframes history-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.streak-shimmer{pointer-events:none;animation:3s ease-in-out infinite streak-shimmer-sweep}@keyframes streak-shimmer-sweep{0%{stroke-dashoffset:315px}to{stroke-dashoffset:-15px}}.history-tabs{z-index:1;flex-direction:column;gap:2px;margin-left:-1px;padding-top:12px;display:flex}.history-tab{writing-mode:vertical-rl;text-orientation:mixed;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;letter-spacing:.03em;border-left:none;border-radius:0 6px 6px 0;padding:10px 5px;font-size:.7rem;font-weight:600;transition:background .2s,color .2s}.history-tab:hover{color:var(--color-text);background:var(--color-surface)}.history-tab-active{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);border-left:1px solid var(--color-surface);margin-left:-1px}.graph-placeholder{color:var(--color-text-muted);text-align:center;font-size:.85rem}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:40;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.header-logo{font-family:var(--font-display);white-space:nowrap;color:var(--color-accent);flex-shrink:0;font-size:1.1rem;font-weight:700}.header .search-container{background:var(--color-bg);flex:1}.header .search-input{background:0 0;padding:10px 12px 10px 38px;font-size:16px}.home-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.home-logo{width:100%;max-width:540px;height:auto;margin-bottom:24px}.home-footer{margin-top:32px}.home-socials{justify-content:center;gap:20px;display:flex}.home-socials a{color:var(--color-text-muted);align-items:center;padding:8px;transition:color .15s;display:flex}.home-socials a:hover{color:var(--color-accent)}.bento-card-upcoming{margin-bottom:4px}.upcoming-tournaments{flex-direction:column;gap:8px;display:flex}.upcoming-tournament-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px}.upcoming-tournament-preview{opacity:.85}.upcoming-tournament-header{margin-bottom:10px}.upcoming-tournament-name{font-size:.95rem;font-weight:700;line-height:1.2}.upcoming-tournament-meta{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.upcoming-tournament-classes{flex-direction:column;gap:4px;display:flex}.upcoming-class-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.upcoming-class-name{font-size:.85rem;font-weight:600}.upcoming-class-meta{color:var(--color-text-muted);white-space:nowrap;font-size:.7rem}.upcoming-tournament-classes-preview{color:var(--color-text-muted);margin-top:4px;font-size:.8rem}.upcoming-tournament-countdown{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);margin-top:8px;font-size:.7rem;font-weight:700}.favorite-players{width:100%;max-width:480px;margin-top:24px}.favorite-players-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:10px;font-size:.7rem;font-weight:600}.favorite-players-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.fav-next-match{border-top:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:4px;margin-top:6px;padding-top:6px;font-size:.65rem;line-height:1.2;display:flex;overflow:hidden}.fav-next-live{color:var(--color-win)}.fav-live-dot{background:#f44;border-radius:50%;width:6px;min-width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-dot}.fav-next-day{font-weight:600}.fav-next-time{color:var(--color-cyan);font-weight:600}.fav-next-opponent{text-overflow:ellipsis;overflow:hidden}.top-player-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;cursor:pointer;flex:1;padding:16px;transition:border-color .15s,transform .15s}.top-player-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.top-player-name{font-size:.95rem;font-weight:700;line-height:1.2}.top-player-club{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.top-player-young{color:var(--color-accent);letter-spacing:.03em;margin-top:10px;font-size:.82rem;font-weight:600}.top-player-stats{align-items:baseline;gap:8px;margin-top:10px;display:flex}.top-player-points{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--color-accent);font-size:1.3rem;font-weight:700;line-height:1}.profile-page{min-height:100dvh;margin:0 auto;padding-bottom:32px}.profile-content{max-width:1200px;margin:0 auto;padding:12px 16px}.bento-grid{flex-direction:column;gap:4px;display:flex}.bento-card-primary .ranking-card{margin-bottom:0}.minor-blur-container{position:relative}.minor-blur-container>:not(.minor-overlay){filter:blur(12px);opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none}.minor-overlay{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.minor-overlay-label{font-family:var(--font-display);color:var(--color-accent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a1a2ecc;border:1px solid #00f5ff40;border-radius:20px;padding:8px 20px;font-size:1.1rem;font-weight:700}.minor-overlay-sub{color:var(--color-text-muted);text-align:center;max-width:200px;font-size:.75rem;line-height:1.3}.minor-blur-text{filter:blur(10px);-webkit-user-select:none;user-select:none}@media (min-width:768px){.bento-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bento-card-primary{grid-area:1/1}.bento-card-history{grid-area:1/2}.bento-card-competitions{grid-area:2/1/auto/-1}.bento-card-social{grid-area:3/1/auto/-1}.bento-card-social .bento-card-body{align-items:center;gap:16px;padding:8px 12px;display:flex}.bento-card-social .social-icons-row{flex-wrap:nowrap}.bento-card-social .social-embed-section{flex:1;min-width:0;margin-top:0}.bento-card-matches{grid-area:4/1}.bento-card-series{grid-area:4/2}.bento-card-tournaments{grid-area:5/1/auto/-1}.bento-card-primary .ranking-card,.bento-card-history,.bento-card-matches,.bento-card-series{height:100%}.bento-card-history .history-graph{flex:1}.profile-content{padding:20px 24px}.profile-hero{padding:36px 24px 8px}.profile-hero .player-name{font-size:2.8rem}}@media (min-width:1024px){.bento-grid{grid-template-columns:minmax(320px,400px) 1fr}.profile-content{padding:24px 32px}.profile-hero{padding:44px 32px 8px}.profile-hero .player-name{font-size:3.2rem}.ranking-points{font-size:4rem}.favorite-players{max-width:560px}.top-player-card{padding:20px}.top-player-name{font-size:1.05rem}.top-player-points{font-size:1.5rem}}@media (max-width:359px){.profile-content{padding:8px}.section-label{width:22px;min-width:22px}.section-label span{font-size:.55rem}}.site-footer{text-align:center;color:var(--color-text-muted);padding:24px 16px 32px;font-size:.75rem;line-height:1.6}.site-footer-data{margin-bottom:4px}.site-footer-copy{opacity:.6}.share-button-wrapper{text-align:center;margin-top:16px}.share-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);cursor:pointer;align-items:center;gap:6px;padding:12px 20px;font-size:.85rem;transition:background .1s;display:inline-flex}.share-btn:hover{background:var(--color-surface-hover)}.series-card{background:0 0;border-radius:0;overflow:hidden}.series-header{padding:10px 4px 8px}.series-header-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.series-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.series-team-name{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:700;overflow:hidden}.series-header-meta{color:var(--color-text-muted);align-items:center;gap:5px;margin-top:3px;font-size:.78rem;display:flex}.series-meta-sep{opacity:.5}.series-personal{color:var(--color-text-muted);align-items:center;gap:5px;margin-top:2px;font-size:.78rem;display:flex}.series-personal-label{color:var(--color-electric-cyan);font-weight:600}.series-roster{color:var(--color-text-muted);margin-top:3px;font-size:.75rem;line-height:1.4}.series-roster-sep{opacity:.4}.series-roster-link{color:var(--color-text-muted);text-decoration:none}.series-roster-link:hover{color:var(--color-text);text-decoration:underline}.series-next-match{color:var(--color-text-muted);border-top:1px solid var(--color-border);align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;display:flex}.series-next-label{color:var(--color-text-muted);font-weight:600}.series-next-day{color:var(--color-text);font-weight:500}.series-next-time{color:var(--color-text-muted);font-size:.72rem}.series-next-opponent{color:var(--color-text);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.series-hype-banner{text-align:center;letter-spacing:.02em;padding:10px 12px 6px;font-size:.9rem;font-weight:800;animation:.5s ease-out hype-entrance}.series-hype-champion{background:linear-gradient(110deg,#b48c140f 0%,#eac53226 40%,#fff09614 50%,#b48c140f 60%,#a0780a0a 100%) 0 0/250% 100%;border-color:#eab30866;animation:3s ease-in-out infinite hype-metal-shimmer}.series-hype-champion .series-hype-banner{color:#fde047;font-size:1rem}.series-hype-silver{background:linear-gradient(110deg,#94a3b80d 0%,#c8d2e11f 40%,#ffffff12 50%,#94a3b80d 60%,#788ca50a 100%) 0 0/250% 100%;border-color:#cbd5e14d;animation:3s ease-in-out infinite hype-metal-shimmer}.series-hype-silver .series-hype-banner{color:#e2e8f0}.series-hype-bronze{background:linear-gradient(110deg,#b46e3c0f 0%,#dca05a1f 40%,#ffc8820f 50%,#b46e3c0f 60%,#a05a320a 100%) 0 0/250% 100%;border-color:#cd853f59;animation:3s ease-in-out infinite hype-metal-shimmer}.series-hype-bronze .series-hype-banner{color:#dda15e}.series-hype-banner{position:relative}.series-hype-share-btn{width:32px;height:32px;color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.series-hype-share-btn:hover{background:#ffffff2e}.series-share-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .15s,color .15s;display:flex}.series-share-btn:hover{color:#fffc;background:#ffffff1f}.series-table{border-collapse:collapse;width:100%;font-size:.8rem}.series-th{text-align:center;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--color-border);padding:6px;font-size:.7rem;font-weight:600}.series-th-team{text-align:left;padding-left:16px}.series-td{text-align:center;border-top:1px solid var(--color-border);padding:7px 6px}.series-td-pos{text-align:left;width:24px;color:var(--color-text-muted);padding-left:16px}.series-td-team{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:180px;padding-left:4px;overflow:hidden}.series-td-points{font-weight:700}.series-row-highlight{background:#00f5ff1a}.series-row-highlight .series-td-team{color:var(--color-accent);font-weight:700}.match-banner{margin-bottom:12px}.match-banner-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);padding:0 0 6px;font-size:.7rem;font-weight:700}.match-banner-item{background:var(--color-surface);border-radius:var(--radius);border-left:3px solid var(--color-accent);padding:14px 16px}.match-banner-item+.match-banner-item{margin-top:6px}.match-banner-live{border-left-color:var(--color-win)}.match-banner-top{align-items:center;gap:8px;margin-bottom:10px;display:flex}.match-banner-live-dot{background:var(--color-win);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.match-banner-day{font-size:.85rem;font-weight:700}.match-banner-time{color:var(--color-cyan);font-size:.75rem;font-weight:600}.match-banner-venue{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}.match-banner-series{text-align:center;color:var(--color-text-muted);letter-spacing:.02em;margin-bottom:4px;font-size:.7rem;font-weight:600}.match-banner-teams{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.match-banner-team{color:var(--color-text-muted);font-size:.85rem}.match-banner-team:last-child{text-align:right}.match-banner-team-player{color:var(--color-text);font-weight:700}.match-banner-vs{color:var(--color-text-muted);text-align:center;min-width:40px;font-size:.75rem}.match-banner-score{color:var(--color-text);font-size:1rem;font-weight:800}.match-banner-stream{color:#f44;background:#ff00001a;border-radius:5px;align-items:center;gap:5px;margin-top:6px;padding:3px 10px;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.match-banner-stream:hover{background:#f003}.match-banner-streams{flex-direction:column;gap:3px;margin-top:6px;display:flex}.match-banner-streams .match-banner-stream{margin-top:0}.match-banner-stream.stream-live{color:#f33;background:#ff000026}.match-banner-stream-channel{opacity:.7;font-size:.7rem;font-weight:400}.match-banner-stream-title{opacity:.7;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.7rem;font-weight:400;overflow:hidden}.match-banner-games{flex-direction:column;gap:2px;margin-top:6px;font-size:.72rem;display:flex}.match-banner-game{opacity:.85;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0;display:flex}.match-banner-game-code{color:#ffffff80;min-width:28px;font-size:.65rem;font-weight:600}.match-banner-game-players{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.match-banner-doubles{white-space:nowrap;flex-direction:column;font-size:.72rem;line-height:1.3;display:flex}.match-banner-game-score{text-align:right;min-width:24px;font-weight:700}.match-banner-game-score.game-won{color:#4ecb71}.match-banner-game-score.game-lost{color:#ff6b6b}.match-banner-game-active{opacity:1;background:#4ecb7114;border-radius:4px;padding:3px 4px;animation:2s ease-in-out infinite pulse-game}@keyframes pulse-game{0%,to{background:#4ecb7114}50%{background:#4ecb712e}}.match-banner-game-active .match-banner-game-score{color:var(--color-win);font-weight:600}.match-banner-game-upcoming{opacity:.4}.match-banner-game-upcoming .match-banner-game-score{color:var(--color-text-muted);font-weight:400}.match-banner-game-sets{font-size:.7rem;font-family:var(--font-mono);color:var(--color-text-muted);gap:4px;margin-left:auto;display:flex}.match-banner-game-sets .set-won{color:#4ecb71}.match-banner-game-sets .set-lost{color:#ff6b6b;opacity:.7}.match-banner-game-live{color:var(--color-win);animation:1.5s ease-in-out infinite pulse-live}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.5}}.match-banner-share-btn{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:color .15s;display:flex}.match-banner-share-btn:hover{color:var(--color-accent)}.match-banner-expand{width:100%;color:var(--color-accent);cursor:pointer;text-align:center;opacity:.8;background:0 0;border:none;margin-top:6px;padding:4px 0;font-size:.7rem;font-weight:600;transition:opacity .15s;display:block}.match-banner-expand:hover{opacity:1}.match-banner-updated{color:var(--color-text-muted);opacity:.6;text-align:right;margin-top:4px;font-size:.65rem}.live-matches,.live-matches-event-group{margin-bottom:12px}.live-matches-event-name{color:var(--color-text);margin-bottom:4px;font-size:.9rem;font-weight:700}.live-stream-links{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.live-stream-link{color:#f44;background:#ff00001f;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.live-stream-link:hover{background:#ff000038}.live-stream-fallback{color:var(--color-text-muted);background:#ffffff0f}.live-stream-fallback:hover{background:#ffffff1a}.live-stream-icon{flex-shrink:0}.live-stream-channel{opacity:.7;font-size:.75rem;font-weight:400}.live-matches-classes-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.live-matches-class-card{border-radius:var(--radius-sm);background:#ffffff05;padding:10px 12px}.live-matches-classes-grid .live-match-item{background:var(--color-bg)}.live-matches-class-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.live-matches-class-header .tournament-class-badge{padding:3px 10px;font-size:.75rem}.live-matches-scored-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;width:100%;color:inherit;font:inherit;background:#ffffff0a;align-items:center;gap:10px;min-height:44px;padding:10px 12px;transition:background .15s;display:flex}.live-matches-scored-toggle:hover{background:#ffffff12}.live-matches-scored-label{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.live-matches-scored-summary{font-size:.85rem;font-weight:700}.live-matches-scored-chevron{width:24px;height:24px;color:var(--color-text-muted);background:#ffffff0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:.55rem;transition:background .15s;display:flex}.live-matches-scored-toggle:hover .live-matches-scored-chevron{background:#ffffff1f}.live-matches-section{margin-bottom:8px}.live-matches-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:0 0 4px;font-size:.65rem;font-weight:700}.live-match-item{background:var(--color-surface);border-radius:var(--radius-sm);border-left:3px solid var(--color-border);margin-bottom:4px;padding:10px 12px}.live-match-upcoming{border-left-color:var(--color-accent)}.live-match-playing{border-left-color:var(--color-win);background:#22c55e14}.live-match-won{border-left-color:var(--color-win)}.live-match-lost{border-left-color:var(--color-loss)}.live-match-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.live-match-dot{background:var(--color-win);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse-dot}.live-match-round{color:var(--color-text-muted);font-size:.7rem;font-weight:600}.live-match-knockout-badge{color:#fbbf24;letter-spacing:.02em;background:#fbbf2426;border:1px solid #fbbf244d;border-radius:4px;padding:1px 7px;font-size:.65rem;font-weight:800}.live-match-time{color:var(--color-text-muted);margin-left:auto;font-size:.7rem}.live-match-table{color:var(--color-text-muted);background:var(--color-surface-hover);border-radius:3px;padding:1px 6px;font-size:.65rem}.live-match-opponent{align-items:baseline;gap:6px;display:flex}.live-match-opponent-name{color:var(--color-text);font-size:.85rem;font-weight:600}.live-match-link{color:var(--color-text);border-bottom:1px solid var(--color-border);text-decoration:none;transition:border-color .15s}.live-match-link:hover{border-bottom-color:var(--color-accent)}.live-match-rating{color:var(--color-text-muted);font-size:.7rem;font-family:var(--font-mono)}.live-match-club{color:var(--color-text-muted);margin-top:1px;font-size:.7rem;display:block}.live-match-score-row{align-items:center;gap:8px;margin-top:4px;display:flex}.live-match-sets{align-items:center;gap:3px;display:flex}.live-match-set{font-size:.7rem;font-family:var(--font-mono);text-align:center;border-radius:3px;width:18px;padding:1px 0}.set-won{color:var(--color-win);background:var(--color-win-bg)}.set-lost{color:var(--color-loss);background:var(--color-loss-bg)}.live-match-result{border-radius:3px;margin-left:4px;padding:1px 5px;font-size:.65rem;font-weight:800}.result-win{color:var(--color-win);background:var(--color-win-bg)}.result-loss{color:var(--color-loss);background:var(--color-loss-bg)}.hype-banner{text-align:center;letter-spacing:.02em;padding:10px 12px 6px;font-size:.9rem;font-weight:800;animation:.5s ease-out hype-entrance}.hype-ko-16{border:1px solid #2dd4bf4d}.hype-ko-16 .hype-banner{color:#5eead4}.hype-ko-8{border:1px solid #38bdf84d}.hype-ko-8 .hype-banner{color:#7dd3fc}.hype-ko-quarter{border:1px solid #a855f74d}.hype-ko-quarter .hype-banner{color:#c4b5fd}.hype-bronze,.hype-final,.hype-champion{background-size:250% 100%;animation:3s ease-in-out infinite hype-metal-shimmer}.hype-bronze{background:linear-gradient(110deg,#b46e3c0f 0%,#dca05a1f 40%,#ffc8820f 50%,#b46e3c0f 60%,#a05a320a 100%) 0 0/250% 100%;border:1px solid #cd853f59}.hype-bronze .hype-banner{color:#dda15e}.hype-final{background:linear-gradient(110deg,#94a3b80d 0%,#c8d2e11f 40%,#ffffff12 50%,#94a3b80d 60%,#788ca50a 100%) 0 0/250% 100%;border:1px solid #cbd5e14d}.hype-final .hype-banner{color:#e2e8f0}.hype-champion{background:linear-gradient(110deg,#b48c140f 0%,#eac53226 40%,#fff09614 50%,#b48c140f 60%,#a0780a0a 100%) 0 0/250% 100%;border:1px solid #eab30866}.hype-champion .hype-banner{color:#fde047;font-size:1rem}@keyframes hype-entrance{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hype-metal-shimmer{0%,to{background-position:200%}50%{background-position:-50%}}.tournament-list,.tournament-season-group{flex-direction:column;gap:6px;display:flex}.tournament-season-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:8px 0 2px;font-size:.7rem;font-weight:700}.tournament-season-group:first-child .tournament-season-label{padding-top:0}.tournament-load-more{gap:8px;padding-top:8px;display:flex}.tournament-load-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex:1;padding:10px 16px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.tournament-load-btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.tournament-load-btn:disabled{opacity:.5;cursor:not-allowed}.tournament-load-all{color:#fbbf24cc;border-color:#fbbf244d}.tournament-load-all:hover:not(:disabled){color:#fbbf24;background:#fbbf2414}.tournament-card{border-radius:var(--radius-sm);background:#ffffff05;border:1.5px solid #0000;position:relative;overflow:hidden}.tournament-card.made-knockout{border-color:#94a3b840}.tournament-card.placement-gold{background:#facc1512;border-color:#facc1580;box-shadow:0 0 16px #facc151a,0 0 32px #eab3080d}.tournament-card.placement-gold:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(105deg,#0000 40%,#facc1512 45%,#fbbf241f 50%,#facc1512 55%,#0000 60%) 0 0/250% 100%;animation:4s ease-in-out infinite shimmer;position:absolute;inset:0}.tournament-card.placement-silver{background:#cbd5e112;border-color:#cbd5e180;box-shadow:0 0 12px #cbd5e114}.tournament-card.placement-silver:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(105deg,#0000 40%,#e2e8f00f 45%,#f1f5f91a 50%,#e2e8f00f 55%,#0000 60%) 0 0/250% 100%;animation:5s ease-in-out infinite shimmer;position:absolute;inset:0}.tournament-card.placement-bronze{background:#d977570f;border-color:#d9775773;box-shadow:0 0 10px #d9775712}.tournament-card.placement-bronze:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(105deg,#0000 40%,#d977570d 45%,#ea916e17 50%,#d977570d 55%,#0000 60%) 0 0/250% 100%;animation:5s ease-in-out infinite shimmer;position:absolute;inset:0}.tournament-placement{margin-right:6px}.tournament-header{width:100%;color:var(--color-text);font:inherit;cursor:pointer;text-align:left;z-index:1;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 8px;display:flex;position:relative}.tournament-header:hover{background:var(--color-surface-hover)}.tournament-info{flex:1;min-width:0}.tournament-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.tournament-meta{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:4px;font-size:.75rem;display:flex}.tournament-class-badge{letter-spacing:.04em;color:var(--color-text-muted);border:1px solid #94a3b833;border-radius:4px;padding:1px 7px;font-size:.65rem;font-weight:700;display:inline-block}.tournament-class-badge.class-elite{color:#facc15;background:linear-gradient(135deg,#eab30840,#fbbf241a);border-color:#facc1580}.tournament-class-badge.class-1{color:#c084fc;background:linear-gradient(135deg,#a855f738,#8b5cf614);border-color:#c084fc73}.tournament-class-badge.class-2{color:#00f5ff;background:linear-gradient(135deg,#00f5ff33,#00f5ff14);border-color:#00f5ff66}.tournament-class-badge.class-3{color:#4ade80;background:linear-gradient(135deg,#22c55e2e,#4ade800f);border-color:#4ade8059}.tournament-class-badge.class-4{color:#2dd4bf;background:#2dd4bf1f;border-color:#2dd4bf59}.tournament-class-badge.class-5{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.tournament-class-badge.class-6{color:#d97757;background:#d977571a;border-color:#d977574d}.tournament-record{white-space:nowrap;align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:flex}.tournament-wins{color:var(--color-win)}.tournament-losses{color:var(--color-loss)}.tournament-expand{color:var(--color-text-muted);margin-left:4px;font-size:.65rem}.tournament-matches{border-top:1px solid var(--color-border);z-index:1;padding:4px 0;position:relative}.tournament-match{border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:8px;transition:background .1s;display:flex}a.tournament-match{cursor:pointer}a.tournament-match:hover{background:var(--color-surface-hover)}.tournament-match.win{border-left-color:var(--color-win);background:var(--color-win-bg)}.tournament-match.loss{border-left-color:var(--color-loss);background:var(--color-loss-bg)}.tournament-match-info{flex:1;min-width:0}.tournament-match-opponent{color:var(--color-text);font-size:.85rem;font-weight:500}.tournament-match-club{color:var(--color-text-muted);font-size:.7rem}.tournament-share-btn{color:#ffffff80;cursor:pointer;vertical-align:middle;background:0 0;border:1px solid #ffffff26;border-radius:4px;justify-content:center;align-items:center;margin-left:6px;padding:2px 5px;transition:color .15s,border-color .15s;display:inline-flex}.tournament-share-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.tournament-round-label{background:var(--color-surface-alt);color:var(--color-accent);text-transform:uppercase;border-radius:3px;margin-right:4px;padding:1px 5px;font-size:.65rem;font-weight:600;display:inline-block}.tournament-match-result{flex-shrink:0;align-items:center;gap:8px;display:flex}.result-win{color:var(--color-win);font-size:.85rem;font-weight:700}.result-loss{color:var(--color-loss);font-size:.85rem;font-weight:700}.tournament-sets{font-size:.75rem;font-family:var(--font-mono);gap:3px;display:flex}.set-won{color:var(--color-text-muted)}.set-lost{color:var(--color-loss);opacity:.7}.walkover-badge{color:var(--color-text-muted);opacity:.7;font-size:.7rem;font-weight:600;font-family:var(--font-mono)}.hype-banner{justify-content:center;align-items:center;gap:12px;display:flex}.hype-share-btn{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.65rem;font-weight:700;transition:background .15s;display:inline-flex}.hype-share-btn:hover{background:#ffffff2e}.share-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);background:#000000e0;justify-content:center;align-items:center;padding:16px;animation:.25s ease-out share-modal-fade-in;display:flex;position:fixed;inset:0}.share-modal{flex-direction:column;gap:16px;width:100%;max-width:400px;animation:.3s cubic-bezier(.16,1,.3,1) share-modal-scale-in;display:flex;position:relative}.share-modal-close{color:var(--color-text-muted);cursor:pointer;z-index:1;background:#ffffff14;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;top:-44px;right:0}.share-modal-close:hover{color:var(--color-text);background:#ffffff26;border-color:#fff3}.share-modal-preview{border-radius:var(--radius);aspect-ratio:4/5;overflow:hidden;box-shadow:0 8px 40px #0006,0 0 0 1px #ffffff0f}.share-canvas{border-radius:var(--radius);width:100%;height:100%;display:block}.share-modal-actions{gap:10px;display:flex}.share-modal-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;min-height:48px;padding:14px 16px;font-size:.9rem;font-weight:700;transition:background .2s,transform .1s,box-shadow .2s}.share-modal-btn:active{transform:scale(.97)}.share-modal-btn-photo{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.share-modal-btn-photo:hover{background:var(--color-surface-hover);border-color:#ffffff26}.share-modal-btn-share{background:var(--color-accent);color:#0e0e0e;box-shadow:0 0 20px #00f5ff26}.share-modal-btn-share:hover{background:#33f7ff;box-shadow:0 0 28px #00f5ff40}.share-modal-btn-share:disabled{opacity:.5;box-shadow:none}.share-filter-toggle{justify-content:center;display:flex}.share-filter-btn{color:#fff9;cursor:pointer;letter-spacing:.03em;background:#ffffff0f;border:1.5px solid #ffffff26;border-radius:999px;padding:6px 18px;font-size:.85rem;font-weight:600;transition:all .2s}.share-filter-btn:hover{color:#fffc;border-color:#00f5ff4d}.share-filter-btn-active{color:#00f5ff;background:#00f5ff1a;border-color:#00f5ff;box-shadow:0 0 12px #00f5ff40,inset 0 0 8px #00f5ff14}.share-mode-selector{justify-content:center;gap:6px;padding:0 16px 8px;display:flex}.share-mode-btn{color:#ffffff80;cursor:pointer;background:#ffffff0a;border:1.5px solid #ffffff1f;border-radius:999px;padding:6px 16px;font-size:.8rem;font-weight:600;transition:all .15s}.share-mode-btn:hover{color:#ffffffb3;border-color:#ffffff40}.share-mode-btn-active{color:#00f5ff;background:#00f5ff1a;border-color:#00f5ff}@keyframes share-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-modal-scale-in{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg,var(--color-surface)25%,#94a3b814 50%,var(--color-surface)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-name{width:60%;height:2.4rem;margin:0 auto}.skeleton-club{width:35%;height:1rem;margin:8px auto 0}.skeleton-points{width:120px;height:2.8rem}.skeleton-trend{width:180px;height:1rem;margin-top:12px}.skeleton-graph{width:100%;height:200px}@keyframes skeleton-pulse{0%,to{background-position:200%}50%{background-position:-200%}}
