:root{--bg:#090909;--panel:#111214;--panel2:#17191c;--line:#2b2e34;--text:#f7f7f7;--muted:#9aa0aa;--gold:#f2bf3f;--gold2:#d89a18;--blue:#58a6ff;--red:#ef4444;--green:#31c56d;--bronze:#d98249;--silver:#cfd5df;--shadow:0 16px 40px rgba(0,0,0,.28);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#171717 0,#0a0a0a 42%,#050505 100%);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.logo-img{display:block;width:210px;max-width:100%;object-fit:contain}.muted{color:var(--muted)}.gold{color:var(--gold)}.green{color:var(--green)}.red{color:#ff6b6b}.page{min-height:100vh}.public-top,.member-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);background:rgba(5,5,5,.92);position:sticky;top:0;z-index:10}.top-actions{display:flex;gap:10px;align-items:center}.btn{border:1px solid #3a3d42;background:#181a1e;color:white;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px);border-color:#575b63}.btn.gold{background:linear-gradient(180deg,#ffd45c,#e7a925);border-color:#f0c24b;color:#161616}.btn.danger{border-color:#a33;color:#ff8f8f}.btn.secondary{background:#101114}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.input,.select,.textarea{width:100%;background:#111317;color:#fff;border:1px solid #343840;border-radius:11px;padding:12px 13px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#c99a2b;box-shadow:0 0 0 3px rgba(242,191,63,.12)}.invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:800}.field .error{font-size:12px;color:#ff6b6b;min-height:16px}.req{color:#ff6666}.card{background:linear-gradient(180deg,#141518,#0f1012);border:1px solid #282b31;border-radius:16px;box-shadow:var(--shadow)}.section-title{font-size:20px;font-weight:900;margin:0}.brand-strip{background:linear-gradient(135deg,#0e0e0f,#191919 60%,#111);border-bottom:1px solid #2d2d2d}.hero{padding:44px 24px 26px;max-width:1180px;margin:auto}.hero h1{font-size:clamp(38px,6vw,78px);margin:12px 0 6px;letter-spacing:-.04em}.hero .eyebrow{color:var(--gold);letter-spacing:.28em;font-size:13px;font-weight:900}.rules{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.rule{padding:10px 14px;border:1px solid #3b3523;border-radius:12px;background:#11100c;font-weight:900}.ranking-wrap{max-width:1180px;margin:0 auto;padding:0 24px 48px}.ranking-access-hint{margin-top:14px;color:#f6d777;font-weight:900;letter-spacing:.02em}.ranking-mode{margin-top:5px;color:#f2bf3f;font-size:13px;font-weight:900}.ranking-gate{margin-top:14px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.ranking-gate .gate-lock{font-size:28px}.ranking-gate strong{display:block;margin-bottom:4px}.ranking-bottom{display:none}.player-page .ranking-wrap{padding-bottom:72px}.monthbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;margin-bottom:14px}.rank-table{overflow:hidden}.rank-head,.rank-row{display:grid;grid-template-columns:90px 1.5fr 120px repeat(3,120px);gap:0;align-items:center}.rank-head{background:#17181a;color:#ddd;font-weight:900;border-bottom:1px solid #2c2e33}.rank-head>div,.rank-row>div{padding:14px 18px}.rank-row{border-bottom:1px solid #212328}.rank-row:last-child{border-bottom:0}.rank-row.first{background:linear-gradient(90deg,rgba(214,158,31,.28),rgba(214,158,31,.08))}.rank-row.second{background:linear-gradient(90deg,rgba(180,190,205,.20),rgba(180,190,205,.05))}.rank-row.third{background:linear-gradient(90deg,rgba(197,111,59,.22),rgba(197,111,59,.05))}.rank-num{font-size:26px;font-weight:1000}.points{font-size:26px;font-weight:1000;color:var(--blue)}.member-shell{max-width:560px;margin:auto;min-height:100vh;background:linear-gradient(180deg,#090909,#0d0d0e)}.member-content{padding:18px 16px 100px}.member-title{font-size:28px;margin:8px 0 4px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.metric{padding:18px}.metric .label{font-size:13px;color:var(--muted);font-weight:800}.metric .value{font-size:34px;font-weight:1000;margin-top:6px}.podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.podium{padding:14px;text-align:center}.podium strong{display:block;font-size:24px;margin-top:4px}.menu-list{display:grid;gap:10px;margin-top:16px}.menu-card{padding:16px;display:flex;justify-content:space-between;align-items:center}.member-bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:#0b0b0c;border-top:1px solid #292b30;z-index:15}.member-bottom button,.member-bottom a{padding:12px 6px;background:none;border:0;color:#aaa;font-weight:800;text-align:center;cursor:pointer}.member-bottom button.active,.member-bottom a.active{color:var(--gold)}.login-wrap{max-width:460px;margin:0 auto;padding:48px 20px}.login-card{padding:26px}.login-card h1{margin:8px 0 6px}.tabs{display:flex;gap:8px;margin:20px 0}.tabs button{flex:1}.notice{padding:12px 14px;border-radius:12px;background:#17191c;border:1px solid #2c3037;color:#d6d9df}.notice.error{border-color:#7a2d2d;background:#2b1212;color:#ffaaaa}.notice.success{border-color:#245f3e;background:#102219;color:#8ff0b9}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#0c0d0f;border-right:1px solid #24272c;padding:20px 14px;position:sticky;top:0;height:100vh}.sidebar .logo-img{width:170px;margin:0 auto 22px}.nav{display:grid;gap:7px}.nav button{display:flex;gap:10px;align-items:center;text-align:left;width:100%;padding:13px 14px;background:transparent;border:1px solid transparent;border-radius:11px;color:#d4d7dd;font-weight:800;cursor:pointer}.nav button.active{background:linear-gradient(90deg,rgba(242,191,63,.22),rgba(242,191,63,.06));border-color:#6f571e;color:#ffd35d}.admin-main{min-width:0}.admin-top{height:72px;border-bottom:1px solid #24272c;display:flex;align-items:center;justify-content:flex-end;padding:0 24px;gap:16px;background:#0c0d0f;position:sticky;top:0;z-index:20}.admin-content{padding:26px;max-width:1600px;margin:auto}.admin-title{font-size:34px;margin:0 0 22px}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.kpi{padding:18px}.kpi .label{color:#a5abb5;font-weight:800}.kpi .value{font-size:30px;font-weight:1000;margin-top:8px}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}.panel{padding:18px}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.toolbar .grow{flex:1;min-width:240px}.table-wrap{overflow:auto;border:1px solid #2b2e34;border-radius:14px}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{position:sticky;top:0;background:#17191c;color:#d9dce1;font-size:13px;text-align:left;padding:12px;border-bottom:1px solid #32353c}.data-table td{padding:12px;border-bottom:1px solid #23262b}.data-table tr:hover td{background:#131519}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}.badge.ok{background:#0e2d1c;color:#75e39d}.badge.warn{background:#312710;color:#ffd970}.badge.bad{background:#351717;color:#ff9090}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:100}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;padding:22px}.modal-card h2{margin-top:0}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#16181c;border:1px solid #333842;border-radius:12px;padding:13px 16px;box-shadow:var(--shadow);font-weight:800}.toast.success{border-color:#2f7f53;color:#8ef2b6}.toast.error{border-color:#8b3434;color:#ffabab}.empty{padding:34px;text-align:center;color:#9aa0aa}.mobile-only{display:none}@media(max-width:1050px){.kpis{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.admin-layout{grid-template-columns:200px 1fr}}@media(max-width:760px){.desktop-only{display:none!important}.mobile-only{display:block}.public-top{padding:14px 16px}.public-top .logo-img{width:150px}.hero{padding:28px 16px 18px}.hero h1{font-size:38px}.ranking-wrap{padding:0 12px 88px}.monthbar{padding:14px;align-items:flex-start}.monthbar .input{max-width:145px}.rank-head{display:none}.rank-row{grid-template-columns:44px minmax(84px,1fr) 54px repeat(3,44px);margin-bottom:8px;border:1px solid #25282e;border-radius:12px;overflow:hidden}.rank-row>div{padding:11px 6px}.rank-row .c-rank,.rank-row .c-name,.rank-row .c-points{padding-top:13px;padding-bottom:13px}.rank-row .c-champ,.rank-row .c-runner,.rank-row .c-third{font-size:11px;text-align:center;white-space:nowrap}.rank-num,.points{font-size:20px}.ranking-gate{grid-template-columns:auto 1fr;padding:16px}.ranking-gate .btn{grid-column:1/-1;text-align:center}.ranking-bottom{display:grid}.admin-layout{display:block}.sidebar{display:none}.admin-content{padding:16px}.kpis{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.admin-title{font-size:28px}}

/* V1.6 store checkout and mobile work surfaces */
:root{color-scheme:dark}body{font-size:16px}.field label,.metric .label,.rule,.data-table th,.ranking-mode{font-size:14px}.full{grid-column:1/-1}.payment-fields{border:1px solid #343434;border-radius:12px;margin:0;padding:14px}.payment-fields legend{font-size:14px;padding:0 6px;color:#d4d7dd}.receipt{padding:18px}.receipt-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:6px}.receipt-heading strong{font-size:20px;color:var(--gold)}.receipt-splits{line-height:1.8;margin-top:8px;font-size:14px}.receipt .form-actions{flex-wrap:wrap}.menu-card>div{min-width:0;overflow-wrap:anywhere}.btn{min-height:44px}.input,.select{min-height:46px}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.mobile-nav-label{margin-right:auto;font-size:14px}.mobile-nav-label select{margin-top:3px;min-height:40px}.admin-top{gap:10px}.admin-top #adminIdentity{font-size:14px}.rank-row .c-champ,.rank-row .c-runner,.rank-row .c-third{font-size:13px}.notice[aria-live]{line-height:1.7}fieldset{min-width:0}.form-grid>div,.panel{min-width:0}.menu-card{gap:14px}.receipt-heading{flex-wrap:wrap}.kpi .value{overflow-wrap:anywhere}#checkoutHistory{margin-left:26px;margin-right:26px}
@media(max-width:760px){.grid2{grid-template-columns:1fr!important}.admin-top{height:auto;min-height:84px;padding:10px 16px;align-items:center}.admin-content{padding-top:20px}.admin-content .toolbar .grow{min-width:0;width:100%}.admin-content .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.login-wrap{padding-top:24px}.login-card{padding:20px}.receipt-heading strong{font-size:19px}#checkoutHistory{margin-left:16px;margin-right:16px}.rank-row{grid-template-columns:36px minmax(76px,1fr) 48px repeat(3,40px)}.rank-row>div{padding:11px 4px}.member-bottom{padding-bottom:env(safe-area-inset-bottom)}.member-content{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.modal-card{padding:20px}.kpis .kpi{padding:14px}.kpis .kpi .value{font-size:26px}}
