:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1419;--surface:#1a2332;--surface-2:#243044;--border:#2d3a4f;--text:#e7ecf3;--muted:#9aa8bc;--primary:#3b82f6;--primary-press:#2563eb;--ok:#22c55e;--bad:#ef4444;--warn:#f59e0b;--radius:12px;--safe-bottom:env(safe-area-inset-bottom,0px);background:var(--bg);color:var(--text);font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;margin:0}button,input{font:inherit;color:inherit}.app{max-width:720px;min-height:100vh;padding:12px 12px calc(108px + var(--safe-bottom));flex-direction:column;gap:10px;margin:0 auto;display:flex}.topbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:5;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:.02em;margin:0;font-size:1.15rem}.unit-field{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.unit-field input{border:1px solid var(--border);text-align:right;background:#0b1018;border-radius:8px;width:88px;padding:8px 10px}.summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid}.summary>div{text-align:center}.summary .label{color:var(--muted);margin-bottom:2px;font-size:.75rem;display:block}.summary strong{font-size:1.05rem}.summary .ok,.result.ok,.ok{color:var(--ok)}.summary .bad,.result.bad,.bad,.bad-text{color:var(--bad)}.summary .warn{color:var(--warn)}.banner{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.92rem;display:flex}.banner.ok{background:#22c55e1f;border-color:#22c55e59}.banner.warn{background:#f59e0b1f;border-color:#f59e0b66}.banner-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.list{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:40px 12px}.player-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.player-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(52px,1.05fr) minmax(108px,1.55fr) minmax(52px,.9fr) minmax(48px,.85fr) 36px;align-items:center;gap:6px;min-width:0;padding:8px;display:grid}.player-row:last-child{border-bottom:none}.player-row-head{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.02em;background:#00000038;padding:8px 8px 6px;font-size:.72rem;font-weight:600}.player-row-head>div{text-align:center}.player-row-head .col-name{text-align:left;padding-left:6px}.col-name,.col-buyin,.col-remain,.col-result,.col-action{min-width:0}.col-action{justify-content:center;display:flex}.name-input{border:1px solid var(--border);background:#0b1018;border-radius:8px;width:100%;min-width:0;height:36px;padding:0 8px;font-size:.9rem}.icon-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;width:32px;height:32px;padding:0;font-size:1.1rem;line-height:1}.icon-btn.danger{color:#fca5a5;border-color:#ef444466}.stepper{grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:3px;display:grid}.stepper button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;width:28px;height:36px;padding:0;font-size:1.05rem;line-height:1}.stepper input,.remain-input{border:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;background:#0b1018;border-radius:8px;width:100%;min-width:0;height:36px;padding:0 4px;font-size:.88rem}.result{font-variant-numeric:tabular-nums;border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;background:#0b1018;border-radius:8px;justify-content:center;align-items:center;height:36px;padding:0 2px;font-size:.88rem;font-weight:700;display:flex;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bottom-bar{padding:10px 12px calc(10px + var(--safe-bottom));background:linear-gradient(180deg, transparent, #0f1419eb 20%, var(--bg));z-index:10;position:fixed;bottom:0;left:0;right:0;overflow:visible}.bottom-main{flex-wrap:nowrap;align-items:stretch;gap:8px;max-width:720px;margin:0 auto;display:flex;overflow:visible}.bottom-main.is-compact .btn.primary{flex:auto;min-width:0}.bottom-main.is-compact .btn.ghost,.bottom-main.is-expanded .btn{flex:none}.bottom-probe{pointer-events:none;visibility:hidden;flex-wrap:nowrap;gap:8px;width:max-content;display:flex;position:absolute;top:0;left:-99999px}.btn{border:1px solid var(--border);cursor:pointer;background:var(--surface-2);white-space:nowrap;border-radius:10px;min-height:44px;padding:0 14px;font-weight:600}.btn.primary{background:var(--primary);color:#fff;border-color:#0000}.btn.primary:active{background:var(--primary-press)}.btn.ghost{background:var(--surface)}.btn.danger{color:#fecaca;background:#ef444433;border-color:#ef444473}.btn:disabled{opacity:.5;cursor:not-allowed}.danger-text{color:#fca5a5!important}.hint{text-align:center;max-width:720px;color:var(--muted);margin:6px auto 0;font-size:.72rem}.more-wrap{z-index:30;flex:none;position:relative;overflow:visible}.more-menu{background:var(--surface);border:1px solid var(--border);z-index:40;border-radius:12px;flex-direction:column;gap:2px;min-width:160px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 30px #00000073}.more-menu button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:12px}.more-menu button:hover{background:var(--surface-2)}.modal-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:min(420px,100%);padding:18px 16px;box-shadow:0 16px 40px #0006}.modal-card h2{margin:0 0 8px;font-size:1.1rem}.modal-card p{color:#d5deea;margin:0 0 16px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.share-modal{width:min(480px,100%);max-height:90vh;overflow:auto}.share-preview{border:1px solid var(--border);border-radius:10px;width:100%;margin-bottom:12px;display:block}.share-offscreen{pointer-events:none;position:fixed;top:0;left:-10000px}.share-card{color:#e7ecf3;background:#0f1419;width:750px;padding:32px;font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}.share-card-title{margin-bottom:8px;font-size:36px;font-weight:700}.share-card-time{color:#9aa8bc;margin-bottom:18px;font-size:18px}.share-card-meta{flex-wrap:wrap;gap:14px 20px;margin-bottom:20px;font-size:18px;display:flex}.share-card-meta .ok{color:#22c55e}.share-card-meta .bad{color:#ef4444}.share-card-table{border-collapse:collapse;width:100%;font-size:20px}.share-card-table th,.share-card-table td{text-align:center;border:1px solid #2d3a4f;padding:12px 10px}.share-card-table th{color:#9aa8bc;background:#1a2332;font-weight:600}.share-card-table td.ok{color:#22c55e;font-weight:700}.share-card-table td.bad{color:#ef4444;font-weight:700}.share-card-footer{color:#6b7a90;text-align:center;margin-top:18px;font-size:14px}@media (width>=480px){.player-row{grid-template-columns:minmax(80px,1.2fr) minmax(140px,1.6fr) minmax(72px,1fr) minmax(64px,.9fr) 40px;gap:8px;padding:10px 12px}.stepper{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.stepper button{width:36px;height:40px}.stepper input,.remain-input,.name-input,.result{height:40px;font-size:.95rem}.icon-btn{width:36px;height:36px}}@media (width<=360px){.player-row{grid-template-columns:minmax(44px,.95fr) minmax(96px,1.5fr) minmax(44px,.85fr) minmax(40px,.8fr) 30px;gap:4px;padding:6px}.stepper{grid-template-columns:24px minmax(0,1fr) 24px;gap:2px}.stepper button{width:24px;height:32px;font-size:.95rem}.stepper input,.remain-input,.name-input,.result{height:32px;font-size:.8rem}.icon-btn{width:28px;height:28px}}body{margin:0}
