:root{--bg: #ffffff;--screen: #f3f3f6;--bezel: #111114;--surface: #ffffff;--surface-2: #ffffff;--text: #0a0a0a;--text-dim: #8a8a8e;--accent: #108ab1;--on-accent: #ffffff;--header-ink: #ffffff;--accent-press: #333333;--op: #e5e5eb;--op-ink: #073e50;--op-text: var(--op-ink);--util: #d9d9e0;--equals: var(--accent);--error: #ff3b30;--radius: 18px;--keypad-gap: 10px;--accent-grad: var(--accent);--bg-grad: linear-gradient(to bottom, #108ab1 0%, #092e3d 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-grad);background-repeat:no-repeat;background-size:100% 100%;min-height:100dvh;color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{min-height:100dvh;background:var(--bg-grad);background-repeat:no-repeat;background-size:100% 100%}.app{width:100%;max-width:440px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:transparent;padding:env(safe-area-inset-top) 0 0}.app-header{padding:16px 20px 6px;text-align:center}.app-header h1{font-size:19px;font-weight:700;letter-spacing:.3px;margin:0;color:var(--header-ink)}.app-subtitle{margin:2px 0 0;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--header-ink);opacity:.78}.swatches{display:flex;justify-content:center;gap:11px;margin-top:12px}.swatch{width:26px;height:26px;border-radius:50%;border:none;padding:0;cursor:pointer;box-shadow:0 1px 3px #0000002e;transition:transform .12s,box-shadow .12s}.swatch:active{transform:scale(.9)}.swatch.active{transform:scale(1.14);box-shadow:0 0 0 2px #fff,0 0 0 4px #ffffff8c}.tabmenu{display:flex;gap:4px;margin:16px 0 2px;padding:5px;border-radius:16px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 8px 24px #00000024}.tabmenu-btn{flex:1 1 0;min-width:0;padding:10px 4px;border:none;border-radius:12px;background:transparent;color:var(--header-ink);font-size:12.5px;font-weight:700;letter-spacing:.2px;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s,transform .1s}.tabmenu-btn:active{transform:scale(.95)}.tabmenu-btn.active{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 10px #0003}.app-body{flex:1;min-height:0;padding:10px 14px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.app-body::-webkit-scrollbar{display:none}.panel{background:#fff6;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,255,255,.55);border-radius:28px;box-shadow:0 18px 50px #0000002e;padding:14px}.tabbar{display:flex;gap:6px;padding:8px 14px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid rgba(128,128,128,.15)}.tabbar-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px;border:none;background:transparent;color:var(--text-dim);font-size:12px;font-weight:600;border-radius:12px;cursor:pointer;transition:color .15s,background .15s}.tabbar-btn.active{color:var(--accent);background:var(--surface-2)}.tabbar-icon{font-size:20px}.tabbar-btn span:not(.tabbar-icon){font-size:11px}.calculator{display:flex;flex-direction:column;height:100%}.calc-toolbar{display:flex;gap:8px;margin-bottom:8px}.chip{padding:7px 14px;border-radius:999px;border:1px solid rgba(128,128,128,.25);background:var(--surface);color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer}.chip-on{color:var(--accent);border-color:var(--accent)}.seg{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:999px}.seg-btn{padding:7px 18px;border:none;border-radius:999px;background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.seg-btn.active{background:var(--accent-grad);color:var(--on-accent);box-shadow:0 2px 6px #0003}.display{background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.08);border-radius:0;padding:10px 10px 16px;margin-bottom:14px;text-align:right;min-height:104px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px}.display-expr{color:#fff;font-size:20px;min-height:24px;word-break:break-all;font-variant-numeric:tabular-nums}.display-result{font-size:40px;font-weight:600;word-break:break-all;font-variant-numeric:tabular-nums;line-height:1.1}.display-error .display-result{color:var(--error)}.keypad{display:grid;gap:var(--keypad-gap)}.keypad-main{grid-template-columns:repeat(4,1fr)}.keypad-sci{grid-template-columns:repeat(4,1fr);margin-bottom:var(--keypad-gap)}.key{border:none;border-radius:18px;padding:0;height:60px;font-size:22px;font-weight:600;color:var(--text);background:var(--surface-2);cursor:pointer;transition:transform .06s,filter .12s;-webkit-user-select:none;user-select:none;box-shadow:0 5px 14px #00000021}.key:active{transform:scale(.94);filter:brightness(.92)}.key-num{background:var(--surface-2)}.key-op{background:var(--op);color:var(--op-ink);font-weight:700}.key-util{background:var(--util);color:#4a4a4e}.key-equals{background:var(--equals);color:var(--on-accent);font-weight:700}.key-fn{background:var(--surface);color:var(--op-text);font-size:16px;height:46px;font-weight:600}.history{margin-top:12px;background:var(--surface);border-radius:12px;padding:4px 14px}.history summary{cursor:pointer;padding:8px 0;color:var(--text-dim);font-size:13px;font-weight:600}.history ul{list-style:none;margin:0;padding:0 0 8px}.history li{display:flex;gap:8px;justify-content:flex-end;align-items:baseline;padding:6px 0;border-top:1px solid rgba(128,128,128,.12);cursor:pointer;font-variant-numeric:tabular-nums}.history-expr{color:var(--text-dim);font-size:14px}.history-eq{color:var(--text-dim)}.history-result{font-weight:600}.converter{display:flex;flex-direction:column;gap:14px}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cat-btn{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 6px;border:1px solid rgba(128,128,128,.18);border-radius:14px;background:var(--surface);color:var(--text-dim);font-size:13px;font-weight:700;cursor:pointer}.cat-btn.active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.cat-icon{font-size:22px}.conv-panel{background:transparent;padding:0;margin-top:34px;display:flex;flex-direction:column;gap:8px;position:relative}.conv-row{display:flex;flex-direction:column;gap:8px}.conv-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--header-ink)}.conv-inputs{display:flex;gap:10px}.conv-amount{flex:1;min-width:0;font-size:26px;font-weight:600;padding:12px 14px;border-radius:12px;border:1px solid rgba(128,128,128,.2);background:var(--surface-2);color:var(--text);font-variant-numeric:tabular-nums}.conv-amount:focus{outline:2px solid var(--accent)}.conv-result{display:flex;align-items:center;overflow-x:auto;white-space:nowrap}.conv-select{width:46%;padding:12px 10px;border-radius:12px;border:1px solid rgba(128,128,128,.2);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.swap-btn{align-self:center;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:none;background:var(--accent-grad);color:var(--on-accent);font-size:20px;line-height:1;cursor:pointer;margin:16px auto}.swap-ico{display:block;transform:translateY(2px)}.swap-btn:active{filter:brightness(1.1)}.conv-note{text-align:center;color:var(--text-dim);font-size:12px;margin:0}.financial{display:flex;flex-direction:column;gap:14px}.fin-toolbar{display:flex;gap:8px;background:var(--surface-2);padding:5px;border-radius:12px}.fin-tab{flex:1;padding:9px 6px;border:none;border-radius:9px;background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer}.fin-tab.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0003}.fin-form{display:grid;grid-template-columns:1fr;gap:10px}.fin-field{display:flex;flex-direction:column;gap:5px}.fin-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.fin-input-wrap{display:flex;align-items:center;background:var(--surface);border:1px solid rgba(128,128,128,.2);border-radius:11px;padding:0 12px}.fin-input-wrap:focus-within{outline:2px solid var(--accent)}.fin-input-wrap input,.fin-input-wrap select{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:18px;font-weight:600;padding:11px 0;font-variant-numeric:tabular-nums}.fin-input-wrap input:focus,.fin-input-wrap select:focus{outline:none}.fin-affix{color:var(--text-dim);font-size:15px;font-weight:600}.fin-affix-suffix{margin-left:4px}.fin-quick-tips{display:flex;gap:8px}.fin-quick-tips .chip{flex:1;text-align:center}.fin-results{display:flex;flex-direction:column;gap:2px;background:var(--surface);border-radius:var(--radius);padding:6px 16px}.fin-result{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-top:1px solid rgba(128,128,128,.12)}.fin-result:first-child{border-top:none}.fin-result-label{color:var(--text-dim);font-size:14px;font-weight:600}.fin-result-value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.fin-result-big{padding:16px 0}.fin-result-big .fin-result-label{color:var(--text);font-size:15px}.fin-result-big .fin-result-value{font-size:28px;font-weight:700;color:var(--accent)}.programmer{display:flex;flex-direction:column;gap:12px}.prog-bases{display:flex;flex-direction:column;gap:6px;background:var(--surface);border-radius:var(--radius);padding:8px}.prog-base-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;text-align:left}.prog-base-row.active{background:var(--surface-2);border-color:var(--accent)}.prog-base-tag{font-size:12px;font-weight:700;color:var(--op-text);width:34px;flex-shrink:0}.prog-base-val{flex:1;text-align:right;font-size:20px;font-weight:600;color:var(--text);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;overflow-x:auto;white-space:nowrap}.prog-pending{text-align:right;color:var(--accent);font-weight:700;font-size:14px;padding:0 8px;margin-top:-6px}.prog-ops{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.prog-keypad{display:flex;flex-direction:column;gap:8px}.prog-hex{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.prog-main{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.prog-equals{grid-column:span 1}.key:disabled{opacity:.3;cursor:not-allowed}.key:disabled:active{transform:none;filter:none}
