@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;650;700;800&display=swap');
:root{color-scheme:dark;--bg:#0c1215;--surface:#141e22;--border:#293337;--text:#e9efed;--muted:#95a5a7;--teal:#a5e4d5;--gold:#ddc294;--font:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--font)}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{transition:background .2s,color .2s,border-color .2s,transform .2s}a{color:inherit;text-decoration:none}button{color:var(--text);background:#1b272b;border:1px solid var(--border);border-radius:7px;padding:10px 16px}button:hover{background:#2a3d41;border-color:#5d7a7d}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:4px}header{height:94px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:26px;background:#0e1619} .brand{display:flex;align-items:center;gap:13px;font:800 20px/1.2 'Manrope',sans-serif;letter-spacing:3px}.brand small{display:block;font:9px/2.4 var(--font);letter-spacing:2.2px;color:var(--muted)}.brand-icon{font-size:43px;line-height:1;color:var(--teal);font-weight:400}nav{display:flex;height:100%;gap:32px;align-items:center}nav a{height:100%;display:flex;align-items:center;gap:8px;color:var(--muted);position:relative;font-size:13px}nav a.active{color:var(--teal)}nav a.active:after{content:'';height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--teal)}nav span{background:#263538;border-radius:5px;padding:0 6px;font-size:10px}.studio-link{background:transparent;color:#c4cfcd;font-size:12px}main{max-width:1600px;margin:auto;padding:30px 5% 0}.hero{min-height:398px;position:relative;overflow:hidden;border:1px solid #304144;border-radius:12px;background:#182a31}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#122227 0%,#122227ed 25%,#12222780 52%,#12222705 85%),linear-gradient(0deg,#0f2429a8,transparent 50%),url('assets/hero-official.png') center 43%/cover}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 60%,#a3dec912);box-shadow:inset 0 0 100px #07181d44}.hero-content{position:relative;padding:43px 48px 64px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--teal);display:flex;align-items:center;gap:9px}.live-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--teal);box-shadow:0 0 8px #a5e4d550;flex-shrink:0}h1{font:600 clamp(36px,4.2vw,59px)/1.12 'Manrope',sans-serif;letter-spacing:-2.6px;margin:19px 0 16px}h1 em{font-style:normal;color:var(--teal)}.hero p{color:#b1c2c5;margin:0;font-size:14px;line-height:1.8}.hero-actions{display:flex;gap:20px;margin-top:26px;align-items:center}.primary{background:var(--teal);color:#102622;border-color:var(--teal);font-weight:700;padding:11px 20px}.primary:hover{background:#c2f3e7;border-color:#c2f3e7;transform:translateY(-1px)}.primary span{margin-left:24px}.text-button{border:0;background:none;color:#c8d6d3;padding:7px 0}.text-button:hover{background:none;color:var(--teal)}.hero-caption{position:absolute;bottom:17px;left:48px;right:25px;display:flex;justify-content:space-between;letter-spacing:2px;font-size:8px;color:#92b1b8}.hero-caption span:last-child{color:#c1d5d8}.status-bar{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:10px;padding:16px 2px}.status-bar>span:first-child{display:flex;gap:8px;align-items:center}.status-bar button{border:0;background:none;padding:0;font-size:10px;color:#c5cfcb}.local-label{margin-left:auto}.view{padding:27px 0 12px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:25px}h2{font:600 25px/1.3 'Manrope',sans-serif;letter-spacing:-.7px;margin:9px 0}p{color:var(--muted);margin:6px 0;font-size:13px}.toggle{display:flex;align-items:center;gap:8px;font-size:11px;color:#b6c1c0;white-space:nowrap;cursor:pointer}.toggle input{position:absolute;opacity:0;width:32px}.toggle span{height:18px;width:32px;background:#263337;border-radius:30px;padding:3px;display:inline-block}.toggle span:before{content:'';display:block;width:12px;height:12px;background:#758888;border-radius:50%;transition:transform .2s}.toggle input:checked+span{background:#356759}.toggle input:checked+span:before{background:var(--teal);transform:translateX(14px)}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:25px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:10px;margin-bottom:22px;background:linear-gradient(110deg,#1c2c2e80,#15202280)}.metrics>div{padding:18px 25px;position:relative}.metrics>div+div:before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:1px;background:var(--border)}.metrics strong{display:block;font:500 31px/1.2 'Manrope',sans-serif;color:var(--teal)}.metrics span{font-size:8px;letter-spacing:1.4px;color:var(--muted)}aside{border:1px solid #3a443e;background:linear-gradient(140deg,#262a22aa,#141e22 65%);border-radius:10px;padding:23px;height:fit-content}.aside-title{display:flex;justify-content:space-between;color:var(--gold)}.aside-title .eyebrow{color:var(--gold);font-size:9px}h3{font:600 18px/1.4 'Manrope',sans-serif;margin:13px 0 8px}.full-button{width:100%;text-align:left;display:flex;justify-content:space-between;font-size:12px;margin-top:16px}.aside-divider{height:1px;background:var(--border);margin:23px 0}aside>h3{font-size:14px}aside p{font-size:12px}.source-link{font-size:10px;color:var(--teal);display:inline-block;margin-top:12px}.empty-state{border:1px dashed #3c5051;padding:40px 30px;text-align:center;border-radius:10px;background:radial-gradient(ellipse at center,#19333166,transparent 80%)}.empty-state .empty-icon{font-size:35px;color:var(--teal)}.empty-state h3{font-size:19px}.empty-state p{max-width:430px;margin:10px auto 20px}.empty-state.small{padding:20px}.team-card{border:1px solid var(--border);background:#151f23;border-radius:10px;margin-bottom:15px;overflow:hidden}.team-top{padding:17px 21px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.team-title{display:flex;align-items:center;gap:12px}.team-number{color:var(--gold);font-size:10px;letter-spacing:1px;border:1px solid #5a5140;padding:3px 7px;border-radius:4px}.team-top h3{margin:0;font-size:14px}.pill{color:var(--teal);background:#20362f;border:1px solid #365347;border-radius:4px;font-size:9px;letter-spacing:.7px;padding:4px 8px;white-space:nowrap}.pill.gold{color:var(--gold);background:#393426;border-color:#5c5039}.members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 20px}.member{display:flex;align-items:center;background:#1d292e;border:1px solid #2d3b3d;border-radius:7px;overflow:hidden;min-width:0;height:85px;position:relative}.member img{width:72px;height:85px;object-fit:cover;object-position:50% 10%;background:linear-gradient(140deg,#536361,#283538);align-self:stretch}.member-info{padding:8px;min-width:0}.member-info strong{font-size:11px;line-height:1.3;display:block}.member-info small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.element-dot{color:var(--element,var(--teal));font-size:9px}.team-bottom{padding:12px 21px 16px;display:flex;gap:16px;align-items:flex-start}.team-bottom p{font-size:11px;margin:0;flex:1}.team-bottom .source-link{margin:0;white-space:nowrap}.method-note{color:#8a9b9c;font-size:10px;line-height:1.7;padding:4px 2px}.compact{margin-top:36px}.compact h2{font-size:19px}.compact p{font-size:12px}.alternative-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.alternative-grid .team-card{margin:0}.alternative-grid .members{gap:7px;padding:0 12px}.alternative-grid .member{height:66px}.alternative-grid .member img{width:46px;height:66px}.alternative-grid .member-info{padding:5px}.alternative-grid .member-info strong{font-size:10px}.alternative-grid .team-top,.alternative-grid .team-bottom{padding-left:14px;padding-right:14px}.alternative-grid .team-top h3{font-size:12px}.alternative-grid .team-number{display:none}.alternative-grid .team-bottom{display:block}.alternative-grid .team-bottom .source-link{margin-top:8px}.button-group{display:flex;gap:10px}.button-group button{font-size:11px}.roster-toolbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#131d21;border:1px solid var(--border);padding:15px;border-radius:9px}.search{display:flex;align-items:center;gap:10px;flex:1;min-width:180px;background:#0d171b;border:1px solid #354448;border-radius:6px;padding:6px 10px}.search span{font-size:23px;color:var(--muted)}.search input{width:100%;background:transparent;border:0;color:var(--text);outline:none;font-size:12px}.filters{display:flex;gap:3px;flex-wrap:wrap}.filters button{border-color:transparent;background:transparent;font-size:11px;padding:7px 9px}.filters button.active{background:#29403b;color:var(--teal);border-color:#47665e}.owned-filter{font-size:11px;display:flex;align-items:center;gap:6px;white-space:nowrap}input[type=checkbox]{accent-color:var(--teal)}.roster-meta{display:flex;justify-content:space-between;margin:18px 0;color:var(--muted);font-size:10px}.character-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:13px}.character-card{position:relative;padding:0;border:1px solid #344044;border-radius:8px;overflow:hidden;text-align:left;background:#1a252b;min-width:0}.character-card img{width:100%;aspect-ratio:1/.98;object-fit:cover;object-position:top;background:linear-gradient(150deg,#3a484f,#18242b);display:block;transition:transform .3s;opacity:.75}.character-card:hover img{transform:scale(1.04);opacity:1}.character-card.selected{border-color:var(--teal);box-shadow:0 0 0 1px #a5e4d522}.character-card.selected img{opacity:1}.char-check{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#0c141ab8;border:1px solid #82928e88;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:11px}.selected .char-check{background:var(--teal);color:#15392f;border-color:var(--teal)}.char-element{position:absolute;top:8px;left:8px;color:var(--element);background:#0c141ac9;font-size:8px;padding:2px 5px;border-radius:3px}.char-text{padding:10px 10px 12px;position:relative;background:linear-gradient(0deg,#1a252b,#1a252bf2)}.char-text strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char-text small{font-size:8px;color:var(--gold);letter-spacing:1px}.roster-bottom{display:flex;align-items:center;justify-content:space-between;position:sticky;bottom:15px;margin-top:23px;padding:14px 20px;border:1px solid #456359;background:#182a28f5;backdrop-filter:blur(15px);border-radius:9px;box-shadow:0 10px 50px #0007;z-index:2}.roster-bottom span{color:var(--teal);font-size:12px}.pull-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pull-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.pull-card-top{display:flex;gap:18px;align-items:center;padding:18px;border-bottom:1px solid var(--border);background:linear-gradient(130deg,#273b3b,#172126)}.pull-card img{width:80px;height:95px;object-fit:cover;object-position:top;border-radius:5px;background:#334648}.pull-card h3{margin:6px 0;font-size:20px}.pull-card .rank{font-size:9px;color:var(--gold);letter-spacing:1px}.pull-body{padding:17px}.pull-body p{font-size:12px}.pull-body ul{padding-left:17px;color:#b3c2bf;font-size:11px;margin:12px 0}.pull-body .pill{display:inline-block}.pull-body details{font-size:11px;color:var(--muted);margin-top:12px}summary{cursor:pointer;color:var(--teal)}.next-character{display:flex;gap:14px;align-items:center;margin:24px 0 15px}.next-character img{height:78px;width:67px;object-fit:cover;object-position:top;border-radius:5px;background:#334648}.next-character h3{margin:0;font-size:20px}.next-character small{color:var(--gold);font-size:10px}.banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.banner{border:1px solid var(--border);border-radius:9px;padding:19px;background:#151f23}.banner h3{font-size:17px}.banner time{font-size:11px;color:#aabebc}.banner p{font-size:11px}.banner .banner-state{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted)}.banner .fit{color:var(--teal);font-size:11px;margin:12px 0}.studio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.panel{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:25px}.step{font-size:28px;color:#668c83;font-family:'Manrope',sans-serif}.panel p{font-size:12px;margin:12px 0 19px}.panel h3{font-size:18px}.file-button{display:block;cursor:pointer;border:1px dashed #55746b;border-radius:6px;padding:12px;text-align:center;background:#243a32;color:var(--teal);font-size:12px;margin-top:17px}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.file-button.secondary{background:transparent}.small{font-size:10px!important}.methodology{margin-top:22px}.method-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}h4{font-size:12px;color:var(--teal);font-weight:500}.method-columns p{font-size:11px;margin:10px 0}.source-list{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.source-list a{font-size:10px;color:var(--teal);border:1px solid #354541;padding:6px 10px;border-radius:5px}.notice{background:#323023;border:1px solid #5a5037;color:var(--gold);padding:10px 20px;border-radius:6px;margin-top:15px;font-size:12px;display:flex;justify-content:space-between;align-items:center}.notice button{border:0;background:none;color:var(--gold);font-size:11px;padding:3px}footer{border-top:1px solid var(--border);margin-top:50px;padding:26px 0;display:flex;align-items:center;gap:26px;justify-content:space-between;color:#789093;font-size:10px}.footer-brand{font-size:13px;color:#adc4bd;letter-spacing:2px}.footer-brand .brand-icon{font-size:24px}footer span:last-child{font-size:9px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#d1efe2;color:#183b2d;border:1px solid #a5e4d5;border-radius:8px;box-shadow:0 10px 40px #0008;padding:13px 22px;font-size:12px;z-index:20}dialog{max-width:500px;width:90%;background:#19272c;color:var(--text);border:1px solid #476059;border-radius:12px;padding:28px}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog .button-group{margin-top:22px;justify-content:flex-end}[hidden]{display:none!important}.loading{padding:30px;color:var(--teal)}.no-results{padding:30px;color:var(--muted);grid-column:1/-1}.fallback-initial{display:grid;place-items:center;background:#304840;min-height:72px;color:var(--teal)}
@media(min-width:1500px){.character-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media(max-width:1100px){header{padding:0 4%;gap:15px}nav{gap:18px}.brand{font-size:16px}.brand small{font-size:8px}.planner-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.member img{width:50px}.members{gap:7px;padding:0 13px}.member-info{padding:6px}.member-info strong{font-size:10px}.character-grid{grid-template-columns:repeat(6,1fr)}.hero-content{padding-left:35px}.hero-caption{left:35px}.studio-grid{gap:12px}.panel{padding:20px}.pull-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){header{height:auto;flex-wrap:wrap;padding-top:17px;gap:0}.brand{flex:1}.studio-link{font-size:12px}nav{order:3;width:100%;height:53px;gap:30px;margin-top:10px}nav a{font-size:12px}main{padding:20px 4% 0}.hero{min-height:370px}.hero-content{padding:30px 25px 62px}.hero-art{background:linear-gradient(90deg,#122227ef,#12222799 65%,#12222755),url('assets/hero-official.png') 62% center/cover}.hero-caption{left:25px}.hero-caption span:last-child{display:none}h1{font-size:43px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}h2{font-size:22px}.planner-layout{grid-template-columns:1fr}.planner-layout aside{display:none}.alternative-grid{grid-template-columns:1fr 1fr}.alternative-grid .members{grid-template-columns:1fr}.alternative-grid .member{height:54px}.alternative-grid .member img{height:54px;width:50px}.local-label{display:none}.character-grid{grid-template-columns:repeat(4,1fr)}.roster-meta{gap:20px}.roster-meta span:last-child{max-width:200px;text-align:right}.studio-grid,.method-columns{grid-template-columns:1fr}.banner-grid{grid-template-columns:repeat(2,1fr)}footer{flex-wrap:wrap;gap:12px}footer span:last-child{width:100%}.status-bar{gap:15px;justify-content:space-between}.roster-toolbar{gap:12px}.search{flex-basis:100%}.roster-bottom{padding:12px}.roster-bottom .primary{font-size:11px;padding:10px 14px}}@media(max-width:480px){.brand{font-size:15px;gap:8px}.brand-icon{font-size:34px}.brand small{font-size:7px}.studio-link span{display:none}.studio-link{padding:6px 12px}.hero-content{padding-left:20px}.hero-caption{left:20px}h1{font-size:38px;letter-spacing:-1.8px}.hero-actions{gap:15px}.hero-actions button{font-size:11px}.hero .primary span{margin-left:10px}.character-grid{grid-template-columns:repeat(3,1fr);gap:10px}.metrics>div{padding:16px 12px}.metrics strong{font-size:27px}.metrics span{font-size:7px;letter-spacing:.7px}.members{gap:6px;padding:0 12px}.member{flex-direction:column;height:auto}.member img{width:100%;height:95px}.member-info{padding:9px 7px;align-self:stretch;min-height:54px}.member-info small{font-size:8px}.team-top{padding:15px 12px}.team-title{gap:8px}.team-top h3{font-size:12px}.team-number{font-size:8px;padding:3px 5px}.team-bottom{padding:12px;display:block}.team-bottom .source-link{margin-top:8px}.alternative-grid .member{flex-direction:row}.alternative-grid .member-info{min-height:0;align-self:center}.pull-grid,.banner-grid{grid-template-columns:1fr}.notice{gap:12px;font-size:10px}.roster-meta{font-size:9px}.toggle{font-size:10px}.roster-bottom span{font-size:10px}.filters button{padding:6px 8px;font-size:10px}}
.hero-art:before{content:"";position:absolute;right:-55px;top:-15px;width:610px;height:610px;background:url("assets/shorekeeper-official.png") center/contain no-repeat;opacity:.87;filter:drop-shadow(0 10px 35px #08232955)}@media(max-width:1100px){.hero-art:before{right:-110px;opacity:.65}}@media(max-width:800px){.hero-art:before{right:-240px;opacity:.25}}
.pull-preferences{display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #3c514a;background:linear-gradient(120deg,#1a302a,#142024);border-radius:10px;padding:23px;margin-bottom:24px}.pull-preferences h3{margin:0 0 7px;font-size:16px}.pull-preferences p{max-width:480px;font-size:12px}.preference-options{display:flex;gap:8px;flex-shrink:0}.preference-options button{text-align:left;font-size:12px;padding:12px 17px;background:#13211e}.preference-options button small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.preference-options button[aria-pressed=true]{border-color:var(--teal);background:#2b473d;color:var(--teal)}.pull-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.pull-card-top{gap:13px}.pull-card-top img{width:65px;height:80px}.pull-card h3{font-size:19px}.team-count-change{margin-left:auto;text-align:right}.team-count-change>span{font:500 28px/1.3 Manrope,sans-serif;color:var(--teal)}.team-count-change b{font-size:19px;color:#849e94;font-weight:400;padding:0 3px}.team-count-change small{display:block;font-size:7px;letter-spacing:.8px;color:var(--muted)}.pull-body>.pill{white-space:normal;font-size:9px}.lineup-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0 13px}.comparison-column>h4{font-size:8px;letter-spacing:1px;display:flex;flex-direction:column;margin:0 0 10px}.comparison-column>h4 span{letter-spacing:0;color:var(--muted);font-size:10px;margin-top:3px}.comparison-row{border:1px solid #34413d;border-radius:6px;padding:9px;background:#19282a;margin-bottom:9px}.comparison-row.replaced{border-color:#6d4d43;background:#30251f}.comparison-row.rebuilt{border-color:#746343;background:#302c22}.comparison-row.new{border-color:#518270;background:#20372c}.comparison-row-title{display:flex;flex-direction:column;gap:4px;margin-bottom:9px}.comparison-row-title a{font-size:10px;line-height:1.4}.change-label{color:#a4b3af;font-size:8px;text-transform:uppercase;letter-spacing:1px}.replaced .change-label{color:#e7ae96}.rebuilt .change-label{color:var(--gold)}.new .change-label{color:var(--teal)}.comparison-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.comparison-character{min-width:0;position:relative;text-align:center}.comparison-character img{width:100%;height:66px;object-fit:cover;object-position:top;background:#2b3a37;border-radius:3px}.comparison-character>span{display:block;font-size:8px;line-height:1.3;overflow-wrap:anywhere;margin:4px 0}.comparison-character.new-pull img{outline:1px solid var(--teal);outline-offset:1px}.comparison-character>small{font-size:6px;display:block;color:var(--teal);letter-spacing:.5px}.comparison-empty{font-size:11px;border:1px dashed var(--border);border-radius:6px;padding:20px 10px}.roster-backup{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:23px}.roster-backup>span{font-size:11px;color:var(--muted);margin-right:auto}.roster-backup>button,.roster-backup .file-button{margin:0;padding:8px 12px;font-size:11px}.pull-grid>.empty-state{grid-column:1/-1}@media(max-width:1100px){.pull-preferences{align-items:flex-start;flex-direction:column}.pull-card-top h3{font-size:17px}.team-count-change>span{font-size:22px}}@media(max-width:800px){.pull-grid{grid-template-columns:1fr}.comparison-character img{height:90px}}@media(max-width:480px){.pull-preferences{padding:16px;gap:16px}.preference-options{flex-direction:column;width:100%}.preference-options button{width:100%}.pull-body{padding:13px}.pull-card-top{padding:14px}.pull-card-top img{width:52px;height:68px}.team-count-change small{font-size:6px;max-width:80px}.comparison-row{padding:7px}.comparison-character img{height:55px}.comparison-row-title a{font-size:9px}.comparison-character>span{font-size:7px}.lineup-comparison{gap:7px}}
.team-sources{max-width:230px;flex-shrink:0}.team-sources small{display:block;font-size:8px;color:var(--muted);line-height:1.6;margin-top:4px}.team-sources details{font-size:9px;margin-top:8px}.team-sources details .source-link{display:block;margin-top:7px}.guide-directory-heading{margin-top:30px!important}.guide-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.guide-source-card{padding:18px;border:1px solid #365047;border-radius:7px;background:#172b26}.guide-source-card h3{font-size:16px;margin:10px 0}.guide-source-card p{margin:8px 0;font-size:11px}.guide-source-card .eyebrow{font-size:8px;letter-spacing:1.3px}@media(max-width:800px){.guide-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.team-bottom{flex-wrap:wrap}.team-sources{max-width:100%}}@media(max-width:480px){.guide-directory{grid-template-columns:1fr}.team-sources{margin-top:10px}}
.radar-note{padding:17px 20px;border:1px solid #365148;border-radius:8px;background:#182c25;margin:0 0 24px;font-size:12px}.focus-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.focus-picker-heading h3{margin:0}.focus-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.focus-choice{display:flex;align-items:center;gap:12px;text-align:left;padding:0 12px 0 0;background:#1b2b2e;overflow:hidden;min-width:0}.focus-choice img{width:62px;height:78px;object-fit:cover;object-position:top;background:#30463e}.focus-choice>span{min-width:0}.focus-choice strong{display:block;font-size:12px}.focus-choice small{display:block;font-size:9px;margin-top:5px}.focus-choice.selected{border-color:var(--teal);background:#2c443b;box-shadow:0 0 0 1px #a5e4d533}.focus-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 0 5px}.focus-intro h3{font-size:23px;margin:9px 0}.focus-intro p{max-width:700px;font-size:12px}.focus-plan .pull-card-top h3{font-size:17px;overflow-wrap:anywhere}.focus-plan .pull-card-top>div:not(.team-count-change){min-width:0;flex:1}.focus-plan .team-count-change{flex-shrink:0}.focus-character img{outline:1px solid var(--gold);outline-offset:1px}.focus-character>small{color:var(--gold)}.focus-team-reason{background:#172a26;border:1px solid #365148;padding:12px;border-radius:6px;margin-top:14px}.focus-team-reason h4{margin:0;font-size:12px}.focus-team-reason p{font-size:11px}.focus-team-reason .team-sources{max-width:100%;margin-top:9px}.both-required{border-left:2px solid var(--gold);padding:8px 12px;background:#3c352555;color:var(--gold)!important;font-size:11px!important}.pull-window{color:#a6c4ba!important}#focus-results{margin-top:24px}nav a{white-space:nowrap;flex-shrink:0}@media(max-width:1100px){.focus-options{grid-template-columns:repeat(3,minmax(0,1fr))}nav{gap:18px}}@media(max-width:800px){nav{overflow-x:auto;max-width:100%;gap:23px;scrollbar-width:thin}.focus-options{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-intro{align-items:flex-start;flex-direction:column;gap:15px}}@media(max-width:480px){nav{gap:20px}.focus-picker{padding:16px}.focus-options{gap:8px}.focus-choice{gap:7px;padding-right:7px}.focus-choice img{width:44px;height:65px}.focus-choice strong{font-size:10px}.focus-choice small{font-size:8px}.focus-plan .pull-card-top h3{font-size:14px}.focus-picker-heading h3{font-size:15px}}
@media(max-width:480px){nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:88px;gap:0;overflow:visible}nav a{height:44px;justify-content:center;font-size:11px}}
.focus-protection{margin-top:18px}.focus-locks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.team-lock{text-align:left;padding:15px;background:#172328}.team-lock strong,.team-lock small,.lock-state{display:block}.team-lock strong{font-size:12px;margin:7px 0}.team-lock small{font-size:9px;color:var(--muted);margin-top:5px}.lock-state{font-size:10px;color:var(--muted)}.team-lock.locked{border-color:#87baaa;background:#233c32}.locked .lock-state{color:var(--teal)}@media(max-width:800px){.focus-locks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.focus-locks{grid-template-columns:1fr}}
.lock-roster-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.lock-member{display:flex;align-items:center;flex-direction:column;gap:5px;min-width:0;background:#101e2466;border:1px solid #50645b55;border-radius:5px;padding:6px}.lock-member img{display:block;width:48px;height:58px;object-fit:cover;object-position:top;border-radius:3px;background:#31443f}.lock-member>span{font-size:9px;color:#c2d4cd;line-height:1.35;text-align:center;overflow-wrap:anywhere}.recommendation-portraits{display:flex;flex-shrink:0;align-items:center;width:65px}.pull-card-top .recommendation-portraits img{width:65px;height:80px;flex-shrink:0}.recommendation-portraits.pair{width:92px}.pull-card-top .recommendation-portraits.pair img{width:48px;height:74px;border:1px solid #59786d}.recommendation-portraits.pair img+img{margin-left:-4px}@media(max-width:480px){.recommendation-portraits{width:52px}.pull-card-top .recommendation-portraits img{width:52px;height:68px}.recommendation-portraits.pair{width:69px}.pull-card-top .recommendation-portraits.pair img{width:36px;height:64px}.recommendation-portraits.pair img+img{margin-left:-3px}}
.banner-phase{margin:24px 0}.banner-phase>h3{font-size:16px;margin-bottom:14px}.banner-choice{display:flex;align-items:center;gap:16px;text-align:left;padding:16px;min-width:0;background:#192226;border:1px solid #344548;border-radius:12px;color:#dce6e5;cursor:pointer}.banner-choice.selected{border-color:#acd6cc;background:#263a37;box-shadow:inset 0 0 0 1px #acd6cc}.banner-choice>img{width:72px;height:102px;object-fit:cover;object-position:top;border-radius:8px;background:#324144}.banner-choice>span{display:grid;gap:8px}.banner-choice strong{font-size:20px}.banner-choice small,.banner-choice time{font-size:11px;color:#aebebd}.banner-choice .fit{font-size:12px;color:#acd6cc}.banner-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px}.banner-detail-heading h3{font-size:26px;margin:10px 0}#banner-impact{padding:0 0 28px;border-bottom:1px solid #344548}#banner-impact>.pull-card{margin-top:20px}#banner-impact>.lineup-comparison{margin-top:24px}.banner-partner-heading{margin-top:28px}.banner-partners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.banner-partners article{padding:20px;background:#192226;border-radius:10px}.banner-partners p{font-size:13px;line-height:1.6}.banner-partners h4{margin:0 0 16px}.banner-partners .team-sources{margin-top:14px}@media(max-width:800px){.banner-partners{grid-template-columns:1fr}.banner-detail-heading{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.banner-choice>img{width:64px;height:90px}}
.focus-mode{margin:20px 0;flex-wrap:wrap}.recommendation-portraits.triple{display:flex!important;gap:4px;width:auto!important;flex-shrink:0}.recommendation-portraits.triple img{width:44px!important;height:80px!important;object-fit:cover}.recommendation-portraits.triple .fallback-initial{width:44px}@media(max-width:480px){.recommendation-portraits.triple img{width:30px!important;height:60px!important}.recommendation-portraits.triple{gap:2px}}
.slot-alternatives,.focus-variant-selector,.deferred-variants{margin-top:20px;border-top:1px solid #344548;padding-top:16px}.slot-option{display:flex;gap:12px;align-items:center;padding:10px 0;color:#dce6e5;text-decoration:none}.slot-option img{width:42px;height:52px;object-fit:cover;object-position:top;border-radius:6px;background:#324144}.slot-option>span:nth-child(2){flex:1}.slot-option strong,.slot-option small{display:block}.slot-option small{color:#9eafad;font-size:11px;margin-top:5px}.variant-options{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}.variant-choice{min-width:0;text-align:left;padding:14px;border:1px solid #344548;border-radius:8px;background:#1d2b2d;color:#dce6e5;cursor:pointer}.variant-choice.selected{border-color:#acd6cc;background:#2a403a}.variant-choice>strong,.variant-choice>small{display:block;margin:8px 0}.variant-label{font-size:10px;color:#acd6cc;letter-spacing:.08em}.variant-warning{padding:14px;border-left:3px solid #d2ba83;background:#302f24;color:#e8dab6;font-size:13px}.focus-variant-selector{margin:0 0 22px;padding-top:0;border-top:0}.deferred-variants>summary{color:#d2ba83}.deferred-variants .pull-grid{margin-top:20px}@media(max-width:600px){.variant-options{grid-template-columns:1fr}}
.radar-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:6px;border:1px solid #344548;border-radius:12px;background:#151f22}.radar-tabs button{flex:1;min-width:160px;padding:14px 18px;border:1px solid transparent;border-radius:8px;background:transparent;color:#a8b9b6;font-weight:600;cursor:pointer}.radar-tabs button.active{background:#2a403a;color:#dcf4eb;border-color:#759d91}#radar-description{margin:0 0 26px}#pulls .pull-card{min-width:0}#pulls .pull-card-top>div:not(.team-count-change){min-width:0;flex:1}#pulls .pull-card-top h3{overflow-wrap:anywhere}#pulls .rank{line-height:1.5;overflow-wrap:anywhere}#pulls .team-count-change{flex-shrink:0}#pulls .radar-comparison,#pulls .radar-options{margin:18px 0}#pulls .pull-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}@media(max-width:900px){#pulls .pull-grid{grid-template-columns:1fr}}@media(max-width:520px){.radar-tabs{gap:4px;padding:4px}.radar-tabs button{min-width:0;padding:12px 7px;font-size:12px;line-height:1.5}#pulls .pull-card-top{gap:10px}#pulls .team-count-change>span{font-size:24px}#pulls .team-count-change small{font-size:8px}#pulls .lineup-comparison{grid-template-columns:1fr}#pulls .comparison-members{gap:8px}}
.team-card>.team-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,230px);gap:16px 24px;align-items:start}
.team-bottom>p{min-width:0;margin:0;font-size:12px;line-height:1.65}
.team-bottom>.team-sources{min-width:0;max-width:100%;margin:0}
.team-bottom .source-link{white-space:normal;overflow-wrap:anywhere}
.team-bottom>.slot-alternatives{grid-column:1/-1;min-width:0;width:auto;margin:0;padding-top:14px}
.alternative-grid .team-card>.team-bottom{grid-template-columns:minmax(0,1fr)}
@media(max-width:800px){.team-card>.team-bottom{grid-template-columns:minmax(0,1fr);gap:14px}}
.hero-caption{align-items:center;gap:16px;font-size:10px;letter-spacing:1.3px;color:#c9d9dc}.hero-caption span:last-child{display:block;color:#e0ebe7;font-size:12px;font-weight:400;letter-spacing:.4px;line-height:1.5;text-shadow:0 1px 6px #06151b}.hero-content{padding-bottom:80px}
.hero-art:after{background:linear-gradient(0deg,#06151bb3,transparent 30%),linear-gradient(115deg,transparent 60%,#a3dec912)}
@media(max-width:800px){.hero-caption{left:25px;right:25px}.hero-caption span:first-child{display:none}.hero-content{padding-bottom:80px}}
@media(max-width:480px){.hero-caption{left:20px;right:20px}.hero-content h1{font-size:clamp(29px,8vw,38px)}header .brand{letter-spacing:1.6px}}
.team-choice-action{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 22px;border-top:1px solid var(--border)}.team-choice-action button{color:var(--teal);border-color:#45645d}.team-choice-action small{color:var(--muted)}.lineup-choices{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;margin:0 0 20px;border:1px solid #45645d;background:#172723;border-radius:10px}.lineup-choices[hidden]{display:none}.lineup-choices p{margin:5px 0}.lineup-choices small{color:var(--muted)}.lineup-choices button{flex-shrink:0}@media(max-width:600px){.lineup-choices{align-items:flex-start;flex-direction:column}.team-choice-action{padding:14px}}
.team-lock:disabled{opacity:1;cursor:default}
.support-panel-open{overflow:hidden}.support-dialog{padding:0;border:1px solid #49665e;border-radius:12px;background:var(--surface);color:var(--text);width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 24px 90px #0008}.support-dialog::backdrop{background:#061014bf;backdrop-filter:blur(4px)}.support-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;position:sticky;top:0;background:var(--surface);z-index:1}.support-dialog-heading h2{margin:0;font-size:18px}.support-close{font-size:24px;line-height:1;padding:5px 10px}.support-dialog iframe{display:block;width:100%;height:650px;max-height:calc(100dvh - 160px);min-height:240px;border:0;background:#fff;color-scheme:light}.support-dialog-help{margin:0;padding:12px 18px;font-size:11px;color:var(--muted)}.support-dialog-help a{color:var(--teal);text-decoration:underline}button.support-link{width:100%;text-align:left;border-inline:0}
.support-art-crop{position:relative;display:block;width:100px;height:100px;flex:0 0 100px;overflow:hidden;border-radius:50%;mask-image:radial-gradient(ellipse,#000 55%,transparent 72%)}.support-art-crop .support-art{position:absolute;width:512%;height:288%;max-width:none;left:-360%;top:0;object-fit:fill;filter:none}.support-link:hover .support-art-crop .support-art{transform:none}@media(max-width:800px){.support-art-crop{width:90px;height:90px;flex-basis:90px}.support-art-crop .support-art{width:512%;height:288%}}
.lineup-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:32px;align-items:start}.lineup-heading-side{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:16px}.lineup-heading>div:first-child>.toggle{display:flex;width:fit-content;margin-top:16px}.support-banner{min-width:0}.support-link{position:relative;isolation:isolate;display:flex;align-items:center;gap:12px;min-height:112px;padding:12px 20px 12px 8px;border-radius:8px;background:linear-gradient(110deg,#a5e4d508,#a5e4d510 55%,transparent);border-block:1px solid #a5e4d51b}.support-link:after{content:'';position:absolute;z-index:-1;inset:10px 0 10px auto;width:2px;background:linear-gradient(transparent,#a5e4d54a,transparent)}.support-link:hover{background-color:#a5e4d50a}.support-art{width:100px;height:100px;flex:0 0 100px;object-fit:contain;filter:drop-shadow(0 5px 10px #0003);transition:transform .2s}.support-link:hover .support-art{transform:translateY(-3px) rotate(-3deg)}.support-copy{min-width:0}.support-copy strong{display:block;font:600 16px/1.35 var(--font);color:var(--text)}.support-copy p{font-size:12px;line-height:1.5;margin:6px 0 9px;color:var(--muted)}.support-cta{font-size:12px;font-weight:600;color:var(--teal)}.support-cta span:last-child{display:inline-block;margin-left:8px}.support-credit{display:block;text-align:right;color:#95a5a7;font-size:9px;line-height:1.4;margin-top:5px}.support-credit a:hover{color:var(--teal);text-decoration:underline}@media(max-width:1050px){.lineup-heading{grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:22px}}@media(max-width:800px){.lineup-heading{display:flex;flex-direction:column;align-items:stretch;gap:20px}.lineup-heading-side{width:100%}.support-link{min-height:104px}.support-art{width:90px;height:90px;flex-basis:90px}.support-copy strong{font-size:15px}.support-copy p{font-size:12px}}@media(prefers-reduced-motion:reduce){.support-art{transition:none}.support-link:hover .support-art{transform:none}}
img.brand-icon{width:44px;height:44px;flex:0 0 44px;object-fit:contain}.footer-brand img.brand-icon{width:34px;height:34px;flex-basis:34px}@media(max-width:480px){header img.brand-icon{width:36px;height:36px;flex-basis:36px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-picker{flex-shrink:0}.language-picker select{color:var(--text);background:#142025;border:1px solid var(--border);border-radius:6px;padding:8px;font:12px var(--font);max-width:120px;cursor:pointer}.language-picker select:focus-visible{outline:2px solid var(--teal);outline-offset:3px}html[lang=de] header{gap:16px}html[lang=de] nav{gap:18px}html[lang=de] h1{font-size:clamp(30px,3.9vw,55px)}html[lang=zh-CN]{--font:'DM Sans','PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif}html[lang=zh-CN] .eyebrow,html[lang=zh-CN] .pill{letter-spacing:.7px}html[lang=zh-CN] h1{font-family:var(--font);letter-spacing:-1px}html[lang=de] .pull-card-top{flex-wrap:wrap}html[lang=de] .team-count-change{margin-left:auto}html[lang=de] .toggle{white-space:normal}@media(min-width:801px) and (max-width:1250px){header{height:auto;flex-wrap:wrap;padding-top:17px}.brand{flex:1}header nav{order:4;width:100%;height:50px;justify-content:center}}@media(max-width:800px){header .brand{flex-basis:calc(100% - 52px)}header .language-picker{order:2;margin-top:10px}header .studio-link{order:1}header nav{order:3}html[lang=de] header nav{gap:16px}html[lang=de] .hero-content h1{font-size:clamp(28px,7.6vw,43px)}html[lang=zh-CN] h1{line-height:1.25}.team-choice-action button{white-space:normal}}

/* Keep page actions with their introduction; support occupies the right column. */
.lineup-heading .heading-actions{margin-top:14px;width:fit-content}
.lineup-heading .heading-actions.pill{display:inline-block}
/* On phones the portrait gets its own space, clear of the headline. */
@media(max-width:800px){
 .hero{display:flex;flex-direction:column;min-height:0}
 .hero-content{padding:28px 25px 24px}
 .hero-art{position:relative;inset:auto;order:2;height:250px;flex-shrink:0;background:linear-gradient(180deg,#182a31,transparent 45%),url('assets/hero-official.png') center/cover}
 .hero-art:before{width:min(100%,360px);height:360px;right:0;top:0;opacity:1;background-position:center top}
 .hero-art:after{background:linear-gradient(0deg,#06151bcc,transparent 28%);box-shadow:none}
 .hero-caption{z-index:1}
}
@media(max-width:480px){.hero-content{padding-left:20px;padding-right:20px}}

/* Keep identity and utility controls on one shared row at tablet/phone widths. */
@media(max-width:1250px){
 header,html[lang=de] header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:'brand language sources' 'nav nav nav';align-items:center;gap:0 12px;height:auto;padding-top:16px}
 header .brand{grid-area:brand;min-width:0;flex:none;white-space:nowrap}
 header .language-picker{grid-area:language;margin:0;display:flex;align-items:center}
 header .language-picker select{height:36px;margin:0}
 header .studio-link{grid-area:sources;margin:0;height:36px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
 header nav{grid-area:nav;min-width:0;margin-top:10px;width:100%}
}
@media(max-width:800px){
 header .studio-link{width:36px;padding:0;font-size:16px}
 header .studio-link span{display:none}
}
@media(max-width:480px){
 header,html[lang=de] header{column-gap:8px}
 header .brand{font-size:clamp(11px,3.4vw,15px);letter-spacing:1px;gap:6px}
 header img.brand-icon{width:30px;height:36px;flex-basis:30px}
 header .brand small{font-size:6px;letter-spacing:.6px}
 header .language-picker select{width:82px;max-width:82px;padding:5px;font-size:11px}
 header .studio-link{width:32px}
}
@media(max-width:480px){header nav,html[lang=de] header nav{gap:0;grid-template-rows:repeat(2,44px)}}

/* Align the name itself with the controls; the tagline sits below that axis. */
header .brand>span{position:relative;display:block}
header .brand small{position:absolute;top:100%;left:0;white-space:nowrap}

/* Compact, centered portraits in mobile before/after team previews. */
@media(max-width:800px){
 .comparison-character img{display:block;width:100%;max-width:72px;height:55px;margin-inline:auto;object-fit:cover;object-position:50% 18%}
}

#roster .heading-actions.button-group{flex-wrap:wrap;gap:8px}
@media(max-width:480px){#roster .heading-actions.button-group button{padding:9px 11px}}

.roster-code-dialog{width:min(620px,calc(100vw - 24px));max-width:620px;max-height:calc(100dvh - 24px);overflow:auto;padding:24px}
.code-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.code-heading h2{font-size:22px;margin:0}
.code-close{padding:4px 10px;font-size:24px;line-height:1.3}
.code-label{display:block;margin:20px 0 8px;font-weight:600;font-size:13px}
.code-controls{display:flex;gap:8px;align-items:stretch}
.code-controls input{min-width:0;flex:1;width:100%;padding:12px;border:1px solid #49665e;border-radius:7px;background:#0c171c;color:var(--text);font:18px/1.4 Consolas,'Courier New',monospace;letter-spacing:1px}
#current-roster-code{font-size:24px;letter-spacing:2px}
.code-controls button{flex-shrink:0}
#roster-code-error{color:#f1baa5;margin-top:16px}
#roster-code-preview{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}
#roster-code-summary{font-size:16px}
.code-portraits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0}
.code-portraits>div{text-align:center;min-width:0;background:#203035;border-radius:6px;overflow:hidden}
.code-portraits img{display:block;width:100%;height:65px;object-fit:cover;object-position:50% 15%}
.code-portraits span{display:block;font-size:10px;line-height:1.4;padding:5px;overflow-wrap:anywhere}
html[lang=ja]{--font:'DM Sans','Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo','Noto Sans CJK JP',sans-serif}
html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3{font-family:var(--font);letter-spacing:0;line-height:1.4}
html[lang=ja] .eyebrow,html[lang=ja] .pill{letter-spacing:.5px}
@media(max-width:480px){.roster-code-dialog{padding:18px}.code-heading h2{font-size:18px}.code-controls{flex-wrap:wrap}.code-controls input{flex-basis:100%}.code-controls button{padding:8px 14px}.code-portraits{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}}
