*{box-sizing:border-box}body{margin:0;background:#0b1220;color:#edf2f7;font:15px/1.6 system-ui,-apple-system,"Microsoft JhengHei",sans-serif;background-image:radial-gradient(ellipse at 5% 0,#17394599,transparent 45%),radial-gradient(ellipse at 100% 50%,#38295377,transparent 50%);min-height:100dvh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:1px solid #455269;border-radius:10px;background:#213149;color:#eef4ff;padding:10px 15px;cursor:pointer;min-height:44px}button:hover{background:#304767}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #89e8c8;outline-offset:3px}[hidden]{display:none!important}.top{display:flex;justify-content:space-between;align-items:center;padding:23px clamp(18px,5vw,72px);border-bottom:1px solid #70809a25;gap:12px}.brand{font-size:20px;font-weight:750;letter-spacing:3px;color:#d9f5e8}.brand span{display:block;font-size:9px;color:#8caaab;letter-spacing:4px}.top #account{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}main{max-width:1180px;margin:auto;padding:40px 24px 70px}.login-grid{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:80px;min-height:72vh}.eyebrow{color:#9ddcc9;font-size:10px;letter-spacing:3px}h1{font-size:clamp(32px,4.5vw,58px);font-weight:650;letter-spacing:-1px;line-height:1.25;margin:18px 0}h1 em{color:#b5e6d5;font-style:normal}.intro p{color:#a6b7c8;line-height:2;margin:26px 0}h2{font-size:21px;margin:0 0 16px}p,small{color:#afbdd0}small{font-size:12px}.signal{margin-top:48px;font-size:12px;color:#9bb2c3}i{display:inline-block;width:7px;height:7px;background:#91efbd;border-radius:50%;box-shadow:0 0 12px #91efbd99;margin-right:9px}.card{padding:28px;border:1px solid #7f9ca433;border-radius:20px;background:linear-gradient(150deg,#1c2a3aeb,#101b2cec);box-shadow:0 18px 50px #04091140}.card label,label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#becddd}form label{margin:17px 0}input,select{background:#0c1625;color:#f1f5fb;border:1px solid #52617b;border-radius:8px;padding:11px 12px;min-width:0;width:100%;min-height:46px}input::placeholder{color:#677e97}.primary{background:#b6dfc9;color:#132b23;border-color:#b6dfc9;font-weight:750}.primary:hover{background:#cdf2dd}#loginButton{width:100%;margin:8px 0 14px}.error{color:#ffb1af;min-height:20px;white-space:pre-line}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-heading h1{font-size:38px}.connection-bar{display:flex;gap:22px;align-items:center;margin:28px 0;padding:22px;background:#142334c9;border:1px solid #53728b44;border-radius:15px}.connection-bar label{min-width:180px}.connection-bar p{font-size:13px;margin:0}.games{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.game-card{text-align:left;padding:0;overflow:hidden;background:#152438;border:1px solid #516b8844;position:relative}.game-visual{height:135px;display:flex;align-items:center;justify-content:center;font-size:65px;background:radial-gradient(circle,#52897866,transparent 70%);position:relative}.game-visual:before{content:"";position:absolute;width:95px;height:95px;border:1px solid #c5f5ff30;transform:rotate(45deg);border-radius:20px}.game-card[data-game=neon] .game-visual,.game-card[data-game=race] .game-visual{background:linear-gradient(140deg,#252d6266,#95217166)}.game-card[data-game=tide] .game-visual{background:linear-gradient(140deg,#175a68,#0a2749)}.game-card[data-game^=miner] .game-visual{background:linear-gradient(140deg,#77533a77,#57357877)}.game-card b,.game-card small{display:block;padding:0 20px}.game-card b{font-size:18px}.game-card small{padding-bottom:20px;color:#99b5ca;font-size:11px}.game-card:hover{border-color:#b0e7cb;transform:translateY(-2px)}.footnote{font-size:12px;margin:25px 0}.status-bar{padding:16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#14392d88;border:1px solid #80af972e;border-radius:12px;margin:25px 0;overflow-wrap:anywhere}.admin-grid{display:grid;grid-template-columns:310px 1fr;gap:20px;margin:20px 0}.user-row,.device-row,.log-row{border-top:1px solid #8c9ba22b;padding:13px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-row .details{flex:1}.user-row strong{display:block}.pill{font-size:11px;border:1px solid #779da155;padding:3px 9px;border-radius:15px;color:#b3d8df}.disabled{color:#efb0a8}.users-card h2{display:flex;justify-content:space-between;align-items:center}.users-card h2 button{font-size:12px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.danger{color:#ffc0b8;border-color:#9b544b;background:#462528}details.card{margin-top:20px}summary{cursor:pointer}.log-row{font-size:12px;color:#a4b6c6}dialog{background:transparent;color:inherit;border:0;padding:0;width:min(500px,calc(100vw - 28px));max-height:90dvh}dialog::backdrop{background:#050d19dc;backdrop-filter:blur(6px)}@media(max-width:760px){main{padding:26px 18px}.login-grid{grid-template-columns:1fr;gap:22px;min-height:auto}.intro h1{font-size:38px}.intro p,.signal{display:none}.card{padding:22px}.top{padding:15px 18px}.top #account{justify-content:flex-end}.top #accountName{display:none}.brand{font-size:15px}.brand span{font-size:7px}.games{grid-template-columns:repeat(2,1fr);gap:12px}.game-visual{height:105px;font-size:48px}.game-card b{font-size:15px}.game-card b,.game-card small{padding-left:13px;padding-right:13px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.section-heading h1{font-size:31px}.connection-bar{flex-wrap:wrap;padding:16px;gap:14px}.connection-bar label{min-width:0;flex:1}.connection-bar p{flex-basis:100%}.admin-grid{grid-template-columns:1fr}.status-bar{font-size:12px}.top button{font-size:11px;padding:8px}.user-row{gap:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#serverSettings summary{font-size:18px;font-weight:650;color:#c6eadc}#calculationSettings h2{margin-top:24px}.calculation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}#calculationSettingsStatus{color:#b6dfc9;white-space:pre-line}@media(max-width:600px){.calculation-fields{grid-template-columns:1fr}}
.short-url-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;margin-top:-12px;border:1px solid #80af9740;border-radius:12px;background:#112b2a;overflow-wrap:anywhere}.short-url-row a{color:#b7efcf;font-size:18px;font-weight:650}.short-url-row small{flex-basis:100%;font-size:12px;color:#aebfc1}.short-url-row button{font-size:12px}#shortUrlStatus{font-size:13px;color:#c9d2cf}
.table-history>summary{font-size:18px;font-weight:650;color:#c6eadc}.history-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end;margin:18px 0}.history-filters label{margin:0}.history-summary{font-size:13px;color:#b5d0c6}.history-records{display:grid;gap:14px}.history-entry{border:1px solid #779da144;border-radius:12px;padding:18px;background:#0f1c29}.history-entry header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.history-entry time,.history-entry>small{font-size:12px;color:#aebfc8}.history-cards{font-size:20px;letter-spacing:2px;color:#e7f3dc}.history-outcome{color:#d6e5c6}.history-entry table{border-collapse:collapse;width:100%;font-size:14px}.history-entry td,.history-entry th{text-align:left;padding:8px;border-bottom:1px solid #779da12b}.history-entry td:not(:first-child),.history-entry th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.history-config{margin-top:12px;color:#aabecb;font-size:12px}.history-config pre{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.history-pages{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media(max-width:700px){.history-filters{grid-template-columns:1fr 1fr}.history-entry{padding:12px}.history-cards{font-size:17px}}
.login-qr-row{display:flex;align-items:center;gap:24px;margin:16px 0 24px;padding:24px;border:1px solid #80af9740;border-radius:14px;background:#112b2a}.login-qr-row img{flex:0 0 auto;width:232px;height:232px;background:#fff;image-rendering:pixelated;border-radius:0}.login-qr-row h2{margin:0 0 10px}.login-qr-row p{margin:8px 0}.login-qr-row a{display:inline-block;margin:8px 0;padding:10px 14px;border:1px solid #839caa70;border-radius:9px;color:#d5f9e5;background:#213345}.login-qr-row .qr-note{max-width:640px;font-size:12px;line-height:1.7;color:#aebfc1}#loginQrTarget{overflow-wrap:anywhere;font-size:13px}@media(max-width:600px){.login-qr-row{flex-direction:column;align-items:flex-start;padding:18px}.login-qr-row img{align-self:center;width:min(232px,100%);height:auto;aspect-ratio:1}}
#deviceConnectionStatus{font-size:12px;color:#a9c6c4}.device-state{padding:3px 10px;border:1px solid #839baf55;border-radius:14px;font-size:12px;color:#b5c1cd}.device-state[data-state=online]{color:#a5f2c8;border-color:#68bf9290}.device-state[data-state=paused]{color:#ffe0a1;border-color:#cca35090}.device-state[data-state=offline],.device-state[data-state=disabled],#deviceConnectionStatus[data-state=unknown]{color:#ffbbb1}.device-state[data-state=unknown]{color:#ffe0a1}
.table-counts{margin:18px 0;padding:22px;background:#132332;border:1px solid #33495b;border-radius:16px}.table-counts p{font-size:12px;line-height:1.7;color:#b9cddd}.table-counts-scroll{overflow-x:auto}.table-counts table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}.table-counts th,.table-counts td{padding:11px 13px;border:1px solid #344d5e;text-align:center;white-space:nowrap}.table-counts th{background:#1d3745;color:#bde5df}.table-counts tr:nth-child(even){background:#172d3b}.table-counts[data-state="unknown"] #tableCountsStatus{color:#f5bd8d}
.shoe-ledger .ledger-note{font-size:12px;line-height:1.8}.ledger-range{margin:24px 0;padding:20px;border:1px solid #54817a66;border-radius:12px;background:#102a2e}.ledger-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ledger-filters label{margin:0}.ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ledger-status,.ledger-table-note{font-size:12px}.ledger-totals{padding:16px 0;font-variant-numeric:tabular-nums}.ledger-tables{display:grid;gap:18px}.ledger-table{background:#0e2030;border:1px solid #476578;border-radius:14px;padding:18px}.ledger-table>summary,.ledger-shoe>summary,.ledger-round>summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;list-style:none;min-height:36px}.ledger-table>summary:before,.ledger-shoe>summary:before,.ledger-round>summary:before{content:'▸';color:#85aeb5}.ledger-table[open]>summary:before,.ledger-shoe[open]>summary:before,.ledger-round[open]>summary:before{content:'▾'}.ledger-table>summary strong{font-size:21px;color:#cef0e1}.ledger-table>summary>span:not(.ledger-profit),.ledger-shoe>summary>span:not(.ledger-profit){color:#a8c1cf;font-size:12px}.ledger-table>summary .ledger-profit,.ledger-shoe>summary .ledger-profit,.ledger-round>summary .ledger-profit{margin-left:auto}.ledger-profit{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-profit[data-sign=positive]{color:#8dedbc}.ledger-profit[data-sign=negative]{color:#ffafa7}.ledger-profit[data-sign=zero]{color:#acbbc8}.ledger-shoes{display:grid;gap:10px}.ledger-shoe{border:1px solid #50697977;border-radius:10px;padding:12px;background:#162839}.ledger-shoe-content{padding-top:12px}.ledger-round{margin:10px 0;padding:12px;background:#0b1928;border:1px solid #364b60;border-radius:8px}.ledger-cards{color:#e9dec0;letter-spacing:1px}.ledger-scroll{overflow-x:auto;margin:12px 0}.ledger-scroll table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}.ledger-scroll th,.ledger-scroll td{padding:9px 12px;border-bottom:1px solid #42617155;text-align:left;white-space:nowrap}.ledger-scroll th{color:#b9d9d5;background:#1b3542}.ledger-advice{padding:12px;border-left:3px solid #668897;background:#1b2d40;margin:12px 0}.ledger-advice h4,.ledger-round h4{margin:8px 0}.ledger-advice p{margin:8px 0}.ledger-download{display:inline-block;border:1px solid #537b7d;padding:8px 12px;border-radius:8px;font-size:12px;color:#c9eddd}.ledger-audit{margin-top:18px}.ledger-shoe-content>p{font-size:13px}.ledger-tables summary::-webkit-details-marker{display:none}@media(max-width:600px){.ledger-range{padding:12px}.ledger-filters{grid-template-columns:1fr}.ledger-table{padding:12px}.ledger-shoe,.ledger-round{padding:9px}.ledger-heading{flex-wrap:wrap}.ledger-table>summary strong{font-size:18px}}
