.node-row[data-editor=plain] .editor-input{display:inline;width:auto;min-height:0;outline:none}.node-row[data-editor=plain] .editor-input p{display:inline;margin:0}.node-row[data-editor=plain]:has(.inline-image){padding-top:4px;padding-bottom:4px;align-items:center}.node-row[data-editor=plain] .editor-input>br:last-child:not(:only-child){display:none}.node-row[data-editor=plain] .node-inline-meta{display:inline;margin-left:0;vertical-align:baseline;white-space:nowrap}.node-row[data-editor=plain] .tag-badge{display:inline-block;vertical-align:baseline;margin-left:4px}.node-row[data-editor=plain] .node-inline-meta>:first-child{margin-left:2px}.node-row[data-editor=plain] .edit-avatars{display:inline-flex;vertical-align:baseline;transform:translateY(-3px)}.node-row[data-editor=plain] .node-badges{transform:translateY(-2px)}.node-row[data-editor=plain] .node-badges{display:inline;margin-left:4px;vertical-align:baseline}.node-row[data-editor=plain] .node-badge{display:inline-block;vertical-align:baseline;margin-left:4px}.node-row[data-editor=plain] .node-guide-line{background:#0000002e}.node-row[data-editor=plain] .node-guide-line.guide-clamped{top:0;bottom:12px;height:auto}.node-row.storage-row .bullet{background:transparent!important;border-radius:0;position:relative;width:16px;height:16px;margin-top:1px}.node-row.storage-row .bullet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;background-position:center;background-size:16px 16px}.node-row[data-kind=mount] .bullet:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236fc0c7' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M18 10a5 5 0 0 0-9.58-1.5A4 4 0 0 0 6 16h12a3.5 3.5 0 0 0 0-6z'/></svg>")}.node-row[data-kind=folder] .bullet:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d1a96b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/></svg>")}.node-row[data-kind=file] .bullet:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa5b1' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/><polyline points='14 3 14 9 20 9'/></svg>")}.node-row.storage-row .editor-input{caret-color:transparent;cursor:default}.yaml-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:600;display:flex;justify-content:center;align-items:center}.yaml-modal{background:#282c34;border:1px solid #404040;border-radius:10px;width:680px;max-width:calc(100vw - 48px);box-shadow:0 20px 60px #000000b3;overflow:hidden;display:flex;flex-direction:column}.yaml-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #3a3f4b;background:#21252b}.yaml-modal-title{font-size:12px;font-weight:600;color:#abb2bf;letter-spacing:.04em;text-transform:uppercase}.yaml-modal-actions{display:flex;gap:6px;align-items:center}.yaml-modal-btn{background:#3a3f4b;border:1px solid #4a505c;border-radius:5px;color:#abb2bf;font-size:12px;padding:3px 10px;cursor:pointer;transition:background .1s}.yaml-modal-btn:hover:not(:disabled){background:#4a505c;color:#e5e9f0}.yaml-modal-btn:disabled{opacity:.4;cursor:default}.yaml-modal-close{padding:3px 8px;font-size:13px}.yaml-modal-body{overflow:hidden}.yaml-modal-loading,.yaml-modal-error{padding:24px;text-align:center;font-size:13px;color:#636d83}.yaml-modal-error{color:#e06c75}.yaml-modal-editor .cm-editor{outline:none}.dataset-preview{margin:12px 0 20px;width:100%;border:1px solid #e4e4e8;border-radius:6px;background:#fff;font-size:13px;color:#2c2c2c;overflow:hidden}.dataset-preview--error{padding:10px 14px;color:#c04040;font-size:13px}.dataset-preview__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #ededf0;color:#888;font-size:12px}.dataset-preview__count{font-variant-numeric:tabular-nums}.dataset-preview__pager{display:inline-flex;gap:4px}.dataset-preview__pager button{background:#fff;color:#555;border:1px solid #d8d8dc;border-radius:4px;padding:3px 10px;font-size:12px;cursor:pointer;font-family:inherit}.dataset-preview__pager button:hover:not(:disabled){background:#f4f4f6;color:#2c2c2c}.dataset-preview__pager button:disabled{opacity:.4;cursor:default}.dataset-preview__scroll{max-height:520px;overflow:auto}.dataset-preview__table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.dataset-preview__table thead th{position:sticky;top:0;background:#fafafb;padding:8px 14px;text-align:left;font-weight:600;white-space:nowrap;border-bottom:1px solid #e4e4e8;color:#2c2c2c;z-index:1}.dataset-preview__th--dim{color:#666}.dataset-preview__th--var{color:#2c2c2c}.dataset-preview__col-name{font-weight:600}.dataset-preview__col-unit{color:#9a9a9e;font-weight:400;font-size:11px;margin-left:2px}.dataset-preview__col-unit-link{cursor:pointer;color:#61afef;text-decoration:none}.dataset-preview__col-unit-link:hover{text-decoration:underline}.dataset-preview__table tbody td{padding:5px 14px;white-space:nowrap;border-bottom:1px solid #f2f2f4}.dataset-preview__td--dim{color:#555}.dataset-preview__td--var{text-align:right;color:#2c2c2c}.dataset-preview__table tbody tr:last-child td{border-bottom:none}.dataset-preview__table tbody tr:hover td{background:#fafafb}.dataset-preview__empty{padding:16px;text-align:center;color:#9a9a9e}.docs-view{padding-bottom:80px;color:#333;font-size:14px;line-height:1.55}.docs-view-loading,.docs-view-error{margin:40px 0;color:#888}.docs-view-error{color:#c04040}.docs-view-tree{position:relative}.docs-view-tree .node-row[data-editor=plain] .node-badges{display:none}.docs-breadcrumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:12px;font-size:13px;color:#888}.docs-breadcrumb-back{border:none;background:transparent;padding:4px 6px;margin-right:4px;cursor:pointer;color:#888;display:flex;align-items:center;border-radius:4px}.docs-breadcrumb-back:hover{background:#f0f0f3;color:#333}.docs-breadcrumb-link{border:none;background:transparent;padding:2px 4px;cursor:pointer;color:#569cd6;font-size:inherit}.docs-breadcrumb-link:hover{text-decoration:underline}.docs-breadcrumb-sep{color:#ccc}.docs-breadcrumb-current{color:#444;font-weight:500;padding:2px 4px}.docs-view-fields{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px;padding:10px 14px;background:#f8f8fb;border:1px solid #ececec;border-radius:6px}.docs-view-field{display:inline-flex;align-items:baseline;gap:6px;font-size:13px}.docs-view-field-key{color:#999;text-transform:lowercase;font-size:12px;letter-spacing:.2px}.docs-view-field-value{color:#333;font-weight:500}.docs-backrefs{margin-top:48px;padding-top:20px;border-top:1px solid #ececec}.docs-backrefs-header{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#999;margin-bottom:10px;font-weight:500}.docs-backrefs-list{display:flex;flex-direction:column;gap:4px}.docs-backref{display:flex;align-items:flex-start;gap:10px;padding:6px 8px;border:none;background:transparent;cursor:pointer;text-align:left;border-radius:4px;color:#444;font-size:13px;line-height:1.4}.docs-backref:hover{background:#f5f5f7}.docs-backref-bullet{width:5px;height:5px;border-radius:50%;background:#aaa;margin-top:7px;flex-shrink:0}.docs-backref-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:#fff;color:#2c2c2c;line-height:1.4;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{max-width:720px;margin:0 auto;padding:32px 24px}.app:has(.debug-page){max-width:960px}.app:has(.capture-page){max-width:100%;padding:0;height:100dvh;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0}.loading,.empty-state{color:#999;padding:40px 0;text-align:center}.empty-state button{margin-top:12px;padding:6px 14px;background:#f0f0f0;border:1px solid #d0d0d0;color:#2c2c2c;border-radius:4px;cursor:pointer;font-size:13px}.empty-state button:hover{background:#e0e0e0}.debug-page{color:#333;font-size:14px;padding-bottom:80px}.debug-title{font-size:24px;font-weight:600;margin:0 0 4px;color:#1a1a1a}.debug-intro{color:#888;margin:0 0 32px}.debug-section{margin-bottom:40px}.debug-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#888;margin:0 0 16px;padding-bottom:6px;border-bottom:1px solid #ececec}.debug-variant{margin-bottom:20px}.debug-variant-label{font-size:11px;color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.debug-variant-content{padding:20px 24px;border:1px dashed #e0e0e0;border-radius:6px;background:#fafafa}.debug-note{font-size:13px;color:#999;font-style:italic;margin:6px 0 0}.view-switcher{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.view-tabs{display:flex;gap:2px}.view-tabs button{padding:3px 10px;background:transparent;border:1px solid transparent;color:#999;border-radius:4px;cursor:pointer;font-size:13px;line-height:1.3;transition:all .1s ease}.view-tabs button:hover{color:#aaa}.view-tabs button.active{background:#f0f0f0;border-color:#d0d0d0;color:#2c2c2c}.nav-right{display:flex;align-items:center;gap:4px}.search-trigger{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;border-radius:6px}.search-trigger:hover{color:#aaa;background:#0000000a}.capture-link{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:300;color:#999;text-decoration:none;border-radius:6px}.capture-link:hover{color:#aaa;background:#0000000a}.ws-switcher{position:relative}.ws-trigger{display:flex;align-items:center;gap:4px;padding:4px 10px;background:none;border:1px solid transparent;color:#888;font-size:12px;border-radius:4px;cursor:pointer}.ws-trigger:hover{background:#0000000a;color:#666}.ws-dropdown{position:absolute;right:0;top:100%;margin-top:4px;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:6px;padding:4px;min-width:160px;box-shadow:0 4px 20px #00000026;z-index:100}.ws-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;background:none;border:none;color:#333;font-size:13px;text-align:left;border-radius:4px;cursor:pointer}.ws-option:hover{background:#569cd6;color:#fff}.ws-option.active{font-weight:600}.ws-option-row{display:flex;align-items:center;border-radius:4px}.ws-option-row:hover{background:#569cd6}.ws-option-row:hover .ws-option-main{color:#fff}.ws-option-row:hover .ws-role,.ws-option-row:hover .ws-option-settings{color:#ffffffb3}.ws-option-row.active .ws-option-main{font-weight:600}.ws-option-main{flex:1;display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:none;border:none;color:#333;font-size:13px;text-align:left;cursor:pointer}.ws-option-settings{padding:4px 8px;background:none;border:none;color:#999;font-size:14px;font-weight:700;cursor:pointer;border-radius:4px;letter-spacing:1px;line-height:1}.ws-role{font-size:11px;color:#999}.ws-option.ws-new{color:#569cd6}.ws-divider{height:1px;background:#ddd;margin:4px 0}.ws-create-form input{width:100%;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff;outline:none}.ws-create-form input:focus{border-color:#569cd6}.ws-settings{max-width:560px}.ws-settings-header{display:flex;align-items:center;gap:8px;margin-bottom:24px}.ws-settings-header h2{font-size:18px;font-weight:600;margin:0;color:#2c2c2c}.ws-settings-back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;border-radius:6px}.ws-settings-back:hover{background:#0000000a;color:#666}.ws-settings-section{margin-bottom:24px}.ws-settings-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:8px}.ws-settings-name-row{display:flex;align-items:center;gap:8px}.ws-settings-name-row input{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:240px;background:#fff}.ws-settings-name-row input:focus{border-color:#569cd6;outline:none}.ws-settings-saving{font-size:12px;color:#999}.ws-settings-value{font-size:14px;color:#333}.ws-settings-members{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ws-member-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0}.ws-member-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;background:#f0f0f0;border-radius:16px;flex-shrink:0}.ws-member-avatar{width:22px;height:22px;border-radius:50%;background:#ddd;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#888}.ws-member-avatar img{width:100%;height:100%;object-fit:cover}.ws-member-name{font-size:13px;color:#333;font-weight:500;white-space:nowrap}.ws-member-email{font-size:12px;color:#999;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-member-role-select{padding:3px 6px;border:1px solid #ddd;border-radius:4px;font-size:12px;background:#fff;color:#555}.ws-member-role{font-size:12px;color:#999}.ws-member-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ccc;cursor:pointer;border-radius:4px}.ws-member-remove:hover{color:#c44;background:#0000000a}.ws-add-member{display:flex;gap:4px;align-items:center}.ws-add-member input{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff}.ws-add-member input:focus{border-color:#569cd6;outline:none}.ws-add-btn{padding:6px 12px;border:none;border-radius:4px;background:#569cd6;color:#fff;font-size:12px;cursor:pointer}.ws-add-btn:hover{background:#4a8bc2}.ws-settings-error{color:#c44;font-size:12px;margin-top:6px}.user-avatar-edit{display:inline-block}.user-avatar-preview{width:64px;height:64px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden}.user-avatar-preview img{width:100%;height:100%;object-fit:cover}.user-avatar-preview span{font-size:24px;font-weight:600;color:#555}.user-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;opacity:0;transition:opacity .15s}.user-avatar-preview:hover .user-avatar-overlay{opacity:1}.user-chip{width:28px;height:28px;border-radius:50%;background:#e0e0e0;color:#555;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;border:none;padding:0;overflow:hidden}.user-chip:hover{box-shadow:0 0 0 2px #569cd64d}.user-chip.active{box-shadow:0 0 0 2px #569cd6}.user-chip img{width:100%;height:100%;object-fit:cover}.demo-switcher{position:relative}.demo-trigger{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#e6af501f;border:1px solid rgba(230,175,80,.4);color:#8a6a20;font-size:12px;border-radius:14px;cursor:pointer;line-height:1}.demo-trigger:hover{background:#e6af5033}.demo-trigger .demo-label{color:#b58830;font-size:11px}.demo-trigger .demo-name{font-weight:600}.demo-dropdown{position:absolute;right:0;top:100%;margin-top:4px;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:6px;padding:4px;min-width:200px;box-shadow:0 4px 20px #00000026;z-index:100}.demo-dropdown-header{padding:6px 10px 4px;color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.demo-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;background:none;border:none;color:#333;font-size:13px;text-align:left;border-radius:4px;cursor:pointer}.demo-option:hover:not(:disabled){background:#569cd6;color:#fff}.demo-option.active{font-weight:600;cursor:default}.demo-option:disabled{cursor:default}.demo-option-role{font-size:11px;color:#999}.demo-option:hover .demo-option-role{color:#ffffffbf}.demo-exit{width:100%;padding:6px 10px;background:none;border:none;color:#a14b4b;font-size:13px;text-align:left;border-radius:4px;cursor:pointer}.demo-exit:hover{background:#a14b4b;color:#fff}.breadcrumbs{font-size:12px;color:#999;margin-bottom:4px}.breadcrumb-link{background:none;border:none;color:#569cd6;cursor:pointer;font-size:12px;padding:0}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-sep{margin:0 4px;color:#aaa}.breadcrumb-back{background:none;border:none;color:#999;cursor:pointer;padding:0 4px 0 0;display:inline-flex;align-items:center;vertical-align:middle}.breadcrumb-back:hover{color:#569cd6}.breadcrumb-current{color:#999}.view-header{margin-bottom:20px}.view-header h2{font-size:22px;font-weight:600;color:#1a1a1a;margin-bottom:6px;display:flex;align-items:center;gap:8px}.node-title-editor{flex:1;min-width:0;outline:none;border-radius:4px;padding:2px 4px;margin-left:-4px;cursor:text;word-break:break-word}.node-title-editor:focus{background:#f5f5f7}.node-title-editor-readonly{cursor:default}.journal-index{margin-top:8px}.journal-index-empty{color:#999;font-style:italic;margin:16px 0;font-size:14px}.journal-index-row{display:flex;align-items:center;gap:6px;padding:4px 0 4px 22px;border-radius:3px}.journal-index-row:hover{background:#f7f7fa}.journal-index-caret{border:none;background:transparent;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#888;padding:0;border-radius:3px}.journal-index-caret svg{transition:transform .12s ease}.journal-index-caret.open svg{transform:rotate(90deg)}.journal-index-caret:hover{background:#eee;color:#333}.journal-index-bullet{border:none;background:transparent;padding:0;margin:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.journal-index-bullet .bullet{width:5px;height:5px;border-radius:50%;background:#bbb;transition:background .1s ease,transform .1s ease}.journal-index-bullet:hover .bullet{background:#569cd6;transform:scale(1.3)}.journal-index-label{border:none;background:transparent;padding:0;margin:0;font-size:15px;color:#2c2c2c;cursor:pointer;font-weight:400}.journal-index-label:hover{color:#569cd6}.journal-index-count{color:#aaa;font-size:12px;margin-left:8px}.journal-index-children{padding-left:28px;margin:2px 0 8px}.node-description{display:block;font-size:14px;line-height:1.5;color:#888;margin:-10px 0 6px;max-width:720px;white-space:pre-wrap;word-break:break-word}.node-description-view{cursor:text;padding:2px 4px;margin-left:-4px;border-radius:4px;transition:background .1s ease}.node-description-view:hover{background:#f5f5f7}.node-description-empty{border:none;background:transparent;padding:2px 4px;margin-left:-4px;color:#bbb;font-style:italic;font-size:13px;cursor:text;border-radius:4px;text-align:left;opacity:.45;transition:opacity .15s ease,background .1s ease}.view-header:hover .node-description-empty,.node-description-empty:focus{opacity:1}.node-description-empty:hover{background:#f5f5f7;color:#999}.node-description-input{font:inherit;font-size:14px;line-height:1.5;color:#555;background:#fafafc;border:1px solid #e0e0e5;border-radius:4px;padding:6px 8px;outline:none;resize:none;width:100%;max-width:720px;overflow:hidden;box-sizing:border-box}.node-description-input:focus{border-color:#b8d4f0;background:#fff}.node-description-static{cursor:default}.zoomed-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.zoomed-tags .tag-badge{margin-left:0}.toolbar{display:flex;align-items:center;gap:4px;margin-bottom:4px;position:relative}.toolbar-btn{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;color:#888;cursor:pointer;transition:all .1s ease}.toolbar-btn:hover:not(.disabled){background:#e8e8e8;color:#2c2c2c;z-index:1}.toolbar-btn.disabled{opacity:.4;cursor:default}.toolbar-btn-text{padding:0 10px;font-size:12px;color:#555;min-width:22px;height:22px}.toolbar-btn-join-right{border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-btn-join-left{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-5px}.calendar-picker{position:absolute;top:36px;right:0;z-index:200;background:#f2f2f2;border:1px solid #404040;border-radius:8px;padding:12px;width:264px;box-shadow:0 8px 24px #00000080;-webkit-user-select:none;user-select:none}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-title{font-size:13px;font-weight:600;color:#2c2c2c}.cal-nav{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.cal-nav:hover{background:#e0e0e0;color:#2c2c2c}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:4px}.cal-weekday{font-size:10px;color:#999;text-align:center;padding:2px 0;font-weight:500}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.cal-day{position:relative;background:none;border:none;color:#333;font-size:12px;padding:5px 0;text-align:center;cursor:pointer;border-radius:4px;transition:background .1s ease}.cal-day:hover{background:#e0e0e0}.cal-day.other{color:#aaa}.cal-day.today{color:#569cd6;font-weight:700}.cal-day.selected{background:#569cd6;color:#fff;font-weight:600}.cal-day.selected:hover{background:#4a8abf}.cal-dot{position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#569cd6}.cal-day.other .cal-dot{background:#ddd}.cal-day.selected .cal-dot{background:#00000080}.pinned-section{margin-bottom:24px;padding:12px 16px;background:#f5f5f5;border-radius:8px;border:1px solid #ddd}.pinned-section-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:8px}.pinned-node{display:flex;align-items:center;padding:4px 0;gap:8px}.pinned-node .node-content-text{color:#2c2c2c;font-size:14px}.pinned-node .task-checkbox{margin:0}.pinned-empty{color:#aaa;font-size:12px;font-style:italic}.outliner-container,.outliner,.outliner-virtual{position:relative}.node-row{display:flex;align-items:flex-start;min-height:26px;padding:1px 0;border-radius:3px;position:relative}.editor-input:focus:empty:before{content:"Type to add...";color:#b4b4b4cc;font-style:italic;pointer-events:none}.node-row[data-has-tags=true] .editor-input:empty:before,.node-row[data-has-tags=true] .editor-input:focus:empty:before{content:"Untitled";color:#a0a0a0d9;font-style:normal;pointer-events:none}.header-node .node-bullet-handle{align-self:center}.header-node .node-editor .editor-input{font-weight:600;color:#1a1a1a;letter-spacing:-.02em}.header-h1 .node-editor .editor-input{font-size:20px;line-height:1.3;letter-spacing:-.025em}.header-h2 .node-editor .editor-input{font-size:16px;line-height:1.35;letter-spacing:-.015em}.header-h3 .node-editor .editor-input{font-size:14px;line-height:1.4;letter-spacing:-.01em}.header-node .tag-badge{font-size:10px;padding:0 4px;line-height:16px}.header-h1{padding-top:8px;padding-bottom:2px}.header-h2{padding-top:6px;padding-bottom:2px}.header-h3{padding-top:4px;padding-bottom:1px}.node-row.focused{background:#00000005}.node-row.selected{background:#508cdc1f;transition:background-color .2s cubic-bezier(0,1,0,1)}.node-row.selected.focused{background:#508cdc24}.node-row.foreign-section,.foreign-section .node-row{opacity:.7}.foreign-section .editor-input{cursor:default;pointer-events:none;-webkit-user-select:text;user-select:text;-webkit-user-modify:read-only}.foreign-section .node-bullet-handle,.foreign-section .node-collapse{pointer-events:auto}.node-badge--permission{color:#c48b1a}.node-collapse{width:15px;height:21px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .2s ease-in-out;border-radius:4px}.node-collapse.has-children{cursor:pointer}.node-row:hover .node-collapse.has-children{opacity:1}.node-collapse .collapse-arrow{width:0;height:0;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent #666;transition:transform .15s ease;transform:rotate(90deg)}.node-collapse .collapse-arrow.collapsed{transform:rotate(0)}.node-collapse:hover .collapse-arrow{border-left-color:#aaa}.node-bullet-handle{width:20px;height:21px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;margin-right:2px}.node-bullet-handle .bullet{width:5px;height:5px;border-radius:50%;background:#ccc;transition:background .15s ease,transform .2s ease}.node-row:hover .node-bullet-handle .bullet{background:#aaa}.node-bullet-handle:hover .bullet{background:#888!important;transform:scale(1.2)}.bullet.bullet-filled{width:5px;height:5px;box-shadow:0 0 0 4px var(--bullet-cloud, rgba(0, 0, 0, .07))}.node-bullet-handle.ref-bullet .bullet{width:13px;height:13px;background:transparent!important;box-shadow:none!important;border:1.5px dotted #888;position:relative}.node-bullet-handle.ref-bullet .bullet:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;border-radius:50%;background:#777}.node-row:hover .node-bullet-handle.ref-bullet .bullet{border-color:#555}.node-row:hover .node-bullet-handle.ref-bullet .bullet:after{background:#444}.node-guide-line{position:absolute;top:0;bottom:0;width:1px;background:#e8e8e8}.task-checkbox{width:16px;height:16px;border-radius:3px;border:1.5px solid #555;background:transparent;cursor:pointer;flex-shrink:0;margin:5px 2px 0 0;display:flex;align-items:center;justify-content:center;transition:all .1s ease}.task-checkbox:hover{border-color:#888}.task-checkbox.checked{background:#4a9eff;border-color:#4a9eff}.task-checkbox.checked:after{content:"";display:block;width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-1px,-1px)}.node-row .task-done .editor-input{text-decoration:line-through;color:#999}.tag-badge{font-size:11px;padding:2px 5px 0;border-radius:4px;margin-left:4px;white-space:nowrap;align-self:baseline;font-weight:500;line-height:1;flex-shrink:0;position:relative;cursor:pointer;transform:translateY(-2px)}.tag-badge--system{background:#8888881a;color:#777}.tag-name-full,.zoomed-tags .tag-name-full{display:inline}.tag-name{cursor:pointer}.tag-name:hover{text-decoration:underline}.tag-remove{display:none;margin-left:4px;cursor:pointer;font-size:13px;font-weight:700;opacity:.6}.tag-remove:hover{opacity:1}.node-key-chip{display:inline-flex;align-items:center;gap:2px;font-size:11px;padding:2px 6px 0;border-radius:4px;margin-left:4px;white-space:nowrap;align-self:baseline;font-weight:500;line-height:1;flex-shrink:0;cursor:pointer;transform:translateY(-2px);background:#edf0f3;color:#555;border:0;font-family:inherit}.node-key-chip:hover{background:#dde3e6;color:#2a2a2a}.node-key-chip-marker{font-size:9px;opacity:.55}.node-key-chip-name{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:0}.node-key-editor{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;margin-left:4px;align-self:baseline;transform:translateY(-2px)}.node-key-editor-input{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;padding:2px 6px;border:1px solid #c8d0d8;border-radius:4px;background:#fff;color:#2a2a2a;width:11ch;outline:none;line-height:1.2}.node-key-editor-input:focus{border-color:#6a8aaa;box-shadow:0 0 0 2px #6a8aaa22}.node-key-editor-save,.node-key-editor-clear,.node-key-editor-cancel{font-size:11px;padding:2px 7px;border-radius:4px;border:1px solid transparent;background:#edf0f3;color:#444;cursor:pointer;line-height:1.2}.node-key-editor-save{background:#5a7896;color:#fff}.node-key-editor-save:disabled,.node-key-editor-clear:disabled,.node-key-editor-cancel:disabled{opacity:.5;cursor:default}.node-key-editor-save:hover:not(:disabled){background:#4a6884}.node-key-editor-clear:hover:not(:disabled),.node-key-editor-cancel:hover:not(:disabled){background:#dde3e6}.node-key-editor-error{flex-basis:100%;font-size:11px;color:#a23838;line-height:1.3}.node-key-editor-link{background:none;border:0;padding:0;font:inherit;color:#4a6884;text-decoration:underline;cursor:pointer}.pinned-fields-strip{display:inline-flex;flex-wrap:wrap;gap:0;margin-left:4px;vertical-align:baseline}.pinned-field-chip{display:inline-block;font-size:11px;padding:2px 6px 0;border-radius:4px;margin-left:4px;white-space:nowrap;line-height:1;vertical-align:baseline;transform:translateY(-2px);background:#ecf2fa;color:#3b4760;cursor:default;border:1px solid #d6dfec}.pinned-field-label{opacity:.7;margin-right:4px;font-weight:500}.pinned-field-value{font-weight:500}.system-field-chip{display:inline-block;font-size:11px;padding:2px 6px 0;border-radius:4px;margin-left:6px;white-space:nowrap;line-height:1;vertical-align:baseline;transform:translateY(-2px);background:#8888881a;color:#555;cursor:default}.system-field-label{opacity:.65;margin-right:4px}.system-field-value{font-weight:500;color:#2c2c2c}.tag-badge:hover .tag-remove{display:inline}.node-editor{flex:1;min-width:0}.log-entry-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;color:var(--text-muted, #888);-webkit-user-select:none;user-select:none;margin-right:8px;align-self:baseline}.log-ghost-row{cursor:text;opacity:.55;transition:opacity .12s ease}.log-ghost-row:hover,.log-ghost-row:focus{opacity:.9;outline:none}.log-ghost-row.drag-target{opacity:1;outline:2px dashed var(--accent, #4a9eff);outline-offset:-2px;border-radius:4px;background:#4a9eff14}.log-ghost-row .log-ghost-bullet .bullet{background:transparent;border:1.5px dashed var(--text-muted, #999)}.log-ghost-placeholder{color:var(--text-muted, #888);font-style:italic;-webkit-user-select:none;user-select:none;padding:2px 0}.node-editor>div{min-width:0}.node-editor .editor-input{outline:none}.node-editor .editor-input p{margin:0}.node-badges{display:inline-flex;align-items:center;gap:4px;vertical-align:baseline}.node-badge{color:#bbb;flex-shrink:0}.node-inline-meta{display:flex;align-items:center;flex-shrink:0;-webkit-user-select:none;user-select:none;gap:4px;padding-left:4px;white-space:nowrap}.node-editor .editor-input{width:100%;outline:none;padding:0 2px;min-height:21px;line-height:calc(1em + 8px);color:#2c2c2c;font-size:15px;white-space:pre-wrap;word-break:break-word}.node-editor .editor-input:focus{outline:none}.node-editor .editor-input:not(:focus){caret-color:transparent}.editor-wrapper{position:relative;flex:1;min-width:0}.editor-paragraph{margin:0}.editor-text-bold{font-weight:600}.editor-text-italic{font-style:italic}.editor-text-strikethrough{text-decoration:line-through}.editor-text-underline{text-decoration:underline}.editor-text-code{font-family:JetBrains Mono,monospace;background:#ffffff0f;padding:1px 4px;border-radius:3px;font-size:.9em}.editor-placeholder{color:#fff3;position:absolute;top:0;left:2px;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;animation:placeholderFadeIn .3s ease .8s forwards}@keyframes placeholderFadeIn{0%{opacity:0}to{opacity:1}}.url-link{color:#569cd6;text-decoration:underline;text-decoration-color:#569cd666;cursor:pointer}.url-link:hover{text-decoration-color:#569cd6}.node-mention{color:#569cd6;text-decoration:underline;text-decoration-color:#569cd666;cursor:pointer}.node-mention:hover{text-decoration-color:#569cd6}.node-mention[data-mention-entity=true],.url-link[href^="node:"][data-mention-entity=true]{text-decoration:none;border-radius:4px;padding:0 5px}.node-mention--unresolved{color:#888;background:#f0f0f0;text-decoration:none;border-radius:4px;padding:0 5px;font-style:italic;cursor:default}.link-popup{position:absolute;z-index:100;background:#f0f0f0;border:1px solid #404040;border-radius:8px;padding:12px;min-width:300px;box-shadow:0 4px 20px #00000080}.link-popup-tabs{display:flex;gap:2px;margin-bottom:10px;border-bottom:1px solid #333;padding-bottom:8px}.link-tab{background:none;border:1px solid transparent;border-radius:4px;color:#888;padding:3px 10px;font-size:12px;cursor:pointer}.link-tab.active{background:#e0e0e0;color:#2c2c2c;border-color:#ccc}.link-tab:hover:not(.active){color:#444}.link-popup-nodes{max-height:160px;overflow-y:auto;margin:4px 0;border:1px solid #ddd;border-radius:4px}.link-popup-remove{background:none;border:1px solid #d0d0d0;border-radius:4px;color:#e06c75;padding:4px 10px;font-size:12px;cursor:pointer}.link-popup-remove:hover{background:#e06c751a;border-color:#e06c75}.link-popup-field{margin-bottom:8px}.link-popup-field label{display:block;font-size:11px;color:#888;margin-bottom:3px;font-weight:500}.link-popup-field input{width:100%;background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#2c2c2c;padding:6px 8px;font-size:13px;outline:none}.link-popup-field input:focus{border-color:#569cd6}.link-popup-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.link-popup-cancel{background:none;border:1px solid #d0d0d0;border-radius:4px;color:#999;padding:4px 12px;font-size:12px;cursor:pointer}.link-popup-cancel:hover{background:#e8e8e8;color:#2c2c2c}.link-popup-save{background:#569cd6;border:none;border-radius:4px;color:#fff;padding:4px 12px;font-size:12px;cursor:pointer}.link-popup-save:hover{background:#4a8abf}.link-popup-save:disabled{opacity:.4;cursor:default}.mention-chip{color:#569cd6;cursor:pointer;text-decoration:none;display:inline-flex;align-items:baseline;gap:2px}.mention-chip:hover .mention-chip-label{text-decoration:underline}.mention-chip-expand{background:none;border:none;color:#bbb;cursor:pointer;font-size:9px;padding:0 2px;line-height:1;vertical-align:baseline}.mention-chip-expand:hover{color:#569cd6}.mention-inline-expansion{display:block;margin:4px 0 4px 12px;padding:4px 0 4px 12px;border-left:2px solid rgba(86,156,214,.25);-webkit-user-select:text;user-select:text}.mention-expansion-loading{color:#999;font-size:13px;padding:4px 0}.mention-popup{position:fixed;z-index:1000;background:#f0f0f0;border:1px solid #404040;border-radius:6px;padding:4px;min-width:200px;max-width:400px;box-shadow:0 4px 20px #00000080}.mention-item{display:block;width:100%;padding:5px 10px;background:none;border:none;color:#333;font-size:13px;text-align:left;border-radius:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-item:hover,.mention-item.selected{background:#569cd6;color:#fff}.mention-item.empty{color:#999;cursor:default}.mention-item.empty:hover{background:none;color:#999}.mention-item.compact{padding:6px 10px}.mention-item.compact .mention-row{display:flex;gap:8px;align-items:baseline;width:100%;overflow:hidden}.mention-item.compact .mention-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;flex:0 0 auto}.mention-item.compact .mention-preview{color:#777;font-size:12px;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-item.compact.selected .mention-preview{color:#d8d8d8}.mention-hint{padding:4px 10px;margin-top:2px;border-top:1px solid #d0d0d0;font-size:11px;color:#888}.context-menu{position:fixed;z-index:1000;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:6px;padding:4px;min-width:160px;box-shadow:0 4px 20px #00000026}.context-menu-item{display:block;width:100%;padding:6px 12px;background:none;border:none;color:#333;font-size:13px;text-align:left;border-radius:4px;cursor:pointer;white-space:nowrap}.context-menu-item:hover,.context-menu-item.selected{background:#569cd6;color:#fff}.context-menu-item.destructive{color:#c0392b}.context-menu-item.destructive:hover,.context-menu-item.destructive.selected{background:#c0392b;color:#fff}.context-menu-divider{height:1px;background:#d0d0d0;margin:4px 6px}.data-view{max-width:720px}.data-view-empty{color:#999;font-size:14px}.data-catalog{margin-bottom:4px;border:1px solid #eee;border-radius:6px;overflow:hidden}.data-catalog-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8f8f8;-webkit-user-select:none;user-select:none}.data-catalog-header-left{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;min-width:0}.data-catalog-header-left:hover .data-catalog-name{color:#333}.data-catalog-go{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;color:#ccc;cursor:pointer;border-radius:4px;flex-shrink:0}.data-catalog-go:hover{background:#0000000f;color:#666}.data-collapse-arrow{display:flex;align-items:center;transition:transform .15s}.data-collapse-arrow.collapsed{transform:rotate(-90deg)}.data-catalog-name{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#555}.data-catalog-count{font-size:11px;color:#aaa;margin-left:auto}.data-schema-table{width:100%;border-collapse:collapse}.data-schema-table thead th{text-align:left;padding:6px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#aaa;border-bottom:1px solid #eee}.data-schema-row{cursor:pointer}.data-schema-row:hover{background:#f8f9ff}.data-schema-row td{padding:8px 14px;font-size:14px;border-bottom:1px solid #f4f4f4}.data-schema-name{font-weight:500;color:#333}.data-col-count{text-align:right!important;color:#888;font-size:13px;width:80px}.data-tag-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.log-time-prefix{display:inline-block;margin-right:8px;padding:0 6px;font-size:11px;line-height:18px;color:#888;background:#f3f3f3;border-radius:3px;font-variant-numeric:tabular-nums;font-family:SF Mono,Menlo,monospace;-webkit-user-select:none;user-select:none;vertical-align:baseline;transform:translateY(-1px)}.reagents-view{max-width:1100px}.reagents-view-empty{color:#999;font-size:14px;padding:20px 14px;font-style:italic}.reagents-view-empty code{font-family:SF Mono,Menlo,monospace;background:#f4f4f4;padding:1px 6px;border-radius:3px;font-style:normal;font-size:13px}.reagents-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.reagents-search{flex:1;max-width:320px;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;outline:none}.reagents-search:focus{border-color:#61afef}.reagents-count{color:#999;font-size:12px}.reagents-table{width:100%;border-collapse:collapse}.reagents-table thead th{text-align:left;padding:6px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#aaa;border-bottom:1px solid #eee;-webkit-user-select:none;user-select:none}.reagents-table thead th.sortable{cursor:pointer}.reagents-table thead th.sortable:hover{color:#333}.reagents-sort-indicator{color:#61afef;font-size:10px}.reagents-row td{padding:7px 10px;font-size:13px;border-bottom:1px solid #f4f4f4;vertical-align:top}.reagents-row:hover{background:#f8f9ff}.reagents-clickable{cursor:pointer;color:#333;font-weight:500}.reagents-clickable:hover{color:#61afef;text-decoration:underline}.reagents-col-expand{width:24px;padding:4px!important;text-align:center}.reagents-expand-toggle{border:none;background:transparent;cursor:pointer;color:#888;padding:2px;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease}.reagents-expand-toggle.expanded{transform:rotate(0);color:#333}.reagents-expand-toggle:not(.expanded){transform:rotate(-90deg)}.reagents-col-cas,.reagents-col-state,.reagents-col-mw{color:#666;white-space:nowrap}.reagents-col-mw{text-align:right;font-variant-numeric:tabular-nums;width:80px}.reagents-col-lots{text-align:right;color:#888;font-variant-numeric:tabular-nums;width:50px}.reagents-col-locations{color:#666;font-size:12px}.reagents-lot-row{cursor:pointer;background:#fbfbfd}.reagents-lot-row:hover{background:#f2f4fb}.reagents-lot-row td{padding:5px 10px;font-size:12px;color:#666;border-bottom:1px solid #f4f4f4}.reagents-lot-label{color:#333;padding-left:32px!important}.reagents-lot-cell{color:#888;font-variant-numeric:tabular-nums}.experiments-col-code{font-family:SF Mono,Menlo,monospace;font-size:12px;color:#61afef;width:80px;white-space:nowrap}.experiments-col-title{font-weight:500}.experiments-col-tag{width:120px}.experiments-col-status{color:#666;width:100px;text-transform:capitalize}.experiments-col-date{font-variant-numeric:tabular-nums;color:#888;font-size:12px;width:90px;white-space:nowrap}.experiments-col-num{text-align:right;font-variant-numeric:tabular-nums;color:#888;width:60px}.materials-page{max-width:1000px}.materials-table-wrap{margin:4px 0 12px}.materials-table-empty{color:#999;font-size:13px;font-style:italic;padding:8px 0}.materials-table-empty code{font-family:SF Mono,Menlo,monospace;background:#f4f4f4;padding:1px 5px;border-radius:3px;font-style:normal;font-size:12px}.materials-toolbar{margin-bottom:10px}.materials-note{color:#666;font-size:13px}.materials-note code{font-family:SF Mono,Menlo,monospace;background:#f3f3f3;padding:1px 5px;border-radius:3px;font-size:12px}.materials-table{font-size:13px}.materials-table thead th{padding:4px 10px!important;border-bottom:1px solid #ededf0!important;color:#999;font-weight:500;white-space:nowrap}.materials-table tbody td{padding:5px 10px!important;border-bottom:1px solid #f4f4f6!important;vertical-align:middle}.materials-table .materials-row-limiting td{background:#d19a660f}.materials-col-name{font-weight:400;width:220px;max-width:260px;color:#333}.materials-col-role{color:#777;text-transform:capitalize;width:84px}.materials-col-num{text-align:right;font-variant-numeric:tabular-nums;width:72px;color:#444}.materials-col-flag{text-align:center;width:36px;color:#d19a66;font-size:14px}.materials-derived{color:#aaa;font-style:italic}.materials-row:hover td{background:#f8faff}.materials-row-limiting:hover td{background:#d19a661f!important}.materials-row-total td{font-weight:400;color:#999;border-top:1px solid #e8e8ea!important;border-bottom:none!important;padding-top:7px!important}.materials-row-total td:first-child{text-transform:uppercase;font-size:11px;letter-spacing:.5px}.materials-row-total td{font-weight:600;border-top:1px solid #ddd;border-bottom:none;color:#333}.materials-footnote{margin-top:10px;color:#999;font-size:12px;font-style:italic}.materials-footnote code{font-family:SF Mono,Menlo,monospace;background:#f5f5f5;padding:1px 4px;border-radius:3px;font-style:normal;font-size:11px}.materials-cell-value{display:inline-block;min-width:20px;padding:1px 4px;border-radius:3px;cursor:text}.materials-cell-value:hover:not(.materials-cell-readonly){background:#f3f5fb}.materials-cell-readonly{cursor:default;color:#888}.materials-cell-placeholder{color:#bbb}.materials-cell-input,.materials-cell-select{width:100%;padding:1px 4px;font:inherit;font-variant-numeric:tabular-nums;border:1px solid #61afef;border-radius:3px;background:#fff;color:inherit;outline:none;box-sizing:border-box;text-align:inherit}.materials-cell-select{padding:0 4px}.materials-reagent-row{display:inline-flex;align-items:center;gap:4px;width:100%}.materials-reagent-link{cursor:pointer;flex:1}.materials-reagent-link:hover{color:#61afef;text-decoration:underline}.materials-reagent-swap{opacity:0;border:none;background:transparent;cursor:pointer;color:#888;font-size:12px;padding:0 4px;border-radius:3px;transition:opacity .15s ease}.materials-row:hover .materials-reagent-swap{opacity:.6}.materials-reagent-swap:hover{opacity:1!important;background:#f3f5fb}.materials-limiting-toggle{border:none;background:transparent;cursor:pointer;font-size:15px;line-height:1;padding:0;color:#bbb}.materials-limiting-toggle.on,.materials-limiting-toggle:hover{color:#d19a66}.materials-col-actions{width:24px;text-align:center}.materials-row-delete{opacity:0;border:none;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:#c25454;padding:0 4px;border-radius:3px;transition:opacity .15s ease}.materials-row:hover .materials-row-delete{opacity:.6}.materials-row-delete:hover{opacity:1!important;background:#fdeaea}.materials-picker{position:relative;display:inline-block;width:100%}.materials-picker-input{width:100%;padding:2px 6px;font:inherit;border:1px solid #61afef;border-radius:3px;background:#fff;outline:none}.materials-picker-results{position:absolute;top:100%;left:0;min-width:220px;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #e0e0e5;border-radius:4px;box-shadow:0 4px 12px #00000014;z-index:100;margin-top:2px}.materials-picker-option{padding:5px 10px;font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-picker-option.active,.materials-picker-option:hover{background:#f3f5fb;color:#61afef}.materials-ghost-row{background:transparent}.materials-ghost-cell{padding:2px 4px!important;border-bottom:none!important}.materials-ghost-cell .materials-picker-input{width:100%;border:none;background:transparent;padding:4px 6px;font:inherit;color:#555;outline:none}.materials-ghost-cell .materials-picker-input::placeholder{color:#bbb;font-style:italic}.materials-ghost-cell .materials-picker-input:focus{background:#f8faff;border-radius:3px}.materials-ghost-standalone{margin-top:6px;padding:6px 0;border-top:1px dashed #e0e0e5}.materials-ghost-standalone .materials-picker-input{width:100%;max-width:360px;border:none;background:transparent;padding:6px 0;font:inherit;color:#555;outline:none}.materials-ghost-standalone .materials-picker-input::placeholder{color:#bbb;font-style:italic}.plugin-page{max-width:720px}.plugin-status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;background:#f8f8f8;border:1px solid #eee;border-radius:6px;margin-bottom:16px}.plugin-status-indicator{display:flex;align-items:center;gap:6px}.plugin-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.plugin-status-label{font-size:13px;font-weight:600;text-transform:capitalize}.plugin-status-meta{font-size:12px;color:#999}.plugin-error-banner{width:100%;padding:8px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;font-size:12px;color:#b91c1c;margin-top:4px}.plugin-error-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e06c75;color:#fff;font-size:10px;font-weight:700;margin-right:6px}.plugin-section{margin-bottom:20px}.plugin-section-header{display:flex;align-items:baseline;gap:8px}.plugin-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin:0 0 8px}.plugin-section-count{font-size:11px;color:#bbb}.plugin-subsection-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ccc;margin:12px 0 4px}.plugin-config-grid{display:flex;flex-direction:column;gap:4px}.plugin-config-row{display:flex;gap:12px;padding:4px 0;font-size:13px}.plugin-config-key{color:#999;min-width:120px;flex-shrink:0}.plugin-config-value{color:#333;word-break:break-all}.plugin-dns-answer{font-family:var(--font-mono, monospace);font-size:12px;background:#f4f4f4;padding:1px 5px;border-radius:3px;color:#555}.plugin-dns-type{color:#999;font-size:12px;width:50px}.row-warning{background:#fffbeb}.row-warning-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#f59e0b;color:#fff;font-size:11px;font-weight:700}.row-warning-text{display:block;font-size:11px;color:#b45309;margin-top:1px}.data-schema-row.retired td{opacity:.5}.plugin-empty{font-size:13px;color:#999;padding:8px 0}.plugin-link-btn{padding:6px 14px;background:none;border:1px solid #ddd;border-radius:4px;color:#569cd6;font-size:13px;cursor:pointer}.plugin-link-btn:hover{background:#f8f9ff;border-color:#569cd6}.node-drag-ghost{position:fixed;pointer-events:none;z-index:9998;left:0;top:0;transform:translate(12px,12px);max-width:240px;padding:4px 10px;background:#fffffff2;border:1px solid rgba(0,0,0,.12);border-radius:4px;font-size:13px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 10px #0000002e;opacity:.95}.node-drop-caret{position:fixed;height:2px;background:#4a90e2;border-radius:1px;pointer-events:none;z-index:9999;left:0;top:0;box-shadow:0 0 6px #4a90e259;transition:left 60ms ease-out,top 60ms ease-out,width 60ms ease-out}.embed-wrapper{margin:4px 0;cursor:default;outline:none}.embed-wrapper[data-embed-type=image],.embed-wrapper[data-embed-type=file],.embed-wrapper[data-embed-type=link-preview]{width:fit-content;max-width:100%}.embed-wrapper:focus,.embed-wrapper:focus-within{outline:2px solid rgba(86,156,214,.3);outline-offset:2px;border-radius:4px}.witnesses-section{margin-top:12px}.witness-list{display:flex;flex-direction:column}.witness-node-row.node-row{align-items:center;min-height:26px;padding:1px 0}.witness-node-row .node-editor{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0;flex-wrap:wrap}.witness-target-label{color:#2c2c2c;font-size:15px;line-height:21px;cursor:pointer}.witness-target-label:hover{text-decoration:underline}.witness-target-meta{font-size:11px;color:#999;white-space:nowrap}.witness-note{font-size:12px;color:#777;font-style:italic;flex-basis:100%}.witness-actions{display:flex;gap:6px;flex-shrink:0;margin-left:8px}.witness-btn{padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer;background:#fff;transition:background .12s ease}.witness-btn--sign{background:#4acf8a;border:1px solid #37b673;color:#fff}.witness-btn--sign:hover{background:#3cc07c}.witness-btn--cancel{background:#fff;border:1px solid #d0d0d0;color:#666}.witness-btn--cancel:hover{background:#f5f5f5}.node-badge--witnessed{color:#d19a66;cursor:context-menu}.node-badge--witnessed svg{stroke:#d19a66}.node-badge--witness-pending{color:#c9a15b;cursor:context-menu;opacity:.75}.node-badge--witness-pending svg{stroke:#c9a15b}.node-badge--witness-pending:hover{opacity:1}.edit-avatars{display:inline-flex;align-items:center;vertical-align:middle;margin-left:12px;-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:16px;height:16px;gap:6px}.edit-avatars-stack{display:inline-flex;align-items:center;flex-direction:row;isolation:isolate;height:16px;gap:0}.edit-avatar{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:600;margin-left:-5px;box-shadow:0 0 0 1.5px #fff;transition:transform .12s ease,z-index 0s;cursor:default}.edit-avatar:first-child{margin-left:0}.edit-avatar:hover{transform:translateY(-1px) scale(1.08);z-index:200!important}.edit-avatar--me{box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px #569cd6}.edit-avatar-initials{line-height:1}.edit-avatars-more{margin-left:2px;font-size:10px;color:#999;padding:0 4px;background:#0000000a;border-radius:8px;line-height:14px;height:14px;cursor:default}.edit-avatars-timestamp{font-size:10px;color:#aaa;font-weight:400;letter-spacing:.02em}.edit-avatars--unseen .edit-avatar:first-child{box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px #f5a623;animation:edit-avatar-pulse 2.4s ease-in-out infinite}@keyframes edit-avatar-pulse{0%,to{box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px #f5a623}50%{box-shadow:0 0 0 1.5px #fff,0 0 0 3.5px #f5a62359}}.edit-avatars-loading{display:inline-block;width:14px;height:14px;border:1.5px solid rgba(0,0,0,.08);border-top-color:#0006;border-radius:50%;animation:edit-avatar-spin .8s linear infinite}@keyframes edit-avatar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-embed{position:relative;display:inline-block;line-height:0;max-width:100%}.image-embed img{max-height:320px;max-width:100%}.image-resize-handle{position:absolute;right:-4px;bottom:-4px;width:14px;height:14px;cursor:nwse-resize;opacity:0;transition:opacity .12s ease;touch-action:none}.image-resize-handle:after{content:"";position:absolute;right:2px;bottom:2px;width:10px;height:10px;background:#569cd6;border:1px solid rgba(255,255,255,.85);border-radius:2px;box-shadow:0 1px 3px #0000002e}.image-embed:hover .image-resize-handle,.embed-wrapper:focus-within .image-resize-handle{opacity:1}.embed-file{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;text-decoration:none;color:#333;font-size:13px}.embed-file:hover{border-color:#569cd6}.embed-file svg{color:#999;flex-shrink:0}.embed-file-size{color:#aaa;font-size:11px}.embed-link-preview{display:flex;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;max-width:500px}.embed-link-preview:hover{border-color:#ccc}.embed-link-image{width:120px;height:80px;object-fit:cover;flex-shrink:0}.embed-link-body{padding:8px 12px;min-width:0}.embed-link-title{font-size:13px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.embed-link-desc{font-size:12px;color:#888;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.embed-link-domain{font-size:11px;color:#aaa;margin-top:4px}.embed-fallback{padding:8px 12px;border:1px dashed #ddd;border-radius:6px;font-size:12px;color:#888}.embed-fallback-type{background:#f0f0f0;padding:1px 5px;border-radius:3px;margin-right:6px;font-size:11px}.outliner-container.drag-over{outline:2px dashed #569cd6;outline-offset:-2px;background:#f8f9ff}.outliner-container.drag-over:has(.drag-target){outline:none;background:transparent}.entity-page{max-width:620px}.entity-page h2{font-size:20px;font-weight:600;margin:0 0 8px}.entity-status-inline{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:#555;background:#f2f2f2;padding:2px 8px;border-radius:10px;margin-left:4px;vertical-align:middle}.entity-section{margin-bottom:20px}.entity-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin:0 0 8px}.entity-detail-grid{display:flex;flex-direction:column;gap:4px}.entity-detail-row{display:flex;gap:12px;font-size:13px;padding:4px 0;border-bottom:1px solid #f4f4f4}.entity-detail-key{color:#999;min-width:130px;flex-shrink:0}.entity-detail-value{color:#333;word-break:break-all}.entity-link{color:#569cd6;cursor:pointer}.entity-link:hover{text-decoration:underline}.unit-page{max-width:620px}.unit-symbol-inline{display:inline-block;font-size:13px;font-weight:600;color:#06b6d4;background:#06b6d410;padding:1px 8px;border-radius:4px;margin-left:6px;vertical-align:middle}.unit-dimension-link{font-size:13px;color:#06b6d4;cursor:pointer}.unit-dimension-link:hover{text-decoration:underline}.unit-section{margin-bottom:20px}.unit-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin:0 0 8px}.unit-detail-grid{display:flex;flex-direction:column;gap:6px}.unit-detail-row{display:flex;gap:12px;font-size:13px;padding:4px 0}.unit-detail-key{color:#999;min-width:110px;flex-shrink:0}.unit-detail-value{color:#333}.unit-detail-value code{background:#f4f4f4;padding:1px 5px;border-radius:3px;font-size:12px}.unit-alias{background:#f4f4f4;padding:1px 6px;border-radius:3px;font-size:12px;margin-right:4px}.unit-base-note{font-size:13px;color:#888;margin:0 0 16px}.unit-base-note code{background:#f4f4f4;padding:1px 5px;border-radius:3px}.quantity{white-space:nowrap;font-variant-numeric:tabular-nums}.quantity-value{color:#333}.quantity-unit{color:#aaa;font-size:.85em;margin-left:1px}.quantity-unit-linked{cursor:pointer}.quantity-unit-linked:hover{color:#569cd6;text-decoration:underline}.docker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.docker-card{border:1px solid #eee;border-radius:6px;padding:10px 12px;cursor:pointer;transition:border-color .1s}.docker-card:hover{border-color:#ccc}.docker-card-stopped{opacity:.5}.docker-card-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.docker-card-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.docker-card-name{font-size:13px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docker-card-stats{display:flex;flex-direction:column;gap:4px}.docker-stat{display:flex;align-items:center;gap:6px;font-size:11px}.docker-stat-label{color:#bbb;min-width:28px}.docker-stat-value{color:#666}.docker-stat-bar{flex:1;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden;min-width:40px}.docker-stat-bar-fill{height:100%;border-radius:2px;transition:width .3s}.tag-picker-popup{min-width:200px;max-height:280px;overflow-y:auto}.tag-picker-input{width:100%;padding:6px 10px;border:none;border-bottom:1px solid #e0e0e0;font-size:13px;outline:none;background:transparent;box-sizing:border-box}.tag-create-item{color:#569cd6!important}.tag-create-item strong{font-weight:600}.mention-item.tag-applied{opacity:.6}.tag-check{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#888;padding-left:8px}.slash-menu-popup{min-width:240px;max-width:360px;max-height:320px;overflow-y:auto}.slash-menu-item{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px}.slash-menu-label{font-size:13px;font-weight:500}.slash-menu-desc{font-size:11px;color:#888;line-height:1.3}.share-panel,.history-panel{position:fixed;z-index:1001;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:8px;padding:12px;min-width:280px;max-width:360px;box-shadow:0 4px 20px #00000026}.share-panel-header,.history-panel-header{font-size:13px;font-weight:600;margin-bottom:8px;color:#333}.share-panel-form{display:flex;gap:4px;margin-bottom:8px}.share-panel-form input{flex:1;padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:12px;background:#fff}.share-panel-form select{padding:4px;border:1px solid #ccc;border-radius:4px;font-size:12px;background:#fff}.share-panel-form button{padding:4px 10px;border:none;border-radius:4px;background:#569cd6;color:#fff;font-size:12px;cursor:pointer}.share-panel-error{color:#c44;font-size:12px;margin-bottom:6px}.share-panel-list{border-top:1px solid #ddd;padding-top:6px}.share-panel-item{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px}.share-email{flex:1;color:#333}.share-perm{color:#888}.share-remove{background:none;border:none;color:#999;cursor:pointer;font-size:14px;padding:0 4px}.share-remove:hover{color:#c44}.history-panel{max-height:300px;overflow-y:auto}.history-panel-empty{font-size:12px;color:#888}.history-entry{border-top:1px solid #ddd;padding:6px 0}.history-entry:first-of-type{border-top:none}.history-meta{display:flex;gap:8px;font-size:11px;margin-bottom:2px}.history-user{color:#569cd6}.history-time{color:#888}.history-field{font-size:11px;color:#666;margin-bottom:2px}.history-diff{font-size:12px;font-family:var(--font-mono, monospace)}.history-old{color:#c44;text-decoration:line-through;opacity:.7}.history-new{color:#4a4}.mini-outliner{background:#fff;border:1px solid #d0d0d0;border-radius:8px;box-shadow:0 8px 32px #00000026;overflow:hidden;display:flex;flex-direction:column}.mini-outliner-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid #e8e8e8;background:#fafafa}.mini-outliner-title{font-weight:500;font-size:14px;color:#1a1a1a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-outliner-close{background:none;border:none;font-size:16px;color:#999;cursor:pointer;padding:0 4px;line-height:1}.mini-outliner-close:hover{color:#333}.mini-outliner-body{padding:4px 0;overflow-y:auto;max-height:352px}.mini-outliner-loading{padding:16px;color:#999;font-size:13px;text-align:center}.tag-filter{padding:4px 10px;font-size:12px;color:#888;border-bottom:1px solid #333;margin-bottom:2px}.tag-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.tag-editor{max-width:600px}.ste-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.ste-header h2{font-size:20px;font-weight:600;color:#1a1a1a}.ste-back{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:4px;display:flex}.ste-back:hover{background:#e8e8e8;color:#2c2c2c}.ste-section{margin-bottom:20px}.ste-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:6px}.ste-input{background:#f2f2f2;border:1px solid #d0d0d0;border-radius:4px;color:#2c2c2c;padding:6px 10px;font-size:14px;width:100%;outline:none}.ste-input:focus{border-color:#569cd6}.ste-colors{display:flex;gap:6px;flex-wrap:wrap}.ste-color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .1s ease}.ste-color-swatch.active{border-color:#fff;transform:scale(1.15)}.ste-color-swatch:hover{transform:scale(1.1)}.ste-color-custom{width:24px;height:24px;border-radius:50%;border:2px dashed #555;cursor:pointer;position:relative;overflow:hidden;transition:all .1s ease;display:flex;align-items:center;justify-content:center}.ste-color-custom:hover{transform:scale(1.1)}.ste-color-custom input[type=color]{position:absolute;width:200%;height:200%;top:-50%;left:-50%;opacity:0;cursor:pointer}.ste-readonly{font-size:13px;color:#888;font-style:italic}.ste-empty{color:#aaa;font-size:13px;font-style:italic;margin-bottom:8px}.ste-parents{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ste-parent-chip{display:inline-flex;align-items:center;gap:4px;margin-left:0;padding-right:4px}.ste-parent-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.6}.ste-parent-remove:hover{opacity:1}.ste-error{color:#c04040;font-size:12px;margin-top:6px}.ste-field-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.ste-field-name{background:#f2f2f2;border:1px solid #d0d0d0;border-radius:4px;color:#2c2c2c;padding:5px 8px;font-size:13px;width:140px;outline:none}.ste-field-name:focus{border-color:#569cd6}.ste-field-type{background:#f2f2f2;border:1px solid #d0d0d0;border-radius:4px;color:#2c2c2c;padding:5px 8px;font-size:13px;outline:none;cursor:pointer}.ste-field-options{background:#f2f2f2;border:1px solid #d0d0d0;border-radius:4px;color:#2c2c2c;padding:5px 8px;font-size:13px;flex:1;outline:none}.ste-field-options:focus{border-color:#569cd6}.ste-field-remove{background:none;border:none;color:#999;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:3px}.ste-field-remove:hover{color:#e06c75;background:#e06c751a}.ste-add-field{background:none;border:1px dashed #3d3d3d;border-radius:4px;color:#888;padding:6px 12px;font-size:13px;cursor:pointer;width:100%}.ste-add-field:hover{border-color:#569cd6;color:#569cd6}.ste-table-wrap{overflow-x:auto;border:1px solid #ddd;border-radius:6px}.ste-table{width:100%;border-collapse:collapse;font-size:13px}.ste-table th{text-align:left;padding:8px 10px;color:#888;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #333;background:#f5f5f5;white-space:nowrap}.ste-table td{padding:4px 6px;border-bottom:1px solid #2a2a2a;vertical-align:middle}.ste-table tr:last-child td{border-bottom:none}.ste-table tr:hover td{background:#00000005}.ste-table-link{background:none;border:none;color:#569cd6;cursor:pointer;font-size:13px;padding:4px;text-align:left;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;display:block}.ste-table-link:hover{text-decoration:underline}.ste-table-input{background:transparent;border:1px solid transparent;border-radius:3px;color:#2c2c2c;padding:3px 6px;font-size:13px;width:100%;outline:none}.ste-table-input:focus{background:#f2f2f2;border-color:#ccc}.ste-table-input::placeholder{color:#444}.ste-table-select{background:transparent;border:1px solid transparent;border-radius:3px;color:#2c2c2c;padding:3px 6px;font-size:13px;outline:none;cursor:pointer;width:100%}.ste-table-select:focus{background:#f2f2f2;border-color:#ccc}.ste-footer{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:16px;border-top:1px solid #333}.ste-delete{background:none;border:1px solid #d0d0d0;border-radius:4px;color:#e06c75;padding:6px 14px;font-size:13px;cursor:pointer}.ste-delete:hover{background:#e06c751a;border-color:#e06c75}.ste-saving{color:#999;font-size:12px;font-style:italic}.tag-check{margin-left:auto;color:#4a9eff;font-size:12px}.node-fields{padding:4px 0;position:relative}.node-fields-locked .field-display{cursor:default}.node-fields-locked .field-display:hover{background:none}.node-fields-locked .field-select{opacity:.7;pointer-events:none}.lock-toggle{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:3px;color:#999;display:inline-flex;align-items:center;margin-left:8px;flex-shrink:0;transition:color .15s}.lock-toggle:hover{color:#aaa;background:#0000000a}.lock-toggle.locked{color:#e8a838}.lock-toggle.locked:hover{color:#f0c060}.field-row{display:flex;align-items:center;padding:2px 0;gap:12px;font-size:13px}.field-label{color:#888;min-width:80px;font-weight:500;flex-shrink:0}.field-value{flex:1;min-width:0}.field-row:has(>.lock-toggle) .field-value{flex:0 0 auto;min-width:0}.field-display{cursor:pointer;padding:2px 4px;border-radius:3px;color:#2c2c2c}.field-display.empty{color:#aaa;font-style:italic}.field-display:hover{background:#0000000a}.field-display.sensitive{filter:blur(5px);transition:filter .2s;-webkit-user-select:none;user-select:none}.field-display.sensitive:hover{filter:none;-webkit-user-select:auto;user-select:auto}.editor-input-sensitive{filter:blur(5px);transition:filter .2s;-webkit-user-select:none;user-select:none}.editor-input-sensitive:hover,.editor-input-sensitive:focus,.editor-input-sensitive:focus-within{filter:none;-webkit-user-select:auto;user-select:auto}.field-input{background:#f2f2f2;border:1px solid #d0d0d0;border-radius:3px;color:#2c2c2c;padding:2px 6px;font-size:13px;width:100%;outline:none}.field-input:focus{border-color:#569cd6}.field-image-link{display:inline-block;line-height:0}.field-image{max-width:240px;max-height:240px;border-radius:6px;border:1px solid var(--border, #333);display:block}.field-row-list{align-items:flex-start}.field-node-list{display:flex;flex-direction:column;gap:2px}.field-node-item{display:flex;align-items:center;gap:4px}.field-node-link{color:#7eb8da;font-size:13px;cursor:pointer}.field-node-link:hover{text-decoration:underline}.field-node-remove{background:none;border:none;color:#aaa;font-size:14px;cursor:pointer;padding:0 4px;line-height:1;opacity:0}.field-node-item:hover .field-node-remove{opacity:1}.field-node-remove:hover{color:#e06c75}.field-node-edit{background:none;border:none;color:#aaa;font-size:12px;cursor:pointer;padding:0 4px;opacity:0}.field-display:hover .field-node-edit{opacity:1}.field-node-edit:hover{color:#569cd6}.field-node-add{background:none;border:none;color:#999;font-size:12px;cursor:pointer;padding:2px 0;text-align:left}.field-node-add:hover{color:#569cd6}.field-node-search{position:relative}.field-node-dropdown{position:absolute;top:100%;left:0;z-index:100;background:#f0f0f0;border:1px solid #404040;border-radius:6px;padding:4px;min-width:200px;max-height:200px;overflow-y:auto;box-shadow:0 4px 16px #0006}.field-select{background:#f2f2f2;border:1px solid #3a3a3a;border-radius:3px;color:#2c2c2c;padding:2px 6px;font-size:13px;outline:none;cursor:pointer}.field-select-combo{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 6px;font:inherit;font-size:13px;line-height:1.4;background:transparent;border:1px solid transparent;border-radius:4px;color:#2c2c2c;cursor:pointer;outline:none;text-align:left;white-space:nowrap;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-select-combo:hover:not(.is-disabled),.field-select-combo:focus-visible:not(.is-disabled),.field-select-combo.is-open{background:#0000000a;border-color:#00000014}.field-select-combo:focus-visible:not(.is-disabled){border-color:#569cd6;box-shadow:0 0 0 2px #569cd633}.field-select-combo.is-empty .field-select-combo-label{color:#aaa;font-style:italic}.field-select-combo.is-disabled{cursor:default;opacity:.7}.field-select-combo-label{overflow:hidden;text-overflow:ellipsis;min-width:0}.field-select-combo-chevron{display:inline-flex;align-items:center;color:#888;flex-shrink:0;transition:transform .12s ease}.field-select-combo.is-open .field-select-combo-chevron{transform:rotate(180deg)}.field-select-combo--cell{display:flex;width:100%;padding:1px 4px;border-radius:3px}.field-select-popup{padding:4px;max-height:240px;overflow-y:auto}.field-select-popup .mention-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-select-popup .mention-item.is-current{font-weight:500}.field-select-check{color:inherit;opacity:.85;font-size:11px;flex-shrink:0}.field-select-clear{color:#888!important;font-style:italic;border-top:1px solid rgba(0,0,0,.08);margin-top:2px;padding-top:6px!important}.node-fields-locked .field-select-combo{opacity:.7;pointer-events:none}.backlinks-section{margin-top:40px;padding-top:16px;border-top:1px solid #333}.backlinks-header{display:flex;align-items:center;gap:6px;background:none;border:none;color:#2c2c2c;font-size:14px;font-weight:500;cursor:pointer;padding:4px 0}.backlinks-header:hover{color:#333}.backlinks-chevron{font-size:14px;transition:transform .15s ease;transform:rotate(0)}.backlinks-chevron.open{transform:rotate(90deg)}.backlinks-label{font-size:12px;color:#888;margin:14px 0 6px;font-weight:500}.backlinks-list{padding-left:4px}.backlinks-mentions{display:flex;flex-direction:column;gap:2px}.mention-group{padding:6px 10px 8px;border-radius:6px;background:#00000004;margin-bottom:6px}.mention-group:hover{background:#00000008}.mention-group-crumbs{font-size:12px;color:#888;margin-bottom:4px;line-height:1.4}.mention-crumb-link{background:none;border:none;padding:0;margin:0;font-size:12px;color:#888;cursor:pointer;font-family:inherit}.mention-crumb-link:hover{color:#333;text-decoration:underline}.mention-crumb-sep{color:#bbb;margin:0 2px}.mention-group-items{display:flex;flex-direction:column}.backlink-item{display:flex;align-items:flex-start;gap:8px;padding:3px 4px;margin:0;border-radius:4px;cursor:pointer}.backlink-item:hover{background:#0000000a}.backlink-bullet{color:#aaa;font-size:10px;padding-top:3px}.backlink-content{color:#333;font-size:13px;line-height:1.5}.backlink-empty{color:#bbb;font-style:italic}.catalog-header{margin-bottom:20px}.catalog-header h2{font-size:22px;font-weight:600;color:#1a1a1a;margin-bottom:4px}.catalog-count{font-size:13px;color:#888}.schema-header{margin-bottom:20px}.schema-header h2{font-size:22px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.schema-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}.schema-count{font-size:13px;color:#888}.schema-actions{display:flex;gap:8px;margin-bottom:8px}.schema-add-btn{padding:5px 14px;font-size:13px;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:4px;color:#2c2c2c;cursor:pointer;transition:all .1s ease}.schema-add-btn:hover{background:#e0e0e0;border-color:#4d4d4d}.schema-config-panel{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:16px;margin-bottom:16px}.schema-table-section{margin-bottom:24px}.schema-section-label{font-size:12px;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px;padding-top:12px;border-top:1px solid #333}.sonos-view{display:flex;flex-direction:column;gap:14px;padding:18px 0 8px;max-width:420px}.sonos-view-now-playing{min-height:32px}.sonos-view-track{font-size:14px;font-weight:500;color:var(--text, #d4d4d4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sonos-view-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted, #888);margin-top:2px}.sonos-view-tag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border:1px solid var(--border, #333);border-radius:3px;color:var(--text-muted, #888)}.sonos-view-idle{font-size:12px;color:var(--text-muted, #888);font-style:italic}.sonos-view-controls{display:flex;align-items:center;gap:4px}.sonos-view-btn{background:none;border:none;color:var(--text-muted, #888);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center}.sonos-view-btn:hover{color:var(--text, #d4d4d4);background:var(--bg-hover, #252525)}.sonos-view-btn-play{color:var(--text, #d4d4d4)}.sonos-view-volume{display:flex;align-items:center;gap:8px;color:var(--text-muted, #888)}.sonos-view-volume-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border, #333);border-radius:2px;outline:none;cursor:pointer}.sonos-view-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--text-muted, #888);cursor:pointer}.sonos-view-volume-slider::-webkit-slider-thumb:hover{background:var(--text, #d4d4d4)}.sonos-view-volume-val{font-size:11px;min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.sonos-view-tag-link{cursor:pointer;text-transform:none;letter-spacing:0}.sonos-view-tag-link:hover{color:var(--text, #d4d4d4);border-color:var(--text-muted, #888)}.sonos-view-group{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #2a2a2a)}.sonos-view-group-info{display:flex;flex-direction:column;gap:4px}.sonos-view-group-line{display:flex;gap:10px;font-size:12px;color:var(--text, #d4d4d4)}.sonos-view-group-label{color:var(--text-muted, #888);min-width:100px}.sonos-view-group-members{flex:1}.sonos-view-group-link{color:var(--accent, #4a9eff);cursor:pointer;text-decoration:none}.sonos-view-group-link:hover{text-decoration:underline}.sonos-view-group-empty-line{font-style:italic;color:var(--text-muted, #888)}.sonos-view-group-actions{display:flex;gap:6px}.sonos-view-group-btn{font-size:11px;padding:3px 10px;background:none;border:1px solid var(--border, #333);border-radius:3px;color:var(--text-muted, #888);cursor:pointer}.sonos-view-group-btn:hover{border-color:var(--text-muted, #888);color:var(--text, #d4d4d4)}.sonos-view-group-leave{border-color:#e06c7544;color:#e06c75}.sonos-view-group-leave:hover{border-color:#e06c75;color:#e06c75}.sonos-view-group-picker{display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--bg-elevated, #1a1a1a);border:1px solid var(--border, #333);border-radius:4px}.sonos-view-group-option{display:block;width:100%;text-align:left;padding:4px 8px;font-size:12px;background:none;border:none;color:var(--text-muted, #888);cursor:pointer;border-radius:3px}.sonos-view-group-option:hover{background:var(--bg-hover, #252525);color:var(--text, #d4d4d4)}.sonos-view-group-empty{padding:4px 8px;font-size:11px;font-style:italic;color:var(--text-muted, #888)}.sonos-group-divider{height:1px;background:#333;margin:2px 0}.kasa-view{display:flex;flex-direction:column;gap:12px;padding:18px 0 8px;max-width:360px}.kasa-view-row{display:flex;align-items:center;gap:12px}.kasa-view-toggle{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;background:none;border:1px solid var(--border, #333);border-radius:999px;color:var(--text-muted, #888);cursor:pointer;font-size:12px;letter-spacing:.6px;text-transform:uppercase}.kasa-view-toggle:hover{color:var(--text, #d4d4d4);border-color:var(--text-muted, #888)}.kasa-view-toggle-dot{width:14px;height:14px;border-radius:50%;background:var(--border, #333);box-shadow:inset 0 0 0 2px var(--bg, #181818)}.kasa-view-toggle--on{border-color:#7eb6ff;color:#7eb6ff}.kasa-view-toggle--on .kasa-view-toggle-dot{background:#7eb6ff;box-shadow:0 0 6px #7eb6ff80}.kasa-view-brightness{display:flex;align-items:center;gap:8px;color:var(--text-muted, #888)}.kasa-view-brightness-icon{display:inline-flex;width:14px;height:14px}.kasa-view-brightness-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border, #333);border-radius:2px;outline:none;cursor:pointer}.kasa-view-brightness-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--text-muted, #888);cursor:pointer}.kasa-view-brightness-slider:disabled{opacity:.4;cursor:not-allowed}.kasa-view-brightness-val{font-size:11px;min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.apple-tv-view{display:flex;flex-direction:column;gap:14px;padding:18px 0 8px;max-width:420px}.apple-tv-view--unpaired{border:1px dashed var(--border, #333);border-radius:6px;padding:14px 16px;color:var(--text-muted, #888);font-size:12px;max-width:420px}.apple-tv-view-pair-title{font-size:13px;font-weight:500;color:var(--text, #d4d4d4);margin-bottom:4px}.apple-tv-view-pair-body{line-height:1.5}.apple-tv-view-pair-body code{font-size:11px;padding:1px 4px;background:var(--bg-elevated, #1a1a1a);border-radius:3px}.apple-tv-view-now-playing{min-height:32px}.apple-tv-view-track{font-size:14px;font-weight:500;color:var(--text, #d4d4d4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apple-tv-view-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted, #888);margin-top:2px}.apple-tv-view-album{font-style:italic}.apple-tv-view-tag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border:1px solid var(--border, #333);border-radius:3px;color:var(--text-muted, #888)}.apple-tv-view-idle{font-size:12px;color:var(--text-muted, #888);font-style:italic}.apple-tv-view-controls{display:flex;align-items:center;gap:4px}.apple-tv-view-btn{background:none;border:none;color:var(--text-muted, #888);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center}.apple-tv-view-btn:hover{color:var(--text, #d4d4d4);background:var(--bg-hover, #252525)}.apple-tv-view-btn-play{color:var(--text, #d4d4d4)}.soundcloud-view{display:flex;flex-direction:column;gap:16px;padding:18px 0 8px;max-width:720px}.soundcloud-view-stats{display:flex;gap:18px}.soundcloud-view-stat{flex:1;padding:12px 14px;background:#fff;border:1px solid #e6e8e6;border-radius:8px;text-align:center}.soundcloud-view-stat--clickable{cursor:pointer}.soundcloud-view-stat--clickable:hover{border-color:#f50;background:#fff8f4}.soundcloud-view-stat-val{font-size:18px;font-weight:600;color:#1a1a1a;font-variant-numeric:tabular-nums}.soundcloud-view-stat-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:#888;margin-top:2px}.soundcloud-view-section-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#888;margin-bottom:-4px}.soundcloud-view-stat-sub{font-size:10px;color:#888;margin-top:2px;font-variant-numeric:tabular-nums}.soundcloud-view-sync{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.soundcloud-view-btn{display:inline-flex;align-items:center;padding:6px 14px;font-size:12px;background:#fff;color:#2a2a2a;border:1px solid #d2d4d6;border-radius:6px;cursor:pointer;text-decoration:none}.soundcloud-view-btn:hover:not(:disabled){background:#f3f4f7;border-color:#f50}.soundcloud-view-btn:disabled{opacity:.5;cursor:not-allowed}.soundcloud-view-btn--primary{color:#f50;border-color:#f50}.soundcloud-view-sync-meta,.soundcloud-view-sync-msg{font-size:11px;color:#888}.soundcloud-view-sync-msg{font-style:italic}.soundcloud-view-filter{font-size:11px;text-transform:none;letter-spacing:0;padding:2px 10px;background:#fff;color:#2a2a2a;border:1px solid #d2d4d6;border-radius:999px;cursor:pointer}.soundcloud-view-filter:hover{background:#f3f4f7;border-color:#b8babd}.soundcloud-view-filter--on{color:#f50;border-color:#f50;background:#fff8f4}.soundcloud-view-heart{margin-left:8px;color:#f50;font-size:11px;vertical-align:middle}.soundcloud-view-empty{padding:14px;font-size:12px;font-style:italic;color:#888;border:1px dashed #d8dade;border-radius:8px;background:#fafbfa}.soundcloud-view-tracks{display:flex;flex-direction:column;gap:6px}.soundcloud-view-track{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:6px;cursor:pointer}.soundcloud-view-track:hover{background:#f3f4f7}.soundcloud-view-art{width:40px;height:40px;border-radius:4px;flex-shrink:0;object-fit:cover;background:#ececef}.soundcloud-view-art--placeholder{background:linear-gradient(135deg,#ececef,#d6d8dc)}.soundcloud-view-track-meta{flex:1;min-width:0}.soundcloud-view-track-title{font-size:13px;color:#2a2a2a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soundcloud-view-track-sub{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#888;margin-top:2px}.soundcloud-view-track-stat{font-variant-numeric:tabular-nums}.soundcloud-view-track-artist-link{cursor:pointer}.soundcloud-view-track-artist-link:hover{color:#f50;text-decoration:underline}.soundcloud-view-track-link{color:#888;font-size:14px;padding:0 6px;text-decoration:none}.soundcloud-view-track-link:hover{color:#f50}.field-node-row{display:flex;align-items:baseline;gap:8px;min-height:28px;padding:2px 8px;font-size:13px}.field-node-row.has-children{align-items:flex-start}.field-node-label{color:#888;flex-shrink:0;min-width:80px;-webkit-user-select:none;user-select:none}.field-node-value{color:#d4d4d4;cursor:text}.field-node-value.empty{color:#555;font-style:italic}.field-node-input{background:transparent;border:1px solid #333;border-radius:3px;color:#d4d4d4;font-size:13px;padding:1px 4px;outline:none;flex:1}.field-node-input:focus{border-color:#555}.field-node-children-inline{display:flex;flex-direction:column;gap:2px}.field-node-row--system .field-node-label{color:#6a6a6a;font-style:italic}.field-node-row--system .field-node-value{color:#777;cursor:default}.field-picker-popup{min-width:260px}.field-picker-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#888;padding:4px 10px 2px;border-top:1px solid rgba(0,0,0,.08)}.field-picker-section-label:first-of-type{border-top:none}.field-picker-label{flex:1}.field-picker-meta{color:#999;font-size:11px;margin-left:8px}.field-picker-create{font-style:italic;color:#5a5a5a}.field-child-item{display:flex;align-items:baseline;gap:6px;color:#1d1d1f;cursor:pointer;font-size:13px}.field-child-item:hover{color:#000}.field-child-bullet{width:5px;height:5px;border-radius:50%;background:#86868b;flex-shrink:0;margin-top:5px}.schema-outer{margin-bottom:20px}.schema-outer-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 0;background:none;border:none;border-bottom:1px solid #e0e0e0;cursor:pointer;text-align:left}.schema-outer-title{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.8px}.schema-outer-body{padding-top:8px}.schema-outer-body .data-catalog{margin-bottom:4px}.schema-tag-rows{display:flex;flex-direction:column;padding:4px 0}.schema-tag-row{display:flex;align-items:center;gap:10px;padding:6px 16px;background:none;border:none;cursor:pointer;font-size:13px;color:#333;text-align:left;transition:background .1s}.schema-tag-row:hover{background:#f4f4f4}.schema-tag-meta{font-size:12px;color:#999;margin-left:auto}.schema-tag-row-add{color:#888;font-style:italic}.schema-tag-row-add:hover{color:#555}.schema-tag-row-empty{color:#bbb;font-style:italic;cursor:default}.schema-tag-row-empty:hover{background:none}.schema-node-name{font-size:13px;color:#333}.tag-config{font-size:13px}.stc-row{display:flex;gap:24px;margin-bottom:12px}.stc-section{margin-bottom:12px}.stc-label{display:block;font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:500}.stc-input{background:#f2f2f2;border:1px solid #d0d0d0;border-radius:3px;color:#2c2c2c;padding:4px 8px;font-size:13px;outline:none;width:200px}.stc-input:focus{border-color:#569cd6}.stc-input:disabled{opacity:.5;cursor:not-allowed}.field-computed{display:inline-flex;align-items:center;gap:8px;padding:2px 4px;color:#2c2c2c;font-family:SF Mono,Fira Code,monospace;font-size:12px}.field-computed.empty{color:#aaa}.field-computed-age{font-size:10px;color:#aaa;font-family:-apple-system,system-ui,sans-serif;margin-left:4px}.field-computed-pct{font-size:10px;color:#999;margin-left:2px}.resizable-image-wrapper{display:inline-block;position:relative;margin:4px 0;line-height:0}.resizable-image-wrapper img{max-width:100%;cursor:default}.resize-handle{position:absolute;bottom:2px;right:2px;width:10px;height:10px;background:#ffffff4d;border:1px solid rgba(255,255,255,.5);border-radius:2px;cursor:se-resize;opacity:0;transition:opacity .15s}.resizable-image-wrapper:hover .resize-handle{opacity:1}.resizable-image-wrapper.resizing .resize-handle{opacity:1;background:#569cd699}.capture-page{max-width:480px;margin:0 auto;display:flex;flex-direction:column;height:100dvh;overflow:hidden}.capture-page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-shrink:0}.capture-page-header h1{font-size:18px;font-weight:600;color:#1a1a1a}.capture-page-home{font-size:13px;color:#569cd6;text-decoration:none}.capture-page-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 8px}.capture-bullets{min-height:200px;padding:4px 0 16px}.capture-bullet{display:flex;align-items:flex-start;padding:3px 0;border-radius:4px;transition:padding-left .1s,background .1s}.capture-bullet-selected{background:#569cd626}.capture-bullet-dot{color:#aaa;font-size:8px;padding:9px 6px 0 0;flex-shrink:0}.capture-editable{flex:1;min-width:0;color:#2c2c2c;font-size:16px;font-family:inherit;line-height:1.5;outline:none;padding:2px 0;word-break:break-word}.capture-editable:empty:before{content:attr(data-placeholder);color:#aaa;pointer-events:none}.capture-editable img{max-width:100px;border-radius:4px;display:inline-block;margin:2px 4px 2px 0;vertical-align:middle}.capture-bullet-focused{background:#ffffff04}.capture-bullet-content{flex:1;min-width:0}.capture-thumb{max-width:100px;border-radius:4px;display:block;margin:2px 0}.capture-ghost{min-height:32px;cursor:text}.capture-toolbar-fixed{display:flex;align-items:center;gap:2px;padding:6px 12px;padding-bottom:max(6px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #333;flex-shrink:0}.capture-tool-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:6px;color:#aaa;cursor:pointer;font-size:13px;-webkit-tap-highlight-color:transparent}.capture-tool-btn:active{background:#ddd}.capture-submit-btn{width:40px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;background:#569cd6;color:#fff;border:none;border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}.capture-submit-btn:active{background:#4a8ac4}.capture-submit-btn:disabled{opacity:.3}.captures-section{margin-top:16px}.captures-sort-btn{background:none;border:1px solid rgba(0,0,0,.06);border-radius:4px;color:#888;font-size:12px;padding:1px 6px;margin-left:8px;cursor:pointer;line-height:1}.captures-sort-btn:hover{color:#333;border-color:#fff3}.inline-schema-table{padding:4px 0 8px}.inline-schema-table table{border-collapse:collapse;font-size:13px;width:auto}.inline-schema-table th{text-align:left;color:#999;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:4px 16px 4px 0;border-bottom:1px solid rgba(0,0,0,.05)}.inline-schema-table td{padding:3px 16px 3px 0;color:#999;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.entity-chip{display:inline-block;padding:1px 8px;border:1px solid;border-radius:4px;font-size:13px;cursor:pointer;transition:background .15s}.entity-chip:hover{background:#0000000a}.schema-table-others{margin-top:8px;padding-left:2px}.schema-table-link{font-size:12px;color:#999;cursor:pointer;margin-right:12px}.schema-table-link:hover{color:#999;text-decoration:underline}.capture-entry{border-top:1px solid rgba(0,0,0,.04);padding:4px 0 2px}.capture-entry:first-child{border-top:none}.capture-entry-header{display:flex;align-items:center;padding:2px 12px;gap:8px}.capture-time-label{font-size:11px;color:#999;font-weight:500;font-variant-numeric:tabular-nums}.capture-entry-delete{background:none;border:none;color:#aaa;font-size:14px;cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .15s}.capture-entry:hover .capture-entry-delete{opacity:1}.capture-entry-delete:hover{color:#e06c75}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.image-lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 32px #00000080}.entity-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:1px 8px 1px 6px;border-radius:10px;border:1px solid;cursor:pointer;margin-left:4px;white-space:nowrap;flex-shrink:0}.entity-chip:hover{filter:brightness(1.2)}.entity-chip-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.node-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:6px;margin-right:2px;align-self:center;flex-shrink:0}.field-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle}.field-progress-bar{display:inline-block;width:60px;height:8px;background:#f2f2f2;border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:8px}.field-progress-fill{display:block;height:100%;border-radius:4px;transition:width .3s ease}.ste-table-computed{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:#aaa}.field-ref-group{margin:4px 0}.field-ref-header{display:flex;align-items:center;gap:6px;background:none;border:none;color:#444;font-size:13px;cursor:pointer;padding:4px 0;width:100%;text-align:left}.field-ref-header:hover{color:#1a1a1a}.field-ref-summary{color:#999}.field-ref-field{font-weight:600}.field-ref-tag{font-weight:500}.field-ref-list{padding-left:16px}.cmdbar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:500;display:flex;justify-content:center;padding-top:20vh}.cmdbar{background:#f2f2f2;border:1px solid #404040;border-radius:10px;width:480px;max-height:400px;box-shadow:0 16px 48px #0009;overflow:hidden;display:flex;flex-direction:column;align-self:flex-start}.cmdbar-input{background:transparent;border:none;border-bottom:1px solid #333;color:#1a1a1a;padding:14px 16px;font-size:15px;outline:none;width:100%}.cmdbar-input::placeholder{color:#999}.cmdbar-list{overflow-y:auto;max-height:320px;padding:4px}.cmdbar-empty{padding:12px 16px;color:#999;font-size:13px;font-style:italic}.cmdbar-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:none;border:none;color:#333;font-size:13px;text-align:left;border-radius:6px;cursor:pointer}.cmdbar-item:hover,.cmdbar-item.selected{background:#569cd6;color:#fff}.cmdbar-label{flex:1}.cmdbar-shortcut{font-size:11px;color:#999;background:#e8e8e8;padding:2px 6px;border-radius:3px;font-family:monospace}.editing-indicator{color:#61afef;font-size:12px;margin-left:6px;align-self:center;opacity:.7;animation:pulse-edit 2s ease-in-out infinite}@keyframes pulse-edit{0%,to{opacity:.4}50%{opacity:.9}}.sync-indicator{color:#61afef;margin-left:6px;align-self:center;flex-shrink:0;opacity:.5}.entity-chip .sync-indicator{color:inherit;margin-left:4px;opacity:.6}.lock-indicator{color:#e8a838;margin-left:6px;align-self:center;flex-shrink:0;opacity:.6}.iot-device-view{margin-top:12px}.iot-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.iot-tile{background:#f7f7f8;border:1px solid #ececef;border-radius:8px;padding:10px 12px;min-width:0}.iot-tile-label{font-size:11px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.iot-tile-value{font-size:18px;font-weight:600;color:#1a1a1a;font-variant-numeric:tabular-nums;word-break:break-word}.iot-tile-sub{margin-top:2px;font-size:12px;color:#888}.iot-tile-age{margin-top:8px;font-size:11px;color:#aaa;font-variant-numeric:tabular-nums}.iot-tile-spark-btn{display:block;width:100%;margin-top:8px;padding:0;border:0;background:transparent;color:#5b8def;cursor:pointer;border-radius:4px;text-align:left}.iot-tile:not(.iot-tile--expanded) .iot-tile-spark-btn{width:auto}.iot-tile-spark-btn:hover{background:#5b8def0f}.iot-tile-spark-btn:focus-visible{outline:2px solid #5b8def;outline-offset:2px}.iot-tile--stale .iot-tile-spark-btn{color:#b9b9bf}.iot-spark--loading{opacity:.5}.iot-tile--expanded{grid-column:1 / -1}.iot-tile-horizons{display:flex;gap:4px;margin-top:6px}.iot-tile-horizon{font:inherit;font-size:11px;padding:2px 8px;border:1px solid #e0e0e4;background:#fff;color:#666;border-radius:999px;cursor:pointer;font-variant-numeric:tabular-nums}.iot-tile-horizon:hover{background:#f3f4f7}.iot-tile-horizon--active,.iot-tile-horizon--active:hover{background:#5b8def;border-color:#5b8def;color:#fff}.iot-tile-age--stale{color:#b14545;font-weight:500}.iot-tile--stale .iot-tile-value{color:#999}.iot-tile--stale{border-color:#f0d8d8;background:#fbf6f6}.iot-tile-kv{display:flex;flex-direction:column;gap:2px;font-size:13px;font-variant-numeric:tabular-nums}.iot-tile-kv-row{display:flex;justify-content:space-between;gap:8px}.iot-tile-kv-key{color:#888}.iot-tile-kv-val{color:#1a1a1a;word-break:break-word;text-align:right}.iot-led{display:inline-block;padding:2px 8px;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.04em}.iot-led--on{background:#fff4cc;color:#b58a00}.iot-led--off{background:#ececef;color:#888}.iot-tile-action{margin-top:8px}.iot-cmd-btn{background:#fff;border:1px solid #d4d4d8;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;color:#333;cursor:pointer;transition:background 80ms}.iot-cmd-btn:hover:not(:disabled){background:#f5f5f7;border-color:#999}.iot-cmd-btn:disabled{opacity:.5;cursor:default}.iot-cmd-btn--primary{background:#1f6feb;border-color:#1f6feb;color:#fff}.iot-cmd-btn--primary:hover:not(:disabled){background:#1a5fcc;border-color:#1a5fcc}.iot-tile-action--row{display:flex;gap:6px}.iot-tile--name{position:relative}.iot-name-lock{position:absolute;top:8px;right:8px;background:transparent;border:0;padding:4px;border-radius:4px;color:#999;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.iot-name-lock:hover{background:#ececef;color:#444}.iot-tile--editing{grid-column:1 / -1}.iot-name-input{width:100%;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;border:1px solid #d4d4d8;border-radius:6px;padding:6px 10px;background:#fff;color:#1a1a1a;outline:none;margin-top:2px;box-sizing:border-box}.iot-name-input:focus{border-color:#1f6feb;box-shadow:0 0 0 3px #1f6feb26}.iot-name-error{margin-top:6px;font-size:12px;color:#b14545}.iot-last-event{margin-top:12px;display:flex;gap:8px;align-items:baseline;font-size:12px;color:#666}.iot-last-event-label{text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:#888}.iot-last-event-channel{color:#1a1a1a;font-weight:500}.iot-last-event-data{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#666}.pin-indicator{color:#999;margin-left:8px;align-self:center;flex-shrink:0}.node-widget{margin:16px 0 24px;border-radius:8px;overflow:hidden}.node-row.nested-card-active{margin-bottom:0}.node-row.nested-card-active:after{content:"";position:absolute;left:var(--nested-border-left, 22px);right:0;top:0;bottom:0;border:1px solid var(--nested-border-color, #cbd5e1);border-bottom:none;border-radius:6px 6px 0 0;pointer-events:none}.nested-card-body{margin-left:var(--nested-border-left, 22px);border:1px solid var(--nested-border-color, #cbd5e1);border-top:none;border-radius:0 0 6px 6px;background:var(--surface-soft, #f8fafc);padding:8px 16px 12px;margin-bottom:4px}.nested-card-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted, #6b7c8c);cursor:pointer;vertical-align:baseline;transform:translateY(-1px);transition:transform .12s ease,color .12s ease,background .12s ease}.nested-card-toggle:hover{background:var(--surface-emphasis, #e8eef5);color:var(--text-primary, #1f2937)}.nested-card-toggle.open{color:var(--text-primary, #1f2937)}.nested-card-toggle.open svg{transform:rotate(180deg)}.nested-card-toggle svg{transition:transform .16s ease}.nested-stat-strip{display:flex;align-items:center;gap:24px;padding:4px 0}.nested-stat{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.nested-stat__value{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary, #1f2937)}.nested-stat__label{font-size:.75rem;color:var(--text-muted, #6b7c8c);margin-top:2px}.nested-placeholder{display:flex;align-items:center;gap:12px;padding:4px 0;font-size:.875rem;color:var(--text-muted, #6b7c8c)}.nested-placeholder__name{font-weight:500;color:var(--text-primary, #1f2937)}.nested-placeholder__note{font-style:italic}.sonos-nested{display:flex;flex-direction:column;gap:8px}.sonos-nested-groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sonos-nested-group{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(0,2fr) 140px;align-items:center;gap:16px;padding:6px 0;border-top:1px solid var(--border-subtle, #e5e7eb)}.sonos-nested-group:first-child{border-top:none}.sonos-nested-group-head{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;min-width:0}.sonos-nested-group-name{font-weight:600;color:var(--text-primary, #1f2937);font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.sonos-nested-group-sub{font-size:.7rem;color:var(--text-muted, #6b7c8c);margin-top:1px}.sonos-nested-group-now{font-size:.8125rem;color:var(--text-primary, #1f2937);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sonos-nested-track{font-weight:500}.sonos-nested-artist{color:var(--text-muted, #6b7c8c)}.sonos-nested-idle{color:var(--text-muted, #6b7c8c);font-style:italic}.sonos-nested-volume{display:flex;align-items:center;gap:8px}.sonos-nested-volume-track{flex:1;height:4px;background:var(--surface-emphasis, #e6e8e6);border-radius:2px;overflow:hidden}.sonos-nested-volume-fill{height:100%;background:var(--text-primary, #1f2937);border-radius:2px;transition:width .16s ease}.sonos-nested-volume-val{font-size:11px;min-width:22px;text-align:right;color:var(--text-muted, #888);font-variant-numeric:tabular-nums}.node-widget-error{padding:12px;background:#2a1a1a;border:1px solid #e06c7533;border-radius:6px;color:#e06c75;font-size:13px}.app-loading{padding:24px;color:#999;font-size:13px;text-align:center}.app-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.app-label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.app-action-btn{padding:4px 12px;font-size:11px;background:#f0f0f0;border:1px solid #d0d0d0;color:#999;border-radius:4px;cursor:pointer;transition:all .15s}.app-action-btn:hover{background:#e0e0e0;color:#2c2c2c}.app-action-btn.active{background:#569cd620;border-color:#569cd644;color:#569cd6}.pipeline-svg,.juul-svg,.grubhub-svg{width:100%;max-height:320px;display:block}.pipeline-stage{transition:opacity .15s}.pipeline-stage:hover rect{stroke-width:2}.pipeline-detail{margin-top:12px;padding:12px 16px;background:#fafafa;border-left:3px solid #555;border-radius:0 6px 6px 0;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pipeline-detail-title{font-size:13px;font-weight:600;margin-bottom:8px}.pipeline-detail-list{margin:0;padding-left:16px;font-size:12px;color:#444;line-height:1.8}.pipeline-examples{margin-top:12px;padding-top:10px;border-top:1px solid #2a2a2a}.pipeline-examples-title{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.pipeline-example{font-size:11px;color:#999;font-family:SF Mono,Menlo,monospace;padding:6px 8px;background:#f8f8f8;border-radius:4px;margin-bottom:4px;line-height:1.5;white-space:pre-wrap}.pipeline-metrics{display:flex;gap:20px;margin-top:16px;padding-top:12px;border-top:1px solid #2a2a2a;flex-wrap:wrap}.metric{display:flex;flex-direction:column;gap:2px}.metric-value{font-size:18px;font-weight:700;color:#1a1a1a}.metric-label{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.5px}.pipeline-arrow-animate{stroke:#666;stroke-dasharray:6 4;animation:flowDash 1s linear infinite}@keyframes flowDash{to{stroke-dashoffset:-10}}.viaduct-view-tabs{display:flex;gap:2px}.viaduct-view-tab{padding:4px 12px;font-size:11px;font-weight:600;background:transparent;border:1px solid transparent;color:#86868b;border-radius:4px;cursor:pointer;transition:all .15s}.viaduct-view-tab:hover{color:#424245}.viaduct-view-tab.active{background:#f0f0f2;border-color:#d2d2d7;color:#1d1d1f}.case-study{padding:4px 0}.case-header{margin-bottom:16px}.case-title{display:block;font-size:15px;font-weight:700;color:#1d1d1f;margin-bottom:4px}.case-subtitle{font-size:12px;color:#86868b;line-height:1.5}.case-timeline{display:flex;gap:4px;margin-bottom:16px;overflow-x:auto}.case-phase-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;background:transparent;border:1px solid #e5e5ea;border-radius:6px;cursor:pointer;transition:all .15s;flex-shrink:0}.case-phase-btn:hover{border-color:#d2d2d7}.case-phase-btn.active{background:#f5f5f7;border-color:#d2d2d7}.case-phase-num{font-size:10px;font-weight:700;color:#aeaeb2;min-width:14px;text-align:center}.case-phase-btn.active .case-phase-num{color:#2d9d78}.case-phase-label{font-size:11px;font-weight:500;color:#636366;white-space:nowrap}.case-phase-btn.active .case-phase-label{color:#1d1d1f;font-weight:600}.case-detail{border-left:2px solid #e5e5ea;padding:8px 14px;margin-bottom:10px;margin-left:4px}.case-detail-header{margin-bottom:6px}.case-detail-title{font-size:13px;font-weight:600;color:#1d1d1f}.case-narrative{font-size:12.5px;line-height:1.65;color:#424245;margin-bottom:10px}.case-detail-list{margin:0;padding-left:18px;list-style:none}.case-detail-list li{font-size:12px;line-height:1.6;color:#424245;margin-bottom:3px;position:relative}.case-detail-list li:before{content:"";position:absolute;left:-14px;top:7px;width:4px;height:4px;border-radius:50%;background:#c7c7cc}.case-detail-list li.has-asterisk{color:#86868b}.asterisk-marker{color:#2d9d78;font-weight:700;font-size:14px;margin-left:2px;cursor:help}.case-modes-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.case-mode-card{border:1px solid #e5e5ea;border-radius:8px;padding:10px;background:#fafafa}.case-mode-header{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.case-mode-label{font-size:12px;font-weight:700}.case-mode-type{font-size:11px;color:#86868b;font-weight:500}.case-mode-diagram{display:flex;justify-content:center;margin:4px 0 8px}.bolt-svg{width:100px;height:50px}.case-mode-details{display:flex;flex-direction:column;gap:4px}.case-mode-row{display:flex;gap:6px;font-size:10.5px;line-height:1.4}.cmd-label{font-weight:600;color:#86868b;min-width:52px;flex-shrink:0}.cmd-value{color:#424245}.grubhub-layout{display:flex;gap:16px}.grubhub-svg{flex:1;min-width:0}.grubhub-controls{width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.grubhub-control{display:flex;flex-direction:column;gap:4px}.grubhub-control label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px}.grubhub-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e8e8e8;border-radius:2px;outline:none}.grubhub-value{font-size:12px;color:#999;text-align:right}.grubhub-price-display{padding:12px;background:#fafafa;border-radius:6px;text-align:center}.price-label{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.5px}.price-value{font-size:28px;font-weight:700;color:#2c2c2c;transition:color .3s}.price-value.surge{color:#e06c75}.price-value.low{color:#98c379}.price-status{font-size:10px;color:#888;margin-top:2px}.grubhub-stats{display:flex;flex-direction:column;gap:8px}.grubhub-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.grubhub-metric-card{display:flex;flex-direction:column;align-items:center;padding:6px 4px;background:#f8f8f8;border:1px solid #222;border-radius:4px}.gm-value{font-size:16px;font-weight:700;color:#2c2c2c;font-variant-numeric:tabular-nums}.gm-label{font-size:9px;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.grubhub-algo-note{font-size:10px;color:#aaa;font-family:SF Mono,Fira Code,monospace;margin-top:8px;padding:6px 8px;background:#f5f5f5;border-radius:4px;border:1px solid #ddd}.grubhub-context{font-size:11px;color:#888;font-style:italic;margin-top:10px;padding-top:8px;border-top:1px solid #222;line-height:1.5}.network-summary{display:flex;gap:12px}.net-stat{font-size:11px;color:#888;padding:2px 8px;background:#fafafa;border-radius:4px}.network-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}.network-column{display:flex;flex-direction:column;gap:4px}.network-col-header{font-size:10px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;border-bottom:1px solid #2a2a2a;margin-bottom:4px}.network-card{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fafafa;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .1s;font-size:12px}.network-card:hover{background:#f7f7f7;border-color:#ddd}.network-card.selected{background:#f7f7f7;border-color:#569cd644}.net-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.net-card-name{color:#2c2c2c;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.net-card-meta{font-size:10px;color:#999;font-family:SF Mono,Menlo,monospace}.net-card-meta.sensitive{filter:blur(4px);transition:filter .2s}.net-card-meta.sensitive:hover{filter:none}.net-card-link{color:#569cd6;text-decoration:none;font-size:11px}.network-detail{padding:12px;background:#fafafa;border-radius:6px;border:1px solid #2a2a2a;animation:slideDown .15s ease}.network-detail-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.network-detail-name{font-size:14px;font-weight:600;color:#2c2c2c}.network-detail-type{font-size:11px;color:#888;padding:1px 6px;background:#f2f2f2;border-radius:3px}.net-zoom-btn{margin-left:auto;padding:3px 10px;font-size:11px;background:#f0f0f0;border:1px solid #d0d0d0;color:#569cd6;border-radius:4px;cursor:pointer}.net-zoom-btn:hover{background:#e0e0e0}.network-detail-fields{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.net-field-key{color:#888}.net-field-value{color:#2c2c2c;font-family:SF Mono,Menlo,monospace;font-size:11px}.net-field-value.sensitive{filter:blur(4px);transition:filter .2s;cursor:pointer}.net-field-value.sensitive:hover{filter:none}.search-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;justify-content:center;padding-top:80px}.search-panel{width:560px;max-height:70vh;background:#fff;border:1px solid #d0d0d0;border-radius:10px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;overflow:hidden}.search-input-row{display:flex;align-items:center;padding:12px 16px;gap:8px;border-bottom:1px solid #e0e0e0}.search-icon{color:#999;flex-shrink:0}.search-input{flex:1;background:transparent;border:none;color:#2c2c2c;font-size:15px;outline:none;font-family:inherit}.search-input::placeholder{color:#aaa}.search-filters{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid #2a2a2a;flex-wrap:wrap}.search-filter-chip{padding:3px 10px;font-size:11px;border-radius:12px;border:1px solid #ddd;background:transparent;color:#888;cursor:pointer;transition:all .1s}.search-filter-chip:hover{border-color:#aaa;color:#444}.search-filter-chip.active{border-color:var(--chip-color, #569cd6);color:var(--chip-color, #569cd6);background:color-mix(in srgb,var(--chip-color, #569cd6) 10%,transparent)}.search-results{flex:1;overflow-y:auto;padding:4px 0}.search-result-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;transition:background .1s}.search-result-item:hover,.search-result-item.selected{background:#f2f2f2}.search-result-content{flex:1;min-width:0;color:#2c2c2c;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-content mark{background:#e5c07b33;color:#e5c07b;border-radius:2px;padding:0 1px}.search-result-meta{font-size:11px;color:#aaa;flex-shrink:0}.search-result-tags{display:flex;gap:4px;flex-shrink:0}.search-empty{padding:32px;text-align:center;color:#aaa;font-size:13px}.search-hint{padding:8px 16px;font-size:11px;color:#444;border-top:1px solid #2a2a2a}.search-hint kbd{display:inline-block;padding:1px 5px;font-size:10px;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:3px;color:#999;font-family:inherit}.sf-tabs{display:flex;gap:2px}.sf-tab{padding:4px 10px;font-size:11px;background:transparent;border:1px solid transparent;color:#999;border-radius:4px;cursor:pointer;transition:all .1s}.sf-tab:hover{color:#999}.sf-tab.active{background:#f0f0f0;border-color:#d0d0d0;color:#2c2c2c}.sf-eng-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:12px;color:#999}.sf-eng-note{font-size:11px;color:#999;font-style:italic}.sf-workflow-list{display:flex;flex-direction:column;gap:6px}.sf-workflow-row{display:flex;align-items:center;gap:10px}.sf-workflow-name{width:130px;font-size:12px;color:#444;flex-shrink:0}.sf-workflow-bar-track{flex:1;height:6px;background:#fafafa;border-radius:3px;overflow:hidden}.sf-workflow-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.sf-workflow-pct{width:32px;text-align:right;font-size:11px;color:#888;font-family:SF Mono,Menlo,monospace}.sf-workflow-trend{font-size:12px;width:16px;text-align:center}.sf-workflow-trend.up{color:#98c379}.sf-workflow-trend.down{color:#e06c75}.sf-workflow-trend.stable{color:#999}.sf-eng-footer{margin-top:12px;padding-top:10px;border-top:1px solid #2a2a2a;font-size:11px;color:#999;font-style:italic}.sf-opp-total{text-align:center;margin-bottom:16px}.sf-opp-amount{font-size:32px;font-weight:700;color:#1a1a1a;display:block}.sf-opp-label{font-size:12px;color:#888}.sf-opp-bars{display:flex;flex-direction:column;gap:10px}.sf-opp-item{display:flex;flex-direction:column;gap:4px}.sf-opp-bar-header{display:flex;justify-content:space-between;font-size:12px;color:#444}.sf-opp-bar-track{height:8px;background:#fafafa;border-radius:4px;overflow:hidden}.sf-opp-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.sf-platform-svg{width:100%;max-height:260px;display:block}@media(max-width:768px){.app{padding:12px;padding-top:max(12px,env(safe-area-inset-top));max-width:100%}.view-switcher{margin-bottom:12px;gap:6px;flex-wrap:wrap;align-items:center}.view-tabs{order:2;width:100%;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.view-tabs::-webkit-scrollbar{display:none}.view-tabs button{flex-shrink:0;padding:8px 14px;font-size:14px;min-height:36px}.nav-right{order:1;margin-left:auto}.search-trigger,.capture-link{width:36px;height:36px}.search-trigger svg{width:16px;height:16px}.capture-link{font-size:22px}.breadcrumbs{font-size:13px;margin-bottom:6px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.breadcrumb-link{font-size:13px;padding:4px 0}.breadcrumb-back{padding:4px 8px 4px 0;min-width:28px;min-height:28px}.breadcrumb-back svg{width:16px;height:16px}.toolbar{gap:6px}.toolbar-btn{min-width:36px;height:36px}.toolbar-btn svg{width:16px;height:16px}.toolbar-btn-text{padding:0 16px;font-size:14px;height:36px}.view-header{margin-bottom:14px}.view-header h2{font-size:20px;margin-bottom:4px}.pinned-section{margin-bottom:16px;padding:10px 12px}.pinned-section-header{font-size:11px;margin-bottom:6px}.node-row{min-height:36px;padding:2px 0}.node-collapse{width:24px;height:28px;opacity:1;align-self:flex-start}.node-collapse .collapse-arrow{border-width:5px 0 5px 7px}.node-bullet-handle{width:28px;height:28px;align-self:flex-start}.node-bullet-handle .bullet{width:7px;height:7px}.node-editor .editor-input{font-size:15px;padding:4px;min-height:28px}.task-checkbox{width:20px;height:20px;margin:7px 4px 0 0}.header-h1 .node-editor .editor-input{font-size:18px}.header-h2 .node-editor .editor-input{font-size:16px}.tag-badge{font-size:11px;padding:2px 6px}.editing-indicator,.sync-indicator,.lock-indicator,.pin-indicator{margin-left:4px}.calendar-picker{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:12px 12px 0 0;width:100%;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.cal-day{padding:8px 0;font-size:14px}.cal-weekday{font-size:11px;padding:4px 0}.cmdbar-backdrop{padding-top:0;align-items:flex-start}.cmdbar{width:100%;max-height:100dvh;border-radius:0;border:none}.cmdbar-input{padding:16px;font-size:16px}.cmdbar-item{padding:12px 16px;font-size:14px}.search-panel-backdrop{padding:0}.search-panel{width:100%;max-height:100dvh;border-radius:0;border:none}.mention-popup{left:8px!important;right:8px;max-width:none;min-width:0}.mention-item{padding:10px 12px;font-size:14px}.link-popup{position:fixed;bottom:0;left:0;right:0;top:auto;border-radius:12px 12px 0 0;min-width:0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.link-popup-field input{padding:10px 12px;font-size:15px}.backlinks-section{margin-top:24px}.backlink-item{padding:8px 10px}.captures-section{margin-top:12px}.capture-entry-header{padding:4px 10px}.tag-editor{max-width:100%}.ste-field-row{flex-wrap:wrap;gap:6px}.ste-field-name{width:100%}.field-row{gap:8px}.field-label{min-width:60px;font-size:12px}.inline-schema-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.resizable-image-wrapper img{max-width:100%}.resize-handle{width:16px;height:16px;opacity:1}.hydro-shelf{padding:12px 10px}.hydro-shelf-header{flex-wrap:wrap;gap:6px 10px}.hydro-shelf-devices{flex-wrap:wrap}.hydro-tile-grid{grid-template-columns:1fr 1fr;gap:8px}.hydro-tile--wide{grid-column:1 / -1}}@media(max-width:480px){.hydro-tile-grid{grid-template-columns:1fr}.hydro-tile--wide{grid-column:auto}.hydro-bays-grid{gap:4px}}.sf-signal-toggle{margin-left:8px;padding:2px 8px;font-size:10px;background:transparent;border:1px solid #ddd;color:#999;border-radius:3px;cursor:pointer}.sf-signal-toggle:hover{border-color:#aaa;color:#999}.sf-signal-toggle.active{border-color:#c678dd44;color:#c678dd}.sf-signal-badge{font-size:10px;width:18px;text-align:center;flex-shrink:0}.sf-workflow-bar-inferred{position:absolute;top:0;left:0;height:100%;background:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(198,120,221,.15) 2px,rgba(198,120,221,.15) 4px);border-radius:3px}.sf-workflow-bar-track{position:relative}.sf-eng-header>div{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.sf-ds-header{margin-bottom:14px}.sf-ds-title{font-size:13px;font-weight:600;color:#2c2c2c;display:block;margin-bottom:4px}.sf-ds-subtitle{font-size:11px;color:#888;font-style:italic}.sf-ds-grid{display:flex;flex-direction:column;gap:8px}.sf-ds-card{padding:8px 10px;background:#f8f8f8;border:1px solid #222;border-radius:4px}.sf-ds-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.sf-ds-card-name{font-size:12px;font-weight:500;color:#333}.sf-ds-coverage{font-size:11px;font-weight:600}.sf-ds-bar-track{height:4px;background:#fafafa;border-radius:2px;overflow:hidden;margin-bottom:4px}.sf-ds-bar-fill{height:100%;border-radius:2px}.sf-ds-desc{font-size:10px;color:#999;line-height:1.4}.promote-toggle{margin-left:6px;padding:2px 5px;font-size:10px;color:#ccc;cursor:pointer;border-radius:3px;transition:all .15s;opacity:0}.field-ref-header:hover .promote-toggle{opacity:1}.promote-toggle:hover{background:#0000000a;color:#666}.promote-toggle.promoted{color:#569cd6}.promoted-ref-row{display:flex;align-items:flex-start;padding:2px 0;gap:12px;font-size:13px}.promoted-ref-values{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.unpromote-toggle{margin-left:4px;font-size:10px;color:#ccc;cursor:pointer;opacity:0;transition:opacity .15s}.promoted-ref-row:hover .unpromote-toggle{opacity:1}.unpromote-toggle:hover{color:#e06c75}.hydro-station-view{display:flex;flex-direction:column;gap:14px}.hydro-overview{background:#f1f7f3;border:1px solid #d8e8de;border-radius:8px;padding:8px 14px;font-size:13px;color:#2c4a36}.hydro-overview strong{color:#1a7a44}.hydro-shelf{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:14px}.hydro-shelf-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.hydro-shelf-title{font-size:15px;font-weight:600;color:#2a2a2a}.hydro-shelf-devices{display:flex;gap:6px}.hydro-device-link{font:inherit;font-size:11px;color:#5b8def;background:transparent;border:1px solid #d3dffb;border-radius:999px;padding:1px 8px;cursor:pointer}.hydro-device-link:hover{background:#eef3fc}.hydro-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:stretch}.hydro-tile{background:#fff;border:1px solid #e6e8e6;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.hydro-tile--wide{grid-column:span 2}.hydro-tile--bays{grid-column:1 / -1}.hydro-tile-label{font-size:10px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.04em}.hydro-tile-value{font-size:16px;font-weight:600;color:#1a1a1a;font-variant-numeric:tabular-nums}.hydro-tile-sub{font-size:11px;color:#888}.hydro-tile-age{font-size:10px;color:#aaa;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:4px}.hydro-stat{background:#fff;border:1px solid #e6e8e6;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.hydro-stat--stale{background:#fbf6f6;border-color:#f0d8d8}.hydro-stat--empty{background:#f7f7f7;border-style:dashed;border-color:#d8dade;color:#aaa}.hydro-stat-value--empty{color:#bbb}.hydro-stat-label{font-size:10px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.04em}.hydro-stat-value{font-size:16px;font-weight:600;color:#1a1a1a;font-variant-numeric:tabular-nums}.hydro-stat-sub{font-size:11px;color:#888}.hydro-stat-age{font-size:10px;color:#aaa;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:4px}.hydro-stat-age--stale{color:#b14545;font-weight:500}.hydro-lamp-state--on{color:#d99a30;font-weight:700}.hydro-lamp-state--off{color:#999}.hydro-lamp-toggle{font:inherit;font-size:12px;background:#fff;border:1px solid #d2d4d6;border-radius:6px;padding:6px 10px;cursor:pointer;margin-top:4px;align-self:flex-start}.hydro-lamp-toggle:hover:not(:disabled){background:#f3f4f7}.hydro-lamp-toggle:disabled{opacity:.5;cursor:default}.hydro-cumulative-row{display:flex;justify-content:space-between;font-size:12px}.hydro-cumulative-label{color:#888}.hydro-cumulative-value{font-variant-numeric:tabular-nums;color:#2a2a2a}.hydro-schedule-row{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;font-size:12px}.hydro-schedule-disabled{color:#b14545}.hydro-schedule-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.hydro-schedule-toggle{font:inherit;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;cursor:pointer;border:1px solid transparent}.hydro-schedule-toggle--on{background:#e7f4ec;border-color:#b9d9c3;color:#2c8a44}.hydro-schedule-toggle--on:hover:not(:disabled){background:#d8ecdf}.hydro-schedule-toggle--off{background:#f3f4f7;border-color:#d2d4d6;color:#888}.hydro-schedule-toggle--off:hover:not(:disabled){background:#e8eaed;color:#555}.hydro-schedule-toggle:disabled{opacity:.5;cursor:default}.hydro-schedule-row--next{color:#555}.hydro-schedule-eta-label{color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.hydro-schedule-sync{font-size:12px;align-items:center;justify-content:flex-start;gap:8px}.hydro-schedule-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#cfd2d4;flex-shrink:0}.hydro-schedule-sync--ok .hydro-schedule-dot{background:#5cba6f}.hydro-schedule-sync--off .hydro-schedule-dot{background:#d99a30;box-shadow:0 0 0 3px #d99a302e}.hydro-schedule-sync--off{color:#b6671b;font-weight:500}.hydro-schedule-delta{font-size:12px}.hydro-schedule-delta--ok{color:#2c8a44}.hydro-schedule-delta--over{color:#5b8def}.hydro-schedule-delta--mild{color:#b6671b}.hydro-schedule-delta--severe{color:#b14545;font-weight:600}.hydro-schedule-note{font-size:10px;color:#999;font-style:italic;margin-top:auto;padding-top:4px}.hydro-bays-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.hydro-bay{aspect-ratio:1;border-radius:6px;background:#f0f3f0;border:1px dashed #c5cdc7}.hydro-bay--empty{background:#f0f3f0}.hydro-germination{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:14px}.hydro-germination-header{font-size:15px;font-weight:600;color:#2a2a2a;margin-bottom:10px}.hydro-germination-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.hydro-germination-item{display:flex;justify-content:space-between;background:#fff;border:1px solid #e6e8e6;border-radius:6px;padding:8px 10px;font-size:13px}.hydro-germination-name{font-weight:500}.hydro-germination-meta{color:#888;font-size:12px}.hydro-germination-empty-slot{margin-top:8px;font-size:11px;color:#999;font-style:italic}.hydro-stat-spark{margin-top:auto;padding-top:6px;color:#5b8def;width:100%}.hydro-stat--clickable{font:inherit;text-align:left;cursor:pointer;border-color:#e6e8e6}.hydro-stat--clickable:hover{background:#fafbfa;border-color:#c8d8f3}.hydro-stat--clickable:focus-visible{outline:2px solid #5b8def;outline-offset:2px}.hydro-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14181c73;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:hydro-fade .12s ease-out}@keyframes hydro-fade{0%{opacity:0}to{opacity:1}}.hydro-modal{background:#fff;border-radius:10px;box-shadow:0 12px 40px #00000040;width:min(720px,92vw);padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}.hydro-modal-header{display:flex;justify-content:space-between;align-items:center}.hydro-modal-title{font-size:14px;font-weight:600;color:#1a1a1a}.hydro-modal-close{font:inherit;font-size:22px;line-height:1;background:transparent;border:0;color:#888;cursor:pointer;padding:0 6px}.hydro-modal-close:hover{color:#2a2a2a}.hydro-modal-chart{width:100%;color:#5b8def}.hydro-modal-horizons{display:flex;gap:4px;justify-content:center}.hydro-modal-horizon{font:inherit;font-size:11px;padding:3px 10px;border:1px solid #e0e0e4;background:#fff;color:#666;border-radius:999px;cursor:pointer;font-variant-numeric:tabular-nums}.hydro-modal-horizon:hover{background:#f3f4f7}.hydro-modal-horizon--active,.hydro-modal-horizon--active:hover{background:#5b8def;border-color:#5b8def;color:#fff}.hydro-wiring-panel{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:14px}.hydro-wiring-header{font-size:15px;font-weight:600;color:#2a2a2a;margin-bottom:4px}.hydro-wiring-note{font-size:11px;color:#888;font-style:italic;margin-bottom:12px;max-width:60ch}.hydro-wiring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.hydro-wiring-device{display:flex;flex-direction:column;gap:4px}.hydro-wiring-device-name{font:inherit;font-size:12px;color:#5b8def;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;align-self:flex-start}.hydro-wiring-device-name:hover{text-decoration:underline}.hydro-wiring-device-name:disabled{color:#888;cursor:default}.hydro-wiring-table{border-collapse:collapse;font-size:12px}.hydro-wiring-table td{padding:2px 8px 2px 0;vertical-align:baseline}.hydro-wiring-channel{font-family:ui-monospace,SFMono-Regular,monospace;color:#555;white-space:nowrap}.hydro-wiring-arrow{color:#888;padding:0 4px}.hydro-wiring-concept{color:#2a2a2a}.hydro-wiring-row--unmapped .hydro-wiring-channel,.hydro-wiring-row--unmapped .hydro-wiring-concept{color:#aaa;font-style:italic}.hydro-germination-name{font:inherit;font-size:13px;font-weight:500;background:transparent;border:0;padding:0;color:#1a1a1a;cursor:pointer;text-align:left}.hydro-germination-name:hover{color:#5b8def}.hydro-germination-empty{font-size:12px;color:#888;padding:6px 0}.hydro-history-panel{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:14px}.hydro-history-header{font-size:15px;font-weight:600;color:#2a2a2a;margin-bottom:12px}.hydro-history-table{display:flex;flex-direction:column;gap:4px}.hydro-history-row{display:grid;grid-template-columns:90px 1fr 70px 1fr 70px;gap:10px;align-items:center;font-size:12px;font-variant-numeric:tabular-nums}.hydro-history-row--head{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px}.hydro-history-row--today .hydro-history-day{color:#5b8def;font-weight:600}.hydro-history-day,.hydro-history-metric-head,.hydro-history-value-head{color:#888}.hydro-history-value-head{text-align:right}.hydro-history-bar-track{background:#eef0ee;height:14px;border-radius:4px;overflow:hidden}.hydro-history-bar{height:100%;background:#5b8def;border-radius:4px;transition:width .2s ease}.hydro-history-bar--partial{background:repeating-linear-gradient(45deg,#5b8def,#5b8def 6px,#82a5f0 6px,#82a5f0 12px);background-size:17px 17px}@keyframes hydro-history-stripe-slide{0%{background-position:0 0}to{background-position:17px 0}}.hydro-history-bar--live{animation:hydro-history-stripe-slide 1.2s linear infinite}.hydro-history-value{color:#2a2a2a;text-align:right}.hydro-history-empty{font-size:12px;color:#888;font-style:italic}.hydro-history-note{margin-top:10px;font-size:10px;color:#999;font-style:italic}.hydro-section>summary{list-style:none;cursor:pointer}.hydro-section>summary::-webkit-details-marker{display:none}.hydro-section-summary{font-size:15px;font-weight:600;color:#2a2a2a;margin-bottom:12px;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.hydro-section-summary:before{content:"";display:inline-block;flex-shrink:0;width:9px;height:9px;border-right:2px solid #888;border-bottom:2px solid #888;transform:rotate(45deg) translate(-2px,-2px);transition:transform .12s ease}.hydro-section:not([open])>.hydro-section-summary{margin-bottom:0}.hydro-section:not([open])>.hydro-section-summary:before{transform:rotate(-45deg) translate(-2px,-2px)}.plugins-tab-grid{display:flex;flex-direction:column;gap:8px}.plugins-tab-card{display:flex;align-items:stretch;background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;font-family:inherit;color:#2a2a2a;overflow:hidden}.plugins-tab-card:hover{background:#f3f6f3;border-color:#c5cdc7}.plugins-tab-card--available,.plugins-tab-card--available:hover{background:#f5f6f7;border-color:#dcdfe1}.plugins-tab-card-body{flex:1;display:flex;flex-direction:column;gap:4px;padding:14px;background:transparent;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.plugins-tab-card-body:disabled{cursor:default}.plugins-tab-card-body--static{cursor:default}.plugins-tab-card-header{display:flex;align-items:center;gap:8px}.plugins-tab-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.plugins-tab-status--ok{background:#4caf50}.plugins-tab-status--err{background:#e53935}.plugins-tab-status--idle{background:#bbb}.plugins-tab-title{font-size:15px;font-weight:600}.plugins-tab-module{color:#888;font-size:12px;font-family:ui-monospace,SFMono-Regular,monospace}.plugins-tab-meta{color:#999;font-size:12px;font-weight:400}.plugins-tab-error-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e53935;color:#fff;font-size:11px;font-weight:700;line-height:1;cursor:help}.plugins-tab-card-actions{display:flex;align-items:center;padding:0 12px;border-left:1px solid #e2e6e3}.plugins-tab-btn{font:inherit;font-size:13px;padding:6px 12px;border-radius:6px;border:1px solid #c5cdc7;background:#fff;color:#2a2a2a;cursor:pointer}.plugins-tab-btn:hover:not(:disabled){background:#f3f6f3}.plugins-tab-btn:disabled{cursor:default;opacity:.5}.plugins-tab-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.plugins-tab-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.plugins-tab-btn--quiet{background:transparent;border-color:transparent;color:#888}.plugins-tab-btn--quiet:hover:not(:disabled){color:#2a2a2a;border-color:#c5cdc7;background:#fff}.plugins-tab-btn--danger{background:#c0392b;border-color:#c0392b;color:#fff}.plugins-tab-btn--danger:hover:not(:disabled){background:#a93226;border-color:#a93226}.plugins-tab-section-header{margin-top:16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#888}.plugins-tab-inline-error{color:#c0392b;font-size:12px}.plugins-tab-empty{color:#888;font-style:italic;padding:24px 0}.devices-catalog{display:flex;flex-direction:column;gap:14px}.devices-catalog-empty{color:#888;font-style:italic;padding:24px 0}.devices-catalog-group{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:14px}.devices-catalog-group-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;gap:8px}.devices-catalog-group-tag{margin-left:0}.devices-catalog-group-count{font-size:13px;color:#888}.devices-catalog-tiles{display:flex;flex-wrap:wrap;gap:6px}.devices-catalog-tile{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#f0f3f0;border:1px solid #d6dbd7;border-radius:6px;font-size:13px;color:#2a2a2a;cursor:pointer;font-family:inherit;text-align:left;max-width:100%}.devices-catalog-tile:hover{background:#e6ebe7;border-color:#c5cdc7}.devices-catalog-tile-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.devices-catalog-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.devices-catalog-dot--ok{background:#4caf50}.devices-catalog-dot--idle{background:#bbb}.devices-catalog-dot--unknown{background:#ddd}.mounts-catalog{display:flex;flex-direction:column;gap:10px}.mounts-catalog-empty{color:#888;font-style:italic;padding:24px 0}.mounts-catalog-empty code{background:#f1f3f1;padding:1px 5px;border-radius:4px;font-size:12px;margin:0 2px}.mount-card{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;cursor:pointer;font-family:inherit}.mount-card:hover{background:#f3f6f3;border-color:#c5cdc7}.mount-card--err{border-color:#f0d8d8;background:#fbf6f6}.mount-card--err:hover{background:#f7eeee;border-color:#e8c5c5}.mount-card-row{display:flex;align-items:center;gap:10px}.mount-card-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mount-card-dot--ok{background:#4caf50}.mount-card-dot--err{background:#e53935}.mount-card-dot--idle{background:#bbb}.mount-card-name{font-size:15px;font-weight:600;color:#2a2a2a;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mount-card-sync{font:inherit;font-size:12px;color:#2a2a2a;background:#fff;border:1px solid #d2d4d6;border-radius:6px;padding:4px 10px;cursor:pointer;flex-shrink:0}.mount-card-sync:hover:not(:disabled){background:#f3f4f7;border-color:#b8babd}.mount-card-sync:disabled{opacity:.5;cursor:not-allowed}.mount-card-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#888}.mount-card-adapter{font-weight:500;color:#2a2a2a}.mount-card-path{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}.mount-card-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:#ececef;color:#555}.mount-card-error{margin-top:4px;font-size:12px;color:#b14545;font-family:ui-monospace,SFMono-Regular,monospace;word-break:break-word}.mount-view{display:flex;flex-direction:column;gap:0}.mount-view-empty{padding:18px 0;color:#888;font-style:italic}.mount-entry{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;font:inherit;font-size:13px;color:#2a2a2a;background:transparent;border:0;text-align:left;text-decoration:none;cursor:pointer}.mount-entry:hover{background:#f3f4f7}.mount-entry-icon{display:inline-flex;flex-shrink:0;width:16px;height:16px;align-items:center;justify-content:center}.mount-entry--folder .mount-entry-icon{color:#6c8db5}.mount-entry--file .mount-entry-icon{color:#999}.mount-entry-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mount-entry--folder .mount-entry-name{font-weight:500}.mount-entry-meta{flex-shrink:0;color:#888;font-size:11px;font-variant-numeric:tabular-nums}.mount-view-footer{margin-top:12px;padding-top:8px;border-top:1px solid #ececef;color:#888;font-size:11px}.file-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;z-index:700;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}.file-preview-toolbar{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#0000008c;color:#f0f1f4;font-size:13px}.file-preview-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-preview-btn{display:inline-flex;align-items:center;padding:4px 12px;font-size:12px;background:#ffffff1f;color:#f0f1f4;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;text-decoration:none;font-family:inherit}.file-preview-btn:hover{background:#fff3;border-color:#ffffff59}.file-preview-close{font-size:18px;line-height:1;padding:2px 10px 4px}.file-preview-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;min-height:0}.file-preview-image{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;cursor:default;background:#ffffff0a;border-radius:4px;box-shadow:0 8px 32px #00000080}.file-preview-fallback{color:#a8aebd;font-size:13px;background:#ffffff0f;padding:24px 32px;border-radius:8px}.file-preview-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:56px;background:#0006;color:#f0f1f4;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.file-preview-nav:hover{background:#000000a6;border-color:#ffffff4d}.file-preview-nav--prev{left:16px}.file-preview-nav--next{right:16px}.hydro-history-row{grid-template-columns:90px 1fr 70px 1fr 70px 70px 1fr}@media(max-width:720px){.hydro-history-row{grid-template-columns:78px 64px 60px 56px 1fr;gap:8px;font-size:11px}.hydro-history-row>:nth-child(2),.hydro-history-row>:nth-child(4){display:none}.hydro-history-day{font-size:11px}}.hydro-history-input{font:inherit;font-size:12px;background:transparent;border:1px solid transparent;border-radius:4px;padding:3px 6px;min-width:0;font-variant-numeric:tabular-nums;color:#2a2a2a}.hydro-history-input::placeholder{color:#ccc}.hydro-history-input:hover{border-color:#e0e2e0}.hydro-history-input:focus{outline:none;border-color:#5b8def;background:#fcfdff}.hydro-history-input--ph{text-align:right;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.hydro-history-input--ph::-webkit-inner-spin-button,.hydro-history-input--ph::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hydro-section-summary{display:flex;align-items:center;gap:8px}.hydro-log-btn{font:inherit;font-size:11px;font-weight:500;background:transparent;border:1px solid #d3dffb;color:#5b8def;border-radius:999px;padding:1px 10px;cursor:pointer;margin-left:auto;opacity:0;transition:opacity .12s ease}.hydro-section:hover .hydro-log-btn,.hydro-section .hydro-log-btn:focus-visible{opacity:1}.hydro-log-btn:hover{background:#eef3fc}.hydro-capture{width:min(440px,92vw);display:flex;flex-direction:column;gap:10px}.hydro-capture-row{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:center}.hydro-capture-label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.04em}.hydro-capture-input{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #d2d4d6;border-radius:6px;background:#fff;width:100%;box-sizing:border-box}.hydro-capture-input:focus{outline:none;border-color:#5b8def}.hydro-capture-textarea{resize:vertical;min-height:36px;font-family:inherit}.hydro-capture-error{font-size:12px;color:#b14545;padding:4px 8px;background:#fdf3f3;border-radius:4px}.hydro-capture-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.hydro-capture-cancel,.hydro-capture-save{font:inherit;font-size:13px;padding:6px 14px;border-radius:6px;cursor:pointer}.hydro-capture-cancel{background:#fff;border:1px solid #d2d4d6;color:#555}.hydro-capture-cancel:hover{background:#f3f4f7}.hydro-capture-save{background:#5b8def;border:1px solid #5b8def;color:#fff}.hydro-capture-save:hover{background:#4a7ce0}.hydro-capture-save:disabled,.hydro-capture-cancel:disabled{opacity:.5;cursor:default}.hydro-bay,button.hydro-bay{font:inherit;position:relative;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;color:#2a2a2a;text-align:center;overflow:hidden;background-color:#e9f3ec;background-size:cover;background-position:center;border:1px solid #b9d8c2;border-radius:6px;aspect-ratio:1}.hydro-bay:hover,button.hydro-bay:hover{background-color:#ddedde;border-color:#97a89c}.hydro-bay--empty,button.hydro-bay--empty{background-color:#f0f3f0;border:1px dashed #c5cdc7}.hydro-bay--empty:hover,button.hydro-bay--empty:hover{background-color:#e8ede8;border-color:#97a89c}.hydro-bay-footer{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 6px}.hydro-bay--has-image .hydro-bay-footer{background:linear-gradient(to top,#000000a6,#00000059 60%,#0000);padding-top:18px}.hydro-bay--has-image{border-color:#97a89c}.hydro-bay-pos{font-size:11px;font-weight:500;color:#6f8a76;font-variant-numeric:tabular-nums;letter-spacing:.04em}.hydro-bay--empty .hydro-bay-pos{color:#888}.hydro-bay--has-image .hydro-bay-pos{color:#ffffffd9}.hydro-bay-occupant{font-size:12px;font-weight:500;color:#1f4a2a;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hydro-bay--has-image .hydro-bay-occupant{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}button.hydro-bay-occupant--link{background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}button.hydro-bay-occupant--link:hover{text-decoration:underline}.hydro-bay-view{display:flex;flex-direction:column;gap:12px;margin-top:8px}.hydro-bay-view-header{display:flex;align-items:center;gap:12px;padding:4px 0}.hydro-bay-view-title{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.hydro-bay-view-pos{font-size:14px;font-weight:600;color:#2a4a32;letter-spacing:.02em}.hydro-bay-view-crop{background:transparent;border:0;padding:0;margin:0;font:inherit;font-size:13px;color:#1f4a2a;cursor:pointer}.hydro-bay-view-crop:hover{text-decoration:underline}.hydro-bay-view-crop--empty{color:#999;font-style:italic;cursor:default}.hydro-bay-nav-arrow{width:44px;height:44px;border-radius:22px;border:1px solid #b9d8c2;background:#e9f3ec;font-size:22px;line-height:1;cursor:pointer;color:#2a4a32;flex-shrink:0}.hydro-bay-nav-arrow:hover:not(:disabled){background:#ddedde}.hydro-bay-nav-arrow:disabled{opacity:.35;cursor:default}.hydro-bay-nav-arrow--capture{background:#fff5d6;border-color:#d6b34a;color:#6b4f00;font-size:14px;width:auto;min-width:56px;padding:0 10px}.hydro-bay-nav-arrow--capture:hover:not(:disabled){background:#ffeab8}.hydro-bay-capture-chip{display:flex;align-items:center;gap:8px;align-self:center;padding:6px 10px 6px 12px;border-radius:16px;background:#fff5d6;border:1px solid #d6b34a;color:#6b4f00;font-size:13px;font-weight:500}.hydro-bay-capture-chip-label{white-space:nowrap}.hydro-bay-capture-chip-exit{background:transparent;border:0;color:#6b4f00;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;border-radius:10px}.hydro-bay-capture-chip-exit:hover{background:#00000014}.hydro-bay-view-actions{display:flex;gap:8px;align-items:center}.hydro-bay-snap{flex:1;padding:12px 16px;font-size:16px;font-weight:500;background:#5fb585;color:#fff;border:0;border-radius:8px;cursor:pointer}.hydro-bay-snap:hover:not(:disabled){background:#4fa274}.hydro-bay-snap:disabled{opacity:.6;cursor:default}.hydro-bay-fullscreen{padding:12px 14px;font-size:14px;background:#fff;color:#1f4a2a;border:1px solid #b9d8c2;border-radius:8px;cursor:pointer}.hydro-bay-fullscreen:hover{background:#f3f8f4}.hydro-bay-hero{width:100%;border:0;padding:0;background:#f4f6f4;border-radius:8px;overflow:hidden;cursor:pointer;display:block;aspect-ratio:4 / 3}.hydro-bay-hero img{width:100%;height:100%;object-fit:cover;display:block}.hydro-bay-hero--empty{display:flex;align-items:center;justify-content:center;cursor:default;color:#888;font-size:14px;border:1px dashed #c5cdc7;background:#fafbfa}.hydro-bay-thumb-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.hydro-bay-thumb{flex:0 0 auto;width:72px;height:72px;border:0;padding:0;border-radius:6px;overflow:hidden;cursor:pointer;background:#f4f6f4}.hydro-bay-thumb img{width:100%;height:100%;object-fit:cover;display:block}.hydro-bay-thumb:hover{outline:2px solid #5fb585}.hydro-bay-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1000;display:flex;align-items:stretch;justify-content:center;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.hydro-bay-lightbox-content{flex:1;display:flex;flex-direction:column;max-width:1200px;max-height:100%;width:100%}.hydro-bay-lightbox-header{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#fff}.hydro-bay-lightbox-label{flex:1;font-size:14px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.hydro-bay-lightbox-time{font-size:12px;color:#fff9}.hydro-bay-lightbox-close{background:transparent;border:0;color:#fff;font-size:28px;line-height:1;width:40px;height:40px;border-radius:20px;cursor:pointer}.hydro-bay-lightbox-close:hover{background:#ffffff1f}.hydro-bay-lightbox-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 8px}.hydro-bay-lightbox-img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.hydro-bay-lightbox-step{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;color:#fff;border:0;width:44px;height:60px;font-size:32px;cursor:pointer;border-radius:6px}.hydro-bay-lightbox-step:hover{background:#ffffff38}.hydro-bay-lightbox-step--prev{left:8px}.hydro-bay-lightbox-step--next{right:8px}.hydro-bay-lightbox-footer{display:flex;align-items:center;gap:8px;padding:12px 16px}.hydro-bay-lightbox-bay{flex:1;background:#ffffff14;color:#fff;border:0;padding:12px;font-size:14px;border-radius:8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hydro-bay-lightbox-bay:hover:not(:disabled){background:#ffffff29}.hydro-bay-lightbox-bay:disabled{opacity:.35;cursor:default}.hydro-bay-lightbox-bay--capture{background:#ffd76438;color:#ffe9a3}.hydro-bay-lightbox-bay--capture:hover:not(:disabled){background:#ffd76457}.hydro-bay-lightbox-snap{background:#5fb585;color:#fff;border:0;padding:12px 18px;font-size:16px;font-weight:500;border-radius:8px;cursor:pointer;white-space:nowrap}.hydro-bay-lightbox-snap:hover:not(:disabled){background:#4fa274}.hydro-bay-lightbox-snap:disabled{opacity:.6;cursor:default}.hydro-crop-dates{display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:12px;color:#6f8a76;margin-top:2px}.hydro-crop-date{white-space:nowrap}.hydro-crop-date-label{color:#94a89a;margin-right:3px}.hydro-history-row{grid-template-columns:90px 1fr 70px 1fr 70px 1fr}.hydro-history-events-head{text-align:left}.hydro-history-events-cell{min-width:0}.hydro-history-events-empty{color:#ccc;font-size:12px}.hydro-history-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.hydro-history-chip{display:inline-flex;align-items:center;gap:4px;background:#f1f1f3;border:1px solid #e6e6ea;border-radius:999px;padding:1px 8px;font-size:11px;color:#555;font-variant-numeric:tabular-nums}.hydro-history-chip-count{font-weight:600;color:#2a2a2a}.hydro-history-expand-arrow{color:#aaa;font-size:10px;margin-left:2px}.hydro-history-row--has-events{cursor:pointer}.hydro-history-row--has-events:hover{background:#fafbfa}.hydro-history-events-list{display:flex;flex-direction:column;gap:3px;padding:8px 12px 12px 102px;font-size:12px;background:#fafbfa;border-left:2px solid #e6e8e6;margin:2px 0 6px}.hydro-history-event{display:grid;grid-template-columns:60px 1fr;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}.hydro-history-event-time{color:#888;font-size:11px}.hydro-history-event-summary{color:#2a2a2a}.hydro-history-event-note{color:#888;font-style:italic;font-size:11px;grid-column:2}@media(max-width:720px){.hydro-history-row{grid-template-columns:78px 64px 60px 1fr}.hydro-history-row>:nth-child(2),.hydro-history-row>:nth-child(4){display:none}.hydro-history-events-list{padding-left:16px}}.hydro-germination-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.hydro-germination-species{font:inherit;font-size:11px;background:#eef5ee;border:1px solid #d8e8de;color:#2c4a36;border-radius:999px;padding:1px 8px;cursor:pointer}.hydro-germination-species:hover{background:#e1efe6}.hydro-germination-species--text{cursor:default;background:#f3f4f7;border-color:#e6e8ea;color:#777}.hydro-germination-species--text:hover{background:#f3f4f7}.backlinks-section--empty .backlinks-header--empty{cursor:default;color:#aaa;font-style:italic}.backlinks-section--empty .backlinks-header--empty:hover{color:#aaa}.sonos-system{display:flex;flex-direction:column;gap:14px;padding:16px 0 8px}.sonos-system-groups{display:flex;flex-direction:column;gap:14px}.sonos-system-group{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:14px 16px 16px;transition:background .12s,border-color .12s,box-shadow .12s}.sonos-system-group--hover{border-color:#5b8def;background:#f0f5ff;box-shadow:0 0 0 3px #5b8def14}.sonos-system-group-header{display:flex;align-items:center;gap:16px;padding:4px 4px 14px;border-bottom:1px solid #ebeeec;margin-bottom:14px}.sonos-system-now-playing{flex:1;min-width:0}.sonos-system-track{font-size:15px;font-weight:600;color:#2a2a2a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.sonos-system-artist{font-size:12px;color:#888;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sonos-system-track--clickable,.sonos-system-artist--clickable{cursor:pointer}.sonos-system-track--clickable:hover,.sonos-system-artist--clickable:hover{text-decoration:underline}.sonos-system-track--clickable:focus-visible,.sonos-system-artist--clickable:focus-visible{outline:2px solid #4a90e2;outline-offset:2px;border-radius:2px}.sc-track-play{display:flex;align-items:center;gap:8px;margin:12px 0 16px;font-size:13px}.sc-track-play--empty{color:#aaa;font-style:italic;font-size:12px}.sc-track-play-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d8d8d8;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;color:#2a2a2a}.sc-track-play-btn:hover:not(:disabled){background:#f5f5f5;border-color:silver}.sc-track-play-btn:disabled{opacity:.5;cursor:not-allowed}.sc-track-play-select{padding:5px 8px;border:1px solid #d8d8d8;background:#fff;border-radius:4px;font-size:13px;color:#2a2a2a}.sc-track-play-status{color:#6c757d;font-size:12px}.sc-track-play-error{color:#c44;font-size:12px}.sonos-system-idle{font-size:13px;color:#aaa;font-style:italic}.sonos-system-controls{display:flex;align-items:center;gap:2px}.sonos-system-btn{background:transparent;border:none;color:#5a5a5a;cursor:pointer;width:30px;height:30px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.sonos-system-btn:hover{background:#eef0ee;color:#1a1a1a}.sonos-system-btn-play{width:36px;height:36px;background:#1a1a1a;color:#fff;margin:0 4px}.sonos-system-btn-play:hover{background:#2a2a2a;color:#fff}.sonos-system-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.sonos-system-card{background:#fff;border:1px solid #e6e8e6;border-radius:7px;padding:10px 12px;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:8px;transition:border-color .1s,box-shadow .1s,transform 80ms}.sonos-system-card:hover{border-color:#c8ccc8;box-shadow:0 1px 3px #0000000a}.sonos-system-card:active{cursor:grabbing;transform:scale(.99)}.sonos-system-card--coord{border-color:#cfd9ee;background:#fafcff}.sonos-system-card-name{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:13px;font-weight:500;color:#2a2a2a;cursor:pointer}.sonos-system-card-name:hover{color:#5b8def}.sonos-system-card-badge{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:999px;background:#eef3fc;color:#5b8def;border:1px solid #d3dffb}.sonos-system-card-volume{display:flex;align-items:center;gap:8px}.sonos-system-card-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e6e8e6;border-radius:2px;outline:none;cursor:pointer}.sonos-system-card-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#1a1a1a;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 2px #00000026}.sonos-system-card-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#1a1a1a;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 2px #00000026}.sonos-system-card-vol-val{font-size:11px;min-width:22px;text-align:right;color:#888;font-variant-numeric:tabular-nums}.sonos-system-leave-zone{padding:22px;border:1px dashed #d8dcd8;border-radius:10px;text-align:center;font-size:12px;color:#999;font-style:italic;transition:background .12s,border-color .12s,color .12s}.sonos-system-leave-zone--hover{border-color:#e06c75;color:#c45963;background:#fef5f6;font-style:normal}.tasks-view{display:flex;flex-direction:column;gap:12px}.tasks-view-empty{color:#888;font-style:italic;padding:24px 0}.tasks-view-toolbar{display:flex;gap:8px;align-items:center}.tasks-quick-add{display:flex;flex-direction:column;gap:8px}.tasks-quick-add--expanded{background:#fff;border:1px solid #c5cdc7;border-radius:10px;padding:12px;box-shadow:0 2px 8px #0000000a}.tasks-quick-add-row{display:flex;gap:8px;align-items:center}.tasks-quick-add-input{flex:1;font-family:inherit;font-size:14px;padding:6px 10px;border:1px solid #d6dbd9;border-radius:6px;background:#fff}.tasks-quick-add-input:focus{outline:none;border-color:#888c92}.tasks-quick-add--expanded .tasks-quick-add-input{font-size:15px;font-weight:500;border-color:transparent;background:transparent;padding:4px 6px}.tasks-quick-add--expanded .tasks-quick-add-input:focus{border-color:transparent;background:#fafbfa}.tasks-quick-add-fields{display:grid;grid-template-columns:64px 1fr;row-gap:6px;column-gap:12px;align-items:center;font-size:12px;color:#555}.tasks-quick-add-field-label{color:#888;font-size:12px;text-align:right}.tasks-quick-add-chip-row{display:flex;gap:6px;flex-wrap:wrap}.tasks-quick-add-area{font-family:inherit;font-size:13px;padding:4px 8px;border:1px solid #d6dbd9;border-radius:5px;background:#fff;width:100%;max-width:320px}.tasks-quick-add-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:#555}.tasks-quick-add-field-hint{font-size:12px;color:#999;font-style:italic}.tasks-quick-add-body-empty{display:flex}.tasks-quick-add-body-open{font-family:inherit;font-size:13px;padding:8px 10px;border:1px dashed #d6dbd9;background:#fafbfa;border-radius:6px;cursor:pointer;color:#666;text-align:left;width:100%}.tasks-quick-add-body-open:hover:not(:disabled){background:#f3f6f3;color:#333;border-color:#b9c1bd}.tasks-quick-add-body-open:disabled{cursor:default;opacity:.6}.tasks-quick-add-body-outliner{border:1px solid #d6dbd9;border-radius:6px;background:#fff;padding:6px 4px;min-height:60px;max-height:320px;overflow-y:auto}.tasks-quick-add-body-loading{padding:8px 10px;color:#999;font-size:12px}.tasks-quick-add-actions{display:flex;gap:8px;justify-content:flex-end}.tasks-quick-add-cancel{font-family:inherit;font-size:13px;padding:6px 12px;border:1px solid transparent;background:transparent;border-radius:6px;cursor:pointer;color:#666}.tasks-quick-add-cancel:hover{background:#f3f6f3;color:#333}.tasks-quick-add-btn{font-family:inherit;font-size:13px;padding:6px 12px;border:1px solid #c5cdc7;background:#fafbfa;border-radius:6px;cursor:pointer}.tasks-quick-add-btn:hover:not(:disabled){background:#f3f6f3}.tasks-quick-add-btn:disabled{cursor:default;opacity:.5}.tasks-filter-label{color:#888;margin-right:2px}.tasks-filter-select,.tasks-filter-input{font-family:inherit;font-size:12px;padding:3px 6px;border:1px solid #d6dbd9;border-radius:5px;background:#fff}.tasks-filter-input{min-width:120px}.tasks-filter-toggle{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.tasks-chip{display:inline-block;font-family:inherit;font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid transparent;background:#eef0ee;color:#555;cursor:pointer;text-transform:lowercase;letter-spacing:.02em}.tasks-chip.active{border-color:#6e7a73}.tasks-chip-status--triage{background:#fbf3dc;color:#8a6d1a}.tasks-chip-status--todo{background:#e3eef9;color:#2a5e90}.tasks-chip-status--wip{background:#fff2d6;color:#8a5a00}.tasks-chip-status--blocked{background:#fde2e1;color:#a23838}.tasks-chip-status--done{background:#e0f0d8;color:#4a7a36}.tasks-chip-status.clickable{border:1px solid transparent}.tasks-chip-status.clickable:hover{border-color:#0003}.tasks-chip-status--implicit{border-style:dashed!important;border-color:#0006!important;font-style:italic}.tasks-groups{display:flex;flex-direction:column;gap:16px}.tasks-group{background:#fafbfa;border:1px solid #e2e6e3;border-radius:10px;padding:12px 14px}.tasks-group-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;color:#333}.tasks-group-name{text-transform:capitalize}.tasks-group-count{font-size:11px;color:#888;font-weight:400}.tasks-card-list{display:flex;flex-direction:column;gap:8px}.tasks-card{background:#fff;border:1px solid #e2e6e3;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.tasks-card:hover{border-color:#c5cdc7;background:#fafbfa}.tasks-card.tasks-row--selected,.tasks-card.tasks-row--selected:hover{background:#e3eef9;border-color:#2a5e90}.tasks-card-title{font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;color:#2a2a2a;text-align:left;background:none;border:0;padding:0;cursor:pointer;word-break:break-word;white-space:normal}.tasks-card-title:hover{color:#2a5e90}.tasks-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:#555}.tasks-meta-chip{display:inline-block;padding:1px 7px;border-radius:9px;background:#eef0ee;color:#555;font-size:11px;letter-spacing:.02em;text-transform:lowercase}.tasks-meta-chip--code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:#666;background:#edf0f3;text-transform:none;letter-spacing:0}a.tasks-meta-chip--code{text-decoration:none;cursor:pointer}a.tasks-meta-chip--code:hover{background:#e2e6eb}.tasks-meta-chip--par{background:transparent;color:#6e7a73;padding:1px 4px;font-size:13px}.tasks-meta-chip--claim{background:#f4eef9;color:#6b4a8a;text-transform:none}.tasks-meta-chip--blocked-by{background:#fde2e1;color:#a23838;text-transform:none}.tasks-meta-chip--dup-of{display:inline-flex;align-items:center;gap:4px;background:#eaeef0;color:#555;border:0;cursor:pointer;font-family:ui-monospace,SFMono-Regular,monospace;text-transform:none;letter-spacing:0}.tasks-meta-chip--dup-of:hover:not(:disabled){background:#dde3e6;color:#2a2a2a}.tasks-meta-chip--dup-of:disabled{cursor:default;opacity:.7}.tasks-meta-chip-icon{flex:0 0 auto;vertical-align:middle}.tasks-card.tasks-card--duplicate{opacity:.6;background:#fafbfa}.tasks-card.tasks-card--duplicate:hover{opacity:.85}.tasks-card.tasks-card--duplicate.tasks-row--selected,.tasks-card.tasks-card--duplicate.tasks-row--selected:hover{opacity:1}.tasks-meta-chip--dupes{display:inline-flex;align-items:center;gap:4px;background:#ece6f6;color:#5a4a8a;border:1px solid transparent;cursor:pointer;text-transform:none;font-family:inherit;padding:1px 7px;font-size:11px;line-height:1.4}.tasks-meta-chip--dupes:hover{border-color:#5a4a8a}.tasks-meta-chip--dupes.is-expanded{background:#d8cdec;border-color:#5a4a8a}.tasks-meta-chip-icon{flex-shrink:0;transform:translateY(-.5px)}.tasks-meta-chip--dupe-of{display:inline-flex;align-items:center;gap:4px;background:#f0ecf8;color:#6e5fa0;text-transform:none;font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:0}.tasks-card-cluster{display:flex;flex-direction:column;gap:4px}.tasks-card-dupes{display:flex;flex-direction:column;gap:4px;margin-left:18px;padding-left:10px;border-left:2px solid #d8cdec}.tasks-card-dupes-loading,.tasks-card-dupes-empty{font-size:11px;color:#888;padding:4px 0;font-style:italic}.tasks-card.tasks-card--dupe{opacity:.78;padding:6px 10px;background:#fafbfc}.tasks-card.tasks-card--dupe .tasks-card-title{font-size:13px;font-weight:400;color:#555}.tasks-kanban{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.tasks-kanban-col{background:#fafbfa;border:1px solid #e2e6e3;border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-height:80px;transition:border-color 80ms ease,background 80ms ease}.tasks-kanban-col.is-drop-target{border-color:#6e7a73;background:#f1f4f1}.tasks-kanban-col-header{display:flex;align-items:center;gap:6px}.tasks-kanban-col-label{cursor:default}.tasks-kanban-col-count{font-size:11px;color:#888;font-weight:500}.tasks-kanban-col-body{display:flex;flex-wrap:wrap;gap:4px;min-height:28px;align-content:flex-start}.tasks-kanban-col-empty{font-size:11px;color:#aaa;font-style:italic;padding:4px 0}.tasks-kanban-chip{border:1px solid transparent;cursor:grab;background:#edf0f3;color:#444;padding:2px 7px;font-size:11px}.tasks-kanban-chip:hover{background:#e3e8ec;color:#2a2a2a;border-color:#c5cdc7}.tasks-kanban-chip:active,.tasks-kanban-chip.is-dragging{cursor:grabbing;opacity:.55}.tasks-filter-strip{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12px;color:#555;padding:6px 0;border-top:1px solid #eef0ee;border-bottom:1px solid #eef0ee}.tasks-filter-block{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.tasks-filter-block--search{flex:1 1 200px;justify-content:flex-end;gap:8px}.tasks-filter-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.tasks-filter-search{min-width:160px;max-width:320px;flex:1 1 auto}.tasks-filter-clear{font-family:inherit;font-size:11px;padding:3px 8px;border:1px solid #d6dbd9;background:#fff;border-radius:5px;cursor:pointer;color:#555;white-space:nowrap}.tasks-filter-clear:hover{background:#f3f6f3;color:#2a2a2a;border-color:#b9c1bd}.merge-dupes-popup{display:flex;flex-direction:column;gap:8px;background:#fff;color:#2a2a2a}.merge-dupes-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:#2a2a2a}.merge-dupes-title{letter-spacing:.01em}.merge-dupes-hint{font-size:12px;color:#666;line-height:1.4}.merge-dupes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.merge-dupes-row-wrap{margin:0;padding:0}.merge-dupes-row{width:100%;display:flex;align-items:center;gap:6px;padding:6px 8px;background:#f5f7f6;border:1px solid transparent;border-radius:6px;font:inherit;text-align:left;cursor:pointer;color:#444}.merge-dupes-row:hover:not(:disabled){background:#ecf0ee;border-color:#d0d8d3}.merge-dupes-row.is-canonical{background:#e3eef9;border-color:#2a5e90;color:#1a3a5a}.merge-dupes-row:disabled{cursor:default;opacity:.7}.merge-dupes-marker{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:#2a5e90;flex:0 0 14px}.merge-dupes-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:#666;background:#edf0f3;padding:1px 5px;border-radius:4px;flex:0 0 auto}.merge-dupes-text{flex:1 1 auto;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.merge-dupes-role{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#888;flex:0 0 auto}.merge-dupes-row.is-canonical .merge-dupes-role{color:#2a5e90}.merge-dupes-error{font-size:12px;color:#a23838;background:#fde2e1;padding:5px 8px;border-radius:4px}.merge-dupes-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:4px}.merge-dupes-cancel,.merge-dupes-confirm{font:inherit;font-size:12px;padding:5px 12px;border-radius:5px;border:1px solid #d0d8d3;background:#f5f7f6;color:#444;cursor:pointer}.merge-dupes-cancel:hover:not(:disabled){background:#ecf0ee}.merge-dupes-confirm{background:#2a5e90;border-color:#2a5e90;color:#fff}.merge-dupes-confirm:hover:not(:disabled){background:#234e78}.merge-dupes-confirm:disabled,.merge-dupes-cancel:disabled{opacity:.6;cursor:default}.task-deps-section{margin-top:28px;padding-top:16px;border-top:1px solid #2a2a2a3a}.task-deps-header{font-size:13px;font-weight:600;color:#555;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}.task-deps-row{display:flex;align-items:flex-start;gap:12px;padding:6px 0}.task-deps-row-label{width:90px;font-size:12px;color:#777;padding-top:4px;flex-shrink:0}.task-deps-row-content{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1;min-width:0}.task-deps-empty{font-size:12px;color:#aaa;font-style:italic}.task-deps-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 8px;border-radius:11px;background:#eef0ee;color:#333;font-size:12px;border:1px solid transparent}.task-deps-chip--done{background:#e0f0d8;color:#4a7a36}.task-deps-chip--blocked{background:#fde2e1;color:#a23838}.task-deps-chip--wip{background:#fff2d6;color:#8a5a00}.task-deps-chip--todo{background:#e3eef9;color:#2a5e90}.task-deps-chip-label{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-deps-chip-label:hover{text-decoration:underline}.task-deps-chip-status{font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.task-deps-chip-remove{background:none;border:none;padding:0 4px;color:inherit;opacity:.5;cursor:pointer;font-size:14px;line-height:1}.task-deps-chip-remove:hover{opacity:1}.task-deps-add-btn{background:none;border:1px dashed #aaa;border-radius:11px;padding:1px 8px;font-size:12px;color:#666;cursor:pointer}.task-deps-add-btn:hover{border-color:#555;color:#333}.task-deps-picker{position:relative;display:inline-flex;align-items:center;gap:6px}.task-deps-picker-input{font-size:12px;padding:2px 6px;border:1px solid #bbb;border-radius:6px;min-width:180px}.task-deps-picker-cancel{background:none;border:none;font-size:11px;color:#888;cursor:pointer}.task-deps-picker-cancel:hover{color:#333}.task-deps-picker-results{position:absolute;top:100%;left:0;margin:2px 0 0;padding:4px 0;list-style:none;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 12px #00000014;z-index:10;min-width:220px;max-height:240px;overflow-y:auto}.task-deps-picker-results li{padding:0}.task-deps-picker-result{display:block;width:100%;text-align:left;background:none;border:none;padding:4px 10px;font-size:12px;color:#333;cursor:pointer}.task-deps-picker-result:hover{background:#f0f4f8}.task-deps-error{font-size:12px;color:#a23838;padding:4px 0 0 102px}.tasks-card-age{margin-left:auto;color:#999;font-size:11px}.bug-lifecycle{display:flex;flex-direction:column;gap:8px;margin:12px 0 16px}.bug-lifecycle-callout{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:6px;background:#f4f9ee;border:1px solid #d0e2ba}.bug-lifecycle-callout--ready{background:#f4f9ee;border-color:#c9dcb1}.bug-lifecycle-callout-text{flex:1;font-size:13px;color:#3f5b25}.bug-lifecycle-actions{display:flex;align-items:center;gap:8px}.bug-lifecycle-status-note{font-size:12px;color:#777;margin-right:4px}.bug-lifecycle-wontfix{display:flex}.bug-lifecycle-btn{font-size:12px;padding:5px 12px;border-radius:4px;border:1px solid #d0d4da;background:#fff;color:#333;cursor:pointer}.bug-lifecycle-btn:hover:not(:disabled){background:#f4f6f9;border-color:#b9c1cb}.bug-lifecycle-btn:disabled{opacity:.55;cursor:not-allowed}.bug-lifecycle-btn--primary{background:#3f7a3f;border-color:#356a35;color:#fff}.bug-lifecycle-btn--primary:hover:not(:disabled){background:#356a35;border-color:#2c5a2c}.bug-lifecycle-btn--danger{color:#a23838;border-color:#e6c8c8}.bug-lifecycle-btn--danger:hover:not(:disabled){background:#fdf2f2;border-color:#d99a9a}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
