pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-sunken:#0e1015;--bg:#12141a;--bg-elevated:#191c23;--bg-hover:#232733;--bg-popover:#1c2029;--border:#2b2f3a;--border-strong:#3a3f4d;--text:#e6e8ee;--text-body:#cdd2dd;--text-muted:#9aa1b1;--text-faint:#6b7383;--text-disabled:#4e5462;--accent:#5b8cff;--accent-hover:#7aa2ff;--accent-active:#4a76d8;--accent-text:#9dbaff;--accent-soft:#5b8cff26;--on-accent:#0e1015;--success:#46c88a;--success-text:#7fdcae;--success-dim:#5aa17c;--success-soft:#46c88a24;--success-border:#46c88a4d;--warn:#e0a758;--warn-text:#e0b878;--warn-dim:#b78a48;--warn-soft:#e0a75824;--warn-border:#e0a75852;--danger:#ff6b6b;--danger-text:#ff9d9d;--danger-dim:#d17a7a;--danger-soft:#ff6b6b24;--danger-border:#ff6b6b52;--code-bg:#1e2129;--focus-ring:0 0 0 3px #5b8cff33;--shadow-popover:0 16px 40px #0000008c;--shadow-dialog:0 28px 70px #000000a6;--font-sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;font-family:var(--font-sans)}@layer base{*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;font-family:var(--font-sans)}input,select,textarea{font-family:var(--font-sans)}a{color:var(--accent);text-decoration:none}@media (hover:hover){a:hover{color:var(--accent-hover)}}:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}}@keyframes shimmer{0%{opacity:.35}50%{opacity:.8}to{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 16px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent)}@media (hover:hover){.btn-primary:hover{background:var(--accent-hover)}}.btn-primary:active{background:var(--accent-active)}.btn-primary:disabled{color:var(--text-faint);cursor:not-allowed;background:#2c3a5c}.btn-secondary{color:var(--text);border:1px solid var(--border-strong);background:0 0}@media (hover:hover){.btn-secondary:hover{background:var(--bg-hover);border-color:#4a5060}}.btn-secondary:disabled{color:var(--text-disabled);cursor:not-allowed;background:0 0;border-color:#262a34}.btn-ghost{color:var(--text-muted);background:0 0;height:32px;padding:0 12px}@media (hover:hover){.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}}.btn-danger{color:var(--danger-text);background:#ff6b6b1f;border:1px solid #ff6b6b66}@media (hover:hover){.btn-danger:hover{background:#ff6b6b33;border-color:#ff6b6b99}}.btn-danger-solid{background:var(--danger);color:#14161c;border:1px solid var(--danger)}@media (hover:hover){.btn-danger-solid:hover{filter:brightness(1.06)}}.spinner{border:2px solid var(--border-strong);border-top-color:var(--text-muted);border-radius:50%;width:12px;height:12px;animation:.9s linear infinite spin;display:inline-block}.app-shell{flex-direction:column;height:100%;display:flex}.main-nav{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;height:40px;padding:0 12px;display:flex}.main-nav-logo{border-right:1px solid var(--border);align-items:center;height:100%;margin-right:4px;padding-right:12px;display:flex}.main-nav-logo-badge{width:20px;height:20px;font-family:var(--font-mono);color:var(--accent);letter-spacing:.02em;background:#5b8cff24;border:1px solid #5b8cff4d;border-radius:5px;justify-content:center;align-items:center;font-size:8px;font-weight:600;display:inline-flex}.main-nav-link{color:var(--text-muted);border-radius:7px;align-items:center;padding:5px 11px;font-size:13px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}@media (hover:hover){.main-nav-link:hover{background:var(--bg-hover);color:var(--text)}}.main-nav-link.active{background:var(--accent-soft);color:var(--accent-text)}.main-nav-settings{width:30px;height:30px;color:var(--text-muted);border-radius:7px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}@media (hover:hover){.main-nav-settings:hover{background:var(--bg-hover);color:var(--text)}}.main-nav-settings.active{background:var(--accent-soft);color:var(--accent-text)}.app-shell-body{flex:1;min-height:0;display:flex}.app-shell-body>*{flex:1;min-width:0;min-height:0}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:44px;padding:0 14px;display:flex}.app-title{letter-spacing:.02em;font-size:13px;font-weight:600}.current-path{color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.current-path .path-dim{color:var(--text-disabled)}.burger{border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;width:32px;height:32px;padding:0;display:none}@media (hover:hover){.burger:hover{background:var(--bg-hover)}}.burger span{background:var(--text);border-radius:1px;width:16px;height:2px;margin:0 auto;display:block}.layout{flex:1;min-height:0;display:flex}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;width:284px;padding:12px 10px;display:flex;overflow-y:auto}.sidebar-overlay{display:none}.tree-empty{color:var(--text-muted);margin:0;padding:8px;font-size:13px;line-height:1.5}.sidebar-footer{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--text-disabled);justify-content:space-between;align-items:center;margin-top:auto;padding:10px 4px 0;font-size:11px;display:flex}.sidebar-footer .git-ok{color:var(--text-disabled)}.search-panel{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.search-box{padding:0 2px;position:relative}.search-box:before{content:"⌕";color:var(--text-faint);pointer-events:none;font-size:14px;position:absolute;top:50%;left:13px;transform:translateY(-52%)}.search-input{background:var(--bg);width:100%;height:34px;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:0 28px 0 32px;font-size:13px}.search-input::placeholder{color:var(--text-faint)}.search-input:focus-visible{border-color:var(--accent)}.search-input:disabled{opacity:.4;cursor:not-allowed}.search-input::-webkit-search-cancel-button{display:none}.search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:15px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}@media (hover:hover){.search-clear:hover{color:var(--text)}}.search-status{color:var(--text-faint);font-family:var(--font-mono);margin:0;padding:2px 8px;font-size:11px}.search-status-error{color:var(--danger-text);font-family:var(--font-sans);font-size:12px}.search-result-list{flex-direction:column;gap:2px;margin:0;padding:0 2px;list-style:none;display:flex;overflow-y:auto}.search-result{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:9px 10px;display:block}@media (hover:hover){.search-result:hover{background:#5b8cff1f}}.search-result-path{color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.3}@media (hover:hover){.search-result:hover .search-result-path{color:var(--accent-text)}}.search-result-snippet{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.45}.search-result mark,.search-result-path mark{color:var(--text);background:#5b8cff4d;border-radius:3px;padding:0 3px}.context-menu{z-index:100;background:var(--bg-popover);border:1px solid var(--border-strong);min-width:216px;box-shadow:var(--shadow-popover);border-radius:10px;flex-direction:column;gap:1px;padding:6px;display:flex;position:fixed}.context-menu button{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}@media (hover:hover){.context-menu button:hover{background:#262b36}}.context-menu button.danger{color:var(--danger-text)}.context-menu-sep{background:var(--border);height:1px;margin:4px 0}.file-tree,.file-tree ul{margin:0;padding:0;list-style:none}.file-tree{padding:0 2px;overflow-y:auto}.tree-row{width:100%;padding:7px 8px;padding-left:calc(8px + var(--depth,0) * 18px);text-align:left;cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;font-size:13px;line-height:1;display:flex}@media (hover:hover){.tree-row:hover{background:var(--bg-hover);color:var(--text)}}.tree-row-dir{color:var(--text);font-weight:500}.tree-row-file.selected{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.tree-caret{width:.8em;color:var(--text-faint);flex-shrink:0;font-size:10px;transition:transform .15s;display:inline-block}.tree-caret.open{transform:rotate(90deg)}.tree-icon{flex-shrink:0;font-size:12px}.tree-icon-dir{color:#7d8797}.tree-icon-file{color:var(--text-faint);font-size:10px}.tree-row-file.selected .tree-icon-file{color:var(--accent-text)}.tree-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.content-inset{flex:1;padding:40px 24px 80px;overflow-y:auto}.empty-state,.banner{max-width:720px;color:var(--text-muted);margin:0 auto}.empty-state{background:var(--bg-sunken);border:1px dashed var(--border);text-align:center;border-radius:12px;padding:34px 24px;font-size:13px;line-height:1.5}.banner-error{color:var(--text);background:#ff6b6b14;border:1px solid #ff6b6b42;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}.save-error{max-width:none;margin:10px 20px 0}.file-workspace{flex-direction:column;flex:1;min-height:0;display:flex}.file-toolbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;min-height:48px;padding:8px 16px;display:flex}.mode-toggle,.mobile-tabs{background:var(--bg);border:1px solid var(--border);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.mobile-tabs{display:none}.mode-toggle button,.mobile-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;line-height:1.2}@media (hover:hover){.mode-toggle button:hover,.mobile-tabs button:hover{color:var(--text)}}.mode-toggle button.active,.mobile-tabs button.active{background:var(--bg-hover);color:var(--text)}.save-area{align-items:center;gap:8px;margin-left:auto;display:flex}.kbd-hint{font-family:var(--font-mono);color:var(--text-disabled);font-size:11px}.dirty-pill{background:var(--warn-soft);color:var(--warn-text);white-space:nowrap;border:1px solid #e0a7584d;border-radius:5px;align-items:center;gap:5px;padding:3px 7px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.dirty-pill:before{content:"";background:var(--warn);border-radius:50%;width:5px;height:5px}.dirty-dot{background:var(--warn);border-radius:50%;flex-shrink:0;width:8px;height:8px}.save-button{background:var(--accent);height:30px;color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:500;display:inline-flex}@media (hover:hover){.save-button:hover:not(:disabled){background:var(--accent-hover)}}.save-button:disabled{cursor:not-allowed;color:var(--text-faint);background:#2c3a5c}.history-button{height:30px;color:var(--text);border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}@media (hover:hover){.history-button:hover{background:var(--bg-hover)}}.preview-only{flex:1;padding:40px 24px 80px;overflow-y:auto}.editor-split{flex:1;min-height:0;display:flex}.pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.pane-code{border-right:1px solid var(--border);background:var(--bg-sunken)}.pane-preview{padding:28px 24px 60px;overflow-y:auto}.pane-preview-label{max-width:720px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-disabled);margin:0 auto 14px;font-size:11px}.cm-wrapper{height:100%}.cm-wrapper .cm-editor{height:100%;background:var(--bg-sunken)!important}.cm-wrapper .cm-scroller{font-size:13px;line-height:1.75;overflow:auto;font-family:var(--font-mono)!important}.cm-wrapper .cm-gutters{background:var(--bg-sunken)!important;color:#3d434f!important;border-right:1px solid var(--bg-elevated)!important}.cm-wrapper .cm-activeLineGutter{color:var(--accent)!important;background:0 0!important}.cm-wrapper .cm-activeLine{background:#5b8cff14!important}.cm-wrapper .cm-cursor{border-left-color:var(--accent)!important}.markdown-body{max-width:720px;color:var(--text-body);margin:0 auto;font-size:15px;line-height:1.7}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--text);letter-spacing:-.01em;margin-top:1.7em;margin-bottom:.55em;font-weight:600;line-height:1.3}.markdown-body>:first-child{margin-top:0}.markdown-body h1{font-size:28px;line-height:1.25}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:17px}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body table,.markdown-body pre{margin:.9em 0}.markdown-body ul,.markdown-body ol{padding-left:1.5em}.markdown-body li+li{margin-top:.3em}.markdown-body ol li::marker{color:var(--accent)}.markdown-body blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin-left:0;padding:.2em 1em}.markdown-body code{background:var(--code-bg);border:1px solid var(--border);font-size:13px;font-family:var(--font-mono);color:var(--accent-text);border-radius:4px;padding:2px 5px}.markdown-body pre{background:var(--bg-sunken);border:1px solid var(--border);border-radius:10px;padding:14px;overflow-x:auto}.markdown-body pre code{color:var(--text-body);background:0 0;border:none;padding:0;font-size:13px;line-height:1.65}.markdown-body table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:10px;width:100%;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{text-align:left;border-bottom:1px solid #23262e;padding:10px 14px;font-size:13px;line-height:1.4}.markdown-body th{background:var(--bg-elevated);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:600}.markdown-body tr:last-child td{border-bottom:none}.markdown-body img{border-radius:8px;max-width:100%}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.dialog-overlay{z-index:200;background:#08090cb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-card{background:var(--bg-popover);border:1px solid var(--border-strong);width:100%;max-width:380px;box-shadow:var(--shadow-dialog);border-radius:16px;padding:20px 22px}.dialog-form{flex-direction:column;gap:14px;display:flex}.dialog-title{font-size:16px;font-weight:600;line-height:1.3}.dialog-label{color:var(--text-muted);margin-bottom:-8px;font-size:12px}.dialog-body{color:var(--text-muted);font-size:13px;line-height:1.55}.dialog-body code,.dialog-body .mono{font-family:var(--font-mono);color:var(--accent-text);font-size:12px}.dialog-input{border:1px solid var(--border);background:var(--bg-elevated);height:40px;color:var(--text);border-radius:8px;padding:0 12px;font-size:14px}.dialog-input:focus-visible{border-color:var(--accent)}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.dialog-actions .btn{height:34px;padding:0 14px}@media (width<=767px){.main-nav{gap:2px;height:48px;padding:0 4px}.main-nav-link{min-height:44px;padding:0 12px;font-size:14px}.main-nav-settings{width:44px;height:44px}.main-nav-logo{display:none}.burger{display:flex}.app-title{display:none}.sidebar{z-index:50;width:min(84vw,316px);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:24px 0 60px #0009}.tree-row,.context-menu button{min-height:44px}.search-input{height:44px;font-size:16px}.search-clear{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex;right:0}.history-button,.save-button{min-height:44px}.mode-toggle button,.mobile-tabs button{min-height:38px;position:relative}.mode-toggle button:after,.mobile-tabs button:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.sidebar-overlay{z-index:40;background:#08090cb8;display:block;position:fixed;inset:0}.content-inset{padding:20px 16px 60px}.file-toolbar{gap:8px;padding:8px 12px}.kbd-hint{display:none}.mobile-tabs{flex:1;display:inline-flex}.mobile-tabs button{text-align:center;flex:1;padding:8px 0;font-size:13px}.preview-only{padding:20px 16px 60px}.editor-split{flex-direction:column}.editor-split .pane{display:none}.editor-split.mobile-tab-code .pane-code,.editor-split.mobile-tab-preview .pane-preview{display:flex}.pane-code{border-right:none}.pane-preview{padding:20px 16px 60px}}.history-overlay{z-index:60;background:#08090cb8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.history-panel{background:var(--bg-popover);border:1px solid var(--border-strong);width:min(880px,100%);height:min(640px,100%);max-height:100%;box-shadow:var(--shadow-dialog);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.history-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.history-panel-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-panel-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:15px;line-height:1}@media (hover:hover){.history-panel-close:hover{color:var(--text)}}.history-panel-body{flex:1;min-height:0;display:flex}.history-list{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;width:300px;padding:8px;display:flex;overflow-y:auto}.history-item{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:stretch;gap:4px;padding:10px 11px;display:flex}@media (hover:hover){.history-item:hover{background:var(--bg-hover)}}.history-item.active{background:#5b8cff1f}.history-item-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.history-item-hash{font-family:var(--font-mono);color:var(--text-disabled);order:3;font-size:11px}.history-item-date{font-family:var(--font-mono);color:var(--text-faint);order:2;margin-left:auto;font-size:11px}.history-item-message{word-break:break-word;order:1;font-size:13px;font-weight:500;line-height:1.3}.history-item.active .history-item-message{color:var(--accent-text)}.history-preview{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.history-preview-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding:10px 16px;display:flex}.history-readonly-note{color:var(--text-muted);margin-right:auto;font-size:12px}.history-preview-content{flex:1;padding:24px 20px;overflow-y:auto}@media (width<=767px){.history-overlay{padding:0}.history-panel{border-radius:0;width:100%;height:100%}.history-panel-body{flex-direction:column}.history-list{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:40%}}.auth-screen{background:radial-gradient(120% 60% at 50% -12%, #5b8cff24, transparent 62%), var(--bg-sunken);justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.auth-loading{color:var(--text-muted);font-size:13px}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:22px;width:100%;max-width:380px;padding:32px;display:flex;box-shadow:0 32px 80px #0009}.auth-brand{flex-direction:column;align-items:center;gap:12px;display:flex}.auth-logo{width:48px;height:48px;color:var(--accent);font-family:var(--font-mono);letter-spacing:.02em;background:#5b8cff24;border:1px solid #5b8cff4d;border-radius:12px;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:inline-flex}.auth-title{margin:0;font-size:22px;font-weight:600;line-height:1.2}.auth-subtitle{color:var(--text-muted);text-align:center;margin:-16px 0 0;font-size:13px}.auth-field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.auth-field input{background:var(--bg);height:40px;color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:0 12px;font-size:14px}.auth-field input::placeholder{color:var(--text-faint)}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5b8cff2e}.auth-error{color:var(--danger-text);background:#ff6b6b1a;border:1px solid #ff6b6b47;border-radius:8px;align-items:center;gap:9px;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.auth-error:before{content:"✕";color:var(--danger);flex-shrink:0;font-size:13px}.auth-submit{background:var(--accent);height:40px;color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;margin-top:2px;font-size:14px;font-weight:500}@media (hover:hover){.auth-submit:hover{background:var(--accent-hover)}}.auth-submit:disabled{background:var(--accent-active);color:#0e1015bf;cursor:default}@media (width<=767px){.auth-field input{height:44px;font-size:15px}.auth-submit{height:46px;font-size:15px}}.btn-sm{border-radius:7px;gap:6px;height:30px;padding:0 12px;font-size:12px}.btn-ghost.btn-sm{padding:0 10px}.btn:disabled{cursor:not-allowed}.btn-ghost.danger{color:var(--danger-text)}@media (hover:hover){.btn-ghost.danger:hover{background:var(--danger-soft);color:var(--danger-text)}}.icon-button{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover){.icon-button:hover{background:var(--bg-hover);color:var(--text)}}.icon-button[aria-expanded=true]{background:var(--bg-hover);color:var(--text);border-color:var(--border-strong)}.icon-button:disabled{color:var(--text-disabled);cursor:not-allowed;background:0 0}.link-button{color:var(--accent-text);font-size:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}@media (hover:hover){.link-button:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.segmented button{min-height:28px;color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;line-height:1.2;display:inline-flex}@media (hover:hover){.segmented button:hover{color:var(--text)}}.segmented button.active{background:var(--bg-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.banner-warn,.banner-info{border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}.banner-warn{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn-text)}.banner-info{background:var(--accent-soft);color:var(--accent-text);border:1px solid #5b8cff4d}.form-stack{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--text-muted);font-size:12px;font-weight:500}.field-optional,.field-note{color:var(--text-faint);font-size:11px;font-weight:400}.field-optional{margin-left:6px}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row>.field{flex:140px}.field-grow{flex:1}.input{border:1px solid var(--border);background:var(--bg-sunken);width:100%;min-width:0;height:36px;color:var(--text);border-radius:8px;padding:0 11px;font-size:13px;line-height:1.4}.input::placeholder{color:var(--text-faint)}@media (hover:hover){.input:hover{border-color:var(--border-strong)}}.input:focus-visible{border-color:var(--accent)}.input:disabled{color:var(--text-disabled);cursor:not-allowed}.input[type=date]{font-family:var(--font-mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:12px}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-faint) 50%), linear-gradient(135deg, var(--text-faint) 50%, transparent 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.textarea{resize:vertical;height:auto;padding:9px 11px;line-height:1.55}.input.mono,.textarea.mono{font-family:var(--font-mono);font-size:12px}.input-warn,.input[aria-invalid=true]{border-color:var(--warn-border)}.field-hint{border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 10px;font-size:12px;line-height:1.45;display:flex}.hint-warn{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn-text)}.hint-danger{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text)}.hint-danger a{color:var(--danger-text);text-underline-offset:3px;text-decoration:underline}.hint-choices{gap:6px;display:inline-flex}.hint-choice{border:1px solid var(--warn-border);height:24px;color:var(--warn-text);font-family:var(--font-mono);cursor:pointer;background:#e0a75814;border-radius:6px;padding:0 9px;font-size:12px}@media (hover:hover){.hint-choice:hover{background:#e0a75833}}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{background:var(--swatch);width:26px;height:26px;color:var(--on-accent);cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.swatch.selected{box-shadow:0 0 0 2px var(--bg-popover), 0 0 0 4px var(--swatch)}.status-pill{white-space:nowrap;height:20px;color:var(--text-muted);background:#9aa1b11f;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:0 7px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.project-status-active,.stage-status-active{background:var(--accent-soft);color:var(--accent-text)}.project-status-paused{background:var(--warn-soft);color:var(--warn-text)}.project-status-done,.stage-status-done{background:var(--success-soft);color:var(--success-text)}.project-status-archived{color:var(--text-faint);background:#6b738324}.stage-status-blocked{background:var(--danger-soft);color:var(--danger-text)}.now-pill{background:var(--accent);height:18px;color:var(--on-accent);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:0 7px;font-size:10px;font-weight:600;display:inline-flex}.deadline-badge{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;height:20px;padding:0 7px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.urgency-calm{color:var(--text-muted);background:#9aa1b11a}.urgency-warn{background:var(--warn-soft);color:var(--warn-text)}.urgency-danger{background:var(--danger-soft);color:var(--danger-text)}.urgency-done{background:var(--success-soft);color:var(--success-text)}.deadline-badge-date{color:inherit;opacity:.75}.stage-bar{gap:3px;width:100%;min-width:60px;display:flex}.stage-bar-segment{background:var(--bg-hover);border-radius:2px;flex:1;height:6px}.stage-bar-sm .stage-bar-segment{height:4px}.stage-bar-lg .stage-bar-segment{border-radius:3px;height:8px}.stage-bar-segment.seg-planned{background:#2f3441}.stage-bar-segment.seg-active{background:var(--accent);box-shadow:0 0 10px #5b8cff59}.stage-bar-segment.seg-done{background:var(--success-dim)}.stage-bar-segment.seg-blocked{background:var(--danger)}.stage-bar-empty{background:repeating-linear-gradient(90deg,#262a34 0 6px,#0000 6px 10px)}.mini-progress{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.mini-progress-track{background:var(--bg-hover);border-radius:2px;width:44px;height:4px;position:relative;overflow:hidden}.mini-progress-fill{background:var(--success-dim);border-radius:2px;position:absolute;inset:0 auto 0 0}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;margin-bottom:20px;display:flex}.page-head-text{flex-direction:column;gap:5px;min-width:0;margin-right:auto;display:flex}.page-title{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600;line-height:1.2}.page-subtitle{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.page-loading{color:var(--text-muted);padding:40px 24px;font-size:13px}.section-head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:12px;display:flex}.section-title{color:var(--text);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:inline-flex}.section-title svg{color:var(--text-faint)}.section-note{color:var(--text-faint);margin:0;font-size:12px}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:500}.back-link{min-height:28px;color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}@media (hover:hover){.back-link:hover{color:var(--text)}}.muted-note{color:var(--text-faint);font-size:13px;line-height:1.5}.mono{font-family:var(--font-mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:var(--bg-hover);border-radius:6px;animation:1.6s ease-in-out infinite shimmer;display:block}.skeleton-title{width:38%;height:14px}.skeleton-bar{width:70%;height:6px}.skeleton-short{width:90px;height:12px}.skeleton-block{border-radius:10px;width:100%;height:120px}.empty-block{border:1px dashed var(--border-strong);text-align:center;background:linear-gradient(#5b8cff0a,#0000 60%);border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:44px 24px 40px;display:flex}.empty-block-mark{gap:4px;width:120px;margin-bottom:6px;display:flex}.empty-block-mark span{background:#2f3441;border-radius:3px;flex:1;height:8px}.empty-block-mark span:first-child{background:var(--success-dim)}.empty-block-mark span:nth-child(2){background:var(--accent);box-shadow:0 0 12px #5b8cff66}.empty-block-title{font-size:15px;font-weight:600}.empty-block-text{max-width:420px;color:var(--text-muted);margin:0 0 6px;font-size:13px;line-height:1.55}.ui-dialog-backdrop{z-index:150;background:#08090cb8;justify-content:center;align-items:center;padding:20px;animation:.12s ease-out ui-fade-in;display:flex;position:fixed;inset:0}.ui-dialog{background:var(--bg-popover);border:1px solid var(--border-strong);width:100%;max-height:min(88vh,860px);box-shadow:var(--shadow-dialog);border-radius:16px;flex-direction:column;animation:.16s ease-out ui-rise;display:flex}.ui-dialog-sm{max-width:380px}.ui-dialog-md{max-width:480px}.ui-dialog-lg{max-width:640px}.ui-dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px 22px;display:flex}.ui-dialog-title{margin:6px 0 0;font-size:16px;font-weight:600;line-height:1.3}.ui-dialog-subtitle{color:var(--text-muted);margin-top:4px;font-size:12px}.ui-dialog-body{flex:1;min-height:0;padding:18px 22px;overflow-y:auto}.ui-dialog-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:12px 22px 16px;display:flex}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-rise{0%{opacity:0;transform:translateY(6px)scale(.99)}}.ui-menu{display:inline-flex;position:relative}.ui-menu-list{z-index:120;background:var(--bg-popover);border:1px solid var(--border-strong);min-width:210px;box-shadow:var(--shadow-popover);border-radius:10px;flex-direction:column;padding:5px;animation:.1s ease-out ui-fade-in;display:flex;position:absolute;top:calc(100% + 6px)}.ui-menu-list.align-end{right:0}.ui-menu-list.align-start{left:0}.ui-menu-item{min-height:34px;color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;padding:0 10px;font-size:13px;display:flex}.ui-menu-item:focus-visible{background:var(--bg-hover);box-shadow:none}@media (hover:hover){.ui-menu-item:hover{background:var(--bg-hover);box-shadow:none}}.ui-menu-item:disabled{color:var(--text-disabled);cursor:not-allowed;background:0 0}.ui-menu-item.danger{color:var(--danger-text)}.ui-menu-item.danger:focus-visible{background:var(--danger-soft)}@media (hover:hover){.ui-menu-item.danger:hover{background:var(--danger-soft)}}.ui-menu-icon{width:16px;color:var(--text-faint);display:inline-flex}.ui-menu-item.danger .ui-menu-icon{color:inherit}.conflict-panel{border:1px solid var(--warn-border);background:var(--warn-soft);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.conflict-title{color:var(--warn-text);margin:0;font-size:13px;line-height:1.45}.conflict-compare{flex-direction:column;gap:10px;display:flex}.conflict-compare-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.conflict-version{flex-direction:column;gap:5px;min-width:0;display:flex}.conflict-version-label{color:var(--text-muted);font-size:11px}.conflict-version-text,.draft-stash-text{border:1px solid var(--border);background:var(--bg-sunken);max-height:220px;color:var(--text-body);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:7px;margin:0;padding:8px 10px;font-size:12px;line-height:1.55;overflow:auto}.conflict-actions{flex-wrap:wrap;gap:8px;display:flex}.draft-stash{border:1px dashed var(--border-strong);background:var(--bg);border-radius:9px}.draft-stash-toggle{width:100%;min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0 12px;font-size:12px;font-weight:500;display:flex}@media (hover:hover){.draft-stash-toggle:hover{color:var(--text)}}.draft-stash-body{flex-direction:column;gap:8px;padding:0 12px 12px;display:flex}.draft-stash-actions{gap:8px;display:flex}.settings-page{height:100%;padding:28px 32px 60px;overflow-y:auto}.settings-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px}.settings-card-title{border-bottom:1px solid var(--border);margin:0;padding:14px 18px;font-size:13px;font-weight:600}.settings-row{align-items:center;gap:16px;padding:14px 18px;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row-text{flex:1;min-width:0}.settings-row-label{font-size:14px;font-weight:500}.settings-row-note{color:var(--text-faint);margin-top:3px;font-size:12px}.app-notice{z-index:1000;border:1px solid var(--border);background:var(--bg-elevated);max-width:min(440px,100vw - 32px);color:var(--text);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex;position:fixed;box-shadow:0 4px 16px #0006}.app-notice-pwa{bottom:16px;left:16px}.app-notice-outdated{left:50%;bottom:var(--notice-outdated-bottom,16px);z-index:1100;border-color:var(--warn);transform:translate(-50%)}.app-notice-telegram{left:50%;bottom:var(--notice-telegram-bottom,16px);z-index:1050;transform:translate(-50%)}.app-shell{padding-bottom:var(--notice-reserve,0px)}.ui-dialog-backdrop,.dialog-overlay{padding-bottom:calc(20px + var(--notice-reserve,0px))}.app-notice.is-warning{border-color:var(--warn)}.app-notice.is-danger{border-color:var(--danger)}.app-notice-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.app-notice-button{background:var(--accent);color:#0c0d10;min-height:36px;font:inherit;cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-weight:600}.app-notice-button.is-quiet{color:var(--text-muted);background:0 0;font-weight:400}.app-notice-button:disabled{opacity:.7;cursor:default}@media (width<=767px){.btn,.btn-sm{min-height:44px}.icon-button{width:44px;height:44px}.input{height:44px;font-size:16px}.textarea{height:auto}.segmented button{min-height:38px;position:relative}.segmented button:after,.link-button:after,.hint-choice:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.link-button,.hint-choice{position:relative}.back-link,.ui-menu-item{min-height:44px}.ui-dialog-backdrop{align-items:flex-end;padding:0}.ui-dialog{border-bottom:none;border-radius:16px 16px 0 0;max-width:none;max-height:92vh}.conflict-compare-row{grid-template-columns:1fr}.settings-page{padding:20px 16px 60px}.settings-row{flex-direction:column;align-items:stretch}.page-title{font-size:21px}.app-notice{justify-content:space-between;max-width:none;left:12px;right:12px}.app-notice-pwa{bottom:calc(12px + env(safe-area-inset-bottom,0px))}.app-notice-outdated{bottom:calc(12px + env(safe-area-inset-bottom,0px) + var(--notice-pwa-space,0px));transform:none}.app-notice-telegram{bottom:calc(env(safe-area-inset-bottom,0px) + var(--notice-telegram-bottom,12px));transform:none}.app-notice-button{min-height:44px}.ui-dialog-backdrop{padding-bottom:var(--notice-reserve,0px)}.dialog-overlay{padding-bottom:calc(20px + var(--notice-reserve,0px))}}.projects-page{height:100%;padding:28px 32px 72px;overflow-y:auto}.projects-inner{max-width:1120px;margin:0 auto}.projects-page .page-head{align-items:center}.income-glance{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;gap:0;min-height:52px;margin:0;display:flex}.income-glance:empty{background:0 0;border-color:#0000}.income-glance-item{flex-direction:column;justify-content:center;gap:3px;min-width:128px;padding:8px 16px;display:flex}.income-glance-item+.income-glance-item{border-left:1px solid var(--border)}.income-glance dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px}.income-glance dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.money-total{white-space:nowrap}.money-sep{color:var(--text-disabled);font-weight:400}.income-glance-item.is-month dd{color:var(--success-text)}.projects-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.project-list{border:1px solid var(--border);background:var(--bg-elevated);--project-columns:minmax(200px, 2.1fr) minmax(130px, 1.2fr) minmax(130px, 1fr) minmax(120px, .9fr) 112px;border-radius:12px;margin:0;padding:0;list-style:none}.project-row{grid-template-columns:var(--project-columns);align-items:center;gap:20px;min-height:72px;padding:12px 16px 12px 22px;transition:background .12s;display:grid;position:relative}.project-row+.project-row{border-top:1px solid var(--border)}.project-list>.project-row:first-child{border-radius:12px 12px 0 0}.project-list>.project-row:last-child{border-radius:0 0 12px 12px}.project-list>.project-row:only-child{border-radius:12px}@media (hover:hover){.project-row:hover{background:var(--bg-hover)}}.project-row:before{content:"";background:var(--project-color,var(--accent));border-radius:2px;width:3px;position:absolute;top:16px;bottom:16px;left:9px}.project-row.status-paused:before,.project-row.status-done:before,.project-row.status-archived:before{opacity:.45}.project-row-main{flex-direction:column;gap:5px;min-width:0;display:flex}.project-row-title{align-items:center;gap:9px;min-width:0;display:flex}.project-row-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:14px;font-weight:600;overflow:hidden}@media (hover:hover){.project-row-link:hover{color:var(--text)}}.project-row-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.project-row-link:focus-visible{box-shadow:none}.project-row-link:focus-visible:after{box-shadow:inset 0 0 0 2px var(--accent), var(--focus-ring)}.project-row.status-active .project-row-title .status-pill{display:none}.project-row-stage{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px;overflow:hidden}.project-row-stage .stage-word{color:var(--text-faint);font-variant-numeric:tabular-nums}.project-row-stage.is-blocked{color:var(--danger-text)}.project-row-progress{align-items:center;gap:10px;min-width:0;display:flex}.project-row-count{min-width:30px;font-family:var(--font-mono);color:var(--text-faint);text-align:right;flex-shrink:0;font-size:11px}.project-row-deadline,.project-row-income{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.project-row-sub{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-faint);font-size:11.5px;overflow:hidden}.project-row-income .project-row-sub{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.project-row-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:600}.project-row-money.is-empty{color:var(--text-disabled);font-weight:400}:is(.project-row:has(.income-popover),.timeline-item:has(.ui-menu-list),.income-row:has(.ui-menu-list)){z-index:6}.income-row{position:relative}.project-row-actions{z-index:2;justify-content:flex-end;align-items:center;gap:4px;display:flex;position:relative}.tg-button{width:44px;height:44px;color:var(--text-faint)}@media (hover:hover){.tg-button:hover{color:#6fb6ff}}.tg-button-placeholder{flex-shrink:0;width:44px;height:44px}.project-list.is-loading .project-row{min-height:72px}.skeleton-row{pointer-events:none}.skeleton-row:before{background:var(--bg-hover)}.income-popover-wrap{position:relative}.income-add-button{height:32px}.income-popover{z-index:40;background:var(--bg-popover);border:1px solid var(--border-strong);width:320px;box-shadow:var(--shadow-popover);cursor:default;border-radius:12px;padding:14px;animation:.14s ease-out ui-rise;position:absolute;top:calc(100% + 8px);right:0}.income-popover-title{margin-bottom:12px;font-size:13px;font-weight:600}.income-popover-project{color:var(--text-muted);font-weight:500}.income-form{flex-direction:column;gap:10px;display:flex}.income-form-amount{gap:8px;display:flex}.income-form-amount .field-currency{flex-shrink:0;width:88px}.income-form-amount .input{font-variant-numeric:tabular-nums}.income-form-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.projects-section{margin-top:32px}.income-feed-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:16px;display:grid}.income-feed-list,.income-feed-add{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px}.income-feed-list>.muted-note{padding:18px}.income-feed-add{padding:14px 16px 16px}.income-feed-add-title{margin-bottom:12px;font-size:13px;font-weight:600}.income-entries{margin:0;padding:4px 0;list-style:none}.income-entry{grid-template-columns:64px minmax(90px,.9fr) minmax(90px,auto) minmax(0,1.4fr);align-items:baseline;gap:14px;padding:9px 16px;font-size:13px;display:grid}.income-entry+.income-entry{border-top:1px solid #2b2f3a99}.income-entry-date{font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;font-size:11.5px}.income-entry-project{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);overflow:hidden}@media (hover:hover){.income-entry-project:hover{color:var(--text)}}.income-entry-amount{color:var(--success-text);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:600}.income-entry-tag{border:1px solid var(--border-strong);color:var(--text-faint);white-space:nowrap;border-radius:5px;justify-self:end;padding:2px 6px;font-size:11px}.income-entry-note{text-overflow:ellipsis;white-space:nowrap;color:var(--text-body);overflow:hidden}.orphan-folders{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.orphan-folder{border:1px dashed var(--border-strong);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex}.orphan-folder-name{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);color:var(--text-muted);align-items:baseline;gap:8px;font-size:12.5px;line-height:1.45;display:flex}.orphan-folder .btn{flex-shrink:0}.orphan-folder-name .tree-icon-dir{color:var(--text-faint)}.project-page{height:100%;min-height:0;display:flex;position:relative}.project-main{overscroll-behavior:contain;flex:1;min-width:0;overflow-y:auto}.project-page.tab-notes .project-main{flex-direction:column;display:flex;overflow:hidden}.project-page-head{background:linear-gradient(180deg, color-mix(in srgb, var(--project-color,var(--accent)) 7%, transparent), transparent 140px);padding:18px 32px 0}.project-page.tab-notes .project-page-head{border-bottom:1px solid var(--border);background:var(--bg-elevated);padding-top:10px}.project-head,.project-tabs,.roadmap-tab,.income-tab{max-width:960px;margin-left:auto;margin-right:auto}.project-page.tab-notes .project-head,.project-page.tab-notes .project-tabs{max-width:none}.project-head{flex-direction:column;gap:8px;display:flex}.project-head-row{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.project-head-title{align-items:center;gap:10px;min-width:0;margin-right:auto;display:flex}.project-mark{background:var(--project-color,var(--accent));width:12px;height:12px;box-shadow:0 0 0 3px color-mix(in srgb, var(--project-color,var(--accent)) 22%, transparent);border-radius:4px;flex-shrink:0}.project-name{overflow-wrap:anywhere;letter-spacing:-.01em;min-width:0;margin:0;font-size:22px;font-weight:600;line-height:1.25}.project-head.is-compact .project-name{font-size:16px}.project-head.is-compact .back-link,.project-head.is-compact .project-head-meta{display:none}.project-head-actions{align-items:center;gap:6px;display:flex}.project-head-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:12.5px;display:flex}.meta-item{align-items:center;gap:7px;display:inline-flex}.meta-muted{color:var(--text-faint)}.meta-folder{font-family:var(--font-mono);color:var(--text-faint);font-size:12px}.project-description{max-width:760px;margin-top:4px;position:relative}.project-description .markdown-body{max-width:none;color:var(--text-body);margin:0;font-size:13.5px;line-height:1.6}.project-description .markdown-body>:first-child{margin-top:0}.project-description .markdown-body>:last-child{margin-bottom:0}.project-description.is-collapsed .markdown-body{max-height:96px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.description-toggle{margin-top:6px;font-size:12px}.project-tabs{border-bottom:1px solid var(--border);gap:4px;margin-top:16px;display:flex}.project-page.tab-notes .project-tabs{border-bottom:none;margin-top:8px}.project-tab{min-height:40px;color:var(--text-muted);align-items:center;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex;position:relative}@media (hover:hover){.project-tab:hover{color:var(--text)}}.project-tab.active{color:var(--text)}.project-tab.active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.project-page-body{padding:22px 32px 80px}.project-page.tab-notes .project-page-body{flex:1;min-height:0;padding:0;display:flex}.project-state{max-width:760px;margin:48px auto;padding:0 24px}.project-loading{flex-direction:column;gap:14px;display:flex}.roadmap-tab{--rail-x:11px;max-width:760px}.timeline-summary{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;flex-direction:column;gap:12px;margin-bottom:26px;padding:14px 16px 16px;display:flex}.timeline-summary-line{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;display:flex}.timeline-summary-line strong{color:var(--text);font-weight:600}.timeline-summary-count{font-variant-numeric:tabular-nums}.timeline-summary-sep{color:var(--text-disabled)}.timeline-summary-deadline{color:var(--text-faint);align-items:center;gap:8px;margin-left:auto;font-size:12px;display:inline-flex}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";left:var(--rail-x);background:linear-gradient(180deg, var(--border-strong), var(--border) 85%, transparent);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:14px;bottom:14px}.timeline-item{padding-left:38px;position:relative}.timeline-item+.timeline-item,.timeline-today+.timeline-item,.timeline-item+.timeline-today{margin-top:10px}.timeline-dot{left:var(--rail-x);z-index:1;background:var(--bg);border:2px solid var(--text-muted);width:14px;height:14px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;margin-left:-7px;display:flex;position:absolute;top:15px}.timeline-item.status-planned .timeline-dot{border-color:var(--text-muted)}.timeline-item.status-active .timeline-dot{border-color:var(--accent);background:var(--accent);width:16px;height:16px;margin-left:-8px;top:14px;box-shadow:0 0 0 4px #5b8cff2e,0 0 14px #5b8cff73}.timeline-item.status-done .timeline-dot{border-color:var(--success);background:var(--success);width:18px;height:18px;margin-left:-9px;top:13px}.timeline-item.status-blocked .timeline-dot{border-color:var(--danger);background:var(--danger-soft)}.timeline-item.status-blocked .timeline-dot:after{content:"";background:var(--danger);border-radius:1px;width:6px;height:2px}.stage-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;gap:7px;padding:11px 10px 12px 14px;transition:background .12s,border-color .12s;display:flex;position:relative}@media (hover:hover){.stage-card:hover{background:var(--bg-hover);border-color:var(--border-strong)}}.timeline-item.status-active .stage-card{background:linear-gradient(180deg, #5b8cff12, transparent 70%), var(--bg-elevated);border-color:#5b8cff61}.timeline-item.status-blocked .stage-card{border-color:var(--danger-border)}.timeline-item.status-done .stage-card{opacity:.66}.timeline-item.is-selected .stage-card{opacity:1}@media (hover:hover){.timeline-item.status-done .stage-card:hover{opacity:1}}.timeline-item.is-selected .stage-card{border-color:var(--accent);box-shadow:0 0 0 3px #5b8cff29}.stage-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:4px;padding-block:6px;display:grid}.stage-card-heading{align-items:center;gap:6px 8px;min-width:0;min-height:20px;display:flex}.stage-card-link{overflow-wrap:anywhere;min-width:0;color:var(--text);margin-right:auto;font-size:14px;font-weight:500;line-height:1.35}@media (hover:hover){.stage-card-link:hover{color:var(--text)}}.timeline-item.status-done .stage-card-link{color:var(--text-muted);-webkit-text-decoration:line-through #9aa1b166;text-decoration:line-through #9aa1b166}.stage-card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.stage-card-link:focus-visible{box-shadow:none}.stage-card-link:focus-visible:after{box-shadow:inset 0 0 0 2px var(--accent), var(--focus-ring)}.stage-card-head .ui-menu,.stage-card-head .deadline-badge,.stage-card-head .now-pill,.stage-card-head .status-pill{z-index:2;position:relative}.stage-card-head .ui-menu{margin-block:-6px}.stage-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:12px;display:flex}.stage-card-dates{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:11.5px}.stage-card-file{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:var(--font-mono);color:var(--accent-text);align-items:center;gap:5px;font-size:11.5px;display:inline-flex;overflow:hidden}.stage-card-file .glyph{color:var(--accent);font-size:9px}.stage-card-notes{text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);margin:0;font-size:12.5px;overflow:hidden}.timeline-today{height:22px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warn-text);align-items:center;gap:10px;padding-left:38px;font-size:10.5px;display:flex;position:relative}.timeline-today:before{content:"";left:var(--rail-x);background:var(--warn);width:10px;height:10px;box-shadow:0 0 0 3px var(--bg);border-radius:2px;margin:-5px 0 0 -5px;position:absolute;top:50%;transform:rotate(45deg)}.timeline-today:after{content:"";background:linear-gradient(90deg, var(--warn-border), transparent);flex:1;height:1px}.timeline-end{margin-top:12px;padding-left:38px;position:relative}.timeline-end:before{content:"";left:var(--rail-x);border:2px dashed var(--border-strong);background:var(--bg);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:13px}.timeline-end:after{content:"";left:var(--rail-x);border-left:2px dashed var(--border);height:39px;margin-left:-1px;position:absolute;top:-26px}.timeline-add-button{border:1px dashed var(--border-strong);min-height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}@media (hover:hover){.timeline-add-button:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}}.stage-add-form{border:1px solid var(--accent);background:var(--bg-elevated);box-shadow:var(--focus-ring);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.stage-add-form .input{flex:220px}.stage-add-form .field-hint{flex-basis:100%}.timeline-empty{margin-top:4px}.stage-panel{overscroll-behavior:contain;background:var(--bg-elevated);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:440px;min-height:0;animation:.16s ease-out panel-in;display:flex;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translate(12px)}}.stage-panel-backdrop{display:none}.stage-panel-head{z-index:5;background:var(--bg-elevated);border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:48px;padding:6px 8px 6px 18px;display:flex;position:sticky;top:0}.stage-panel-head .eyebrow{margin-right:auto}.stage-panel-back{display:none}.stage-panel-body{flex-direction:column;gap:22px;padding:16px 18px 28px;display:flex}.stage-panel-section{flex-direction:column;gap:10px;display:flex}.stage-panel-section-head{align-items:center;gap:10px;min-height:30px;display:flex}.stage-panel-section-head .eyebrow{margin-right:auto}.stage-title-button{width:100%;color:var(--text);text-align:left;overflow-wrap:anywhere;cursor:text;background:0 0;border:1px solid #0000;border-radius:8px;margin:0 0 0 -6px;padding:4px 6px;font-size:18px;font-weight:600;line-height:1.35;display:block}@media (hover:hover){.stage-title-button:hover{border-color:var(--border);background:var(--bg)}}.stage-title-heading{margin:0}.stage-title-input{height:40px;font-size:16px;font-weight:600}.stage-status-segment{width:100%;display:flex}.stage-status-segment button{flex:1;padding:0 6px}.stage-status-segment button.active.opt-planned{color:var(--text)}.stage-status-segment button.active.opt-active{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px #5b8cff59}.stage-status-segment button.active.opt-done{background:var(--success-soft);color:var(--success-text);box-shadow:inset 0 0 0 1px var(--success-border)}.stage-status-segment button.active.opt-blocked{background:var(--danger-soft);color:var(--danger-text);box-shadow:inset 0 0 0 1px var(--danger-border)}.stage-dates{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.stage-dates .field-label{align-items:center;gap:8px;min-height:20px;display:flex}.action-list{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin:0;padding:0;list-style:none}.action-list:empty{display:none}.action-item{align-items:flex-start;gap:4px;min-height:42px;padding:4px 4px 4px 2px;display:flex}.action-item+.action-item{border-top:1px solid #2b2f3ab3}.action-check{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin:0;display:flex;position:relative}.action-check input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.action-check-box{border:1.5px solid var(--border-strong);background:var(--bg-elevated);width:17px;height:17px;color:var(--on-accent);border-radius:5px;justify-content:center;align-items:center;transition:background .1s,border-color .1s;display:flex}@media (hover:hover){.action-check:hover .action-check-box{border-color:var(--text-muted)}}.action-check input:checked+.action-check-box{border-color:var(--success);background:var(--success)}.action-check input:focus-visible+.action-check-box{box-shadow:var(--focus-ring);border-color:var(--accent)}.action-check input:disabled{cursor:progress}.action-body{flex-direction:column;flex:1;gap:3px;min-width:0;padding:7px 0 6px;display:flex}.action-title{color:var(--text);text-align:left;overflow-wrap:anywhere;cursor:text;background:0 0;border:none;padding:0;font-size:13px;line-height:1.45}.action-item.is-done .action-title{color:var(--text-faint);-webkit-text-decoration:line-through #6b738399;text-decoration:line-through #6b738399}.action-meta{align-items:center;gap:8px;display:flex}.action-item .ui-menu{margin-top:1px}.action-edit{flex-direction:column;flex:1;gap:8px;padding:6px 6px 8px 4px;display:flex}.action-edit-row{gap:8px;display:flex}.action-edit-row .input[type=date]{flex-shrink:0;width:150px}.action-edit-buttons{justify-content:flex-end;gap:6px;display:flex}.action-add-form{flex-direction:column;gap:8px;display:flex}.action-add{gap:8px;display:flex}.action-add .input:first-child{flex:1}.action-add .input[type=date]{flex-shrink:0;width:140px}.stage-notes-view{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:12px 14px}.stage-notes-view .markdown-body{max-width:none;margin:0;font-size:13.5px;line-height:1.6}.stage-notes-view .markdown-body>:first-child{margin-top:0}.stage-notes-view .markdown-body>:last-child{margin-bottom:0}.stage-notes-empty{border:1px dashed var(--border-strong);width:100%;color:var(--text-faint);text-align:left;cursor:pointer;background:0 0;border-radius:10px;padding:16px;font-size:13px}@media (hover:hover){.stage-notes-empty:hover{border-color:var(--accent);color:var(--accent-text)}}.stage-notes-editor{border:1px solid var(--border-strong);border-radius:10px;height:300px;overflow:hidden}.stage-notes-editor:focus-within{border-color:var(--accent)}.stage-notes-footer{align-items:center;gap:8px;display:flex}.stage-notes-footer>:first-child{margin-right:auto}.stage-file-row{align-items:center;gap:8px;display:flex}.stage-file-row select{flex:1}.stage-panel-foot{border-top:1px solid var(--border);color:var(--text-faint);justify-content:space-between;align-items:center;gap:8px;padding-top:14px;font-size:11px;display:flex}.stage-panel-missing{padding:24px 18px}.income-tab{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.income-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px}.income-card+.income-card{margin-top:14px}.income-card-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:44px;padding:0 16px;display:flex}.income-card-head .section-title{margin-right:auto}.income-card-body{padding:14px 16px 16px}.income-totals{flex-direction:column;gap:4px;display:flex}.income-total-value{font-variant-numeric:tabular-nums;color:var(--success-text);font-size:20px;font-weight:600}.income-total-value.is-extra{color:var(--text-body);font-size:14px}.income-months{margin:0;padding:6px 0;list-style:none}.income-month{justify-content:space-between;align-items:baseline;gap:12px;padding:7px 16px;font-size:13px;display:flex}.income-month-name{color:var(--text-muted)}.income-month.is-current .income-month-name{color:var(--text)}.income-month-value{font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;align-items:flex-end;font-weight:600;display:flex}.income-month-notes{color:var(--text-faint);font-size:11px;font-weight:400}.income-rows{margin:0;padding:0;list-style:none}.income-row{grid-template-columns:78px minmax(96px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;min-height:48px;padding:6px 8px 6px 16px;font-size:13px;display:grid}.income-row+.income-row{border-top:1px solid #2b2f3ab3}.income-row.is-editing{background:var(--bg);padding:12px 16px;display:block}.income-row-date{font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;font-size:12px}.income-row-amount{color:var(--success-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.income-row-note{overflow-wrap:anywhere;min-width:0;color:var(--text-body)}.income-row-by{color:var(--text-faint);margin-left:6px;font-size:11px}.income-edit-grid{grid-template-columns:minmax(0,1fr) 88px 150px;gap:8px;display:grid}.income-edit-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.income-edit-grid+.field,.income-edit-grid+.field-hint{margin-top:8px}.income-empty{text-align:center;padding:26px 16px}.project-files{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.project-files .layout{flex:1;min-height:0}.project-files .content{min-width:0}.project-files .sidebar{padding-top:0}.notes-bar{background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:40px;padding:0 14px;display:flex}.notes-bar .current-path{min-width:0}.notes-bar .burger{display:none}.notes-toolbar{gap:6px;padding:10px 12px 0;display:flex}.notes-toolbar .btn{flex:1}.notes-empty{flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.notes-stash{padding:10px 16px 0}@media (width<=1023px){.stage-panel{z-index:90;border-left:1px solid var(--border-strong);width:min(460px,92vw);position:fixed;top:40px;bottom:0;right:0;box-shadow:-24px 0 60px #0000008c}.stage-panel-backdrop{z-index:89;background:#08090c99;animation:.14s ease-out ui-fade-in;display:block;position:fixed;inset:40px 0 0}.income-tab,.income-feed-grid{grid-template-columns:1fr}.project-row{grid-template-columns:minmax(0,2fr) minmax(112px,1fr) minmax(104px,1fr) auto;grid-template-areas:"main deadline income actions""progress deadline income actions";gap:8px 18px}.project-row-main{grid-area:main}.project-row-progress{grid-area:progress;max-width:340px}.project-row-deadline{grid-area:deadline}.project-row-income{grid-area:income}.project-row-actions{grid-area:actions}}@media (width<=767px){.projects-page{padding:18px 12px 72px}.projects-page .page-head{align-items:stretch}.income-glance{order:3;width:100%}.income-glance-item{flex:1;justify-content:flex-start;min-width:0;padding:9px 14px 10px}.income-glance dd{flex-direction:column;gap:1px;display:flex}.income-glance .money-sep{display:none}.page-head-cta{order:2}.projects-toolbar .segmented{width:100%}.projects-toolbar .segmented button{flex:1}.project-list{background:0 0;border:none;flex-direction:column;gap:10px;display:flex}.project-row,.project-list>.project-row:first-child,.project-list>.project-row:last-child{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;grid-template-columns:1fr 1fr;grid-template-areas:"main main""progress progress""deadline income""actions actions";gap:10px 14px;padding:14px 14px 0 20px}.project-row+.project-row{border-top:1px solid var(--border)}.project-row:before{height:38px;top:14px;bottom:auto;left:8px}.project-row-main{grid-area:main}.project-row-progress{grid-area:progress;max-width:none}.project-row-deadline{grid-area:deadline}.project-row-income{text-align:right;grid-area:income;align-items:flex-end}.project-row-actions{border-top:1px solid var(--border);grid-area:actions;justify-content:space-between;margin:0 -14px 0 -20px;padding:4px 8px}.tg-button-placeholder{display:none}.project-row-actions .income-popover-wrap{margin-left:auto}.income-add-button{height:44px}.income-popover{top:auto;left:0;right:0;bottom:var(--notice-reserve,0px);z-index:160;width:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-bottom:none;border-radius:16px 16px 0 0;position:fixed;box-shadow:0 -20px 60px #0009}.income-entry{grid-template-columns:auto 1fr auto;grid-template-areas:"date project amount""note note note";gap:0 10px;padding:0 14px}.income-entry-date{grid-area:date}.income-entry-project{grid-area:project;min-height:44px;line-height:44px;position:relative}.income-entry-amount,.income-entry-tag{grid-area:amount}.income-entry-note{white-space:normal;grid-area:note;margin-top:-10px;padding-bottom:10px}.income-entry-note:empty{display:none}.orphan-folders{grid-template-columns:1fr}.project-page-head{padding:12px 14px 0}.project-name{font-size:19px}.project-head-actions{width:100%}.project-head-actions>:first-child{flex:1}.project-head-actions>.ui-menu:first-child>button{width:100%}.project-tabs{margin-top:10px;overflow-x:auto}.description-toggle{width:fit-content;min-height:44px;margin-top:0;display:flex}.project-head:has(.description-toggle)+.project-tabs{margin-top:0}.project-tab{flex:1;justify-content:center;min-height:44px}.project-page-body{padding:16px 12px 72px}.timeline-summary-deadline{width:100%;margin-left:0}.timeline-item,.timeline-today,.timeline-end{padding-left:30px}.timeline-add-button{min-height:44px}.roadmap-tab{--rail-x:9px}.stage-card{padding:10px 6px 12px 12px}.stage-card-heading{flex-wrap:wrap}.stage-card-head .ui-menu{margin-block:-12px}.stage-panel{top:0;left:0;bottom:var(--notice-reserve,0px);z-index:140;width:100%;box-shadow:none;border-left:none;animation:.18s ease-out sheet-in}.stage-panel-backdrop{display:none}.stage-panel-back{display:inline-flex}.stage-panel-close{display:none}.stage-panel-body{padding:14px 14px calc(40px + env(safe-area-inset-bottom))}.stage-dates{grid-template-columns:1fr}.stage-title-button,.stage-notes-empty{min-height:44px}.action-check{width:44px;height:44px}.action-body{padding:0 0 6px}.action-title{align-items:center;min-height:44px;display:flex}.action-add,.action-edit-row{flex-wrap:wrap}.action-add .input[type=date],.action-edit-row .input[type=date]{width:100%}.stage-notes-editor{height:55vh}.income-row{grid-template-columns:auto 1fr auto;grid-template-areas:"date amount menu""note note menu";gap:2px 10px;padding:8px 4px 8px 14px}.income-row-date{grid-area:date}.income-row-amount{grid-area:amount}.income-row-note{grid-area:note}.income-row .ui-menu{grid-area:menu}.income-edit-grid{grid-template-columns:1fr 96px}.income-edit-grid .field-date{grid-column:1/-1}.project-page.tab-notes .project-page-head{padding:6px 12px 0}.notes-bar .burger{width:44px;height:44px;display:flex}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}.people-page{height:100%;padding:28px 32px 72px;overflow-y:auto}.people-inner{max-width:1120px;margin:0 auto}.people-page .page-head{align-items:center}.people-head-actions{flex-wrap:wrap;gap:8px;display:flex}.people-stale-note{color:var(--warn-text)}.people-upcoming{margin-bottom:22px}.people-upcoming-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.birthday-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.birthday-card.is-today{background:linear-gradient(180deg, #5b8cff1a, var(--bg-elevated) 70%);border-color:#5b8cff73}.birthday-card-link{min-width:0;min-height:40px;color:inherit;flex:1;align-items:center;gap:10px;text-decoration:none;display:flex}.birthday-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.birthday-card-name{overflow-wrap:anywhere;font-size:13px;font-weight:600}.birthday-card-when{color:var(--text-muted);font-size:12px}.birthday-card.is-today .birthday-card-when{color:var(--accent-text)}.birthday-card-done{color:var(--success-text);flex-shrink:0;align-items:center;gap:5px;font-size:12px;display:inline-flex}.people-toolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.people-search{flex:0 360px;align-items:center;min-width:0;display:flex;position:relative}.people-search svg{color:var(--text-faint);pointer-events:none;position:absolute;left:11px}.people-search .input{padding-left:32px}.people-nothing{padding:18px 2px}.people-table-wrap{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;overflow-x:auto}.people-table{border-collapse:collapse;width:100%;font-size:13px}.people-table th{border-bottom:1px solid var(--border);color:var(--text-faint);text-align:left;white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:500}.people-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.people-table tbody tr:last-child td{border-bottom:none}.people-row{cursor:pointer}@media (hover:hover){.people-row:hover{background:var(--bg-hover)}.people-name-link:hover{text-underline-offset:3px;text-decoration:underline}}.people-col-photo{width:52px}.people-avatar{object-fit:cover;background:var(--bg-hover);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.people-avatar-initials{color:var(--text-muted);font-size:12px;font-weight:600}.people-name-link{color:var(--text);font-weight:500;text-decoration:none}.people-cell-contact{max-width:220px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.people-birthday{white-space:nowrap;flex-direction:column;gap:2px;display:flex}.people-birthday.is-soon .people-birthday-when{color:var(--accent-text)}.people-birthday-age{color:var(--text-faint);font-size:11px}.people-last{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.people-last .is-warn{color:var(--warn-text)}.people-last .is-danger{color:var(--danger-text)}.people-stale-badge{border-radius:5px;align-items:center;height:18px;padding:0 6px;font-size:10.5px;font-weight:500;display:inline-flex}.people-stale-warn{background:var(--warn-soft);color:var(--warn-text)}.people-stale-danger{background:var(--danger-soft);color:var(--danger-text)}.people-empty-cell{color:var(--text-disabled)}.people-cell-description{max-width:280px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.person-card{flex-direction:column;gap:16px;max-width:920px;display:flex}.person-card-head{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.person-card-head .back-link{flex-basis:100%}.person-card-title{overflow-wrap:anywhere;flex:auto;min-width:0}.person-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.person-congratulated{color:var(--success-text);align-items:center;gap:6px;font-size:12px;display:inline-flex}.person-card-body{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:20px;display:grid}.person-fields{flex-direction:column;gap:14px;min-width:0;display:flex}.person-contact-date .input{max-width:200px}.person-description{min-height:140px}.person-interaction-note{min-height:96px}.person-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.person-missing{margin-top:16px}.birthday-input{border:none;margin:0;padding:0}.birthday-input legend{margin-bottom:6px;padding:0}.birthday-input-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.birthday-day{width:84px}.birthday-month{width:150px}.birthday-year{font-variant-numeric:tabular-nums;width:88px}.person-photo{flex-direction:column;gap:10px;display:flex}.person-photo-drop{aspect-ratio:1;border:1px dashed var(--border-strong);background:var(--bg-sunken);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:160px;display:flex;position:relative;overflow:hidden}.person-photo-drop.has-photo{border-style:solid}.person-photo-drop.is-dragging{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.person-photo-drop:focus-visible{border-color:var(--accent)}.person-photo-img{object-fit:cover;width:100%;height:100%}.person-photo-initials{color:var(--text-faint);font-size:44px;font-weight:600}.person-photo-overlay{color:var(--text-muted);background:linear-gradient(#0000,#08090cc7);justify-content:center;align-items:center;gap:6px;padding:8px;font-size:12px;display:flex;position:absolute;inset:auto 0 0}.person-photo-drop.is-dragging .person-photo-overlay{color:var(--accent-text);background:#08090cb3;inset:0}.person-photo-actions{flex-wrap:wrap;gap:6px;display:flex}.person-duplicates{border:1px solid var(--warn-border);background:var(--warn-soft);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.person-duplicates .section-title{color:var(--warn-text)}.person-duplicates-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.person-duplicate{background:var(--bg-elevated);border-radius:9px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name open""meta open";align-items:center;gap:2px 12px;padding:8px 10px;display:grid}.person-duplicate-name{grid-area:name;font-weight:600}.person-duplicate-meta{color:var(--text-muted);grid-area:meta;font-size:12px}.person-duplicate .btn{grid-area:open;text-decoration:none}.person-duplicates-actions{flex-wrap:wrap;gap:8px;display:flex}.import-drop{border:1px dashed var(--border-strong);background:var(--bg-sunken);width:100%;color:var(--text);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;display:flex}@media (hover:hover){.import-drop:hover:not(:disabled){border-color:var(--accent)}}.import-drop-title{font-size:14px;font-weight:600}.import-drop-note{max-width:420px;color:var(--text-muted);font-size:12px;line-height:1.5}.import-preview{flex-direction:column;gap:12px;display:flex}.import-counts{flex-wrap:wrap;gap:6px;margin:0;display:flex}.import-badge{white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;height:20px;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex}.import-create{background:var(--success-soft);color:var(--success-text)}.import-update{background:var(--accent-soft);color:var(--accent-text)}.import-conflict{background:var(--warn-soft);color:var(--warn-text)}.import-skip{color:var(--text-muted);background:#9aa1b11f}.import-table-wrap{border:1px solid var(--border);border-radius:10px;max-height:48vh;overflow:auto}.import-table{border-collapse:collapse;width:100%;font-size:12.5px}.import-table th{background:var(--bg-popover);color:var(--text-faint);text-align:left;padding:8px 10px;font-size:11px;font-weight:500;position:sticky;top:0}.import-table td{border-top:1px solid var(--border);vertical-align:top;padding:8px 10px}.import-cell-index{width:36px;color:var(--text-faint);font-variant-numeric:tabular-nums}.import-person-name,.import-person-meta,.import-warnings{display:block}.import-person-name{font-weight:500}.import-person-meta,.import-note{color:var(--text-muted);font-size:11.5px}.import-note.is-error{color:var(--danger-text,var(--danger))}.import-warnings{color:var(--warn-text);font-size:11.5px}.import-cell-action{width:46%}.import-cell-action .import-badge{margin-right:6px}.import-choice{margin-top:6px}.import-summary-line{margin:0 0 6px;font-size:14px}.import-error{margin-top:12px}@media (width<=767px){.people-page{padding:18px 14px 72px}.people-head-actions{width:100%}.people-head-actions .btn{flex:1 1 0}.people-upcoming-list{grid-template-columns:1fr}.birthday-card-link{min-height:44px}.people-search{flex:auto}.people-table-wrap{background:0 0;border:none;overflow:visible}.people-table,.people-table tbody{display:block}.people-table thead{display:none}.people-table tr.people-row{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"photo name last""photo contact contact""photo birthday birthday""photo desc desc";align-items:center;gap:2px 12px;margin-bottom:8px;padding:10px 12px;display:grid}.people-table td{border:none;padding:0;display:block}.people-table td.people-col-photo{grid-area:photo;align-self:start;width:auto}.people-cell-name{grid-area:name}.people-name-link{align-items:center;min-height:44px;display:inline-flex}.people-cell-contact{grid-area:contact;max-width:none;font-size:12px}.people-cell-birthday{grid-area:birthday;font-size:12px}.people-birthday{flex-direction:row;gap:6px}.people-cell-last{grid-area:last;font-size:11px}.people-cell-description{grid-area:desc;max-width:none;font-size:12px}.people-cell-description:empty,.people-cell-contact:empty{display:none}.person-card-body{grid-template-columns:1fr;padding:14px}.person-photo-drop{max-width:220px}.person-card-actions{width:100%}.person-card-actions .btn{flex:auto}.person-congratulated{min-height:44px}.birthday-day,.birthday-year{width:88px}.birthday-month{flex:140px;width:auto}.person-contact-date .input{max-width:none}.person-duplicate{grid-template-columns:1fr;grid-template-areas:"name""meta""open"}.import-drop{min-height:44px}.import-table thead{display:none}.import-table,.import-table tbody,.import-table tr,.import-table td{width:auto;display:block}.import-table tr{border-top:1px solid var(--border);padding:10px 12px}.import-table tr:first-child{border-top:none}.import-table td{border:none;padding:2px 0}.import-cell-index{display:none!important}.import-table-wrap{max-height:none}}.settings-page{padding:24px 32px 60px}.settings-layout{grid-template-columns:232px minmax(0,1fr);gap:28px;max-width:1080px;margin:0 auto;display:grid}.settings-aside{align-self:start;position:sticky;top:0}.settings-title{margin:4px 0 14px}.settings-tabs{flex-direction:column;gap:2px;display:flex}.settings-tab{min-height:38px;color:var(--text-muted);border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;font-weight:500;text-decoration:none;display:flex}@media (hover:hover){.settings-tab:hover{background:var(--bg-hover);color:var(--text)}}.settings-tab.active{background:var(--accent-soft);color:var(--accent-text)}.settings-tab-icon{flex-shrink:0}.settings-tab-text{flex-direction:column;flex:1;min-width:0;display:flex}.settings-tab-hint,.settings-tab-chevron,.settings-back{display:none}.settings-content{min-width:0}.settings-section-title{margin:8px 0 16px;font-size:18px;font-weight:600}.settings-stack{flex-direction:column;gap:16px;display:flex}.settings-card-title{align-items:center;gap:8px;display:flex}.settings-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 10px 18px;display:flex}.settings-card-head .settings-card-title{border-bottom:none;padding:0}.settings-card-body{flex-direction:column;gap:12px;padding:14px 18px;display:flex}.settings-card-body+.settings-card-body,.settings-row+.settings-card-body{border-top:1px solid var(--border)}.settings-row-control{flex-shrink:0}.settings-row-block{flex-direction:column;align-items:stretch;gap:10px}.settings-time{width:120px}.settings-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.settings-footnote{color:var(--text-faint);align-items:baseline;gap:6px;margin:0;font-size:12px;line-height:1.5;display:flex}.settings-empty{text-align:left;background:0 0;border:none;align-items:flex-start;margin:0}.settings-empty .empty-block-text p{margin:0 0 8px}.timezone-picker{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;display:grid}.switch{border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;border-radius:999px;width:40px;height:24px;padding:0;position:relative}.switch-knob{background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent-soft);border-color:#5b8cff80}.switch.on .switch-knob{background:var(--accent);transform:translate(16px)}.day-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--bg);min-height:30px;color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;padding:0 11px;font-size:12px;display:inline-flex}@media (hover:hover){.chip:hover{color:var(--text);border-color:var(--border-strong)}}.chip.active{background:var(--accent-soft);color:var(--accent-text);border-color:#5b8cff73}.day-chips-add{align-items:center;gap:4px;display:inline-flex}.day-chips-add .input{width:64px}.day-chips-off{align-items:center;gap:4px;display:inline-flex}.telegram-facts{flex-wrap:wrap;gap:8px 28px;margin:0;display:flex}.telegram-facts dt{color:var(--text-faint);font-size:12px}.telegram-facts dd{margin:2px 0 0;font-size:14px}.bridge-forbidden-chats{margin:6px 0;padding-left:18px}.bridge-forbidden-chats code{overflow-wrap:anywhere}.telegram-queue dd{font-variant-numeric:tabular-nums}.bridge-online{background:var(--success-soft);color:var(--success-text)}.bridge-offline,.route-broken{background:var(--warn-soft);color:var(--warn-text)}.telegram-route-form{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.telegram-test{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.telegram-test .input{width:auto;min-width:180px}.telegram-error-text{color:var(--text);overflow-wrap:anywhere;font-size:13px}.form-error{color:var(--danger-text);margin:0}.google-connected{background:var(--success-soft);color:var(--success-text)}.google-disconnected{background:var(--bg-hover);color:var(--text-muted)}.google-broken{background:var(--danger-soft);color:var(--danger-text)}.google-facts dd{overflow-wrap:anywhere}.google-calendar-link{color:var(--accent-text);align-items:center;gap:4px;display:inline-flex}.google-redirect{flex-direction:column;gap:6px;min-width:0;display:flex}.google-redirect-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.google-redirect-uri{background:var(--bg);overflow-wrap:anywhere;border-radius:6px;min-width:0;padding:6px 8px;font-size:13px}.google-client-form{flex-direction:column;gap:12px;min-width:0;margin-top:12px;display:flex}.google-client-id{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:12px}.client-list,.request-list,.journal-list{margin:0;padding:0;list-style:none}.client-row,.request-row{align-items:center;gap:14px;padding:12px 18px;display:flex}.client-row+.client-row,.request-row+.request-row{border-top:1px solid var(--border)}.client-main,.request-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.client-name{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.client-meta,.request-meta{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.client-prefix{font-family:var(--font-mono);color:var(--text-muted);font-size:11.5px}.client-row.is-revoked .client-name{color:var(--text-muted)}.client-revoked{background:var(--danger-soft);color:var(--danger-text)}.client-actions,.request-actions{flex-shrink:0;gap:6px;display:flex}.preset-options{border:none;gap:8px;margin:0;padding:0}.preset-option{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.preset-option.selected{background:var(--accent-soft);border-color:#5b8cff73}.preset-option input{accent-color:var(--accent);margin-top:3px}.preset-text{flex-direction:column;gap:2px;display:flex}.preset-label{font-size:13px;font-weight:500}.preset-description{color:var(--text-muted);font-size:12px;line-height:1.45}.token-warning{align-items:center;gap:8px;display:flex}.token-box{gap:8px;display:flex}.token-value{flex:1;min-width:0;font-size:12.5px}.reauth-note{align-items:baseline;gap:6px;margin:0;display:flex}.request-summary{overflow-wrap:anywhere;font-size:14px;line-height:1.4}.request-error{color:var(--danger-text);font-size:12px}.request-status{height:18px}.request-executed{background:var(--success-soft);color:var(--success-text)}.request-failed{background:var(--danger-soft);color:var(--danger-text)}.request-cancelled,.request-expired{color:var(--text-muted);background:#9aa1b11f}.journal-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.journal-select{width:auto;min-width:160px}.journal-entry{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;display:flex}.journal-entry-head{align-items:flex-start;gap:10px;display:flex}.journal-actor{text-align:center;min-width:64px;color:var(--text-muted);background:#9aa1b11f;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:500}.journal-actor-agent{background:var(--accent-soft);color:var(--accent-text)}.journal-actor-telegram{background:var(--success-soft);color:var(--success-text)}.journal-actor-system{background:var(--warn-soft);color:var(--warn-text)}.journal-entry-text{flex-direction:column;gap:2px;min-width:0;display:flex}.journal-description{overflow-wrap:anywhere;font-size:13.5px;line-height:1.45}.journal-meta{color:var(--text-faint);font-size:12px}.journal-entry-actions{flex-wrap:wrap;gap:6px;padding-left:74px;display:flex}.journal-entry-actions:empty{display:none}.journal-error{margin-left:74px}.journal-diff-wrap{border:1px solid var(--border);border-radius:8px;margin-left:74px;overflow-x:auto}.journal-diff{border-collapse:collapse;width:100%;font-size:12.5px}.journal-diff th,.journal-diff td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:6px 10px}.journal-diff thead th{color:var(--text-faint);font-weight:500}.journal-diff tbody tr:last-child th,.journal-diff tbody tr:last-child td{border-bottom:none}.journal-diff tbody th{white-space:nowrap;color:var(--text-muted);font-weight:500}.journal-diff-value{white-space:pre-wrap;overflow-wrap:anywhere;max-width:360px}.journal-diff-empty{margin:0 0 0 74px}.journal-more{justify-content:center;padding:8px 0;display:flex}.requests-badge{border:1px solid var(--warn-border);background:var(--warn-soft);height:28px;color:var(--warn-text);border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 10px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.requests-badge+.main-nav-settings{margin-left:4px}.requests-badge-count{background:var(--warn);min-width:18px;color:var(--on-accent);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}@media (hover:hover){.requests-badge:hover{color:var(--text)}}@media (width<=767px){.settings-page{padding:12px 16px 60px}.settings-layout{grid-template-columns:minmax(0,1fr);gap:0}.settings-aside{position:static}.settings-page:not(.has-section) .settings-content,.settings-page.has-section .settings-aside{display:none}.settings-tabs{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;gap:0;overflow:hidden}.settings-tab{min-height:60px;color:var(--text);border-radius:0;padding:10px 14px;font-size:15px}.settings-tab+.settings-tab{border-top:1px solid var(--border)}.settings-tab.active{color:var(--text);background:0 0}.settings-tab-hint{color:var(--text-faint);font-size:12px;font-weight:400;display:block}.settings-tab-chevron{color:var(--text-faint);display:block}.settings-back{display:inline-flex}.settings-section-title{font-size:20px}.settings-row-control .input,.settings-time{width:100%}.timezone-picker{grid-template-columns:minmax(0,1fr)}.settings-actions .btn{flex:auto}.switch{width:52px;height:32px}.switch:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.switch-knob{width:24px;height:24px;top:3px;left:3px}.switch.on .switch-knob{transform:translate(20px)}.chip{min-height:44px;padding:0 14px;font-size:14px}.day-chips-add .input{width:80px}.client-row,.request-row{flex-direction:column;align-items:stretch;padding:12px 14px}.client-actions .btn,.request-actions .btn{flex:1 1 0}.telegram-test{flex-direction:column;align-items:stretch}.telegram-test .input{width:100%}.token-box{flex-direction:column}.journal-filters{flex-direction:column;align-items:stretch}.journal-actor-filter{display:flex}.journal-actor-filter button{flex:1 1 0;padding:0 6px}.journal-select{width:100%}.journal-entry-actions,.journal-error,.journal-diff-wrap,.journal-diff-empty{margin-left:0;padding-left:0}.journal-entry-actions .btn{flex:auto}.requests-badge{border-radius:10px;justify-content:center;min-width:44px;height:44px;padding:0 8px}.requests-badge-text{display:none}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@scope(.reminders-root){@layer theme{:scope,:scope{--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-400:oklch(82.8% .189 84.429);--color-blue-400:oklch(70.7% .165 254.624);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"IBM Plex Sans", system-ui, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:scope{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--accent) 50%, transparent)}}body{font-family:IBM Plex Sans,system-ui,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.my-1{margin-block:var(--spacing)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-28{height:calc(var(--spacing) * 28)}.h-full{height:100%}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-28{width:calc(var(--spacing) * 28)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-amber-200{border-color:#e0a75852}.border-amber-300{border-color:#e0a75873}.border-border,.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-emerald-200{border-color:#46c88a4d}.border-emerald-500{border-color:#46c88a}.border-green-200{border-color:#46c88a4d}.border-green-300{border-color:#46c88a73}.border-primary\/20{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--accent) 20%, transparent)}}.border-primary\/30{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.border-red-200{border-color:#ff6b6b52}.border-red-300{border-color:#ff6b6b73}.border-sidebar-border{border-color:var(--border)}.border-t-primary{border-top-color:var(--accent)}.border-l-amber-400{border-left-color:var(--color-amber-400)}.border-l-blue-400{border-left-color:var(--color-blue-400)}.border-l-emerald-400{border-left-color:#7fdcae}.bg-amber-50{background-color:#e0a75824}.bg-amber-100{background-color:#e0a75833}.bg-amber-500{background-color:#e0a758}.bg-amber-500\/15{background-color:oklab(76.6365% .0334963 .112467/.15)}.bg-background{background-color:var(--bg)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-card,.bg-card\/80{background-color:var(--bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-card\/80{background-color:color-mix(in oklab, var(--bg-elevated) 80%, transparent)}}.bg-destructive{background-color:var(--danger)}.bg-emerald-50{background-color:#46c88a24}.bg-emerald-100{background-color:#46c88a33}.bg-emerald-500{background-color:#46c88a}.bg-emerald-500\/15{background-color:oklab(74.5835% -.13568 .0527833/.15)}.bg-green-50{background-color:#46c88a24}.bg-green-100{background-color:#46c88a33}.bg-green-500{background-color:#46c88a}.bg-muted,.bg-muted\/40{background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--bg-hover) 40%, transparent)}}.bg-muted\/50{background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--bg-hover) 50%, transparent)}}.bg-muted\/60{background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/60{background-color:color-mix(in oklab, var(--bg-hover) 60%, transparent)}}.bg-orange-50{background-color:#e0a75824}.bg-primary,.bg-primary\/15{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/15{background-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.bg-red-50{background-color:#ff6b6b24}.bg-red-100{background-color:#ff6b6b33}.bg-red-500{background-color:#ff6b6b}.bg-red-500\/15{background-color:oklab(71.1607% .167013 .0703394/.15)}.bg-secondary{background-color:var(--bg-hover)}.bg-sidebar{background-color:var(--bg-elevated)}.bg-transparent{background-color:#0000}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary{--tw-gradient-from:var(--accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary\/70{--tw-gradient-to:var(--accent)}@supports (color:color-mix(in lab, red, red)){.to-primary\/70{--tw-gradient-to:color-mix(in oklab, var(--accent) 70%, transparent)}}.to-primary\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-break-spaces{white-space:break-spaces}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:#e0a758}.text-amber-600,.text-amber-700{color:#e0b878}.text-blue-700{color:#9dbaff}.text-destructive{color:var(--danger)}.text-emerald-400,.text-emerald-600,.text-emerald-700{color:#7fdcae}.text-foreground,.text-foreground\/80{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab, var(--text) 80%, transparent)}}.text-green-700{color:#7fdcae}.text-muted-foreground,.text-muted-foreground\/40{color:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab, var(--text-muted) 40%, transparent)}}.text-muted-foreground\/70{color:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab, var(--text-muted) 70%, transparent)}}.text-orange-600{color:#e0b878}.text-primary{color:var(--accent)}.text-primary-foreground{color:#0e1015}.text-red-400,.text-red-600,.text-red-700{color:#ff9d9d}.text-secondary-foreground,.text-sidebar-foreground{color:var(--text)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:bg-muted\/20:is(:where(.group):hover *){background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-muted\/20:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--bg-hover) 20%, transparent)}}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--accent)}}.placeholder\:text-muted-foreground::placeholder{color:var(--text-muted)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-amber-500:hover{border-color:#e0a758}.hover\:border-green-500:hover{border-color:#46c88a}.hover\:border-primary\/30:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.hover\:border-red-500:hover{border-color:#ff6b6b}.hover\:bg-accent:hover{background-color:var(--bg-hover)}.hover\:bg-amber-100:hover{background-color:#e0a75833}.hover\:bg-destructive\/90:hover{background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--danger) 90%, transparent)}}.hover\:bg-emerald-100:hover{background-color:#46c88a33}.hover\:bg-muted:hover,.hover\:bg-muted\/20:hover{background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab, var(--bg-hover) 20%, transparent)}}.hover\:bg-primary\/15:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/15:hover{background-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.hover\:bg-primary\/20:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab, var(--accent) 20%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--accent) 90%, transparent)}}.hover\:bg-red-50:hover{background-color:#ff6b6b24}.hover\:bg-red-100:hover{background-color:#ff6b6b33}.hover\:bg-secondary\/80:hover{background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--bg-hover) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--bg-hover)}.hover\:text-primary:hover{color:var(--accent)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-primary\/40:hover{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:ring-primary\/40:hover{--tw-ring-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.hover\:ring-offset-1:hover{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}}.focus\:border-primary\/50:focus{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-primary\/30:focus{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-primary\/30:focus{--tw-ring-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--accent)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--danger) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--danger)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 20%, transparent)}}@media (width>=40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-auto{width:auto}.sm\:max-w-md{max-width:var(--container-md)}.sm\:min-w-\[200px\]{min-width:200px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}:where(.sm\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:pr-8{padding-right:calc(var(--spacing) * 8)}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media (width>=48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:inline{display:inline}}@media (width>=64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--border)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--danger) 60%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--bg-hover) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--border) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--danger) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}:scope{--radius:.5rem}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
