/* Match Player Review signature palette, stadium asset and component surfaces. */
@font-face{font-family:'Chakra Petch';src:url('/campaigns/dashboard/fonts/chakra-600.ttf');font-weight:600;font-display:swap}
:root{--bg:#06130c;--surface:#0f2819;--surface-2:#163522;--line:rgba(226,241,229,.14);--text:#f4f7ed;--muted:#9cb6a4;--green:#8cdb68;--lime:#a6ef72;--gold:#f2c14e;--danger:#ff776d;--shadow:0 18px 44px #00000038;--site-shell:900px;--stadium-gold:#f1c84d;--stadium-gold-soft:rgba(241,200,77,.36)}
body{color:var(--text);font-family:Anuphan,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;background-color:#020a06;background-image:linear-gradient(180deg,rgba(2,10,6,.06),rgba(2,10,6,.2) 72%,#020a06 100%),url('/players/assets/brand/player-review-stadium-mobile-borderless-v2.jpg');background-position:top center;background-repeat:no-repeat;background-size:100% auto;background-attachment:scroll}
h1,h2,h3,h4,button,.heading-font,.slot-name,.count,.eyebrow{font-family:'Chakra Petch',Anuphan,sans-serif}
#app{max-width:var(--site-shell);width:calc(100% - 36px);padding:0 0 40px;margin:24px auto}
#sharedHeader,#sharedFooter{--text:#f4f7ed;--muted:#9cb6a4;--green:#8cdb68;--gold:#f2c14e;--line:rgba(226,241,229,.14);--site-shell:900px}
#sharedHeader .shell,#sharedFooter .shell{width:min(var(--site-shell),calc(100% - 36px))}
.titlebar .eyebrow{color:var(--green)}.titlebar h1{font-size:clamp(26px,3vw,32px);line-height:1.2}.team-toolbar{border-color:var(--line)}
.team-toolbar button,.team-row-actions button,.sheet-buttons>button:not(.primary){background:rgba(2,12,7,.45);border-color:rgba(140,219,104,.3);border-radius:10px}
button.primary,.squad-status button.primary{background:linear-gradient(145deg,#a6ef72,#78cf4f);border:1px solid rgba(140,219,104,.42);color:#07140d;box-shadow:0 4px 14px rgba(140,219,104,.12)}
.team-toolbar .import-button{color:var(--stadium-gold);border-color:var(--stadium-gold-soft);background:rgba(241,200,77,.045)}
.squad-board{border:1px solid rgba(241,200,77,.46);border-radius:14px;background:linear-gradient(145deg,rgba(3,20,11,.9),rgba(1,12,7,.94));box-shadow:inset 0 1px 0 #ffffff06,0 18px 42px #00000047}
.sidepanel .squad-status{background:linear-gradient(145deg,rgba(3,20,11,.9),rgba(1,12,7,.94));border-radius:14px;box-shadow:inset 0 1px 0 #ffffff06}.bench{border-color:var(--line)}
#sheet{background:linear-gradient(145deg,#0b2115,#05150b);border:1px solid var(--stadium-gold-soft);border-radius:20px;box-shadow:0 24px 80px #0009;color:var(--text)}.sheet-top{background:#0b2115}.sheet-top .eyebrow{color:var(--green)}
#sheet input:not([type=checkbox]),#sheet select,#sheet textarea,.squad-board .formationbar #formation,#picker-playstyle .ps-filter-trigger{background:#06170d;border-color:rgba(140,219,104,.3);border-radius:10px;color:var(--text);font-family:Anuphan,sans-serif}
#sheet input:focus-visible,#sheet select:focus-visible,#sheet textarea:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px rgba(140,219,104,.1);outline:0}
.player-result{border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.16)}.player-result:hover:not(:disabled){border-color:var(--gold);background:rgba(242,193,78,.07);box-shadow:0 0 0 2px rgba(242,193,78,.08)}.player-result strong{font-family:'Chakra Petch',Anuphan,sans-serif}.player-result .ovr{color:var(--gold);font-family:'Chakra Petch',Anuphan,sans-serif}
.team-manager-row,.bench-card{border-color:var(--line);border-radius:12px;background:rgba(0,0,0,.16)}.team-row-actions .danger{color:#ffac9e;border-color:#ffac9e33}.team-row-actions [data-team]{color:var(--green);background:rgba(140,219,104,.07);border-color:rgba(140,219,104,.38)}
#picker-filters{background:rgba(0,0,0,.12);border-color:var(--line)}#picker-filter-toggle{font-family:Anuphan,sans-serif}.mobile-tactic-dock{background:#06130cf5;border-color:var(--stadium-gold-soft)}
@media(max-width:720px){#app{width:calc(100% - 24px);padding:0 0 24px;margin-top:20px}#sharedHeader .shell,#sharedFooter .shell{width:calc(100% - 24px)}#sheet{border-radius:20px 20px 0 0}.titlebar h1{font-size:26px}}

.auth-gate{max-width:620px;margin:48px auto 72px;padding:40px 28px;text-align:center;background:linear-gradient(145deg,#123321,#081d13);border:1px solid #355b3d;border-radius:24px;box-shadow:0 18px 50px #0003}
.auth-gate h1{font-size:clamp(24px,5vw,34px);line-height:1.4;margin:14px 0}.auth-gate p:not(.eyebrow){color:#b4c6b7;line-height:1.7}.auth-gate .primary{margin:20px auto 12px;min-height:48px;width:min(100%,320px)}.auth-gate small{display:block;color:#9fb3a4;line-height:1.6}.header-account{display:flex;align-items:center;gap:8px}.header-account button{font-size:14px;padding:10px 16px;min-height:42px}.header-account [hidden]{display:none!important}

.auth-gate .google-sign-in{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto 16px;width:min(100%,340px);min-height:52px;padding:12px 20px;border:1px solid #dadce0;border-radius:14px;background:#fff;color:#202124;box-shadow:0 3px 12px #0002;font-size:16px;font-weight:600}.auth-gate .google-sign-in img{width:22px;height:22px;flex:none}.auth-gate .google-sign-in:hover{background:#f2f5fa;border-color:#b7c2d2}.auth-gate .google-sign-in:focus-visible{outline:3px solid #8cdb68;outline-offset:4px}

#sharedHeader .product-nav .tab-line:empty{display:none}#sharedHeader .product-nav>a{position:relative}#sharedHeader .product-nav>a.active:after{content:"";position:absolute;bottom:0;left:calc(50% - 14px);width:28px;height:3px;background:#f1c84d;border-radius:3px}

/* Tactile AI action, progress indicator, and suggested-card entrance. */
#ai{transition:transform .14s ease,box-shadow .2s ease}#ai:active{transform:scale(.975);box-shadow:0 0 22px #8cdb6840}
#run-ai.ai-working{display:flex;align-items:center;justify-content:center;gap:10px;opacity:1;cursor:progress}#run-ai.ai-working:before{content:"";width:18px;height:18px;border:2px solid #10241540;border-top-color:#102415;border-radius:50%;animation:ai-spin .7s linear infinite}
.slot.proposed{animation:ai-card-enter .4s cubic-bezier(.2,.8,.2,1) both}.pitch-row:nth-of-type(2) .slot.proposed{animation-delay:.06s}.pitch-row:nth-of-type(3) .slot.proposed{animation-delay:.12s}.pitch-row:nth-of-type(4) .slot.proposed{animation-delay:.18s}.pitch-row:nth-of-type(5) .slot.proposed{animation-delay:.24s}.pitch-row:nth-of-type(6) .slot.proposed{animation-delay:.3s}
@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-card-enter{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){#ai{transition:none}#ai:active{transform:none}.slot.proposed,#run-ai.ai-working:before{animation:none}}

/* Keep authentication centered, independent of mobile squad bottom-sheet rules. */
dialog.team-login-dialog{position:fixed;inset:0;margin:auto;height:fit-content;max-height:calc(100dvh - 32px);transform:none}

#new-top,#new-team{transition:transform .15s ease,box-shadow .15s ease}#new-top:active,#new-team:active{transform:scale(.96);box-shadow:0 0 18px #8cdb6833}
#app.team-created .titlebar{animation:new-team-enter .3s ease-out both}#app.team-created .squad-board{animation:new-team-enter .42s cubic-bezier(.2,.8,.2,1) both}#app.team-created .empty-art{animation:new-team-slot .45s ease-out both;animation-delay:.1s}
@keyframes new-team-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes new-team-slot{from{opacity:.2;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#new-top,#new-team{transition:none}#new-top:active,#new-team:active{transform:none}#app.team-created .titlebar,#app.team-created .squad-board,#app.team-created .empty-art{animation:none}}
