:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#07070a;color:#e8e8ed}.shell{min-height:100vh;display:flex;justify-content:center;padding:1rem}.calc-app{width:100%;max-width:28rem;display:flex;flex-direction:column;gap:0}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.app-title{margin:0;font-size:1.1rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-badge{display:flex;gap:.4rem}.badge{font-size:.65rem;font-weight:700;padding:.15rem .45rem;border-radius:.25rem;letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mem-badge{background:#2563eb;color:#fff}.angle-badge{background:#ffffff14;color:#ffffff80;border:1px solid rgba(255,255,255,.1)}.tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.75rem}.tab{flex:1;padding:.6rem 0;border:none;background:transparent;color:#fff6;font-size:.82rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.tab:hover{color:#ffffffa6}.tab.active{color:#60a5fa;border-bottom-color:#60a5fa}.tab-content{display:flex;flex-direction:column;gap:.65rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.display{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem 1.25rem;min-height:4.5rem;display:flex;flex-direction:column;gap:.4rem}.expr-input{width:100%;background:transparent;border:none;outline:none;color:#fafafa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;caret-color:#60a5fa}.expr-input::placeholder{color:#fff3}.result{font-size:1.45rem;font-weight:700;color:#34d399;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;line-height:1.3}.error{font-size:.82rem;color:#f87171;word-break:break-word}.suggestions{display:flex;gap:.4rem;flex-wrap:wrap}.suggestion-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .65rem;border:1px solid rgba(96,165,250,.2);border-radius:.5rem;background:#60a5fa0f;color:#93c5fd;cursor:pointer;transition:background .15s,border-color .15s;font-size:.78rem}.suggestion-chip:hover{background:#60a5fa1f;border-color:#60a5fa59}.suggestion-label{font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.suggestion-desc{font-size:.65rem;color:#93c5fd80}.sci-grid{display:flex;flex-direction:column;gap:.3rem}.sci-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem}.fn-btn{padding:.5rem .15rem;border:1px solid rgba(255,255,255,.06);border-radius:.45rem;background:#ffffff08;color:#ffffffb3;font-size:.78rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.fn-btn:hover{background:#ffffff14;border-color:#ffffff26;color:#fff}.fn-btn:active{background:#ffffff1f}.fn-btn.active{background:#60a5fa26;border-color:#60a5fa4d;color:#93c5fd}.fn-btn.mem-active{background:#2563eb33;border-color:#2563eb66;color:#93c5fd}.numpad{display:flex;flex-direction:column;gap:.3rem}.numpad-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.num-btn{padding:.7rem 0;border:1px solid rgba(255,255,255,.06);border-radius:.5rem;background:#ffffff0d;color:#fafafa;font-size:1.1rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .12s,transform .1s}.num-btn:hover{background:#ffffff1a}.num-btn:active{background:#ffffff26;transform:scale(.97)}.op-btn{padding:.7rem 0;border:1px solid rgba(255,255,255,.06);border-radius:.5rem;background:#fb923c14;color:#fb923c;font-size:1.1rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .12s,transform .1s}.op-btn:hover{background:#fb923c26}.op-btn:active{background:#fb923c38;transform:scale(.97)}.op-btn.clear-btn{background:#f871711a;color:#f87171;border-color:#f8717126}.op-btn.clear-btn:hover{background:#f8717133}.equals-row{grid-template-columns:1fr 1fr 2fr!important}.equals-btn{padding:.7rem 0;border:1px solid #2563eb;border-radius:.5rem;background:#2563eb;color:#fff;font-size:1.15rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .15s,transform .1s}.equals-btn:hover{background:#1d4ed8}.equals-btn:active{background:#1e40af;transform:scale(.97)}.quick-chips{display:flex;gap:.35rem;flex-wrap:wrap}.chip{padding:.3rem .6rem;border:1px solid rgba(255,255,255,.06);border-radius:.35rem;background:#ffffff05;color:#ffffff73;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .15s,color .15s}.chip:hover{background:#ffffff0f;color:#ffffffb3}.chip-calc{border-color:#a78bfa26;color:#a78bfa80}.chip-calc:hover{background:#a78bfa14;color:#a78bfa}.calculus-tab{gap:.85rem}.calc-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.calc-mode-btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.85rem .5rem;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;background:#ffffff08;color:#ffffff80;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.calc-mode-btn:hover{background:#ffffff0f;border-color:#ffffff1f;color:#fffc}.calc-mode-btn.active{background:#a78bfa1a;border-color:#a78bfa59;color:#c4b5fd}.calc-mode-symbol{font-size:1.6rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.1}.calc-mode-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.calc-field{display:flex;flex-direction:column;gap:.3rem}.calc-field-half{flex:1}.calc-bounds-row{display:flex;gap:.5rem}.calc-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59}.calc-input{width:100%;padding:.6rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;background:#ffffff0a;color:#fafafa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;outline:none;transition:border-color .15s}.calc-input:focus{border-color:#a78bfa66}.calc-input::placeholder{color:#fff3}.calc-input-sm{max-width:5rem}.calc-go-btn{padding:.65rem;border:none;border-radius:.55rem;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.calc-go-btn:hover{opacity:.9}.calc-result{padding:1rem;background:#a78bfa0f;border:1px solid rgba(167,139,250,.2);border-radius:.6rem;text-align:center}.calc-result-value{font-size:1.15rem;font-weight:700;color:#c4b5fd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.calc-error{font-size:.82rem;color:#f87171;word-break:break-word}.calc-examples{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.calc-examples-label{font-size:.7rem;color:#ffffff4d;font-weight:600}.calc-example-chip{padding:.3rem .55rem;border:1px solid rgba(167,139,250,.15);border-radius:.35rem;background:#a78bfa0d;color:#a78bfa;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .15s}.calc-example-chip:hover{background:#a78bfa1f}.convert-tab{gap:.85rem}.convert-section{display:flex;flex-direction:column;gap:.4rem}.convert-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.3rem}.category-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem .3rem;border:1px solid rgba(255,255,255,.06);border-radius:.5rem;background:#ffffff05;color:#fff9;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.category-btn:hover{background:#ffffff0f;border-color:#ffffff1f}.category-btn.active{background:#60a5fa1a;border-color:#60a5fa4d;color:#93c5fd}.cat-icon{font-size:1.15rem}.cat-name{font-size:.7rem;font-weight:600}.convert-input{width:100%;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;background:#ffffff0a;color:#fafafa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;outline:none;transition:border-color .15s}.convert-input:focus{border-color:#60a5fa66}.convert-input::placeholder{color:#fff3}.convert-row{display:flex;gap:.5rem;align-items:flex-end}.convert-col{flex:1;display:flex;flex-direction:column;gap:.3rem}.convert-select{width:100%;padding:.55rem 1.8rem .55rem .75rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;background:#ffffff0a;color:#fafafa;font-size:.85rem;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='rgba(255,255,255,0.4)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.convert-select:focus{border-color:#60a5fa66}.swap-btn{padding:.55rem .7rem;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;background:#ffffff0a;color:#fff9;font-size:1.1rem;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.swap-btn:hover{background:#ffffff14;color:#fff}.convert-go-btn{padding:.65rem;border:none;border-radius:.55rem;background:#2563eb;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.convert-go-btn:hover{background:#1d4ed8}.convert-result{padding:1rem;background:#34d3990f;border:1px solid rgba(52,211,153,.15);border-radius:.6rem;text-align:center}.convert-result-value{font-size:1.25rem;font-weight:700;color:#34d399;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.convert-chips{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.convert-chips-label{font-size:.7rem;color:#ffffff4d;font-weight:600}.convert-chip{padding:.3rem .55rem;border:1px solid rgba(52,211,153,.15);border-radius:.35rem;background:#34d3990d;color:#6ee7b7;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .15s}.convert-chip:hover{background:#34d3991f}.empty-state{text-align:center;padding:3rem 1rem;color:#ffffff40;font-size:.9rem}.history-actions{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.clear-history-btn{background:none;border:1px solid rgba(248,113,113,.2);color:#f87171;cursor:pointer;font-size:.75rem;padding:.25rem .6rem;border-radius:.3rem;transition:background .15s}.clear-history-btn:hover{background:#f871711a}.history-count{font-size:.72rem;color:#ffffff4d}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.history-item{padding:.65rem .85rem;border:1px solid rgba(255,255,255,.04);border-radius:.5rem;cursor:pointer;transition:background .15s;display:flex;flex-direction:column;gap:.15rem}.history-item:hover{background:#ffffff0a}.history-expr-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:#ffffff73;word-break:break-all}.history-result-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;font-weight:600;color:#34d399;word-break:break-all}.history-time{font-size:.65rem;color:#fff3}.app-footer{padding:.75rem 0;border-top:1px solid rgba(255,255,255,.04);margin-top:.5rem}.app-footer p{margin:0;font-size:.7rem;color:#fff3;line-height:1.6}.app-footer code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;padding:.05rem .25rem;background:#ffffff0a;border-radius:.15rem;color:#ffffff59}@media(max-width:28rem){.shell{padding:.5rem}.sci-row{gap:.2rem}.fn-btn{font-size:.7rem;padding:.4rem .1rem}.num-btn,.op-btn,.equals-btn{padding:.6rem 0;font-size:1rem}.category-grid{grid-template-columns:repeat(3,1fr)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#fff3}
