:root{--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, Consolas, "Courier New", monospace;--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--error: #e53e3e;font:16px/1.5 var(--sans);color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,[data-theme=light]{--text: #6b6375;--text-h: #08060d;--bg: #fff;--bg-secondary: #f8f9fa;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #6366f1;--accent-bg: rgba(99, 102, 241, .1);--accent-border: rgba(99, 102, 241, .5);--stripe: rgba(0, 0, 0, .02);--syntax-variable: #4f46e5;--syntax-number: #0d9488;--syntax-operator: #6b6375;--syntax-keyword: #7c3aed;--syntax-function: #2563eb;--syntax-currency: #d97706;--syntax-comment: rgba(107, 99, 117, .5);--syntax-heading: #08060d;--result-number: #374151;--result-unit: #0d9488;--result-currency: #d97706;--result-datetime: #7c3aed;--result-boolean: #6366f1}[data-theme=dark]{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--bg-secondary: #1a1b23;--border: #2e303a;--code-bg: #1f2028;--accent: #818cf8;--accent-bg: rgba(129, 140, 248, .15);--accent-border: rgba(129, 140, 248, .5);--stripe: rgba(255, 255, 255, .025);--syntax-variable: #a5b4fc;--syntax-number: #5eead4;--syntax-operator: #9ca3af;--syntax-keyword: #c4b5fd;--syntax-function: #93c5fd;--syntax-currency: #fcd34d;--syntax-comment: rgba(156, 163, 175, .5);--syntax-heading: #f3f4f6;--result-number: #d1d5db;--result-unit: #5eead4;--result-currency: #fcd34d;--result-datetime: #c4b5fd;--result-boolean: #818cf8}[data-theme=matrix]{--text: #00ff41;--text-h: #33ff66;--bg: #0a0a0a;--bg-secondary: #0f1a0f;--border: #003300;--code-bg: #0a0f0a;--accent: #00ff41;--accent-bg: rgba(0, 255, 65, .1);--accent-border: rgba(0, 255, 65, .4);--stripe: rgba(0, 255, 65, .03);--syntax-variable: #00ff41;--syntax-number: #00cc33;--syntax-operator: #00ff41;--syntax-keyword: #39ff14;--syntax-function: #00ff41;--syntax-currency: #ffff00;--syntax-comment: rgba(0, 255, 65, .4);--syntax-heading: #33ff66;--result-number: #00ff41;--result-unit: #00cc33;--result-currency: #ffff00;--result-datetime: #39ff14;--result-boolean: #00ff41;--mono: "JetBrains Mono", "Courier New", "Fira Code", monospace;--success: #00ff41;--error: #ff0000}[data-theme=matrix] .calcpad-app:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);z-index:9999}[data-theme=matrix] .cm-cursor{border-color:#00ff41!important;box-shadow:0 0 4px #00ff41,0 0 8px #00ff414d}[data-theme=midnight]{--text: #94a3b8;--text-h: #e2e8f0;--bg: #0f172a;--bg-secondary: #1e293b;--border: #334155;--code-bg: #1e293b;--accent: #38bdf8;--accent-bg: rgba(56, 189, 248, .12);--accent-border: rgba(56, 189, 248, .5);--stripe: rgba(56, 189, 248, .03);--syntax-variable: #7dd3fc;--syntax-number: #5eead4;--syntax-operator: #94a3b8;--syntax-keyword: #c4b5fd;--syntax-function: #7dd3fc;--syntax-currency: #fcd34d;--syntax-comment: rgba(148, 163, 184, .5);--syntax-heading: #e2e8f0;--result-number: #cbd5e1;--result-unit: #5eead4;--result-currency: #fcd34d;--result-datetime: #c4b5fd;--result-boolean: #38bdf8}[data-theme=warm]{--text: #78716c;--text-h: #1c1917;--bg: #fffbf5;--bg-secondary: #fef3e2;--border: #e7e5e4;--code-bg: #fef3e2;--accent: #f97316;--accent-bg: rgba(249, 115, 22, .1);--accent-border: rgba(249, 115, 22, .5);--stripe: rgba(249, 115, 22, .03);--syntax-variable: #c2410c;--syntax-number: #0d9488;--syntax-operator: #78716c;--syntax-keyword: #7c3aed;--syntax-function: #2563eb;--syntax-currency: #d97706;--syntax-comment: rgba(120, 113, 108, .5);--syntax-heading: #1c1917;--result-number: #44403c;--result-unit: #0d9488;--result-currency: #d97706;--result-datetime: #7c3aed;--result-boolean: #f97316}*,*:before,*:after{box-sizing:border-box}body{margin:0}h1,h2{font-family:var(--heading);font-weight:600;color:var(--text-h)}.offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:var(--warning-bg);color:var(--warning);font-size:14px;font-weight:500;border-bottom:1px solid var(--warning);flex-shrink:0}.offline-icon{font-size:8px;animation:offline-pulse 2s ease-in-out infinite}@keyframes offline-pulse{0%,to{opacity:1}50%{opacity:.4}}.install-prompt{position:fixed;bottom:0;left:0;right:0;padding:16px 24px;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -4px 12px #0000001a;z-index:100}.install-content{max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.install-text{margin:0;font-size:14px;color:var(--text-h)}.install-actions{display:flex;gap:8px;flex-shrink:0}.install-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.install-btn:hover{opacity:.9}.install-dismiss{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:14px;cursor:pointer}.install-dismiss:hover{background:var(--accent-bg)}@media(max-width:480px){.install-content{flex-direction:column;text-align:center}}.results-panel{overflow:hidden;background:var(--bg-secondary);padding:8px 0}.result-line{padding:0 12px;font-family:var(--mono);font-size:var(--editor-font-size, 15px);line-height:1.6;height:calc(var(--editor-font-size, 15px) * 1.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-value{font-weight:400;cursor:pointer;transition:color .15s}.result-value:hover{filter:brightness(1.2)}.result-number{color:var(--result-number, var(--text))}.result-unit{color:var(--result-unit, #0d9488)}.result-currency{color:var(--result-currency, #d97706)}.result-datetime{color:var(--result-datetime, #7c3aed)}.result-boolean{color:var(--result-boolean, var(--accent))}.result-value.copied{color:var(--success)!important;font-weight:500}.result-error-hint{color:var(--text);opacity:.25;font-size:13px;font-family:var(--sans)}.result-marker{display:flex;align-items:center;justify-content:flex-end}.result-dash{display:inline-block;width:60%;height:1px;background:var(--border);opacity:.4;font-size:0;overflow:hidden}.result-stripe{background:var(--stripe, rgba(0, 0, 0, .02))}@media(max-width:768px){.results-panel{display:none}}.theme-picker-container{position:relative}.theme-picker-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:16px;line-height:1;transition:background .1s}.theme-picker-trigger:hover{background:var(--accent-bg)}.theme-picker-dropdown{position:absolute;top:calc(100% + 4px);right:0;width:220px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000026;padding:6px;z-index:200;animation:theme-picker-in .15s ease-out}@keyframes theme-picker-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.theme-picker-section-label{font-size:11px;font-weight:600;color:var(--text);opacity:.6;padding:6px 8px 4px;text-transform:uppercase;letter-spacing:.5px}.theme-picker-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:13px;color:var(--text);text-align:left;transition:background .1s}.theme-picker-item:hover{background:var(--accent-bg)}.theme-picker-item.active{font-weight:500;color:var(--text-h)}.theme-picker-item-icon{font-size:14px;width:20px;text-align:center}.theme-picker-item-label{flex:1}.theme-picker-check{font-size:12px;color:var(--accent);font-weight:600}.theme-picker-separator{height:1px;background:var(--border);margin:6px 0}.theme-picker-accents{display:flex;gap:6px;padding:4px 8px 6px}.theme-picker-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;padding:0}.theme-picker-swatch:hover{transform:scale(1.15)}.theme-picker-swatch.active{border-color:var(--text-h)}.tab-bar{display:flex;align-items:stretch;height:36px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.tab-bar-scroll{display:flex;flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tab-bar-scroll::-webkit-scrollbar{display:none}.tab-bar{position:relative}.tab-bar:before,.tab-bar:after{content:"";position:absolute;top:0;bottom:0;width:16px;pointer-events:none;z-index:1;opacity:0;transition:opacity .15s}.tab-bar:before{left:0;background:linear-gradient(to right,var(--bg-secondary),transparent)}.tab-bar:after{right:36px;background:linear-gradient(to left,var(--bg-secondary),transparent)}.tab-item{display:flex;align-items:center;gap:4px;padding:0 8px;min-width:100px;max-width:200px;height:36px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;user-select:none;transition:background .1s;flex-shrink:0}.tab-item:hover{background:var(--bg)}.tab-item.active{background:var(--bg);border-bottom-color:transparent;border-top:2px solid var(--accent)}.tab-item:not(.active){border-top:2px solid transparent}.tab-label{flex:1;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-item.active .tab-label{font-weight:500;color:var(--text-h)}.tab-modified-dot{width:6px;height:6px;border-radius:50%;background:var(--text);opacity:.6;flex-shrink:0;animation:tab-dot-in .2s ease-out}@keyframes tab-dot-in{0%{opacity:0;transform:scale(0)}to{opacity:.6;transform:scale(1)}}@media(max-width:767px){.tab-bar{height:40px}.tab-item{height:40px;min-width:80px}.tab-close{display:none}.tab-new{height:40px;width:40px}}.tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:3px;background:transparent;color:var(--text);opacity:0;font-size:14px;line-height:1;cursor:pointer;flex-shrink:0;transition:opacity .1s,background .1s}.tab-item:hover .tab-close,.tab-item.active .tab-close{opacity:.5}.tab-close:hover{opacity:1!important;background:var(--accent-bg)}.tab-rename-input{flex:1;min-width:0;border:1px solid var(--accent-border);border-radius:2px;background:var(--bg);color:var(--text-h);font-size:12px;padding:1px 4px;outline:none;font-family:inherit}.tab-new{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:18px;font-weight:300;cursor:pointer;flex-shrink:0;transition:color .1s}.tab-new:hover{color:var(--accent)}.sidebar{display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border);flex-shrink:0;position:relative;overflow:hidden}.sidebar-search{display:flex;align-items:center;padding:6px;position:relative;flex-shrink:0}.sidebar-search-icon{position:absolute;left:14px;font-size:12px;pointer-events:none;opacity:.5}.sidebar-search-input{width:100%;height:28px;padding:4px 24px 4px 28px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-size:12px;font-family:inherit;outline:none;transition:border-color .15s}.sidebar-search-input:focus{border-color:var(--accent-border)}.sidebar-search-input::placeholder{color:var(--text);opacity:.4}.sidebar-search-clear{position:absolute;right:10px;border:none;background:none;color:var(--text);cursor:pointer;font-size:14px;opacity:.5;padding:0 4px}.sidebar-search-clear:hover{opacity:1}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-section{padding:4px 0}.sidebar-section-header{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;color:var(--text);opacity:.7;cursor:pointer;user-select:none;text-transform:uppercase;letter-spacing:.3px}.sidebar-section-header:hover{opacity:1}.sidebar-section-chevron{font-size:10px;width:12px;text-align:center}.sidebar-file{display:flex;align-items:center;gap:6px;height:28px;padding-right:8px;cursor:pointer;user-select:none;transition:background .1s;position:relative}.sidebar-file:hover{background:var(--accent-bg)}.sidebar-file.active{background:var(--accent-bg);border-left:2px solid var(--accent)}.sidebar-file-icon{font-size:14px;flex-shrink:0}.sidebar-file-label{flex:1;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-file.active .sidebar-file-label{font-weight:500;color:var(--text-h)}.sidebar-open-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0;opacity:.6}.sidebar-folder{display:flex;align-items:center;gap:4px;height:28px;padding-right:8px;cursor:pointer;user-select:none;transition:background .1s}.sidebar-folder:hover{background:var(--accent-bg)}.sidebar-folder-chevron{font-size:10px;width:12px;text-align:center;flex-shrink:0}.sidebar-folder-icon{font-size:14px;flex-shrink:0}.sidebar-folder-label{flex:1;font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-folder-count{font-size:10px;color:var(--text);opacity:.4;flex-shrink:0}.sidebar-file.dragging{opacity:.4}.sidebar-folder.drop-target{background:var(--accent-bg);outline:2px dashed var(--accent);outline-offset:-2px;border-radius:4px}.sidebar-section-header.drop-target{background:var(--accent-bg)}.sidebar-files-area{min-height:8px}.sidebar-template{display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;cursor:pointer;transition:background .1s}.sidebar-template:hover{background:var(--accent-bg)}.sidebar-template-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sidebar-template-text{display:flex;flex-direction:column;min-width:0}.sidebar-template-name{font-size:12px;color:var(--text);line-height:1.2}.sidebar-template-desc{font-size:10px;color:var(--text);opacity:.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sidebar-empty{padding:6px 12px;font-size:11px;color:var(--text);opacity:.4;font-style:italic}.sidebar-rename-input{flex:1;min-width:0;border:1px solid var(--accent-border);border-radius:2px;background:var(--bg);color:var(--text-h);font-size:12px;padding:1px 4px;outline:none;font-family:inherit}.sidebar-footer{display:flex;gap:4px;padding:6px;border-top:1px solid var(--border);flex-shrink:0}.sidebar-footer-btn{flex:1;height:26px;border:none;border-radius:4px;background:transparent;color:var(--text);font-size:11px;font-family:inherit;cursor:pointer;transition:color .1s,background .1s}.sidebar-footer-btn:hover{color:var(--accent);background:var(--accent-bg)}.sidebar-resize{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:10}.sidebar-resize:hover:after{content:"";position:absolute;top:0;right:3px;width:2px;height:100%;background:var(--accent);opacity:.5}.sidebar-context-menu{position:fixed;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px;z-index:300;min-width:160px}.sidebar-context-menu button{display:block;width:100%;padding:5px 10px;border:none;border-radius:3px;background:transparent;color:var(--text);font-size:12px;font-family:inherit;text-align:left;cursor:pointer}.sidebar-context-menu button:hover{background:var(--accent-bg);color:var(--text-h)}.sidebar-context-separator{height:1px;background:var(--border);margin:4px 0}.sidebar-context-label{padding:3px 10px;font-size:10px;font-weight:600;color:var(--text);opacity:.5;text-transform:uppercase}.sidebar-context-danger{color:var(--error)!important}@media(max-width:767px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:85vw!important;max-width:320px;z-index:400;box-shadow:4px 0 20px #00000040;animation:sidebar-slide-in .2s ease-out}@keyframes sidebar-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-file,.sidebar-folder,.sidebar-template{height:44px}.sidebar-search-input{height:36px;font-size:14px}.sidebar-resize{display:none}}.sidebar-backdrop{display:none}@media(max-width:767px){.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:399;animation:sidebar-backdrop-in .2s ease-out}@keyframes sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}}.status-bar{display:flex;align-items:center;justify-content:space-between;height:24px;padding:0 12px;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0;font-family:var(--mono);font-size:11px;color:var(--text);opacity:.8;user-select:none}.status-bar-left,.status-bar-right{display:flex;align-items:center;gap:12px}.status-bar-engine{display:flex;align-items:center;gap:4px}.status-bar-dot{width:6px;height:6px;border-radius:50%}.status-bar-dot.ready{background:var(--success)}.status-bar-dot.loading{background:var(--warning);animation:pulse 1.5s ease-in-out infinite}.status-bar-dedication{opacity:.6;font-family:var(--sans);font-size:10px;letter-spacing:.2px;cursor:pointer;transition:opacity .15s}.status-bar-dedication:hover{opacity:1}.status-bar-heart{color:#e53e3e;font-size:11px}.dedication-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:500;animation:dedication-fade-in .2s ease-out}@keyframes dedication-fade-in{0%{opacity:0}to{opacity:1}}.dedication-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:40px;max-width:420px;text-align:center;box-shadow:0 20px 60px #0000004d;animation:dedication-card-in .3s ease-out}@keyframes dedication-card-in{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dedication-heart{font-size:48px;color:#e53e3e;margin-bottom:16px;animation:dedication-beat 1.2s ease-in-out infinite}@keyframes dedication-beat{0%,to{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.1)}56%{transform:scale(1)}}.dedication-card h2{margin:0 0 16px;font-size:22px;font-weight:600;color:var(--text-h);font-family:var(--sans)}.dedication-card p{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--text);font-family:var(--sans)}.dedication-tagline{font-style:italic;opacity:.7;font-size:13px!important}.dedication-close{margin-top:20px;padding:8px 24px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:13px;font-family:var(--sans);cursor:pointer;transition:background .15s,color .15s}.dedication-close:hover{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}@media(max-width:768px){.status-bar-left span:not(:first-child){display:none}}.align-toolbar{display:flex;align-items:center;gap:8px}.align-group{display:flex;align-items:center;gap:2px}.align-label{font-size:10px;color:var(--text);opacity:.5;margin-right:2px;user-select:none}.align-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.align-btn:hover{background:var(--accent-bg);border-color:var(--border)}.align-btn.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}@media(max-width:768px){.align-toolbar{display:none}}.format-toolbar{display:flex;align-items:center;gap:6px}.format-group{display:flex;align-items:center;gap:2px}.format-separator{width:1px;height:16px;background:var(--border)}.format-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text);font-size:12px;font-family:var(--sans);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.format-btn:hover{background:var(--accent-bg);border-color:var(--border);color:var(--text-h)}.format-btn:active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.format-italic{font-style:italic;font-family:Georgia,serif}.format-preview-toggle{width:auto;padding:0 6px;gap:3px}.format-preview-label{font-size:10px;opacity:.7}.format-preview-toggle.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.format-preview-toggle.active .format-preview-label{opacity:1}.format-colors{gap:3px}.format-color-btn{width:14px;height:14px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;transition:transform .1s,border-color .1s}.format-color-btn:hover{transform:scale(1.25);border-color:var(--text-h)}@media(max-width:768px){.format-toolbar{display:none}}.font-size-control{display:inline-flex;align-items:center;gap:2px}.font-size-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text);font-size:11px;font-family:var(--sans);font-weight:600;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.font-size-btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--border);color:var(--text-h)}.font-size-btn:active:not(:disabled){background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.font-size-btn:disabled{opacity:.3;cursor:default}.font-size-value{font-size:11px;font-family:var(--mono);color:var(--text);min-width:18px;text-align:center;user-select:none}@media(max-width:768px){.font-size-control{display:none}}.mobile-results-tray{display:none}@media(max-width:767px){.mobile-results-tray{display:flex;flex-direction:column;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0;transition:max-height .2s ease-out;max-height:48px;overflow:hidden}.mobile-results-tray.expanded{max-height:40vh}.tray-header{display:flex;flex-direction:column;align-items:center;padding:8px 16px;min-height:48px;cursor:pointer;user-select:none;flex-shrink:0}.tray-drag-handle{width:32px;height:4px;border-radius:2px;background:var(--border);margin-bottom:6px}.tray-last-result{font-size:13px;font-family:var(--mono);color:var(--text)}.tray-content{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tray-result-item{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.tray-result-item:active{background:var(--accent-bg)}.tray-result-item.copied{background:var(--success-bg)}.tray-result-line{font-size:11px;font-family:var(--mono);color:var(--text);opacity:.4;width:40px;flex-shrink:0}.tray-result-expr{flex:1;font-size:13px;font-family:var(--mono);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tray-result-value{font-size:13px;font-family:var(--mono);color:var(--result-number, var(--text-h));font-weight:500;flex-shrink:0;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tray-empty{padding:16px;text-align:center;font-size:13px;color:var(--text);opacity:.4}}.user-menu-login-btn{display:inline-flex;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;font-family:var(--sans);color:var(--accent);background:transparent;border:1px solid var(--accent-border);border-radius:4px;cursor:pointer;transition:background .15s;white-space:nowrap}.user-menu-login-btn:hover{background:var(--accent-bg)}.user-menu-container{position:relative}.user-menu-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:600;font-family:var(--sans);border:none;cursor:pointer;transition:opacity .15s}.user-menu-avatar:hover{opacity:.85}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:200px;padding:6px 0;z-index:200;animation:user-menu-in .15s ease}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu-email{padding:8px 14px;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-separator{height:1px;background:var(--border);margin:4px 0}.user-menu-item{display:block;width:100%;padding:8px 14px;font-size:13px;font-family:var(--sans);color:var(--text-h);background:none;border:none;cursor:pointer;text-align:left;transition:background .1s}.user-menu-item:hover{background:var(--accent-bg)}.user-menu-signout{color:var(--error)}@media(max-width:768px){.user-menu-login-btn{font-size:11px;padding:3px 8px}}.auth-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(2px)}.auth-modal{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:380px;box-shadow:0 20px 60px #0003;animation:auth-slide-in .2s ease}@keyframes auth-slide-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal h2{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text-h)}.auth-field{margin-bottom:16px}.auth-field label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.auth-field input{width:100%;padding:10px 12px;font-size:14px;font-family:var(--sans);color:var(--text-h);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;outline:none;transition:border-color .15s;box-sizing:border-box}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.auth-field input:disabled{opacity:.6}.auth-btn{width:100%;padding:10px;font-size:14px;font-weight:600;font-family:var(--sans);border:none;border-radius:6px;cursor:pointer;transition:opacity .15s;margin-top:8px}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-primary{background:var(--accent);color:#fff}.auth-btn-primary:hover:not(:disabled){opacity:.9}.auth-error{color:var(--error);font-size:13px;margin:0 0 8px}.auth-success-msg{color:var(--text);font-size:14px;line-height:1.5;margin:0 0 20px}.auth-renewal-msg{color:var(--text);font-size:13px;line-height:1.5;margin:-12px 0 16px}.auth-toggle{text-align:center;font-size:13px;color:var(--text);margin:16px 0 0}.auth-link{background:none;border:none;color:var(--accent);font-size:13px;font-family:var(--sans);cursor:pointer;text-decoration:underline;padding:0}.auth-link:hover{opacity:.8}.auth-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:22px;color:var(--text);cursor:pointer;padding:4px;line-height:1;opacity:.5;transition:opacity .15s}.auth-close:hover{opacity:1}.collab-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border);font-size:11px;font-family:var(--sans);color:var(--text)}.collab-dot{width:6px;height:6px;border-radius:50%}.collab-dot.connected{background:var(--success);box-shadow:0 0 4px var(--success)}.collab-dot.connecting{background:var(--warning);animation:collab-pulse 1s infinite}@keyframes collab-pulse{0%,to{opacity:.4}50%{opacity:1}}.collab-count{font-weight:600}.share-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(2px)}.share-dialog{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:28px;width:100%;max-width:420px;box-shadow:0 20px 60px #0003;animation:share-in .2s ease}@keyframes share-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.share-dialog h2{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-h);padding-right:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:22px;color:var(--text);cursor:pointer;padding:4px;line-height:1;opacity:.5}.share-close:hover{opacity:1}.share-permission{margin-bottom:20px}.share-permission label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:8px}.share-permission-options{display:flex;gap:8px}.share-perm-btn{flex:1;padding:8px;font-size:13px;font-family:var(--sans);font-weight:500;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-h);cursor:pointer;transition:all .15s}.share-perm-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.share-perm-btn:hover:not(.active){background:var(--accent-bg)}.share-link-section{display:flex;flex-direction:column;gap:12px}.share-link-row{display:flex;gap:8px}.share-link-input{flex:1;padding:8px 12px;font-size:13px;font-family:var(--mono);color:var(--text-h);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;outline:none}.share-link-input:focus{border-color:var(--accent)}.share-copy-btn{padding:8px 16px;font-size:13px;font-weight:600;font-family:var(--sans);background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:opacity .15s}.share-copy-btn:hover{opacity:.9}.share-create-btn{width:100%;padding:10px;font-size:14px;font-weight:600;font-family:var(--sans);background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:opacity .15s}.share-create-btn:hover:not(:disabled){opacity:.9}.share-create-btn:disabled{opacity:.6}.share-revoke-btn{background:none;border:none;color:var(--error);font-size:13px;font-family:var(--sans);cursor:pointer;padding:0;text-align:left}.share-revoke-btn:hover{text-decoration:underline}.calcpad-app{display:flex;flex-direction:column;height:100svh;overflow:hidden}.calcpad-header{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border);flex-shrink:0;height:40px}.calcpad-header h1{margin:0;font-size:14px;font-weight:600;letter-spacing:-.3px}.header-spacer{flex:1}.header-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.header-divider{width:1px;height:16px;background:var(--border)}.header-share-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.header-share-btn:hover{background:var(--accent-bg);border-color:var(--border);color:var(--accent)}.header-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text);font-size:16px;cursor:pointer;flex-shrink:0;transition:background .1s}.header-sidebar-toggle:hover{background:var(--accent-bg)}.calcpad-workspace,.calcpad-editor{flex:1;display:flex;overflow:hidden}.editor-pane{flex:3;min-width:0;overflow:hidden}.editor-pane .calc-editor,.editor-pane .cm-editor{height:100%}.pane-divider{width:5px;background:var(--border);flex-shrink:0;cursor:col-resize;transition:background .15s;position:relative}.pane-divider:hover{background:var(--accent)}.pane-divider:before{content:"";position:absolute;inset:0 -4px}.results-panel{flex:1;min-width:120px}@media(max-width:767px){.calcpad-app{height:100dvh}.calcpad-header{height:44px;padding:6px 8px;gap:8px}.header-sidebar-toggle{width:36px;height:36px;font-size:18px}.header-divider,.pane-divider{display:none}.calcpad-editor{flex-direction:column}.editor-pane{flex:1!important;width:100%!important}.results-panel{display:none}}@supports (padding: env(safe-area-inset-top)){.calcpad-app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.calcpad-app{overscroll-behavior:none}
