:root{--color-bg: #000000;--color-surface: #1c1c1e;--color-surface-hover: #2c2c2e;--color-card: #2c2c2e;--key-num-bg: #333333;--key-num-active: #555555;--key-num-text: #ffffff;--key-fn-bg: #a5a5a5;--key-fn-active: #d9d9d9;--key-fn-text: #000000;--key-op-bg: #ff9f0a;--key-op-active: #f3b14e;--key-op-text: #ffffff;--key-unit-bg: #2c3e50;--key-unit-active: #34495e;--key-unit-accent: #0a84ff;--key-unit-text: #ffffff;--color-text-primary: #ffffff;--color-text-secondary: #8e8e93;--color-accent: #0a84ff;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-full: 9999px;--radius-xl: 20px;--radius-lg: 12px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-sheet: 0 -8px 30px rgba(0, 0, 0, .8)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body,html{width:100%;height:100%;background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-family);overflow:hidden}#app{display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto;position:relative;background-color:var(--color-bg)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1c1c1eb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:10;border-bottom:1px solid rgba(255,255,255,.05)}.app-title{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:6px}.app-title svg{color:var(--key-op-bg)}.header-actions{display:flex;gap:8px}.icon-btn{background:#ffffff1a;border:none;color:var(--color-text-primary);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;position:relative}.icon-btn:active{transform:scale(.92);background:#ffffff40}.icon-btn-danger{color:#ff453a;background:#ff453a26}.icon-btn-danger:active{background:#ff453a4d}.badge{position:absolute;top:-2px;right:-2px;background:var(--key-op-bg);color:#000;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.format-bar{display:flex;background:#ffffff14;border-radius:var(--radius-lg);padding:3px;margin:10px 16px 4px;gap:2px}.format-btn{flex:1;border:none;background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:.75rem;font-weight:500;padding:6px 0;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-align:center}.format-btn.active{background:#fff3;color:#fff;font-weight:600;box-shadow:0 1px 4px #0000004d}.display-container{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;padding:16px 20px 8px;overflow:hidden}.running-total-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:2px;font-weight:500}.running-total-val{font-size:1.8rem;font-weight:300;color:var(--key-op-bg);word-break:break-all;text-align:right;transition:color .2s ease}.active-input-container{margin-top:8px;width:100%;text-align:right}.active-input-val{font-size:3.2rem;font-weight:300;line-height:1.1;color:var(--color-text-primary);word-break:break-all;letter-spacing:-.02em;min-height:3.6rem}.keypad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;margin-bottom:8px}.key-btn{aspect-ratio:1;border-radius:50%;border:none;font-family:inherit;font-size:2rem;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .08s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-sm)}.key-btn:active{transform:scale(.92)}.key-btn.disabled,.key-btn:disabled,.icon-btn.disabled,.icon-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;box-shadow:none}.key-num{background-color:var(--key-num-bg);color:var(--key-num-text)}.key-num:active{background-color:var(--key-num-active)}.key-fn{background-color:var(--key-fn-bg);color:var(--key-fn-text);font-weight:600;font-size:1.6rem}.key-fn:active{background-color:var(--key-fn-active)}.key-op{background-color:var(--key-op-bg);color:var(--key-op-text);font-weight:600;font-size:2.2rem}.key-op:active{background-color:var(--key-op-active)}.key-mode-active{background-color:#ff453a!important;color:#fff}.key-mode-sticky{background-color:#ff453a!important;color:#fff;box-shadow:0 0 0 3px #fff,0 0 12px #ff453acc!important}.key-unit{background-color:var(--key-unit-bg);color:var(--key-unit-text);font-weight:700;font-size:1.6rem;border:1px solid rgba(10,132,255,.4)}.key-unit:active{background-color:var(--key-unit-accent)}.sheet-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;opacity:0;pointer-events:none;transition:opacity .25s ease}.sheet-overlay.active{opacity:1;pointer-events:auto}.sheet-content{position:absolute;bottom:0;left:0;width:100%;max-height:80%;background:#1c1c1e;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;box-shadow:var(--shadow-sheet);transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.sheet-overlay.active .sheet-content{transform:translateY(0)}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.sheet-title{font-size:1.2rem;font-weight:600}.close-btn{background:#ffffff1a;border:none;color:#fff;font-size:1.2rem;width:32px;height:32px;border-radius:50%;cursor:pointer}.tips-container{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px;padding-right:4px}.tip-section{background:#ffffff0a;border-radius:var(--radius-lg);padding:14px;border:1px solid rgba(255,255,255,.06)}.tip-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--key-op-bg);margin-bottom:10px}.shortcut-list{display:flex;flex-direction:column;gap:8px}.shortcut-item{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.05)}.shortcut-item:last-child{border-bottom:none;padding-bottom:0}.shortcut-label{color:var(--color-text-primary)}kbd{background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:5px;padding:2px 7px;font-size:.78rem;font-family:inherit;font-weight:600;color:#fff;box-shadow:0 1px 2px #0006}.history-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;padding-right:4px}.history-item{background:#ffffff0d;border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.item-left{display:flex;align-items:center;gap:10px}.item-sign{font-size:1.2rem;font-weight:700;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.item-sign.add{background:#30d15833;color:#30d158}.item-sign.sub{background:#ff453a33;color:#ff453a}.item-expr{font-size:1rem;font-weight:500}.item-running{font-size:.8rem;color:var(--color-text-secondary)}.delete-item-btn{background:transparent;border:none;color:#ff453a;padding:6px;cursor:pointer;border-radius:6px}.delete-item-btn:hover{background:#ff453a26}.empty-state{text-align:center;padding:40px 0;color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}.stat-card{background:#ffffff0d;border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column}.stat-card.full-width{grid-column:span 2;background:linear-gradient(135deg,#ff9f0a26,#ff9f0a0d);border:1px solid rgba(255,159,10,.3)}.stat-label{font-size:.8rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.stat-val{font-size:1.4rem;font-weight:600;color:#fff}.btn-danger{width:100%;margin-top:16px;background:#ff453a33;color:#ff453a;border:1px solid rgba(255,69,58,.4);padding:12px;border-radius:var(--radius-lg);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer}.btn-danger:active{background:#ff453a66}.confirm-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}.confirm-overlay.active{opacity:1;pointer-events:auto}.confirm-dialog{background:#1c1c1e;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:24px;width:100%;max-width:330px;text-align:center;box-shadow:0 20px 40px #000c;transform:scale(.9);transition:transform .2s cubic-bezier(.16,1,.3,1)}.confirm-overlay.active .confirm-dialog{transform:scale(1)}.confirm-icon{width:52px;height:52px;border-radius:50%;background:#ff453a26;color:#ff453a;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.confirm-title{font-size:1.15rem;font-weight:600;color:#fff;margin-bottom:8px}.confirm-message{font-size:.88rem;color:var(--color-text-secondary);line-height:1.4;margin-bottom:20px}.confirm-actions{display:flex;gap:10px}.confirm-btn{flex:1;padding:12px;border-radius:var(--radius-lg);border:none;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .1s ease,background .15s ease}.confirm-btn:active{transform:scale(.95)}.cancel-btn{background:#ffffff1a;color:#fff}.cancel-btn:hover{background:#ffffff2e}.ok-btn{background:#ff453a;color:#fff}.ok-btn:hover{background:#ff5b52}
