@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111715;--panel:#19201d;--line:#2b342e;--muted:#8c9990;--lime:#cbf76b;--white:#f2f5ee;--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font:14px var(--body)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button{color:inherit}input,select{background:#111814;border:1px solid #3b463d;border-radius:7px;color:var(--white);padding:12px;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display)}h1{font-size:56px;line-height:1.02;font-weight:600;letter-spacing:-.5px;margin-bottom:16px}h2{font-size:25px;font-weight:600;margin:0}h3{font-size:28px;margin-bottom:4px}p{line-height:1.65}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:34px 22px;background:#141b17;border-right:1px solid var(--line);z-index:3;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:6px;font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.6px;white-space:nowrap}.brand-symbol{font-size:35px;color:var(--lime);margin-right:5px}.brand-light{font-weight:500;color:#c6cec4}.workspace-label{font-size:9px;letter-spacing:1.8px;color:#69786c;margin:16px 8px 14px}.nav-item{display:flex;align-items:center;gap:13px;border-radius:7px;padding:14px 13px;margin:5px 0;color:#a9b4aa;font-size:12px}.nav-item>span{font-size:20px;width:21px}.nav-item.active{background:var(--lime);color:#172110;font-weight:700}.nav-item:not(.active):hover{background:#243024}.nav-item i{font-style:normal;margin-left:auto;font-size:10px;opacity:.65}.side-bottom{margin-top:auto}.season-card{border:1px solid #36432c;background:linear-gradient(135deg,#253222,#19201b);border-radius:9px;padding:17px 14px;font-size:11px;margin-top:30px}.season-card strong{display:block;font:21px var(--display);margin:16px 0 8px}.season-card p{font-size:11px;color:#9eae9b}.tiny{font-size:9px;letter-spacing:.7px}.green-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:6px;vertical-align:middle}.subtle{border:0;background:none;color:var(--muted);font-size:11px;padding:20px 0}.main-shell{margin-left:244px}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:10px;letter-spacing:1.5px;color:#b6c1b6}.slash{margin:0 13px;color:#4e5d50}.topright{display:flex;align-items:center;gap:22px}.demo-pill{color:var(--lime);border:1px solid #3e4d2c;border-radius:4px;padding:6px 9px;font-size:9px}.avatar{display:inline-flex;align-items:center;justify-content:center;background:#303b2b;border:1px solid #4c5a41;border-radius:50%;color:var(--lime)}.small{width:33px;height:33px;font-size:10px}main{max-width:1500px;margin:auto;padding:24px 40px 0}.content-top{display:flex;justify-content:space-between;color:#94a191;font-size:11px;margin-bottom:24px}.content-top .green-dot{margin:0 0 0 8px}.hero{position:relative;min-height:318px;background:#d1f587;border-radius:12px;overflow:hidden;padding:35px 38px;color:#1c301e;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;margin-bottom:12px}.hero h1{font-size:61px;margin-bottom:15px;font-weight:700;line-height:.96}.hero h1 em{font-style:normal;color:#487236}.hero p{color:#49613b;font-size:12px;line-height:1.7;margin-bottom:24px}.hero-copy{position:relative;z-index:2;max-width:60%}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;border:0;border-radius:6px;min-height:43px;padding:12px 18px;font-size:12px;font-weight:600;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--lime);color:#1d2b16}.hero .primary{background:#203522;color:#eff8df;min-width:170px;justify-content:space-between}.secondary{background:#242e27;border:1px solid #394637;color:#d4ded0}.selected-button{background:#c8f36c;color:#24331c}.full{width:100%}.hero-art{position:absolute;width:410px;height:410px;right:1%;top:-8px}.orbit{position:absolute;width:400px;height:400px;border:1px solid #adc973;border-radius:50%;transform:rotate(-25deg) scaleX(.68);top:-8px;right:0}.orbit-two{transform:rotate(30deg) scaleX(.75);width:490px;height:490px;top:-70px;right:-80px}.volleyball{position:absolute;width:218px;height:218px;right:80px;top:70px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fbffe8,#d9e4b0 42%,#92a861 83%);box-shadow:22px 25px 36px #526b3944,inset -12px -15px 22px #71883f66;transform:rotate(-32deg);overflow:hidden;border:1px solid #d4e2ae}.volleyball:before,.volleyball:after,.volleyball span,.volleyball i{content:'';position:absolute;border:2px solid #59783f;border-radius:48%;width:240px;height:170px;left:-58px;top:-40px;transform:rotate(20deg);box-shadow:0 9px 0 -7px #59783f,0 22px 0 -20px #59783f}.volleyball:after{transform:rotate(125deg);top:91px;left:48px}.volleyball span{transform:rotate(-38deg);left:-125px;top:105px}.volleyball i{transform:rotate(80deg);left:62px;top:-85px}.art-label{position:absolute;bottom:65px;right:2px;font:30px/.9 var(--display);transform:rotate(-90deg);color:#5f803b}.art-label span{display:block;font:8px var(--body);letter-spacing:2px;margin-top:10px}.hero-number{position:absolute;right:260px;bottom:-23px;font:150px var(--display);color:#bfdc7e;opacity:.4}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metrics article{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:20px}.metric-title{display:flex;justify-content:space-between;font-size:11px;color:#a2afa3;margin-bottom:13px}.metric-title>span{color:#a5b792}.metrics strong{font-family:var(--display);font-size:36px;font-weight:600;display:block}.metrics strong small{font:12px var(--body);color:#7f8e80}.metric-note{display:block;font-size:10px;color:#81907e;margin-top:8px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:23px;margin-bottom:24px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.section-head .eyebrow{font-size:8px;margin-bottom:5px}.text-link{color:var(--lime);font-size:10px;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:24px}.muted{color:var(--muted)}.lime-text{color:var(--lime)!important}.court{min-height:322px;position:relative;background:repeating-linear-gradient(0deg,transparent,transparent 39px,#5679410c 40px),#202e21;border:1px solid #47603d;border-radius:6px;overflow:hidden;padding:28px 18px 34px}.court:before{content:'';position:absolute;inset:18px 28px 26px;border:1px solid #6c815a55}.court:after{content:'';position:absolute;left:28px;right:28px;top:48%;border-top:1px solid #6c815a55;pointer-events:none}.court-net{position:absolute;top:0;left:0;right:0;height:19px;background:#293a29;text-align:center;font-size:7px;line-height:19px;color:#8eaa7d;border-bottom:2px dotted #59734b}.court-players{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:17px 12px}.court-slot{text-align:center;display:flex;flex-direction:column;align-items:center;font-size:10px;gap:3px}.court-slot.libero{grid-column:2}.jersey{display:grid;place-items:center;width:38px;height:39px;background:#2e412b;border:1px dashed #748763;color:#9ab78a;font-size:20px;border-radius:9px 9px 5px 5px}.jersey.filled{background:var(--lime);color:#283b1a;border:0;font-size:12px;font-weight:700;clip-path:polygon(18% 0,36% 0,40% 10%,60% 10%,64% 0,82% 0,100% 24%,83% 41%,78% 33%,78% 100%,22% 100%,22% 33%,17% 41%,0 24%)}.court-slot strong{font-size:10px;font-weight:500}.court-slot small{font-size:8px;color:#9caf90}.court-caption{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:6px;letter-spacing:.5px;color:#7f9771}.status{font-size:8px;color:#b9d49d;white-space:nowrap}.flow .muted{font-size:10px;margin-bottom:4px}.deadline{font-family:var(--display);font-size:26px}.deadline small{display:block;font:9px var(--body);color:#74836f;margin-top:4px}.steps{list-style:none;padding:0;margin:19px 0 20px}.steps li{display:flex;align-items:center;gap:11px;font-size:11px;color:#7e8b7d;position:relative;padding:8px 0}.steps li>span{width:22px;height:22px;border:1px solid #3e4a37;border-radius:50%;display:grid;place-items:center;font-size:9px}.steps .current{color:#e5efdb}.steps .current>span,.steps .done>span{background:var(--lime);color:#23321a;border-color:var(--lime)}.fine{color:#85927e;font-size:10px;line-height:1.65;margin-top:12px;margin-bottom:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;color:#7f8d7d;font-size:9px;letter-spacing:.5px;font-weight:400;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:16px 10px;border-bottom:1px solid #293127}tr:last-child td{border:0}td strong{font-size:11px;font-weight:500}.align-right{text-align:right}.rank{font-family:var(--display);color:#91a181;font-size:20px;width:42px}.team-icon{display:inline-grid;place-items:center;width:28px;height:28px;background:#2a3627;border:1px solid #3b4b33;border-radius:6px;font-size:9px;color:#acc092;margin-right:13px}.you{background:#c5f56c08}.you .rank,.you .score{color:var(--lime)}.you-tag{font-size:7px;color:var(--lime);margin-left:8px;border:1px solid #586c38;border-radius:3px;padding:2px 4px}.score{font:24px var(--display)}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0;color:#637460;align-items:center}footer>span{font:14px var(--display);white-space:nowrap}footer b{font:7px var(--body);margin-left:7px}footer p{font-size:8px;max-width:440px;text-align:right;margin:0}.page-title{padding:14px 0 22px}.page-title h1{font-size:49px}.page-title p{font-size:12px;color:var(--muted);max-width:680px}.title-dot{color:var(--lime)}.market-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.market-toolbar{display:flex;justify-content:space-between;gap:14px}.filters{display:flex;gap:4px}.filter{border:1px solid var(--line);background:#1e2820;border-radius:5px;padding:9px 12px;font-size:10px}.filter.active{background:var(--lime);color:#24341a;border-color:var(--lime)}#search{width:200px;font-size:11px;padding:9px}.player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px;margin-bottom:24px}.player-card{background:linear-gradient(155deg,#263327,#19221c 55%);border:1px solid #34402f;border-radius:9px;padding:16px;position:relative;overflow:hidden}.player-card.picked{border-color:#a7d35d}.player-card-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.player-card-top .tiny{font-size:6px}.position-badge{font-size:9px;border:1px solid #4a593d;border-radius:3px;padding:4px 6px;color:#bedb96}.player-avatar{position:relative;width:70px;height:70px;border-radius:50%;margin:19px auto 13px;display:grid;place-items:center;background:linear-gradient(135deg,#596e42,#2a3c29);color:#d8e9b4;font:32px var(--display);border:1px solid #687c4b;box-shadow:0 0 0 7px #7997520b}.player-avatar span{position:absolute;right:-6px;bottom:-1px;background:#253521;border:1px solid #668149;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font:7px var(--body)}.player-name>span{color:#9fad98;font-size:11px}.player-name small{font-size:9px;color:#7f9079}.player-data{border-top:1px solid #34402e;margin-top:14px;padding-top:13px;margin-bottom:14px;display:flex;justify-content:space-between;gap:5px}.player-data span{display:block;color:#7d8e75;font-size:8px;margin-bottom:5px}.player-data strong{font:20px var(--display)}.player-data small{font:7px var(--body);color:#94a684}.player-card .button{font-size:10px;padding:10px;min-height:36px}.squad-summary{position:sticky;top:24px;height:fit-content}.badge{font-size:9px;border:1px solid #3c4a33;border-radius:4px;padding:5px 8px;color:#b8cd9e}.requirements{margin:20px 0;padding-bottom:17px;border-bottom:1px solid var(--line)}.requirements>div,.selected-list>div{display:flex;justify-content:space-between;margin:12px 0;font-size:11px;color:#9baa90}.requirements strong{font-size:11px}.selected-list{font-size:11px;margin-bottom:20px}.selected-list strong{font-size:10px;font-weight:400;color:#d1ddc5}.budget-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:17px;gap:12px}.budget-row strong{font:27px var(--display)}.budget-row small{font:9px var(--body)}.scoring-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rule-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.rule-row small{display:block;color:#6e7f67;font-size:9px;margin-top:4px}.rule-row input{width:80px;padding:8px}.rule-row div>span{font-size:9px;color:#87977b;margin-left:9px}#rules-form .button{margin-top:20px}select{width:100%;margin-top:8px}.breakdown-total{font:66px var(--display);color:var(--lime);padding:21px 0}.breakdown-total span{font:9px var(--body);letter-spacing:1px;color:#9cac8f}.negative{color:#ffa497}.info-box{background:#202c1e;border:1px solid #3b4b30;border-radius:7px;color:#afc49e;padding:18px;font-size:12px;line-height:1.7;margin:20px 0 25px}.empty{text-align:center;padding:45px 20px;color:#8f9f84}.empty>span{font-size:42px;color:#9dc86d}.empty h3{font-size:25px;margin-top:15px}.empty p{font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#08120ee6;backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.onboarding{width:460px;max-width:100%;padding:38px;background:linear-gradient(135deg,#273723,#161f19);border:1px solid #536a3c;border-radius:16px;box-shadow:0 30px 100px #0008}.onboarding h1{font-size:52px;margin:16px 0}.onboarding>p{color:#a7b99a;font-size:12px}.onboarding .eyebrow{color:var(--lime);margin-top:20px}.onboarding label{display:block;font-size:11px;margin:25px 0 9px}.onboarding input{width:100%;margin-bottom:14px}.onboarding .fine{font-size:9px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;z-index:20;padding:16px 23px;border:1px solid #8bb054;border-radius:9px;background:#273b22;color:#e3f6d0;transition:.2s;font-size:12px;max-width:90%;box-shadow:0 10px 40px #0006;pointer-events:none}#toast.show{transform:translateX(-50%);opacity:1}#toast.error{background:#482b26;border-color:#bc7765;color:#ffe2d9}@media(min-width:1600px){.hero-art{right:8%}.hero{min-height:345px}.hero h1{font-size:69px}.hero-art{top:10px}.player-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1250px){.sidebar{width:210px;padding:28px 15px}.main-shell{margin-left:210px}main{padding:24px 24px 0}.topbar{padding:0 24px}.player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{gap:16px;grid-template-columns:minmax(0,1.25fr) minmax(285px,1fr)}.hero-art{right:-70px}.hero h1{font-size:55px}.metrics{gap:10px}.metrics article{padding:15px}.metric-note{font-size:9px}.market-toolbar{flex-wrap:wrap}#search{width:100%}.section-head{flex-wrap:wrap}.status{font-size:9px}}@media(max-width:980px){.sidebar{width:76px;padding:24px 10px}.brand{font-size:0;justify-content:center}.brand-symbol{font-size:32px;margin:0}.brand-light,.workspace-label,.side-bottom{display:none}.sidebar nav{margin-top:35px}.nav-item{font-size:0;justify-content:center;padding:14px}.nav-item span{font-size:22px}.nav-item i{display:none}.main-shell{margin-left:76px}.market-layout{grid-template-columns:minmax(0,1fr) 255px}.hero-art{right:-110px;opacity:.7}.hero-copy{max-width:70%}.dashboard-grid{grid-template-columns:1fr}.court{min-height:345px}.court-players{gap:20px}.scoring-grid{grid-template-columns:1fr}.metrics strong{font-size:31px}.metric-note{line-height:1.5}}@media(max-width:650px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:67px;border-top:1px solid var(--line);padding:4px 8px;background:#172018;z-index:5}.brand{display:none}.sidebar nav{margin:0;display:flex;justify-content:space-around}.nav-item{display:flex;flex-direction:column;gap:3px;padding:6px 8px;font-size:7px;margin:0;border-radius:6px}.nav-item span{font-size:22px;width:auto}.main-shell{margin-left:0}.topbar{height:62px;padding:0 18px;font-size:8px}.topright{gap:10px}.demo-pill{font-size:7px}.topbar .slash{margin:0 6px}main{padding:18px 16px 70px}.content-top{font-size:9px}.hero{padding:27px 23px;min-height:305px}.hero-copy{max-width:100%}.hero h1{font-size:49px}.hero-art{right:-215px;top:65px;opacity:.28}.hero p{max-width:250px;font-size:11px}.hero .eyebrow{font-size:7px}.hero-number{right:45px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metrics strong{font-size:34px}.metric-title{font-size:10px}.panel{padding:18px}.market-layout{display:flex;flex-direction:column}.squad-summary{position:static;order:-1}.squad-summary .requirements{display:grid;grid-template-columns:1fr 1fr;gap:3px 20px;margin:10px 0}.requirements>div{margin:5px 0;font-size:10px}.selected-list{display:none}.player-grid{gap:10px}.player-card{padding:12px}.player-name h3{font-size:26px}.player-data strong{font-size:18px}.filters{width:100%;justify-content:space-between}.filter{flex:1;padding:10px}.page-title h1{font-size:42px}.page-title p{font-size:11px}.court-caption{font-size:5px}.section-head h2{font-size:24px}footer{flex-direction:column;align-items:flex-start;gap:12px}footer p{text-align:left}.onboarding{padding:27px}.onboarding h1{font-size:46px}#toast{bottom:82px;width:calc(100% - 30px)}.rule-row div>span{font-size:8px}.rule-row input{width:65px}}
.mobile-reset{display:none}@media(max-width:980px){.mobile-reset{display:block;padding:0}}

