*{box-sizing:border-box}body{margin:0;font:13px/1.4 PingFang SC,Microsoft YaHei,sans-serif;background:#eef3f8;color:#1c2833}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:#0d4f9a;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.login-card{width:min(400px,100%);background:#fff;padding:24px;border-radius:8px;display:grid;gap:12px}.login-card h1{margin:0;color:#0d4f9a}.login-card p{margin:0;color:#667}.login-card form{display:grid;gap:12px}.login-card label{display:grid;gap:4px}.login-card input,.page input,.page select,.quick input,.quick textarea,.cell input{border:1px solid #c5d0dc;border-radius:4px;padding:8px}.login-card input,.page.narrow input,.quick input,.quick textarea,.cell input{width:100%}.login-card button,.quick button,.tools button,.pager button,.top button{background:#0d4f9a;color:#fff;border:0;border-radius:4px;padding:8px 12px;cursor:pointer}.login-card form>button{width:100%;min-height:40px}.login-card button:disabled{opacity:.55;cursor:default}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-card .login-tabs button,.login-card button.ghost{background:#e8eef6;color:#0d4f9a}.login-card .login-tabs button.on{background:#0d4f9a;color:#fff}.login-card .hint{color:#3d6b4f}.err{color:#c0392b}.top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;background:#0d4f9a;color:#fff;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.draw-line{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top .menu{margin-left:auto;display:flex;gap:8px;align-items:center}.top a,.top button{min-height:32px;white-space:nowrap}.app{min-width:0;max-width:100%}.top a.router-link-active{text-decoration:underline}.top button{background:transparent;border:1px solid rgba(255,255,255,.5)}.body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 42px);min-height:calc(100dvh - 42px)}main{min-width:0}aside{background:#f4f6f8;border-right:1px solid #d5dee8;padding:10px}.kv{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid #e4ebf2}.pans{display:flex;gap:4px}.pans i{font-style:normal;width:18px;text-align:center;border:1px solid #c5d0dc}.pans i.on{background:#0d4f9a;color:#fff}.warn{color:#c0392b}.recent{list-style:none;padding:0;margin:0;display:grid;gap:8px}.board{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:8px;padding:8px}.lots,.period,.grid-wrap{grid-column:1;min-width:0}.quick{grid-column:2;grid-row:1 / span 4;background:#fff;border:1px solid #d5dee8;padding:8px;min-width:0}.lots{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lots button,.tools button{background:#fff;color:#0d4f9a;border:1px solid #0d4f9a}.lots button.on,.tools button.on,.play-tab{background:#0d4f9a;color:#fff;padding:6px 10px}.period{display:flex;flex-wrap:wrap;gap:8px 12px;background:#fff;border:1px solid #d5dee8;padding:6px 8px}.grow{margin-left:auto}.num-grid,.side-grid{display:grid;gap:6px}.num-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.side-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:8px}.cell{display:flex;flex-direction:column;gap:4px;min-width:0;background:#fff;border:1px solid #e1e8ef;padding:4px}.cell .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.num-grid .cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:4px}.num-grid .cell .odds{text-align:right}.num-grid .cell input{grid-column:1 / -1;min-width:0}.sheet{width:100%;border-collapse:collapse;background:#fff}.sheet th,.sheet td{border:1px solid #e1e8ef;padding:4px 6px;text-align:center;white-space:nowrap}.sheet-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.odds{color:#c0392b}.ball{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-style:normal;font-size:11px}.ball.sm{width:auto;min-width:28px;height:28px;padding:0 3px;margin:1px}.balls{display:inline-flex;flex-wrap:wrap;gap:2px;justify-content:flex-end}.ball small{display:block;font-size:9px}.red{background:#e53935}.blue{background:#1e88e5}.green{background:#43a047}.quick-nums{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.quick-nums button{color:#fff;border:0;border-radius:50%;width:26px;height:26px;padding:0}.quick-sets{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.quick-sets button,.quick-actions button{background:#eef3f8;color:#0d4f9a;border:1px solid #c5d0dc}.quick-actions{display:flex;gap:6px;margin:6px 0}.quick .go,.dialog .go{background:#0d4f9a;color:#fff}.quick textarea{width:100%;height:64px}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center}.dialog{background:#fff;padding:16px;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border-radius:8px}.page{padding:12px;min-width:0}.page.narrow{width:min(420px,100%);display:grid}.page form{display:grid;gap:10px}.page.narrow form button{width:100%;min-height:40px}.tools{display:flex;gap:8px;margin-bottom:8px}.hint{color:#667}.pager{display:flex;gap:8px;align-items:center;margin-top:8px}.sk{display:block;height:14px;border-radius:4px;background:linear-gradient(90deg,#e6edf5 25%,#f8fafc 37%,#e6edf5 63%);background-size:400% 100%;animation:sk 1.2s ease infinite}.sk-stack{display:grid;gap:10px;padding:6px 0}.sk-line{height:18px}.sk-board{height:280px}@keyframes sk{0%{background-position:100% 0}to{background-position:0 0}}@media(max-width:1024px){.top .menu{order:3;width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.top a,.top button{flex:0 0 auto}.body{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid #d5dee8;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}aside h3,aside .recent,aside .warn,aside .sk-stack{grid-column:1 / -1}aside h3,aside .recent{display:none}.board{grid-template-columns:1fr}.quick{grid-column:1;grid-row:auto}.side-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page.narrow{width:100%}.quick-actions button{flex:1;min-height:40px}}@media(max-width:720px){body{font-size:14px}input,select,textarea{font-size:16px}.app{padding-bottom:calc(52px + env(safe-area-inset-bottom))}.top{display:grid;grid-template-columns:1fr auto;align-items:center}.draw-line{grid-column:1 / -1;white-space:nowrap}.top .menu{position:fixed;left:0;right:0;bottom:0;z-index:30;order:0;width:auto;background:#0d4f9a;padding:4px 8px calc(4px + env(safe-area-inset-bottom))}.top .menu a{color:#fff;min-height:40px;display:inline-flex;align-items:center;padding:0 8px}aside{grid-template-columns:1fr 1fr}.side-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-nums{grid-template-columns:repeat(5,minmax(0,1fr))}.quick-nums button{width:100%;height:36px;border-radius:8px}.cell{padding:6px}.tools{flex-wrap:wrap}.tools input,.tools select,.tools button{min-width:0;flex:1 1 140px;min-height:40px}.pager{flex-wrap:wrap}.pager button{min-height:40px}.sheet-scroll{overflow:visible}.sheet thead{display:none}.sheet,.sheet tbody,.sheet tr,.sheet td{display:block;width:auto}.sheet tr{background:#fff;border:1px solid #e1e8ef;border-radius:8px;margin:0 0 8px;padding:8px 10px}.sheet td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:4px 0;text-align:right;white-space:normal}.sheet td:before{content:attr(data-label);color:#667;text-align:left;flex:0 0 auto}.sheet td.full{display:block;text-align:center}.sheet td.full:before{content:none}.sheet td .balls{max-width:68%}}
