.btn{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 20px;font-size:15px;font-weight:600;transition:background .16s,border-color .16s,color .16s,transform .12s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-hover)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{color:var(--text)}.btn-block{width:100%}.btn-icon{border-radius:var(--radius);width:44px;height:44px;color:var(--text-secondary);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{color:var(--text);background:var(--surface-hover)}@media (min-width:1024px){.btn{height:44px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.hov{transition:border-color .2s,background .2s,transform .2s}.hov:active{transform:scale(.985)}@media (hover:hover){.hov:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-2px)}}.chip{border:1px solid var(--border);min-height:26px;color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.chip-success{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent)}.chip-warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent)}.chip-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.tone-light .chip-success{color:color-mix(in srgb,var(--success) 70%,#000)}.tone-light .chip-warn{color:color-mix(in srgb,var(--warning) 82%,#000)}.tone-light .chip-danger{color:color-mix(in srgb,var(--danger) 78%,#000)}.input{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:48px;color:var(--text);padding:0 14px}.input::placeholder{color:var(--text-muted)}.numspec{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.numspec .big{letter-spacing:-.03em;font-size:72px;font-weight:600;line-height:1}.bar{background:var(--surface-hover);border-radius:3px;width:180px;height:6px;overflow:hidden}.bar i{background:var(--accent);border-radius:3px;height:100%;display:block}.segbar{gap:3px;height:8px;display:flex}.segbar i{background:var(--surface-hover);border-radius:2px;flex:1}.segbar i.on{background:var(--accent)}.segbar i.w{background:var(--warning)}.bigrow{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.bignum{letter-spacing:-.03em;font-size:clamp(56px,16vw,72px);font-weight:600;line-height:.94}.outof{color:var(--text-muted);font-size:15px}.overlay{z-index:80;background:#05070a9e;border:0;animation:.2s fadeIn;position:fixed;inset:0}.tone-light .overlay{background:#0b0e1466}@keyframes fadeIn{0%{opacity:0}}.sheet{z-index:90;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:8px 20px calc(20px + env(safe-area-inset-bottom));border-bottom:0;max-height:80dvh;animation:.3s cubic-bezier(.16,1,.3,1) sheetUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@keyframes sheetUp{0%{opacity:0;transform:translateY(28px)}}.handle{background:var(--border-strong);border-radius:2px;width:36px;height:4px;margin:6px auto 14px}.grab{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none;padding:2px 0 0}.grab .handle{margin:8px auto 12px;transition:background .15s,width .15s}.grab:active .handle{background:var(--text-secondary);width:44px}.sheet-half,.sheet-full{flex-direction:column;max-height:none;transition:height .32s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.sheet-half{height:54dvh}.sheet-full{height:88dvh}.sheet.dragging{transition:none}@media (min-width:1024px){.sheet-pop{border-radius:var(--radius-lg);border:1px solid var(--border-strong);width:620px;padding:22px;display:block;bottom:88px;left:50%;right:auto;transform:translate(-50%);height:auto!important}.sheet-pop .grab{display:none}}.dlg{z-index:100;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(420px,100vw - 40px);box-shadow:var(--shadow);padding:24px;animation:.25s cubic-bezier(.16,1,.3,1) dlgIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes dlgIn{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))}}.toast{top:calc(14px + env(safe-area-inset-top));z-index:130;background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow);white-space:nowrap;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:500;animation:.25s cubic-bezier(.16,1,.3,1) toastIn;position:fixed;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-8px)}}
