.sci-root{--sci-bg:#fff;--sci-bg-sunken:#f8fafc;--sci-bg-raised:#fff;--sci-border:#e2e8f0;--sci-border-strong:#cbd5e1;--sci-text:#0f172a;--sci-text-muted:#64748b;--sci-text-faint:#94a3b8;--sci-accent:#2563eb;--sci-accent-weak:#eff6ff;--sci-accent-text:#1d4ed8;--sci-danger:#e11d48;--sci-danger-weak:#fff1f2;--sci-ok:#059669;--sci-ok-weak:#ecfdf5;--sci-shadow:0 1px 2px rgba(15,23,42,.06);--sci-shadow-lift:0 4px 12px -2px rgba(15,23,42,.1);--sci-key-shadow:0 1px 0 rgba(15,23,42,.05);color:var(--sci-text)}.sci-root[data-sci-theme=dark]{--sci-bg:#0f172a;--sci-bg-sunken:#0b1222;--sci-bg-raised:#1e293b;--sci-border:#293548;--sci-border-strong:#475569;--sci-text:#f1f5f9;--sci-text-muted:#94a3b8;--sci-text-faint:#64748b;--sci-accent:#3b82f6;--sci-accent-weak:#172554;--sci-accent-text:#93c5fd;--sci-danger:#fb7185;--sci-danger-weak:#3f1020;--sci-ok:#34d399;--sci-ok-weak:#052e2b;--sci-shadow:0 1px 2px rgba(0,0,0,.4);--sci-shadow-lift:0 4px 12px -2px rgba(0,0,0,.5);--sci-key-shadow:0 1px 0 rgba(0,0,0,.25)}.sci-app{--sci-header:4rem;display:flex;flex-direction:column;background:var(--sci-bg);height:calc(100dvh - var(--sci-header))}.sci-app.is-embed,.sci-app:fullscreen,.sci-root:fullscreen .sci-app{--sci-header:0rem;height:100dvh}.sci-shell{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--sci-bg)}.sci-root:not(.sci-app-root) .sci-shell{border:1px solid var(--sci-border);border-radius:1rem;box-shadow:var(--sci-shadow);overflow:hidden}.sci-toolbar{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--sci-bg-sunken);border-bottom:1px solid var(--sci-border);flex:0 0 auto}.sci-toolbar-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:var(--sci-text);margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sci-toolbar-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:.4rem;background:var(--sci-accent);color:#fff;font-size:.8125rem;font-weight:800}.sci-tools{display:flex;align-items:center;gap:.125rem;flex:0 0 auto;overflow-x:auto;scrollbar-width:none}.sci-tools::-webkit-scrollbar{display:none}.sci-tool{display:inline-grid;place-items:center;flex:0 0 auto;min-width:2.25rem;min-height:2.25rem;padding:0 .4rem;border:1px solid transparent;border-radius:.5rem;background:transparent;color:var(--sci-text-muted);font-size:.9375rem;line-height:1;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.sci-tool:hover{background:var(--sci-bg-raised);border-color:var(--sci-border);color:var(--sci-accent-text)}.sci-tool[aria-pressed=true]{background:var(--sci-accent-weak);border-color:var(--sci-accent);color:var(--sci-accent-text)}.sci-tool.is-highlight{background:var(--sci-accent);border-color:var(--sci-accent);color:#fff}.sci-tool.is-highlight:hover{background:var(--sci-accent-text);color:#fff}.sci-switches{display:flex;align-items:flex-end;gap:.75rem;padding:.4rem .75rem .45rem;border-top:1px solid var(--sci-border);flex:0 0 auto;background:var(--sci-bg-sunken)}.sci-switch-group{display:flex;flex-direction:column;gap:.15rem;min-width:0}.sci-switch-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sci-text-faint);padding-left:.1rem}.sci-segment{display:inline-flex;padding:.15rem;background:var(--sci-bg);border:1px solid var(--sci-border);border-radius:.55rem}.sci-segment button{min-height:2rem;padding:0 .75rem;border:0;border-radius:.4rem;background:transparent;color:var(--sci-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background-color .15s,color .15s}.sci-segment button[aria-pressed=true]{background:var(--sci-accent);color:#fff;box-shadow:var(--sci-key-shadow)}.sci-segment button:disabled{opacity:.45;cursor:not-allowed}.sci-segment button:disabled[aria-pressed=true]{background:var(--sci-bg-raised);color:var(--sci-text-muted)}.sci-body,.sci-rows-pane{flex:1;min-height:0;display:flex;flex-direction:column}.sci-rows{flex:1 1 auto;min-height:4.5rem;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--sci-bg);scroll-padding-block-end:3rem}.sci-row{display:grid;grid-template-columns:2rem 1fr;gap:.625rem;padding:.5rem .875rem;align-items:start}.sci-row.is-active{background:transparent}.sci-row-num{font-size:.6875rem;font-weight:700;color:var(--sci-text-faint);padding-top:.6rem;text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sci-row-body{min-width:0}.sci-input{width:100%;padding:.3rem 0;border:0;background:transparent;color:var(--sci-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.0625rem;line-height:1.45;outline:none;resize:none;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.sci-input::-webkit-scrollbar{display:none}.sci-input::-moz-placeholder{color:var(--sci-text-faint)}.sci-input::placeholder{color:var(--sci-text-faint)}.sci-input:focus,.sci-input:focus-visible{outline:none;box-shadow:none}.sci-row-result{display:flex;align-items:baseline;gap:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.0625rem;font-weight:700;color:var(--sci-ok);word-break:break-all}.sci-row-result.is-preview{color:var(--sci-text-faint);font-weight:500;font-size:.9375rem}.sci-row-result.is-error{color:var(--sci-danger);font-weight:500;font-size:.8125rem}.sci-row-meta{display:flex;align-items:center;gap:.375rem;margin-top:.3rem;flex-wrap:wrap;min-height:1.5rem}.sci-badge{font-size:.625rem;font-weight:700;letter-spacing:.03em;padding:.15rem .35rem;border-radius:.3rem;background:var(--sci-bg-sunken);border:1px solid var(--sci-border);color:var(--sci-text-muted)}.sci-badge.is-rounded{background:var(--sci-ok-weak);border-color:transparent;color:var(--sci-ok)}.sci-row-actions{display:flex;gap:.0625rem;flex-wrap:wrap;opacity:0;transition:opacity .15s}.sci-row.is-active .sci-row-actions,.sci-row:focus-within .sci-row-actions,.sci-row:hover .sci-row-actions{opacity:1}@media (hover:none){.sci-row-actions{opacity:1}}.sci-row-action{position:relative;min-width:1.875rem;min-height:1.875rem;padding:0 .3rem;border:0;border-radius:.35rem;background:transparent;color:var(--sci-text-faint);font-size:.75rem;cursor:pointer;transition:background-color .12s,color .12s}.sci-row-action:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.sci-row-action:hover{background:var(--sci-bg-sunken);color:var(--sci-accent-text)}.sci-row-action[aria-pressed=true]{color:var(--sci-accent)}.sci-note{display:block;margin-top:.3rem;padding:.3rem .5rem;border-left:2px solid var(--sci-accent);border-radius:0 .35rem .35rem 0;background:var(--sci-bg-sunken);color:var(--sci-text-muted);font-size:.75rem}.sci-empty{padding:1.25rem .75rem;text-align:center;font-size:.8125rem;color:var(--sci-text-faint);line-height:1.6}.sci-kbd{display:inline-block;padding:.1rem .35rem;border:solid var(--sci-border-strong);border-width:1px 1px 2px;border-radius:.3rem;background:var(--sci-bg-raised);color:var(--sci-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem;font-weight:600}.sci-keypad{flex:0 0 auto;border-top:1px solid var(--sci-border);background:var(--sci-bg-sunken);padding-bottom:env(safe-area-inset-bottom,0)}.sci-tabs{display:flex;gap:.25rem;padding:.4rem .5rem 0;overflow-x:auto;scrollbar-width:none}.sci-tabs::-webkit-scrollbar{display:none}.sci-tab{flex:0 0 auto;min-height:2rem;padding:0 .75rem;border:1px solid transparent;border-radius:.5rem .5rem 0 0;background:transparent;color:var(--sci-text-muted);font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.sci-tab.is-active{border-color:var(--sci-border);border-bottom-color:var(--sci-bg-raised);color:var(--sci-accent-text)}.sci-pad,.sci-tab.is-active{background:var(--sci-bg-raised)}.sci-pad{padding:.5rem;display:flex;flex-direction:column;gap:.375rem}.sci-pad-grid{display:grid;gap:.375rem}.sci-key{min-height:2.75rem;padding:.25rem .15rem;border:1px solid var(--sci-border);border-radius:.55rem;background:var(--sci-bg-raised);color:var(--sci-text);font-size:.9375rem;font-weight:600;line-height:1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:var(--sci-key-shadow);transition:transform .08s,background-color .12s,border-color .12s}.sci-pad.is-compact{padding:.375rem;gap:.25rem}.sci-pad.is-compact .sci-pad-grid{gap:.25rem}.sci-pad.is-compact .sci-key{min-height:2.75rem;font-size:.8125rem}.sci-key:active{transform:scale(.96)}.sci-key:hover{border-color:var(--sci-accent);color:var(--sci-accent-text)}.sci-key.is-number{background:var(--sci-bg);font-size:1.125rem;font-weight:700}.sci-key.is-operator{background:var(--sci-accent-weak);border-color:transparent;color:var(--sci-accent-text);font-size:1.0625rem}.sci-key.is-function{background:var(--sci-bg-sunken);font-size:.8125rem}.sci-key.is-equals{background:var(--sci-accent);border-color:var(--sci-accent);color:#fff;font-size:1.1875rem}.sci-key.is-equals:hover{background:var(--sci-accent-text);color:#fff}.sci-key.is-danger{background:var(--sci-danger-weak);border-color:transparent;color:var(--sci-danger)}.sci-key.is-on{background:var(--sci-accent);border-color:var(--sci-accent);color:#fff}.sci-key.is-wide{grid-column:span 2}.sci-empty-tab{padding:1rem .5rem;font-size:.8125rem;color:var(--sci-text-muted);text-align:center}.sci-actionbar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--sci-border);background:var(--sci-bg-sunken)}.sci-action{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.5rem;padding:0 .7rem;border:1px solid var(--sci-border);border-radius:.6rem;background:var(--sci-bg-raised);color:var(--sci-text);font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.sci-action>span{font-size:1rem;line-height:1}.sci-action:hover,.sci-action[aria-pressed=true]{border-color:var(--sci-accent);color:var(--sci-accent-text)}.sci-action[aria-pressed=true]{background:var(--sci-accent-weak)}.sci-action.is-highlight{background:var(--sci-accent);border-color:var(--sci-accent);color:#fff}.sci-action.is-danger{color:var(--sci-danger)}.sci-action.is-danger:hover{border-color:var(--sci-danger);color:var(--sci-danger)}.sci-panel{position:absolute;inset:0;z-index:20;overflow-y:auto;overscroll-behavior:contain;padding:.875rem;background:var(--sci-bg);border-top:1px solid var(--sci-border)}.sci-panel-host{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.sci-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.sci-panel h3{margin:0;font-size:.9375rem;font-weight:700;color:var(--sci-text)}.sci-field{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem 0;font-size:.8125rem;color:var(--sci-text-muted);border-bottom:1px solid var(--sci-border)}.sci-field:last-of-type{border-bottom:0}.sci-field input[type=number],.sci-field input[type=text],.sci-field select{min-height:2.25rem;padding:.2rem .5rem;border:1px solid var(--sci-border);border-radius:.4rem;background:var(--sci-bg-raised);color:var(--sci-text);font-size:.8125rem}.sci-field input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--sci-accent)}.sci-hint{margin-top:.6rem;font-size:.6875rem;line-height:1.6;color:var(--sci-text-faint)}.sci-actions{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.625rem}.sci-btn{min-height:2.5rem;padding:0 .85rem;border:1px solid var(--sci-border);border-radius:.55rem;background:var(--sci-bg-raised);color:var(--sci-text);font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s,background-color .12s}.sci-btn:hover{border-color:var(--sci-accent);color:var(--sci-accent-text)}.sci-btn.is-primary{background:var(--sci-accent);border-color:var(--sci-accent);color:#fff}.sci-btn.is-primary:hover{background:var(--sci-accent-text);color:#fff}.sci-btn.is-danger{color:var(--sci-danger);border-color:var(--sci-danger-weak)}.sci-saved-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--sci-border);font-size:.8125rem}.sci-saved-expr{font-size:.75rem;color:var(--sci-text-muted);word-break:break-all}.sci-saved-expr,.sci-share-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sci-share-preview{padding:.7rem;border:1px solid var(--sci-border);border-radius:.55rem;background:var(--sci-bg-sunken);font-size:.8125rem;color:var(--sci-text);white-space:pre-wrap;word-break:break-word;max-height:11rem;overflow-y:auto}.sci-list{list-style:none;margin:0;padding:0}.sci-toast{position:absolute;left:50%;bottom:.75rem;z-index:30;transform:translateX(-50%);padding:.45rem .85rem;border-radius:999px;background:var(--sci-text);color:var(--sci-bg);font-size:.75rem;font-weight:600;box-shadow:var(--sci-shadow-lift);pointer-events:none;max-width:calc(100% - 1.5rem);text-align:center}.sci-controls{display:flex;flex-direction:column;flex:0 0 auto;min-height:0}@media (max-width:899px){body>header{display:none!important}.sci-app:not(.is-embed){--sci-header:0rem}}@media (min-width:900px){.sci-app:not(.is-embed){min-height:calc(100dvh - var(--sci-header))}.sci-body{flex-direction:row;align-items:stretch}.sci-rows-pane{border-right:1px solid var(--sci-border);min-width:0;flex:1 1 auto}.sci-rows{max-height:none}.sci-controls{flex:0 0 30rem;max-width:30rem}.sci-keypad{flex:1 1 auto;border-top:1px solid var(--sci-border);display:flex;flex-direction:column;justify-content:flex-start}.sci-key{min-height:3.25rem;font-size:1.0625rem}.sci-key.is-number{font-size:1.25rem}.sci-key.is-equals{font-size:1.375rem}.sci-action{font-size:.875rem;min-height:2.75rem}}@media (orientation:landscape) and (max-height:560px){body>header{display:none!important}.sci-app:not(.is-embed){--sci-header:0rem;height:100dvh;max-height:100dvh;min-height:0}.sci-rows{max-height:5.5rem;min-height:3rem}.sci-actionbar{display:none}.sci-key{min-height:2.25rem}.sci-switches{padding-top:.25rem;padding-bottom:.25rem}}.sci-root :focus-visible{outline:2px solid var(--sci-accent);outline-offset:2px}.sci-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){.sci-btn,.sci-key,.sci-row,.sci-row-actions,.sci-tool{transition:none}.sci-key:active{transform:none}}@media print{.sci-keypad,.sci-panel,.sci-row-actions,.sci-switches,.sci-toast,.sci-toolbar{display:none!important}.sci-app{height:auto;min-height:0}.sci-rows{overflow:visible}}