:root{--bg:#fbf9f4;--bg-soft:#f3efe5;--bg-gutter:#f7f3ea;--fg:#1f2a44;--fg-muted:#6e6a60;--border:#dde3e8;--border-strong:#c9c0ab;--margin:#b8c4d0;--accent:#2b5ca8;--accent-soft:#e3ebf7;--unit:#0f7168;--unit-soft:#e1efec;--const:#6a47b3;--error:#b42318;--error-soft:#fdebe8;--warn:#8a5a00;--warn-soft:#fbf1d6;--focus:#2b5ca8;--result-bg:#fffdf8;--result-border:#1f2a44;--shadow:0 8px 28px #362c1629;--radius:6px;--serif:KaTeX_Main, "Latin Modern Roman", "Cambria Math", Cambria, "Times New Roman", serif;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", "SF Mono", Consolas, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1c1e22;--bg-soft:#23262b;--bg-gutter:#202226;--fg:#e9e4d6;--fg-muted:#a39d8f;--border:#2f333a;--border-strong:#4a4f57;--margin:#414a56;--accent:#86aef0;--accent-soft:#1f2c42;--unit:#5ec7ba;--unit-soft:#173330;--const:#b9a3ff;--error:#ff8f7a;--error-soft:#3b211c;--warn:#f2c35b;--warn-soft:#332a14;--focus:#86aef0;--result-bg:#202327;--result-border:#cfc8b8;--shadow:0 8px 28px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--bg:#1c1e22;--bg-soft:#23262b;--bg-gutter:#202226;--fg:#e9e4d6;--fg-muted:#a39d8f;--border:#2f333a;--border-strong:#4a4f57;--margin:#414a56;--accent:#86aef0;--accent-soft:#1f2c42;--unit:#5ec7ba;--unit-soft:#173330;--const:#b9a3ff;--error:#ff8f7a;--error-soft:#3b211c;--warn:#f2c35b;--warn-soft:#332a14;--focus:#86aef0;--result-bg:#202327;--result-border:#cfc8b8;--shadow:0 8px 28px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font:15px/1.45 var(--sans);margin:0}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:inherit;background:var(--bg)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.app-head{z-index:20;position:sticky;top:0}.title-input{font-family:var(--serif);background:0 0;border:1px solid #0000;border-radius:6px;flex:0 320px;min-width:120px;padding:4px 8px;font-size:19px;font-weight:400}.title-input:hover,.title-input:focus{border-color:var(--border);outline:none}.spacer{flex:1}.icon-btn{cursor:pointer;color:var(--fg-muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;line-height:1.2}.icon-btn:hover:not(:disabled){background:var(--bg-soft);color:var(--fg)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.big{font-size:18px}.icon-btn.small{padding:2px 5px;font-size:11px}.icon-btn.danger:hover{color:var(--error)}.icon-btn.on{color:var(--accent);background:var(--accent-soft)}.text-btn{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:13px}.text-btn:hover{background:var(--bg-soft)}.text-btn.strong{font-weight:600}.seg{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{font-family:var(--mono);letter-spacing:.04em;cursor:pointer;color:var(--fg-muted);background:0 0;border:none;padding:3px 9px;font-size:12px;font-weight:600}.pop-wrap{position:relative}.popover{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50;min-width:200px;padding:6px;position:absolute;top:calc(100% + 4px)}.popover.left{left:0}.popover.right{right:0}.menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;gap:12px;width:100%;padding:6px 8px;display:flex}.menu-item:hover{background:var(--bg-soft)}.menu-item.strong{font-weight:600}.menu-sep{background:var(--border);height:1px;margin:4px 0}.menu-ws{align-items:center;display:flex}.menu-ws.current .menu-item{font-weight:600}.menu-date,.menu-empty{color:var(--fg-muted);font-size:12px}.menu-empty{padding:6px 8px}.settings{flex-direction:column;gap:10px;width:min(360px,100vw - 24px);min-width:290px;padding:12px;display:flex}.settings label{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.settings label.check{justify-content:flex-start}.settings input[type=number]{width:64px}.settings input,.settings select{border:1px solid var(--border);border-radius:4px;padding:2px 4px}.toast{background:var(--error);color:#fff;cursor:pointer;border-radius:8px;padding:8px 14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toolbar{border-bottom:1px solid var(--border);background:var(--bg-soft);gap:8px;padding:8px 12px;display:flex}.list{flex-direction:column;flex:1;display:flex}.row{border-bottom:1px solid var(--border);min-height:48px;display:flex;position:relative}.row.focused{box-shadow:inset 3px 0 0 var(--focus)}.row.drop-target{box-shadow:inset 0 3px 0 var(--accent)}.row.in-folder .row-body{padding-left:28px}.gutter{background:var(--bg-gutter);border-right:1.5px solid var(--margin);width:44px;font-family:var(--mono);color:var(--fg-muted);-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;align-items:center;padding-top:12px;font-size:11px;display:flex}.gutter.err .num{color:var(--error);font-size:13px}.handle{cursor:grab;opacity:0;letter-spacing:-2px;padding:2px 4px}.row:hover .handle{opacity:.7}.row-body{flex-wrap:wrap;flex:1;align-items:center;min-width:0;padding:4px 8px 4px 10px;display:flex;position:relative}.row-body.col{flex-flow:column;align-items:stretch}.row-top{align-items:flex-start;width:100%;display:flex}.row-line{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.row-actions{opacity:0;align-items:center;gap:2px;padding-top:8px;transition:opacity .1s;display:flex}.row:hover .row-actions,.row.focused .row-actions{opacity:1}.math-input{flex:auto;min-width:120px;position:relative}math-field{width:100%;color:var(--fg);--caret-color:var(--focus);--selection-background-color:var(--accent-soft);--contains-highlight-background-color:transparent;--primary-color:var(--accent);background:0 0;border:none;outline:none;padding:6px 2px;font-size:20px;display:block}math-field:focus-within{outline:none}math-field::part(virtual-keyboard-toggle),math-field::part(menu-toggle){display:none}.ac-pop{z-index:40;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:240px;max-height:320px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;overflow:auto}.ac-pop li{cursor:pointer;border-radius:5px;align-items:baseline;gap:10px;padding:4px 8px;font-size:14px;display:flex}.ac-pop li.sel,.ac-pop li:hover:not(.ac-hint){background:var(--accent-soft)}.ac-sym{min-width:52px;font-weight:600}.ac-unit{color:var(--unit)}.ac-const{color:var(--const)}.ac-func{font-family:Times New Roman,serif}.ac-detail{color:var(--fg-muted);font-size:12px}.ac-hint{color:var(--fg-muted);cursor:default;border-top:1px solid var(--border);margin-top:4px;font-size:11px;border-radius:0!important}.row-result{justify-content:flex-end;min-width:0;padding:0 0 8px 24px;display:flex}.result{font-family:var(--serif);white-space:nowrap;align-items:baseline;gap:8px;min-width:0;max-width:100%;font-size:21px;display:flex}.row-result .result:not(.error){background:var(--result-bg);border:1.5px solid var(--result-border);box-shadow:2px 2px 0 var(--border);border-radius:2px;padding:3px 6px 3px 12px}.result .eq{color:var(--fg-muted)}.result .val{font-variant-numeric:tabular-nums lining-nums;text-overflow:ellipsis;letter-spacing:.01em;overflow:hidden}.result .sci .times{margin:0 .15em}.result .sci sup{vertical-align:.55em;font-size:.68em;line-height:0}.result.literal{margin-left:auto}.result.error{color:var(--error);background:var(--error-soft);white-space:normal;border-radius:6px;max-width:520px;padding:3px 8px;font-family:inherit;font-size:13px}.result .warn{color:var(--error);font-size:14px}.result .unit-chip{font-family:var(--serif);color:var(--unit);background:0 0;border-radius:4px;padding:0 4px;font-size:19px;font-weight:400}.result .unit-chip:hover{border-color:var(--unit);background:var(--unit-soft)}.result .unit-chip.muted{color:var(--fg-muted);border-color:#0000}.result .unit-chip.muted:hover{border-color:var(--border-strong)}.unit-wrap{position:relative}.unit-chip{background:var(--unit-soft);color:var(--unit);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:15px;font-weight:600;display:inline-flex}.unit-chip:hover{border-color:var(--unit)}.unit-chip.muted{border-color:var(--border);color:var(--fg-muted);background:0 0;font-weight:500}.unit-chip.chosen:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.unit-chip .caret{opacity:.7;font-size:10px}.unit-menu{z-index:60;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:290px;max-height:420px;box-shadow:var(--shadow);white-space:normal;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;display:flex;position:fixed}.unit-search{border:1px solid var(--border-strong);border-radius:6px;margin:8px;padding:6px 8px}.unit-search:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.unit-groups{padding:0 6px 6px;overflow:auto}.unit-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);padding:8px 6px 3px;font-size:11px}.unit-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;justify-content:space-between;width:100%;padding:5px 8px;display:flex}.unit-item:hover,.unit-item.hi{background:var(--accent-soft)}.unit-item.current{color:var(--unit);font-weight:700}.unit-item .preview{color:var(--fg-muted);font-variant-numeric:tabular-nums}.unit-custom{padding:0 6px 4px}.unit-custom.bad .hint{color:var(--error);padding:0 8px 6px;font-size:12px;display:block}.unit-reset{border:none;border-top:1px solid var(--border);cursor:pointer;color:var(--accent);text-align:left;background:0 0;padding:8px}.slider{color:var(--fg-muted);flex-basis:100%;align-items:center;gap:8px;padding:2px 0 6px;font-size:12px;display:flex}.slider input[type=range]{max-width:420px;accent-color:var(--accent);flex:1}.slider .bound{border:1px solid var(--border);text-align:center;border-radius:4px;width:52px;padding:1px 4px;font-size:12px}.slider .step{align-items:center;gap:4px;display:flex}.note-input{resize:none;width:100%;color:var(--fg-muted);background:0 0;border:none;outline:none;padding:8px 2px;font-size:14px;overflow:hidden}.type-note{background:var(--bg-soft)}.folder-body .row-line{gap:6px}.folder-toggle{cursor:pointer;width:22px;color:var(--fg-muted);background:0 0;border:none;font-size:14px}.folder-title{background:0 0;border:1px solid #0000;border-radius:4px;min-width:80px;padding:3px 6px;font-weight:600}.folder-title:hover,.folder-title:focus{border-color:var(--border);outline:none}.folder-count{color:var(--fg-muted);font-size:12px}.table-body{align-items:flex-start;padding-top:8px;padding-bottom:8px}.table-scroll{flex:1;overflow-x:auto}.calc-table{border-collapse:collapse;font-size:15px}.calc-table th,.calc-table td{border:1px solid var(--border);min-width:140px;padding:0}.calc-table th{background:var(--bg-soft);vertical-align:top;font-weight:400}.calc-table th.add-col,.calc-table td:last-child{background:0 0;border:none;min-width:36px}.th-inner{align-items:center;gap:4px;padding:0 4px;display:flex}.th-inner .math-input{flex:auto;min-width:70px}.th-inner math-field{font-size:16px}.th-inner .unit-chip{padding:1px 6px;font-size:12px}.col-error{color:var(--error);white-space:normal;max-width:220px;padding:2px 6px;font-size:11px}.cell{font-variant-numeric:tabular-nums;background:0 0;border:none;width:100%;padding:5px 8px}.cell:focus{outline:2px solid var(--accent);outline-offset:-2px}td.computed{color:var(--fg-muted);font-variant-numeric:tabular-nums;padding:5px 8px}.add-bottom{color:var(--fg-muted);text-align:left;cursor:pointer;background:0 0;border:none;padding:12px 56px}.add-bottom:hover{color:var(--accent)}.footer{font-family:var(--mono);color:var(--fg-muted);border-top:1px solid var(--border);padding:10px 16px;font-size:11px}@media (width<=640px){.row-line{flex-wrap:wrap}.row-result{padding-left:0}.row-actions{opacity:1}.title-input{flex-basis:140px}.gutter{width:32px}}.cell,td.computed{font-family:var(--serif);font-size:16px}.result .frac{vertical-align:middle;flex-direction:column;align-items:center;margin:0 .1em;font-size:.82em;line-height:1.1;display:inline-flex}.result .fnum{border-bottom:1px solid;padding:0 .15em}.result .fden{padding:0 .15em}.scope-btn{border:1px solid var(--border);color:var(--fg-muted);font-family:var(--mono);cursor:pointer;opacity:0;background:0 0;border-radius:999px;flex:none;margin-top:9px;margin-right:4px;padding:1px 8px;font-size:11px;transition:opacity .1s}.row:hover .scope-btn,.row.focused .scope-btn,.scope-btn:focus-visible,.scope-btn.local{opacity:1}.scope-btn:hover{border-color:var(--border-strong);color:var(--fg)}.scope-btn.local{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}@media (width<=640px){.scope-btn{opacity:1}}.row-notice{background:var(--warn-soft);max-width:560px;color:var(--warn);border-radius:6px;align-self:flex-end;margin:-2px 0 8px 24px;padding:4px 10px;font-size:12.5px;line-height:1.4}.text-btn.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tb-f{font-family:var(--serif);font-size:15px;font-style:italic}.app.with-toolbox{padding-bottom:var(--toolbox-h,196px)}.toolbox{z-index:30;background:var(--bg-soft);border-top:1px solid var(--border-strong);flex-direction:column;max-height:46vh;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0f172a14}.tb-tabs{border-bottom:1px solid var(--border);align-items:center;gap:2px;padding:6px 10px 0;display:flex;overflow-x:auto}.tb-tabs [role=tab]{color:var(--fg-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 12px 7px;font-size:13px}.tb-tabs [role=tab].on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tb-keys{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;max-width:1100px;padding:10px 12px 12px;display:grid;overflow-y:auto}.tb-key{border:1px solid var(--border);background:var(--bg);font-family:var(--serif);cursor:pointer;white-space:nowrap;box-shadow:0 1px 0 var(--border);border-radius:6px;padding:8px 6px;font-size:17px}.tb-key.wide{grid-column:span 2}.tb-key:hover{border-color:var(--accent);color:var(--accent)}.tb-key:active{box-shadow:none;transform:translateY(1px)}@media (width<=640px){.tb-keys{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.tb-key{padding:7px 4px;font-size:15px}}.settings fieldset.packages{border:none;border-top:1px solid var(--border);flex-direction:column;gap:6px;margin:2px 0 0;padding:8px 0 0;display:flex}.settings fieldset.packages legend{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);padding:0 4px 0 0;font-size:11px}.pk-help{color:var(--fg-muted);margin:0;font-size:12px}.settings label.pk{align-items:flex-start}.settings label.pk input{margin-top:3px}.pk span{flex-direction:column;display:flex}.pk small{color:var(--fg-muted);font-size:11px;line-height:1.35}.settings{max-height:calc(100vh - 70px);overflow-y:auto}.link-btn{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0 4px 0 0;text-decoration:underline}.table-scroll,.row-body.table-body{min-width:0}.table-scroll{max-width:100%}.slider{flex-wrap:wrap;row-gap:4px}.slider input[type=range]{min-width:0}html,body{overflow-x:clip}.brand{color:var(--fg);white-space:nowrap;align-items:center;gap:8px;margin-right:4px;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:26px;height:26px}.brand-name{font-family:var(--sans);letter-spacing:.02em;font-size:16px;font-weight:600}.brand-sep{color:var(--border-strong);margin:0 2px 0 4px;font-size:18px}.topbar,.toolbar{border-bottom:1px solid var(--border-strong)}.seg button.on{background:var(--fg);color:var(--bg)}.footer{flex-wrap:wrap;justify-content:space-between;gap:6px 16px;display:flex}.footer a{color:var(--accent)}.about{z-index:80;background:#1f2a4447;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.about-card{background:var(--bg);color:var(--fg);border:1.5px solid var(--result-border);box-shadow:var(--shadow);border-left:3px solid var(--margin);border-radius:4px;width:100%;max-width:460px;padding:20px 22px 18px 26px}.about-card h2{align-items:center;gap:10px;margin:0 0 4px;font-size:20px;display:flex}.about-card p,.about-card li{margin:0 0 4px;line-height:1.6}.about-card ul{margin:0 0 4px;padding-left:20px}.about-card .tagline{color:var(--fg-muted);font-style:italic;font-family:var(--serif);font-size:17px}.about-card .eg{font-family:var(--serif);font-size:18px}.about-close{float:right}@media (width<=640px){.brand-name,.brand-sep{display:none}}.folder-icon{width:18px;height:15px;color:var(--fg-muted);flex:none}
