.nav{top:var(--s-3);z-index:60;align-items:center;gap:var(--s-4);height:56px;margin-bottom:var(--s-5);background:var(--nav-bg);-webkit-backdrop-filter:saturate(180%)blur(16px);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:0 12px 0 10px;display:flex;position:sticky}.nav-brand{cursor:pointer;border-radius:var(--r-sm);text-align:left;background:0 0;border:none;flex-shrink:0;align-items:center;gap:10px;padding:4px 6px;display:flex}.nav-brand:hover{background:var(--surface-2)}.nav-logo{background:var(--surface-3);border:1px solid var(--border);border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.nav-logo img{object-fit:cover;width:100%;height:100%;display:block}.nav-brand-text{flex-direction:column;line-height:1.25;display:flex}.nav-brand-name{color:var(--text);letter-spacing:-.01em;white-space:nowrap;font-size:14px;font-weight:650}.nav-brand-sub{font-size:var(--fs-11);color:var(--text-3);white-space:nowrap}.nav-tabs{flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.nav-btn{appearance:none;color:var(--text-2);border-radius:var(--r-sm);font-size:var(--fs-13);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;padding:7px 15px;font-family:inherit;font-weight:550}.nav-btn:hover{background:var(--surface-2);color:var(--text)}.nav-btn.active{background:var(--accent);color:var(--accent-text)}.nav-meta{font-size:var(--fs-12);color:var(--text-3);white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;padding-right:4px;display:flex}.nav-meta b{color:var(--text-2);font-variant-numeric:tabular-nums;font-weight:650}.nav-meta a{color:var(--text-2);border-bottom:1px solid #0000;text-decoration:none}.nav-meta a:hover{color:var(--text);border-bottom-color:var(--line-strong)}.nav-meta-dot{background:var(--green);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.nav-meta-sep{background:var(--border);width:1px;height:11px}.nav-stats{font-size:var(--fs-12);color:var(--text-3);white-space:nowrap;align-items:center;gap:8px;display:flex}.nav-stats strong{color:var(--text-2)}.stats-divider{color:var(--text-4)}.m1-placeholder{background:var(--surface);border-radius:var(--r-lg);text-align:center;color:var(--text-3);font-size:var(--fs-13);border:1px solid var(--border);padding:60px 24px}.corner-feedback{color:var(--text-4);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);z-index:40;opacity:.75;transition:opacity var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);white-space:nowrap;background:#ffffffb3;border-radius:980px;padding:3px 10px;font-size:10px;text-decoration:none;position:fixed;bottom:10px;right:12px}.corner-feedback:hover{opacity:1;color:var(--text-2);border-color:var(--line-strong)}.ad-float{z-index:999;cursor:grab;border:1.5px solid #00000047;border-radius:14px;width:340px;transition:left 2s cubic-bezier(.4,0,.2,1),top 2s cubic-bezier(.4,0,.2,1);animation:1.6s ease-in-out infinite ad-flash;position:fixed;overflow:hidden;box-shadow:0 10px 34px #0000004d}.ad-float img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.ad-close{color:#fff;cursor:pointer;z-index:2;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.ad-close:hover{background:#ff3c3ce6}.ad-reopen{z-index:100;color:var(--text-2);cursor:pointer;-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);background:#ffffffd9;border:.5px solid #00000024;border-radius:980px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:color .15s,background .15s,border-color .15s;display:inline-flex;position:fixed;bottom:12px;left:14px}.ad-reopen:hover{color:var(--accent);border-color:var(--accent);background:#fff}.ad-reopen-dot{background:#ff5a3c;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #ff5a3c26}.ad-float:hover{cursor:move;animation-play-state:paused}@keyframes ad-flash{0%,to{border-color:#00000047;transform:scale(1);box-shadow:0 0 8px #ffffff73,0 10px 34px #0000004d}50%{border-color:#0000008c;transform:scale(1.03);box-shadow:0 0 28px #fffffff2,0 0 56px #ffffff80,0 10px 34px #0000004d}}@media (width<=1100px){.nav-brand-sub,.nav-meta-uptime{display:none}}@media (width<=860px){.nav{gap:var(--s-2);padding:0 8px}.nav-meta{font-size:var(--fs-11);gap:8px}.nav-btn{padding:7px 10px}}@media (width<=700px){.nav{top:var(--s-2);height:48px;margin-bottom:var(--s-3);border-radius:var(--r-sm);padding:0 6px}.nav-meta{display:none}.nav-brand{padding:0 2px}.nav-brand-text{display:none}.nav-logo{border-radius:7px;width:24px;height:24px}.nav-tabs{justify-content:space-between;gap:0;width:100%}.nav-btn{text-align:center;flex:1 1 0;padding:8px 2px;font-size:13px}}@media (width<=560px){body{padding:0}.ad-float{width:min(340px,88vw)}.corner-feedback{padding:3px 8px;font-size:10px}.ad-reopen{padding:5px 10px;font-size:11px;bottom:10px;left:10px}}.page-loader{justify-content:center;align-items:center;gap:var(--s-3);min-height:44vh;color:var(--text-3);flex-direction:column;padding:48px 0;display:flex}.page-loader-ring{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.72s linear infinite page-loader-spin}.page-loader-text{font-size:var(--fs-12);letter-spacing:.01em}@keyframes page-loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.page-loader-ring{border-top-color:var(--line-strong);border-right-color:var(--accent);animation:none}}.update-card{z-index:60;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:288px;padding:13px 0 10px;position:fixed;top:50%;left:16px;transform:translateY(-50%);box-shadow:0 12px 32px #10182824}.uc-head{justify-content:space-between;align-items:center;padding:0 10px 8px 14px;display:flex}.uc-title{font-size:var(--fs-12);color:var(--text);letter-spacing:.02em;align-items:center;gap:6px;font-weight:650;display:inline-flex}.uc-new{background:var(--red-soft);color:var(--red);letter-spacing:.06em;border-radius:5px;padding:1px 5px;font-size:9px;font-weight:700}.uc-close{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 5px;font-family:inherit;font-size:16px;line-height:1}.uc-close:hover{color:var(--text);background:var(--surface-2)}.uc-list{margin:0;padding:0 8px;list-style:none;position:relative}.uc-list:before{content:"";background:var(--line);width:1px;position:absolute;top:12px;bottom:12px;left:17px}.uc-item{position:relative}.uc-link{border-radius:var(--r-sm);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:7px 10px 8px 26px;font-family:inherit;display:block;position:relative}.uc-link:hover{background:var(--surface-2)}.uc-dot{background:var(--line-strong);width:7px;height:7px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;position:absolute;top:12px;left:6px}.uc-dot-new,.uc-link:hover .uc-dot{background:var(--accent)}.uc-date{color:var(--text-3);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:10px;display:block}.uc-text{-webkit-line-clamp:2;color:var(--text-2);font-size:var(--fs-12);-webkit-box-orient:vertical;margin-top:2px;line-height:1.45;display:-webkit-box;overflow:hidden}.uc-more{color:var(--text-4);font-variant-numeric:tabular-nums;font-size:9px;position:absolute;top:8px;right:8px}.uc-all{border:0;border-top:1px solid var(--line);width:calc(100% - 16px);color:var(--text-2);font-family:inherit;font-size:var(--fs-12);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:5px;margin:6px 8px 0;padding:7px 0;font-weight:600;display:flex}.uc-all:hover{color:var(--text)}.update-tab{z-index:60;border:1px solid var(--border);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--surface);width:30px;color:var(--text-3);box-shadow:var(--shadow-md);cursor:pointer;border-left:0;flex-direction:column;align-items:center;gap:7px;padding:11px 0 12px;font-family:inherit;transition:color .14s,background .14s,width .16s;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.update-tab:hover{width:32px;color:var(--text);background:var(--surface-2)}.update-tab-text{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.18em;font-size:11px;font-weight:600;line-height:1}.update-tab-dot{background:var(--red);width:6px;height:6px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:5px;right:5px}.update-fab{z-index:90;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:46px;height:46px;color:var(--text);cursor:pointer;background:#ffffffeb;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:52px;right:14px;box-shadow:0 6px 20px #1018282e}.update-fab:active{transform:scale(.96)}.update-fab-dot{background:var(--red);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #fff}.update-sheet-backdrop{z-index:91;background:#10141a61;position:fixed;inset:0}.update-sheet{z-index:92;border-radius:var(--r-lg);background:var(--surface);max-height:76vh;padding:6px 0 10px;position:fixed;bottom:8px;left:8px;right:8px;overflow-y:auto;box-shadow:0 18px 44px #1018283d}.update-sheet-grab{background:var(--line-strong);border-radius:99px;width:34px;height:4px;margin:4px auto 2px}@media (prefers-reduced-motion:reduce){.update-tab{transition:none}}:root{--bg:#eceff3;--surface:#fff;--surface-2:#f6f7f9;--surface-3:#eef0f3;--surface-sunken:#e6e9ee;--text:#14171c;--text-2:#545b66;--text-3:#8a919d;--text-4:#b0b6c0;--border:#e4e7ec;--border-soft:#eef0f3;--line-strong:#d5d9e0;--accent:#14171c;--accent-hover:#000;--accent-text:#fff;--accent-soft:#eef0f3;--gold:#b07a12;--gold-soft:#fdf5e3;--red:#cf3d3d;--red-soft:#fdf0ef;--green:#22845f;--green-soft:#ecf7f1;--violet:#6c56c9;--violet-soft:#f2effc;--nav-bg:#ffffffdb;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 4px 12px #10182814;--shadow-table:0 12px 32px #10182824;--header-grad:#f6f7f9;--header-text:#545b66;--header-control-bg:#fff;--header-control-text:#14171c;--header-control-border:#d5d9e0;--row-hover:#f6f7f9;--focus-ring:#14171c1f;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-15:15px;--fs-19:19px;--fs-26:26px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--ease:cubic-bezier(.16, 1, .3, 1);--dur:.18s}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;font-size:var(--fs-13);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(900px 460px at 6% -12%,#3f6ecb1a 0%,#3f6ecb00 62%),radial-gradient(820px 420px at 94% -16%,#b07a121a 0%,#b07a1200 62%),radial-gradient(1200px 480px at 50% -160px,#fff 0%,#fff0 70%);background-repeat:no-repeat;padding:0;line-height:1.5}.tabular,.rank-num,.total-score,.zone-score-val,.nav-stats strong,.zc-value{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#14171c29 padding-box content-box;border:3px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#14171c4d padding-box content-box}.container{max-width:1360px;padding:var(--s-5) var(--s-5) var(--s-6);margin:0 auto}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.page-fade{animation:.28s both fade-in}.anim-in{animation:fade-up .4s var(--ease) both;animation-delay:var(--d,0s)}@media (prefers-reduced-motion:reduce){.page-fade,.anim-in{animation:none}}@media (width<=860px){.container{padding:var(--s-3) var(--s-3) var(--s-5)}}@media (width<=560px){.container{padding:var(--s-2) var(--s-2) var(--s-5)}}.rankings{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.rankings:before{content:"";pointer-events:none;background:linear-gradient(90deg,#3f6ecb8c 0%,#cf3d3d73 50%,#b07a128c 100%);height:3px;position:absolute;top:0;left:0;right:0}.panel-head{justify-content:space-between;align-items:center;gap:var(--s-4);padding:16px 20px 10px;display:flex}.panel-title{align-items:center;gap:10px;min-width:0;display:flex}.panel-title h2{font-size:var(--fs-19);letter-spacing:-.02em;color:var(--text);white-space:nowrap;font-weight:700}.panel-sub{font-size:var(--fs-12);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.panel-tools{align-items:center;gap:var(--s-2);flex-shrink:0;display:flex}.top-label{font-size:var(--fs-11);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);letter-spacing:.02em;white-space:nowrap;border-radius:5px;align-self:center;padding:2px 7px;font-weight:600}.refresh-btn{background:var(--surface);color:var(--text-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-12);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);white-space:nowrap;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-weight:550;display:inline-flex}.refresh-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong);color:var(--text)}.refresh-btn:disabled{opacity:.5;cursor:default}.filter-hint{display:none}.ranking-toolbar{align-items:center;gap:var(--s-2);padding:0 20px 12px;display:flex}.ranking-search{background:var(--surface-2);border-radius:var(--r-sm);width:320px;max-width:100%;height:34px;color:var(--text-3);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);border:1px solid #0000;align-items:center;gap:7px;padding:0 12px;display:flex}.ranking-search svg{flex-shrink:0}.ranking-search input{min-width:0;font-family:inherit;font-size:var(--fs-13);color:var(--text);background:0 0;border:none;outline:none;flex:1}.ranking-search input::placeholder{color:var(--text-3)}.ranking-search:focus-within{background:var(--surface);border-color:var(--line-strong)}.toolbar-spacer{flex:1}.tool-btn{color:var(--text-2);font-size:var(--fs-13);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;padding:7px 10px;font-family:inherit;font-weight:550}.tool-btn:hover{background:var(--surface-2);color:var(--text)}.filter-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);height:32px;color:var(--text-2);font-size:var(--fs-12);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-weight:550;display:inline-flex}.filter-btn:hover,.filter-btn.open,.filter-btn.has-filter{border-color:var(--line-strong);color:var(--text);background:var(--surface-2)}.filter-btn.open{border-color:var(--accent);color:var(--text)}.filter-btn .fb-count{background:var(--accent);min-width:16px;height:16px;color:var(--accent-text);font-variant-numeric:tabular-nums;border-radius:4px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;display:inline-grid}.bracket-btn{color:var(--text-2);font-size:var(--fs-13);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:7px 10px;font-family:inherit;font-weight:550}.bracket-btn:hover{background:var(--surface-2);color:var(--text)}.filter-chips{flex-wrap:wrap;align-items:center;gap:6px;padding:0 20px 12px;display:flex}.filter-chip{background:var(--surface-2);border:1px solid var(--border);font-family:inherit;font-size:var(--fs-11);color:var(--text-2);white-space:nowrap;cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:5px;align-items:center;gap:6px;padding:3px 6px 3px 8px;font-weight:500;display:inline-flex}.filter-chip:hover{border-color:var(--line-strong);color:var(--text)}.filter-chip .chip-x{color:var(--text-3);font-size:12px;line-height:1}.filter-chip:hover .chip-x{color:var(--red)}.clear-all-btn{color:var(--text-3);font-size:var(--fs-11);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:3px 4px;font-family:inherit;text-decoration:underline}.clear-all-btn:hover{color:var(--text)}.filter-pop{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);margin:0 20px 14px;padding:14px}.filter-pop-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.filter-pop-title{font-size:var(--fs-12);color:var(--text-2);font-weight:600}.filter-pop-note{font-size:var(--fs-11);color:var(--text-3)}.filter-zones{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.filter-zone{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px}.filter-zone-name{font-size:var(--fs-12);color:var(--text);justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;display:flex}.filter-zone-name em{font-style:normal;font-weight:500;font-size:var(--fs-11);color:var(--text-3)}.char-slot-filters,.filter-slots{gap:6px;margin-bottom:8px;display:flex}.char-slot-select{min-width:0;height:28px;font-size:var(--fs-12);color:var(--text);background:var(--surface-2);cursor:pointer;border:1px solid #0000;border-radius:6px;outline:none;flex:1;padding:0 4px;font-family:inherit}.char-slot-select:hover{border-color:var(--line-strong)}.char-slot-select:focus{border-color:var(--accent);background:var(--surface)}.zone-quick-filters{gap:6px;display:flex}.zone-quick-btn{border:1px solid var(--border);background:var(--surface);height:26px;color:var(--text-2);font-size:var(--fs-11);cursor:pointer;white-space:nowrap;border-radius:6px;flex:1;font-family:inherit}.zone-quick-btn:hover{background:var(--surface-3);color:var(--text);border-color:var(--line-strong)}.filter-pop-foot{justify-content:flex-end;margin-top:12px;display:flex}.reset-filter-btn{border:1px solid var(--border);color:var(--text-2);font-size:var(--fs-11);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit}.reset-filter-btn:hover{color:var(--red);background:var(--red-soft);border-color:#cf3d3d66}.ranking-header{background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);height:40px;font-size:var(--fs-12);color:var(--text-3);flex-shrink:0;align-items:center;padding:0 20px;font-weight:550;display:flex}.ranking-header .col-rank{flex-shrink:0;width:64px}.ranking-header .col-player{flex-shrink:0;width:220px}.ranking-header .col-zone{flex:1;align-items:center;gap:6px;min-width:240px;padding-right:12px;display:flex}.ranking-header .col-zone .sortable{font-size:var(--fs-12);color:var(--text-2);font-weight:600}.ranking-header .col-total{text-align:right;flex-shrink:0;width:150px}.ranking-header .sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--dur) var(--ease)}.ranking-header .sortable:hover,.sortable.active{color:var(--text)}.sort-arrow{opacity:.5;margin-left:3px;font-size:9px}.sortable:hover .sort-arrow,.sortable.active .sort-arrow{opacity:1}.col-funnel{width:18px;height:18px;color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;padding:0;display:grid}.col-funnel:hover{background:var(--surface-3);color:var(--text-2)}.col-funnel.active{color:var(--accent);background:var(--surface-3)}.col-sort{font-family:inherit;font-size:var(--fs-12);color:var(--text-2);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;border-radius:4px;align-items:center;gap:2px;padding:2px 0;font-weight:600;display:inline-flex}.col-sort:hover,.col-sort.active{color:var(--text)}.col-total .col-sort{margin-left:auto}.col-reset{text-align:right;flex-shrink:0;width:48px}.panel-foot{justify-content:space-between;align-items:center;gap:var(--s-3);border-top:1px solid var(--border-soft);background:var(--surface-2);font-size:var(--fs-11);color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;padding:9px 20px;display:flex}.ranking-table{background:var(--surface);scrollbar-width:thin;height:clamp(420px,100vh - 320px,820px);position:relative;overflow:auto hidden}.ranking-table.ppc-ranking{height:auto;overflow:visible}.ppc-ranking .ranking-header .col-player,.ppc-row .ranking-player{flex:auto;width:auto;min-width:0}.ppc-panel:before{display:none}.ranking-empty{text-align:center;color:var(--text-3);font-size:var(--fs-13);flex-direction:column;align-items:center;gap:6px;padding:56px 20px;display:flex}.ranking-empty-title{font-size:var(--fs-15);color:var(--text-2);font-weight:600}.ranking-empty-sub{font-size:var(--fs-12);color:var(--text-3);margin-bottom:6px}.ranking-row{border-bottom:1px solid var(--border-soft);background:var(--surface);box-sizing:border-box;align-items:center;padding:0 20px;transition:background .12s;display:flex}.ranking-row:hover{background:var(--row-hover)}.ranking-row.top-1-row{background:linear-gradient(90deg,#b07a120f,#b07a1200 45%)}.ranking-row.top-2-row{background:linear-gradient(90deg,#545b660d,#545b6600 45%)}.ranking-row.top-3-row{background:linear-gradient(90deg,#9a5b200d,#9a5b2000 45%)}.ranking-row.top-1-row:hover,.ranking-row.top-2-row:hover,.ranking-row.top-3-row:hover{background:var(--surface-2)}.rank-num{width:64px;font-size:var(--fs-15);color:var(--text-3);flex-shrink:0;align-items:center;gap:5px;font-weight:650;display:flex}.rank-num.top-1,.rank-num.top-2,.rank-num.top-3{color:var(--text)}.rank-medal{width:24px;height:24px;font-size:var(--fs-12);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.rank-medal.medal-1{background:linear-gradient(135deg,#d9a325,#b07a12);box-shadow:0 1px 3px #b07a1266}.rank-medal.medal-2{background:linear-gradient(135deg,#a9b0ba,#7d858f)}.rank-medal.medal-3{background:linear-gradient(135deg,#c58a5b,#9a5b20)}.rank-medal-label{display:none}.rank-delta-up{color:var(--green);font-size:var(--fs-11);font-weight:650}.rank-delta-down{color:var(--red);font-size:var(--fs-11);font-weight:650}.rank-delta-same{color:var(--text-4);font-size:var(--fs-11);font-weight:600}.player-info{align-items:center;gap:10px;min-width:0;display:flex}.ranking-player{cursor:pointer}.ranking-row .ranking-player{box-sizing:border-box;flex-shrink:0;width:220px;padding-right:12px}.player-avatar-sm{background:var(--surface-3);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;position:relative;overflow:visible}.player-avatar-sm>img:not(.frame-sm){z-index:1;object-fit:cover;border-radius:50%;width:40px;height:40px;display:block;position:relative}.avatar-fallback{background:var(--surface-3);color:var(--text-3);-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.player-avatar-sm .frame-sm{pointer-events:none;width:46px;height:46px;position:absolute;top:-3px;left:-3px}.player-text{min-width:0}.player-name{color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur) var(--ease);font-size:14px;font-weight:600;overflow:hidden}.ranking-player:hover .player-name{color:var(--text);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--text-4);text-decoration-color:var(--text-4)}.player-sub{font-size:var(--fs-11);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin-top:1px;overflow:hidden}.guild-name{color:var(--text-3)}.player-id-text{font-size:var(--fs-11);color:var(--text-3);font-variant-numeric:tabular-nums}.zone-detail{flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:240px;padding-right:12px;display:flex;position:relative}.zone-actions{opacity:0;z-index:2;gap:3px;transition:opacity .12s,transform .12s;display:flex;position:absolute;top:0;right:0;transform:translateY(-2px)}.zone-detail:hover .zone-actions,.ranking-row:focus-within .zone-detail .zone-actions{opacity:1;transform:none}.zone-sa-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-11);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:5px;padding:3px 8px;font-family:inherit}.zone-sa-btn:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-2)}.zone-score-line{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.zone-score-val{color:var(--text);letter-spacing:-.02em;font-size:19px;font-weight:680;line-height:1.15}.score-delta-up{color:var(--green);font-size:var(--fs-11);font-weight:650}.score-delta-down{color:var(--red);font-size:var(--fs-11);font-weight:650}.score-delta-same{color:var(--text-4);font-size:var(--fs-11);font-weight:600}.zone-team-compare{line-height:1}.zone-max-tag{font-size:var(--fs-11);color:#fff;white-space:nowrap;letter-spacing:.01em;background:linear-gradient(#2a9971 0%,#1b7350 100%);border-radius:4px;align-items:center;gap:3px;padding:1px 6px 1px 5px;font-weight:700;line-height:1.5;display:inline-flex;box-shadow:0 1px 3px #1b73504d}.zone-max-tag:before{content:"★";opacity:.95;font-size:8px;line-height:1}.zone-diff-tag{font-size:var(--fs-11);color:var(--red);background:var(--red-soft);white-space:nowrap;border:1px solid #cf3d3d38;border-radius:4px;align-items:center;padding:0 5px;font-weight:600;line-height:1.5;display:inline-flex}.zone-chars{flex-direction:column;gap:1px;display:flex}.zone-chars .char-row{align-items:center;gap:6px;height:19px;line-height:1;display:flex}.zone-chars .char-icon-sm{background:var(--surface-3);border:1px solid var(--border-soft);object-fit:cover;box-sizing:border-box;border-radius:5px;flex-shrink:0;width:18px;height:18px}.char-icon-empty{display:inline-block}.zone-chars .char-name-sm{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);flex:0 0 56px;font-weight:600;overflow:hidden}.zone-chars .rank-quality-sm{flex:0 0 26px}.zone-chars .char-bp{color:var(--text-4);font-variant-numeric:tabular-nums;margin-left:2px;font-size:10px}.char-name-sm{color:var(--text-2);font-weight:550}.char-bp{color:var(--text-4);font-variant-numeric:tabular-nums;font-size:10px}.rank-quality-sm{letter-spacing:0;font-size:10px;font-weight:700}.rank-quality-sm.quality-1{color:#3f6ecb}.rank-quality-sm.quality-2{color:var(--violet)}.rank-quality-sm.quality-3{color:#3f6ecb}.rank-quality-sm.quality-4{color:var(--violet)}.rank-quality-sm.quality-5{color:var(--gold)}.rank-quality-sm.quality-6{color:var(--red)}.char-row{font-size:var(--fs-11);align-items:center;gap:5px;display:flex}.char-icon-sm{object-fit:cover;border-radius:50%;flex-shrink:0;width:16px;height:16px}.total-score{text-align:right;width:150px;color:var(--text);letter-spacing:-.03em;flex-shrink:0;font-size:22px;font-weight:680;line-height:1.2}.total-score>div:first-child{align-items:baseline;gap:4px;display:inline-flex}.total-max-tag{color:var(--gold);letter-spacing:0;margin-top:2px;font-size:10px;font-weight:600}.ranking-table .total-score .score-delta-up,.ranking-table .total-score .score-delta-down,.ranking-table .total-score .score-delta-same{font-size:var(--fs-11);font-weight:600}.col-reset-cell{width:0}.controls{align-items:center;gap:var(--s-2);display:flex}.controls select,.week-select{appearance:none;height:32px;font-size:var(--fs-12);color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23545b66' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:0 30px 0 11px;font-family:inherit;font-weight:550}.controls select:hover,.week-select:hover{border-color:var(--line-strong);background-color:var(--surface-2)}.controls select:focus,.week-select:focus{border-color:var(--accent);background-color:var(--surface)}.date-range{font-size:var(--fs-12);color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.ranking-meta{align-items:center;gap:var(--s-3);font-size:var(--fs-12);color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;display:flex}.ranking-head{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 37%, var(--surface-2) 63%);background-size:800px 100%;border-radius:4px;height:12px;animation:1.4s linear infinite shimmer}.skeleton-table{padding:0 20px}.skeleton-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:16px;height:92px;display:flex}.ppc-skeleton{padding:0 24px}.ppc-skeleton-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:16px;height:68px;display:flex}.ppc-skeleton-row .sk-rank{width:28px}.ppc-skeleton-row .sk-avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px}.ppc-skeleton-row .sk-name{width:180px}.ppc-skeleton-row .sk-score{width:96px;margin-left:auto}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin:var(--s-2) 0 var(--s-4);flex-wrap:wrap;display:flex}.page-title{letter-spacing:-.03em;color:var(--text);font-size:28px;font-weight:700;line-height:1.2}.page-meta{font-size:var(--fs-13);color:var(--text-3);font-variant-numeric:tabular-nums;min-height:calc(var(--fs-13) * 1.5);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.page-meta b{color:var(--text-2);font-weight:600}.page-meta .meta-sep{color:var(--text-4)}.page-meta .meta-dot{background:var(--text-4);border-radius:50%;width:3px;height:3px;display:inline-block}.page-meta .meta-updated{align-items:center;gap:6px;display:inline-flex}.seg{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-shrink:0;align-items:center;gap:2px;padding:3px;display:inline-flex}.seg-btn{color:var(--text-2);font-family:inherit;font-size:var(--fs-12);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;border-radius:7px;padding:6px 12px;font-weight:550}.seg-btn:hover{background:var(--surface-2);color:var(--text)}.seg-btn.active{background:var(--accent);color:var(--accent-text)}.seg-btn .seg-sub{opacity:.6;margin-left:4px;font-size:10px}.difficulty-switch{flex-shrink:0;align-items:center;gap:8px;display:flex}.seg-bracket{appearance:none;height:30px;font-size:var(--fs-11);color:var(--text-2);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23545b66' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;outline:none;padding:0 26px 0 9px;font-family:inherit;font-weight:550}.seg-bracket:hover{border-color:var(--line-strong)}@media (width<=1100px){.ranking-search{width:240px}}@media (width<=860px){.panel-head{padding:14px 14px 8px}.ranking-toolbar{flex-wrap:wrap;padding:0 14px 10px}.filter-chips{padding:0 14px 10px}.filter-pop{margin:0 14px 12px}.filter-zones{grid-template-columns:1fr}.ranking-search{width:100%}.toolbar-spacer{display:none}.ranking-header,.ranking-row{padding:0 14px}.total-score{font-size:19px}.zone-score-val{font-size:17px}.panel-foot{padding:8px 14px}.ranking-table{height:clamp(380px,100vh - 300px,700px)}.page-title{font-size:22px}}@media (width<=700px){.rankings{border-radius:var(--r-md)}.panel-head{gap:8px;padding:12px 12px 8px}.panel-title{gap:8px}.panel-title h2{font-size:17px}.panel-sub{display:none}.panel-tools .refresh-btn{padding:6px 9px}.ranking-toolbar{gap:6px;padding:0 12px 10px}.tool-btn{font-size:var(--fs-12);padding:6px 7px}.filter-chips{padding:0 12px 10px}.filter-pop{margin:0 12px 12px;padding:10px}.page-head{margin:0 0 12px}.page-title{font-size:20px}.seg{width:100%}.seg-btn{text-align:center;flex:1;padding:7px 4px}.difficulty-switch{width:100%}.ranking-header{height:36px;font-size:var(--fs-11);padding:0 12px}.ranking-row{flex-wrap:wrap;align-items:flex-start;padding:0 12px}.ranking-row-mobile{cursor:pointer}.ranking-row-mobile:active{background:var(--surface-2)}.ranking-row-mobile .rank-num{width:46px;font-size:var(--fs-13);padding-top:2px}.ranking-row-mobile .rank-medal{width:20px;height:20px;font-size:11px}.ranking-row-mobile .ranking-player{flex:1;gap:8px;width:auto;min-width:0}.ranking-row-mobile .player-avatar-sm,.ranking-row-mobile .player-avatar-sm>img:first-child:not(.frame-sm){width:34px;height:34px}.ranking-row-mobile .player-avatar-sm .frame-sm{width:40px;height:40px;top:-3px;left:-3px}.ranking-row-mobile .player-name{font-size:var(--fs-13)}.ranking-row-mobile .mobile-total{width:auto;font-size:var(--fs-15)}.ranking-row-mobile .mobile-total .score-delta-up,.ranking-row-mobile .mobile-total .score-delta-down,.ranking-row-mobile .mobile-total .score-delta-same{font-size:9px}.mobile-zone-bar{gap:8px;width:100%;margin:6px 0 2px 46px;padding-right:0;display:flex}.mobile-zone-seg{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.mobile-zone-name{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.mobile-zone-score{font-size:var(--fs-12);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.mobile-zone-score .score-delta-up,.mobile-zone-score .score-delta-down,.mobile-zone-score .score-delta-same{margin-left:3px;font-size:9px}.mobile-zone-chars{gap:2px;margin-top:2px;display:flex}.mobile-zone-chars img{background:var(--surface-3);object-fit:cover;box-sizing:border-box;border-radius:4px;flex-shrink:0;width:15px;height:15px}.mobile-sort-row{border-top:1px solid var(--border);background:var(--surface);gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.mobile-sort-btn{border:1px solid var(--border);background:var(--surface);min-width:64px;height:30px;color:var(--text-2);font-size:var(--fs-11);cursor:pointer;white-space:nowrap;border-radius:6px;flex:1;font-family:inherit}.mobile-sort-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.mobile-filter{background:var(--surface);padding:0 12px 8px}.mobile-filter-toggle{border:1px solid var(--border);background:var(--surface-2);width:100%;height:32px;color:var(--text-2);font-size:var(--fs-12);cursor:pointer;border-radius:6px;font-family:inherit}.mobile-filter-body{flex-direction:column;gap:10px;padding:8px 0 4px;display:flex}.mobile-filter-zone{border:1px solid var(--border);border-radius:var(--r-sm);padding:8px}.mobile-filter-zone-name{font-size:var(--fs-12);color:var(--text-2);margin-bottom:6px;font-weight:600}.mobile-filter-zone .char-slot-filters{gap:6px;margin-bottom:6px;display:flex}.mobile-filter-zone .char-slot-select{height:34px;font-size:var(--fs-12);flex:1}.mobile-filter-zone .zone-quick-filters{gap:6px;display:flex}.mobile-filter-zone .zone-quick-btn{flex:1;height:32px}.mobile-filter .reset-filter-btn{width:100%;height:40px;font-size:var(--fs-13);margin-top:8px}}@media (width<=560px){.page-meta{font-size:var(--fs-12)}.page-meta .meta-updated{display:none}.zone-card{padding:11px 13px 11px 15px}}.filter-sheet-backdrop,.sheet-done{display:none}@media (width<=700px){.filter-sheet-backdrop{z-index:69;background:#10141a6b;display:block;position:fixed;inset:0}.filter-pop{z-index:70;border-radius:var(--r-lg);max-height:82vh;box-shadow:var(--shadow-pop);margin:0;padding:14px;position:fixed;bottom:8px;left:8px;right:8px;overflow-y:auto}.filter-zones{gap:8px}.filter-zone{padding:10px}.sheet-done{border-radius:var(--r-sm);background:var(--accent);width:100%;height:42px;color:var(--accent-text,#fff);font-family:inherit;font-size:var(--fs-13);cursor:pointer;border:none;margin-top:12px;font-weight:600;display:block}}.data-alert{border:1px solid var(--red-line,#cf3d3d47);border-radius:var(--r-md);background:var(--red-soft,#cf3d3d12);font-size:var(--fs-13);color:var(--ink);align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;display:flex}.data-alert-text{min-width:0;color:var(--red,#cf3d3d);flex:1;line-height:1.45}.data-alert-btn{border:1px solid var(--red-line,#cf3d3d52);border-radius:var(--r-pill,999px);background:var(--card,#fff);height:28px;color:var(--red,#cf3d3d);font-family:inherit;font-size:var(--fs-12);cursor:pointer;flex-shrink:0;padding:0 12px;font-weight:600;transition:background .15s}.data-alert-btn:hover:not(:disabled){background:var(--red-soft,#cf3d3d1a)}.data-alert-btn:disabled{opacity:.6;cursor:default}.zone-dot{vertical-align:1px;opacity:.9;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:5px;display:inline-block}.top-1-row .player-avatar-sm{box-shadow:0 0 0 2px #b07a128c}.top-2-row .player-avatar-sm{box-shadow:0 0 0 2px #78808c73}.top-3-row .player-avatar-sm{box-shadow:0 0 0 2px #9a5b2073}.top-1-row .rank-num{color:var(--gold,#b07a12)}.top-2-row .rank-num{color:#6b7280}.top-3-row .rank-num{color:#9a5b20}.mobile-zone-head{justify-content:space-between;align-items:center;gap:4px;min-width:0;display:flex}.mobile-zone-seg .zone-max-tag-sm{box-shadow:none;flex-shrink:0;gap:2px;padding:0 4px;font-size:9px;line-height:1.4}.mobile-zone-seg .zone-max-tag-sm:before{font-size:7px}.zones-container{margin-bottom:var(--s-4);gap:12px;display:flex}.zone-card{align-items:stretch;gap:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);min-width:0;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex:1;padding:13px 16px 13px 18px;display:flex;position:relative;overflow:hidden}.zone-card:before{content:"";background:var(--zone-accent,var(--accent));opacity:.85;width:3px;position:absolute;top:0;bottom:0;left:0}.zone-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.zone-card-main{flex-direction:column;flex:1;justify-content:space-between;gap:10px;min-width:0;display:flex}.zone-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zone-card .zone-name{font-size:var(--fs-15);letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-weight:650}.zone-tag{font-size:var(--fs-11);color:var(--text-2);background:var(--surface-3);white-space:nowrap;border-radius:5px;padding:2px 6px;font-weight:550}.zone-card-sub{flex-wrap:wrap;gap:5px;display:flex}.zone-sub-chip{font-size:var(--fs-11);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border-soft);white-space:nowrap;border-radius:5px;padding:1px 6px;font-weight:550}.zone-card-foot{font-size:var(--fs-12);color:var(--text-3);white-space:nowrap;align-items:center;gap:14px;display:flex;overflow:hidden}.zone-card-foot b{color:var(--text-2);font-weight:600}.zone-card-right{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.zc-value{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-size:23px;font-weight:700;line-height:1.1}.zone-card-actions{display:flex}.zone-detail-btn{color:var(--text-3);font-family:inherit;font-size:var(--fs-12);cursor:pointer;white-space:nowrap;transition:color var(--dur) var(--ease);background:0 0;border:none;border-radius:4px;padding:2px 0;font-weight:550}.zone-detail-btn:hover{color:var(--text)}.modal{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#10182852;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--surface);border-radius:var(--r-lg);width:90%;max-width:700px;max-height:80vh;box-shadow:var(--shadow-table);padding:24px;position:relative;overflow-y:auto}.modal-close{background:var(--surface-3);width:28px;height:28px;color:var(--text-2);cursor:pointer;z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--line-strong);color:var(--text)}.zone-detail-header{border-bottom:1px solid var(--border-soft);margin-bottom:16px;padding-bottom:14px}.zone-detail-name{color:var(--text);margin-bottom:6px;font-size:20px;font-weight:700}.zone-detail-desc{color:var(--text-2);font-size:var(--fs-13);line-height:1.6}.boss-section-title{font-size:var(--fs-13);color:var(--text);margin-bottom:8px;font-weight:700}.boss-buff-name{font-size:var(--fs-13);color:var(--text);margin-bottom:4px;font-weight:600}.boss-buff-desc{font-size:var(--fs-12);color:var(--text-2);line-height:1.55}.team-empty{color:var(--text-3);font-size:var(--fs-13);text-align:center;padding:20px 10px}@media (width<=560px){.modal-content{border-radius:var(--r-md);width:calc(100vw - 12px);max-width:100vw;max-height:90vh;padding:18px;overflow-y:auto}.modal-close{width:36px;height:36px;font-size:20px}.zones-container{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.zone-card{flex-direction:column;flex:none;gap:4px;padding:9px 10px 9px 12px}.zone-card:before{width:2px}.zone-card-head{flex-wrap:wrap;gap:4px}.zone-card .zone-name{font-size:var(--fs-12)}.zone-tag{padding:1px 4px;font-size:10px}.zone-card-sub,.zone-card-foot{display:none}.zone-card-right{align-items:flex-start;gap:0}.zc-value{letter-spacing:-.035em;font-size:13px}.zone-detail-btn{color:var(--text-4);font-size:10px}}.zone-card{background-image:linear-gradient(180deg, var(--zone-tint,#fff0) 0%, #fff0 76%)}.zone-top-player{align-items:center;gap:7px;min-width:0;display:inline-flex}.zone-top-avatar{background:var(--surface-3);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #14171c0f}.zone-top-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.zone-top-avatar-fallback{color:var(--text-2);place-items:center;font-size:11px;font-weight:650;display:inline-grid}.stat-strip{margin-bottom:var(--s-4);background:var(--line);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stat-item{background:var(--surface);flex-direction:column;gap:1px;min-width:0;padding:10px 14px 11px;display:flex}.stat-label{font-size:var(--fs-11);color:var(--text-3);letter-spacing:.02em;font-weight:600}.stat-value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:700;line-height:1.2;overflow:hidden}.stat-value em{font-style:normal;font-size:var(--fs-11);color:var(--text-3);margin-left:3px;font-weight:550}.stat-value-sm{font-size:var(--fs-13);letter-spacing:0;color:var(--text-2);padding-top:4px;font-weight:650}.stat-sub{font-size:var(--fs-11);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=700px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.stat-item{padding:8px 12px 9px}.stat-item-hide-sm{display:none}.stat-value{font-size:17px}}.zone-card-skeleton{pointer-events:none;min-height:113px}.zone-card-skeleton .zone-card-main{gap:14px}.zone-card-skeleton .zone-card-right{align-items:flex-end;gap:10px}.sk-line{background:linear-gradient(90deg, var(--surface-sunken) 20%, var(--surface-3) 45%, var(--surface-sunken) 70%);background-size:320% 100%;border-radius:999px;height:10px;animation:1.5s ease-in-out infinite sk-shimmer;display:block}.sk-tall{border-radius:6px;height:22px}.sk-w-80{width:80px}.sk-w-110{width:110px}.sk-w-150{width:150px}@keyframes sk-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (width<=560px){.zone-card-skeleton{min-height:95px}.sk-w-150{width:96px}.sk-w-110{width:76px}.sk-w-80{width:58px}}@media (prefers-reduced-motion:reduce){.sk-line{animation:none}}.modal{animation:.18s modal-fade}.modal-content{animation:.24s cubic-bezier(.16,1,.3,1) modal-pop}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modal-wide{max-width:900px}.team-modal-title{color:var(--text);margin-bottom:14px;font-size:20px;font-weight:700}.history-sub{color:var(--text-3);margin-left:6px;font-size:12px;font-weight:400}.team-tabs{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.team-tab{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 16px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.team-tab:hover{color:var(--text)}.team-tab.active{color:var(--text);border-bottom-color:var(--accent)}.team-zone-tabs{margin-top:-8px}.bracket-title{color:var(--text);margin-bottom:14px;font-size:14px;font-weight:700}.bracket-list{flex-direction:column;gap:8px;display:flex}.bracket-row{align-items:center;gap:10px;font-size:12px;display:flex}.bracket-label{width:180px;color:var(--text-2);text-align:right;white-space:nowrap;flex-shrink:0}.bracket-bar-wrap{background:var(--surface-3);border-radius:4px;flex:1;height:18px;overflow:hidden}.bracket-bar{background:var(--accent);border-radius:4px;min-width:3px;height:100%;transition:width .3s}.bracket-count{width:40px;color:var(--text);text-align:right;flex-shrink:0;font-weight:600}.bracket-empty{color:var(--text-3);text-align:center;padding:10px;font-size:13px}.bracket-peak-note{color:var(--text-3);margin-left:10px;font-size:11px;font-weight:500}.bracket-dash{color:var(--text-4);margin:0 4px}.bracket-row.is-peak .bracket-bar{background:linear-gradient(#2a9971,#1b7350)}.bracket-row.is-peak .bracket-count{color:#1b7350}@media (width<=560px){.bracket-label{width:116px;font-size:11px}.bracket-bar-wrap{height:14px}}.team-zone-block{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:12px;padding:14px}.team-zone-title{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:700}.team-card{background:var(--surface);border:.5px solid var(--border-soft);border-radius:12px;margin-bottom:10px;padding:12px 14px;position:relative}.team-card:last-child{margin-bottom:0}.team-rank-badge{color:#fff;background:var(--text);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;right:10px}.team-chars{flex-wrap:wrap;gap:8px;display:flex}.team-char{background:var(--surface-2);color:var(--text);border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:600;display:flex}.team-char img{object-fit:cover;border-radius:5px;width:24px;height:24px}.team-meta{color:var(--text-3);align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.team-score{color:var(--text);font-weight:700}.team-player{color:var(--text-2)}.team-card-common{padding-top:16px}.team-usage-bar{border-radius:12px 12px 0 0;height:4px;position:absolute;top:0;left:0;right:0;overflow:hidden}.team-usage-fill{background:var(--accent);border-radius:10px 10px 0 0;height:100%}.team-usage-pct{color:var(--accent);font-weight:700}.team-count{color:var(--text-3)}.ranking-search-full{max-width:100%;margin-bottom:10px}.team-rank-card{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:12px;margin-bottom:8px;overflow:hidden}.team-rank-card:last-child{margin-bottom:0}.team-rank-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 14px;transition:background .15s;display:flex}.team-rank-card-header:hover{background:var(--surface-3)}.team-rank-toggle{color:var(--text-3);flex-shrink:0;width:14px;font-size:13px}.team-rank-chars-sm{flex-wrap:wrap;flex:1;gap:4px;min-width:0;display:flex}.team-rank-char-sm{align-items:center;gap:3px;display:inline-flex}.team-rank-char-sm img{object-fit:cover;border-radius:5px;flex-shrink:0;width:24px;height:24px}.team-rank-label{color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:980px;flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:700}.team-rank-count{color:var(--text-2);flex-shrink:0;font-size:12px;font-weight:600}.team-rank-max{color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px;font-weight:700}.team-rank-body{border-top:.5px solid var(--border-soft);padding:6px 8px}.team-rank-item{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;transition:background .15s;display:flex}.team-rank-item:hover{background:var(--surface-3)}.team-rank-pos{width:22px;height:22px;color:var(--text-2);background:var(--surface-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.team-rank-pos.team-rank-pos-top1{color:#fff;background:linear-gradient(135deg,#ffe066 0%,#d4a017 60%,#b8860b 100%)}.team-rank-pos.team-rank-pos-top2{color:#fff;background:linear-gradient(135deg,#e8e8e8 0%,#b8b8b8 60%,#8a8a8a 100%)}.team-rank-pos.team-rank-pos-top3{color:#fff;background:linear-gradient(135deg,#f0a070 0%,#b87333 60%,#9a5b20 100%)}.team-rank-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:20px;height:20px}.team-rank-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.team-rank-info .team-rank-name{flex:none}.team-rank-chars{flex-wrap:wrap;gap:8px;display:flex}.team-rank-char{color:var(--text-2);align-items:center;gap:4px;min-width:0;font-size:10px;display:inline-flex}.team-rank-char-icon{object-fit:cover;border-radius:3px;flex-shrink:0;width:16px;height:16px}.team-rank-char-name{text-overflow:ellipsis;white-space:nowrap;max-width:50px;overflow:hidden}.team-rank-char-rank{color:var(--accent);background:#4880ff1f;border-radius:3px;flex-shrink:0;padding:0 3px;font-size:9px;font-style:normal;font-weight:700}.team-rank-bp{color:var(--text-2);background:var(--surface-3);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px}.team-rank-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.team-rank-score{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.sa-header{border-bottom:.5px solid var(--border-soft);margin-bottom:16px;padding-bottom:14px}.sa-player-name{color:var(--text);margin-bottom:6px;font-size:20px;font-weight:700}.sa-zone-label{color:var(--text-2);margin-left:8px;font-size:13px;font-weight:500}.sa-player-meta{color:var(--text-3);font-size:12px}.sa-zone{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:12px;margin-bottom:10px;padding:12px 14px}.sa-zone:last-child{margin-bottom:0}.sa-zone-title{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:700}.sa-zone-score{color:var(--accent);margin-left:6px}.sa-team{flex-wrap:wrap;gap:6px;display:flex}.sa-char{background:var(--surface);border:.5px solid var(--border-soft);color:var(--text);border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:flex}.sa-char img{object-fit:cover;border-radius:5px;width:22px;height:22px}.sa-char-bp{color:var(--text-3);font-size:10px}.sa-max-player{background:var(--surface);border-radius:10px;align-items:center;gap:10px;margin:10px 0;padding:8px 10px;display:flex}.sa-max-avatar img{object-fit:cover;border-radius:50%;width:36px;height:36px}.sa-max-name{color:var(--text);font-size:14px;font-weight:700}.sa-max-id{color:var(--text-3);font-size:11px}.sa-zone-compare{margin-top:10px}.sa-empty{color:var(--text-3);text-align:center;padding:16px;font-size:13px}.curve-chart{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:12px;min-width:0;max-width:100%;margin-bottom:12px;padding:12px 14px;overflow:hidden}.curve-chart:last-child{margin-bottom:0}.curve-chart-title{color:var(--text);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.curve-range{color:var(--text-2);font-size:12px;font-weight:600}.curve-svg-wrap{width:100%;min-width:0;margin-top:6px}.curve-svg{width:100%;max-width:100%;height:auto;display:block}.chart-legend{flex-wrap:wrap}.curve-fade{opacity:0;animation:.6s forwards curve-fade-in}@keyframes curve-fade-in{0%{opacity:0}to{opacity:1}}.curve-tip-shadow{filter:drop-shadow(0 6px 16px #0000001f)}.chart-legend-value{color:var(--text);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:700}.curve-chart-axis{color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.curve-tooltip-show{background:var(--surface);border:.5px solid var(--border);box-shadow:var(--shadow-md);white-space:nowrap;border-radius:8px;padding:5px 10px;font-size:12px}.curve-tip-time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.curve-tip-score{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.chart-tooltip{background:var(--surface);border:.5px solid var(--border);border-radius:8px;gap:6px;min-width:128px;padding:8px 10px;font-size:12px;display:grid;box-shadow:0 12px 32px #00000024}.chart-tooltip-label{color:var(--text-2);font-size:11px;font-weight:500}.chart-tooltip-row{align-items:center;gap:8px;display:flex}.chart-tooltip-indicator{background:var(--accent);border-radius:2px;flex-shrink:0;width:10px;height:10px}.chart-tooltip-name{color:var(--text-2);font-size:12px}.chart-tooltip-value{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.chart-legend{align-items:center;gap:12px;margin-bottom:6px;display:flex}.chart-legend-item{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:inline-flex}.chart-legend-dot{background:var(--accent);border-radius:2px;flex-shrink:0;width:10px;height:10px}.prm-header{align-items:center;gap:12px;padding:4px 0 12px;display:flex}.prm-avatar,.prm-avatar img{width:48px;height:48px}.prm-avatar .frame-sm{width:54px;height:54px}.prm-total{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.prm-total-label{color:var(--text-3);font-size:12px}.prm-total-val{color:var(--text);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.prm-tabs{gap:6px;margin-bottom:12px;display:flex}.prm-tab{border:.5px solid var(--border-soft);background:var(--surface);min-height:40px;color:var(--text-2);cursor:pointer;border-radius:10px;flex:1;font-size:13px;font-weight:600}.prm-tab.active{background:var(--accent);color:var(--accent-text)}.prm-zone{margin-bottom:12px}.prm-chars{flex-direction:column;gap:8px;margin:10px 0;display:flex}.prm-compare{margin:4px 0 10px}.prm-actions{gap:8px;display:flex}.prm-actions .zone-sa-btn{opacity:1;visibility:visible;margin:0;position:static}.prm-goto{background:var(--accent);width:100%;min-height:44px;color:var(--accent-text);cursor:pointer;border:none;border-radius:10px;font-size:14px;font-weight:600}.roster-loading{color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 12px;font-size:13px;display:flex}.roster-spinner{border:2.5px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite roster-spin}@keyframes roster-spin{to{transform:rotate(360deg)}}.roster-loading-sub{color:var(--text-3);font-size:11px;line-height:1.5}.roster-error{color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 12px;font-size:13px;display:flex}.roster-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.roster-stat{background:var(--surface-2);border-radius:12px;min-width:0;padding:10px 12px}.roster-stat b{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.3px;font-size:19px;font-weight:700;display:block}.roster-stat b em{color:var(--text-3);font-size:12px;font-style:normal;font-weight:600}.roster-stat span{color:var(--text-3);margin-top:2px;font-size:11px;display:block}.roster-rankline{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.roster-rankline>span:first-child{color:var(--text-2);font-weight:600}.roster-rank-chip{background:var(--surface-2);color:var(--text-2);border-radius:6px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.roster-rank-chip em{font-style:normal}.roster-span{margin-left:auto}.roster-diff-line{margin-top:-6px}.roster-diff-chip{background:var(--surface-2);border:.5px solid var(--border-soft);color:var(--text-2);border-radius:6px;align-items:center;gap:5px;padding:2px 7px;display:inline-flex}.roster-diff-chip em{color:var(--text-3);font-size:10px;font-style:normal}.roster-refresh{border:.5px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:11px}.roster-refresh:disabled{opacity:.5;cursor:default}.roster-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.roster-tabs{gap:2px;display:flex}.roster-tabs .team-tab{padding:6px 10px;font-size:12px}.roster-sort{color:var(--text-3);align-items:center;gap:6px;font-size:12px;display:flex}.roster-sort select{border:.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:5px 8px;font-size:12px}.roster-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.roster-card{background:var(--surface-2);cursor:pointer;border:.5px solid #0000;border-radius:12px;padding:10px;transition:background .15s,border-color .15s}.roster-card:hover{background:var(--surface-3)}.roster-card.is-open{opacity:.72}.roster-card.is-hidden-char{background:linear-gradient(135deg,#ff6b000d,#ff2d0008);border-color:#ff6b0038}.roster-card.is-expanded{grid-column:1/-1}.roster-card-head{align-items:center;gap:10px;min-width:0;display:flex}.roster-icon{object-fit:cover;background:var(--surface-3);border-radius:10px;flex-shrink:0;width:44px;height:44px}.roster-icon-empty{display:block}.roster-card-main{flex:1;min-width:0}.roster-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.roster-card-meta{color:var(--text-2);align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.roster-bp{font-variant-numeric:tabular-nums;color:var(--text-2)}.roster-open-tag{color:var(--text-3);background:var(--surface-3);white-space:nowrap;border-radius:4px;padding:0 4px;font-size:10px}.roster-card-sub{color:var(--text-3);margin-top:2px;font-size:11px}.roster-detail{border-top:.5px dashed var(--border);color:var(--text-2);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;font-size:11px;display:flex}.roster-detail-row{align-items:flex-start;gap:8px;display:flex}.roster-detail-label{width:60px;color:var(--text-3);flex-shrink:0}.roster-weeks{flex-wrap:wrap;gap:4px;display:flex}.roster-week{background:var(--surface-3);font-variant-numeric:tabular-nums;color:var(--text-2);border-radius:4px;padding:0 5px}.roster-week-more{color:var(--text-3)}.roster-empty{text-align:center;color:var(--text-3);padding:30px 12px;font-size:13px}.roster-foot{margin-top:12px}.roster-note{color:var(--text-3);font-size:11px;line-height:1.6}@media (width<=640px){.team-modal-title .history-sub{margin-top:4px;margin-left:0;display:block}.roster-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.roster-card{padding:8px}.roster-icon{border-radius:8px;width:36px;height:36px}.roster-card-name{font-size:12px}.roster-card-sub{display:none}.roster-span{order:9;width:100%;margin-left:0}.roster-toolbar{align-items:flex-start}}.header{text-align:center;margin-bottom:28px}.header h1{color:var(--text);letter-spacing:-.02em;margin-bottom:14px;font-size:28px;font-weight:700}.search-box{justify-content:center;gap:10px;margin-bottom:20px;display:flex}.search-box input{background:var(--surface);color:var(--text);border:.5px solid var(--border);width:300px;box-shadow:var(--shadow-sm);border-radius:12px;padding:10px 16px;font-size:15px;transition:box-shadow .2s,border-color .2s}.search-box input:focus{box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--accent);outline:none}.search-box button{background:var(--accent);color:var(--accent-text);cursor:pointer;box-shadow:0 4px 14px var(--focus-ring);border:none;border-radius:980px;padding:10px 26px;font-size:15px;font-weight:600;transition:opacity .15s,transform .15s}.search-box button:hover{opacity:.88;transform:translateY(-1px)}.history-section{background:var(--surface);border:.5px solid var(--border-soft);box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:24px;padding:20px}.history-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.history-header h3{color:var(--text);font-size:16px;font-weight:700}.clear-btn{color:var(--text-2);border:.5px solid var(--border);cursor:pointer;background:0 0;border-radius:980px;padding:5px 12px;font-size:12px;transition:all .15s}.clear-btn:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.history-list{flex-wrap:wrap;gap:10px;display:flex}.history-item{background:var(--surface-2);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;transition:background .15s,transform .15s;display:flex}.history-item:hover{background:var(--surface-3);transform:translateY(-1px)}.history-avatar{object-fit:cover;border-radius:8px;width:36px;height:36px}.history-name{color:var(--text);font-size:14px;font-weight:600}.history-id{color:var(--text-3);font-size:11px}.history-empty,.follow-empty{color:var(--text-3);padding:4px;font-size:13px}.player-profile{background:var(--surface);border:.5px solid var(--border-soft);box-shadow:var(--shadow-md);border-radius:20px;gap:28px;margin-bottom:28px;padding:28px;display:flex}.player-avatar{flex-shrink:0;width:120px;height:120px;position:relative}.player-avatar img{object-fit:cover;border-radius:14px;width:100%;height:100%}.player-avatar .frame{object-fit:contain;pointer-events:none;width:calc(100% + 20px);height:calc(100% + 20px);position:absolute;top:-10px;left:-10px}.player-details{flex:1}.player-details h2{color:var(--text);letter-spacing:-.02em;margin-bottom:10px;font-size:26px;font-weight:700}.player-meta{color:var(--text-3);gap:20px;margin-bottom:8px;font-size:14px;display:flex}.player-guild,.player-likes{color:var(--text-2);margin-bottom:4px;font-size:13px}.player-actions{gap:8px;margin-top:14px;display:flex}.bind-set-btn{background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:980px;padding:7px 18px;font-size:13px;font-weight:600;transition:opacity .15s}.bind-set-btn:hover{opacity:.85}.follow-set-btn{background:var(--surface-2);color:var(--text);border:.5px solid var(--border)}.characters-section{background:var(--surface);border:.5px solid var(--border-soft);box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:24px;padding:20px}.characters-section h3,.mine-section-header h3{color:var(--text);margin-bottom:14px;font-size:16px;font-weight:700}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.character-card{background:var(--surface-2);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px;transition:background .15s,transform .15s;display:flex}.character-card:hover{background:var(--surface-3);transform:translateY(-1px)}.character-icon{object-fit:cover;border-radius:10px;flex-shrink:0;width:48px;height:48px}.character-info{flex:1;min-width:0}.character-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.character-frame{color:var(--text-3);margin-left:4px;font-size:10px}.character-stats{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:3px 6px;margin-top:4px;font-size:11px;display:flex}.quality-tag{letter-spacing:1px;border-radius:4px;padding:0 5px;font-size:10px;font-weight:700}.quality-tag.quality-1{color:#007aff;background:#007aff1a}.quality-tag.quality-2{color:#af52de;background:#af52de1a}.quality-tag.quality-3{color:#ff3b30;background:#ff3b301a}.quality-tag.quality-4{color:#ff2d55;background:#ff2d551a}.quality-tag.quality-5{color:#ff9500;background:#ff95001a}.quality-tag.quality-6{color:#ff6b00;background:linear-gradient(135deg,#ff6b001f,#ff2d001f)}.character-hidden{opacity:.6}.char-tag{background:var(--surface-3);color:var(--text-2);border-radius:4px;padding:0 5px;font-size:10px}.character-inferred{opacity:1;background:linear-gradient(135deg,#ff6b000d,#ff2d0008);box-shadow:inset 0 0 0 1px #ff6b002e}.char-inferred-tag{color:#ff6b00;background:#ff6b001a;border-radius:4px;padding:0 5px;font-size:10px}.char-bp{color:var(--text-3);font-variant-numeric:tabular-nums;margin-top:3px;font-size:10px}.roster-set-btn{color:#ff6b00!important;border-color:#ff6b0059!important}.roster-hint{background:linear-gradient(135deg,#ff6b0014,#ff2d000a);border:.5px solid #ff6b0038;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;display:flex}.roster-hint-body{min-width:0}.roster-hint-title{color:var(--text);font-size:13px;font-weight:700}.roster-hint-desc{color:var(--text-2);margin-top:3px;font-size:12px;line-height:1.45}.roster-hint-btn{background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:9px 16px;font-size:12px;font-weight:600;transition:background .15s,transform .15s}.roster-hint-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.ppc-bosses{flex-wrap:wrap;justify-content:flex-start;gap:10px;margin-bottom:20px;display:flex}.ppc-boss-card{background:var(--surface);border:.5px solid var(--border-soft);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:14px;align-items:center;gap:8px;padding:10px 16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.ppc-boss-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.ppc-boss-card img{object-fit:cover;border-radius:8px;width:32px;height:32px}.ppc-boss-card span{color:var(--text);font-size:14px;font-weight:600}.boss-detail-header{border-bottom:.5px solid var(--border-soft);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.boss-detail-icon{object-fit:cover;border-radius:10px;width:40px;height:40px}.boss-detail-name{color:var(--text);font-size:20px;font-weight:700}.boss-stage{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:12px;margin-bottom:10px;padding:12px 14px}.boss-stage-header{border-bottom:.5px solid var(--border-soft);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.boss-stage-difficulty{color:var(--text);font-size:14px;font-weight:700}.boss-stage-score{color:var(--accent);font-size:13px;font-weight:700}.boss-stage-section{margin-bottom:10px}.boss-section-title{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:700}.boss-buff{background:var(--surface);border:.5px solid var(--border-soft);border-radius:8px;margin-bottom:6px;padding:8px 12px}.boss-buff-name{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:600}.boss-buff-desc{color:var(--text-2);font-size:11px;line-height:1.5}.boss-skill{background:var(--surface);border:.5px solid var(--border-soft);border-radius:8px;margin-bottom:6px;padding:8px 12px}.boss-skill-name{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:600}.boss-skill-desc{color:var(--text-2);font-size:11px;line-height:1.5}.account-grid{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:64px;display:grid}.account-block{background:var(--surface-2);border-radius:12px;padding:16px}.account-block-title{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-left:auto}.status-dot.on{background:#34c759;animation:2.4s ease-in-out infinite status-breathe;box-shadow:0 0 8px #34c759e6,0 0 2px #34c75999}.status-dot.off{background:#ff3b30;box-shadow:0 0 8px #ff3b30b3}.status-text{font-size:11px;font-weight:600}.status-text.on{color:#34c759}.status-text.off{color:#ff3b30}@keyframes status-breathe{0%,to{opacity:1}50%{opacity:.55}}.account-block-title .step-badge{margin-right:0}.account-block-desc{color:var(--text-3);margin:8px 0 14px;font-size:12px;line-height:1.5}.account-form .login-input-row:last-of-type{margin-bottom:0}.kuro-bound-hint{color:var(--accent);background:#4880ff1a;border-radius:8px;margin-bottom:10px;padding:6px 10px;font-size:11px;line-height:1.5}.kuro-sync-tip{color:var(--text-3);background:var(--surface-2);text-align:center;border-radius:8px;margin-top:8px;padding:5px 10px;font-size:10px;line-height:1.5}.account-intro{background:var(--surface-2);border:.5px dashed var(--border);color:var(--text-3);border-radius:10px;flex-direction:column;gap:4px;margin-top:14px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}@media (width<=768px){.account-grid{grid-template-columns:1fr}}.week-card-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.week-card-block{background:var(--surface-2);border-radius:12px;padding:14px}.week-card-title{color:var(--text);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.week-card-group{color:var(--accent);font-size:12px;font-weight:500}.week-trend-btn{color:var(--accent);border:.5px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;min-height:32px;padding:4px 14px;font-size:12px;font-weight:600}.week-sync-btn{background:var(--accent);color:var(--accent-text)}.week-sync-btn:hover{filter:brightness(1.1)}.week-card-actions{align-items:center;gap:6px;display:flex}.week-trend-btn:hover{background:var(--accent);color:var(--accent-text)}.trend-modal-grid{grid-template-columns:1fr}.week-card-stats{align-items:flex-end;gap:24px;padding:10px 0 12px;display:flex}.week-stat{flex-direction:column;gap:2px;display:flex}.week-stat-num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.1}.week-stat-label{color:var(--text-3);font-size:11px}.week-zones{flex-direction:column;gap:10px;display:flex}.week-zone{background:var(--surface);border:.5px solid var(--border-soft);border-radius:10px;padding:10px 12px}.week-zone-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.week-zone-top{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.week-zone-top .week-zone-score{margin-left:auto}.week-zone-foot{flex-shrink:0;align-items:center;gap:6px;display:flex}.week-zone-name{color:var(--text);font-size:13px;font-weight:600}.week-zone-sub{color:var(--text-3);margin-left:2px;font-size:10px;font-style:normal;font-weight:500}.week-zone-subs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.week-zone-sub-item{color:var(--accent);white-space:nowrap;background:#4880ff14;border-radius:5px;padding:2px 8px;font-size:10px;font-weight:600}.week-zone-sub-item em{color:var(--text-3);margin-left:4px;font-style:normal;font-weight:500}.week-zone-mech{color:var(--accent);background:#4880ff1a;border-radius:980px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.week-zone-wave{color:var(--text-3);background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:980px;padding:2px 8px;font-size:11px}.week-zone-tags{gap:6px;display:flex}.week-team-btn{background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:5px 12px;font-size:11px;font-weight:600}.week-team-btn:hover{filter:brightness(1.08)}.week-compare-btn{color:var(--accent);border:.5px solid var(--accent);background:0 0}.week-zone-score{color:var(--accent);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.week-team{align-items:flex-start;gap:8px;padding:2px 0;display:flex}.week-buff-name{color:var(--text-3);flex-shrink:0;min-width:44px;padding-top:4px;font-size:11px}.week-chars{flex-wrap:wrap;gap:6px;display:flex}.week-char{background:var(--surface-2);border:.5px solid var(--border-soft);color:var(--text-2);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.week-char em{color:var(--accent);font-size:10px;font-style:normal;font-weight:700}.week-char b{color:var(--text-3);font-size:10px;font-style:normal;font-weight:600}.team-rank-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.team-rank-item.mine-row{outline:1px solid var(--accent);background:#4880ff14;border-radius:8px}.team-rank-item.mine-row .team-rank-pos,.mine-name{color:var(--accent);font-weight:800}@media (width<=768px){.week-card-grid{grid-template-columns:1fr}}.team-detail{flex-direction:column;gap:16px;max-height:60vh;display:flex;overflow-y:auto}.team-detail-buff{background:var(--surface-2);border-radius:12px;padding:14px}.team-detail-buff-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.team-detail-buff-name{color:var(--text);font-size:14px;font-weight:700}.team-detail-buff-point{color:var(--accent);font-size:12px;font-weight:600}.team-detail-buff-time{color:var(--text-3);font-size:12px}.team-detail-chars{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.team-detail-char{background:var(--surface);border:.5px solid var(--border-soft);border-radius:10px;padding:10px 12px}.team-detail-char-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.team-detail-avatar{object-fit:cover;border-radius:10px;flex-shrink:0;width:40px;height:40px}.team-detail-char-name{color:var(--text);font-size:14px;font-weight:700}.team-detail-char-name em{color:var(--accent);background:#4880ff1f;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:700}.team-detail-char-sub{color:var(--text-3);margin-top:2px;font-size:11px}.team-detail-rows{flex-direction:column;gap:3px;display:flex}.team-detail-row{color:var(--text-2);font-size:12px;line-height:1.5}@media (width<=900px){.team-detail-chars{grid-template-columns:1fr}}.rank-compare{flex-direction:column;gap:14px;max-height:60vh;display:flex;overflow-y:auto}.rank-compare-head{justify-content:center;display:flex}.rank-compare-diff{align-items:center;gap:12px;display:flex}.rank-compare-diff-label{color:var(--text);font-size:14px;font-weight:700}.rank-compare-diff-label.mine{color:var(--accent)}.rank-compare-switch{color:var(--accent);border:.5px solid var(--accent);cursor:pointer;background:0 0;border-radius:980px;padding:4px 12px;font-size:12px;font-weight:600}.rank-compare-switch:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.rank-compare-switch:disabled{opacity:.35;cursor:not-allowed}.rank-compare-group-rank{color:var(--accent);margin-left:8px;font-size:13px}.rank-compare-jump{color:var(--accent);border:.5px solid var(--accent);cursor:pointer;background:0 0;border-radius:980px;margin-left:auto;padding:3px 12px;font-size:11px;font-weight:600}.rank-compare-jump:hover{background:var(--accent);color:var(--accent-text)}.rank-compare-group-top{color:var(--text-2);flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;display:flex}.rank-compare-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.rank-compare-stat{background:var(--surface-2);text-align:center;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.rank-compare-num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.rank-compare-num.danger{color:#ff3b30}.rank-compare-num.ok{color:#34c759}.rank-compare-label{color:var(--text-3);font-size:11px}.rank-compare-team{background:var(--surface-2);border-radius:10px;padding:12px}.rank-compare-team-title{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:700}.rank-compare-group-info{color:var(--text-2);gap:14px;margin-bottom:8px;font-size:12px;display:flex}.rank-compare-group-info b{color:var(--accent)}.rank-compare-worse{color:#ff3b30}.rank-compare-better{color:#34c759}.rank-compare-note{color:var(--text-3);background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}.rank-compare-tip{color:var(--accent);border:.5px dashed var(--accent);background:#4880ff14;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.6}@media (width<=768px){.rank-compare-stats{grid-template-columns:1fr}}.setup-guide{background:linear-gradient(135deg, var(--surface), var(--surface-2));border:.5px solid var(--border-soft);box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:20px;padding:18px 20px}.setup-guide-header{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.setup-guide-title{color:var(--text);font-size:15px;font-weight:700}.setup-guide-sub{color:var(--text-3);font-size:12px}.setup-guide-hint{background:var(--gold-soft);color:var(--gold);border:.5px solid #b07a1238;border-radius:10px;margin-top:12px;padding:9px 12px;font-size:12px;line-height:1.5}.mine-skeleton{flex-direction:column;gap:10px;padding:6px 2px 10px;display:flex}.mine-skeleton .skeleton{height:14px}.mine-skeleton .skeleton:nth-child(2){width:78%}.mine-skeleton .skeleton:nth-child(3){width:52%}.guide-steps{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.guide-step{background:var(--surface);border:.5px solid var(--border-soft);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:border-color .2s,transform .2s;display:flex}.guide-step:hover{border-color:var(--accent);transform:translateY(-1px)}.guide-step.done{cursor:default}.guide-step.done:hover{transform:none}.guide-step-dot{background:var(--surface-2);width:30px;height:30px;color:var(--text-3);border:.5px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .2s;display:flex}.guide-step.done .guide-step-dot{color:#fff;background:#34c759;border-color:#34c759}.guide-step-info{flex:1;min-width:0}.guide-step-title{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.guide-step.done .guide-step-title{color:var(--text-2)}.guide-step-desc{color:var(--text-3);white-space:nowrap;margin-top:2px;font-size:11px}.guide-action{background:var(--accent);color:var(--accent-text);cursor:pointer;white-space:nowrap;border:none;border-radius:980px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600;transition:filter .2s}.guide-step-actions{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.guide-action-kuro{color:var(--accent);border:.5px solid var(--accent);background:0 0}.guide-step-lights{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.guide-light{color:var(--text-3);background:var(--surface-2);border:.5px solid var(--border-soft);white-space:nowrap;border-radius:980px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.guide-light:before{content:"";background:#ff3b30;border-radius:50%;flex-shrink:0;width:6px;height:6px}.guide-light.checking:before{background:#b0b0b5;animation:1s ease-in-out infinite guide-pulse}.guide-light.checking{color:var(--text-3)}@keyframes guide-pulse{0%,to{opacity:1}50%{opacity:.25}}.guide-light.on{color:#34c759;background:#34c75914;border-color:#34c7594d}.guide-light.on:before{background:#34c759;box-shadow:0 0 6px #34c759cc}.login-modal-tabs{gap:8px;margin-bottom:14px;display:flex}.login-modal-tab{border:.5px solid var(--border-soft);background:var(--surface);min-height:40px;color:var(--text-2);cursor:pointer;border-radius:10px;flex:1;font-size:13px;font-weight:600}.login-modal-tab.active{background:var(--accent);color:var(--accent-text)}.login-modal-body{flex-direction:column;gap:10px;display:flex}.login-modal-body .bind-input{max-width:none}.login-modal-switch{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:12px}.login-modal-code-row{gap:8px;display:flex}.login-modal-code-row .bind-input{flex:1;min-width:0}.login-modal-send{white-space:nowrap;flex-shrink:0;padding:9px 14px}.login-done{background:#34c7590f;border:.5px solid #34c7594d;border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.login-done-icon{color:#fff;background:#34c759;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex;box-shadow:0 0 10px #34c75980}.login-done-text{flex-direction:column;gap:3px;display:flex}.login-done-text b{color:var(--text);font-size:14px}.login-done-text span{color:var(--text-2);font-size:11px;line-height:1.5}@media (width<=560px){.login-modal-body .bind-input,.login-modal-code-row .bind-input,.login-modal-code-row button{min-height:44px}.guide-step-actions{flex-direction:row}}.guide-action:hover{filter:brightness(1.08)}@media (width<=768px){.guide-steps{grid-template-columns:1fr}.setup-guide-header{flex-direction:column;gap:4px}}.step-badge{background:var(--surface-2);border:.5px solid var(--border);min-width:22px;height:22px;color:var(--text-3);border-radius:6px;justify-content:center;align-items:center;margin-right:8px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.step-badge.done{color:#34c759;background:#34c7591f;border-color:#34c75959}.score-live-total{color:var(--text-3);margin-left:auto;font-size:13px}.score-live-total b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.score-save-row{align-items:center;gap:10px;margin-top:4px;display:flex}.score-cloud-hint{color:#34c759;font-size:12px}.score-cloud-hint.offline{color:var(--text-3)}.mine-section{background:var(--surface);border:.5px solid var(--border-soft);box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:20px;padding:20px}.mine-section-header{justify-content:space-between;align-items:center;display:flex}.bind-empty{gap:10px;display:flex}.bind-input{background:var(--surface-2);color:var(--text);border:.5px solid var(--border);border-radius:10px;flex:1;max-width:320px;padding:9px 14px;font-size:14px}.bind-input:focus{box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--accent);outline:none}.bind-btn{background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:980px;padding:9px 22px;font-size:14px;font-weight:600}.bind-player{align-items:center;gap:12px}.bind-avatar{object-fit:cover;border-radius:12px;width:48px;height:48px}.bind-name{color:var(--text);font-size:16px;font-weight:700}.bind-id{color:var(--text-3);font-size:12px}.bind-btn-unbind{color:#ff3b30;cursor:pointer;background:0 0;border:.5px solid #ff3b3066;border-radius:980px;margin-left:auto;padding:6px 16px;font-size:12px}.follow-list{flex-wrap:wrap;gap:10px;display:flex}.follow-item{background:var(--surface-2);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.follow-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px}.follow-name{color:var(--text);font-size:14px;font-weight:600}.follow-id{color:var(--text-3);font-size:11px}.follow-view{background:var(--surface);color:var(--text);border:.5px solid var(--border);cursor:pointer;border-radius:980px;padding:4px 12px;font-size:12px}.follow-remove{color:var(--text-3);cursor:pointer;background:0 0;border:none;font-size:12px}.follow-remove:hover{color:#ff3b30}.data-mgmt-btns{gap:10px;display:flex}.data-mgmt-msg{color:var(--text-2);margin-top:10px;font-size:12px}.data-mgmt-desc{color:var(--text-3);margin-top:8px;font-size:12px}.char-loading{color:var(--text-3);text-align:center;padding:30px;font-size:13px}.char-header{border-bottom:.5px solid var(--border-soft);gap:16px;margin-bottom:16px;padding-bottom:14px;display:flex}.char-icon-wrap{background:var(--surface-2);border-radius:14px;flex-shrink:0;width:80px;height:80px;overflow:hidden}.char-icon-wrap img{object-fit:cover;width:100%;height:100%}.char-basic{flex:1;min-width:0}.char-name-row{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.char-detail-name{color:var(--text);font-size:22px;font-weight:700}.char-frame-name{color:var(--text-3);font-size:13px}.char-tags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.char-tag{background:var(--surface-3);color:var(--text-2);border:.5px solid var(--border-soft);border-radius:4px;padding:1px 8px;font-size:11px}.char-stats{color:var(--text-2);gap:14px;font-size:13px;display:flex}.char-stats span{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.char-tabs{border-bottom:.5px solid var(--border-soft);gap:4px;margin-bottom:14px;display:flex}.char-tab{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-.5px;padding:8px 16px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.char-tab:hover{color:var(--text)}.char-tab.active{color:var(--text);border-bottom-color:var(--accent)}.skill-list{flex-direction:column;gap:8px;display:flex}.skill-item{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:10px;padding:10px 14px}.skill-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.skill-icon{object-fit:cover;border-radius:6px;width:28px;height:28px}.skill-name{color:var(--text);font-size:13px;font-weight:600}.skill-level{color:var(--text-3);margin-left:auto;font-size:11px}.skill-desc-title{color:var(--text-2);margin-top:4px;font-size:12px;font-weight:600}.skill-desc-text{color:var(--text-2);margin-top:2px;font-size:12px;line-height:1.5}.memory-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.memory-item{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.memory-icon{object-fit:cover;border-radius:8px;flex-shrink:0;width:42px;height:42px}.memory-name{color:var(--text);font-size:13px;font-weight:600}.memory-level{color:var(--text-3);font-size:11px}.memory-resonance{color:var(--text-2);font-size:11px}.weapon-section{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:10px;gap:14px;padding:12px 14px;display:flex}.weapon-icon{object-fit:cover;border-radius:10px;flex-shrink:0;width:56px;height:56px}.weapon-name{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:700}.weapon-skill-name{color:var(--text);margin-bottom:3px;font-size:12px}.weapon-resonance{color:var(--accent);margin-top:4px;font-size:12px}.cub-section{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:10px;gap:14px;padding:12px 14px;display:flex}.cub-icon{object-fit:cover;border-radius:10px;flex-shrink:0;width:56px;height:56px}.cub-name{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:700}.cub-skill{color:var(--text-2);margin-bottom:3px;font-size:12px}.history-loading{color:var(--text-2);text-align:center;padding:20px;font-size:13px}.history-empty{color:var(--text-3);text-align:center;padding:20px;font-size:13px}.history-config{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0 14px;display:flex}.history-config select{border:.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;outline:none;max-width:130px;padding:5px 8px;font-size:13px}.history-config-label{color:var(--text-2);font-size:13px}.history-tip{color:var(--text-3);padding:0 0 8px;font-size:12px}.history-week-select{max-width:96px}.history-summary{color:var(--text-2);padding:0 0 10px;font-size:13px}.history-list{max-height:420px;overflow-y:auto}.history-row{border-bottom:.5px solid var(--border-soft);padding:10px 0}.history-row:last-child{border-bottom:none}.history-row-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.history-week{color:var(--text);font-size:13px;font-weight:600}.element-tag{color:var(--text-2);white-space:nowrap;background:#0000000f;border-radius:4px;padding:1px 6px;font-size:11px}.history-rank{color:var(--text-2);font-size:13px;font-weight:700}.history-rank-top{color:#ff9f0a}.history-score{font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:600}.history-zones{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.history-zone{background:var(--surface-2);border-radius:10px;min-width:0;padding:8px}.history-zone-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px;display:flex}.history-zone-name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.history-zone-score{font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:13px;font-weight:600}.history-zone-chars{gap:4px;display:flex}@media (width<=480px){.history-zones{grid-template-columns:1fr}}.score-table{border-collapse:collapse;width:100%;font-size:13px}.score-table th{color:var(--text-2);border-bottom:.5px solid var(--border);text-align:left;padding:8px 10px;font-weight:600}.score-table td{color:var(--text);border-bottom:.5px solid var(--border-soft);font-variant-numeric:tabular-nums;padding:8px 10px}.score-table tr:hover td{background:var(--surface-2)}.tl{background:var(--surface);border:.5px solid var(--border-soft);box-shadow:var(--shadow-table);border-radius:20px;padding:24px 28px}.tl-header{text-align:center;padding:8px 0 28px}.tl-h2{margin-bottom:6px;font-size:22px;font-weight:700}.tl-sub{color:var(--text-3);font-size:13px}.tl-body{padding-bottom:48px;position:relative}.tl-row{justify-content:flex-start;gap:24px;padding-top:56px;display:flex}.tl-sticky{z-index:10;flex-shrink:0;align-self:flex-start;align-items:center;width:225px;padding-top:4px;display:flex;position:sticky;top:60px}.tl-dot-wrap{background:var(--surface);border:.5px solid var(--border);width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:4px}.tl-dot{background:var(--accent);border-radius:50%;width:12px;height:12px}.tl-title{color:var(--text-3);letter-spacing:-.02em;white-space:nowrap;margin:0 0 0 54px;font-size:26px;font-weight:700}.tl-title-mobile{display:none}.tl-content{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:14px;flex:1;width:100%;min-width:0;padding:16px 18px;position:relative}.tl-line{background:linear-gradient(to bottom, transparent 0%, var(--border) 10%, var(--border) 90%, transparent 99%);width:2px;position:absolute;top:0;left:22px;overflow:hidden}.tl-line-fill{inset-x:0;background:linear-gradient(to top, var(--accent), var(--accent-soft), transparent);width:2px;position:absolute;top:0}.changelog-items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.changelog-items li{color:var(--text);padding-left:14px;font-size:13px;line-height:1.6;position:relative}.changelog-items li:before{content:"·";color:var(--text-3);position:absolute;left:2px}@media (width<=640px){.tl{padding:16px}.tl-row{flex-direction:column;gap:8px;padding-top:32px}.tl-sticky{width:auto;padding-left:8px;position:static}.tl-title{display:none}.tl-title-mobile{color:var(--text-2);margin:0 0 10px;font-size:15px;font-weight:700;display:block}.tl-content{margin-left:8px}.tl-line{left:22px}}.score-input-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:14px;display:grid}.score-input-item{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.score-input-label{color:var(--text-2);font-size:12px;font-weight:600}.score-input-field{background:var(--surface);color:var(--text);border:.5px solid var(--border);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 12px;font-size:14px}.score-input-field:focus{box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--accent);outline:none}.wz-evaluation{align-items:center;gap:10px;margin:12px 0;display:flex}.eval-tag{border-radius:980px;padding:4px 14px;font-size:13px;font-weight:700;display:inline-block}.eval-level-0{color:var(--text-2);background:var(--surface-3)}.eval-level-1{color:#007aff;background:#007aff1a}.eval-level-2{color:#af52de;background:#af52de1a}.eval-level-3{color:#ff3b30;background:#ff3b301a}.eval-level-4{color:#ff2d55;background:#ff2d551a}.eval-level-5{color:#ff9500;background:#ff95001a}.eval-level-6{color:#ff6b00;background:linear-gradient(135deg,#ff6b001f,#ff2d001f)}.eval-desc{color:var(--text-3);font-size:12px}.score-history-title{color:var(--text-2);margin:14px 0 8px;font-size:13px;font-weight:600}.score-history-tip{color:var(--text-3);margin-left:10px;font-size:11px;font-weight:400}.score-note{color:var(--text-3);background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:11px;line-height:1.6}.score-note b{color:#d4a017;font-weight:700}.score-total{color:var(--accent);font-weight:700}.score-delete{color:var(--text-3);cursor:pointer;background:0 0;border:none;font-size:12px}.score-delete:hover{color:#ff3b30}.score-team-btn{color:var(--accent);border:.5px solid var(--accent);cursor:pointer;background:0 0;border-radius:980px;padding:2px 10px;font-size:12px}.score-team-btn:hover{background:var(--accent);color:var(--accent-text)}.history-team{flex-direction:column;gap:12px;max-height:60vh;display:flex;overflow-y:auto}.history-team-zone{background:var(--surface-2);border-radius:10px;padding:12px}.history-team-zone-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.history-team-zone-name{color:var(--text);font-size:13px;font-weight:600}.history-team-zone-score{color:var(--accent);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.history-team-chars{flex-wrap:wrap;gap:6px;display:flex}.delete-confirm{padding:4px 0}.delete-confirm-text{color:var(--text);text-align:center;margin-bottom:18px;font-size:14px;line-height:1.6}.delete-confirm-btns{justify-content:center;gap:10px;display:flex}.delete-confirm-btn{color:#fff;cursor:pointer;background:#ff3b30;border:none;border-radius:980px;padding:9px 22px;font-size:14px;font-weight:600}.delete-confirm-btn:hover{filter:brightness(1.08)}.login-form{max-width:360px;margin:0 auto}.login-input-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.login-input-row .login-input{flex:1;min-width:0}.login-input{border:.5px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);box-sizing:border-box;border-radius:10px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.login-input::placeholder{color:var(--text-3)}.code-btn{color:var(--accent);border:.5px solid var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;flex-shrink:0;padding:10px 14px;font-size:13px;font-weight:600;transition:background .2s}.code-btn:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.code-btn:disabled{opacity:.5;cursor:not-allowed}.login-btns{gap:10px;margin-top:4px;display:flex}.login-links{justify-content:space-between;gap:10px;margin-top:10px;display:flex}.login-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.login-link:hover{text-decoration:underline}.login-link:disabled{opacity:.6;cursor:wait}.forgot-form .login-input-row:last-of-type{margin-bottom:0}.login-btns .bind-btn,.login-btns .follow-set-btn{flex:1}.login-hint{color:var(--text-3);text-align:center;margin-top:12px;font-size:12px}.login-error{color:#ff3b30;text-align:center;min-height:20px;margin-top:8px;font-size:13px}.logged-in-info{text-align:center}.logged-in-user{flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;display:flex}.logged-in-name{color:var(--text);font-size:18px;font-weight:600}.logged-in-id{color:var(--text-3);font-size:13px}.logged-in-rank{color:var(--accent);background:var(--accent-soft);border-radius:980px;padding:2px 12px;font-size:12px;font-weight:600;display:inline-block}.logged-in-status{color:#34c759;margin-bottom:16px;font-size:13px}.kuro-sync-result{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:12px;margin-top:14px;padding:14px;display:flex}.kuro-sync-block{flex-direction:column;gap:6px;display:flex}.kuro-sync-title{color:var(--text);font-size:14px;font-weight:700}.kuro-sync-group{color:var(--accent);font-size:12px;font-weight:500}.kuro-sync-total{color:var(--accent);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.kuro-sync-meta{color:var(--text-3);font-size:12px}.kuro-sync-list{flex-wrap:wrap;gap:6px;display:flex}.kuro-sync-item{background:var(--surface);border:.5px solid var(--border-soft);color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:980px;padding:4px 10px;font-size:12px}.kuro-sync-saved{color:#34c759;text-align:center;font-size:12px}.score-week-card{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;display:flex}.score-week-meta{color:var(--text-3);gap:16px;font-size:12px;display:flex}.score-week-zones{flex-wrap:wrap;gap:6px;display:flex}.score-zone-block{flex-direction:column;gap:2px;display:flex}.score-zone-team{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding-left:4px;font-size:11px;overflow:hidden}.score-empty{text-align:center;color:var(--text-3);background:var(--surface-2);border-radius:12px;margin-bottom:14px;padding:18px;font-size:13px}.trend-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.trend-grid>*{min-width:0}@media (width<=900px){.trend-grid{grid-template-columns:1fr}}.score-cell{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.score-cell-rank{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10px;font-style:normal}.score-cell-zone{color:var(--text-2);white-space:nowrap;font-size:10px;font-style:normal;font-weight:600}.score-cell-sub{color:var(--text-3);font-style:normal;font-weight:500}.score-cell-head{white-space:nowrap;align-items:center;gap:4px;display:flex}.score-cell-mech{color:var(--accent);white-space:nowrap;background:#4880ff14;border-radius:4px;padding:0 4px;font-size:9px;font-style:normal}.score-cell-val{font-variant-numeric:tabular-nums;font-weight:700}.score-week-cell{white-space:nowrap}.score-week-range{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10px;display:block}.score-cell-rank.off,.score-total-rank.off{color:var(--text-3)}.score-total-rank{font-variant-numeric:tabular-nums;font-size:10px;font-style:normal;font-weight:600;display:block}.score-total-rank.ok{color:var(--accent)}.score-total-rank.danger{color:#ff3b30}@media (width<=560px){.search-box{gap:8px}.search-box input{flex:1;min-height:44px;font-size:14px}.search-box button{min-height:44px;padding:0 16px;font-size:14px}.history-item,.follow-item{gap:10px;padding:10px 8px}.history-avatar,.follow-avatar{width:32px;height:32px}.history-name,.follow-name{font-size:12px}.history-id,.follow-id{font-size:10px}.player-profile{flex-direction:row;gap:12px;padding:12px}.player-avatar,.player-avatar img{width:64px;height:64px}.player-actions{flex-wrap:wrap}.player-actions .bind-set-btn{min-height:40px}.characters-grid{grid-template-columns:repeat(2,1fr);gap:8px}.character-card{text-align:center;flex-direction:column;gap:6px;padding:10px 6px}.character-icon{width:56px;height:56px}.character-name{font-size:12px}.character-stats{justify-content:center;font-size:10px}.roster-hint{flex-direction:column;align-items:stretch;gap:10px}.roster-hint-btn{width:100%;min-height:40px}.follow-actions{flex-wrap:wrap}.follow-actions .bind-set-btn,.follow-actions .follow-view,.follow-actions .follow-remove{min-height:40px;font-size:12px}.ppc-bosses{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.ppc-boss-card{justify-content:center;min-height:64px;padding:8px}.ppc-boss-card img{width:28px;height:28px}.ppc-boss-card span{font-size:12px}.ppc-row{padding:10px 12px}.ppc-row .rank-num{width:56px;font-size:13px}.ppc-row .ranking-player{flex:1;gap:8px;width:auto;min-width:0}.ppc-row .player-avatar-sm,.ppc-row .player-avatar-sm img{width:32px;height:32px}.ppc-row .player-name,.ppc-row .total-score{font-size:13px}.ppc-ranking .ranking-header .col-rank{width:56px}.ppc-ranking .ranking-header .col-player{flex:1;width:auto}.ppc-ranking .ranking-header .col-total{width:110px}.header .controls{flex-wrap:wrap;justify-content:flex-start;gap:6px}.header .controls select{flex:45%;min-height:40px;font-size:13px}.header .controls .date-range{font-size:11px}.header .controls .ranking-meta{gap:8px;margin-left:0;font-size:11px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.score-table{min-width:640px;font-size:12px}.setup-guide{border-radius:12px;margin-bottom:12px;padding:12px 14px}.setup-guide-header{margin-bottom:10px}.setup-guide-title{font-size:14px}.setup-guide-sub{font-size:11px}.setup-guide .guide-steps{flex-direction:column;gap:8px}.setup-guide .guide-step{border-radius:10px;gap:8px;width:100%;padding:8px 10px}.setup-guide .guide-step-dot{width:24px;height:24px;font-size:12px}.setup-guide .guide-step-desc{white-space:normal;font-size:10px;line-height:1.4}.guide-action{min-height:36px;padding:5px 10px;font-size:11px}.mine-section{padding:12px}.mine-section-header h3{font-size:14px}.mine-section input,.mine-section select,.mine-section button{min-height:44px}.week-score-card .mine-section-header{flex-wrap:wrap}.score-total{white-space:nowrap}.score-delete,.score-team-btn{min-height:36px}.account-grid{grid-template-columns:1fr;gap:12px}.account-block{padding:12px}.account-block-desc{margin:6px 0 10px;font-size:11px}.account-intro{margin-top:10px;padding:8px 10px;font-size:11px}.kuro-bound-hint{padding:5px 8px;font-size:10px}.account-block-title{font-size:12px}.week-card-grid{grid-template-columns:1fr;gap:10px}.week-card-block{padding:12px}.week-card-title{margin-bottom:8px;font-size:13px}.week-card-stats{gap:16px;padding:8px 0 10px}.week-stat-num{font-size:22px}.week-zone{padding:8px 10px}.week-zone-head{flex-direction:column;align-items:stretch;gap:6px}.week-zone-top{justify-content:space-between}.week-zone-top .week-zone-score{margin-left:0}.week-zone-foot{flex-wrap:wrap;justify-content:space-between}.week-zone-name{font-size:12px}.week-zone-mech,.week-zone-wave{padding:1px 6px;font-size:10px}.week-zone-tags{margin-left:0}.week-zone-score{font-size:14px}.week-team-btn{min-height:30px;padding:4px 10px;font-size:10px}}.mine-page{flex-direction:column;gap:12px;padding-bottom:24px;display:flex}.mine-page .mine-section{border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:0;padding:16px 18px}.mine-head{align-items:center;margin:4px 0 0}.mine-head .page-meta{font-size:var(--fs-12);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.meta-sep{color:var(--text-4)}.meta-state{color:var(--text-3)}.meta-state.on{color:var(--green)}.head-sync-btn{border:1px solid var(--accent);background:var(--accent);height:34px;color:var(--accent-text);font-size:var(--fs-13);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:999px;padding:0 16px;font-weight:600}.head-sync-btn:hover{background:var(--accent-hover)}.head-sync-btn.done{background:var(--surface);border-color:var(--line-strong);color:var(--text-2)}.mine-onboard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:10px 14px;display:flex}.mo-dot{background:var(--gold);border-radius:50%;flex:none;width:6px;height:6px}.mo-text{min-width:0;font-size:var(--fs-12);color:var(--text-2);flex:auto}.mine-toast{border-radius:var(--r-sm);background:var(--gold-soft);color:var(--gold);font-size:var(--fs-12);border:1px solid #b07a122e;padding:9px 12px}.mine-page .mine-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.mine-page .mine-section-header h3{font-size:var(--fs-15);letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;font-weight:600;display:flex}.msh-stat{font-size:var(--fs-12);color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;display:flex}.msh-stat b{font-size:var(--fs-15);color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.msh-rank{background:var(--surface-3);color:var(--text-2);font-style:normal;font-size:var(--fs-11);border-radius:999px;padding:1px 7px}.msh-rank.ok{background:var(--gold-soft);color:var(--gold)}.mine-account{padding:14px 18px}.ma-row{align-items:center;gap:12px;display:flex}.ma-avatar{background:var(--surface-3);width:40px;height:40px;color:var(--text-3);font-size:var(--fs-15);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.ma-avatar.on{background:var(--accent);color:var(--accent-text)}.ma-info{flex:auto;min-width:0}.ma-name{font-size:var(--fs-15);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ma-sub{font-size:var(--fs-12);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.ma-badge{background:var(--surface-3);color:var(--text-3);font-size:var(--fs-11);border-radius:999px;padding:1px 7px}.ma-badge.on{background:var(--green-soft);color:var(--green)}.ma-actions{flex:none}.ma-btn{border:1px solid var(--accent);background:var(--accent);height:32px;color:var(--accent-text);font-size:var(--fs-13);cursor:pointer;border-radius:999px;padding:0 14px;font-weight:600}.ma-btn.ghost{background:var(--surface);border-color:var(--line-strong);color:var(--text-2)}.ma-btn:hover{filter:brightness(.97)}.ma-more{border-top:1px dashed var(--border);margin-top:12px;padding-top:10px}.ma-more>summary{cursor:pointer;font-size:var(--fs-12);color:var(--text-2);justify-content:space-between;align-items:center;list-style:none;display:flex}.ma-more>summary::-webkit-details-marker{display:none}.ma-more>summary em{color:var(--text-4);font-style:normal}.ma-more[open]>summary{color:var(--text);margin-bottom:12px;font-weight:600}.ma-more .account-grid{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:12px}.ma-more .account-block-title .step-badge{display:none}.mine-page .challenge-section{border:0;border-top:1px solid var(--border-soft);box-shadow:none;background:0 0;border-radius:0;margin-top:16px;padding:14px 0 0}.mine-page .challenge-section .score-note{font-size:var(--fs-11);color:var(--text-3);background:0 0;border:0;border-radius:0;margin-bottom:10px;padding:0 0 10px;line-height:1.7}.mine-page .challenge-section .score-note b{color:var(--text-2);font-weight:600}.mine-page .challenge-section .score-empty{border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--fs-12);color:var(--text-3);margin-bottom:0;padding:18px 12px}.mine-empty{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-3);font-size:var(--fs-12);text-align:center;padding:20px 12px}.mine-note{font-size:var(--fs-12);margin-top:14px}.mine-note>summary{cursor:pointer;color:var(--text-3);list-style:none}.mine-note>summary::-webkit-details-marker{display:none}.mine-note>summary:before{content:"?";background:var(--surface-3);width:14px;height:14px;color:var(--text-3);border-radius:50%;place-items:center;margin-right:6px;font-size:9px;font-weight:700;display:inline-grid}.mine-note p{color:var(--text-3);margin-top:8px;line-height:1.7}.mine-note b{color:var(--gold);font-weight:600}.mine-follows .follow-list{gap:8px}.follow-item{border-radius:var(--r-md);gap:8px;padding:8px 12px}.follow-empty{font-size:var(--fs-12);color:var(--text-3)}.mine-follows .clear-btn{border:1px solid var(--border);background:var(--surface);height:26px;color:var(--text-3);font-size:var(--fs-11);cursor:pointer;border-radius:999px;padding:0 10px}.mine-page .score-history-title{font-size:var(--fs-13);color:var(--text);margin-top:16px;font-weight:600}.mine-page .score-history-tip{color:var(--text-3);font-weight:400;font-size:var(--fs-11)}@media (width<=700px){.mine-page{gap:10px}.mine-page .mine-section{border-radius:var(--r-md);padding:14px}.mine-head{align-items:flex-start;gap:10px}.head-sync-btn{height:32px;font-size:var(--fs-12);padding:0 14px}.mine-onboard{flex-wrap:wrap;padding:10px 12px}.ma-row{flex-wrap:wrap;align-items:flex-start;gap:10px}.ma-info{flex:calc(100% - 52px)}.ma-actions{flex:100%}.ma-btn{width:100%;height:40px}.ma-more .account-grid{grid-template-columns:1fr}.mine-page .mine-section-header{align-items:flex-start;margin-bottom:12px}.msh-stat{font-size:var(--fs-11)}.msh-stat b{font-size:var(--fs-13)}}