/* Visual image & avatar enhancements */
.avatar.small{width:34px;height:34px;padding:2px;overflow:hidden;position:relative;background:#243224;border:1px solid #4a5c3e}
.avatar-img{width:100%;height:100%;object-fit:contain;display:block}
.avatar-fallback{display:none;font-size:10px;font-weight:700}
.team-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#1e291e;border:1px solid #3c4f34;border-radius:6px;margin-right:12px;vertical-align:middle;overflow:hidden;flex-shrink:0}
.team-icon-img{width:22px;height:22px;object-fit:contain;display:block}
.team-icon-fallback{display:none;font-size:9px;font-weight:700;color:var(--lime)}

.player-avatar{position:relative;width:82px;height:82px;border-radius:50%;margin:16px auto 12px;display:grid;place-items:center;background:radial-gradient(circle,#283a2b,#142017);color:#d8e9b4;font:32px var(--display);border:2px solid #5d7a46;box-shadow:0 0 0 5px #79975218;cursor:pointer;transition:transform .2s ease,border-color .2s ease}
.player-avatar:hover{transform:scale(1.06);border-color:var(--lime);box-shadow:0 0 12px #cbf76b44}
.player-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.player-avatar-fallback{display:none}

.court-slot .jersey.has-photo{background:#1a281c;border:1px solid var(--lime);clip-path:polygon(18% 0,36% 0,40% 10%,60% 10%,64% 0,82% 0,100% 24%,83% 41%,78% 33%,78% 100%,22% 100%,22% 33%,17% 41%,0 24%);position:relative}
.court-player-photo{width:100%;height:100%;object-fit:cover;display:block}
.court-player-initials{display:none}

.bench-player-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#243220;border:1px solid #394b2f;border-radius:5px;font-size:10px;cursor:pointer;transition:background .15s,border-color .15s}
.bench-player-pill:hover{background:#30432a;border-color:var(--lime)}
.bench-player-img{width:16px;height:16px;border-radius:50%;object-fit:cover}

.brand-crest{width:100%;max-width:460px;height:160px;margin:0 auto 28px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:transform .2s ease}
.brand-crest:hover{transform:scale(1.02)}
.brand-logo-img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 8px 24px rgba(0,0,0,0.65))}

.sidebar .brand{display:flex;align-items:center;justify-content:flex-start;width:100%;text-decoration:none;margin:0 0 6px;padding:0}
.sidebar-logo-img{width:100%;max-width:214px;height:84px;object-fit:contain;object-position:left center;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,0.55));transition:transform .2s ease}
.sidebar .brand:hover .sidebar-logo-img{transform:scale(1.03)}
.sidebar .workspace-label{font-size:9px;letter-spacing:1.8px;color:#69786c;margin:18px 8px 14px}

/* Modal & Dialog Scroll Locking */
html:has(dialog[open]),
body:has(dialog[open]),
html:has(.modal-backdrop),
body:has(.modal-backdrop),
html.modal-open,
body.modal-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: none;
}

dialog,
dialog[open],
.purchase-dialog,
.player-detail-dialog,
.land-picker-dialog,
.crest-creator-dialog,
.reset-dialog,
.logout-dialog,
.market-picker-dialog,
.info-modal-dialog,
.modal-backdrop,
.onboarding {
  overscroll-behavior: contain !important;
}

.reset-dialog,
.logout-dialog {
  width: min(680px, 95vw);
  padding: 32px;
  border-radius: 18px;
}

/* Player Detail Dialog */
.player-detail-dialog{color:var(--white);background:#121a15;border:1px solid #6b854e;border-radius:18px;padding:32px;width:min(900px,96vw);max-height:94dvh;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,0.85)}
.player-detail-dialog::backdrop{background:#050d0cdd;backdrop-filter:blur(8px)}
.player-modal-head{display:flex;align-items:center;gap:12px}
.player-modal-body{display:grid;grid-template-columns:180px 1fr;gap:28px;margin-top:20px;align-items:center}
.player-modal-avatar{width:160px;height:160px;border-radius:50%;border:3px solid #6b864d;background:radial-gradient(circle,#2a3d2c,#121d15);overflow:hidden;margin:auto;display:grid;place-items:center;box-shadow:0 10px 30px #000a}
.player-modal-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.player-status-tag{display:inline-block;font-size:11px;font-weight:600;padding:5px 10px;border-radius:5px;background:#232d20;border:1px solid #3d4f34;color:#9cb08f;margin:8px 0 12px}
.player-status-tag.picked-tag{background:#293d20;border-color:var(--lime);color:var(--lime);font-weight:700}
.player-stats-preview{background:#162019;border:1px solid #2f3e2d;border-radius:8px;padding:14px 16px;margin:14px 0}
.player-modal-actions{margin-top:20px}
@media(max-width:650px){.player-modal-body{grid-template-columns:1fr;text-align:center}.player-stats-preview{text-align:left}}

/* Info Modal (Footer Rules, Scoring, Contact, Terms, Privacy) */
.info-modal-dialog {
  color: var(--white);
  background: #111a14;
  border: 1px solid #4a6839;
  border-radius: 18px;
  padding: 30px 34px;
  width: min(720px, 94vw);
  max-height: 90vh;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.9);
  display: flex;
  flex-direction: column;
}
.info-modal-dialog::backdrop {
  background: #040907ea;
  backdrop-filter: blur(8px);
}
.info-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #273723;
}
.info-modal-title-wrap h2 {
  font-size: 24px;
  margin: 4px 0 0;
  color: #eef8e3;
  line-height: 1.2;
}
.info-modal-title-wrap .eyebrow {
  color: var(--lime);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.info-modal-body {
  flex: 1;
  overflow-y: auto;
  font-size: 14px;
  line-height: 1.65;
  color: #c9d8c5;
  padding-right: 6px;
  scrollbar-width: thin;
  scrollbar-color: #4a6839 #141c17;
}
.info-modal-body p {
  margin: 0 0 14px;
}
.info-modal-body p:last-child {
  margin-bottom: 0;
}
.info-modal-footer {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #273723;
  display: flex;
  justify-content: flex-end;
}
.info-modal-footer .button {
  min-height: 44px;
  font-size: 14px;
  font-weight: 700;
}
.info-contact-box {
  background: #18251b;
  border: 1px solid #3d5830;
  border-radius: 12px;
  padding: 18px 20px;
  margin: 18px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.info-contact-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8ea587;
}
.info-contact-email {
  font-size: 18px;
  font-weight: 700;
  color: var(--lime);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: 0.04em;
  user-select: all;
}

/* Club / Team Names always uppercase */
#team-name,
input[name="name"],
.onboarding-input#team-name,
.content-top span:last-child,
.team-icon + strong,
.dash-team-side strong,
.past-match-rival strong,
.landing-user-badge span,
.topbar-stat-val strong,
.table-wrap td strong,
.club-opponent,
.squad-summary strong,
.past-match-rival span strong,
.crest-preview-info strong {
  text-transform: uppercase;
}

/* Tactical Court & Market Picker Dialog Styles */
.market-court-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:24px;margin-top:8px}
.tactical-court-panel{padding:24px}
.tactical-summary{position:sticky;top:24px;height:fit-content}
.lime-badge{border-color:var(--lime)!important;color:var(--lime)!important;background:#24361e!important;font-weight:700}

/* Taller, authentic Volleyball Court on #team */
.court {
  min-height: 520px;
  position: relative;
  background: repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(86, 121, 65, 0.05) 40px), #202e21;
  border: 1px solid #47603d;
  border-radius: 8px;
  overflow: hidden;
  padding: 38px 20px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.court-net {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 22px;
  background: #293a29;
  text-align: center;
  font-size: 8px;
  line-height: 22px;
  font-weight: 700;
  letter-spacing: 3px;
  color: #8eaa7d;
  border-bottom: 2px dotted #59734b;
}
.court-players {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 16px;
  padding: 12px 0 22px;
}
.court-slot {
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 11px;
  gap: 5px;
}
.court-slot:hover {
  transform: scale(1.06);
  filter: drop-shadow(0 4px 12px rgba(203,247,107,0.35));
}
.court-slot strong {
  font-size: 11.5px;
  font-weight: 600;
}
.court-slot small {
  font-size: 9px;
  color: #9caf90;
}
.court-slot .jersey {
  width: 44px;
  height: 46px;
}
.bench-slot-item{cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.bench-slot-item:hover{transform:scale(1.05);border-color:var(--lime)}

/* Full-Body Market Picker Dialog */
.market-picker-dialog{color:var(--white);background:#121a15;border:1px solid #4a6839;border-radius:18px;padding:24px 30px;width:min(1380px,98vw);height:92vh;max-height:96vh;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,0.85);display:flex;flex-direction:column}
.market-picker-dialog::backdrop{background:#040907ea;backdrop-filter:blur(8px)}
.market-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #273723}
.market-modal-title-group h2{font-size:28px;margin:2px 0 4px;color:#eef8e3}
.market-modal-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.market-meta-pill{background:#182319;border:1px solid #33462b;border-radius:8px;padding:6px 12px;font-size:11px;color:#a6bca0;display:flex;align-items:center;gap:6px}
.market-meta-pill strong{font-size:13px;color:#eef8e3}
.market-modal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.market-modal-toolbar .filters{display:flex;flex-wrap:wrap;gap:6px}
.market-search-wrap{min-width:240px;flex:1;max-width:360px}
.market-search-wrap input{width:100%;padding:10px 14px;font-size:12px;background:#141c17;border:1px solid #33462b;border-radius:8px;color:#fff}
.market-modal-grid-wrap{flex:1;overflow-y:auto;padding-right:6px;margin:6px 0 14px;scrollbar-width:thin;scrollbar-color:#4a6839 #141c17}
.market-modal-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-top:10px}
.market-modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid #273723;flex-wrap:wrap;gap:12px}
.market-footer-info{display:flex;gap:16px;align-items:center;font-size:12px;color:#a1b69a}
.market-footer-info strong{color:#eef8e3}
.market-modal-footer .button{min-height:38px;padding:10px 22px}
.modal-slot-btn{padding:6px 10px;font-size:10px;font-weight:700;white-space:nowrap;min-height:34px}
.modal-toggle-btn{min-height:34px;font-size:11px}
@media(max-width:980px){.market-court-layout{grid-template-columns:1fr}.market-picker-dialog{padding:18px 16px;height:95vh}.market-modal-meta{width:100%;justify-content:space-between}}

/* Crest Creator Styles */
.crest-creator-widget{background:#151d18;border:1px solid #364835;border-radius:12px;padding:16px;margin-bottom:20px}
.crest-preview-section{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid #283727;margin-bottom:14px}
.crest-preview-container{width:92px;height:92px;flex-shrink:0;display:grid;place-items:center;background:radial-gradient(circle,#203120,#101912);border-radius:12px;border:1px solid #4a613f;padding:6px;box-shadow:0 4px 16px rgba(0,0,0,0.5);transition:transform .2s ease}
.crest-preview-container svg{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.4))}
.crest-preview-info{display:flex;flex-direction:column;gap:4px;flex:1}
.crest-preview-info strong{display:block;font-size:13px;color:#e5f2dc}
.crest-preview-info small{color:#8fa688;font-size:10px}
.crest-action-bar{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.crest-drawer-toggle-btn{display:inline-flex;align-items:center;gap:6px;background:#203120;border:1px solid #47623e;border-radius:6px;padding:6px 11px;font-size:11px;font-weight:600;color:var(--lime);cursor:pointer;transition:all .15s ease}
.crest-drawer-toggle-btn:hover{background:#2a422a;border-color:var(--lime)}
.crest-drawer-toggle-btn.expanded{background:#2a422a;border-color:var(--lime)}
.drawer-arrow-icon{font-size:9px;transition:transform .2s ease}
.crest-quick-random-btn{display:inline-flex;align-items:center;gap:5px;background:#18221b;border:1px solid #364934;border-radius:6px;padding:6px 10px;font-size:11px;color:#ccdcc9;cursor:pointer;transition:all .15s ease}
.crest-quick-random-btn:hover{background:#233527;border-color:#5c7b52;color:#fff}
.crest-drawer-body{padding-top:6px;animation:crestFadeIn .2s ease}
@keyframes crestFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.crest-section-title{display:block;font-size:11px;font-weight:700;color:var(--lime);margin-bottom:8px;text-transform:uppercase;letter-spacing:.8px}
.crest-presets-box{margin-bottom:16px}
.crest-presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:500px){.crest-presets-grid{grid-template-columns:repeat(2,1fr)}}
.crest-preset-btn{background:#1b261e;border:1px solid #364934;border-radius:6px;padding:8px 6px;font-size:10px;display:flex;align-items:center;gap:6px;color:#d2ded0;cursor:pointer;transition:all .15s ease;text-align:left}
.crest-preset-btn:hover{background:#253629;border-color:#5c7b52}
.crest-preset-btn.active{background:#2b402e;border-color:var(--lime);color:var(--lime);font-weight:700;box-shadow:0 0 10px rgba(203,247,107,0.2)}
.crest-preset-btn .preset-icon{font-size:14px}
.crest-controls-accordion{display:flex;flex-direction:column;gap:12px}
.crest-control-group{display:flex;flex-direction:column;gap:6px}
.crest-group-label{font-size:10px;font-weight:600;color:#9eb596;text-transform:uppercase;letter-spacing:.5px;margin:0!important}
.crest-chip-grid{display:flex;flex-wrap:wrap;gap:6px}
.crest-chip-btn{background:#18221b;border:1px solid #324431;border-radius:5px;padding:5px 10px;font-size:11px;color:#c0cfbe;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}
.crest-chip-btn:hover{background:#223226;border-color:#516b4c}
.crest-chip-btn.active{background:#2d4530;border-color:var(--lime);color:var(--lime);font-weight:700}
.crest-palette-swatches{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:2px}
.crest-swatch-btn{width:44px;height:32px;padding:2px;border-radius:7px;background:#162019;border:1.5px solid #364835;cursor:pointer;transition:all .15s ease;position:relative;display:inline-flex;align-items:center;justify-content:center}
.crest-swatch-btn:hover{transform:translateY(-2px) scale(1.06);border-color:#6a8c60;box-shadow:0 4px 12px rgba(0,0,0,0.4)}
.crest-swatch-btn.active{border:2px solid var(--lime);box-shadow:0 0 12px rgba(203,247,107,0.45);transform:translateY(-2px) scale(1.06)}
.swatch-body{width:100%;height:100%;border-radius:4px;overflow:hidden;display:flex;box-shadow:inset 0 0 3px rgba(0,0,0,0.5)}
.swatch-half{flex:1;height:100%}
.crest-custom-swatch-btn{border-style:dashed}
.custom-icon-overlay{position:absolute;font-size:12px;filter:drop-shadow(0 2px 4px #000)}
.crest-custom-pickers-row{display:flex;gap:14px;margin-top:10px;padding:10px 12px;background:#111813;border:1px solid #2a3a2a;border-radius:8px;flex-wrap:wrap;align-items:center}
.custom-color-field{display:flex;align-items:center;gap:8px;font-size:11px;color:#afc2ab}
.custom-color-field label{margin:0!important;font-size:11px;color:#a8baa5;font-weight:600}
.color-picker-wrap{display:inline-flex;align-items:center;gap:7px;background:#19231c;border:1px solid #364835;border-radius:6px;padding:3px 7px}
.crest-color-input{width:26px;height:26px;padding:0;border:none;border-radius:4px;cursor:pointer;background:none;-webkit-appearance:none;outline:none}
.crest-color-input::-webkit-color-swatch-wrapper{padding:0}
.crest-color-input::-webkit-color-swatch{border:1px solid rgba(255,255,255,0.3);border-radius:4px}
.color-hex-tag{font-family:monospace;font-size:11px;color:var(--lime);font-weight:700;letter-spacing:.5px}

/* Club Identity Panel Refinements */
.club-identity-facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#141d18;border:1px solid #2d3e2e;border-radius:9px;padding:13px;margin-bottom:15px}
@media(max-width:550px){.club-identity-facts-grid{grid-template-columns:1fr}}
.identity-fact-item{display:flex;flex-direction:column;gap:3px}
.identity-fact-label{font-size:9px;color:#8ba389;text-transform:uppercase;letter-spacing:.7px;font-weight:700}
.identity-fact-val{font-size:12px;color:#e6efe4;font-weight:500;word-break:break-word}
.club-motto-inline-form{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.club-motto-label{font-size:10px;color:#a4bda2;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.club-motto-input-group{display:flex;gap:8px;align-items:center}
.club-motto-input-group input{flex:1;min-width:0;padding:10px 12px;background:#111814;border:1px solid #374a38;border-radius:6px;color:#fff;font-size:12px}
.club-motto-input-group input:focus{border-color:var(--lime)}
.club-motto-save-btn{white-space:nowrap;flex-shrink:0;padding:10px 16px;min-height:39px;font-size:11px}
.club-crest-btn-row{margin-top:4px}

/* Interactive Game Map & Animated Markers */
.osm-zones-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.zone-legend-pill{font-size:11px;padding:6px 12px;border-radius:6px;font-weight:600;display:flex;align-items:center;gap:6px}
.zone-legend-pill small{font-size:9px;opacity:0.85;font-weight:normal}
.zone-legend-pill strong{font-size:11px}
.zone-legend-pill.zone-center{background:#2a230c;color:#ffd700;border:1px solid #775c12}
.zone-legend-pill.zone-mid{background:#102235;color:#93c5fd;border:1px solid #1e4976}
.zone-legend-pill.zone-outskirts{background:#162417;color:#caf76b;border:1px solid #3d6330}

.osm-land-map-wrapper{position:relative;border-radius:12px;overflow:hidden;border:1px solid #3d523a;box-shadow:0 8px 28px rgba(0,0,0,0.55);margin-bottom:12px}
.osm-land-map{width:100%;height:380px;background:#111a14}
.map-theme-switcher{position:absolute;top:10px;right:10px;z-index:1000;display:flex;gap:4px;background:rgba(14,22,17,0.92);backdrop-filter:blur(8px);padding:4px;border-radius:8px;border:1px solid #3c523a;box-shadow:0 4px 14px rgba(0,0,0,0.5)}
.map-theme-btn{background:transparent;border:1px solid transparent;color:#a7bfa3;padding:4px 8px;font-size:10px;font-weight:600;border-radius:5px;cursor:pointer;transition:all .15s ease}
.map-theme-btn:hover{background:#233526;color:#fff}
.map-theme-btn.active{background:#2a402d;color:var(--lime);border-color:var(--lime);box-shadow:0 0 8px rgba(203,247,107,0.3)}

/* 100% Free Open-Source OSM Tiles with Game Styles (No API key required) */
.game-tiles-stylized .leaflet-tile{filter:saturate(1.28) contrast(1.08) brightness(0.98) sepia(0.08)}
.game-tiles-dark .leaflet-tile{filter:invert(100%) hue-rotate(180deg) brightness(85%) contrast(120%) saturate(1.1)}
.game-tiles-osm .leaflet-tile{filter:saturate(1.05) contrast(1.02)}

/* Custom Leaflet Game Pin */
.game-marker-leaflet-container{background:none!important;border:none!important}
.game-map-marker{position:relative;width:44px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;pointer-events:auto;cursor:grab}
.game-marker-pin{width:36px;height:36px;background:linear-gradient(135deg,#d4f875,#89cc29);border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2.5px solid #142115;box-shadow:0 6px 16px rgba(0,0,0,0.6),inset 0 2px 4px rgba(255,255,255,0.7);display:flex;align-items:center;justify-content:center;z-index:3;animation:gamePinBounce 2.5s ease-in-out infinite}
.club-crest-marker .game-marker-pin{background:linear-gradient(135deg,#1f3624,#111c14);border-color:var(--lime);box-shadow:0 0 14px rgba(203,247,107,0.4)}
.marker-crest-img{width:24px;height:24px;object-fit:contain;transform:rotate(45deg);display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5))}
.game-marker-icon{transform:rotate(45deg);font-size:17px;display:block}
.game-marker-pulse{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:14px;height:6px;background:rgba(0,0,0,0.45);border-radius:50%;z-index:1}
.game-marker-radar{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:28px;height:14px;border:2px solid var(--lime);border-radius:50%;opacity:.8;z-index:1;animation:gameRadarPulse 2s ease-out infinite}
.game-marker-badge{position:absolute;top:-18px;background:#111a13;color:var(--lime);border:1px solid #4a6344;border-radius:4px;font-size:8px;font-weight:800;letter-spacing:.8px;padding:2px 6px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,0.5);z-index:4}

.land-picker-dialog{width:min(820px,95vw);max-height:94dvh}

@keyframes gamePinBounce{0%,100%{transform:translateY(0) rotate(-45deg)}50%{transform:translateY(-6px) rotate(-45deg)}}
@keyframes gameRadarPulse{0%{transform:translateX(-50%) scale(0.6);opacity:1}100%{transform:translateX(-50%) scale(2.2);opacity:0}}

/* Bench Court & Coach Slots */
.bench-court-box{background:#17221a;border:1px solid #2d3f2e;border-radius:8px;padding:12px 14px;margin-top:14px}
.bench-court-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bench-court-head .eyebrow{font-size:8px;margin:0}
.bench-court-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
@media(max-width:980px){.bench-court-grid{grid-template-columns:repeat(4,1fr);gap:8px}}
@media(max-width:480px){.bench-court-grid{grid-template-columns:repeat(4,1fr);gap:6px}}

.bench-slot-item{background:#111813;border:1px solid #2d3e2d;border-radius:7px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;cursor:pointer;transition:all .15s ease;position:relative;color:inherit;text-decoration:none}
.bench-slot-item:hover{background:#1f2e21;border-color:var(--lime);transform:translateY(-1px)}
.bench-slot-item.empty{border-style:dashed;border-color:#384d38;color:#7a8f76}
.bench-slot-item.empty:hover{border-color:var(--lime);color:var(--lime);background:#172418}
.bench-slot-item.coach-slot{background:linear-gradient(145deg,#1c261e,#111813);border-color:#485e46}
.bench-slot-item.coach-slot:hover{border-color:#8ca684}
.bench-slot-avatar{position:relative;width:34px;height:34px;border-radius:50%;background:#1d2a1f;border:1px solid #445940;display:grid;place-items:center;overflow:hidden}
.bench-slot-img{width:100%;height:100%;object-fit:cover;display:block}
.bench-slot-initials{display:none;font-size:10px;font-weight:700;color:var(--lime)}
.bench-slot-badge{position:absolute;right:-2px;bottom:-2px;background:#243622;border:1px solid #4e6b45;border-radius:3px;font-size:7px;font-weight:700;padding:1px 3px;color:var(--lime)}
.bench-slot-icon{font-size:16px;color:#738a70}
.bench-slot-item strong{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
.bench-slot-item small{font-size:8px;color:#8ba088}
.coach-avatar{background:radial-gradient(circle,#283a2b,#121d15);border-color:#65805e}
.coach-icon{font-size:16px}
.coach-tag{background:#2a3627;color:#bedb96;border-color:#4f6b45}
.coach-status{color:#9cb593!important;font-weight:600}

.staff-court-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px;
}
@media (max-width: 680px) {
  .staff-court-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}





/* Onboarding Screen 1 & Flow Refinements */
.onboarding {
  position: relative;
  width: 520px;
  max-width: 100%;
  padding: 36px 36px 28px;
  background: linear-gradient(145deg, #1b281d, #111a14 70%);
  border: 1px solid #364d34;
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0,0,0,0.75), 0 0 1px rgba(203,247,107,0.25);
  overflow: hidden;
}

.onboarding-bg-art {
  position: absolute;
  right: -30px;
  top: 10px;
  width: 260px;
  height: 260px;
  pointer-events: none;
  opacity: 0.055;
  z-index: 0;
}

.onboarding-logo-wrap {
  width: 100%;
  max-width: 420px;
  height: 150px;
  margin: 0 auto 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.onboarding-eyebrow {
  color: var(--lime);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  margin: 0 0 12px;
  position: relative;
  z-index: 1;
}

.onboarding-title {
  font-family: var(--display);
  font-size: 48px;
  line-height: 1.02;
  font-weight: 700;
  color: var(--white);
  margin: 0 0 14px;
  letter-spacing: -0.5px;
  position: relative;
  z-index: 1;
}

.onboarding-desc {
  color: #a2b79c;
  font-size: 13px;
  line-height: 1.55;
  margin: 0 0 22px;
  position: relative;
  z-index: 1;
}

.onboarding-budget-highlight {
  color: var(--lime);
  font-weight: 700;
}

.onboarding-form {
  position: relative;
  z-index: 1;
}

.onboarding-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #c4d7be;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.onboarding-input {
  width: 100%;
  height: 48px;
  background: #0e1611;
  border: 1px solid #2f4430;
  border-radius: 8px;
  color: var(--white);
  padding: 0 14px;
  font-size: 15px;
  font-family: var(--body);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.onboarding-input:focus {
  outline: none;
  border-color: var(--lime);
  box-shadow: 0 0 0 3px rgba(203, 247, 107, 0.18);
}

.onboarding-cta-wrap {
  margin-top: 18px;
}

.onboarding-submit-btn {
  width: 100%;
  min-height: 48px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.4px;
  border-radius: 8px;
  background: var(--lime);
  color: #172410;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.onboarding-submit-btn:hover {
  background: #dbff85;
}

.onboarding-cta-subtext {
  display: block;
  text-align: center;
  margin-top: 8px;
  font-size: 11px;
  color: #7b9477;
}

.onboarding-roadmap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid #243525;
  gap: 4px;
  position: relative;
  z-index: 1;
}

.roadmap-step {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.8px;
  color: #4b624a;
  text-transform: uppercase;
  white-space: nowrap;
}

.roadmap-step.active {
  color: var(--lime);
}

.roadmap-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2b3e2c;
  flex-shrink: 0;
}

.roadmap-step.active .roadmap-dot {
  background: var(--lime);
  box-shadow: 0 0 8px rgba(203, 247, 107, 0.6);
}

.roadmap-step.done {
  color: #8da488;
}

.roadmap-step.done .roadmap-dot {
  background: #8da488;
}

.roadmap-connector {
  flex: 1;
  height: 1px;
  background: #263828;
  min-width: 6px;
}

.roadmap-connector.active-connector {
  background: linear-gradient(90deg, var(--lime), #263828);
}

.onboarding-demo-info {
  text-align: center;
  margin-top: 14px;
  font-size: 10px;
  color: #556c52;
  letter-spacing: 0.2px;
  position: relative;
  z-index: 1;
}

@media (max-width: 540px) {
  .onboarding {
    padding: 24px 20px 20px;
  }
  .onboarding-title {
    font-size: 38px;
  }
  .roadmap-step {
    font-size: 7.5px;
    gap: 4px;
  }
}

/* ==================================================
   REPUTATION STAR SYMBOL (✦)
   ================================================== */
.rep-star-symbol {
  display: inline-block;
  color: inherit;
  font-size: 0.88em;
  line-height: 1;
  vertical-align: 0.04em;
  margin-right: 2px;
  filter: drop-shadow(0 0 4px currentColor);
}

/* ==================================================
   DASHBOARD REPUTATION PANEL (COMPACT REPUTATION)
   ================================================== */
.dashboard-rep-panel {
  background: linear-gradient(135deg, #18261c 0%, #111a14 100%);
  border: 1px solid #334832;
  border-radius: 12px;
  padding: 18px 24px;
  margin-bottom: 24px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
  position: relative;
  overflow: hidden;
  transition: border-color 0.25s ease;
}
.dashboard-rep-panel:hover {
  border-color: #496846;
}
.dash-rep-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.dash-rep-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.dash-rep-link {
  font-size: 11px;
  font-weight: 600;
  color: var(--lime);
  white-space: nowrap;
  transition: opacity 0.15s ease;
}
.dash-rep-link:hover {
  text-decoration: underline;
}
.dash-rep-body {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  gap: 28px;
  align-items: center;
}
.dash-rep-score-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dash-rep-value {
  font-family: var(--display);
  font-size: 42px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.5px;
}
.dash-rep-desc {
  font-size: 11px;
  color: #9cb296;
  line-height: 1.45;
  margin: 4px 0 0;
}
.dash-rep-scale-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dash-rep-bottom-note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  color: #7d967a;
}
.dash-rep-cta-btn {
  color: var(--lime);
  font-weight: 600;
  font-size: 10px;
  white-space: nowrap;
}
.dash-rep-cta-btn:hover {
  text-decoration: underline;
}
@media (max-width: 900px) {
  .dash-rep-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ==================================================
   DASHBOARD TEAM EVENTS & MATCHES PANEL
   ================================================== */
.dashboard-full-layout {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  gap: 24px;
  margin-bottom: 24px;
}

.team-events-panel {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
}

.dashboard-match-hero {
  background: linear-gradient(145deg, #1b281d, #121c15);
  border: 1px solid #3c5432;
  border-radius: 12px;
  padding: 18px 20px;
  position: relative;
  overflow: hidden;
}

.dash-match-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #283a24;
  padding-bottom: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
  gap: 8px;
}

.dash-match-arena {
  font-size: 11px;
  color: #9cb296;
  font-weight: 500;
}

.dash-match-teams-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}

.dash-team-side {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.dash-team-side.home {
  justify-content: flex-start;
}

.dash-team-side.away {
  justify-content: flex-end;
  text-align: right;
}

.dash-team-crest {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
}

.dash-team-side strong {
  font-size: 15px;
  color: #eef7e5;
  font-weight: 700;
  display: block;
}

.rival-tag {
  display: inline-block;
  font-size: 8px;
  color: #8fa08a;
  border: 1px solid #354931;
  border-radius: 4px;
  padding: 2px 6px;
  margin-top: 3px;
}

.dash-match-center {
  text-align: center;
  padding: 0 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.dash-match-vs {
  font-family: var(--display);
  font-size: 26px;
  font-weight: 700;
  color: #8fa486;
  letter-spacing: 2px;
}

.dash-match-score {
  font-family: var(--display);
  font-size: 32px;
  font-weight: 700;
  color: var(--lime);
  line-height: 1;
}

.dash-match-time {
  font-size: 10px;
  color: #9db593;
}

.dash-match-status-pill {
  font-size: 9px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.dash-match-status-pill.settled {
  background: #25391e;
  border: 1px solid #486937;
  color: var(--lime);
}

.dash-match-status-pill.live {
  background: #392b15;
  border: 1px solid #6b5327;
  color: #ffd27d;
}

.dash-sub-block {
  background: #141e17;
  border: 1px solid #283925;
  border-radius: 10px;
  padding: 14px 16px;
}

.dash-sub-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.dash-recent-matches-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}

.dash-past-match-card {
  background: #19251c;
  border: 1px solid #2f442d;
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dash-past-match-card.win {
  border-color: #4f743c;
  background: linear-gradient(135deg, #1b2a1e, #141f17);
}

.dash-past-match-card.loss {
  border-color: #4d2f2f;
  background: linear-gradient(135deg, #221818, #181212);
}

.past-match-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
}

.past-match-round {
  color: #9cb296;
  font-weight: 600;
}

.past-match-badge {
  font-size: 8.5px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
}

.past-match-badge.win {
  background: #243a1e;
  border: 1px solid #4a6f36;
  color: var(--lime);
}

.past-match-badge.loss {
  background: #361c1c;
  border: 1px solid #663131;
  color: #ff9b9b;
}

.past-match-badge.draw {
  background: #272c23;
  border: 1px solid #4a5444;
  color: #d1d8cb;
}

.past-match-body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.past-match-rival {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #d8e5d2;
  min-width: 0;
}

.past-match-crest {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.past-match-score strong {
  font-family: var(--display);
  font-size: 16px;
  color: var(--lime);
}

.past-match-score span {
  font-size: 11px;
  color: #8ea387;
}

.dash-event-feed {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dash-event-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  background: #18241b;
  border: 1px solid #2d3f2c;
  border-radius: 6px;
  transition: background 0.15s ease;
}

.dash-event-row:hover {
  background: #1f2f23;
}

.dash-event-icon {
  font-size: 18px;
  flex-shrink: 0;
}

.dash-event-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dash-event-info strong {
  font-size: 12px;
  color: #e4f0dc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dash-event-info small {
  font-size: 10px;
  color: #8fa588;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dash-event-badge {
  font-size: 9px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  background: #202e21;
  border: 1px solid #374b34;
  color: #a8bf9f;
  white-space: nowrap;
}

.dash-event-badge.positive {
  background: #24391e;
  border-color: #4b7038;
  color: var(--lime);
}

.dash-shortcuts-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.dash-quick-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #18241b;
  border: 1px solid #334830;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: all 0.15s ease;
}

.dash-quick-btn:hover {
  background: #223525;
  border-color: var(--lime);
  transform: translateY(-2px);
}

.dash-quick-btn span:first-child {
  font-size: 20px;
}

.dash-quick-btn div {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.dash-quick-btn strong {
  font-size: 12px;
  color: #edf8e4;
}

.dash-quick-btn small {
  font-size: 9.5px;
  color: #8ea588;
}

.dash-quick-btn .arrow {
  color: var(--lime);
  font-size: 14px;
}

.sim-sidebar-btn {
  background: var(--lime) !important;
  color: #15220f !important;
  font-weight: 700;
  letter-spacing: 0.3px;
  border: 1px solid #d4fa7c !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.sim-sidebar-btn:hover:not(:disabled) {
  background: #dcff85 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(203, 247, 107, 0.4) !important;
}

dialog.simulation-flow-dialog {
  background: #111a14;
  border: 1px solid #3c5432;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.85);
  color: var(--white);
}

dialog.simulation-flow-dialog::backdrop {
  background: rgba(8, 18, 14, 0.85);
  backdrop-filter: blur(10px);
}

@media (max-width: 900px) {
  .dash-shortcuts-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .dash-shortcuts-bar {
    grid-template-columns: 1fr;
  }
  .dash-match-teams-row {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 10px;
  }
  .dash-team-side, .dash-team-side.away {
    justify-content: center;
    text-align: center;
  }
}

/* ==================================================
   NEW PUBLIC LANDING PAGE (HOME)
   ================================================== */
.landing-shell {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #09100c radial-gradient(circle at 18% 10%, rgba(255, 145, 0, 0.08) 0%, rgba(255, 195, 50, 0.03) 30%, transparent 60%), radial-gradient(circle at 85% 25%, rgba(203, 247, 107, 0.06) 0%, transparent 55%), radial-gradient(circle at 50% 88%, rgba(255, 125, 0, 0.07) 0%, transparent 65%);
  color: var(--white);
  font-family: var(--body);
  overflow-x: hidden;
}

.landing-nav {
  padding: 26px 40px 14px;
  position: relative;
  z-index: 10;
  flex-shrink: 0;
}
.landing-nav-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.landing-logo,
.landing-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.landing-logo:hover,
.landing-logo-link:hover {
  transform: scale(1.02);
}
.landing-logo img,
.landing-logo-img {
  height: 64px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.6));
}
.landing-nav-menu {
  display: flex;
  align-items: center;
  gap: 18px;
}
.landing-user-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  color: #bad3b2;
  background: #19271d;
  border: 1px solid #364d36;
  padding: 4px 12px 4px 6px;
  border-radius: 20px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
.landing-user-badge:hover {
  background: #233729;
  border-color: var(--lime);
  color: #ffffff;
  box-shadow: 0 0 14px rgba(203, 247, 107, 0.25);
  transform: translateY(-1px);
}
.landing-user-badge:active {
  transform: translateY(0);
}
.landing-user-crest {
  width: 20px;
  height: 20px;
  object-fit: contain;
  border-radius: 50%;
  flex-shrink: 0;
}
.landing-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 8px var(--lime);
}
.landing-login-link {
  font-size: 13px;
  font-weight: 600;
  color: #c4d7be;
  text-decoration: none;
  padding: 8px 14px;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.landing-login-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}
.landing-cta-btn {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  padding: 10px 20px;
  min-height: 40px;
}
.landing-logout-btn {
  font-size: 12px;
  font-weight: 600;
  padding: 8px 14px;
  min-height: 38px;
  border-radius: 6px;
  color: #9cb29b;
  border: 1px solid #334435;
  background: #19251c;
}
.landing-logout-btn:hover {
  background: #253629;
  color: #ffffff;
  border-color: #4a634e;
}

.landing-main {
  width: 100%;
  max-width: none; /* nie dziedzicz globalnego main{max-width:1500px} z widoków aplikacji */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  margin: 0 auto;
  box-sizing: border-box;
}

.landing-hero-section {
  width: 100%;
  min-height: calc(100dvh - 105px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 40px 56px;
  box-sizing: border-box;
}
.landing-hero-card {
  position: relative;
  background: #d1f587;
  border-radius: 24px;
  color: #1c301e;
  max-width: 1440px;
  width: 100%;
  min-height: 720px;
  padding: 68px 74px;
  overflow: hidden;
  box-shadow: 0 30px 85px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.landing-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(420px, 1fr);
  gap: 50px;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 2;
}
.landing-hero-copy {
  max-width: 660px;
}
.landing-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 700;
  color: #3b5e2a;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.landing-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffffff 25%, #ffb830 55%, #ff7700 100%);
  box-shadow: 0 0 8px #ff9d00, 0 0 16px rgba(255, 140, 0, 0.6);
  animation: liveDotPulse 2s infinite ease-in-out;
}
@keyframes liveDotPulse {
  0%, 100% { opacity: 0.4; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.2); }
}
.landing-headline {
  font-family: var(--display);
  font-size: clamp(62px, 5.6vw, 88px);
  line-height: 0.93;
  font-weight: 800;
  letter-spacing: -1.8px;
  color: #1a2d1b;
  margin: 0 0 22px;
}
.landing-headline em {
  font-style: normal;
  color: #426930;
}
.landing-desc {
  font-size: 18px;
  line-height: 1.6;
  color: #384e31;
  font-weight: 500;
  margin: 0 0 34px;
  max-width: 560px;
}
.landing-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.landing-hero-cta {
  background: #1e331f;
  color: #f1f9e2;
  font-size: 14px;
  font-weight: 700;
  padding: 15px 30px;
  min-height: 50px;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(22, 38, 23, 0.35);
  transition: all 0.2s ease;
}
.landing-hero-cta:hover {
  background: #142415;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(22, 38, 23, 0.45);
}
.landing-hero-sec {
  background: rgba(30, 51, 31, 0.08);
  border: 1.5px solid #436233;
  color: #1e331f;
  font-size: 13px;
  font-weight: 700;
  padding: 13px 24px;
  min-height: 50px;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.landing-hero-sec:hover {
  background: rgba(30, 51, 31, 0.16);
  border-color: #1e331f;
  transform: translateY(-2px);
}
.landing-note-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(32, 54, 30, 0.09);
  border: 1px solid rgba(32, 54, 30, 0.18);
  border-radius: 20px;
  padding: 7px 16px;
  font-size: 12px;
  color: #304729;
  font-weight: 600;
}

/* Landing Hero Visual Art */
.landing-hero-art {
  position: relative;
  height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.landing-orbits-wrap {
  position: absolute;
  inset: 0;
}
.landing-orbit {
  position: absolute;
  border: 1.5px solid #a6c669;
  border-radius: 50%;
  pointer-events: none;
}
.landing-orbit-one {
  width: 500px;
  height: 500px;
  top: 10px;
  right: 20px;
  transform: rotate(-25deg) scaleX(0.68);
  animation: slowOrbit 28s infinite linear;
}
.landing-orbit-two {
  width: 600px;
  height: 600px;
  top: -40px;
  right: -50px;
  transform: rotate(35deg) scaleX(0.72);
  border: 1.5px solid rgba(255, 185, 55, 0.7);
  box-shadow: 0 0 16px rgba(255, 140, 0, 0.22);
  opacity: 0.9;
  animation: slowOrbitReverse 36s infinite linear;
}
.landing-orbit-three {
  width: 440px;
  height: 440px;
  top: 40px;
  right: 40px;
  transform: rotate(80deg) scaleX(0.6);
  opacity: 0.45;
}

.landing-volleyball {
  position: absolute;
  width: 270px;
  height: 270px;
  right: 120px;
  top: 125px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, #fbffe8, #d9e4b0 42%, #92a861 83%);
  box-shadow: 28px 32px 48px rgba(70, 95, 45, 0.38), inset -16px -18px 28px rgba(95, 125, 55, 0.45);
  transform: rotate(-32deg);
  overflow: hidden;
  border: 1.5px solid #d4e2ae;
  animation: gentleFloat 6s infinite ease-in-out;
}
.landing-volleyball:before,
.landing-volleyball:after,
.landing-volleyball span,
.landing-volleyball i {
  content: '';
  position: absolute;
  border: 2px solid #59783f;
  border-radius: 48%;
  width: 290px;
  height: 210px;
  left: -70px;
  top: -50px;
  transform: rotate(20deg);
  box-shadow: 0 9px 0 -7px #59783f, 0 22px 0 -20px #59783f;
}
.landing-volleyball:after {
  transform: rotate(125deg);
  top: 110px;
  left: 60px;
}
.landing-volleyball span {
  transform: rotate(-38deg);
  left: -150px;
  top: 130px;
}
.landing-volleyball i {
  transform: rotate(80deg);
  left: 75px;
  top: -105px;
}

/* White Dwarf / Cosmic Nova Star from VolleyRise Logo */
.landing-star-burst {
  position: absolute;
  width: 280px;
  height: 280px;
  top: 30px;
  right: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 3;
  animation: starPulse 5s infinite ease-in-out;
}

.stellar-corona {
  position: absolute;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0%, rgba(255, 220, 100, 0.8) 20%, rgba(255, 140, 0, 0.5) 45%, rgba(210, 70, 0, 0.18) 65%, transparent 78%);
  filter: blur(8px);
}

.stellar-core {
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 10px #ffffff, 0 0 24px #ffc04d, 0 0 45px #ff7b00, 0 0 75px #e65100;
  z-index: 4;
}

.stellar-flare-h {
  position: absolute;
  width: 380px;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 120, 0, 0.2) 15%, rgba(255, 190, 50, 0.85) 45%, #ffffff 50%, rgba(255, 190, 50, 0.85) 55%, rgba(255, 120, 0, 0.2) 85%, transparent 100%);
  filter: drop-shadow(0 0 6px rgba(255, 160, 0, 0.85));
  z-index: 3;
}

.stellar-flare-v {
  position: absolute;
  width: 3px;
  height: 280px;
  background: linear-gradient(0deg, transparent 0%, rgba(255, 120, 0, 0.2) 15%, rgba(255, 190, 50, 0.85) 45%, #ffffff 50%, rgba(255, 190, 50, 0.85) 55%, rgba(255, 120, 0, 0.2) 85%, transparent 100%);
  filter: drop-shadow(0 0 6px rgba(255, 160, 0, 0.85));
  z-index: 3;
}

.stellar-flare-d1 {
  position: absolute;
  width: 180px;
  height: 2px;
  transform: rotate(45deg);
  background: linear-gradient(90deg, transparent, rgba(255, 180, 50, 0.75) 45%, #ffffff 50%, rgba(255, 180, 50, 0.75) 55%, transparent);
  z-index: 2;
  opacity: 0.85;
}

.stellar-flare-d2 {
  position: absolute;
  width: 180px;
  height: 2px;
  transform: rotate(-45deg);
  background: linear-gradient(90deg, transparent, rgba(255, 180, 50, 0.75) 45%, #ffffff 50%, rgba(255, 180, 50, 0.75) 55%, transparent);
  z-index: 2;
  opacity: 0.85;
}

.landing-art-label {
  position: absolute;
  bottom: 70px;
  right: 0;
  font: 36px/0.92 var(--display);
  font-weight: 800;
  transform: rotate(-90deg);
  color: #557834;
  letter-spacing: -0.5px;
}
.landing-art-label span {
  display: block;
  font: 9px var(--body);
  letter-spacing: 2px;
  margin-top: 10px;
  color: #46652a;
}

.landing-hero-number {
  position: absolute;
  font-family: var(--display);
  font-weight: 800;
  color: #bddb77;
  opacity: 0.35;
  line-height: 1;
  pointer-events: none;
}
.num-primary {
  font-size: 190px;
  right: 320px;
  bottom: -35px;
}
.num-secondary {
  font-size: 130px;
  left: 20px;
  top: -20px;
  opacity: 0.2;
}

@media (max-width: 1100px) {
  .landing-hero-card {
    padding: 54px 44px;
    min-height: auto;
  }
  .landing-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .landing-hero-art {
    height: 400px;
  }
}

@media (max-width: 680px) {
  .landing-nav {
    padding: 16px 20px 8px;
  }
  .landing-main {
    padding: 8px 16px 36px;
    min-height: calc(100dvh - 80px);
  }
  .landing-hero-card {
    padding: 38px 24px;
    border-radius: 18px;
  }
  .landing-headline {
    font-size: 46px;
  }
  .landing-desc {
    font-size: 15px;
  }
  .landing-hero-art {
    height: 300px;
    transform: scale(0.78);
  }
}

/* Animations */
@keyframes slowOrbit {
  0% { transform: rotate(-25deg) scaleX(0.68); }
  50% { transform: rotate(155deg) scaleX(0.68); }
  100% { transform: rotate(335deg) scaleX(0.68); }
}
@keyframes slowOrbitReverse {
  0% { transform: rotate(35deg) scaleX(0.72); }
  50% { transform: rotate(-145deg) scaleX(0.72); }
  100% { transform: rotate(-325deg) scaleX(0.72); }
}
@keyframes gentleFloat {
  0%, 100% { transform: rotate(-32deg) translateY(0); }
  50% { transform: rotate(-30deg) translateY(-8px); }
}
@keyframes starPulse {
  0%, 100% { opacity: 0.5; transform: scale(0.95); }
  50% { opacity: 0.9; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .landing-orbit-one,
  .landing-orbit-two,
  .landing-volleyball,
  .landing-star-burst,
  .landing-live-dot {
    animation: none !important;
  }
}

/* ==================================================
   VOLLEYRISE LANDING EDITORIAL FINALE & FOOTER
   ================================================== */
.landing-footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  position: relative !important;
  width: 100% !important;
  min-height: 100vh !important;
  background: radial-gradient(circle at 50% 15%, #0c150e 0%, #060907 65%, #040605 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
  padding: 60px 0 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.landing-footer-container {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  min-height: calc(100vh - 60px);
  z-index: 2;
  box-sizing: border-box;
}

/* Background watermark text */
.landing-footer-bg-watermark {
  position: absolute;
  top: 28%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--display);
  font-size: clamp(90px, 15vw, 210px);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  opacity: 0.032;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}

/* Atmospheric subtle orbits & star glow */
.landing-footer-orbits {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}

.footer-orbit-ring {
  position: absolute;
  width: 680px;
  height: 680px;
  left: 50%;
  top: 25%;
  transform: translate(-50%, -50%) rotate(-18deg) scaleX(0.72);
  border: 1.5px solid rgba(255, 185, 55, 0.14);
  border-radius: 50%;
  animation: slowOrbit 45s infinite linear;
}

.footer-stellar-flare {
  position: absolute;
  width: min(880px, 92vw);
  height: 2px;
  left: 50%;
  top: 24%;
  transform: translate(-50%, -50%);
  background: linear-gradient(90deg, transparent 0%, rgba(255, 120, 0, 0.25) 25%, rgba(255, 210, 80, 0.85) 48%, #ffffff 50%, rgba(255, 210, 80, 0.85) 52%, rgba(255, 120, 0, 0.25) 75%, transparent 100%);
  box-shadow: 0 0 14px rgba(255, 165, 30, 0.7);
  pointer-events: none;
  opacity: 0.8;
}

.footer-star-glow {
  position: absolute;
  width: 460px;
  height: 340px;
  left: 50%;
  top: 24%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.7) 0%, rgba(255, 205, 70, 0.42) 20%, rgba(255, 130, 0, 0.24) 42%, rgba(200, 70, 0, 0.08) 65%, transparent 80%);
  filter: blur(28px);
  pointer-events: none;
  animation: starPulse 6s infinite ease-in-out;
}

/* Main Content */
.landing-footer-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  flex: 1;
  margin: auto 0;
}

.landing-footer-logo-wrap {
  margin-bottom: 24px;
}

.landing-footer-logo-link {
  display: inline-block;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-footer-logo-link:hover {
  transform: scale(1.06);
}

.landing-footer-brand-logo {
  height: 72px;
  width: auto;
  max-width: 260px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.5));
}

/* Big condensed headline */
.landing-footer-headline {
  font-family: var(--display);
  font-size: clamp(38px, 6.2vw, 76px);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 0.95;
  text-transform: uppercase;
  margin: 0 0 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.landing-footer-headline-white {
  color: #eff5ee;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.65);
}

.landing-footer-headline-accent {
  color: var(--lime);
  background: linear-gradient(135deg, #d8ff68 0%, #bbf048 38%, #ffcb42 75%, #ff8c1a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 16px rgba(255, 175, 40, 0.3));
}

/* CTA */
.landing-footer-cta-wrap {
  margin-bottom: 46px;
}

.landing-footer-cta-btn {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 13px 30px;
  min-height: 48px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--lime);
  color: #122214;
  text-decoration: none;
  box-shadow: 0 6px 22px rgba(184, 242, 68, 0.32);
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-footer-cta-btn:hover {
  transform: translateY(-2px);
  background: #c5fb5a;
  box-shadow: 0 10px 30px rgba(184, 242, 68, 0.44);
}

.landing-footer-cta-btn .cta-arrow {
  display: inline-block;
  transition: transform 0.2s ease;
  font-weight: 800;
}

.landing-footer-cta-btn:hover .cta-arrow {
  transform: translateX(5px);
}

/* Single minimalist row of links */
.landing-footer-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 44px;
  font-size: 13px;
  font-weight: 500;
}

.landing-footer-nav-link {
  color: #8ea589;
  text-decoration: none;
  padding: 4px 6px;
  border-radius: 4px;
  transition: color 0.18s ease, transform 0.18s ease;
}

.landing-footer-nav-link:hover {
  color: var(--lime);
  transform: translateY(-1px);
}

.landing-footer-nav-link.discord-nav-link {
  color: #a4be9e;
  font-weight: 600;
}

.landing-footer-nav-link.discord-nav-link:hover {
  color: #5865F2;
}

.landing-footer-nav-dot {
  color: rgba(142, 165, 137, 0.32);
  user-select: none;
}

/* Bottom Bar */
.landing-footer-bottom-bar {
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding-top: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.landing-footer-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 12px;
}

.landing-footer-copyright {
  font-weight: 500;
  color: #7b9477;
}

.landing-footer-season {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #a2c49e;
}

.landing-footer-disclaimer {
  font-size: 11px;
  color: #576c54;
  text-align: center;
  letter-spacing: 0.02em;
}

/* In-game app minimal footer */
.app-subpage-footer {
  width: 100%;
  padding: 16px 24px;
  margin-top: 28px;
  border-top: 1px solid #141c27;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
}

.app-subpage-footer .fine {
  color: #798f76;
  font-size: 11px;
}

/* ==================================================
   FULL WIDTH FOOTER CREDIT BAND (DOBRUK.PL)
   ================================================== */
.footer-credit-band {
  width: 100%;
  background: linear-gradient(90deg, #050a07, #08120b 50%, #050a07);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer-credit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem 0.8rem;
  min-height: 48px;
  padding: 0.75rem 0;
  color: rgba(190, 198, 190, 0.48);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
  text-align: center;
}

.footer-credit-theme {
  flex: 0 0 100%;
  color: rgba(203, 247, 107, 0.85);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 2px;
}

.footer-credit-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.footer-credit a {
  color: rgba(218, 223, 216, 0.75);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.footer-credit a:hover,
.footer-credit a:focus-visible {
  color: var(--lime);
  text-decoration: underline;
}

/* Responsive Styles */
@media (max-width: 860px) {
  .landing-footer {
    padding: 70px 0 0;
  }
  .landing-footer-container {
    padding: 0 20px 48px;
  }
  .landing-footer-headline {
    font-size: clamp(30px, 8.5vw, 48px);
    margin-bottom: 26px;
  }
  .landing-footer-cta-wrap {
    margin-bottom: 34px;
  }
  .landing-footer-nav {
    gap: 8px 12px;
    margin-bottom: 32px;
  }
  .landing-footer-bottom-row {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  .landing-footer-bg-watermark {
    font-size: clamp(60px, 16vw, 110px);
    top: 24%;
  }
  .footer-orbit-ring {
    width: 440px;
    height: 440px;
  }
}

@media (max-width: 800px) {
  .footer-credit {
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.3rem;
    padding: 0.8rem 1.2rem;
    text-align: left;
  }
  .footer-credit-theme {
    text-align: left;
    margin-bottom: 0.15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-orbit-ring,
  .footer-star-glow,
  .landing-footer-cta-btn .cta-arrow {
    animation: none !important;
    transition: none !important;
  }
}

/* ==================================================
   FINANCIAL ANALYTICS & INCOME/EXPENSE CHART
   ================================================== */
.financial-analytics-card {
  background: linear-gradient(145deg, #16221a 0%, #101913 60%, #0d1510 100%) !important;
  border: 1px solid #3c5437 !important;
  border-radius: 14px !important;
  padding: 26px 28px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}

.fin-analytics-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

.fin-title-group {
  flex: 1;
  min-width: 280px;
}

.fin-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 6px;
}

.fin-live-glow {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ffb830;
  box-shadow: 0 0 10px #ff9500;
  animation: liveDotPulse 2s infinite ease-in-out;
}

.fin-title-group h2 {
  font-size: 26px;
  margin: 0;
  color: #eff7ec;
}

.fin-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 12px;
  flex: 1.4;
  min-width: 320px;
}

.fin-kpi-item {
  background: #19271e;
  border: 1px solid #2e432c;
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.fin-kpi-item:hover {
  transform: translateY(-2px);
  border-color: #4f6e49;
}

.fin-kpi-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #92a88f;
}

.fin-kpi-val {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  margin: 2px 0;
}

.fin-kpi-val small {
  font-size: 11px;
  font-family: var(--body);
  font-weight: 500;
  color: #9bb198;
}

.fin-kpi-sub {
  font-size: 9.5px;
  color: #7b9177;
}

.text-income {
  color: #bbf048 !important;
}

.text-expense {
  color: #ff6b6b !important;
}

.text-net {
  color: #38bdf8 !important;
}

.text-forecast {
  color: #facc15 !important;
}

/* SVG Chart Container */
.fin-chart-container {
  background: #111a14;
  border: 1px solid #283a27;
  border-radius: 10px;
  padding: 18px 20px 14px;
  margin-bottom: 20px;
  position: relative;
}

.fin-chart-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  font-size: 11px;
  color: #a4bea1;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
}

.dot-income {
  background: linear-gradient(135deg, #d8ff68, #059669);
  box-shadow: 0 0 6px rgba(187, 240, 72, 0.4);
}

.dot-expense {
  background: linear-gradient(135deg, #ff7b72, #dc2626);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.4);
}

.legend-line.line-balance {
  width: 18px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, #38bdf8, #c084fc);
  box-shadow: 0 0 6px rgba(56, 189, 248, 0.5);
}

.fin-chart-svg-wrap {
  width: 100%;
  height: 230px;
  position: relative;
}

.fin-chart-group {
  cursor: pointer;
}

.fin-chart-group:hover .fin-col-hover-rect {
  fill: rgba(203, 247, 107, 0.05);
}

.fin-chart-group:hover .fin-bar {
  filter: brightness(1.2) drop-shadow(0 0 8px rgba(255, 255, 255, 0.3));
}

.fin-bar {
  transition: all 0.2s ease;
}

.fin-projected {
  stroke: rgba(255, 255, 255, 0.4);
  stroke-dasharray: 2,2;
  stroke-width: 1;
}

.fin-balance-node circle {
  transition: transform 0.2s ease, r 0.2s ease;
}

.fin-balance-node:hover circle {
  r: 6;
  fill: #ffffff;
}

/* Category Grid */
.fin-categories-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.fin-cat-card {
  background: #16241b;
  border: 1px solid #2e432d;
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: border-color 0.15s ease;
}

.fin-cat-card:hover {
  border-color: #4a6839;
}

.fin-cat-icon {
  font-size: 22px;
  line-height: 1;
}

.fin-cat-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.fin-cat-name {
  font-size: 10px;
  color: #92a98f;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.fin-cat-amount {
  font-family: var(--display);
  font-size: 16px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .fin-kpi-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .fin-categories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {
  .financial-analytics-card {
    padding: 18px 16px !important;
  }
  .fin-kpi-strip {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .fin-categories-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* Standings Podium Styles - Compact Edition */
.standings-podium-wrap {
  background: linear-gradient(180deg, #131c15 0%, #0d140f 100%);
  border: 1px solid #283a25;
  border-radius: 14px;
  padding: 14px 18px 12px;
  margin-bottom: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.podium-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid #1e2c1c;
}

.podium-round-pill {
  background: #172319;
  border: 1px solid #31462a;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  color: #9cb396;
}

.podium-grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr 1fr;
  gap: 12px;
  align-items: flex-end;
}

.podium-card {
  position: relative;
  background: #131b15;
  border: 1px solid #283a25;
  border-radius: 12px;
  padding: 12px 12px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.15s ease, border-color 0.15s ease;
  overflow: hidden;
}

.podium-card:hover {
  transform: translateY(-2px);
}

/* Gold - 1st Place */
.podium-card.gold {
  border-color: rgba(245, 185, 39, 0.5);
  background: linear-gradient(180deg, rgba(245, 185, 39, 0.08) 0%, #151e17 38%, #101711 100%);
  box-shadow: 0 6px 24px rgba(245, 185, 39, 0.12);
}

.podium-card.gold:hover {
  border-color: #f5b927;
}

/* Silver - 2nd Place */
.podium-card.silver {
  border-color: rgba(200, 214, 229, 0.4);
  background: linear-gradient(180deg, rgba(200, 214, 229, 0.05) 0%, #131b14 38%, #101711 100%);
}

.podium-card.silver:hover {
  border-color: #c8d6e5;
}

/* Bronze - 3rd Place */
.podium-card.bronze {
  border-color: rgba(211, 140, 91, 0.4);
  background: linear-gradient(180deg, rgba(211, 140, 91, 0.05) 0%, #131b14 38%, #101711 100%);
}

.podium-card.bronze:hover {
  border-color: #d38c5b;
}

.podium-card.is-you {
  outline: 2px solid var(--lime);
  outline-offset: -1px;
}

.podium-card-top {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.podium-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  border-radius: 5px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.podium-badge.gold {
  background: rgba(245, 185, 39, 0.18);
  border: 1px solid rgba(245, 185, 39, 0.4);
  color: #ffd056;
}

.podium-badge.silver {
  background: rgba(200, 214, 229, 0.14);
  border: 1px solid rgba(200, 214, 229, 0.32);
  color: #e2eaf2;
}

.podium-badge.bronze {
  background: rgba(211, 140, 91, 0.14);
  border: 1px solid rgba(211, 140, 91, 0.32);
  color: #e8a97f;
}

.podium-badge-medal {
  font-size: 11px;
  line-height: 1;
}

.podium-tier-tag {
  font-size: 9px;
  color: #8fa588;
  font-weight: 600;
  text-transform: uppercase;
}

.podium-avatar-wrap {
  position: relative;
  width: 48px;
  height: 48px;
  margin: 2px auto 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.podium-card.gold .podium-avatar-wrap {
  width: 56px;
  height: 56px;
}

.podium-crest {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.55));
  position: relative;
  z-index: 2;
}

.podium-halo {
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  z-index: 1;
  opacity: 0.55;
}

.podium-halo.gold {
  background: radial-gradient(circle, rgba(245, 185, 39, 0.3) 0%, transparent 70%);
}

.podium-halo.silver {
  background: radial-gradient(circle, rgba(200, 214, 229, 0.2) 0%, transparent 70%);
}

.podium-halo.bronze {
  background: radial-gradient(circle, rgba(211, 140, 91, 0.2) 0%, transparent 70%);
}

.podium-rank-circle {
  position: absolute;
  bottom: -3px;
  right: -3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  z-index: 3;
}

.podium-rank-circle.gold {
  background: #f5b927;
  color: #1a1a00;
  border: 1.5px solid #151e17;
}

.podium-rank-circle.silver {
  background: #c8d6e5;
  color: #101913;
  border: 1.5px solid #131b14;
}

.podium-rank-circle.bronze {
  background: #d38c5b;
  color: #1a0f08;
  border: 1.5px solid #131b14;
}

.podium-team-header {
  margin-bottom: 8px;
}

.podium-team-title {
  font-size: 13px;
  font-weight: 800;
  color: #f0f7ec;
  margin: 0 0 2px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.podium-card.gold .podium-team-title {
  font-size: 14px;
  color: #fff9e6;
}

.podium-stats-box {
  width: 100%;
  background: #0d1510;
  border: 1px solid #223220;
  border-radius: 8px;
  padding: 6px 10px;
  margin-bottom: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 8px;
  text-align: left;
}

.podium-stat-col {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.podium-stat-col.full-row {
  grid-column: 1 / -1;
  padding-top: 4px;
  border-top: 1px solid #1a2718;
}

.podium-stat-name {
  font-size: 9px;
  color: #8aa185;
  text-transform: uppercase;
  font-weight: 600;
}

.podium-stat-val {
  font-size: 12px;
  color: #e4f0dc;
  font-weight: 700;
}

.podium-stat-val.gold-val {
  font-size: 15px;
  color: #ffd056;
  font-family: var(--display);
}

.podium-stat-val.lime-val {
  font-size: 14px;
  color: var(--lime);
  font-family: var(--display);
}

.podium-pedestal-strip {
  width: calc(100% + 24px);
  margin: 0 -12px;
  padding: 3px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.podium-pedestal-strip.gold {
  background: linear-gradient(180deg, rgba(245, 185, 39, 0.22) 0%, rgba(245, 185, 39, 0.04) 100%);
  border-top: 2px solid #f5b927;
  color: #ffd056;
  height: 22px;
}

.podium-pedestal-strip.silver {
  background: linear-gradient(180deg, rgba(200, 214, 229, 0.15) 0%, rgba(200, 214, 229, 0.03) 100%);
  border-top: 2px solid #c8d6e5;
  color: #e2eaf2;
  height: 16px;
}

.podium-pedestal-strip.bronze {
  background: linear-gradient(180deg, rgba(211, 140, 91, 0.15) 0%, rgba(211, 140, 91, 0.03) 100%);
  border-top: 2px solid #d38c5b;
  color: #e8a97f;
  height: 12px;
}

.podium-pedestal-num {
  font-family: var(--display);
  font-size: 12px;
}

/* TOP 7 Grid & Slots 4-7 Styles */
.top-seven-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

.podium-card.slot-4,
.podium-card.slot-5,
.podium-card.slot-6,
.podium-card.slot-7 {
  border-color: #243522;
  background: linear-gradient(180deg, rgba(140, 175, 130, 0.03) 0%, #121913 38%, #0f1510 100%);
}

.podium-card.slot-4:hover,
.podium-card.slot-5:hover,
.podium-card.slot-6:hover,
.podium-card.slot-7:hover {
  border-color: #3f5d38;
}

.podium-badge.slot-4,
.podium-badge.slot-5,
.podium-badge.slot-6,
.podium-badge.slot-7 {
  background: rgba(140, 175, 130, 0.12);
  border: 1px solid rgba(140, 175, 130, 0.25);
  color: #9cbda0;
}

.podium-halo.slot-4,
.podium-halo.slot-5,
.podium-halo.slot-6,
.podium-halo.slot-7 {
  background: radial-gradient(circle, rgba(140, 175, 130, 0.12) 0%, transparent 70%);
}

.podium-rank-circle.slot-4,
.podium-rank-circle.slot-5,
.podium-rank-circle.slot-6,
.podium-rank-circle.slot-7 {
  background: #253923;
  color: #c0d8bd;
  border: 1.5px solid #131b14;
}

.podium-pedestal-strip.slot-4,
.podium-pedestal-strip.slot-5,
.podium-pedestal-strip.slot-6,
.podium-pedestal-strip.slot-7 {
  background: rgba(140, 175, 130, 0.08);
  border-top: 2px solid #2f492a;
  color: #8dae8b;
  height: 12px;
}

@media (max-width: 1400px) {
  .top-seven-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .top-seven-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .top-seven-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .podium-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .podium-card.gold {
    order: 1;
  }
  .podium-card.silver {
    order: 2;
  }
  .podium-card.bronze {
    order: 3;
  }
}


/* Construction Log Interactive Styles */
.construction-log-row {
  cursor: pointer;
  transition: background 0.15s ease;
}

.construction-log-row:hover {
  background: rgba(203, 247, 107, 0.08) !important;
}

.construction-log-row:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: -2px;
}

.construction-log-row:hover .log-preview-pill {
  background: rgba(203, 247, 107, 0.2);
  border-color: var(--lime);
  color: #fff;
}

.log-preview-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(203, 247, 107, 0.08);
  border: 1px solid rgba(203, 247, 107, 0.25);
  color: var(--lime);
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  transition: all 0.15s ease;
  user-select: none;
}

/* ==================================================
   LANDING RANKING TEASER SECTION (SECTION 2 / INTRO)
   ================================================== */
.landing-ranking-teaser {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 100px 24px;
  background: radial-gradient(circle at 50% 15%, #182a1d 0%, #0e1711 65%, #080e0a 100%);
  border-top: 1px solid #243922;
  border-bottom: 1px solid #243922;
  position: relative;
  overflow: hidden;
}

.landing-ranking-teaser::before {
  content: '';
  position: absolute;
  top: -150px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(203, 247, 107, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.landing-ranking-inner {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}

.landing-ranking-header {
  margin-bottom: 48px;
}

.landing-ranking-headline {
  font-family: var(--display);
  font-size: clamp(32px, 5.2vw, 58px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 16px 0 20px;
  color: #eff8e5;
  text-transform: uppercase;
}

.landing-ranking-headline em {
  font-style: normal;
  color: var(--lime);
  display: block;
}

.landing-ranking-desc {
  font-size: clamp(15px, 1.8vw, 18px);
  color: #a4c0a1;
  max-width: 820px;
  margin: 0 auto;
  line-height: 1.6;
}

.landing-ranking-pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
  text-align: left;
}

.ranking-pillar-card {
  background: linear-gradient(150deg, #17261b 0%, #101a13 70%, #0d150f 100%);
  border: 1px solid #2b4028;
  border-radius: 14px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.ranking-pillar-card:hover {
  transform: translateY(-4px);
  border-color: var(--lime);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.5), 0 0 20px rgba(203, 247, 107, 0.1);
}

.pillar-icon {
  font-size: 34px;
  line-height: 1;
}

.pillar-title {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 800;
  color: #f1f9ec;
  margin: 0;
  letter-spacing: 0.01em;
}

.pillar-text {
  font-size: 13.5px;
  color: #9cb597;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

.pillar-badge {
  display: inline-block;
  background: rgba(203, 247, 107, 0.1);
  border: 1px solid rgba(203, 247, 107, 0.3);
  color: var(--lime);
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  width: fit-content;
}

.landing-ranking-actions {
  display: flex;
  justify-content: center;
}

.landing-ranking-cta {
  padding: 16px 36px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  box-shadow: 0 10px 32px rgba(203, 247, 107, 0.28) !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
}

/* ==================================================
   PUBLIC GLOBAL RANKINGS SUBPAGE (#ranking)
   ================================================== */
.rankings-page-layout {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rankings-header-banner {
  background: linear-gradient(135deg, #182a1d 0%, #111d14 60%, #0d1610 100%);
  border: 1px solid #2e442c;
  border-radius: 14px;
  padding: 30px 34px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
}

.rankings-banner-glow {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.rankings-header-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
}

.gold-crown {
  font-size: 16px;
  filter: drop-shadow(0 2px 6px rgba(255, 215, 0, 0.5));
}

.rankings-page-title {
  font-family: var(--display);
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 900;
  margin: 10px 0 8px;
  color: #eff8e5;
  letter-spacing: -0.01em;
}

.rankings-page-subtitle {
  font-size: 14px;
  color: #9cb597;
  line-height: 1.5;
  margin: 0;
}

.rankings-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
}

.rankings-formula-card {
  background: #111b14;
  border: 1px solid #283d26;
  border-radius: 10px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.formula-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #eff8e5;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.formula-body code {
  display: block;
  background: #090f0b;
  border: 1px solid #1c2b1b;
  border-radius: 6px;
  padding: 8px 12px;
  font-family: monospace;
  font-size: 11.5px;
  color: var(--lime);
  overflow-x: auto;
}

.formula-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: 10.5px;
  color: #8da689;
}

.rankings-user-rank-card {
  background: linear-gradient(135deg, #182c1e 0%, #122016 100%);
  border: 1px solid var(--lime);
  border-radius: 10px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  box-shadow: 0 0 20px rgba(203, 247, 107, 0.12);
}

.user-rank-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.user-rank-body {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.user-rank-badge {
  background: var(--lime);
  color: #0b150d;
  border-radius: 8px;
  padding: 6px 12px;
  display: flex;
  align-items: baseline;
  font-weight: 900;
}

.user-rank-hash {
  font-size: 14px;
  opacity: 0.75;
}

.user-rank-number {
  font-size: 24px;
  line-height: 1;
}

.user-rank-info {
  flex: 1;
  min-width: 160px;
}

.user-rank-team {
  display: block;
  font-size: 16px;
  color: #ffffff;
  margin-bottom: 2px;
}

.user-rank-city {
  display: block;
  font-size: 11px;
  color: #a4c49d;
  margin-bottom: 4px;
}

.user-rank-metrics {
  display: flex;
  gap: 12px;
  font-size: 11px;
  color: #cfe2cc;
}

.user-rank-score-wrap {
  text-align: right;
}

.user-rank-score-label {
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--lime);
  text-transform: uppercase;
}

.user-rank-score-val {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 900;
  color: #ffffff;
}

.user-rank-score-val small {
  font-size: 11px;
  color: var(--lime);
}

.rankings-guest-cta-card {
  background: #121c14;
  border: 1px solid #2a3e28;
  border-radius: 10px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.guest-cta-icon {
  font-size: 32px;
}

.guest-cta-text {
  flex: 1;
}

.guest-cta-text strong {
  display: block;
  font-size: 14px;
  color: #eff8e5;
  margin-bottom: 4px;
}

.guest-cta-text p {
  font-size: 12px;
  color: #8fa78b;
  margin: 0;
  line-height: 1.4;
}

.rankings-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.rankings-toolbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  flex: 1;
}

.rankings-search-input {
  width: 100%;
  background: #111a13;
  border: 1px solid #283b27;
  border-radius: 6px;
  padding: 8px 12px;
  color: #eff8e5;
  font-size: 13px;
}

.rankings-search-input:focus {
  outline: none;
  border-color: var(--lime);
}

.rankings-count-badge {
  font-size: 12px;
  color: #8fa78b;
}

.rankings-table-wrapper {
  background: #101812;
  border: 1px solid #20301e;
  border-radius: 10px;
  overflow-x: auto;
}

.rankings-full-table {
  width: 100%;
  border-collapse: collapse;
}

.rankings-full-table th {
  background: #152218;
  padding: 12px 14px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8ea78a;
  border-bottom: 1px solid #263824;
}

.rankings-full-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #1b281a;
  font-size: 13px;
  color: #eff8e5;
}

.rank-row:hover {
  background: rgba(203, 247, 107, 0.04);
}

.rank-row.you-highlight {
  background: rgba(203, 247, 107, 0.08);
  border-left: 3px solid var(--lime);
}

.rank-position-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
  font-size: 14px;
}

.rank-gold .rank-num {
  color: #f5b927;
}

.rank-silver .rank-num {
  color: #c8d6e5;
}

.rank-bronze .rank-num {
  color: #d38c5b;
}

.ranking-club-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}

.ranking-team-crest {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #152318;
  border: 1px solid #293d26;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.ranking-crest-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ranking-team-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ranking-team-name {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.you-badge {
  background: var(--lime);
  color: #0b150d;
  font-size: 9px;
  font-weight: 900;
  padding: 2px 6px;
  border-radius: 4px;
}

.ranking-team-sub {
  font-size: 11px;
  color: #7d967b;
}

.tier-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #152218;
  border: 1px solid #2a3c27;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
}

.tier-tier_1 {
  border-color: rgba(255, 215, 0, 0.4);
  color: #ffd700;
}

.tier-tier_2 {
  border-color: rgba(203, 247, 107, 0.4);
  color: #cbf76b;
}

.tier-tier_3 {
  border-color: rgba(96, 165, 250, 0.4);
  color: #60a5fa;
}

.global-score-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
}

.global-score-badge strong {
  font-family: var(--display);
  font-size: 16px;
  color: var(--lime);
  font-weight: 900;
}

.global-score-badge small {
  font-size: 9px;
  color: #8aa487;
  letter-spacing: 0.05em;
}

.mini-btn {
  font-size: 11px !important;
  padding: 4px 10px !important;
  min-height: unset !important;
}

.rankings-scroll-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px 0;
  color: #a4c0a1;
  font-size: 13px;
  font-weight: 600;
}

.rankings-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(203, 247, 107, 0.2);
  border-top-color: var(--lime, #cbf76b);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.rankings-scroll-end {
  text-align: center;
  padding: 24px 0 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  margin-top: 16px;
  font-size: 12px;
  color: #7a8f78;
}

/* ==========================================================================
   TOPBAR SIMULATION ICON BUTTON
   ========================================================================== */
.topbar-sim-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #19271d;
  border: 1px solid #364d36;
  color: #ffffff;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  padding: 0;
  flex-shrink: 0;
}

.topbar-sim-btn:hover {
  background: #243928;
  border-color: var(--lime);
  box-shadow: 0 0 16px rgba(203, 247, 107, 0.4);
  transform: translateY(-1px) scale(1.08);
}

.topbar-sim-btn:active {
  transform: translateY(0) scale(0.95);
}

.topbar-sim-btn span {
  display: inline-block;
  line-height: 1;
  filter: drop-shadow(0 0 4px rgba(203, 247, 107, 0.45));
}

@media (max-width: 650px) {
  .topbar-sim-btn {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }
}






/* Landing layout is independent of the narrower in-game main container. */
.landing-shell > main.landing-main{width:100%;max-width:none;margin:0;padding:0;align-self:stretch;min-width:0}
.landing-shell .landing-hero-section{padding:12px clamp(16px,3vw,40px) 56px;min-width:0}
.landing-shell .landing-hero-card{margin-inline:auto}
.landing-hero-grid > *{min-width:0}
.landing-hero-actions{flex-wrap:wrap}
.landing-ranking-pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
.landing-ranking-cta{max-width:100%;white-space:normal;text-align:center;justify-content:center}
@media(max-width:1100px){
 .landing-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}
 .landing-hero-card{padding:40px 32px}
 .landing-headline{font-size:clamp(40px,5.5vw,62px)}
 .landing-hero-art{transform:scale(.75);transform-origin:center}
}
@media(max-width:760px){
 .landing-hero-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .landing-hero-copy{max-width:100%}
 .landing-hero-card{padding:32px 24px}
 .landing-hero-art{height:280px;transform:scale(.65)}
 .landing-headline{font-size:clamp(34px,8vw,54px);overflow-wrap:break-word}
 .landing-eyebrow{font-size:9px;letter-spacing:1px}
 .landing-ranking-teaser{padding:56px 20px;min-height:auto}
 .landing-ranking-pillars{grid-template-columns:minmax(0,1fr);gap:16px}
 .landing-ranking-header{margin-bottom:28px}
}
