@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#0b0e12;--panel:#12171d;--panel2:#171e26;--line:#29313b;--muted:#909ba9;--white:#f2f4ed;--lime:#c3f451;--blue:#91b8ec;--red:#f88f89;--font:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font:14px/1.6 var(--font);min-width:320px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button{border:0}a{color:inherit;text-decoration:none}svg{display:block}p,h1,h2,h3,h4{margin:0}button{transition:background .16s,color .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}.page-grid{position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#232a331c 1px,transparent 1px),linear-gradient(#232a331c 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(black,transparent 70%)}.site-header{height:94px;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:900;letter-spacing:2px;white-space:nowrap}.brand svg{height:40px;width:37px;stroke:var(--lime);stroke-width:2;fill:none}.brand small{display:block;font-family:var(--display);font-size:10px;letter-spacing:3px;color:var(--muted);line-height:1}.beta{font:500 10px var(--display);letter-spacing:1px;color:var(--lime);padding:2px 5px;border:1px solid #c3f45144;align-self:flex-start;margin-top:2px}.site-header nav{display:flex;gap:28px;height:100%;align-items:stretch}.nav-item{background:transparent;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;position:relative}.nav-item.active{color:var(--white);border-color:var(--lime)}.nav-item:hover{color:var(--lime)}.help-button{display:flex;gap:9px;align-items:center;background:transparent;color:var(--muted);font-size:12px}.help-button span{border:1px solid #69717c;width:20px;height:20px;line-height:18px;border-radius:50%;font-family:monospace}.help-button b{font-weight:400}main{max-width:1344px;margin:auto;padding:0 24px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:42px 0 35px;gap:24px}.eyebrow{font-family:var(--display);font-size:13px;letter-spacing:3px;font-weight:600;color:var(--lime);display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:6px;height:6px;background:var(--lime)}h1{font-size:clamp(30px,3.4vw,48px);font-weight:900;line-height:1.35;letter-spacing:-1.5px;margin-top:13px}h1 em{color:var(--lime);font-style:normal}.intro p{color:var(--muted);margin-top:13px;font-size:13px}.edition{display:flex;align-items:center;gap:18px;padding-bottom:2px}.edition-number{font:800 74px/.85 var(--display);letter-spacing:-1px;color:#e2e5e9}.edition-label{font:600 12px/1.7 var(--display);letter-spacing:2px;color:var(--muted)}.edition-label span{color:var(--lime);display:block}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line);background:var(--panel);min-height:384px}.draft-zone{padding:24px 26px 26px;position:relative;overflow:hidden}.section-label{display:flex;justify-content:space-between;align-items:center;gap:8px}.step{font-size:12px;letter-spacing:1px;display:flex;align-items:center;gap:10px}.step b{font:600 16px var(--display);color:var(--lime)}.subtle{color:var(--muted);font-size:11px}.empty-draft{display:flex;align-items:center;gap:40px;justify-content:center;min-height:298px;background:radial-gradient(ellipse at 25% 60%,#c3f45108,transparent 55%)}.dice-orbit{height:200px;width:200px;position:relative;display:grid;place-items:center;flex-shrink:0}.dice-orbit:before,.dice-orbit:after{content:'';position:absolute;inset:10px;border:1px solid #c3f45116;border-radius:50%}.dice-orbit:after{inset:32px;border-style:dashed;border-color:#c3f45130}.dice{position:relative;width:91px;height:91px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:9px;padding:19px;background:linear-gradient(135deg,#d4ff78,#a1d336);border-radius:17px;box-shadow:7px 9px 0 #597b1a,0 20px 55px #a1dd2220;transform:rotate(-16deg);z-index:1}.pip{width:11px;height:11px;background:#24320f;border-radius:50%}.pip:nth-child(1){grid-area:1/1}.pip:nth-child(2){grid-area:1/3}.pip:nth-child(3){grid-area:2/2}.pip:nth-child(4){grid-area:3/1}.pip:nth-child(5){grid-area:3/3}.orbit-label{position:absolute;bottom:0;color:#607143;font:500 11px var(--display);letter-spacing:4px}.empty-copy h2{font-size:24px;line-height:1.55;font-weight:800}.empty-copy p{color:var(--muted);font-size:12px;margin-top:12px;line-height:1.9}.roll-side{background:#0f1419;border-left:1px solid var(--line);padding:25px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.roll-side .micro{color:var(--muted);font:600 11px var(--display);letter-spacing:2px}.roll-count{font:700 48px/1.2 var(--display);margin:6px 0;color:#dddfe0}.roll-count span{font:400 12px var(--font);color:var(--muted);margin-left:8px}.side-copy{font-size:12px;line-height:1.9;color:var(--muted)}.roll-button,.primary{background:var(--lime);color:#142007;display:flex;justify-content:center;align-items:center;gap:12px;padding:15px 20px;font-weight:800;letter-spacing:1px;min-height:52px}.roll-button{width:100%;font-size:15px}.roll-button:hover:not(:disabled),.primary:hover:not(:disabled){background:#d5ff80;box-shadow:0 0 30px #c3f45112}.roll-button svg{width:21px;height:21px}.side-foot{font-size:10px;color:#7c8896;text-align:center;margin-top:10px}.small-steps{display:flex;align-items:center;gap:7px;font-size:10px;color:#718092;margin:20px 0 0}.small-steps span:first-child{color:var(--lime)}.small-steps i{height:1px;background:#34404b;flex:1}.team-reveal{padding-top:18px;animation:reveal .35s ease-out}.team-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:12px}.team-heading{display:flex;align-items:center;gap:13px;min-width:0}.team-logo{width:49px;height:49px;flex-shrink:0;display:grid;place-items:center;background:var(--team-color,#223225);border:1px solid #ffffff18;clip-path:polygon(0 0,85% 0,100% 15%,100% 100%,15% 100%,0 85%);font:700 22px var(--display);letter-spacing:-1px}.team-heading h2{font:700 27px/1 var(--display);letter-spacing:.5px}.team-heading p{font-size:11px;color:var(--muted);margin-top:5px}.year-tag{font:600 17px var(--display);color:var(--lime);border:1px solid #c3f45133;background:#c3f45109;padding:4px 10px;white-space:nowrap}.player-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.player-card{position:relative;background:#1a212a;border:1px solid #303a47;padding:11px 10px 12px;text-align:left;min-width:0;min-height:199px;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}.player-card:before{content:'';position:absolute;inset:35% -50% -40%;background:radial-gradient(ellipse,#aacadd13,transparent 70%);z-index:-1}.player-card:hover:not(:disabled){border-color:var(--lime);background:#222e2b;transform:translateY(-4px)}.card-top{display:flex;justify-content:space-between;align-items:center}.role-small{color:#acb5c0;font:600 12px var(--display);letter-spacing:1px}.rating{font:600 24px/1 var(--display);color:var(--lime)}.avatar{height:76px;display:flex;align-items:center;justify-content:center;font:800 53px/1 var(--display);color:#647a8a80;letter-spacing:-4px;position:relative;overflow:hidden;margin:3px 0 5px}.avatar:before{content:'';position:absolute;width:52px;height:52px;border:1px solid #778b9b24;transform:rotate(45deg)}.player-card .player-name{font:600 19px var(--display);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.player-cn{font-size:10px;color:var(--muted);margin-top:2px}.pick-action{font-size:10px;color:var(--lime);margin-top:11px;display:flex;justify-content:space-between}.player-card.picked{border-color:#c3f45177;background:#c3f4510b}.player-card:disabled{opacity:.8}.team-note{font-size:10px;color:#83909f;margin-top:12px;display:flex;align-items:center;gap:6px}.team-note:before{content:'';width:4px;height:4px;background:#8192a4;border-radius:50%}.lineup-section{margin-top:30px}.lineup-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:12px}.lineup-heading h2{font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px}.lineup-heading small{color:var(--muted);font-weight:400;font-size:11px}.lineup-count{font:600 20px var(--display);color:var(--lime)}.text-button{background:none;color:var(--muted);font-size:11px;padding:5px}.text-button:hover{color:var(--white)}.lineup-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.slot{min-height:146px;border:1px dashed #36414b;background:#11161bb3;padding:16px;position:relative;overflow:hidden}.slot-label{display:flex;align-items:center;gap:8px;color:#95a1b0;font-size:11px}.role-icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none}.slot-empty{display:flex;align-items:center;justify-content:center;gap:8px;height:78px;color:#56616e;font-size:11px}.slot-empty span{font-size:23px;font-weight:300;color:#6a7888}.slot.filled{border-style:solid;border-color:#3c4c36;background:linear-gradient(125deg,#1c2720,#141b1e)}.slot.filled .slot-label{color:var(--lime)}.slot-name{font:600 27px/1.2 var(--display);margin-top:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:24px}.slot-meta{color:#8b9a9b;font-size:10px;margin-top:5px}.slot-rating{position:absolute;right:14px;bottom:20px;font:700 34px var(--display);color:#c3f45144}.remove-slot{position:absolute;top:10px;right:10px;background:transparent;color:#829184;padding:0 5px;font-size:19px}.launch-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:24px;padding:22px 0}.launch-hint{font-size:12px;color:var(--muted)}.launch-hint strong{color:var(--white);font-weight:500}.launch-actions{display:flex;align-items:center;gap:20px}.launch-actions .primary{min-width:230px}.launch-actions small{font-size:10px;color:var(--muted)}.arrow{font-size:20px;line-height:1}.site-footer{max-width:1296px;margin:24px auto 0;padding:22px 0 30px;border-top:1px solid #202731;display:flex;justify-content:space-between;gap:20px;color:#687482;font-size:10px}.site-footer i{font-style:normal;color:#39444f;margin:0 8px}.site-footer div{display:flex;gap:20px}.site-footer button{font-size:10px;background:none;color:#8995a1;padding:0}.loading{height:65vh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;color:var(--muted)}.loader{width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}.rolling .dice{animation:roll .55s ease-in-out infinite}.rolling .empty-copy h2{color:var(--lime)}.roll-animation{min-height:298px;display:flex;align-items:center;justify-content:center;gap:30px}.roll-animation .flicker{font:700 45px var(--display);color:var(--lime)}.roll-animation p{color:var(--muted);font-size:12px}dialog{background:#131920;color:var(--white);border:1px solid #3b4651;width:min(900px,calc(100% - 32px));max-height:85vh;padding:0;box-shadow:0 40px 100px #000b}dialog::backdrop{background:#05080ccd;backdrop-filter:blur(6px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#131920;z-index:3}.modal-head h2{font-size:20px}.modal-head button{font-size:26px;background:none;color:var(--muted);line-height:1}.modal-body{padding:25px 26px}.prose{font-size:13px;color:#b5bfcc;line-height:1.95}.prose h3{color:var(--white);font-size:15px;margin:24px 0 10px}.prose h3:first-child{margin-top:0}.prose p{margin:8px 0}.prose a{color:var(--lime);text-decoration:underline;text-underline-offset:3px}.prose ul{padding-left:20px}.prose .notice{padding:16px;background:#c3f45109;border-left:2px solid var(--lime);margin:20px 0}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#253129;border:1px solid #c3f45155;color:var(--white);padding:13px 22px;box-shadow:0 10px 40px #0005;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90vw;white-space:normal;font-size:13px}.toast.visible{opacity:1;transform:translate(-50%,0)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.toolbar input{flex:1;min-width:160px}.toolbar input,.toolbar select,.name-input{background:#0e141a;border:1px solid #364250;padding:11px 13px;color:var(--white);border-radius:0}.toolbar select{min-width:115px}.catalogue-team{border:1px solid var(--line);margin-top:12px;padding:15px}.catalogue-team header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.catalogue-team h3{font-size:14px}.catalogue-team header span{font-size:11px;color:var(--muted)}.catalogue-players{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.catalogue-players div{background:#1d252e;padding:10px;font:600 17px var(--display);overflow-wrap:anywhere}.catalogue-players small{display:block;font:400 10px var(--font);color:var(--muted)}.catalogue-source{font-size:10px;color:var(--muted);display:block;margin-top:10px}.catalogue-source a{color:#b5c59b;text-decoration:underline}.catalogue-count{font-size:12px;color:var(--muted);margin-bottom:15px}.secondary{border:1px solid #46525f;background:#1a222a;padding:11px 19px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary:hover{background:#28333d}.empty-state{text-align:center;padding:45px 20px;color:var(--muted)}.empty-state h3{color:var(--white);margin-bottom:10px}.history-row{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--line);padding:16px;margin-bottom:10px}.history-row h3{font-size:14px}.history-row p{font-size:11px;color:var(--muted);margin-top:5px}.history-row strong{color:var(--lime)}.sim-header{padding:32px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sim-header h1{font-size:32px;margin:4px 0 0}.sim-header .eyebrow{font-size:11px}.sim-steps{display:flex;border:1px solid var(--line);margin-bottom:23px;background:#10161c}.sim-step{flex:1;padding:14px 18px;color:#66717c;font-size:12px;border-right:1px solid var(--line);display:flex;gap:10px;align-items:center}.sim-step:last-child{border:0}.sim-step b{font:600 17px var(--display)}.sim-step.current{color:var(--lime);background:#c3f45108}.sim-step.done{color:#d1d8d5}.sim-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.match-arena{background:radial-gradient(ellipse at 50% 20%,#273b292e,transparent 70%),var(--panel);border:1px solid var(--line);padding:26px;position:relative;min-height:340px}.match-eyebrow{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.match-teams{display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;text-align:center;padding:37px 0 25px;gap:12px}.match-team-logo{font:700 45px var(--display);color:var(--lime);width:85px;height:85px;margin:auto auto 12px;display:grid;place-items:center;background:#c3f4510b;border:1px solid #c3f45133;clip-path:polygon(0 0,85% 0,100% 15%,100% 100%,15% 100%,0 85%)}.match-team.opponent .match-team-logo{color:var(--blue);background:#91b8ec0c;border-color:#91b8ec33}.match-team h3{font-size:17px}.match-team p{font-size:11px;color:var(--muted);margin-top:3px}.match-score{font:700 65px/1 var(--display);letter-spacing:5px;white-space:nowrap}.match-score small{display:block;font:400 10px var(--font);letter-spacing:1px;color:var(--muted);margin-top:12px}.game-dots{display:flex;justify-content:center;gap:8px;margin-bottom:19px}.game-dot{font:600 11px var(--display);height:26px;min-width:42px;border:1px solid var(--line);color:#73808f;display:grid;place-items:center}.game-dot.win{background:#c3f45112;color:var(--lime);border-color:#c3f45144}.game-dot.loss{background:#91b8ec0b;color:var(--blue);border-color:#91b8ec33}.match-comment{border-top:1px solid var(--line);padding-top:15px;min-height:57px;font-size:12px;color:#a8b3be;line-height:1.9;text-align:center}.sim-controls{display:flex;gap:10px;margin-top:17px}.sim-controls .primary{flex:1}.sim-controls .secondary{min-width:92px}.standings{border:1px solid var(--line);background:var(--panel);padding:19px}.standings h3{font-size:13px;margin-bottom:15px}.standings-list{display:flex;flex-direction:column;gap:4px}.standing{display:grid;grid-template-columns:20px 1fr 38px;align-items:center;padding:4px 7px;font:500 15px var(--display);gap:8px}.standing .rank{color:#5c6b7b;font-size:12px}.standing .record{color:#8291a0;text-align:right}.standing.you{background:#c3f4510d;color:var(--lime);border-left:2px solid var(--lime);padding-left:5px}.standing.qualified .record{color:var(--lime)}.standing.eliminated{opacity:.5}.sim-squad{margin:23px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sim-player{padding:13px 15px;background:#141c21;border:1px solid var(--line);display:flex;flex-direction:column}.sim-player small{color:var(--muted);font-size:10px}.sim-player strong{font:600 22px var(--display);margin:4px 0}.sim-player span{font-size:10px;color:#789084}.match-log{margin-top:25px}.match-log h3{font-size:13px;margin-bottom:13px}.log-item{display:grid;grid-template-columns:60px 1fr auto 1fr 70px;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #252e37;font-size:12px}.log-item .stage-tag{color:var(--muted);font-size:10px}.log-item .score{font:600 20px var(--display)}.log-item .result-tag{text-align:right;color:var(--lime);font-size:10px}.log-item.lost .result-tag{color:var(--red)}.log-item .opponent-name{text-align:right}.bracket{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:20px 0}.bracket-col{display:flex;flex-direction:column;justify-content:space-around;gap:10px}.bracket-col h4{font-size:11px;color:var(--muted);font-weight:400}.bracket-match{border:1px solid var(--line);padding:8px 10px;background:#141c23;font:600 14px var(--display)}.bracket-match div{display:flex;justify-content:space-between;gap:8px;padding:3px 0}.bracket-match .winner{color:var(--lime)}.result-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% -30%,#c3f45125,transparent 75%),#10171a;border:1px solid #c3f4513b;text-align:center;padding:38px 25px 32px}.result-hero:before{content:'WORLDS';position:absolute;top:-30px;left:50%;transform:translateX(-50%);font:800 180px var(--display);color:#c3f45104;pointer-events:none}.result-hero .eyebrow{justify-content:center}.result-hero h2{font-size:54px;font-weight:900;color:var(--lime);letter-spacing:5px;margin:14px 0 6px}.result-hero .rank-label{color:#abb9ac;font-size:13px}.result-team{font-size:14px;margin-top:20px}.result-trophy{width:50px;height:50px;margin:auto auto 15px;color:var(--lime)}.result-numbers{display:flex;gap:0;justify-content:center;margin:25px auto 0;max-width:600px}.result-numbers>div{flex:1;border-right:1px solid #344032}.result-numbers>div:last-child{border:0}.result-numbers strong{font:600 35px var(--display);display:block}.result-numbers small{font-size:10px;color:#8b9b8e}.result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:20px 0 27px}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.analysis-card{padding:22px;background:#131a20;border:1px solid var(--line)}.analysis-card .micro{font:600 11px var(--display);letter-spacing:2px;color:var(--muted)}.analysis-card h3{font-size:18px;margin:8px 0 12px}.analysis-card p{font-size:12px;color:#99a6b2;line-height:1.9}.analysis-card em{font-style:normal;color:var(--lime)}.report-note{color:#6e7c8a;font-size:10px;text-align:center;margin:25px 0}.inline-note{font-size:11px;color:var(--muted);margin-top:15px;line-height:1.8}.error-state{max-width:550px;margin:80px auto;text-align:center}.error-state h2{margin-bottom:20px}.error-state p{color:var(--muted);margin-bottom:25px}.source-table{width:100%;border-collapse:collapse;font-size:12px}.source-table th,.source-table td{padding:9px;border-bottom:1px solid var(--line);text-align:left}.source-table th{color:var(--muted);font-weight:400}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes roll{0%{transform:rotate(-16deg) translateY(0)}50%{transform:rotate(160deg) translateY(-20px)}100%{transform:rotate(344deg) translateY(0)}}@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){main{padding:0 24px}.intro{padding-top:50px;padding-bottom:40px}.workspace{min-height:400px}.empty-draft{min-height:310px}}
@media(max-width:1100px){.site-header{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 240px}.roll-side{padding:22px}.draft-zone{padding:20px}.player-grid{gap:6px}.player-card{padding:9px 8px}.player-card .player-name{font-size:17px}.site-footer{margin-left:24px;margin-right:24px}.empty-draft{gap:15px}.dice-orbit{width:170px}.empty-copy h2{font-size:21px}.sim-layout{grid-template-columns:minmax(0,1fr) 250px}.slot{padding:13px}.match-teams{grid-template-columns:1fr 110px 1fr}.match-score{font-size:53px}.slot-name{font-size:23px}}
@media(max-width:800px){.site-header{height:76px;gap:15px;padding:0 20px}.brand{font-size:17px;gap:8px;letter-spacing:1px}.brand svg{width:30px}.brand small{font-size:8px}.beta{display:none}.site-header nav{gap:18px}.help-button b{display:none}.nav-item{font-size:12px}.intro{padding:28px 0 24px}.intro h1{font-size:34px}.intro p{max-width:400px}.edition-number{font-size:52px}.edition-label{font-size:10px}.edition{gap:12px}.workspace{grid-template-columns:1fr}.roll-side{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 220px;padding:18px 20px;align-items:center;gap:20px}.roll-side .side-copy,.small-steps{display:none}.roll-count{font-size:30px;margin:0}.roll-side .micro{font-size:9px}.roll-button{min-height:48px;padding:12px}.side-foot{margin-top:5px}.draft-zone{padding:20px}.player-card{min-height:180px}.player-card .player-name{font-size:20px}.avatar{height:60px;font-size:44px}.empty-draft{min-height:240px;gap:35px}.empty-copy h2{font-size:24px}.dice-orbit{height:180px;width:180px}.lineup-grid{gap:8px}.slot{padding:10px;min-height:135px}.slot-name{font-size:22px}.slot-rating{font-size:27px;right:9px;bottom:13px}.slot-meta{font-size:9px;max-width:75%}.slot-empty{font-size:10px;gap:4px}.launch-actions small{display:none}.launch-actions .primary{min-width:200px}.sim-layout{grid-template-columns:1fr}.standings{display:none}.sim-step{padding:12px}.match-teams{grid-template-columns:1fr 140px 1fr}.match-score{font-size:65px}.analysis-card{padding:17px}.analysis-card h3{font-size:16px}.site-footer{font-size:9px}.site-footer div{gap:12px}.sim-squad{gap:6px}.sim-player{padding:10px}.sim-player strong{font-size:19px}}
@media(max-width:540px){main{padding:0 16px}.site-header{padding:0 16px;height:70px;gap:9px}.brand{font-size:15px}.brand svg{width:25px;height:32px}.brand small{font-size:7px;letter-spacing:2px}.site-header nav{gap:12px}.nav-item{font-size:10px}.help-button{padding:3px}.help-button span{width:18px;height:18px;font-size:11px;line-height:16px}.intro{align-items:flex-start;gap:10px;padding:26px 0 23px}.eyebrow{font-size:10px;letter-spacing:2px}.intro h1{font-size:29px;letter-spacing:-1px;margin-top:11px}.intro p{font-size:11px;line-height:1.9;margin-top:10px;max-width:285px}.edition{display:none}.draft-zone{padding:15px 12px 17px}.step{font-size:11px}.subtle{font-size:9px}.empty-draft{gap:6px;min-height:218px}.dice-orbit{width:135px;height:160px}.dice{width:70px;height:70px;padding:15px;gap:6px;border-radius:13px;box-shadow:5px 7px 0 #597b1a}.pip{width:8px;height:8px}.empty-copy h2{font-size:18px}.empty-copy p{font-size:10px;margin-top:10px}.orbit-label{font-size:9px}.roll-side{padding:14px;grid-template-columns:1fr 190px;gap:10px}.roll-count{font-size:28px}.roll-button{font-size:13px;gap:9px}.side-foot{font-size:9px}.team-top{margin-bottom:12px}.team-heading{gap:9px}.team-heading h2{font-size:23px}.team-heading p{font-size:9px}.team-logo{width:38px;height:38px;font-size:17px}.year-tag{font-size:14px;padding:4px 7px}.player-grid{gap:5px}.player-card{padding:7px 5px;min-height:151px}.rating{font-size:20px}.role-small{font-size:10px;letter-spacing:0}.avatar{height:47px;font-size:34px;letter-spacing:-3px;margin-top:6px}.avatar:before{width:31px;height:31px}.player-card .player-name{font-size:15px}.player-cn{font-size:8px}.pick-action{font-size:9px;margin-top:8px;letter-spacing:-.5px}.team-note{font-size:9px;line-height:1.6}.lineup-section{margin-top:24px}.lineup-heading{margin-bottom:12px}.lineup-heading h2{font-size:12px;gap:7px}.lineup-heading small{font-size:9px}.lineup-count{font-size:17px}.lineup-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.slot{grid-column:span 2;min-height:117px;padding:10px}.slot:nth-last-child(-n+2){grid-column:span 3;min-height:104px}.slot-name{font-size:24px;margin-top:12px}.slot-label{font-size:10px;gap:5px}.slot-empty{height:55px}.slot-rating{bottom:10px}.slot-meta{font-size:9px}.remove-slot{top:6px;right:6px}.launch-bar{align-items:stretch;flex-direction:column;gap:13px;padding-top:18px;margin-top:18px}.launch-hint{font-size:11px;text-align:center}.launch-actions{display:block}.launch-actions .primary{width:100%;font-size:13px}.site-footer{margin:12px 16px 0;padding:18px 0 24px;flex-direction:column;gap:9px}.site-footer div{justify-content:space-between}.modal-head{padding:18px}.modal-head h2{font-size:18px}.modal-body{padding:18px}.prose{font-size:12px}.toolbar{gap:8px}.toolbar input{flex-basis:100%}.toolbar select{flex:1;font-size:12px}.catalogue-team{padding:11px}.catalogue-players{gap:4px}.catalogue-players div{padding:7px 4px;font-size:13px}.catalogue-players small{font-size:8px}.sim-header{padding:24px 0 20px;gap:12px}.sim-header h1{font-size:25px}.sim-header .secondary{font-size:10px;padding:9px 11px}.sim-steps{margin-bottom:15px}.sim-step{font-size:10px;gap:6px;padding:11px 8px}.sim-step b{font-size:14px}.match-arena{padding:17px 13px;min-height:310px}.match-eyebrow{font-size:9px}.match-teams{grid-template-columns:1fr 88px 1fr;gap:5px;padding:29px 0 20px}.match-team-logo{height:65px;width:65px;font-size:33px}.match-team h3{font-size:13px;overflow-wrap:anywhere}.match-team p{font-size:9px}.match-score{font-size:45px;letter-spacing:3px}.match-score small{font-size:8px;letter-spacing:0}.match-comment{font-size:11px;text-align:left;min-height:65px}.sim-controls{gap:7px}.sim-controls .primary{font-size:12px;padding:12px}.sim-controls .secondary{min-width:68px;padding:10px 8px;font-size:10px}.sim-squad{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:17px 0}.sim-player{padding:8px 5px;min-width:0}.sim-player strong{font-size:15px;overflow:hidden;text-overflow:ellipsis}.sim-player small,.sim-player span{font-size:8px}.log-item{grid-template-columns:42px 1fr auto 1fr 29px;padding:10px 6px;gap:6px;font-size:10px}.log-item .score{font-size:18px}.log-item .stage-tag{font-size:9px}.log-item .result-tag{font-size:9px}.analysis-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}.analysis-card{padding:18px}.analysis-card h3{font-size:17px;margin-bottom:8px}.analysis-card p{font-size:12px}.result-hero{padding:30px 16px 25px}.result-hero h2{font-size:42px;letter-spacing:3px}.result-hero:before{font-size:115px;top:0}.result-actions{gap:8px;margin-top:15px}.result-actions button{font-size:11px;padding:11px 13px;flex:1;white-space:nowrap}.result-actions .primary{flex-basis:100%}.result-numbers{margin-top:20px}.result-numbers strong{font-size:29px}.bracket{gap:7px}.bracket-match{padding:6px;font-size:12px}.report-note{font-size:9px}.roll-animation{min-height:218px;gap:10px}.roll-animation .flicker{font-size:32px}.history-row{padding:12px}.history-row h3{font-size:12px}.history-row p{font-size:9px}.history-row .secondary{padding:8px;font-size:10px}.source-table{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(max-width:540px){.player-card .player-name{white-space:normal;overflow-wrap:anywhere;min-height:33px;line-height:1.12}.slot-name{padding-right:0;white-space:normal;overflow-wrap:anywhere;font-size:22px;line-height:1.15}.slot{min-height:128px}.slot:nth-last-child(-n+2){min-height:112px}.sim-header .secondary{white-space:nowrap}.sim-header h1{font-size:23px}}

@media(max-width:540px){.player-card .player-name{font-size:14px;letter-spacing:-.15px}}
.portrait-fallback{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--display);font-weight:800;color:#647a8a80}
.portrait-loaded>.portrait-fallback{visibility:hidden}
.avatar img,.slot-portrait img,.squad-portrait img,.catalogue-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;z-index:1}
.avatar{height:142px;margin:7px -10px 10px;font-size:60px;letter-spacing:-3px;background:linear-gradient(135deg,#25313b,#141c24)}
.avatar.has-portrait:before{display:none}.player-card{min-height:264px}.avatar img{mask-image:linear-gradient(#000 85%,transparent)}
.slot-portrait{position:absolute;width:90px;height:100%;right:0;top:0;opacity:.65;mask-image:linear-gradient(90deg,transparent,#000 30%);pointer-events:none}
.slot-label,.slot-name,.slot-meta,.slot-rating,.remove-slot{z-index:2;position:relative}.slot-rating,.remove-slot{position:absolute}.slot-name,.slot-meta{text-shadow:0 1px 7px #000}.slot-rating{color:var(--lime);text-shadow:0 1px 8px #0008}.remove-slot{background:#111a13aa;border-radius:50%}
.sim-player{position:relative;overflow:hidden;isolation:isolate}.sim-player>small,.sim-player>strong,.sim-player>span:not(.squad-portrait){position:relative;z-index:2;text-shadow:0 1px 5px #000}
.squad-portrait{position:absolute;right:0;top:0;width:65px;height:100%;opacity:.45;mask-image:linear-gradient(90deg,transparent,#000 40%)}
.catalogue-person{background:#1d252e;padding:0 0 10px;font:600 18px var(--display);text-align:left;overflow:hidden;min-width:0;border:1px solid transparent}.catalogue-person:hover{border-color:var(--lime)}
.catalogue-person>strong,.catalogue-person>small{display:block;margin:0 9px;overflow-wrap:anywhere}.catalogue-person>strong{font-weight:600}.catalogue-person>small{font:400 10px var(--font);color:var(--muted);margin-top:4px}.catalogue-person .photo-status{font-size:9px;color:#98ad7c}
.catalogue-portrait{display:block;position:relative;height:108px;overflow:hidden;background:#111b24;margin-bottom:9px}.catalogue-portrait .portrait-fallback{font-size:35px}
.photo-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:26px;align-items:start}.detail-portrait{display:block;position:relative;background:#0e151d;min-height:280px}.detail-portrait img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}.detail-portrait .portrait-fallback{position:absolute;inset:0;font-size:90px}.detail-portrait.has-portrait{min-height:0}.photo-detail p{overflow-wrap:anywhere}
@media(max-width:800px){.avatar{height:125px}.player-card{min-height:250px}.slot-portrait{width:76px}.squad-portrait{width:53px}}
@media(max-width:540px){.avatar{height:95px;margin:6px -5px 9px;font-size:37px}.player-card{min-height:215px}.slot-portrait{width:65px;opacity:.5}.slot-name{font-size:21px}.slot-rating{font-size:24px}.catalogue-portrait{height:75px}.catalogue-person{font-size:14px}.catalogue-person>strong,.catalogue-person>small{margin-left:4px;margin-right:4px}.catalogue-person>small{font-size:8px}.catalogue-person .photo-status{font-size:8px}.photo-detail{grid-template-columns:1fr;gap:18px}.detail-portrait img{max-height:340px}.squad-portrait{width:42px;opacity:.35}}

.has-portrait img{opacity:0;transition:opacity .2s ease}.portrait-loaded img{opacity:1}
