:root{--bg:#fff;--surface:#f6f7f9;--border:#dfe2e7;--text:#1f2328;--muted:#667085;--accent:#2d70b3;--accent-hover:#245c94;--ai:#6042a6;--ok:#2f7d3b;--warn:#9a6700;--error:#c74440;--topbar-height:44px;--shadow:0 6px 24px #10182824;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0}[hidden]{display:none!important}.topbar{--bar:#373737;--bar-text:#d8d8d8;--bar-hover:#4a4a4a;height:var(--topbar-height);background:var(--bar);color:var(--bar-text);justify-content:space-between;align-items:center;gap:12px;padding:0 1px 0 6px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;display:flex;position:relative}.tb-side{align-items:center;gap:8px;min-width:0;display:flex}.topbar button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0}.topbar button:hover:not(:disabled){background:var(--bar-hover)}.topbar button:disabled{opacity:1}.topbar .tb-icon{flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.tb-icon svg{width:23px;height:23px}.tb-divider{background:#8c8c8c;flex-shrink:0;width:1px;height:22px}.topbar .tb-title{color:#e6e6e6;text-overflow:ellipsis;white-space:nowrap;max-width:30vw;padding:6px;font-size:16px;overflow:hidden}.tb-title-input{font:inherit;color:#fff;background:#2b2b2b;border:1px solid #8c8c8c;border-radius:4px;outline:none;width:min(240px,40vw);padding:5px 6px}.topbar .tb-save{color:#fff;border-color:#5c5c5c;margin-left:4px;padding:6px 14px}.topbar .tb-save:disabled{color:#707070;cursor:default}.tb-logo{letter-spacing:.5px;color:#ddd;-webkit-text-stroke:.6px #ddd;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Century Gothic,Avenir Next,Futura,Trebuchet MS,sans-serif;font-size:29px;position:absolute;left:50%;transform:translate(-50%)}.tb-right{align-self:stretch;align-items:flex-start;gap:0}.topbar .tb-right .tb-icon{width:40px;height:36px;margin-top:1px}.tb-right .tb-icon svg{width:18px;height:18px}.tb-right .tb-icon .tb-glyph-share{width:22px;height:20px}.tb-right .tb-icon .tb-glyph-globe{width:20px;height:20px}.topbar .tb-login,.topbar .tb-signup{white-space:nowrap;margin-top:3px;padding:8px 11px 9px}.topbar .tb-login{border-color:var(--bar-text);color:#fff;margin-right:8px}.topbar .tb-signup{color:#fff;background:#357def;border-color:#357def;margin-right:10px}.topbar .tb-signup:hover:not(:disabled){background:#2b6ad1}.tb-app-icon{width:20px;height:18px;display:block}@media (width<=760px){.tb-logo{display:none}}@media (width<=560px){.topbar .tb-login,.topbar .tb-signup{display:none}}.menu{z-index:20;min-width:220px;max-width:min(320px,100vw - 16px);max-height:calc(100vh - 70px);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:6px;padding:6px 0;font-size:14px;position:fixed;overflow-y:auto}.menu-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 14px 4px;font-size:12px}.menu .menu-item{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 14px;display:flex}.menu .menu-item:hover:not(:disabled),.menu .menu-item:focus-visible{background:var(--surface);outline:none}.menu .menu-item.active{color:var(--accent);font-weight:600}.menu-hint{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:400}.menu-graph{align-items:center;display:flex}.menu-graph .menu-item{flex:1;min-width:0}.menu-graph .menu-item span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu .menu-delete{color:var(--muted);background:0 0;border:none;border-radius:4px;margin-right:4px;padding:2px 10px;font-size:18px;line-height:1}.menu .menu-delete:hover:not(:disabled){background:var(--surface);color:var(--error)}.menu-empty{color:var(--muted);margin:4px 14px 8px;font-size:13px}.layout{height:calc(100% - var(--topbar-height));position:relative}#calculator{position:absolute;inset:0}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:6px 12px}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.45;cursor:default}button.ghost{color:var(--accent);border-color:var(--border);background:0 0}button.ghost:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}button.small{padding:4px 10px;font-size:13px}button.link{color:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}button.link:hover:not(:disabled){background:0 0}button.icon{width:32px;height:32px;color:var(--muted);background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;padding:0;font-size:20px;line-height:1;display:inline-grid}button.icon:hover:not(:disabled){background:var(--surface);color:var(--text)}.ai-bar{--s:var(--float-scale,1);z-index:6;border:1px solid var(--border);border-radius:calc(8px * var(--s));background:#fff;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 16px #10182824}.ai-bar:focus-within{border-color:var(--ai)}.ai-bar.floating-active{-webkit-user-select:none;user-select:none;box-shadow:0 8px 28px #10182838}.ai-form{align-items:stretch;gap:calc(4px * var(--s));padding:0 calc(12px * var(--s)) 0 calc(3px * var(--s));min-height:0;display:flex}.ai-grip{width:calc(10px * var(--s));margin:calc(8px * var(--s)) calc(2px * var(--s)) calc(8px * var(--s)) 0;cursor:grab;touch-action:none;background-image:radial-gradient(circle, #aab1bb calc(1px * var(--s)), transparent calc(1.4px * var(--s)));background-size:calc(4px * var(--s)) calc(4px * var(--s));background-position:50%;flex-shrink:0}.floating-active .ai-grip,.floating-active .ai-status{cursor:grabbing}.ai-form textarea{resize:none;min-width:0;min-height:0;font:inherit;font-size:calc(13px * var(--s));padding:calc(7px * var(--s)) 0;color:var(--text);background:0 0;border:none;outline:none;flex:1;line-height:1.35}.ai-form textarea:disabled{color:var(--muted)}.ai-bar .ai-stop{width:calc(22px * var(--s));height:calc(22px * var(--s));padding:calc(4px * var(--s));border-radius:calc(4px * var(--s));background:var(--ai);color:#fff;border:none;align-self:center;place-items:center;display:grid}.ai-bar .ai-stop:hover:not(:disabled){background:#4f3590}.ai-status{padding:calc(5px * var(--s)) calc(10px * var(--s));font-size:calc(12px * var(--s));color:var(--muted);background:var(--surface);border-bottom:1px solid var(--border);cursor:grab;touch-action:none;line-height:1.35}.ai-status button{cursor:pointer}.floating-resize{z-index:1;width:calc(11px * var(--float-scale,1));height:calc(11px * var(--float-scale,1));touch-action:none;min-width:4px;min-height:4px;position:absolute}.floating-resize-nw{cursor:nwse-resize;top:0;left:0}.floating-resize-ne{cursor:nesw-resize;top:0;right:0}.floating-resize-sw{cursor:nesw-resize;bottom:0;left:0}.floating-resize-se{cursor:nwse-resize;background:linear-gradient(135deg,#0000 0 52%,#b8bec7 52% 60%,#0000 60% 72%,#b8bec7 72% 80%,#0000 80%);bottom:0;right:0}.ai-status.error{color:var(--error)}.ai-bar.busy{animation:1.2s ease-in-out infinite ai-busy}@keyframes ai-busy{50%{border-color:var(--ai);box-shadow:0 4px 16px #10182824,0 0 0 3px #6042a62e}}.dcg-expressionitem[expr-id^=ai-] .dcg-slider-container,.dcg-expressionitem[expr-id^=ai-] .dcg-slider-menu-container,.dcg-expressionitem[expr-id^=ai-] .dcg-play-pause-icon-view,.dcg-expressionitem[expr-id^=ai-] .dcg-tooltipped-error-container,.dcg-expressionitem[expr-id^=ai-] .dcg-expression-bottom,.dcg-expressionitem[expr-id^=ai-] [class~=dcg-mq-empty]{display:none!important}.dcg-expressionitem[expr-id^=ai-][expr-id$=-answer] .dcg-main>*{flex-basis:100%}.dcg-expressionitem[expr-id^=ai-][expr-id$=-answer] .dcg-main:before,.dcg-expressionitem[expr-id^=ai-][expr-id$=-answer] .dcg-main:after{box-sizing:border-box;color:#000;order:1;align-items:center;height:25px;margin-top:3px;margin-bottom:-7px;font-family:Symbola,Times New Roman,serif;font-size:15.3px;display:flex}.dcg-expressionitem[expr-id^=ai-][expr-id$=-answer] .dcg-main:before{padding:0 4px 0 3px}.dcg-expressionitem[expr-id^=ai-][expr-id$=-answer] .dcg-main:after{letter-spacing:.26px;background:#0000000a;border:1px solid #cecececc;border-radius:4px;margin-right:-30px;padding:3px 7px 1px}dialog.settings{border:1px solid var(--border);width:min(480px,100vw - 32px);box-shadow:var(--shadow);color:var(--text);border-radius:12px;padding:0}dialog.settings::backdrop{background:#10182859}dialog.settings form{padding:4px 20px 20px}dialog.settings header{justify-content:space-between;align-items:center;margin:0 -8px 4px 0;display:flex}dialog.settings h2{margin:14px 0;font-size:17px}.field{margin-bottom:16px}.field label{margin-bottom:6px;font-weight:600;display:block}.field input{width:100%;font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:8px 10px}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.with-button{gap:6px;display:flex}.help{color:var(--muted);margin:6px 0 0;font-size:13px}.test-result{color:var(--muted);margin:0 0 16px;font-size:13px}.test-result:empty{display:none}.test-result.ok{color:var(--ok)}.test-result.warn{color:var(--warn)}.test-result.bad{color:var(--error)}dialog.settings footer{flex-wrap:wrap;gap:8px;display:flex}.spacer{flex:1}#toast{background:var(--text);color:#fff;opacity:0;pointer-events:none;z-index:10;border-radius:8px;max-width:calc(100% - 32px);padding:10px 16px;transition:opacity .15s,transform .15s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px)}#toast.show{opacity:1;transform:translate(-50%)}#toast.error{background:var(--error)}
