:root{--bg:#090a0c;--panel:#111318;--panel2:#171a20;--line:#282c34;--gold:#d8b45a;--gold2:#f4d982;--ink:#f7f5ef;--muted:#969ba6;--green:#36d58a;--red:#ff6574;--blue:#6ea8ff;--coffee:#4a2c1d;--r:18px;--shadow:0 20px 60px #0008}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 80% -10%,#2d2413 0,transparent 34%),var(--bg);color:var(--ink);font-family:Inter,"Microsoft JhengHei",system-ui,sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{margin:0 0 7px;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.16em}.auth-shell{min-height:100dvh;display:grid;place-content:center;text-align:center;padding:28px}.brand-mark{width:82px;height:82px;margin:0 auto 20px;border:1px solid #d8b45a66;border-radius:26px;display:grid;place-items:center;background:linear-gradient(145deg,#211c12,#0d0e11);box-shadow:0 20px 80px #d8b45a1c;font:900 34px/1 Georgia;color:var(--gold2)}.brand-mark span{font-size:18px}.auth-shell h1{margin:0;font:900 clamp(34px,8vw,58px)/1 Georgia,serif;letter-spacing:-.04em}.auth-shell h1 em{color:var(--gold);font-style:normal}.lede{color:var(--muted);margin:12px 0 30px}.login-card{width:min(390px,90vw);padding:24px;text-align:left;background:#111318e8;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}label{display:grid;gap:7px;color:#c8cbd1;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:#0b0d10;color:var(--ink);border-radius:11px;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.login-card label+label{margin-top:14px}.btn{border:0;border-radius:12px;padding:12px 17px;font-weight:900;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--gold2),#ba8f31);color:#161208;box-shadow:0 9px 25px #d8b45a26}.login-card .btn{width:100%;margin-top:20px}.error{min-height:18px;color:var(--red);font-size:12px}.legal{color:#666b74;font-size:12px;margin-top:18px}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:28px 20px;border-right:1px solid var(--line);background:#0d0f13;z-index:10}.side-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.side-brand>b{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--gold);color:#171208}.side-brand span{font-weight:900;font-size:14px}.side-brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.14em;margin-top:3px}.sidebar nav{display:grid;gap:6px}.nav-btn{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:var(--muted);padding:12px;border-radius:11px;text-align:left;cursor:pointer}.nav-btn.active,.nav-btn:hover{background:#d8b45a14;color:var(--gold2)}.nav-btn i{font-style:normal;font-size:18px}.admin-link{position:absolute;bottom:24px;color:#777d87;text-decoration:none;font-size:12px}.main{margin-left:245px;min-height:100vh}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:20px 34px;border-bottom:1px solid #20232a;background:#090a0caa;backdrop-filter:blur(15px);position:sticky;top:0;z-index:8}.topbar h2{margin:0;font-size:25px}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#211c11;color:var(--gold);font-weight:900}.user-chip div{display:grid}.user-chip small{color:var(--gold);font-weight:800}.user-chip button,.icon-btn{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.content{padding:30px 34px 100px;max-width:1440px;margin:auto}.hero-grid,.stat-grid,.two-col,.form-grid{display:grid;gap:15px}.hero-grid{grid-template-columns:1.5fr 1fr}.stat-grid{grid-template-columns:repeat(4,1fr);margin-bottom:20px}.two-col{grid-template-columns:1.35fr .65fr}.form-grid{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(145deg,#15171c,#101216);border:1px solid var(--line);border-radius:var(--r);padding:20px}.stat span,.muted{color:var(--muted);font-size:12px}.stat b{display:block;margin-top:8px;font-size:25px}.gold{color:var(--gold2)}.green{color:var(--green)}.red{color:var(--red)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:22px 0 12px}.section-head h3{margin:0;font-size:18px}.section-head p{margin:0;color:var(--muted);font-size:12px}.games{display:grid;gap:12px}.game{background:linear-gradient(100deg,#14171b,#101216);border:1px solid var(--line);border-radius:16px;padding:16px}.game-top,.teams,.markets,.row,.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-top{color:var(--muted);font-size:11px;margin-bottom:14px}.live-dot{color:var(--green)}.teams{justify-content:center}.team{flex:1;text-align:center}.team b{display:block;font-size:15px}.team small{color:var(--muted)}.score{font:900 22px Georgia;color:var(--gold2)}.markets{margin-top:15px;overflow:auto;justify-content:flex-start;padding-bottom:3px}.odd{min-width:115px;border:1px solid #30343d;border-radius:10px;background:#191c22;color:var(--ink);padding:9px 11px;text-align:left;cursor:pointer}.odd:hover,.odd.selected{border-color:var(--gold);background:#2a2417}.odd small{display:block;color:var(--muted);font-size:10px}.odd b{display:block;margin-top:3px;color:var(--gold2)}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:15px}.tab{border:1px solid var(--line);background:#101216;color:var(--muted);border-radius:99px;padding:8px 13px;white-space:nowrap;cursor:pointer}.tab.active{color:#171208;background:var(--gold);border-color:var(--gold)}.list{display:grid;gap:10px}.list-item{border:1px solid var(--line);border-radius:14px;padding:15px;background:#111318}.badge{display:inline-flex;padding:4px 8px;border-radius:99px;background:#252932;color:#c8ccd4;font-size:10px;font-weight:900;text-transform:uppercase}.badge.won,.badge.approved,.badge.completed{background:#173528;color:var(--green)}.badge.lose,.badge.rejected{background:#3a1b22;color:var(--red)}.badge.pending{background:#382f19;color:var(--gold2)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{color:var(--muted);font-size:10px;letter-spacing:.08em}.rank{font:900 20px Georgia;color:var(--gold)}.ai-card{position:relative;overflow:hidden}.ai-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:#d8b45a14;right:-55px;top:-55px}.confidence{font:900 34px Georgia;color:var(--gold2)}.progress{height:5px;background:#282c34;border-radius:9px;overflow:hidden;margin:10px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#947024,var(--gold2))}.slip{position:fixed;z-index:30;right:0;top:0;height:100dvh;width:min(400px,100%);background:#101216;border-left:1px solid var(--line);box-shadow:var(--shadow);transform:translateX(105%);transition:.25s ease;display:flex;flex-direction:column}.slip.open{transform:none}.slip-head{padding:22px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);cursor:pointer}.slip-head h3{margin:0}.slip-head h3 span{color:var(--gold)}.slip-head-actions{display:flex;align-items:center;gap:10px}.slip-collapse-arrow{font-size:13px;color:var(--muted);font-style:normal}.slip-items{padding:16px;overflow:auto;flex:1}.slip-leg{padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px}.slip-leg button{float:right;border:0;background:none;color:var(--red);cursor:pointer}.slip-foot{padding:18px;border-top:1px solid var(--line)}.calc{display:flex;justify-content:space-between;margin:15px 0}.calc b{color:var(--gold2)}.slip-foot .btn{width:100%}.slip-fab{position:fixed;right:24px;bottom:24px;z-index:20;border:0;background:var(--gold);color:#151107;border-radius:99px;padding:13px 18px;font-weight:900;box-shadow:0 12px 30px #0008;display:inline-flex;align-items:center;gap:7px}.slip-fab-arrow{font-size:11px;line-height:1;font-style:normal;transition:transform .2s ease}#slip.open~#slipFab .slip-fab-arrow{transform:rotate(180deg)}.scrim{display:none;position:fixed;inset:0;background:#000a;z-index:25}.scrim.show{display:block}.bottom-nav{display:none}.toast{position:fixed;z-index:80;top:18px;left:50%;transform:translate(-50%,-150%);background:#f2eee2;color:#17130d;padding:11px 18px;border-radius:99px;font-weight:800;font-size:13px;transition:.2s}.toast.show{transform:translate(-50%,0)}textarea{min-height:90px;resize:vertical}.upload-preview{max-width:160px;max-height:120px;border-radius:10px;margin-top:8px}
@media(max-width:980px){.sidebar{display:none}.main{margin:0}.topbar{height:78px;padding:15px 18px}.topbar h2{font-size:21px}.content{padding:20px 15px 100px}.stat-grid{grid-template-columns:repeat(2,1fr)}.hero-grid,.two-col{grid-template-columns:1fr}.bottom-nav{display:flex;position:fixed;z-index:18;bottom:0;left:0;right:0;background:#0d0f13ee;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:7px 8px max(7px,env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav .nav-btn{display:grid;justify-items:center;gap:2px;padding:5px 8px;width:auto;font-size:9px}.bottom-nav .nav-btn i{font-size:18px}.slip-fab{bottom:82px;right:15px}.user-chip div{display:none}}@media(max-width:560px){.stat-grid,.form-grid{grid-template-columns:1fr 1fr}.stat b{font-size:20px}.card{padding:16px}.markets{margin-left:-4px;margin-right:-4px}.odd{min-width:107px}.auth-shell{place-content:start center;padding-top:11vh}}

/* FOUR_LEAGUES_STYLE */
.league-board{margin-top:4px}.league-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.league-tab{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px;background:#111318;color:var(--muted);text-align:left;cursor:pointer}.league-tab i{font-style:normal;font-size:23px}.league-tab span{display:grid;min-width:0;gap:2px}.league-tab b{font-size:13px;color:var(--ink);white-space:nowrap}.league-tab small{font-size:9px;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-tab em{margin-left:auto;display:grid;place-items:center;min-width:21px;height:21px;border-radius:99px;background:#292d35;color:#b9bdc5;font-style:normal;font-weight:800;font-size:11px}.league-tab.active{border-color:var(--gold);background:linear-gradient(125deg,#2a2417,#15171b)}.league-tab.active b,.league-tab.active i{color:var(--gold2)}.league-tab.active em{background:var(--gold);color:#1b160d}@media(max-width:700px){.league-tabs{display:flex;overflow:auto;padding-bottom:4px;margin-right:-15px;padding-right:15px}.league-tab{min-width:148px}.league-tab small{max-width:82px}}

/* FOUR_LEAGUES_LAYOUT_V2 */
.league-board{position:sticky;top:78px;z-index:7;margin:4px -15px 20px;padding:13px 15px 0;background:linear-gradient(180deg,#090a0c 82%,#090a0cee)}.league-board .section-head{margin:0 0 10px}.league-tabs{display:flex;gap:0;overflow:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.league-tabs::-webkit-scrollbar{display:none}.league-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-width:124px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 9px;background:transparent;color:var(--muted);font-weight:800;white-space:nowrap}.league-tab i{font-style:normal;font-size:18px}.league-tab span{font-size:13px}.league-tab small{display:grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#252932;color:#9da2ac;font-size:10px}.league-tab.active{border-color:var(--gold);background:linear-gradient(180deg,#d8b45a17,transparent);color:var(--gold2)}.league-tab.active small{background:var(--gold);color:#171208}.league-title{display:flex;align-items:end;justify-content:space-between;margin:18px 0 11px}.league-title h3{margin:0;font-size:19px}.league-title>span{color:var(--muted);font-size:12px}.league-game{padding:0;overflow:hidden}.league-game .game-top{margin:0;padding:12px 15px;border-bottom:1px solid var(--line);background:#121419}.odds-scroll{overflow:auto}.odds-grid{display:grid;grid-template-columns:minmax(132px,1.45fr) repeat(3,minmax(82px,1fr));min-width:430px;gap:1px;background:var(--line)}.odds-grid>*{min-width:0}.odds-head{background:#15171c;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em}.odds-head span{padding:9px 10px;text-align:center}.odds-head span:first-child{text-align:left}.odds-team{display:grid;align-content:center;gap:3px;padding:12px 14px;background:#111318}.odds-team b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odds-team small{color:var(--muted);font-size:10px}.odds-cell{border:0;background:#171a20;color:var(--ink);padding:9px 5px;cursor:pointer}.odds-cell:hover{background:#2a2417}.odds-cell small{display:block;color:#aeb3bc;font-size:10px}.odds-cell b{display:block;margin-top:3px;color:var(--gold2);font-size:15px}.odds-cell.selected,.odds-cell.selected:hover{background:var(--coffee)}.odds-cell.selected small{color:#eaf1ff}.odds-cell.selected b{color:#fff}.odds-empty{display:grid;place-items:center;background:#171a20;color:#535962}@media(min-width:981px){.league-board{top:94px;margin-left:-34px;margin-right:-34px;padding-left:34px;padding-right:34px}.league-tab{min-width:0}.league-game .game-top{padding-left:20px;padding-right:20px}}

/* BET_SLIP_DISPLAY_V2 */
.slip-leg{position:relative;overflow:hidden}.slip-leg button{position:absolute;top:10px;right:10px;float:none;z-index:1}.slip-leg-meta{display:block;padding-right:30px;line-height:1.4}.slip-leg-matchup{display:block;margin:7px 30px 8px 0;font-size:13px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.slip-leg-choice{display:block;margin-top:2px;color:var(--green);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.slip-leg-choice-en{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.slip-leg-odds{margin-top:7px;font-size:12px;font-weight:800}
@media(max-width:560px){.slip-leg{padding:12px 42px 12px 12px}.slip-leg button{right:12px}.slip-leg-matchup{margin-right:0}.slip-leg-meta{padding-right:0}.slip-leg-choice,.slip-leg-choice-en,.slip-leg-odds{max-width:100%}}
/* BET_HISTORY_LEG_DISPLAY */
.ticket-leg-rich{align-items:flex-start}.ticket-leg-rich .ticket-leg-info{min-width:0;flex:1}.ticket-leg-rich .ticket-leg-meta{margin:0 0 5px;color:var(--muted);font-size:10px;line-height:1.4}.ticket-leg-rich .ticket-leg-matchup{display:block;line-height:1.45;overflow-wrap:anywhere}.ticket-leg-rich .ticket-leg-choice{margin-top:5px;color:var(--green);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.ticket-leg-rich .ticket-leg-choice-en{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}.ticket-leg-rich .ticket-leg-odds{padding-top:18px;text-align:right}
.ticket-leg-rich .ticket-leg-matchup-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ticket-leg-rich .ticket-leg-matchup-row .ticket-leg-matchup{min-width:0;flex:1}.ticket-leg-rich .ticket-leg-choice-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ticket-leg-rich .ticket-leg-choice-wrap{min-width:0;flex:1}.ticket-leg-rich .ticket-leg-odds{padding-top:5px;flex:none}.bet-leg-result{flex:none;display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.35;white-space:nowrap}.bet-leg-result--win{background:#173528;color:var(--green)}.bet-leg-result--lose{background:#3a1b22;color:var(--red)}.bet-leg-result--void{background:#3b2f14;color:var(--gold2)}.bet-leg-result--refund{background:#202f42;color:var(--blue)}.bet-leg-result--cancelled,.bet-leg-result--pending{background:#25282f;color:var(--muted)}
@media(max-width:560px){.ticket-leg-rich{padding:12px 14px;gap:8px}.ticket-leg-rich .ticket-leg-matchup-row{gap:6px}.ticket-leg-rich .ticket-leg-choice-row{gap:8px}.ticket-leg-rich .ticket-leg-odds{padding-top:5px;font-size:12px}.bet-leg-result{font-size:10px;padding:2px 5px}}
/* PARLAY_V2_STYLE */
.parlay-summary{display:grid;gap:5px;margin-bottom:12px;padding:12px;border:1px solid #6e5724;border-radius:12px;background:linear-gradient(135deg,#2d2515,#15171c)}.parlay-summary span{font-weight:900;color:var(--gold2)}.parlay-summary b{font:900 18px Georgia;color:var(--ink)}.parlay-summary small{color:var(--muted);font-size:10px}.slip-leg small{display:block;margin-bottom:4px}.slip-leg b{display:block;font-size:13px}.slip-leg .gold{margin-top:5px}

/* CORRECT_SCORE_STYLE */
.score-market{border-top:1px solid var(--line);padding:13px 15px 15px;background:#101216}.score-market-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.score-market-head b{color:var(--gold2);font-size:13px}.score-market-head small{color:var(--muted);font-size:10px}.score-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:7px}.score-options .odds-cell{border:1px solid #30343d;border-radius:9px;background:#191c22}.score-options .odds-cell:hover{border-color:var(--gold);background:#2a2417}.score-options .odds-cell.selected,.score-options .odds-cell.selected:hover{border-color:var(--coffee);background:var(--coffee)}@media(max-width:560px){.score-market{padding:12px}.score-options{grid-template-columns:repeat(3,1fr)}}

/* LEGACY_MLB_READONLY_UI */
.legacy-schedule{display:grid;gap:18px}.legacy-day{display:grid;gap:10px}.legacy-day-head{display:flex;align-items:end;justify-content:space-between;padding:15px 17px;border:1px solid #56441c;border-radius:16px;background:linear-gradient(120deg,#201a0e,#111318)}.legacy-day-head .eyebrow{margin-bottom:4px}.legacy-day-head h4{margin:0;font-size:16px}.legacy-day-head>span{display:grid;place-items:center;min-width:42px;height:26px;border-radius:99px;background:#d8b45a1c;color:var(--gold2);font-size:11px;font-weight:900}.legacy-day .league-game{border-color:#3a3324}.legacy-day .odds-cell{background:linear-gradient(145deg,#191b20,#121419)}.legacy-day .odds-cell:hover{background:linear-gradient(145deg,#302716,#1a1710)}
/* TICKET_DETAILS_V1 */
.ticket-card{padding:0;overflow:hidden;border-color:#343035;background:linear-gradient(135deg,#16181d,#0f1115)}.ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 17px 13px;border-bottom:1px solid var(--line)}.ticket-head .eyebrow{margin-bottom:4px}.ticket-head>b{display:block;font-size:16px;letter-spacing:.03em}.ticket-head small{display:block;margin-top:5px;color:var(--muted);font-size:10px;word-break:break-all}.ticket-status{flex:none;padding:6px 9px;border-radius:99px;background:#382f19;color:var(--gold2);font-size:11px;font-weight:900}.ticket-status.won{background:#173528;color:var(--green)}.ticket-status.lose,.ticket-status.cancelled{background:#3a1b22;color:var(--red)}.ticket-status.refunded{background:#202f42;color:var(--blue)}.ticket-legs{display:grid;gap:1px;background:var(--line)}.ticket-leg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#111318}.ticket-leg b{display:block;font-size:13px}.ticket-leg b i{font-style:normal;color:var(--gold);font-size:10px;margin:0 4px}.ticket-leg small{display:block;margin-top:4px;color:#aeb3bc;font-size:11px}.ticket-leg strong{color:var(--gold2);font-size:14px;white-space:nowrap}.ticket-foot{display:flex;justify-content:space-between;gap:18px;padding:14px 17px;background:linear-gradient(90deg,#171a20,#121419)}.ticket-foot>div{display:grid;gap:4px}.ticket-foot>div:last-child{text-align:right}.ticket-foot small{color:var(--muted);font-size:10px}.ticket-foot b{font-size:16px}.ticket-foot em{font-style:normal;color:#aeb3bc;font-size:12px;font-weight:700}
/* TICKET_SYSTEM_PARLAY_SIMPLIFIED_V1 */
.ticket-system-toggle{display:block;width:100%;padding:12px 17px;border:0;border-top:1px solid var(--line);background:#15171c;color:var(--gold2);font-size:12px;font-weight:800;text-align:center;cursor:pointer}.ticket-system-toggle:hover{background:#1b1e24}.ticket-system-combos{display:grid;gap:1px;background:var(--line)}.ticket-combo{padding:12px 16px;background:#111318}.ticket-combo-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ticket-combo-head b{font-size:12px;color:var(--muted);font-weight:800}.ticket-combo-foot{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.ticket-combo-foot small{display:block;color:var(--muted);font-size:10px}.ticket-combo-foot b{font-size:13px}.ticket-combo-foot em{font-style:normal;color:#aeb3bc;font-size:11px;font-weight:700}.ticket-combo-foot>div:last-child{text-align:right}

/* MLB_LIVE_SCORE_V1 */
.league-game .game-top .live-dot{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:900}.league-game .game-top .live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 #36d58a88;animation:livePulse 1.45s infinite}@keyframes livePulse{70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}.game-label{display:inline;padding:2px 6px;border-radius:4px;background:#6e572444;color:var(--gold2);font-weight:800;font-size:10px}
/* MOBILE_BOTTOM_SHEET_V1 */
.slip-foot #stake{font-size:16px}
.sheet-handle{display:none}@media(max-width:768px){body.slip-lock{overflow:hidden;overscroll-behavior:none}.slip{top:auto;right:0;bottom:0;width:100%;height:72dvh;max-height:92dvh;border:1px solid #353943;border-bottom:0;border-radius:24px 24px 0 0;transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:0 -18px 55px #000b;padding-top:16px}.slip.open{transform:translateY(0)}.sheet-handle{display:block;position:absolute;top:7px;left:50%;width:46px;height:5px;border-radius:99px;background:#676d77;transform:translateX(-50%);touch-action:none}.slip-head{padding:14px 18px 13px}.slip-items{min-height:0;padding:13px 15px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.slip-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:#101216;border-top:1px solid var(--line);box-shadow:0 -10px 24px #0005}.slip-foot .btn{min-height:48px}.scrim{background:#0009;backdrop-filter:blur(2px)}.slip-fab{bottom:calc(76px + env(safe-area-inset-bottom))}}

/* RESPONSIVE_OVERFLOW_FIX_V1 */
html,body{width:100%;max-width:100%;overflow-x:hidden}.app,.main,.content,.league-board,.games,.league-game,.odds-scroll{min-width:0;max-width:100%}
@media(max-width:980px){.main,.content{width:100%;max-width:100%;min-width:0}.content{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right));padding-bottom:calc(100px + env(safe-area-inset-bottom))}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.league-board{max-width:calc(100% + 30px)}.league-tabs{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.league-game,.odds-scroll{width:100%;max-width:100%;min-width:0}.odds-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.odds-grid{min-width:430px}.slip-fab{right:16px;bottom:calc(82px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}.bottom-nav{width:100%;max-width:100%;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}}
@media(max-width:560px){.league-board{margin-left:-15px;margin-right:-15px}.league-title{min-width:0}.league-title h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}


/* WALLET_ORDER_V1 */
.wallet-stack{display:grid;gap:18px}.wallet-stack>.card{margin:0}.wallet-stack .section-head{margin:4px 0 11px}.wallet-empty{padding:22px 16px}.wallet-more{display:block;width:100%;margin-top:12px;border:1px solid #5a4a25;background:#181a1e;color:var(--gold2)}
@media(max-width:980px){.wallet-stack{gap:16px}.wallet-stack>section:last-child{padding-bottom:12px}}

/* CURRENCY_TOGGLE */
.currency-toggle{display:flex;gap:4px;margin-left:auto}.currency-btn{border:1px solid var(--line);background:#101216;color:var(--muted);border-radius:8px;padding:4px 8px;font-size:11px;font-weight:800;cursor:pointer;transition:.15s}.currency-btn.active{border-color:var(--gold);background:#2a2417;color:var(--gold2)}.currency-btn:hover{border-color:var(--gold)}@media(max-width:980px){.currency-toggle{margin-left:8px}.currency-btn{padding:3px 6px;font-size:10px}}

/* PARLAY_MODE_SELECTOR */
.slip-parlay,.slip-parlay-info{padding:10px 0;border-top:1px solid var(--line);margin-top:8px}.slip-parlay small,.slip-parlay-info span{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.parlay-btns{display:flex;flex-wrap:wrap;gap:5px}.parlay-btn{border:1px solid var(--line);background:#101216;color:var(--muted);border-radius:8px;padding:5px 9px;font-size:11px;font-weight:800;cursor:pointer;transition:.15s}.parlay-btn.active{border-color:var(--gold);background:#2a2417;color:var(--gold2)}.parlay-btn:hover{border-color:var(--gold)}.slip-parlay-info span{color:var(--gold2);font-weight:800;font-size:12px}

/* CALC_DETAIL */
#calcDetail{margin:8px 0}.calc-combo{font-size:11px;color:var(--muted);padding:3px 0}.calc-combo-head{font-size:12px;color:var(--gold);font-weight:800;padding-bottom:4px;border-bottom:1px solid var(--line);margin-bottom:4px}.calc-combo-max{font-size:12px;color:var(--gold2);font-weight:900;margin-top:6px;padding-top:4px;border-top:1px solid var(--line)}

/* WALLET_BALANCE_GRID */
.wallet-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.wallet-item{padding:18px}.wallet-item span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}.wallet-item b{display:block;font-size:22px}

/* RANK_TABS */
.rank-tabs{display:flex;gap:8px;margin-bottom:15px}.rank-tab{border:1px solid var(--line);background:#101216;color:var(--muted);border-radius:99px;padding:8px 14px;font-size:13px;font-weight:800;cursor:pointer}.rank-tab.active{color:#171208;background:var(--gold);border-color:var(--gold)}

/* LIVE_SCORE_LINK */
.live-score-link{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:8px 11px;border:1px solid #66501e;border-radius:10px;background:#1c1810;color:var(--gold2);font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}.live-score-link:hover{border-color:var(--gold);background:#2a2417}.live-score-link span{font-size:15px;line-height:1}@media(max-width:560px){.league-board .section-head{align-items:center}.live-score-link{min-height:34px;padding:7px 9px;font-size:11px}}

/* MOBILE_ODDS_GRID_BALANCE */
@media(max-width:700px){.odds-scroll{overflow-x:hidden;padding-right:0}.odds-grid{width:100%;min-width:0;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr))}.odds-head span{padding:9px 5px}.odds-head span:last-child{padding-left:5px;padding-right:5px}.odds-team{padding:12px 10px}.odds-team b{font-size:13px}.odds-cell{padding:9px 3px}.odds-cell small{font-size:9px}.odds-cell b{font-size:14px}.odds-grid>.odds-cell:last-child{padding-left:3px;padding-right:3px}}

/* MOBILE_ZOOM_LOCK */
html,body{touch-action:pan-y;}

/* VIP1_BADGE */
.vip-badge{position:relative;display:inline-flex;align-items:center;gap:2px;height:32px;padding:0 7px 0 34px;color:#f9e8aa;font-family:Georgia,"Times New Roman",serif;font-weight:900;letter-spacing:.04em;text-shadow:0 1px 1px #271a06;isolation:isolate}.vip-badge:before{content:"★";position:absolute;z-index:-1;left:0;top:0;display:grid;place-items:center;width:29px;height:32px;clip-path:polygon(50% 0,94% 14%,86% 75%,50% 100%,14% 75%,6% 14%);background:linear-gradient(135deg,#fff0a4 0,#bd7e19 24%,#613807 54%,#edc456 76%,#7a490b 100%);box-shadow:0 3px 8px #0009;color:#fff4bf;font-size:14px;text-shadow:0 1px 2px #5c3604;filter:drop-shadow(0 2px 2px #0009)}.vip-badge:after{content:"";position:absolute;z-index:-1;left:3px;top:3px;width:23px;height:24px;clip-path:polygon(50% 0,91% 15%,83% 72%,50% 96%,17% 72%,9% 15%);border:1px solid #fff0a0;opacity:.8}.vip-badge b{font-size:12px;line-height:1;color:#fff0b3}.vip-badge em{display:grid;place-items:center;min-width:15px;height:17px;border:1px solid #e1b64f;border-radius:5px;background:linear-gradient(145deg,#3f2708,#986417);color:#fff2bc;font:900 11px/1 Georgia,serif;font-style:normal;box-shadow:inset 0 1px #fff3}.vip-badge.hidden{display:none!important}@media(max-width:980px){.user-chip>.vip-badge{margin-left:-6px;margin-right:-3px;transform:scale(.96);transform-origin:left center}}

/* VIP1_HEADER_LAYOUT */
.user-chip{flex:0 0 auto;gap:8px;white-space:nowrap}.user-chip>#userInitial{flex:0 0 40px}.user-chip>.vip-badge{flex:0 0 74px;width:74px;height:34px;min-height:34px;padding:0 5px 0 36px;gap:3px;white-space:nowrap;overflow:visible;transform:none}.user-chip>.vip-badge:before{left:1px;top:1px;width:29px;height:32px}.user-chip>.vip-badge:after{left:4px;top:4px}.user-chip>.vip-badge b{display:block;flex:0 0 auto;font-size:12px;line-height:17px}.user-chip>.vip-badge em{display:grid;flex:0 0 15px;width:15px;min-width:15px;height:17px;font-size:10px;line-height:1}.user-chip>#logoutBtn{display:grid;flex:0 0 28px;width:28px;height:40px;place-items:center;margin:0;padding:0;line-height:1}@media(max-width:980px){.topbar{gap:10px}.topbar>div:first-child{min-width:0;flex:1}.topbar>div:first-child .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip{gap:5px}.user-chip>.vip-badge{margin:0;transform:none}}

/* AI_FEATURE_METSPHILLIES_20260717 */
.ai-feature-card{grid-column:1/-1}.ai-feature-card h3{margin:8px 0 10px}.ai-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.ai-analysis-grid section{padding:12px;border:1px solid #31343a;border-radius:12px;background:#101216}.ai-analysis-grid b{color:var(--gold2);font-size:13px}.ai-analysis-grid p{margin:7px 0 0;color:#c8cbd2;font-size:12px;line-height:1.65}.ai-verdict{display:grid;gap:6px;padding:13px 14px;border:1px solid #765b20;border-radius:12px;background:linear-gradient(120deg,#2b2415,#15171c)}.ai-verdict b{color:var(--gold2)}.ai-verdict span{font-size:13px;line-height:1.6}.ai-source-note{margin:12px 0 0;line-height:1.55}@media(max-width:700px){.ai-analysis-grid{grid-template-columns:1fr;gap:8px}.ai-analysis-grid section{padding:11px}.ai-feature-card{padding:16px}}

/* LOBSTER ENTERTAINMENT · VISUAL AI FEATURE */
.ai-feature-card{overflow:hidden;border-color:rgba(224,181,73,.42);background:linear-gradient(145deg,#1a1710 0%,#121318 48%,#111217 100%)}
.ai-feature-card h3{font-size:24px;margin:3px 0 0;letter-spacing:.01em}.versus{font-size:11px;color:var(--muted);margin:0 4px}.ai-kickoff{margin:7px 0 16px;color:#a8a9b2;font-size:13px}.ai-scoreboard{display:grid;grid-template-columns:1fr 1.05fr 1fr;align-items:stretch;gap:8px;margin:0 -2px 12px}.ai-team,.ai-score-pred{border:1px solid #30313a;border-radius:14px;padding:13px 8px;text-align:center;background:#15161d;display:flex;flex-direction:column;align-items:center;justify-content:center}.ai-team.phillies{border-color:rgba(225,184,80,.7);background:linear-gradient(160deg,#312817,#18171a)}.team-mark{font-size:10px;letter-spacing:.11em;color:#a5a6ae}.ai-team b{font-size:13px;margin:5px 0}.ai-team strong{font-size:25px;color:#e1b850;line-height:1}.ai-team.mets strong{color:#c8cad3}.ai-team small{font-size:12px}.ai-team em,.ai-score-pred em{margin-top:4px;font-size:10px;color:#858793;font-style:normal}.ai-score-pred{background:linear-gradient(180deg,#211c12,#16171d);border-color:rgba(225,184,80,.35)}.ai-score-pred span{font-size:10px;color:#b7a373}.ai-score-pred b{font-size:29px;color:#f5dc8e;line-height:1.15}.ai-score-pred b i{font-style:normal;color:#74757c;margin:0 3px}.ai-winbar{height:9px;border-radius:999px;overflow:hidden;display:flex;background:#3a3b43}.ai-winbar i{display:block;height:100%}.ai-winbar i.wb-away{background:var(--blue)}.ai-winbar i.wb-home{background:var(--gold2)}.ai-win-labels{display:flex;justify-content:space-between;font-size:11px;color:#9da0aa;margin:6px 0 17px}.ai-win-labels b{color:#e7c45d}.ai-snapshot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.ai-snapshot>div{background:#15161c;border:1px solid #282a33;border-radius:11px;padding:10px;min-height:71px}.ai-snapshot span{display:block;color:#90929c;font-size:11px;margin-bottom:6px}.ai-snapshot b{font-size:13px}.ai-snapshot b small{font-size:10px;color:#aeb0bb}.ai-snapshot strong{font-size:10px;color:#e1b850;margin:0 3px}.ai-snapshot em{font-style:normal;font-size:10px;color:#8e909a;margin-left:4px}.ai-source-note{font-size:11px;line-height:1.5;margin:12px 0 0}@media(max-width:420px){.ai-feature-card h3{font-size:21px}.ai-scoreboard{gap:5px}.ai-team,.ai-score-pred{padding:10px 4px}.ai-team strong{font-size:22px}.ai-score-pred b{font-size:25px}.ai-snapshot>div{padding:8px}}
/* AI matchup section (先發投手對位／打線火力核心／後段調度) */
.ai-matchups{display:grid;gap:10px;margin:14px 0}.ai-matchups section{display:flex;align-items:flex-start;gap:12px;padding:12px 13px;border:1px solid #282a33;border-radius:12px;background:#131418}.matchup-icon{flex:0 0 34px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;background:linear-gradient(145deg,#221d12,#15161b);border:1px solid rgba(224,181,73,.28);color:#e4c06a}.ai-matchups section b{display:block;font-size:13px;color:var(--gold2);margin-bottom:4px}.ai-matchups section p{margin:0;font-size:12px;line-height:1.6;color:#c0c2c9}@media(max-width:420px){.ai-matchups section{padding:10px}}

/* AI confidence score label */
.ai-feature-card .confidence-score{position:relative;z-index:1;display:grid;justify-items:center;gap:2px;min-width:108px;line-height:1;color:#f2cf62;text-align:center}.ai-feature-card .confidence-score small{font:800 13px/1.2 system-ui,sans-serif;letter-spacing:.08em;color:#e4c06a}.ai-feature-card .confidence-score b{font:900 46px/1 Georgia,serif;color:#f4d56e}.ai-feature-card .confidence-score em{font:800 14px/1.1 system-ui,sans-serif;color:#c1a75e;font-style:normal}

/* AI confidence score simplified */
.ai-feature-card .confidence-score{padding-top:12px}.ai-feature-card .confidence-score b{margin-top:4px}

/* V2_AI_UPGRADE: Recommendation cards & analysis summary */
.ai-rec-section{margin-top:16px}.ai-rec-section h4{display:flex;align-items:center;gap:7px;font-size:13px;color:#f2cf62;margin:0 0 10px}.ai-rec-card{border-radius:12px;padding:13px 14px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-rec-primary{background:linear-gradient(135deg,#2b2415,#1a1b1f);border:1px solid rgba(224,181,73,.35)}.ai-rec-alt{background:linear-gradient(135deg,#1e1f22,#15161b);border:1px solid #282a33}.ai-rec-left{flex:1;min-width:0}.ai-rec-tag{font-size:9px;letter-spacing:.12em;font-weight:800;display:block;margin-bottom:4px}.ai-rec-tag.primary{color:#f4d56e}.ai-rec-tag.alt{color:#b8b9bf}.ai-rec-team{font-size:14px;font-weight:700}.ai-rec-detail{font-size:11px;color:#abacb4;margin-top:2px}.ai-rec-odds{text-align:right;flex-shrink:0}.ai-rec-odds span{display:block}.ai-rec-odds .odds-value{font-size:20px;font-weight:900;color:#f5dc8e;letter-spacing:-.01em}.ai-rec-odds .odds-label{font-size:10px;color:#9da0aa}.ai-rec-grade{display:inline-flex;align-items:center;justify-content:center;width:32px;height:22px;border-radius:6px;font-size:12px;font-weight:900;background:rgba(245,220,142,.15);color:#f5dc8e}.ai-rec-grade.alt-grade{background:rgba(255,255,255,.06);color:#b8b9bf}.ai-analysis-summary{margin-top:12px;padding:14px;border-radius:12px;border:1px solid #282a33;background:linear-gradient(135deg,#171a20,#131418)}.ai-analysis-summary h4{display:flex;align-items:center;gap:7px;font-size:13px;color:#e4c06a;margin:0 0 8px}.ai-analysis-summary ul{margin:0;padding:0;list-style:none}.ai-analysis-summary li{position:relative;padding:3px 0 3px 13px;font-size:12px;line-height:1.55;color:#c0c2c9}.ai-analysis-summary li:before{content:'';position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:#f0cc60}.ai-empty-state{text-align:center;padding:48px 20px}.ai-empty-state .icon{font-size:42px;display:block;margin-bottom:12px}.ai-empty-state h3{font-size:17px;margin:0 0 6px}.ai-empty-state p{font-size:12px;color:var(--muted);margin:0}
@media(max-width:420px){.ai-rec-card{flex-wrap:wrap;padding:11px 12px}.ai-rec-primary,.ai-rec-alt{flex-direction:column;align-items:flex-start}.ai-rec-odds{text-align:left;margin-top:4px}}

/* PROFILE CENTER REDESIGN */
.profile-vip-card{position:relative;overflow:hidden;display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:18px;border:1px solid #8f712d;border-radius:20px;background:linear-gradient(125deg,#30230d,#171614 58%,#111319)}.profile-vip-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-80px;top:-90px;background:#f3ca5d17}.profile-vip-shield{width:56px;height:64px;clip-path:polygon(50% 0,92% 15%,85% 71%,50% 100%,15% 71%,8% 15%);display:grid;place-items:center;font-size:28px;color:#ffe8a1;background:linear-gradient(135deg,#8e6418,#f5d26b 48%,#855b13);filter:drop-shadow(0 4px 8px #0008)}.profile-vip-card p{color:#c4a759;margin:0;font-size:10px;font-weight:900;letter-spacing:.12em}.profile-vip-card h3{font:900 25px Georgia,serif;margin:2px 0 5px}.profile-vip-card h3 small{font:700 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#ded2ad;margin-left:4px}.profile-vip-card span{font-size:12px;color:#b8b9bf}.profile-vip-next{text-align:right;z-index:1}.profile-vip-next b{display:block;color:#f1d878;font-size:13px}.profile-vip-next small{font-size:10px;color:#a9a7a1}.profile-vip-progress{position:absolute;left:18px;right:18px;bottom:10px;height:4px;background:#4a3d22;border-radius:99px}.profile-vip-progress i{display:block;height:100%;background:linear-gradient(90deg,#be922a,#f4d56c);border-radius:inherit}.profile-section{margin-top:28px}.profile-account-card{padding:16px;display:grid;grid-template-columns:52px 1fr;gap:12px;background:linear-gradient(145deg,#171921,#111219);border:1px solid var(--line);border-radius:16px}.profile-orb{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4a3915,#181a20);border:1px solid #91712e;color:var(--gold);font-weight:900;font-size:23px}.profile-name{display:flex;flex-direction:column;justify-content:center}.profile-name b{font-size:19px}.profile-name span{font-size:12px;color:var(--gold);margin-top:3px}.profile-account-card dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;margin:11px 0 0;padding-top:14px;border-top:1px solid var(--line)}.profile-account-card dt{font-size:11px;color:var(--muted);margin-bottom:5px}.profile-account-card dd{margin:0;font-size:15px;font-weight:800;word-break:break-word}.profile-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.profile-stat-grid article{min-height:112px;padding:15px;display:flex;flex-direction:column;background:linear-gradient(145deg,#171921,#111219);border:1px solid var(--line);border-radius:16px}.profile-stat-grid span,.profile-stat-grid small{color:var(--muted);font-size:12px}.profile-stat-grid b{margin-top:10px;font-size:21px}.profile-stat-grid small{margin-top:auto}.profile-security{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(145deg,#171921,#111219);border:1px solid var(--line);border-radius:16px}.profile-security b{display:block;font-size:16px}.profile-security span{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:4px}.profile-security form{display:grid;grid-template-columns:minmax(100px,1fr);gap:8px;min-width:185px}.profile-security input{min-height:40px;padding:8px 10px}.profile-security .btn{min-height:42px;padding:9px 13px}@media(max-width:420px){.profile-vip-card{grid-template-columns:52px 1fr}.profile-vip-shield{width:48px;height:55px;font-size:23px}.profile-vip-next{display:none}.profile-vip-card h3{font-size:22px}.profile-security{display:block}.profile-security form{margin-top:13px;min-width:0}}
/* GAMES COMPACT BALANCE */
.games-balance-mini{width:max-content;max-width:100%;margin:0 0 4px auto;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #775e2c;border-radius:999px;background:#15161bbd;color:#b9bac1;font-size:12px}.games-balance-mini b{color:#efd06a;font-size:17px;letter-spacing:.01em}.games-balance-mini i{font-style:normal;font-size:14px}.games-balance-mini+.league-board{margin-top:22px}@media(max-width:390px){.games-balance-mini{padding:8px 10px;gap:7px}.games-balance-mini b{font-size:16px}}
/* HEADER VIP TEXT ONLY */
.user-chip>.vip-badge{flex:0 0 46px;width:46px;height:30px;min-height:30px;padding:0 5px;gap:2px;justify-content:center;border:1px solid #9a792f;border-radius:10px;background:linear-gradient(145deg,#302714,#181714);box-shadow:none}.user-chip>.vip-badge:before,.user-chip>.vip-badge:after{display:none}.user-chip>.vip-badge b{font-size:11px;line-height:1}.user-chip>.vip-badge em{width:auto;min-width:0;height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:11px;line-height:1;color:#f5d97d}
/* HEADER VIP1 HORIZONTAL */
.user-chip>.vip-badge{flex-basis:45px;width:45px}.user-chip>.vip-badge b{font-size:12px;letter-spacing:.02em}.user-chip>.vip-badge em{display:none}

/* GAMES BALANCE IN HEADER */
.view-title-row{display:flex;align-items:center;gap:8px;min-width:0}.view-title-row h2{margin:0;white-space:nowrap}.game-header-balance{display:inline-flex;align-items:baseline;gap:4px;min-width:0;padding:5px 8px;border:1px solid #80672f;border-radius:999px;background:#1d1a12;color:#bbb8ad;line-height:1;white-space:nowrap}.game-header-balance small{font-size:9px;font-weight:700}.game-header-balance b{color:#efd069;font-size:13px;letter-spacing:.01em}.game-header-balance.hidden{display:none}@media(max-width:480px){.topbar{padding-left:16px;padding-right:14px}.view-title-row{gap:6px}.game-header-balance{padding:4px 7px}.game-header-balance small{font-size:8px}.game-header-balance b{font-size:12px}}
/* MLB team logo cards: visual-only */
.odds-team-main{display:flex;align-items:center;gap:9px;min-width:0}
.odds-team-main>div{min-width:0;overflow:hidden}
.mlb-team-logo{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:linear-gradient(145deg,#f1f3f5,#cfd4da);border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px 1px rgba(255,255,255,.8),0 1px 3px rgba(0,0,0,.28);overflow:hidden}
.mlb-team-logo img{width:27px;height:27px;object-fit:contain}
.mlb-team-logo i{font-style:normal;font-size:11px;font-weight:900;color:#222}
.mlb-team-logo.fallback{color:#222;font-size:11px;font-weight:900}
@media(max-width:700px){.odds-team{padding:10px 8px}.odds-team-main{gap:7px}.mlb-team-logo{width:29px;height:29px;flex-basis:29px}.mlb-team-logo img{width:25px;height:25px}}


/* Correct score collapsible control */
.score-market-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;min-height:44px}.score-market-toggle>span{display:grid;gap:2px}.score-market-toggle b{color:var(--gold2);font-size:13px}.score-market-toggle small{color:var(--muted);font-size:10px}.score-market-toggle i{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(212,175,55,.32);border-radius:50%;color:var(--gold2);font-style:normal;font-size:18px;line-height:1;transition:transform .2s ease,background .2s ease}.score-market-toggle:active i,.score-market-toggle:hover i{background:rgba(212,175,55,.12)}.score-market.open .score-market-toggle i{transform:rotate(180deg)}.score-options[hidden]{display:none}

/* Admin portal access: displayed only when server-returned role is Admin. */
.profile-admin-portal{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid rgba(212,175,55,.42);border-radius:18px;background:linear-gradient(135deg,rgba(212,175,55,.15),rgba(11,18,32,.94));color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.profile-admin-portal:hover{border-color:#f5c542;background:linear-gradient(135deg,rgba(212,175,55,.24),rgba(11,18,32,.94))}.profile-admin-portal b{display:block;font-size:18px;color:#f5c542}.profile-admin-portal small{display:block;margin-top:5px;color:#9ca3af}.profile-admin-portal i{font-size:25px;font-style:normal;color:#f5c542;line-height:1}

/* Lobster leaderboard visual layer: existing leaderboard data only. */
.v2-rank-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 22px;border:1px solid rgba(212,175,55,.42);border-radius:18px;background:linear-gradient(115deg,#211906,#0b1220 58%,#090d14);box-shadow:0 14px 30px rgba(0,0,0,.28)}.v2-rank-hero h2{margin:3px 0 4px;font-size:27px}.v2-rank-hero>div>span{font-size:13px;color:#9ca3af}.v2-rank-actions{display:flex;align-items:center;gap:14px;text-align:right;color:#9ca3af;font-size:11px;line-height:1.45}.v2-rank-actions b{color:#e5e7eb;font-size:12px}.v2-rank-my{min-height:40px;padding:0 14px;border:1px solid #d4af37;border-radius:10px;background:rgba(212,175,55,.12);color:#f5c542;font:inherit;font-weight:800}.v2-rank-podiums{display:grid;grid-template-columns:1fr 1.14fr 1fr;gap:16px;align-items:end;max-width:950px;margin:25px auto 18px}.v2-rank-podium{position:relative;min-height:218px;padding:31px 16px 17px;text-align:center;overflow:hidden;border:1px solid rgba(212,175,55,.28);border-radius:18px;background:linear-gradient(145deg,#101827,#080d16);box-shadow:0 12px 25px rgba(0,0,0,.28)}.v2-rank-podium:before{content:'';position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.07),transparent 35%);pointer-events:none}.v2-rank-podium.rank-1{min-height:260px;border-color:#e3be4a;background:radial-gradient(circle at 50% 12%,rgba(212,175,55,.29),transparent 34%),linear-gradient(145deg,#211a09,#0d1118)}.v2-rank-podium.rank-3{background:linear-gradient(145deg,#26150a,#11101a)}.v2-rank-medal{position:absolute;top:13px;left:14px;font-size:28px}.v2-rank-avatar{position:relative;display:grid;place-items:center;width:76px;height:76px;margin:0 auto 9px;border:3px solid #d4af37;border-radius:50%;background:linear-gradient(145deg,#f6e4a1,#6e5017);color:#1a1405;font-size:30px;font-weight:900;box-shadow:0 0 0 5px rgba(212,175,55,.12)}.v2-rank-avatar.small{flex:none;width:34px;height:34px;margin:0;border-width:1px;font-size:14px;box-shadow:none}.rank-2 .v2-rank-avatar{border-color:#94a3b8;background:linear-gradient(145deg,#dce5ee,#42536a)}.rank-3 .v2-rank-avatar{border-color:#d58a55;background:linear-gradient(145deg,#f2c3a3,#66311d)}.v2-rank-podium p{position:relative;margin:0;color:#aeb7c6;font-size:12px}.v2-rank-podium h3{position:relative;margin:4px 0 7px;font-size:22px}.v2-rank-tag{position:relative;display:inline-block;padding:4px 10px;border-radius:7px;background:#a51d22;color:#fff;font-size:11px;font-weight:800}.rank-2 .v2-rank-tag{background:#1d4ed8}.rank-3 .v2-rank-tag{background:#7e22ce}.v2-rank-podium>b{position:relative;display:block;margin:12px 0 4px;font-size:25px}.v2-rank-podium small{position:relative;color:#cbd5e1;font-size:11px}.v2-rank-highlight{display:flex;align-items:center;gap:17px;padding:16px 20px;border:1px solid rgba(212,175,55,.36);border-radius:16px;background:linear-gradient(100deg,rgba(212,175,55,.2),rgba(11,18,32,.94));margin-bottom:17px}.v2-rank-highlight>span{font-size:38px}.v2-rank-highlight p,.v2-rank-highlight h3{margin:0}.v2-rank-highlight h3{font-size:21px;margin:2px 0}.v2-rank-highlight>div>b{display:inline-block;color:#27d47e;font-size:17px;margin-right:10px}.v2-rank-highlight small{color:#d4dae3;font-size:12px}.v2-rank-note{margin-left:auto;max-width:360px;border-left:1px solid rgba(212,175,55,.28);padding-left:18px}.v2-rank-note b{color:#e9c65d}.v2-rank-note p{margin-top:5px;color:#c1c8d3;font-size:12px;line-height:1.55}.v2-rank-board{overflow:hidden;border:1px solid rgba(212,175,55,.3);border-radius:17px;background:rgba(9,14,23,.9)}.v2-rank-board-head{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.v2-rank-board-head h3{margin:2px 0 0;font-size:20px}.v2-rank-board-head>span{color:#aeb7c6;font-size:13px}.v2-rank-columns,.v2-rank-row{display:grid;grid-template-columns:1.6fr .8fr .9fr .58fr .58fr .62fr .68fr;gap:8px;align-items:center}.v2-rank-columns{padding:11px 20px;background:rgba(255,255,255,.025);font-size:12px;color:#98a2b2}.v2-rank-row{padding:13px 20px;border-top:1px solid rgba(255,255,255,.07);font-size:13px}.v2-rank-row.is-me{background:linear-gradient(90deg,rgba(212,175,55,.16),rgba(212,175,55,.025))}.v2-rank-member{display:flex;align-items:center;gap:9px;min-width:0}.v2-rank-no{width:24px;text-align:center;color:#f0c955;font-size:18px;font-weight:900}.v2-rank-member b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-rank-member small{display:block;color:#e7bd51;font-size:10px;margin-top:2px}.v2-rank-metric span{display:none}.v2-rank-metric b{font-weight:700}.v2-rank-metric.profit b{font-size:15px}@media(max-width:760px){.v2-rank-hero{display:block;padding:17px}.v2-rank-hero h2{font-size:24px}.v2-rank-actions{justify-content:space-between;margin-top:14px;text-align:left}.v2-rank-podiums{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 13px}.v2-rank-podium.rank-1{order:-1;grid-column:1/-1;min-height:225px}.v2-rank-podium{min-height:190px;padding:30px 8px 13px}.v2-rank-avatar{width:64px;height:64px;font-size:25px}.v2-rank-podium>b{font-size:20px}.v2-rank-highlight{align-items:flex-start;gap:10px;padding:15px}.v2-rank-highlight>span{font-size:29px}.v2-rank-note{display:none}.v2-rank-columns{display:none}.v2-rank-row{grid-template-columns:1fr auto;gap:7px;padding:13px}.v2-rank-member{grid-column:1;grid-row:1}.v2-rank-metric{font-size:12px;color:#cbd5e1}.v2-rank-metric span{display:inline;color:#8893a3;margin-right:4px}.v2-rank-metric:nth-of-type(1){grid-column:1;grid-row:2}.v2-rank-metric:nth-of-type(2){grid-column:2;grid-row:2}.v2-rank-metric:nth-of-type(3){grid-column:1;grid-row:3}.v2-rank-metric:nth-of-type(4){grid-column:2;grid-row:3}.v2-rank-metric:nth-of-type(5){grid-column:1;grid-row:4}.v2-rank-metric:nth-of-type(6){grid-column:2;grid-row:4}.v2-rank-metric b{font-size:12px}.v2-rank-metric.profit b{font-size:13px}}

/* LEADERBOARD_V2_PERIOD_TOGGLE: 本月／全部歷史切換，沿用 .currency-toggle 的視覺語彙但獨立命名，避免與既有 .currency-btn 全域 onclick 綁定衝突 */
.v2-rank-period-toggle{display:flex;gap:6px}.v2-rank-period-btn{border:1px solid rgba(212,175,55,.35);background:#15171c;color:#9ca3af;border-radius:99px;padding:7px 12px;font-size:12px;font-weight:800;cursor:pointer;transition:.15s}.v2-rank-period-btn.active{border-color:#d4af37;background:rgba(212,175,55,.16);color:#f5c542}.v2-rank-period-btn:hover{border-color:#d4af37}@media(max-width:760px){.v2-rank-actions{flex-wrap:wrap;gap:10px}.v2-rank-period-toggle{order:-1;width:100%;justify-content:flex-start}}

/* LEADERBOARD_V2_DUAL_CURRENCY: 前台排行榜同頁上下顯示 TWD／LOBSTER 兩個榜（各前3名）＋「我的排名」，沿用既有 v2-rank-* 卡片樣式，僅新增排版容器樣式，不改動既有 class 定義 */
.v2-rank-dual-board{display:flex;flex-direction:column;gap:22px;margin-top:6px}
.v2-rank-currency-board{overflow:hidden;border:1px solid rgba(212,175,55,.3);border-radius:17px;background:rgba(9,14,23,.9);padding-bottom:18px}
.v2-rank-currency-board .v2-rank-podiums{margin:22px auto 4px;padding:0 20px}
.v2-rank-mine-label{padding:14px 20px 0}
.v2-rank-mine-label .eyebrow{margin:0}
@media(max-width:760px){.v2-rank-dual-board{gap:16px}.v2-rank-currency-board .v2-rank-podiums{margin:16px 0 2px;padding:0 10px}.v2-rank-mine-label{padding:12px 13px 0}}

/* ODDS_CELL_SELECTED_BG_FIX: .legacy-day .odds-cell (LEGACY_MLB_READONLY_UI) has the same
   specificity as .odds-cell.selected and comes later in the file, so it was winning the
   cascade and blanking out the selected background on the schedule board. Scope the
   selected-state background explicitly under .legacy-day so it always wins there. */
.legacy-day .odds-cell.selected,.legacy-day .odds-cell.selected:hover{background:var(--coffee)}

/* DAILY_SPIN_V1 */
.daily-spin-section{margin-top:20px}
.daily-spin-trigger{display:flex;align-items:center;gap:14px;width:100%;border:1px solid #8f712d;border-radius:16px;padding:16px;background:linear-gradient(125deg,#30230d,#171614 60%,#111319);color:var(--ink);cursor:pointer;text-align:left}
.daily-spin-trigger:hover{border-color:var(--gold)}
.daily-spin-trigger.claimed{cursor:default;filter:grayscale(1);opacity:.55;border-color:var(--line);background:#15171c}
.daily-spin-trigger-icon{flex:0 0 46px;font-size:28px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#00000030}
.daily-spin-trigger-text b{display:block;font-size:15px}
.daily-spin-trigger-text small{color:var(--muted);font-size:12px}
.spin-modal-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#000a;padding:20px}
.spin-modal-card{position:relative;width:min(360px,92vw);text-align:center}
.spin-wheel-wrap{position:relative;width:220px;height:220px;margin:18px auto}
.spin-wheel{width:220px;height:220px;border-radius:50%;border:7px solid var(--ink);box-shadow:0 14px 38px rgba(0,0,0,.55),0 0 0 6px rgba(255,255,255,.06),0 0 46px rgba(212,175,55,.28),inset 0 0 26px rgba(0,0,0,.4),inset 0 0 4px rgba(255,255,255,.28);position:relative;overflow:hidden;background:#1c1710}
.spin-wheel:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.32),rgba(255,255,255,0) 42%),radial-gradient(circle at 50% 104%,rgba(0,0,0,.28),transparent 58%);pointer-events:none}
.spin-wheel-labels{position:absolute;inset:0;border-radius:50%;overflow:hidden;z-index:1;pointer-events:none}
.spin-wheel-label{position:absolute;left:50%;top:50%;transform-origin:0 0;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:900;color:#fff8e6;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.55),0 0 4px rgba(0,0,0,.5),0 0 1px rgba(0,0,0,.9)}
.spin-reward-icon{font-size:1.05em;line-height:1}
.spin-reward-amount{line-height:1}
.spin-wheel-pointer{position:absolute;left:50%;top:-16px;transform:translateX(-50%) scale(1.1);font-size:22px;color:var(--gold2);z-index:2;filter:drop-shadow(0 3px 4px rgba(0,0,0,.65)) drop-shadow(0 0 3px rgba(0,0,0,.5))}
.spin-wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:radial-gradient(circle at 32% 28%,#f4f4f4,#c9ccd2 38%,#8a8f99 70%,#5b606b 100%);border:2px solid #eef0f3;box-shadow:0 0 0 4px rgba(0,0,0,.35),0 4px 10px rgba(0,0,0,.5),0 0 20px rgba(255,225,150,.5),inset 0 2px 3px rgba(255,255,255,.65),inset 0 -3px 5px rgba(0,0,0,.4);z-index:3}
.spin-odds-table{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#14151a;text-align:left}
.spin-odds-title{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.spin-odds-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:13px;color:var(--ink)}
.spin-odds-row+.spin-odds-row{border-top:1px solid var(--line)}
.spin-odds-label{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.spin-odds-pct{font-weight:900;color:var(--gold2)}
.spin-go-btn{width:100%;margin-top:6px;transition:transform .12s ease}
.spin-go-btn:active{transform:scale(.98)}
.spin-go-btn:disabled{opacity:.72;cursor:default}
.spin-close-btn{width:100%;margin-top:10px;background:transparent;border:1px solid var(--line);color:var(--muted)}
.spin-result{margin-top:14px;padding:12px;border-radius:12px;background:#173528;color:var(--green);font-weight:900}
.spin-result span{display:flex;align-items:center;justify-content:center;gap:6px;font-size:20px;margin-top:4px;color:var(--gold2)}
.spin-confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6;border-radius:inherit}
.spin-confetti-piece{position:absolute;top:-12px;width:7px;height:13px;border-radius:2px;animation-name:spinConfettiFall;animation-timing-function:ease-in;animation-fill-mode:forwards}
@keyframes spinConfettiFall{0%{transform:translateY(-10px) rotate(0deg);opacity:1}100%{transform:translateY(360px) rotate(340deg);opacity:0}}
.spin-coin-piece{position:absolute;left:50%;top:50%;font-size:18px;pointer-events:none;animation:spinCoinBurst 1.1s ease-out forwards}
@keyframes spinCoinBurst{0%{transform:translate(-50%,-50%) rotate(var(--ang,0deg)) translateX(0) rotate(calc(var(--ang,0deg) * -1));opacity:1}100%{transform:translate(-50%,-50%) rotate(var(--ang,0deg)) translateX(92px) rotate(calc(var(--ang,0deg) * -1));opacity:0}}
@media(max-width:420px){.spin-wheel-wrap,.spin-wheel{width:190px;height:190px}}

/* AI_V3_MULTI_CARD_LAYOUT_20260726: mlb_analysis_v3.json 可能回傳 1～3 場，逐筆渲染卡片，桌面並排、手機直向 */
.ai-v3-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;margin:16px 0}
.ai-v3-grid .ai-feature-card{grid-column:auto}
@media(max-width:980px){.ai-v3-grid{grid-template-columns:1fr}}
.badge.side-home{background:linear-gradient(135deg,#3a3018,#2a2417);color:var(--gold2);font-size:19px;font-weight:900;padding:10px 20px;letter-spacing:.03em;box-shadow:0 0 0 1px rgba(244,217,130,.4),0 4px 16px rgba(244,217,130,.3)}
.badge.side-away{background:linear-gradient(135deg,#243b58,#1c2b42);color:var(--blue);font-size:19px;font-weight:900;padding:10px 20px;letter-spacing:.03em;box-shadow:0 0 0 1px rgba(110,168,255,.4),0 4px 16px rgba(110,168,255,.3)}
/* AI_V3_UPSET_PROBABILITY_MIDDLE_20260726: 中間欄位改為顯示「爆冷機率」大字，字級比照右上角信心指數的數字，
   讓左（客勝/主勝徽章）中（爆冷機率）右（信心指數）三個區塊視覺份量更平衡；原本的客/主獨贏賠率數字
   不丟掉，縮小成 .ai-score-pred em（沿用既有「標籤在上、數字在下、下方 em 說明文字」樣式）放在下方當輔助小字 */
.ai-score-pred .ai-upset-value{display:block;font:900 46px/1 Georgia,serif;color:#f5dc8e;margin-top:2px}
.ai-score-pred .ai-upset-value small{font:800 16px/1 system-ui,sans-serif;color:#e4c06a;margin-left:2px}
@media(max-width:420px){.ai-score-pred .ai-upset-value{font-size:34px}.ai-score-pred .ai-upset-value small{font-size:13px}}
/* AI_RATING_V1: 正式 JSON rating 的視覺呈現；前端不計算評級。 */
.ai-rating-panel{background:linear-gradient(180deg,#211c12,#16171d);border-color:rgba(225,184,80,.35)}
.ai-score-pred .ai-rating-grade{display:block;font:900 40px/1 Georgia,serif;color:#f5dc8e;margin:3px 0;text-shadow:0 0 12px rgba(245,220,142,.22)}
.ai-rating-panel .ai-rating-ev{display:block;margin-top:3px;color:#aeb0bb;font-size:10px;line-height:1.2}
.ai-rating-panel.rating-s{border-color:#b16bea;background:linear-gradient(180deg,#2b1838,#18131f)}
.ai-rating-panel.rating-s .ai-rating-grade{color:#da9cff}.ai-rating-panel.rating-aplus .ai-rating-grade,.ai-rating-panel.rating-a .ai-rating-grade{color:#91e2a5}
.ai-rating-panel.rating-aminus .ai-rating-grade{color:#f5dc8e}.ai-rating-panel.rating-b .ai-rating-grade{color:#ffb66f}
.ai-rating-panel.rating-c .ai-rating-grade{color:#d1d3da}.ai-rating-panel.rating-d .ai-rating-grade{color:#ff8585}
.ai-rating-panel.rating-missing .ai-rating-grade{color:#aeb0bb}
@media(max-width:420px){.ai-score-pred .ai-rating-grade{font-size:32px}}
.ai-feature-card .ai-team .mlb-team-logo{margin-bottom:4px}
.ai-dim-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}
.ai-dim-list li{display:grid;grid-template-columns:20px 1fr;column-gap:10px;padding:10px 12px;border:1px solid #282a33;border-radius:10px;background:#131418}
.ai-dim-list li .dim-icon{grid-row:1/3;display:grid;place-items:center;font-size:14px;font-weight:900}
.ai-dim-list li b{grid-column:2;font-size:12px;color:var(--gold2)}
.ai-dim-list li p{grid-column:2;margin:2px 0 0;font-size:12px;line-height:1.6;color:#c0c2c9}
.ai-dim-list li.ok .dim-icon{color:var(--green)}
.ai-dim-list li.warn .dim-icon{color:var(--red)}
.ai-dim-list li.neutral .dim-icon{color:var(--muted)}
@media(max-width:420px){.ai-dim-list li{padding:9px 10px}}

/* AI_CARD_PROMINENCE_V1 20260726: 加強左上角客勝/主勝徽章與右上角信心指數區塊的視覺份量，
   信心指數背後的發光圓角改為卡片自身的 :after 覆寫（不動共用的 .ai-card:after），
   避免影響其他仍在使用 .ai-card 基底樣式的既有畫面 */
.ai-feature-card:after{width:210px;height:210px;right:-68px;top:-68px;background:#d8b45a22}
@media(max-width:420px){
.badge.side-home,.badge.side-away{font-size:15px;padding:8px 15px}
.ai-feature-card .confidence-score{min-width:88px}
.ai-feature-card .confidence-score b{font-size:34px}
.ai-feature-card .confidence-score small{font-size:11px}
.ai-feature-card .confidence-score em{font-size:12px}
.ai-feature-card:after{width:160px;height:160px;right:-52px;top:-52px}
}
/* DAILY_SPIN_V2: presentation only; reward selection remains in daily_spin_claim. */
.spin-modal-overlay{background:rgba(3,4,6,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.spin-modal-card{width:min(390px,94vw);overflow:hidden;border:1px solid rgba(235,192,81,.72);background:linear-gradient(145deg,#202125,#101114 62%,#171209);box-shadow:0 25px 70px #000c,0 0 0 1px #fff1 inset}.spin-modal-card>.eyebrow{color:#f4d47d}.spin-wheel-wrap{width:250px;height:250px;margin:22px auto 18px}.spin-wheel{width:250px;height:250px;border:7px solid #d9b65b;box-shadow:0 14px 42px #000b,0 0 0 3px #352711,0 0 28px rgba(237,194,79,.45),inset 0 0 26px #0009;isolation:isolate}.spin-wheel:after{content:'';position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -90deg,transparent 0deg,transparent 1deg,rgba(231,194,94,.76) 1.3deg,rgba(231,194,94,.76) 2deg,transparent 2.3deg,transparent 90deg);mix-blend-mode:screen;pointer-events:none}.spin-wheel:before{background:radial-gradient(circle at 48% 24%,rgba(255,246,204,.2),transparent 31%),radial-gradient(circle at 50% 108%,#0009,transparent 57%)}.spin-led-ring{position:absolute;inset:-13px;border-radius:50%;z-index:4;pointer-events:none}.spin-led{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#d4a83e;box-shadow:0 0 5px #f7df85;transform:rotate(calc(var(--led)*6.428571deg)) translateY(-136px);opacity:.62}.is-spinning .spin-led{animation:spinLedChase .7s linear infinite;animation-delay:calc(var(--led)*-.0125s)}.spin-wheel-pointer{top:-27px;transform:translateX(-50%) scale(1.48);font-size:24px;color:#ffe48d;text-shadow:0 0 8px #e5ad35,0 4px 8px #000;filter:drop-shadow(0 0 7px rgba(255,215,112,.85));z-index:6}.spin-wheel-hub{width:68px;height:68px;font-size:28px;border:2px solid #ffe39a;background:radial-gradient(circle at 32% 25%,#fff7c3,#e5bc54 35%,#7d5617 72%,#34210d);box-shadow:0 0 0 5px #151108,0 5px 14px #000b,0 0 28px rgba(252,212,100,.9),inset 0 2px 5px #fff8;z-index:7;transition:transform .25s ease,filter .25s ease}.spin-active .spin-wheel-hub{transform:translate(-50%,-50%) scale(1.08);filter:brightness(1.16)}.is-winner .spin-wheel-hub{animation:spinHubWin .4s ease-out both}.spin-wheel-label{z-index:5;font:900 13px/1.05 ui-monospace,"DSEG7 Classic","DS-Digital",monospace;color:#ffe690;text-shadow:0 1px 2px #000,0 0 9px #d49a22}.spin-reward-value{display:grid;justify-items:center;gap:4px}.spin-reward-value b{font:900 17px/1 ui-monospace,"DSEG7 Classic","DS-Digital",monospace;letter-spacing:.04em;color:#ffe28a;text-shadow:0 0 9px rgba(255,199,56,.7)}.spin-reward-value small{font-size:10px;letter-spacing:1px;line-height:1.1}.spin-odds-table{border-color:rgba(222,178,71,.45);background:linear-gradient(135deg,#161719,#0e0f11)}.spin-odds-title{text-align:center;color:#d9b65b}.spin-reward-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.spin-reward-guide>div{min-width:0;display:grid;place-items:center;padding:8px 3px;border:1px solid #373027;border-radius:10px;background:#111216}.spin-go-btn{min-height:52px;border-radius:18px;border:1px solid #f5d97f;background:linear-gradient(135deg,#19140b,#6f4d15 48%,#1b150b);box-shadow:0 7px 22px #0008,0 0 20px rgba(225,177,55,.22);font-weight:900;color:#ffe9a5}.spin-go-btn:hover:not(:disabled){filter:brightness(1.22);box-shadow:0 8px 25px #0008,0 0 28px rgba(247,207,94,.48)}.spin-go-btn:active{transform:scale(.97)}.spin-result{border:1px solid rgba(244,210,111,.6);background:linear-gradient(135deg,#241d0d,#17130b);color:#ffe7a0;animation:spinResultPop .4s ease-out both}.spin-result span{color:#ffe58c}.spin-confetti-piece{background:#dfb24d!important}.spin-modal-card .spin-close-btn{border-color:#4a4439;color:#c5c0b4}@keyframes spinLedChase{0%,38%{opacity:1;box-shadow:0 0 10px #ffe994}39%,100%{opacity:.2;box-shadow:0 0 2px #7e5b16}}@keyframes spinHubWin{0%{transform:translate(-50%,-50%) scale(1)}55%{transform:translate(-50%,-50%) scale(1.25);filter:brightness(1.5)}100%{transform:translate(-50%,-50%) scale(1)}}@keyframes spinResultPop{0%{transform:scale(.88);opacity:0}100%{transform:scale(1);opacity:1}}@media(max-width:420px){.spin-wheel-wrap,.spin-wheel{width:220px;height:220px}.spin-led{transform:rotate(calc(var(--led)*6.428571deg)) translateY(-121px)}.spin-wheel-label{font-size:11px}.spin-reward-value b{font-size:14px}.spin-reward-guide{gap:4px}}
/* Daily Spin V2: the wheel itself is intentionally label-free. */
.spin-wheel-pointer{width:0;height:0;font-size:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:30px solid #ffe48d;top:-18px;filter:drop-shadow(0 0 7px rgba(255,215,112,.85)) drop-shadow(0 4px 8px #000)}
.spin-wheel:after{background:repeating-conic-gradient(from -90deg,transparent 0deg,transparent 16.8deg,rgba(231,194,94,.76) 17deg,rgba(231,194,94,.76) 18deg)}
.spin-wheel-labels{z-index:5}.spin-wheel-label{width:18px;justify-content:center;font:900 16px/1 ui-monospace,"DSEG7 Classic","DS-Digital",monospace;color:#ffe690;text-shadow:0 1px 2px #000,0 0 9px #d49a22}
.spin-wheel-wrap,.spin-wheel{width:270px;height:270px}.spin-led{transform:rotate(calc(var(--led)*6.428571deg)) translateY(-146px)}.spin-wheel-hub{width:58px;height:58px}.spin-wheel-label{margin:-8px 0 0 -9px}@media(max-width:420px){.spin-wheel-wrap,.spin-wheel{width:235px;height:235px}.spin-led{transform:rotate(calc(var(--led)*6.428571deg)) translateY(-128px)}.spin-wheel-hub{width:56px;height:56px}.spin-wheel-label{margin:-8px 0 0 -9px}}
.spin-wheel-rotor{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}.spin-wheel-label{transform:translate(-50%,-50%);transform-origin:center center}

/* AI_RATING_HISTORY_20260729: 歷史戰績卡片，沿用既有 .card / .eyebrow / .muted 樣式與 rating 配色（S紫/A+A綠/A-黃），不重做整頁 */
.ai-hist-section-head{margin-top:26px}
.ai-hist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0 4px}
.ai-hist-card{padding:16px}
.ai-hist-card.overall{border-color:rgba(216,180,90,.45)}
.ai-hist-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.ai-hist-head b{font-size:15px}
.ai-hist-head span{font-size:10px;color:var(--muted);white-space:nowrap}
.ai-hist-line{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;color:var(--muted)}
.ai-hist-line b{color:var(--ink);font-size:13px;font-weight:800}
.ai-hist-empty{padding:10px 0;font-size:12px;text-align:center}
.ai-hist-note{margin-top:10px;font-size:10px;line-height:1.5}
.ai-hist-card.rating-s{border-color:rgba(177,107,234,.55)}
.ai-hist-card.rating-s .ai-hist-head b{color:#da9cff}
.ai-hist-card.rating-aplus .ai-hist-head b,.ai-hist-card.rating-a .ai-hist-head b{color:#91e2a5}
.ai-hist-card.rating-aplus,.ai-hist-card.rating-a{border-color:rgba(145,226,165,.4)}
.ai-hist-card.rating-aminus{border-color:rgba(245,220,142,.45)}
.ai-hist-card.rating-aminus .ai-hist-head b{color:#f5dc8e}
@media(max-width:820px){.ai-hist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-hist-grid .ai-hist-card.overall{grid-column:1/-1}}
@media(max-width:380px){.ai-hist-grid{grid-template-columns:1fr}}

/* LOBSTER_TREASURE_HOME_CARD */
.treasure-home-card{display:grid;gap:18px;margin:18px 0;padding:22px;border:1px solid rgba(216,180,90,.4);border-radius:20px;background:linear-gradient(120deg,#241c08,#111318 55%,#0d1420);box-shadow:0 16px 34px rgba(0,0,0,.3)}
.treasure-home-main{min-width:0}
.treasure-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.treasure-home-heading .eyebrow{margin-bottom:2px}
.treasure-home-status{flex:none;display:inline-flex;align-items:center;max-width:48%;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#15171c;font-size:11px;font-weight:800;line-height:1.35;white-space:nowrap}
.treasure-home-status--open{border-color:#32684c;color:#8edbb0}.treasure-home-status--coming{border-color:#454952;color:#a8adb8}.treasure-home-status--maintenance{border-color:#7a5420;color:#f0bd66}.treasure-home-status--unknown{border-color:#50545c;color:#c7ccd5}
.treasure-home-main h3{margin:2px 0 8px;font-size:24px}
.treasure-home-desc{margin:0 0 12px;color:#cfd2da;font-size:13px;line-height:1.6}
.treasure-home-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.treasure-home-meta span{padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--gold2);font-size:12px;font-weight:700;background:#15171c}
.treasure-home-cta{display:inline-flex;align-items:center;justify-content:center;min-height:60px;width:min(100%,340px);padding:0 26px;border-radius:16px;text-decoration:none;font-size:16px;font-weight:900;letter-spacing:.02em;transition:transform .18s ease,box-shadow .22s ease,filter .22s ease}
.treasure-home-cta.is-ready{box-shadow:0 0 0 1px rgba(255,217,113,.28),0 10px 26px rgba(202,151,34,.28);animation:treasureCtaGlow 2.25s ease-in-out infinite}
.treasure-home-cta.is-ready:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,228,139,.5),0 14px 30px rgba(227,174,44,.42);filter:brightness(1.05)}
.treasure-home-cta.is-ready:active{transform:scale(.98)}
.treasure-home-cta:disabled{background:none;border:1px solid var(--line);color:var(--muted);cursor:not-allowed;opacity:.7}
.treasure-home-rank{min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#0e0f13}
.treasure-home-rank>.eyebrow{margin-bottom:10px}
.treasure-rank-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #222530;font-size:13px}
.treasure-rank-row:last-of-type{border-bottom:0}
.treasure-rank-row b{color:var(--gold);width:16px}
.treasure-rank-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.treasure-rank-row em{font-style:normal;color:var(--gold2);font-weight:800}
.treasure-rank-empty{padding:10px 0;color:var(--muted);font-size:12px;text-align:center}
.treasure-home-rank-more{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:12px;padding:0 10px;border:1px solid rgba(216,180,90,.38);border-radius:10px;color:var(--gold2);font-size:12px;font-weight:800;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.treasure-home-rank-more:hover{border-color:var(--gold);background:#252012;transform:translateY(-1px)}.treasure-home-rank-more:active{transform:scale(.98)}
.treasure-home-free{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid #6e5724;border-radius:16px;background:linear-gradient(120deg,#211a0c,#15171c)}
.treasure-home-free h4{margin:4px 0 0;font-size:15px}
.treasure-home-free-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:10px;text-decoration:none;font-weight:900;flex:none}
.treasure-home-free-cta:not(.primary){border:1px solid var(--line);color:var(--muted)}
@keyframes treasureCtaGlow{0%,100%{filter:brightness(1);box-shadow:0 0 0 1px rgba(255,217,113,.28),0 10px 26px rgba(202,151,34,.28)}50%{filter:brightness(1.08);box-shadow:0 0 0 1px rgba(255,228,139,.45),0 12px 30px rgba(227,174,44,.42)}}
@media(max-width:760px){.treasure-home-card{gap:16px;padding:18px}.treasure-home-cta{width:100%}.treasure-home-free{flex-direction:column;align-items:flex-start}.treasure-home-free-cta{width:100%}}
@media(prefers-reduced-motion:reduce){.treasure-home-cta.is-ready{animation:none}.treasure-home-cta,.treasure-home-rank-more{transition:none}}

/* LOBSTER_TREASURE_GAME_PAGE */
.treasure-page{max-width:720px;margin:0 auto;padding:18px 16px 60px}
.treasure-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.treasure-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:800}
.treasure-back:hover{color:var(--gold2)}
.treasure-wallet-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#15171c;color:#f2a47d;font-weight:900;font-size:13px}
.treasure-hero{text-align:center;margin-bottom:18px}
.treasure-hero h1{margin:6px 0 4px;font-size:26px}

/* GOLDEN_MASTER_LOGIN_V1 */
#auth.auth-shell{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 900px 560px at 50% -10%,#1c2233 0%,transparent 55%),radial-gradient(ellipse 700px 500px at 85% 100%,#171106 0%,transparent 60%),linear-gradient(180deg,#0D0F14 0%,#0D0F14 45%,#0D0F14 100%);padding-top:max(28px,calc(env(safe-area-inset-top) + 16px));padding-bottom:max(28px,calc(env(safe-area-inset-bottom) + 16px));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.auth-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.auth-seam{position:absolute;border:1px dashed rgba(201,166,74,.1);border-radius:50%;opacity:.55}
.auth-seam-a{width:900px;height:900px;left:50%;top:-560px;transform:translateX(-50%) rotate(8deg)}
.auth-seam-b{width:760px;height:760px;left:50%;bottom:-540px;transform:translateX(-50%) rotate(-6deg)}
.auth-spark{position:absolute;width:3px;height:3px;border-radius:50%;background:radial-gradient(circle,#F3E0A3,transparent 70%);opacity:.5;animation:authSparkFloat 12s ease-in-out infinite}
.auth-spark.s1{left:18%;top:22%;animation-delay:0s}
.auth-spark.s2{left:78%;top:34%;animation-delay:3.2s}
.auth-spark.s3{left:60%;top:74%;animation-delay:6.4s}
@keyframes authSparkFloat{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-16px);opacity:.7}}
.auth-shell .login-card.gm-card{position:relative;z-index:1;width:min(420px,calc(100vw - 32px));padding:30px 26px 26px;text-align:center;border-radius:20px;border:1px solid rgba(201,166,74,.32);background:linear-gradient(165deg,rgba(19,21,27,.86),rgba(11,12,15,.9));box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(201,166,74,.05) inset;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.gm-emblem{width:76px;height:82px;margin:0 auto 18px;display:grid;place-items:center;clip-path:polygon(50% 0,94% 15%,88% 72%,50% 100%,12% 72%,6% 15%);border:1px solid rgba(201,166,74,.55);background:linear-gradient(150deg,#241d10,#0c0d10);box-shadow:0 10px 30px rgba(0,0,0,.4);font:900 28px/1 Georgia,serif;color:#F3E0A3}
.gm-subtitle{margin:10px 0 4px;color:#F3E0A3;font-size:15px;font-weight:800;letter-spacing:.34em;text-transform:uppercase}
.gm-tagline{margin:0 0 22px;color:var(--muted);font-size:12px;letter-spacing:.04em}
.gm-form{text-align:left}
.auth-shell .gm-form input{min-height:56px;background:#0a0c0f;border:1px solid rgba(201,166,74,.16);border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease}
.auth-shell .gm-form input:focus{border-color:#C9A64A;box-shadow:0 0 0 3px rgba(201,166,74,.14)}
.pass-field{position:relative}
.pass-field input{width:100%;padding-right:44px}
.pass-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;border-radius:8px}
.pass-toggle:hover{color:#F3E0A3}
.pass-toggle:focus-visible{outline:2px solid #C9A64A;outline-offset:2px}
.auth-shell .gm-form .btn.primary{min-height:56px;background:linear-gradient(135deg,#C9A64A,#F3E0A3 55%,#C9A64A);color:#171208;font-weight:900;box-shadow:0 12px 30px rgba(201,166,74,.22);transition:transform .15s ease,box-shadow .15s ease}
.auth-shell .gm-form .btn.primary:active{transform:scale(.97);box-shadow:0 6px 16px rgba(201,166,74,.2)}
.auth-shell .gm-form .btn.primary:disabled{opacity:.7;cursor:default}
.gm-status{margin:18px 0 6px;color:var(--muted);font-size:12px;font-weight:700}
.gm-status-dot{color:var(--green);margin-right:2px;display:inline-block;animation:gmStatusPulse 2.4s ease-in-out infinite}
@keyframes gmStatusPulse{0%,100%{opacity:1}50%{opacity:.45}}
.gm-version{margin:0;color:#6c7280;font-size:10px;letter-spacing:.06em}
@media(max-width:560px){.auth-shell .login-card.gm-card{padding:26px 20px 22px}.gm-emblem{width:66px;height:66px}}
@media(prefers-reduced-motion:reduce){.auth-spark{animation:none;opacity:.4}.gm-status-dot{animation:none}}

/* GOLDEN_MASTER_LOGIN_V2 */
.gm-emblem{width:92px;height:100px;margin:0 auto 10px;border:0;border-radius:0;background:none;box-shadow:none;display:block}
.gm-emblem-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 16px rgba(0,0,0,.4));transition:filter .5s ease}
.gm-seal{display:inline-flex;align-items:center;gap:6px;margin:6px auto 4px;padding:5px 12px;border:1px solid rgba(201,166,74,.4);border-radius:999px;background:linear-gradient(120deg,rgba(201,166,74,.14),rgba(201,166,74,.03));color:#F3E0A3;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.gm-seal-dot{color:var(--green);font-size:9px;letter-spacing:0}
.gm-seal-sub{margin-left:2px;padding-left:8px;border-left:1px solid rgba(201,166,74,.3);color:#c9ad6b;font-size:9px;font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:none}
.gm-input-wrap{position:relative}
.gm-input-wrap .gm-input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6;pointer-events:none}
.gm-input-wrap input{padding-left:36px}
.gm-secure{margin:6px 0 0;color:#5f8f78;font-size:10px;letter-spacing:.04em}

.auth-spark.s4{left:35%;top:56%;animation-delay:1.6s}
.auth-spark.s5{left:88%;top:64%;animation-delay:4.8s}
.auth-beam{position:absolute;width:2px;height:130%;top:-15%;background:linear-gradient(180deg,transparent,rgba(243,224,163,.16) 45%,transparent 90%);opacity:.5;animation:authBeamDrift 16s ease-in-out infinite}
.auth-beam-a{left:28%;transform:rotate(11deg);animation-delay:0s}
.auth-beam-b{left:70%;transform:rotate(-9deg);animation-delay:6s}
@keyframes authBeamDrift{0%,100%{opacity:.28}50%{opacity:.55}}
.auth-stitch{position:absolute;inset:0;width:100%;height:100%;opacity:.05}

.gm-submit{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.gm-submit-arrow{transition:opacity .15s ease,transform .15s ease}
.gm-spinner{display:none;width:15px;height:15px;border:2px solid rgba(23,18,8,.35);border-top-color:#171208;border-radius:50%}
.gm-submit.is-loading .gm-spinner{display:inline-block;animation:gmSpin .7s linear infinite}
.gm-submit.is-loading .gm-submit-arrow{opacity:0;transform:translateX(4px)}
.gm-ripple{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),rgba(243,224,163,.28) 60%,transparent 72%);transform:scale(0);animation:gmRipple .5s ease-out;pointer-events:none}
@keyframes gmRipple{to{transform:scale(1);opacity:0}}
@keyframes gmSpin{to{transform:rotate(360deg)}}

.auth-shell.gm-success .gm-emblem-svg{filter:drop-shadow(0 0 18px rgba(243,224,163,.95)) drop-shadow(0 0 42px rgba(201,166,74,.55))}
.auth-shell.gm-success .auth-bg{animation:gmBgFlare .5s ease forwards}
.auth-shell.gm-success .login-card{animation:gmCardOut .28s ease forwards .2s}
@keyframes gmBgFlare{0%{filter:brightness(1)}100%{filter:brightness(1.35)}}
@keyframes gmCardOut{to{opacity:0;transform:scale(.97) translateY(-6px)}}
#app.gm-fade-in{animation:gmAppIn .32s ease}
@keyframes gmAppIn{from{opacity:0}to{opacity:1}}

@media(max-width:560px){.gm-emblem{width:76px;height:82px}.gm-seal{padding:4px 10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.auth-beam,.auth-spark.s4,.auth-spark.s5{animation:none;opacity:.3}.gm-ripple{display:none}.gm-spinner{animation:none}.gm-emblem-svg,.auth-shell.gm-success .login-card,#app.gm-fade-in,.auth-shell.gm-success .auth-bg{animation:none;transition:none}}
/* GOLDEN_MASTER_LOGIN_IPHONE_V3 */
#auth.auth-shell{display:grid;place-content:start center;min-height:100dvh;padding:max(22px,calc(env(safe-area-inset-top) + 12px)) max(16px,env(safe-area-inset-right)) max(30px,calc(env(safe-area-inset-bottom) + 18px)) max(16px,env(safe-area-inset-left));background:#0D0F14;overflow-y:auto;overscroll-behavior-y:contain}
#auth.auth-shell::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 110% 44% at 50% 105%,rgba(106,72,23,.36),transparent 69%),radial-gradient(ellipse 75% 38% at 50% 48%,rgba(30,33,39,.56),transparent 74%),linear-gradient(180deg,#07090d 0%,#0a0d13 48%,#050609 100%)}
#auth.auth-shell .auth-bg{z-index:1;opacity:.72}
#auth.auth-shell .auth-bg::before,#auth.auth-shell .auth-bg::after{content:"";position:absolute;top:44px;width:112px;height:150px;opacity:.88;background:radial-gradient(circle at 8px 8px,#fff9d3 0 3px,#f6cf6e 4px,rgba(201,166,74,.42) 6px,transparent 10px) 0 0/22px 22px;filter:drop-shadow(0 0 7px rgba(243,190,70,.88)) blur(.15px)}
#auth.auth-shell .auth-bg::before{left:-18px;transform:perspective(190px) rotateY(22deg) rotate(7deg);transform-origin:left top}
#auth.auth-shell .auth-bg::after{right:-18px;transform:perspective(190px) rotateY(-22deg) rotate(-7deg);transform-origin:right top}
#auth.auth-shell .login-card.gm-card{z-index:2;display:flex;flex-direction:column;width:min(390px,calc(100vw - 32px));margin:clamp(355px,41dvh,400px) 0 0;padding:27px 32px 24px;border-radius:24px;border-color:rgba(201,166,74,.72);background:linear-gradient(145deg,rgba(18,19,23,.92),rgba(8,10,14,.96));box-shadow:0 24px 64px rgba(0,0,0,.68),0 0 0 1px rgba(243,224,163,.1) inset,0 0 30px rgba(201,166,74,.09);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
#auth .gm-emblem{position:absolute;left:50%;top:clamp(-308px,-33dvh,-278px);width:clamp(150px,39vw,172px);height:auto;margin:0;transform:translateX(-50%);filter:drop-shadow(0 5px 16px rgba(0,0,0,.75)) drop-shadow(0 0 16px rgba(201,166,74,.35))}
#auth .gm-emblem-svg{width:100%;height:auto;filter:none}
#auth .gm-card h1{position:absolute;top:clamp(-152px,-16.4dvh,-138px);left:50%;width:max-content;margin:0;transform:translateX(-50%);color:#f8f5ee;font:900 clamp(42px,11vw,52px)/.94 Georgia,"Times New Roman",serif;letter-spacing:.01em;white-space:nowrap;text-shadow:0 3px 18px rgba(0,0,0,.72)}
#auth .gm-card h1 em{color:#C9A64A;font-style:normal}
#auth .gm-seal{position:absolute;top:clamp(-82px,-8.8dvh,-70px);left:50%;width:min(342px,calc(100vw - 72px));margin:0;padding:0;transform:translateX(-50%);justify-content:center;gap:12px;border:0;border-radius:0;background:none;color:#F3E0A3;font-size:clamp(13px,3.7vw,16px);letter-spacing:.38em;text-shadow:0 0 12px rgba(201,166,74,.36)}
#auth .gm-seal::before,#auth .gm-seal::after{content:"";flex:1 1 30px;max-width:82px;height:1px;background:linear-gradient(90deg,transparent,#C9A64A)}
#auth .gm-seal::after{background:linear-gradient(90deg,#C9A64A,transparent)}
#auth .gm-seal-dot,#auth .gm-seal-sub{display:none}
#auth .gm-tagline{position:absolute;top:clamp(-43px,-4.6dvh,-34px);left:0;right:0;margin:0;color:#e9e4d7;font-size:16px;font-weight:700;letter-spacing:.16em;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.75)}
#auth .gm-form{order:1;text-align:left}
#auth .gm-form label{gap:8px;color:#F3E0A3;font-size:16px;font-weight:800;letter-spacing:.06em}
#auth .gm-form label+label{margin-top:21px}
#auth .gm-form .gm-input-wrap{position:relative}
#auth.auth-shell .gm-form input{min-height:60px;padding-left:52px;border-color:rgba(201,166,74,.62);border-radius:15px;background:rgba(10,12,16,.9);color:#f7f5ef;font-size:16px;box-shadow:0 1px 0 rgba(243,224,163,.06) inset}
#auth.auth-shell .gm-form input::placeholder{color:#8d8f96;opacity:1}
#auth .gm-input-wrap .gm-input-icon{left:17px;font-size:21px;opacity:1;filter:drop-shadow(0 0 8px rgba(201,166,74,.25))}
#auth .pass-field input{padding-right:52px}
#auth .pass-toggle{right:10px;width:40px;height:40px;color:#b8b9bd;font-size:21px}
#auth.auth-shell .gm-form .btn.primary{min-height:60px;margin-top:27px;border-radius:15px;background:linear-gradient(102deg,#b98422 0%,#F3E0A3 48%,#C9A64A 100%);color:#161208;font-size:20px;letter-spacing:.04em;box-shadow:0 14px 30px rgba(201,166,74,.25),0 1px 0 rgba(255,255,255,.45) inset}
#auth .gm-submit-arrow{position:absolute;right:24px;font-size:31px;font-weight:400;line-height:1}
#auth .error{order:5;margin:9px 0 0;min-height:17px;text-align:center}
#auth .gm-status{order:2;margin:21px 0 10px;color:#65d889;font-size:16px;font-weight:800;text-align:center}
#auth .gm-status-dot{margin-right:5px;font-size:15px}
#auth .gm-version{order:3;margin:0;color:#8c8f96;font-size:11px;letter-spacing:.06em;line-height:1.55;text-align:center;white-space:nowrap}
#auth .gm-secure{order:4;position:relative;margin:20px 0 0;padding-top:18px;color:#d8b45a;font-size:15px;font-weight:700;text-align:center;letter-spacing:.08em}
#auth .gm-secure::before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,166,74,.55),transparent)}
#auth .legal{display:none}
@media(max-width:390px){#auth.auth-shell .login-card.gm-card{margin-top:clamp(330px,43dvh,365px);padding:24px 24px 22px}#auth .gm-emblem{top:-282px;width:148px}#auth .gm-card h1{font-size:42px}#auth .gm-seal{font-size:12px;letter-spacing:.28em}#auth .gm-tagline{font-size:14px}#auth .gm-version{font-size:9px;white-space:normal}}
@media(min-width:561px){#auth.auth-shell .login-card.gm-card{margin-top:330px}#auth .gm-emblem{top:-260px;width:148px}#auth .gm-card h1{top:-130px}#auth .gm-seal{top:-66px}#auth .gm-tagline{top:-32px}}
@media(prefers-reduced-motion:reduce){#auth.auth-shell::before{filter:saturate(.9) brightness(.62)}#auth .gm-status-dot{animation:none}}
.treasure-hero p{margin:0;color:var(--muted);font-size:13px}
.treasure-disabled-banner{padding:44px 20px;text-align:center;border:1px solid var(--line);border-radius:20px;background:#111318;color:var(--muted)}
.treasure-disabled-banner h3{color:var(--ink);margin:10px 0 6px}
.treasure-disabled-icon{font-size:40px}
.treasure-mode-tabs{display:flex;gap:8px;margin:18px 0}
.treasure-mode-tab{flex:1;border:1px solid var(--line);border-radius:14px;padding:12px 8px;background:#111318;color:var(--muted);text-align:center;cursor:pointer}
.treasure-mode-tab b{display:block;font-size:15px;color:var(--ink)}
.treasure-mode-tab small{display:block;margin-top:3px;font-size:10px}
.treasure-mode-tab.active{border-color:var(--gold);background:linear-gradient(125deg,#2a2417,#15171b);color:var(--gold2)}
.treasure-mode-tab.active b{color:var(--gold2)}
.treasure-mode-tab:disabled{opacity:.4;cursor:not-allowed}
.treasure-mode-panel{border:1px solid rgba(216,180,90,.35);border-radius:20px;padding:20px;background:linear-gradient(120deg,#171310,#111318 60%,#0d1420)}
.treasure-mode-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:16px;color:var(--muted);font-size:12px}
.treasure-mode-meta b{color:var(--gold2)}
.treasure-chest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.treasure-chest{position:relative;aspect-ratio:1;border:1px solid #46390f;border-radius:16px;background:linear-gradient(160deg,#2c2410,#171410);color:var(--gold2);font-size:34px;display:grid;place-items:center;cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.treasure-chest:hover:not(:disabled){border-color:var(--gold);transform:translateY(-2px)}
.treasure-chest:disabled{cursor:not-allowed;opacity:.5}
.treasure-chest.is-opening{animation:treasureShake .5s ease}
.treasure-chest.is-opened{border-color:var(--gold);background:linear-gradient(160deg,#3c3012,#211a0c)}
.treasure-chest.is-fading{opacity:.35}
@keyframes treasureShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px) rotate(-3deg)}40%{transform:translateX(4px) rotate(3deg)}60%{transform:translateX(-3px) rotate(-2deg)}80%{transform:translateX(3px) rotate(2deg)}}
.treasure-cta{width:100%;margin-top:8px;min-height:50px}
.treasure-cta:disabled{opacity:.6;cursor:not-allowed}
.treasure-mode-note{margin:10px 0 0;text-align:center;color:var(--muted);font-size:11px}
.treasure-result-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#000a;padding:20px}
.treasure-result-card{width:min(360px,92vw);text-align:center;padding:26px 22px}
.treasure-result-icon{font-size:52px;margin-bottom:10px}
.treasure-result-name{font-size:18px;font-weight:900;color:var(--gold2);margin:6px 0}
.treasure-result-amount{font-size:32px;font-weight:900;color:var(--gold2);margin:6px 0}
.treasure-result-close{width:100%;margin-top:16px}
.treasure-section{margin-top:26px}
.treasure-ticker{display:grid;gap:8px}
.treasure-ticker-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#111318;font-size:12px}
.treasure-ticker-row b{color:var(--gold2)}
@media(max-width:480px){.treasure-chest{font-size:28px}.treasure-mode-tabs{gap:6px}.treasure-mode-tab{padding:10px 4px}.treasure-mode-tab b{font-size:13px}.treasure-page{padding:14px 12px 50px}}

/* BET_SLIP_FULLHEIGHT_STABLE_STAKE: fixed bottom input; cards never own #stake. */
.slip-clear-btn{min-height:34px;padding:6px 10px;border:1px solid #56441c;border-radius:9px;background:#17130c;color:var(--gold2);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.slip-mode-controls{flex:0 0 auto;padding:0 14px 10px;border-bottom:1px solid #2b2d33;background:#111216}.slip-mode-controls .tabs{margin:0}.slip-mode-controls .slip-combsize-tabs{margin-top:7px}
.slip-compact-list{display:grid;gap:9px}#slip .slip-leg-compact{position:relative;min-height:96px;padding:12px 42px 12px 13px;border:1px solid #34343b;border-radius:13px;background:linear-gradient(135deg,#171920,#0f1014)}#slip .slip-leg-compact>button{position:absolute;top:9px;right:9px;width:27px;height:27px;padding:0;border:0;background:transparent;color:#e16b72;font-size:23px;line-height:1;cursor:pointer}#slip .slip-leg-compact .slip-leg-meta{display:block;margin-bottom:7px;color:#a9abb2;font-size:11px;font-weight:800}#slip .slip-leg-compact .slip-leg-matchup{display:block;overflow:hidden;color:#f4f2ed;font-size:15px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}#slip .slip-leg-compact-bottom{display:flex;align-items:baseline;gap:7px;margin-top:7px;min-width:0;color:#72d8a0;font-size:12px;font-weight:800}#slip .slip-leg-choice{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#slip .slip-leg-odds{margin-left:auto;color:var(--gold2);white-space:nowrap}
.system-bet-cards{display:grid;gap:9px;margin-top:13px}.system-bet-card{overflow:hidden;border:1px solid #34343b;border-radius:13px;background:#111216}.system-bet-card.active{border-color:#8c6d24;background:linear-gradient(135deg,#211a0d,#141414)}.system-bet-card.disabled{opacity:.48}.system-bet-card-select{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:11px 13px;border:0;background:transparent;color:#f4f2ed;text-align:left;cursor:pointer}.system-bet-card-select:disabled{cursor:not-allowed}.system-bet-card-select span{display:grid;gap:3px}.system-bet-card-select b{font-size:15px}.system-bet-card-select small,.system-bet-card-detail>small{color:#a6a8ae;font-size:11px}.system-bet-card-select i{color:var(--gold2);font-size:18px;font-style:normal}.system-bet-card-detail{display:grid;gap:6px;padding:0 13px 13px}.system-bet-card-detail>b{color:#f3efe7;font-size:13px}.system-bet-card-detail>em{justify-self:start;padding:3px 8px;border-radius:999px;background:#3b2c0b;color:var(--gold2);font-size:10px;font-style:normal;font-weight:900}.slip-total-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.slip-total-line span{color:#a9abb2;font-size:12px;font-weight:800}.slip-total-line b{color:var(--gold2);font-size:18px}.slip-stake-warning{margin-top:8px;color:#f2c663;font-size:12px}.slip-fab-arrow{margin-left:auto;color:var(--gold2);font-size:18px;font-style:normal;line-height:1}
@media(max-width:768px){#slip.slip{display:flex;height:92dvh;max-height:94dvh;padding:0;border-radius:22px 22px 0 0;overflow:hidden}#slip .sheet-handle{flex:0 0 auto;margin:9px auto 4px}#slip .slip-head{flex:0 0 auto;display:flex;align-items:center;padding:8px 16px 12px;border-bottom:0}#slip .slip-head h3{font-size:20px}.slip-head-actions{margin-left:auto;display:flex;align-items:center;gap:7px}#slip .slip-items{flex:1 1 auto;min-height:0;padding:13px 14px 16px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}#slip .slip-foot{flex:0 0 auto;margin:0;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #2b2d33;background:#111216;box-shadow:0 -10px 25px rgba(0,0,0,.24)}#slip .slip-foot>label{margin:0}#slip .slip-foot .calc{margin:8px 0}#slip .slip-foot .btn{min-height:56px;font-size:16px}#slipFab.slip-fab{left:12px;right:12px;bottom:calc(65px + env(safe-area-inset-bottom));width:auto;min-height:52px;padding:11px 14px;border-radius:14px;justify-content:flex-start;gap:5px;box-shadow:0 8px 28px rgba(0,0,0,.42)}body:has(#slip.open){overflow:hidden}}
/* BET_TIMELINE_V11: read-only, lazily rendered from bets/games/walletTransactions. */
.bet-timeline-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px;margin-top:13px;border:1px solid #3a3528;border-radius:11px;background:#171712;color:var(--gold2);font-weight:800;cursor:pointer}.bet-timeline-toggle:hover,.bet-timeline-toggle[aria-expanded="true"]{border-color:#8d7338;background:#211d13}.bet-timeline-toggle span{font-size:10px}.bet-timeline-host{min-width:0}.bet-timeline-panel{min-width:0;margin-top:10px;padding:16px;border:1px solid #34302a;border-radius:13px;background:linear-gradient(145deg,#0c0e12,#121318)}.bet-timeline-panel>h3{margin:0 0 16px;font-size:15px;color:#f0e5c5}.bet-timeline-list{list-style:none;margin:0;padding:0}.bet-timeline-event{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-width:0;padding:0 0 18px}.bet-timeline-event:not(:last-child)::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:1px;background:#363944}.bet-timeline-event:last-child{padding-bottom:0}.bet-timeline-marker{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border:1px solid #3c4655;border-radius:50%;background:#182130;color:#7eb3ff;font-size:12px;font-weight:900}.bet-timeline-event>div{min-width:0;padding-top:2px}.bet-timeline-event b,.bet-timeline-event time,.bet-timeline-event p{display:block;overflow-wrap:anywhere}.bet-timeline-event b{color:#f2f0e9;font-size:13px}.bet-timeline-event time{margin-top:3px;color:#9298a3;font-size:10px}.bet-timeline-event p{margin:5px 0 0;color:#c2c5cc;font-size:11px;line-height:1.55}.timeline-waiting .bet-timeline-marker{border-color:#6f5c2a;background:#2f2817;color:#f4d982}.timeline-won .bet-timeline-marker{border-color:#286344;background:#173528;color:#54dfa0}.timeline-lost .bet-timeline-marker{border-color:#70303b;background:#3a1b22;color:#ff7d8a}.timeline-refunded .bet-timeline-marker{border-color:#315d88;background:#162b40;color:#7ebcff}.timeline-cancelled .bet-timeline-marker,.timeline-missing .bet-timeline-marker{border-color:#444952;background:#272a30;color:#abb0b9}.bet-timeline-legs{margin-top:17px;padding-top:15px;border-top:1px solid #2a2d34}.bet-timeline-legs>h4{margin:0 0 10px;color:#d9dce2;font-size:12px}.bet-timeline-leg{min-width:0;margin-top:8px;padding:11px;border:1px solid #2c3038;border-left:3px solid #8d7338;border-radius:9px;background:#111318}.bet-timeline-leg>div{display:flex;align-items:center;gap:7px;min-width:0}.bet-timeline-leg>div b{min-width:0;overflow-wrap:anywhere}.bet-timeline-leg>strong{display:block;margin-top:7px;font-size:12px}.bet-timeline-leg>p,.bet-timeline-leg>small{display:block;margin:4px 0 0;color:#aeb3bc;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.bet-timeline-leg.timeline-won{border-left-color:#36d58a}.bet-timeline-leg.timeline-lost{border-left-color:#ff6574}.bet-timeline-leg.timeline-refunded{border-left-color:#6ea8ff}.bet-timeline-admin-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:17px 0 0;border:1px solid #2d3037;border-radius:9px;overflow:hidden;background:#2d3037}.bet-timeline-admin-meta>div{min-width:0;padding:9px;background:#101216}.bet-timeline-admin-meta dt{color:#8e949f;font-size:9px}.bet-timeline-admin-meta dd{margin:3px 0 0;color:#e1e3e8;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:560px){.bet-timeline-panel{padding:14px 12px}.bet-timeline-admin-meta{grid-template-columns:1fr}.bet-timeline-event{grid-template-columns:26px minmax(0,1fr);gap:9px}.bet-timeline-marker{width:26px;height:26px}.bet-timeline-event:not(:last-child)::before{left:12px;top:26px}.bet-timeline-toggle{min-height:44px}.bet-timeline-panel,.bet-timeline-host,.bet-timeline-event>div{max-width:100%;overflow-wrap:anywhere}}

/* V1_2_ENTERTAINMENT_CENTER: UI-only separation of sports and entertainment. */
.entertainment-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:26px;border:1px solid rgba(216,180,90,.42);border-radius:22px;background:radial-gradient(circle at 88% 10%,rgba(216,180,90,.2),transparent 36%),linear-gradient(135deg,#211a0d,#111318 58%,#0b1018);box-shadow:0 18px 45px rgba(0,0,0,.28)}
.entertainment-hero::after{content:"";position:absolute;right:-54px;bottom:-76px;width:190px;height:190px;border:1px solid rgba(244,217,130,.15);border-radius:50%;box-shadow:0 0 0 24px rgba(216,180,90,.04)}
.entertainment-hero>div,.entertainment-hero>aside{position:relative;z-index:1}
.entertainment-hero h2{margin:0;color:var(--gold2);font:900 clamp(28px,4vw,42px)/1.1 Georgia,"Microsoft JhengHei",serif}
.entertainment-hero>div>p:last-child{margin:10px 0 0;color:#c8cbd1}
.entertainment-hero>aside{flex:none;display:grid;min-width:190px;gap:4px;padding:15px 18px;border:1px solid rgba(216,180,90,.34);border-radius:16px;background:#0c0e12cc;text-align:right}
.entertainment-hero>aside span,.entertainment-hero>aside small{color:var(--muted);font-size:11px}
.entertainment-hero>aside b{color:var(--gold2);font-size:23px;overflow-wrap:anywhere}
.entertainment-treasure .treasure-home-card{margin:0 0 18px}
.entertainment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.entertainment-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;min-width:0;min-height:154px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#15171c,#0f1115);color:var(--ink);text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.entertainment-card:hover{border-color:rgba(216,180,90,.5)}
.entertainment-card-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(216,180,90,.28);border-radius:17px;background:#211b0f;font-size:25px}
.entertainment-card>div{min-width:0}
.entertainment-card h3{margin:2px 0 7px;font-size:18px}
.entertainment-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.entertainment-card>.btn{min-width:108px;white-space:nowrap}
.entertainment-card.is-coming{border-style:dashed}
.entertainment-card.is-coming .entertainment-card-icon{filter:grayscale(.45);opacity:.78}
.entertainment-status{align-self:start;padding:5px 9px;border:1px solid #444953;border-radius:999px;color:#aeb3bd;font-size:10px;font-weight:900;white-space:nowrap}
.entertainment-link{transition:transform .18s ease,border-color .18s ease,background .18s ease}
.entertainment-link:hover{transform:translateY(-2px);background:linear-gradient(145deg,#1b1a15,#101216)}
.entertainment-arrow{color:var(--gold2);font-size:22px}
.entertainment-balance>b{color:var(--gold2);font-size:21px;text-align:right;overflow-wrap:anywhere}
.profile-wallet-portal{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:19px;border:1px solid rgba(216,180,90,.4);border-radius:16px;background:linear-gradient(125deg,#211a0d,#111318);color:var(--ink);text-align:left;cursor:pointer}
.profile-wallet-portal:hover{border-color:var(--gold);background:linear-gradient(125deg,#2a2110,#15171c)}
.profile-wallet-portal span{display:grid;gap:5px;min-width:0}
.profile-wallet-portal b{color:var(--gold2);font-size:17px}
.profile-wallet-portal small{color:#d5d7dc;font-size:12px;overflow-wrap:anywhere}
.profile-wallet-portal em{color:var(--muted);font-size:10px;font-style:normal}
.profile-wallet-portal i{flex:none;color:var(--gold2);font-size:28px;font-style:normal}
@media(max-width:980px){.content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.bottom-nav{gap:0}.bottom-nav .nav-btn{flex:1;min-width:0;padding:5px 2px}.bottom-nav .nav-btn i{font-size:17px}.entertainment-hero{padding:22px}.entertainment-card{min-height:146px}}
@media(max-width:680px){.entertainment-hero{align-items:stretch;flex-direction:column}.entertainment-hero>aside{min-width:0;text-align:left}.entertainment-grid{grid-template-columns:1fr}.entertainment-card{grid-template-columns:auto minmax(0,1fr);min-height:132px;padding:17px}.entertainment-card>.btn,.entertainment-card>.entertainment-status,.entertainment-card>.entertainment-arrow,.entertainment-card>.entertainment-balance>b{grid-column:1/-1;width:100%;text-align:center}.entertainment-status{justify-self:stretch}.entertainment-balance>b{text-align:left}.profile-wallet-portal{padding:16px}}
@media(max-width:390px){.bottom-nav .nav-btn{font-size:8px}.bottom-nav .nav-btn i{font-size:16px}.entertainment-hero{padding:18px}.entertainment-card{gap:12px}.entertainment-card-icon{width:46px;height:46px;border-radius:14px;font-size:22px}}

/* V1_2_APP_INIT_PROGRESS: real-stage initialization without additional requests. */
.app-init-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;width:100%;min-height:100vh;min-height:100svh;min-height:100dvh;padding:max(env(safe-area-inset-top),20px) max(env(safe-area-inset-right),18px) max(env(safe-area-inset-bottom),20px) max(env(safe-area-inset-left),18px);overflow-y:auto;box-sizing:border-box;background:radial-gradient(circle at 18% 12%,rgba(216,180,90,.13),transparent 28%),radial-gradient(circle at 82% 84%,rgba(123,92,25,.12),transparent 32%),linear-gradient(145deg,#090a0cf7,#11100cf7 52%,#08090bf7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .25s}
.app-init-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.app-init-card{width:min(100%,430px);margin:auto;padding:28px 26px;text-align:center;border:1px solid rgba(216,180,90,.38);border-radius:22px;background:linear-gradient(145deg,#17140d,#101216 58%,#0b0d11);box-shadow:0 24px 70px rgba(0,0,0,.48)}
.app-init-brand{margin:0;color:var(--gold2);font:900 13px/1.2 Georgia,"Times New Roman",serif;letter-spacing:.18em}
.app-init-edition{display:block;margin-top:7px;color:#8f7b4b;font-size:9px;font-weight:800;letter-spacing:.22em}
.app-init-title{margin:10px 0 25px;color:#f4f1e8;font-size:clamp(22px,5vw,30px);line-height:1.2}
.app-init-meter{position:relative;overflow:hidden;width:100%;height:9px;border:1px solid #3b3424;border-radius:999px;background:#23252a;box-shadow:inset 0 1px 4px rgba(0,0,0,.7)}
.app-init-progress-fill{display:block;width:1%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b6b24,#d8b45a 62%,#f4d982);box-shadow:0 0 14px rgba(216,180,90,.32);transition:width .18s ease,background .2s ease}
.app-init-percent{display:block;margin-top:13px;color:var(--gold2);font-size:25px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.app-init-status{min-height:1.6em;margin:8px 0 0;color:#b8bbc2;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.app-init-action{min-width:150px;margin-top:18px}
.app-init-overlay.is-complete .app-init-title,.app-init-overlay.is-complete .app-init-percent{color:#54dfa0}
.app-init-overlay.is-complete .app-init-progress-fill{background:linear-gradient(90deg,#21865a,#54dfa0)}
.app-init-overlay.is-error .app-init-title,.app-init-overlay.is-error .app-init-percent{color:#ff7d8a}
.app-init-overlay.is-error .app-init-progress-fill{background:#a73a47}
.app-init-overlay.is-warning .app-init-title{color:#f4d982}
@media(max-width:480px){.app-init-card{padding:25px 20px;border-radius:19px}.app-init-title{margin-bottom:22px}.app-init-overlay{padding-top:max(env(safe-area-inset-top),14px);padding-right:max(env(safe-area-inset-right),14px);padding-bottom:max(env(safe-area-inset-bottom),14px);padding-left:max(env(safe-area-inset-left),14px)}}
@media(prefers-reduced-motion:reduce){.app-init-overlay{transition:none}.app-init-progress-fill{transition:none}}

/* V1_2_NAVIGATION_STATE: immediate page identity while the latest request loads. */
.page-loading{display:grid;place-items:center;align-content:center;min-height:clamp(280px,58dvh,620px);padding:34px 18px;text-align:center}
.page-loading h3{margin:7px 0 20px;color:var(--gold2);font-size:clamp(21px,4vw,29px)}
.page-loading>p:last-child{margin:13px 0 0;color:var(--muted);font-size:12px}
.page-loading-bars{display:grid;width:min(100%,330px);gap:9px}
.page-loading-bars i{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,#1a1c21,#342c19,#1a1c21);background-size:220% 100%;animation:pageLoadingSweep 1.25s ease-in-out infinite}
.page-loading-bars i:nth-child(2){width:82%;animation-delay:.1s}.page-loading-bars i:nth-child(3){width:62%;animation-delay:.2s}
@keyframes pageLoadingSweep{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.page-loading-bars i{animation:none;background:#272830}}

/* Bullpen Engine V5.1: display-only Shadow Mode card */
.bullpen-v51-card{margin:14px 0;padding:15px;border:1px solid rgba(226,184,76,.3);border-radius:14px;background:linear-gradient(145deg,#171a20,#101216);overflow:hidden}.bullpen-v51-card.unavailable{border-color:#343741}.bullpen-v51-head,.bullpen-v51-summary,.bullpen-v51-verdict,.bullpen-v51-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.bullpen-v51-head span{font-size:9px;letter-spacing:.12em;color:#b89b55}.bullpen-v51-head h4{margin:3px 0 0;color:#f2cf62}.bullpen-v51-head>b{padding:5px 8px;border-radius:999px;background:rgba(226,184,76,.12);color:#e8c76d;font-size:10px}.bullpen-v51-summary{margin:13px 0;align-items:stretch}.bullpen-v51-summary>div{flex:1;display:grid;gap:5px;padding:10px;border:1px solid #2b2e36;border-radius:10px;background:#121419}.bullpen-v51-summary span{font-size:10px;color:#9297a3}.bullpen-v51-summary strong{font-size:13px}.bullpen-v51-summary .good{color:#74d99f}.bullpen-v51-summary .wait{color:#e8cf75}.bullpen-v51-summary .warn{color:#f2a65a}.bullpen-v51-summary .bad{color:#f07676}.bullpen-v51-summary .unknown{color:#aeb2bb}.bullpen-v51-verdict{display:grid;justify-content:stretch;padding:12px;border-radius:10px;background:rgba(226,184,76,.08)}.bullpen-v51-verdict span{font-size:10px;color:#aaa}.bullpen-v51-verdict b{color:#f5dc8e}.bullpen-v51-verdict p{margin:3px 0 0;color:#c7cad1;font-size:11px;line-height:1.55}.bullpen-v51-card details{margin-top:10px}.bullpen-v51-card summary{cursor:pointer;color:#e7cb78;font-size:11px;padding:8px 0}.bullpen-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bullpen-team-panel{padding:11px;border:1px solid #292c34;border-radius:10px;background:#0f1115;min-width:0}.bullpen-team-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.bullpen-team-title span{font-size:9px;color:#898e99}.bullpen-team-title b{font-size:13px;color:#f0d47e}.bullpen-team-panel dl{display:grid;gap:5px;margin:0}.bullpen-team-panel dl>div{display:flex;justify-content:space-between;gap:8px}.bullpen-team-panel dt,.bullpen-team-panel dd{margin:0;font-size:10px}.bullpen-team-panel dt{color:#8f949f}.bullpen-team-panel dd{color:#d7dae0;text-align:right}.bullpen-reasons{margin:8px 0 0;font-size:9px;line-height:1.5;color:#e3b876}.bullpen-v51-meta{margin-top:10px;font-size:9px;color:#7f8490;align-items:flex-start}.bullpen-v51-meta b{color:#c7a95d;text-align:right}.bullpen-v51-disclaimer{margin:8px 0 0;color:#777d88;font-size:9px;line-height:1.45}.bullpen-v51-card.unavailable p{color:#aeb2bb;font-size:11px}.bullpen-v51-card.unavailable small{color:#777d88}
@media(max-width:700px){.bullpen-team-grid{grid-template-columns:1fr}.bullpen-v51-card{padding:13px}.bullpen-v51-summary{gap:8px}.bullpen-v51-meta{display:grid}.bullpen-v51-meta b{text-align:left}}
