:root {
  --bg:#f2f3ee; --paper:#fff; --ink:#111814; --muted:#68736c; --line:#dce1db;
  --green:#0b5d3b; --green-2:#16784e; --lime:#c8f43d; --orange:#f06a3a; --soft:#e8eee9;
  --display:"Archivo Black",sans-serif; --condensed:"Barlow Condensed",sans-serif; --body:"Noto Sans SC",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:var(--body);overflow-x:hidden}
button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.noise{display:none}
.site-header{height:72px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--green);color:#fff;font:700 22px var(--display);transform:none;box-shadow:none}.brand b{display:block;font-size:14px;letter-spacing:.08em}.brand small{display:block;color:#89928c;font:600 10px var(--condensed);letter-spacing:.1em}.main-nav{display:flex;gap:34px;height:100%;align-items:center}.main-nav a{height:100%;display:flex;align-items:center;color:#717c75;font-size:13px;font-weight:600;border-bottom:3px solid transparent}.main-nav a:hover,.main-nav a.active{color:var(--green);border-color:var(--green)}
.menu-button{border:0;background:transparent;color:#637068;font-size:12px;font-weight:600}.menu-button span{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#33a664;box-shadow:0 0 0 4px #dff2e6}
.page{animation:fade .35s ease both}@keyframes fade{from{opacity:0;transform:translateY(4px)}}.eyebrow{color:var(--green);font:700 12px var(--condensed);letter-spacing:.14em;text-transform:uppercase}.display-title{margin:0;font:400 clamp(54px,7vw,100px)/.9 var(--display);letter-spacing:-.055em}.display-title em{font-style:normal;color:var(--green);-webkit-text-stroke:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-head h2{margin:7px 0 0;font:700 clamp(30px,4vw,48px)/1 var(--condensed)}.section-head p{max-width:460px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}

/* Ranking */
.ranking-hero{min-height:390px;padding:72px 4vw 54px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.ranking-hero:after{content:"TOP 100";position:absolute;right:2vw;bottom:-45px;color:#edf0ec;font:400 16vw var(--display)}.ranking-intro{position:relative;z-index:2;max-width:900px}.ranking-intro .eyebrow{margin-bottom:20px}.ranking-sub{display:flex;gap:14px;align-items:flex-start;max-width:620px;margin-top:28px}.ranking-sub span{color:var(--orange);font-size:22px}.ranking-sub p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.ranking-controls{padding:16px 4vw;display:flex;align-items:center;gap:14px;position:sticky;top:72px;z-index:30;background:rgba(242,243,238,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.filter-pills{display:flex;gap:8px;flex:1;overflow:auto;scrollbar-width:none}.filter-pills button{padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:#647068;font-size:12px;white-space:nowrap;cursor:pointer}.filter-pills button.active,.filter-pills button:hover{background:var(--green);border-color:var(--green);color:#fff}.search-wrap{width:min(280px,28vw);display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 12px}.search-wrap input{width:100%;border:0;outline:0;background:transparent;padding:9px 0}.search-wrap span{color:var(--green)}.rank-list{padding:18px 4vw 90px}.rank-row{display:grid;grid-template-columns:70px minmax(240px,1.4fr) minmax(130px,.5fr) minmax(220px,1fr) 44px;align-items:center;min-height:112px;padding:0 20px;background:#fff;border:1px solid var(--line);border-bottom:0;cursor:pointer;transition:.2s}.rank-row:first-child{border-radius:14px 14px 0 0}.rank-row:last-child{border-bottom:1px solid var(--line);border-radius:0 0 14px 14px}.rank-row:hover{padding:0 20px;transform:translateX(4px);background:#f8fbf8;border-left:4px solid var(--green)}.rank-no{color:var(--green);font:700 34px var(--condensed)}.rank-name{display:flex;align-items:center;gap:14px}.avatar-disc{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--player-accent),#eef1ed);border:1px solid rgba(0,0,0,.06);font:700 24px var(--condensed);color:var(--green);overflow:hidden;position:relative}.avatar-disc:after{display:none}.rank-name h3{margin:0;font:700 25px var(--condensed)}.rank-name small{color:#77827b;font-size:10px}.era-tag{color:#5f6b63;font:600 14px var(--condensed)}.rank-reason{color:#7a857e;font-size:11px;line-height:1.6}.rank-reason b{display:block;color:var(--ink);font-size:12px;margin-bottom:3px}.rank-arrow{width:34px;height:34px;border-radius:9px;background:var(--soft);display:grid;place-items:center;color:var(--green);transform:none}.empty-state{text-align:center;color:var(--muted);padding:70px}

/* Data-first player profile */
.profile-shell{max-width:1440px;margin:auto;padding:34px 4vw 90px}.profile-top{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(620px,1.6fr);gap:20px}.identity-card,.career-card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px}.identity-card{padding:26px;position:relative;overflow:hidden;background:linear-gradient(145deg,#0b5d3b,#08482f);color:#fff;min-height:350px}.identity-card:after{content:attr(data-number);position:absolute;right:-8px;bottom:-62px;color:rgba(255,255,255,.07);font:400 260px var(--display)}.identity-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#c5ddd0}.identity-rank{padding:5px 9px;border:1px solid rgba(255,255,255,.25);border-radius:999px}.identity-name{position:relative;z-index:2;margin-top:55px}.identity-name small{font-size:12px;color:#bdd4c7;letter-spacing:.1em}.identity-name h1{margin:9px 0 12px;font:400 clamp(45px,5vw,72px)/.88 var(--display);letter-spacing:-.05em}.identity-role{font-size:12px;color:#d8e7de}.identity-bottom{position:absolute;left:26px;bottom:24px;right:26px;display:flex;gap:8px;z-index:2}.club-chip{padding:7px 10px;border-radius:7px;background:rgba(255,255,255,.12);font-size:10px}.career-card{padding:26px}.career-head{display:flex;justify-content:space-between;align-items:start}.career-head h2{margin:5px 0 0;font-size:19px}.data-badge{padding:6px 9px;border-radius:7px;background:#fff5e9;color:#a85524;font-size:10px}.career-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}.career-stat{padding:19px 16px;background:#f5f7f4;border-radius:12px;min-height:105px}.career-stat strong{display:block;font:700 38px/1 var(--condensed);color:var(--green)}.career-stat span{display:block;margin-top:8px;color:#6f7972;font-size:11px}.career-stat small{display:block;margin-top:3px;color:#a0a7a2;font-size:9px}.club-split{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.club-split div{background:#fff;padding:12px}.club-split b{display:block;font:700 17px var(--condensed)}.club-split span{color:#879088;font-size:9px}.profile-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:20px;margin-top:20px}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-head h2{margin:0;font-size:17px}.panel-head p{margin:4px 0 0;color:#8a938d;font-size:10px}.segmented{display:flex;padding:3px;background:#edf1ed;border-radius:8px}.segmented button{padding:6px 10px;border:0;border-radius:6px;background:transparent;color:#677169;font-size:10px;cursor:pointer}.segmented button.active{background:#fff;color:var(--green);box-shadow:0 1px 4px rgba(0,0,0,.08)}.trend-chart{height:245px;display:flex;align-items:end;gap:7px;padding:20px 4px 26px;border-bottom:1px solid var(--line);position:relative}.trend-chart:before,.trend-chart:after{content:"";position:absolute;left:0;right:0;border-top:1px dashed #e3e7e2}.trend-chart:before{top:33%}.trend-chart:after{top:66%}.trend-bar-wrap{height:100%;flex:1;display:flex;align-items:end;gap:2px;position:relative;z-index:2}.trend-bar{width:58%;height:calc(var(--goals)*1%);max-height:100%;min-height:3px;background:var(--green);border-radius:4px 4px 0 0}.trend-bar.assists{width:38%;height:calc(var(--assists)*1%);background:var(--lime)}.trend-bar-wrap label{position:absolute;top:calc(100% + 7px);left:0;font:600 9px var(--condensed);color:#78827b;white-space:nowrap}.chart-legend{display:flex;gap:16px;margin-top:14px;color:#77817a;font-size:10px}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;background:var(--green)}.chart-legend span:last-child i{background:var(--lime)}.summary-list{display:grid;gap:10px}.summary-row{padding:14px;border:1px solid var(--line);border-radius:10px}.summary-row div{display:flex;justify-content:space-between;align-items:center}.summary-row b{font-size:12px}.summary-row strong{font:700 23px var(--condensed);color:var(--green)}.summary-row p{margin:7px 0 0;color:#7c867f;font-size:9px}.season-panel{margin-top:20px}.table-tools{display:flex;gap:8px;align-items:center}.season-table-wrap{overflow:auto}.season-table{width:100%;border-collapse:collapse;min-width:780px}.season-table th{padding:11px 12px;text-align:right;color:#879089;font-size:9px;font-weight:600;border-bottom:1px solid var(--line);background:#f7f8f5;position:sticky;top:0}.season-table th:first-child,.season-table th:nth-child(2){text-align:left}.season-table td{padding:13px 12px;text-align:right;font:600 13px var(--condensed);border-bottom:1px solid #edf0ec}.season-table td:first-child,.season-table td:nth-child(2){text-align:left}.season-table tr:hover td{background:#f7faf7}.season-table .season{font-family:var(--body);font-size:11px}.club-cell{display:flex;align-items:center;gap:8px;font-family:var(--body);font-size:10px}.club-mark{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--soft);color:var(--green);font:700 10px var(--condensed)}.season-table .highlight{color:var(--green);font-size:15px}.table-note{margin:14px 0 0;color:#919992;font-size:9px;line-height:1.6}.metric-grid,.timeline,.player-hero,.player-content{display:none}

/* Compare */
.compare-page{padding-bottom:80px}.compare-head{padding:54px 4vw 38px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}.compare-head .display-title{font-size:clamp(48px,6vw,82px)}.compare-note{max-width:380px;color:var(--muted);font-size:11px;line-height:1.7}.selector-bar{padding:16px 4vw;display:grid;grid-template-columns:1fr 60px 1fr;gap:12px;align-items:center}.player-select{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.versus{text-align:center;color:var(--orange);font:700 22px var(--condensed)}.duel-stage{display:grid;grid-template-columns:1fr 210px 1fr;margin:0 4vw;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.duelist{min-width:0;padding:30px;position:relative;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.duelist.right{text-align:right;background:#f8faf7}.duelist .country{color:#77817a;font-size:10px}.duelist h2{margin:25px 0 0;font:400 clamp(42px,5vw,74px)/.82 var(--display);letter-spacing:-.05em}.duelist h2 span{color:var(--green)}.duelist-number{position:absolute;right:-10px;bottom:-50px;color:#edf1ed;font:400 220px var(--display)}.right .duelist-number{left:-10px;right:auto}.duelist-thesis{max-width:340px;color:#6f7972;font-size:11px;line-height:1.7;position:relative}.right .duelist-thesis{margin-left:auto}.duelist-score{font:700 42px var(--condensed);color:var(--green);position:relative}.duel-axis{padding:26px 18px;border-inline:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-around}.axis-item{text-align:center}.axis-item small{color:#7b857e;font-size:9px}.axis-line{height:3px;background:#dfe4de;margin:6px 0;position:relative}.axis-line i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--green);top:-3px;left:calc(var(--balance)*1%);transform:translateX(-50%)}.axis-values{display:flex;justify-content:space-between;font:700 14px var(--condensed);color:var(--green)}.comparison-table{margin:20px 4vw 0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.comparison-row{display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;min-height:62px;padding:0 24px;border-bottom:1px solid var(--line)}.comparison-row:last-child{border:0}.comparison-row span{font:700 20px var(--condensed);color:var(--green)}.comparison-row span:last-child{text-align:right}.comparison-row b{text-align:center;color:#79837c;font-size:10px}.verdict{margin:20px 4vw 0;padding:24px;background:#e6efe9;border-radius:14px;display:grid;grid-template-columns:170px 1fr;gap:24px}.verdict-label{color:var(--green);font:700 14px var(--condensed);letter-spacing:.08em}.verdict p{margin:0;font-size:12px;line-height:1.8}
.site-footer{padding:24px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;background:#fff;color:#818b84;font:600 10px var(--condensed);letter-spacing:.08em}.site-footer p{margin:0;font-family:var(--body);letter-spacing:0}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#36a669;margin-right:6px}
@media(max-width:900px){.main-nav{display:none}.profile-top,.profile-grid{grid-template-columns:1fr}.career-grid{grid-template-columns:repeat(2,1fr)}.rank-row{grid-template-columns:55px 1fr 100px 38px}.rank-reason{display:none}.duel-stage{grid-template-columns:1fr 150px 1fr}.duelist{padding:22px}.comparison-row{grid-template-columns:1fr 150px 1fr}}
@media(max-width:620px){.site-header{height:64px;padding:0 16px}.brand small{display:none}.menu-button{font-size:0}.menu-button span{margin:0}.ranking-hero{padding:48px 18px 38px;min-height:330px}.ranking-controls{top:64px;padding:12px 18px}.search-wrap{display:none}.rank-list{padding:12px 18px 60px}.rank-row{grid-template-columns:40px 1fr 34px;min-height:92px;padding:0 12px}.rank-row:hover{padding:0 12px}.rank-no{font-size:27px}.avatar-disc{width:43px;height:43px}.rank-name h3{font-size:20px}.era-tag{display:none}.profile-shell{padding:18px 14px 60px}.profile-top{gap:12px}.identity-card{min-height:285px;padding:20px}.identity-name{margin-top:42px}.identity-bottom{left:20px;bottom:18px}.career-card,.panel{padding:18px}.career-grid{gap:8px}.career-stat{min-height:92px;padding:15px 12px}.career-stat strong{font-size:32px}.club-split{grid-template-columns:repeat(2,1fr)}.profile-grid{gap:12px;margin-top:12px}.trend-chart{gap:4px;height:210px}.trend-bar-wrap label{font-size:7px;transform:rotate(-45deg);transform-origin:left top}.season-panel{margin-top:12px}.panel-head{align-items:flex-start;gap:12px}.panel-head h2{font-size:15px}.compare-head{padding:40px 18px 28px;display:block}.compare-note{margin-top:18px}.selector-bar{padding:12px 18px;grid-template-columns:1fr 30px 1fr;gap:6px}.player-select{font-size:10px;padding:10px 6px}.duel-stage{margin:0 18px;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)}.duelist{padding:16px 9px;min-height:300px}.duelist h2{font-size:8vw;overflow-wrap:anywhere}.duelist-thesis{display:none}.duelist-number{font-size:120px}.duel-axis{padding:15px 6px}.axis-item small{display:none}.axis-values{font-size:10px}.comparison-table,.verdict{margin:12px 18px 0}.comparison-row{grid-template-columns:1fr 100px 1fr;padding:0 12px}.verdict{grid-template-columns:1fr;gap:8px}.site-footer{padding:20px 18px}.site-footer p,.site-footer div:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
