@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300..700&family=DM+Mono:wght@400;500&display=swap";.board-canvas{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-bg-base)}.board-canvas__bar{display:flex;align-items:center;gap:12px;height:52px;flex-shrink:0;padding:0 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.board-canvas__back{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;transition:background var(--dur-press) var(--ease-out)}.board-canvas__back:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.board-canvas__title{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--color-text-primary)}.board-canvas__bar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.board-canvas__btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--dur-press) var(--ease-out)}.board-canvas__btn:hover{background:var(--color-bg-elevated)}.board-canvas__btn--primary{background:var(--color-talkwo);border-color:var(--color-talkwo);color:#fff}.board-canvas__btn--primary:hover{background:var(--color-talkwo);filter:brightness(1.06)}.board-add{position:relative}.board-add__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:190px;padding:6px;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-lg);animation:boardMenuIn .14s var(--ease-out)}@keyframes boardMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.board-add__section{padding:6px 8px 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.board-add__menu>button{text-align:left;padding:7px 8px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font-size:13px;font-weight:500;cursor:pointer}.board-add__menu>button:hover{background:var(--color-bg-elevated)}.board-add__sep{height:1px;margin:5px 4px;background:var(--color-border)}.board-handle{width:9px;height:9px;background:var(--color-talkwo);border:2px solid var(--color-bg-surface);opacity:0;transition:opacity var(--dur-pop) var(--ease-out)}.react-flow__node:hover .board-handle,.board-handle.connectionindicator:hover{opacity:1}.board-rz-line{border-color:var(--color-talkwo)}.board-rz-handle{width:8px;height:8px;background:var(--color-bg-surface);border:1.5px solid var(--color-talkwo);border-radius:2px}.board-card-node{width:100%;height:100%;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-md);overflow:hidden}.board-card-node--selected{box-shadow:0 0 0 2px var(--color-talkwo),var(--shadow-lg)}.board-card-node__head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.board-card-node__title{flex:1;font-size:12.5px;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-card-node__head-actions{display:flex;gap:2px}.board-card-node__head-actions button{display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);cursor:pointer}.board-card-node__head-actions button:hover{background:var(--color-bg-sunken);color:var(--color-text-primary)}.board-card-node__head-actions button.is-on{color:var(--color-talkwo)}.board-card-node__cfg{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.board-card-node__cfg label{display:flex;flex-direction:column;gap:2px;font-size:10.5px;font-weight:600;color:var(--color-text-tertiary)}.board-card-node__cfg select{height:26px;padding:0 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:12px}.board-card-node__body{flex:1;min-height:0;overflow:auto;padding:8px 10px}.board-card-node__state{display:grid;place-items:center;height:100%;min-height:60px;color:var(--color-text-tertiary);font-size:12px}.board-card-node__state--err{color:var(--color-danger);text-align:center;padding:8px}.board-rtable{width:100%;border-collapse:collapse;font-size:11.5px}.board-rtable th{text-align:left;font-weight:600;color:var(--color-text-tertiary);padding:3px 6px;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg-surface)}.board-rtable td{padding:3px 6px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.board-rtable .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.board-rtable .pos{color:var(--color-danger)}.board-rtable .neg{color:var(--color-success)}.board-rtable__group td{font-weight:700;background:var(--color-bg-elevated);color:var(--color-text-secondary)}.board-rtable__sub{padding-left:14px!important;color:var(--color-text-secondary)!important}.board-rtable tfoot td{font-weight:700;border-top:2px solid var(--color-border-strong);border-bottom:none}.board-embed{width:100%;height:100%;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-md);overflow:hidden}.board-embed--selected{box-shadow:0 0 0 2px var(--color-talkwo),var(--shadow-lg)}.board-embed__head{display:flex;align-items:center;gap:8px;height:34px;flex-shrink:0;padding:0 10px;border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.board-embed__title{flex:1;font-size:12.5px;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-embed__head-actions{display:flex;gap:2px}.board-embed__head-actions a,.board-embed__head-actions button{display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);cursor:pointer}.board-embed__head-actions a:hover,.board-embed__head-actions button:hover{background:var(--color-bg-sunken);color:var(--color-text-primary)}.board-embed__body{flex:1;min-height:0;position:relative;background:var(--color-bg-base)}.board-embed__frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.board-picker__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#0a0c106b;animation:boardMenuIn .14s var(--ease-out)}.board-picker{width:440px;max-width:calc(100vw - 40px);max-height:70vh;display:flex;flex-direction:column;border-radius:var(--radius-xl);background:var(--color-bg-surface);box-shadow:var(--shadow-lg);overflow:hidden}.board-picker__head{display:flex;align-items:center;padding:14px 16px;font-weight:700;font-size:15px;border-bottom:1px solid var(--color-border)}.board-picker__head button{margin-left:auto;display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);cursor:pointer}.board-picker__head button:hover{background:var(--color-bg-elevated)}.board-picker__search{display:flex;align-items:center;gap:8px;padding:10px 16px;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border)}.board-picker__search input{flex:1;border:none;outline:none;background:transparent;color:var(--color-text-primary);font-size:14px}.board-picker__list{flex:1;min-height:0;overflow-y:auto;padding:6px}.board-picker__group-title{padding:8px 10px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.board-picker__item{display:block;width:100%;text-align:left;padding:9px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font-size:13.5px;font-weight:500;cursor:pointer}.board-picker__item:hover{background:var(--color-bg-elevated)}.board-shape-wrap{width:100%;height:100%;position:relative}.board-shape{width:100%;height:100%;display:grid;place-items:center;border:2px solid;box-sizing:border-box}.board-shape__label{width:100%;border:none;outline:none;resize:none;background:transparent;text-align:center;color:var(--color-text-primary);font-family:var(--font-sans);font-size:13px;font-weight:600}.board-shape__bar{position:absolute;top:-34px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:var(--radius-md);background:var(--color-bg-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.board-shape__sw{width:16px;height:16px;border:1px solid rgba(0,0,0,.15);border-radius:4px;cursor:pointer}.board-shape__del{display:grid;place-items:center;width:20px;height:20px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);cursor:pointer;margin-left:2px}.board-shape__del:hover{color:var(--color-danger)}.board-text{position:relative;min-width:120px}.board-text--selected{outline:1.5px dashed var(--color-talkwo);outline-offset:4px;border-radius:4px}.board-text__input{border:none;outline:none;resize:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-sans);font-weight:700;line-height:1.25;width:100%;min-width:120px;field-sizing:content}.board-text__del{position:absolute;top:-10px;right:-10px;width:20px;height:20px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--color-bg-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-sm);cursor:pointer}.board-text__del:hover{color:var(--color-danger)}.board-canvas__status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-tertiary)}.board-canvas__dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-tertiary)}.board-canvas__status--connected .board-canvas__dot{background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 22%,transparent)}.board-canvas__status--connected{color:var(--color-success)}.board-canvas__status--connecting .board-canvas__dot{background:var(--color-warning);animation:boardPulse 1.1s ease-in-out infinite}@keyframes boardPulse{0%,to{opacity:1}50%{opacity:.35}}.board-canvas__body{flex:1;min-height:0;display:flex}.draw-bar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 14px;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.draw-bar__group{display:flex;align-items:center;gap:3px}.draw-bar__sep{width:1px;height:20px;background:var(--color-border);margin:0 2px}.draw-tool{display:grid;place-items:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.draw-tool:hover{background:var(--color-bg-elevated)}.draw-tool.is-on{background:color-mix(in srgb,var(--color-talkwo) 14%,transparent);border-color:var(--color-talkwo);color:var(--color-talkwo)}.draw-swatch{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.2);cursor:pointer}.draw-swatch.is-on{box-shadow:0 0 0 2px var(--color-bg-surface),0 0 0 4px var(--color-talkwo)}.draw-width{display:grid;place-items:center;width:28px;height:28px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer}.draw-width span{border-radius:50%;background:var(--color-text-secondary)}.draw-width.is-on{border-color:var(--color-talkwo);background:var(--color-bg-elevated)}.draw-dash{display:grid;place-items:center;width:34px;height:28px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.draw-dash.is-on{border-color:var(--color-talkwo);background:var(--color-bg-elevated);color:var(--color-talkwo)}.draw-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;cursor:crosshair;touch-action:none}.draw-layer--eraser{cursor:cell}.draw-layer__svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.react-flow__node-draw{pointer-events:none}.react-flow__node-draw svg path,.react-flow__node-draw svg line{pointer-events:auto}.board-canvas__flow{flex:1;min-height:0;position:relative}.board-canvas.is-present .board-canvas__bar,.board-canvas.is-present .draw-bar{display:none}.board-canvas:fullscreen{background:var(--color-bg-base)}.board-online{display:flex;align-items:center;margin-right:4px}.board-online__av{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:10px;font-weight:700;border:2px solid var(--color-bg-surface);margin-left:-7px}.board-online__av:first-child{margin-left:0}.board-online__av.is-self{outline:2px solid var(--color-talkwo);outline-offset:-2px}.board-online__more{margin-left:4px;font-size:11px;font-weight:600;color:var(--color-text-tertiary)}.cursors-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;pointer-events:none;overflow:hidden}.rcursor{position:absolute;top:0;left:0;display:flex;align-items:flex-start;gap:2px;will-change:transform;transition:transform .08s linear}.rcursor__name{margin-top:10px;padding:1px 6px;border-radius:6px 6px 6px 0;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-sm)}.react-flow__node-frame{pointer-events:none}.board-frame{width:100%;height:100%;border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-bg-elevated) 50%,transparent)}.board-frame--selected{border-color:var(--color-talkwo)}.board-frame__label{position:absolute;top:-26px;left:0;pointer-events:auto}.board-frame__label input{border:none;outline:none;background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:700;letter-spacing:-.01em;width:240px}.present-bar{position:absolute;bottom:22px;left:50%;transform:translate(-50%);z-index:9;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-full);background:#14161cdb;box-shadow:var(--shadow-lg)}.present-bar button{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:none;border-radius:var(--radius-full);background:transparent;color:#fff;font-size:12.5px;font-weight:600;cursor:pointer}.present-bar button:hover{background:#ffffff24}.present-bar__count{color:#fff;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;padding:0 4px}.present-bar__sep{width:1px;height:18px;background:#fff3;margin:0 2px}.board-canvas__iconbtn{position:relative;padding:0 9px}.board-canvas__iconbtn.is-on{background:var(--color-bg-elevated);color:var(--color-talkwo);border-color:var(--color-talkwo)}.board-canvas__unread{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.node-cmt-badge{position:absolute;top:-10px;left:-10px;z-index:6;display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 6px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-surface);color:var(--color-text-tertiary);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;transition:opacity var(--dur-pop) var(--ease-out),color var(--dur-press) var(--ease-out)}.react-flow__node:hover .node-cmt-badge{opacity:1}.node-cmt-badge:hover{color:var(--color-talkwo);border-color:var(--color-talkwo)}.node-cmt-badge--has{opacity:1;color:var(--color-talkwo);border-color:var(--color-talkwo);background:color-mix(in srgb,var(--color-talkwo) 10%,var(--color-bg-surface))}.node-cmt-badge__n{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}body.board-comments-open .ai-fab{right:352px;transition:right .2s var(--ease-out)}.cmt-panel{width:330px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--color-border);background:var(--color-bg-surface)}.cmt-panel__head{display:flex;align-items:center;height:46px;flex-shrink:0;padding:0 14px;border-bottom:1px solid var(--color-border)}.cmt-panel__title{flex:1;font-weight:700;font-size:14px}.cmt-panel__close{display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);cursor:pointer}.cmt-panel__close:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.cmt-anchor-banner{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;color:var(--color-text-secondary);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border)}.cmt-anchor-banner button{margin-left:auto;border:none;background:transparent;color:var(--color-talkwo);font-weight:600;cursor:pointer}.cmt-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--color-border)}.cmt-tabs button{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:12.5px;font-weight:600;cursor:pointer}.cmt-tabs button.is-on{background:var(--color-bg-elevated);color:var(--color-text-primary)}.cmt-tabs__n{font-size:11px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.cmt-list{flex:1;min-height:0;overflow-y:auto;padding:6px 0}.cmt-empty{display:grid;place-items:center;min-height:120px;color:var(--color-text-tertiary);font-size:13px}.cmt-thread{padding:10px 14px;border-bottom:1px solid var(--color-border)}.cmt-thread--resolved{opacity:.62}.cmt-reply{margin-left:30px;margin-top:6px}.cmt-row{display:flex;gap:8px}.cmt-avatar{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--color-accent-soft);color:var(--color-text-primary);font-size:10px;font-weight:700}.cmt-avatar--xs{width:20px;height:20px;font-size:9px}.cmt-row__main{flex:1;min-width:0}.cmt-row__meta{display:flex;align-items:center;gap:6px;font-size:12px}.cmt-row__meta b{font-weight:700;color:var(--color-text-primary)}.cmt-time{color:var(--color-text-tertiary);font-size:11px}.cmt-del{margin-left:auto;display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;opacity:0}.cmt-row:hover .cmt-del{opacity:1}.cmt-del:hover{color:var(--color-danger)}.cmt-text{font-size:13px;line-height:1.45;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;margin-top:1px}.cmt-mention{color:var(--color-talkwo);font-weight:600}.cmt-row__actions{display:flex;align-items:center;gap:10px;margin-top:5px}.cmt-act,.cmt-replybtn{border:none;background:transparent;color:var(--color-text-tertiary);font-size:12px;font-weight:600;cursor:pointer;padding:0}.cmt-act:hover,.cmt-replybtn:hover{color:var(--color-talkwo)}.cmt-replybtn{margin:6px 0 0 34px}.cmt-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:999px;background:var(--color-bg-elevated);color:var(--color-text-tertiary);font-size:10.5px;font-weight:600}.cmt-panel__composer{flex-shrink:0;padding:10px 12px;border-top:1px solid var(--color-border)}.cmt-composer{position:relative}.cmt-composer__box{display:flex;align-items:flex-end;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 6px 6px 10px;background:var(--color-bg-surface)}.cmt-composer__box:focus-within{border-color:var(--color-talkwo)}.cmt-composer__input{flex:1;border:none;outline:none;resize:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-sans);font-size:13px;line-height:1.4;max-height:120px}.cmt-composer__send{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:var(--color-talkwo);color:#fff;cursor:pointer}.cmt-composer__send:disabled{background:var(--color-bg-sunken);color:var(--color-text-tertiary);cursor:default}.cmt-composer--compact{margin:8px 0 0 34px}.cmt-mention-pop{position:absolute;bottom:calc(100% + 4px);left:0;right:0;z-index:30;max-height:180px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-lg);padding:4px}.cmt-mention-item{display:flex;align-items:center;gap:7px;width:100%;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:13px;cursor:pointer;text-align:left}.cmt-mention-item:hover{background:var(--color-bg-elevated)}.board-note{width:200px;min-height:130px;display:flex;position:relative;padding:10px;border-radius:10px;background:#fff7c2;box-shadow:0 6px 18px #10100e2e,inset 0 0 0 1px #b496002e;transition:box-shadow var(--dur-pop) var(--ease-out)}.board-note--selected{box-shadow:0 10px 26px #10100e42,0 0 0 2px var(--color-talkwo)}[data-theme=dark] .board-note{background:#5c5320;box-shadow:0 6px 18px #0006,inset 0 0 0 1px #ffdc502e}.board-note__text{flex:1;width:100%;border:none;outline:none;resize:none;background:transparent;color:#3a3206;font-family:var(--font-sans);font-size:13px;line-height:1.4}[data-theme=dark] .board-note__text{color:#fdf3c0}.board-note__text::placeholder{color:#5a4c0073}[data-theme=dark] .board-note__text::placeholder{color:#fdf3c066}.board-note__del{position:absolute;top:-8px;right:-8px;width:22px;height:22px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--color-bg-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;transition:opacity var(--dur-pop) var(--ease-out),color var(--dur-press) var(--ease-out)}.board-note:hover .board-note__del{opacity:1}.board-note__del:hover{color:var(--color-danger)}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.board-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;min-height:132px;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);cursor:pointer;transition:border-color var(--dur-press) var(--ease-out),box-shadow var(--dur-pop) var(--ease-out),transform var(--dur-press) var(--ease-out)}.board-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.board-card__thumb{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-talkwo);margin-bottom:auto}.board-card__title{font-weight:700;font-size:14px;color:var(--color-text-primary)}.board-card__meta{font-size:12px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.board-card__del{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-md);color:var(--color-text-tertiary);opacity:0;transition:opacity var(--dur-pop) var(--ease-out),background var(--dur-press) var(--ease-out),color var(--dur-press) var(--ease-out)}.board-card:hover .board-card__del{opacity:1}.board-card__del:hover{background:var(--color-danger-soft);color:var(--color-danger)}.board-empty{display:grid;place-items:center;min-height:280px;color:var(--color-text-tertiary);font-size:14px}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root,[data-theme=light]{--bg0: #f6f6f4;--bg1: #ffffff;--bg2: #f4f4f2;--bg3: #eaeae8;--bg-sidebar: #ffffff;--bg-sidebar-hover: #f5f5f3;--bg-sidebar-active: #ebf5f6;--acc: #1f1f1d;--acc-h: #34342f;--acc-s: #ededea;--acc-text: #1a1a18;--t1: #1a1a18;--t2: #595954;--t3: #9a9a95;--t-inv: #ffffff;--b1: #e4e4e1;--b2: #cececa;--b3: #f0f0ed;--g: #16a34a;--g-t: #15803d;--g-bg: #f0fbf4;--g-b: #bbe8ce;--r: #dc2626;--r-t: #b91c1c;--r-bg: #fef2f1;--r-b: #fecaca;--a: #c97a00;--a-t: #7a4700;--a-bg: #fffaeb;--a-b: #fde68a;--bl: #2563eb;--bl-t: #1d4ed8;--bl-bg: #eff6ff;--bl-b: #bfdbfe;--sh1: 0 1px 3px rgba(16, 16, 14, .06);--sh2: 0 2px 8px rgba(16, 16, 14, .08), 0 0 0 1px var(--b1);--sh3: 0 8px 32px rgba(16, 16, 14, .14), 0 2px 8px rgba(16, 16, 14, .07);--sh-dropdown: 0 4px 20px rgba(16, 16, 14, .13), 0 0 0 1px var(--b1);--color-bg-base: var(--bg0);--color-bg-surface: var(--bg1);--color-bg-elevated: var(--bg2);--color-bg-sunken: var(--bg3);--color-accent: var(--acc);--color-accent-hover: var(--acc-h);--color-accent-soft: var(--acc-s);--color-accent-contrast: var(--t-inv);--color-talkwo: #4f46e5;--color-talkwo-soft: #818cf8;--color-text-primary: var(--t1);--color-text-secondary: var(--t2);--color-text-tertiary: var(--t3);--color-text-inverse: var(--t-inv);--color-border: var(--b1);--color-border-strong: var(--b2);--color-success: var(--g);--color-success-soft: var(--g-bg);--color-warning: var(--a);--color-warning-soft: var(--a-bg);--color-danger: var(--r);--color-danger-soft: var(--r-bg);--color-info: var(--bl);--color-info-soft: var(--bl-bg);--shadow-sm: var(--sh1);--shadow-md: var(--sh2);--shadow-lg: var(--sh3)}[data-theme=dark]{--bg0: #161615;--bg1: #1f1f1d;--bg2: #242422;--bg3: #2c2c2a;--bg-sidebar: #1a1a18;--bg-sidebar-hover: rgba(255, 255, 255, .05);--bg-sidebar-active: #2a2a27;--acc: #ececea;--acc-h: #ffffff;--acc-s: #2a2a27;--acc-text: #f2f2ef;--t1: #eeeeed;--t2: #9a9a95;--t3: #5c5c58;--t-inv: #111110;--b1: #2c2c2a;--b2: #3a3a38;--b3: #222220;--g: #22c55e;--g-t: #4ade80;--g-bg: #0a2018;--g-b: #14532d;--r: #ef4444;--r-t: #f87171;--r-bg: #1c0d0d;--r-b: #7f1d1d;--a: #f59e0b;--a-t: #fbb04e;--a-bg: #1c1006;--a-b: #78350f;--bl: #3b82f6;--bl-t: #93c5fd;--bl-bg: #0a1425;--bl-b: #1e3a5f;--sh1: 0 1px 2px rgba(0, 0, 0, .2);--sh2: 0 2px 8px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .06);--sh3: 0 8px 32px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .2);--sh-dropdown: 0 4px 16px rgba(0, 0, 0, .4), 0 0 0 1px var(--b1)}:root{--f-ui: "DM Sans", system-ui, -apple-system, sans-serif;--f-num: "DM Mono", ui-monospace, monospace;--rs: 5px;--rm: 8px;--rl: 12px;--rxl: 16px;--content-pad: 32px;--sidebar-w: 220px;--sidebar-cw: 52px;--font-sans: var(--f-ui);--font-mono: var(--f-num);--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--sidebar-width: 252px;--sidebar-width-collapsed: 56px;--topbar-height: 60px;--row-height-compact: 28px;--row-height-normal: 34px;--row-height-comfortable: 40px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dur-press: .13s;--dur-pop: .16s;--dur-menu: .2s;--dur-panel: .28s}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-base);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.tabular{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.muted{color:var(--color-text-tertiary)}.label-eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary)}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;height:100vh;overflow:hidden}.app-shell[data-collapsed=true]{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.app-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.app-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.embed-content{height:100vh}.embed-content .screen-header{display:none}.embed-content .screen-body{padding:10px 14px}.embed-content .screen-col{padding:0}.screen-body{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:24px var(--content-pad)}.screen-col{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.screen-header{border-bottom:1px solid var(--color-border)}.screen-header:has(+.page-toolbar){border-bottom:0}.sidebar{background:var(--color-bg-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;min-width:0;min-height:0;height:100vh;overflow:hidden}.sidebar__brand{display:flex;align-items:center;gap:var(--space-2);height:var(--topbar-height);padding:0 var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.brand-mark{width:30px;height:30px;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-contrast);display:grid;place-items:center;font-weight:800;font-size:var(--text-md);flex-shrink:0}.brand-badge{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center}.brand-logo{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}[data-theme=dark] .brand-logo{filter:invert(1);mix-blend-mode:screen}.brand-name{flex:1;font-weight:800;font-size:17px;letter-spacing:-.015em;white-space:nowrap;overflow:hidden}.brand-talkwo{color:var(--color-talkwo)}[data-theme=dark] .brand-talkwo,.editorial__wordmark .brand-talkwo,.folio__brand .brand-talkwo,.atlas__brand .brand-talkwo{color:var(--color-talkwo-soft)}.brand-x{display:inline-block;margin:0 .2em;font-weight:800;background:linear-gradient(135deg,var(--color-talkwo) 0%,var(--color-talkwo-soft) 50%,#38bdf8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 5px rgba(79,70,229,.5));transform-origin:center 52%;animation:brandXSpin 4.5s ease-in-out infinite}@keyframes brandXSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(90deg) scale(1.18)}to{transform:rotate(180deg) scale(1)}}.auth-brand .brand-x{color:var(--color-accent)}@media (prefers-reduced-motion: reduce){.brand-x{animation:none}}.collapse-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:none;color:var(--color-text-tertiary);display:grid;place-items:center;flex-shrink:0}.collapse-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.sidebar__nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:2px}.sidebar__nav>*,.nav-children>*{flex:0 0 auto}.sidebar__nav>div+div,.sidebar__nav>div+a,.sidebar__nav>a+div{margin-top:var(--space-2)}.nav-item{display:flex;align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-md);font-weight:600;white-space:nowrap;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.nav-item--active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.nav-item__icon{display:grid;place-items:center;width:22px;flex-shrink:0}.nav-item__label{flex:1;overflow:hidden;text-overflow:ellipsis}.nav-item__chev{color:var(--color-text-tertiary);display:grid;place-items:center}.nav-badge{background:var(--color-warning);color:#fff;border-radius:var(--radius-full);min-width:18px;height:18px;padding:0 5px;font-size:var(--text-xs);font-weight:700;display:grid;place-items:center}.nav-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:calc(var(--space-3) + 9px);padding-left:var(--space-3);border-left:1.5px solid var(--color-border-strong)}.nav-sub{height:38px;padding:0 var(--space-2);gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary);font-weight:500}.nav-sub.nav-item--active{color:var(--color-accent);font-weight:600}.nav-item__icon--sm{width:18px;opacity:.85}.nav-item--active .nav-item__icon--sm{opacity:1}.sidebar__user{border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.user-meta{display:flex;flex-direction:column;min-width:0}.page-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px var(--content-pad);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);flex-shrink:0;min-height:50px}.page-toolbar__left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.page-toolbar__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-toolbar__label{font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-tertiary);margin-right:2px}.page-tabs{display:flex;gap:2px}.page-tab{padding:7px 14px;font-size:var(--text-base);font-weight:500;color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;border-radius:var(--radius-md);transition:background .12s var(--ease-out),color .12s var(--ease-out),transform var(--dur-press) var(--ease-out);white-space:nowrap}.page-tab:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.page-tab:active{transform:scale(.97)}.page-tab--active{color:var(--color-accent);font-weight:700;background:var(--color-accent-soft)}.page-tabs--underline{gap:20px}.page-tabs--underline .page-tab{padding:6px 1px 10px;border-radius:0;background:none;font-weight:500;color:var(--color-text-tertiary);border-bottom:2px solid transparent}.page-tabs--underline .page-tab:hover{background:none;color:var(--color-text-primary)}.page-tabs--underline .page-tab:active{transform:none}.page-tabs--underline .page-tab--active{background:none;color:var(--color-text-primary);font-weight:700;border-bottom-color:var(--color-accent)}.toolbar-group{display:inline-flex;align-items:center;gap:6px}.toolbar-group__label{font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-tertiary);margin-right:2px}.toolbar-group__row{display:inline-flex;align-items:center;gap:6px}.toolbar-divider{width:1px;align-self:stretch;margin:4px 2px;background:var(--color-border)}.toolbar-action{position:relative;width:34px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;transition:background .12s var(--ease-out),border-color .12s var(--ease-out),box-shadow .12s var(--ease-out),transform var(--dur-press) var(--ease-out)}.toolbar-action[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(-3px);padding:5px 9px;background:var(--color-text-primary);color:var(--color-bg-base);font-size:var(--text-xs);font-weight:600;line-height:1.3;white-space:nowrap;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .12s var(--ease-out),transform .12s var(--ease-out);z-index:60}.toolbar-action[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.toolbar-action:hover{background:var(--color-bg-elevated)}.toolbar-action:active{transform:scale(.97)}.toolbar-action:disabled{opacity:.5;cursor:not-allowed}.toolbar-action--primary{background:var(--color-accent);border-color:transparent;color:var(--color-accent-contrast);box-shadow:0 1px 4px #10100e29}.toolbar-action--primary:hover{background:var(--color-accent-hover)}.list-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.list-toolbar__search{height:32px;min-width:220px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);font-size:var(--text-base);outline:none;transition:border-color .12s var(--ease-out),box-shadow .12s var(--ease-out)}.list-toolbar__search:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.list-toolbar__filter{height:32px;padding:0 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer}.list-toolbar__spacer{margin-left:auto}.list-toolbar__count{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.field-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 16px;background:var(--color-bg-surface)}.field-group__title{font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:12px}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 14px;align-items:end}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field__label{font-size:11.5px;color:var(--color-text-secondary);font-weight:500}.field__hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.field__input,.page-toolbar input[type=number],.page-toolbar input[type=text]{height:34px;padding:0 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);font:inherit;font-size:var(--text-base);width:100%}.page-toolbar select.toolbar-select,.page-toolbar input[type=date].toolbar-select,.page-toolbar input[type=month].toolbar-select{height:34px;padding:0 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer}.toolbar-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.toolbar-toggle input{cursor:pointer}.field__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.field__input.tabular{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.user-name{font-weight:600;font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--text-xs);color:var(--color-text-tertiary)}.app-shell[data-collapsed=true] .brand-name,.app-shell[data-collapsed=true] .nav-item__label,.app-shell[data-collapsed=true] .nav-item__chev,.app-shell[data-collapsed=true] .nav-badge,.app-shell[data-collapsed=true] .nav-children,.app-shell[data-collapsed=true] .user-meta{display:none}.app-shell[data-collapsed=true] .nav-item{justify-content:center;padding:0}.app-shell[data-collapsed=true] .brand-badge{display:none}.app-shell[data-collapsed=true] .sidebar__brand,.app-shell[data-collapsed=true] .sidebar__user{padding-left:0;padding-right:0;justify-content:center}.app-shell[data-collapsed=true] .sidebar__nav{padding-left:var(--space-2);padding-right:var(--space-2)}.avatar{border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-accent-contrast);display:grid;place-items:center;font-weight:700;flex-shrink:0}.avatar--sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar--md{width:34px;height:34px;font-size:var(--text-sm)}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);display:flex;align-items:center;padding:0 var(--space-6);gap:var(--space-3);flex-shrink:0}.topbar__env{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);border:1px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;-webkit-user-select:none;user-select:none;flex-shrink:0}.topbar__title{font-size:15px;font-weight:650;letter-spacing:-.01em;color:var(--t1);white-space:nowrap;flex-shrink:0;max-width:30ch;overflow:hidden;text-overflow:ellipsis}.topbar__divider{width:1px;height:24px;background:var(--color-border-strong);flex-shrink:0}.topbar__search{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);height:38px;max-width:540px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-tertiary)}.topbar__search input{flex:1;border:none;outline:none;background:none;font:inherit;color:var(--color-text-primary)}.topbar__cluster{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.scope-chips{display:flex;align-items:center;gap:5px;flex-shrink:0}.scope-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--bg2);color:var(--t2);font-size:11px;font-weight:500;white-space:nowrap}.scope-chip--live{color:var(--g-t);background:var(--g-bg);border-color:var(--g-b)}.scope-chip__dot{width:6px;height:6px;border-radius:50%;background:var(--g-t);flex-shrink:0}@media (max-width: 1100px){.scope-chips{display:none}}.icon-btn{width:36px;height:36px;border-radius:var(--radius-md);border:none;background:none;color:var(--color-text-secondary);display:grid;place-items:center;position:relative}.icon-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.icon-btn--dot:after{content:"";position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-danger);border:2px solid var(--color-bg-surface)}.prop-btn{display:flex;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-weight:500;font-size:var(--text-sm)}.prop-btn:hover{border-color:var(--color-border-strong)}.menu-pop{position:absolute;top:calc(100% + 6px);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-lg);z-index:40;min-width:200px}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;height:36px;padding:0 var(--space-3);border:none;background:none;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-sm);text-align:left}.menu-item:hover{background:var(--color-bg-elevated)}.menu-item--active{color:var(--color-accent);font-weight:600;background:var(--color-accent-soft)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.page-head h1{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}.page-head p{color:var(--color-text-secondary);margin-top:var(--space-1)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-surface);font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary)}.chip__dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-success)}.chip--success{background:var(--g-bg);border-color:var(--g-b);color:var(--g-t)}.breadcrumb{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:4px}.breadcrumb__sep{margin:0 4px;color:var(--color-border-strong)}.page-actions{display:flex;gap:var(--space-2);flex-shrink:0}.btn-secondary,.btn-accent{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm)}.btn-secondary{border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-primary)}.btn-secondary:hover{border-color:var(--color-border-strong)}.btn-accent{border:none;background:var(--color-accent);color:var(--color-accent-contrast)}.btn-accent:hover{background:var(--color-accent-hover)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}@media (max-width: 1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}}.card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.metric-card__label{display:block;margin-bottom:var(--space-2)}.metric-card__value{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.02em}.metric-card__delta{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-2);font-size:var(--text-sm);font-weight:600}.delta--up{color:var(--color-success)}.delta--down{color:var(--color-danger)}.section-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-4)}@media (max-width: 1100px){.section-grid{grid-template-columns:1fr}}.card__title{font-size:var(--text-md);font-weight:600;margin-bottom:var(--space-4)}.dept-row{display:grid;grid-template-columns:140px 1fr 56px;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.dept-row__name{font-size:var(--text-sm)}.progress{height:8px;border-radius:var(--radius-full);background:var(--color-bg-sunken);overflow:hidden}.progress__bar{height:100%;border-radius:var(--radius-full)}.progress__bar--ok{background:var(--color-success)}.progress__bar--warn{background:var(--color-warning)}.progress__bar--crit{background:var(--color-danger)}.dept-row__pct{text-align:right;font-size:var(--text-sm);font-weight:600}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.badge--pending{background:var(--color-warning-soft);color:var(--color-warning)}.badge--approved{background:var(--color-success-soft);color:var(--color-success)}.list-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.list-row:last-child{border-bottom:none}.alert-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.alert-banner--danger{background:var(--r-bg);border-color:var(--r-b)}.alert-banner--warning{background:var(--a-bg);border-color:var(--a-b)}.alert-banner--info{background:var(--bl-bg);border-color:var(--bl-b)}.alert-banner__body{flex:1;font-size:var(--text-base);min-width:0}.alert-banner__title{font-weight:600}.alert-banner__msg{color:var(--color-text-secondary)}.alert-banner__action{flex-shrink:0;height:28px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-base);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600}.alert-banner__close{flex-shrink:0;width:24px;height:24px;border:none;background:none;color:var(--color-text-tertiary);border-radius:var(--radius-sm);display:grid;place-items:center}.alert-banner__close:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.empty{display:grid;place-items:center;min-height:240px;text-align:center}.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--color-bg-base);padding:var(--space-4)}.auth-split{display:flex;flex-direction:row-reverse;min-height:100vh}.auth-left{flex:1;display:grid;align-items:center;justify-items:center;padding:var(--space-8) var(--space-12);background:var(--color-bg-base);border-left:1px solid var(--color-border)}.auth-left .auth-card{box-shadow:none;border:none;background:transparent}@media (max-width: 860px){.auth-left{justify-items:center}}.auth-right{flex:0 0 42%;position:relative;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:radial-gradient(135% 120% at 26% 16%,#16201d,#0e1413 52%,#080c0b)}.vloop,.vloop__v{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.auth-hero{position:relative;z-index:1;max-width:380px;padding:var(--space-10);text-align:left}.auth-hero__glow{position:absolute;z-index:0;top:-40px;left:40px;width:280px;height:280px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--color-accent) 0%,transparent 68%);opacity:.32;filter:blur(34px);animation:heroGlow 9s ease-in-out infinite}.auth-hero__logoWrap{width:fit-content;margin-bottom:var(--space-5);opacity:0;animation:heroRise .7s cubic-bezier(.23,1,.32,1) .05s forwards}.auth-hero__tile{width:76px;height:76px;padding:12px;border-radius:20px;background:#fff;box-shadow:0 10px 30px #00000059,0 0 0 1px #ffffff0f;animation:heroFloat 6s ease-in-out infinite}.auth-hero__logo{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.auth-hero__brand{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.01em;color:#fff;opacity:0;animation:heroRise .7s cubic-bezier(.23,1,.32,1) .18s forwards}.auth-hero__brand .brand-x{color:var(--color-accent)}.auth-hero__tag{margin-top:var(--space-3);font-size:var(--text-md);line-height:1.5;color:#ffffffa8;opacity:0;animation:heroRise .7s cubic-bezier(.23,1,.32,1) .3s forwards}.auth-hero__list{list-style:none;margin:var(--space-7) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.auth-hero__list li{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);color:#fffc;opacity:0;animation:heroRise .6s cubic-bezier(.23,1,.32,1) forwards}.auth-hero__list li:nth-child(1){animation-delay:.42s}.auth-hero__list li:nth-child(2){animation-delay:.5s}.auth-hero__list li:nth-child(3){animation-delay:.58s}.auth-hero__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--color-accent);box-shadow:0 0 10px var(--color-accent)}@keyframes heroRise{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes heroGlow{0%,to{opacity:.28;transform:scale(1)}50%{opacity:.5;transform:scale(1.14)}}@media (prefers-reduced-motion: reduce){.auth-hero__tile,.auth-hero__glow{animation:none}.auth-hero__logoWrap,.auth-hero__brand,.auth-hero__tag,.auth-hero__list li{opacity:1;animation:none}}@media (max-width: 860px){.auth-right{display:none}.auth-left{flex:1}}.auth-card{width:100%;max-width:560px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-10);box-shadow:var(--shadow-md)}.auth-brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-weight:700;font-size:var(--text-lg)}.auth-card h1{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}.auth-card .sub{color:var(--color-text-secondary);margin:var(--space-1) 0 var(--space-6);font-size:var(--text-sm)}.auth-card .field{margin-bottom:var(--space-4)}.auth-card .field label{display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-1);color:var(--color-text-secondary)}.auth-card .field input,.auth-card .field select{width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);font-size:var(--text-base);font-family:inherit}.auth-card .field input:focus,.auth-card .field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.btn-primary{width:100%;height:42px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:600;font-size:var(--text-base)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.auth-error{background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-4)}.auth-toggle{margin-top:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-toggle button{border:none;background:none;color:var(--color-accent);font-weight:600}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.login{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(28px,7vw,110px);overflow:hidden;isolation:isolate}.login__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:loginKenBurns 32s ease-in-out infinite alternate}.login__scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(102deg,#08121aa8,#08121a4d 36%,#08121a00 60%),linear-gradient(0deg,#08121a57,#08121a00 34%)}.login__story{position:relative;z-index:2;max-width:460px;color:#fff}.login__brandRow{display:flex;align-items:center;gap:14px;margin-bottom:30px;opacity:0;animation:heroRise .7s cubic-bezier(.23,1,.32,1) .05s forwards}.login__tile{width:56px;height:56px;padding:11px;border-radius:16px;background:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 14px 36px #00000052,inset 0 0 0 1px #ffffff80}.login__tile img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.login__tile--sm{width:34px;height:34px;padding:6px;border-radius:10px;box-shadow:0 4px 12px #0000001f}.login__wordmark{font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 18px rgba(0,0,0,.3)}.login__wordmark .brand-x{color:#fff}.login__headline{font-size:clamp(30px,3.6vw,48px);font-weight:800;line-height:1.08;letter-spacing:-.025em;max-width:13ch;text-shadow:0 3px 28px rgba(0,0,0,.38);opacity:0;animation:heroRise .75s cubic-bezier(.23,1,.32,1) .18s forwards}.login__features{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}.login__features li{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:500;color:#fffffff0;text-shadow:0 1px 12px rgba(0,0,0,.34);opacity:0;animation:heroRise .6s cubic-bezier(.23,1,.32,1) forwards}.login__features li:nth-child(1){animation-delay:.34s}.login__features li:nth-child(2){animation-delay:.42s}.login__features li:nth-child(3){animation-delay:.5s}.login__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#fff;box-shadow:0 0 12px #ffffffd9}.login__card{position:relative;z-index:2;width:100%;max-width:408px;flex-shrink:0;padding:clamp(26px,3vw,40px);border-radius:24px;background:#ffffffbd;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid rgba(255,255,255,.55);box-shadow:0 34px 90px -24px #08121a99,inset 0 1px #fff9;color:#0f1820;opacity:0;transform:translateY(20px) scale(.985);animation:loginCardIn .65s cubic-bezier(.23,1,.32,1) .12s forwards}.login__lang{position:absolute;top:14px;right:14px}.login__lang .icon-btn{color:#41505b}.login__cardBrand{display:none;align-items:center;gap:10px;font-weight:800;font-size:var(--text-lg);color:#0f1820;margin-bottom:18px}.login__cardBrand .brand-x{color:var(--color-accent)}.login__card h1{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;color:#0f1820;margin-right:40px}.login__card .sub{color:#0f182099;margin:6px 0 24px;font-size:var(--text-sm)}.login__card .field label{color:#0f18209e}.login__card .field input{background:#ffffffd9;border-color:#0f182024;color:#0f1820}.login__card .field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #ffffff80;background:#fff}.login__card .btn-primary{margin-top:4px;background:#0f1820;color:#fff;transition:transform .16s var(--ease-out, cubic-bezier(.23, 1, .32, 1)),background .16s ease}.login__card .btn-primary:hover{background:#1c2a36}.login__card .btn-primary:active{transform:scale(.98)}.login__card .auth-toggle{color:#0f182099}@keyframes loginKenBurns{0%{transform:scale(1.04)}to{transform:scale(1.13)}}@keyframes loginCardIn{0%{opacity:0;transform:translateY(20px) scale(.985);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@media (max-width: 880px){.login{justify-content:center;padding:20px}.login__story{display:none}.login__cardBrand{display:flex}}@media (prefers-reduced-motion: reduce){.login__bg{animation:none}.login__card,.login__brandRow,.login__headline,.login__features li{opacity:1;transform:none;animation:none}}.login--folio{justify-content:center}.login--folio .login__bg{transform:scale(1.2);filter:blur(17px) brightness(.9) saturate(1.05);animation:loginKenBurns 36s ease-in-out infinite alternate}.login--folio .login__scrim{background:radial-gradient(125% 100% at 50% 38%,#060c1257,#05090eb8)}.folio{position:relative;z-index:2;width:100%;max-width:392px;border-radius:22px;overflow:hidden;color:#e9edf1;background:linear-gradient(180deg,#1c2126,#12161a 58%,#0b0e11);box-shadow:0 44px 100px -30px #000000c7,0 0 0 1px #ffffff0f inset,0 1px #ffffff12 inset;opacity:0;transform:perspective(1300px) rotateX(9deg) translateY(28px);transform-origin:50% 0%;animation:folioIn .72s cubic-bezier(.23,1,.32,1) .1s forwards}.folio__inner{position:relative;z-index:2;padding:30px 30px 0}.folio__sheen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.08) 50%,transparent 62%);transform:translate(-130%);animation:folioSheen 1.5s ease-out .7s 1}.folio__lang{position:absolute;top:14px;right:14px;z-index:4}.folio__lang .icon-btn{color:#e9edf1b3}.folio__head{display:flex;align-items:center;gap:14px;padding-right:36px}.folio__seal{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:radial-gradient(circle at 32% 26%,#fff,#e7eaee 68%,#ccd2d8);box-shadow:0 3px 8px #00000073,inset 0 0 0 2px #ffffffa6,inset 0 -3px 7px #00000024}.folio__seal img{width:60%;height:60%;object-fit:contain;mix-blend-mode:multiply}.folio__eyebrow{font:600 10px/1 var(--font-mono, ui-monospace, monospace);letter-spacing:.24em;text-transform:uppercase;color:#e9edf180}.folio__brand{display:block;margin-top:7px;font-size:19px;font-weight:800;letter-spacing:-.01em;color:#fff}.folio__brand .brand-x{color:#e3c489;text-shadow:0 0 10px rgba(227,196,137,.4)}.folio__stripe{position:relative;height:36px;margin:22px -30px;overflow:hidden;background:linear-gradient(180deg,#0a0c0e,#050709);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.folio__stripe:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.09) 50%,transparent 64%);transform:translate(-100%);animation:folioSheen 7s ease-in-out 1.4s infinite}.folio__meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px;font:600 10.5px/1 var(--font-mono, ui-monospace, monospace);letter-spacing:.16em;text-transform:uppercase;color:#e9edf175}.folio__field{display:block;margin-bottom:14px}.folio__flabel{display:block;margin-bottom:7px;font:600 10px/1 var(--font-mono, ui-monospace, monospace);letter-spacing:.18em;text-transform:uppercase;color:#e9edf180}.folio__field input{width:100%;height:42px;padding:0 14px;border-radius:11px;font-size:14px;font-family:inherit;color:#f2f5f8;background:#0000004d;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 2px #00000073;transition:border-color .15s ease,box-shadow .15s ease}.folio__field input::placeholder{color:#e9edf14d}.folio__field input:focus{outline:none;border-color:#ffffff6b;box-shadow:inset 0 1px 2px #00000073,0 0 0 3px #ffffff14}.folio__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.folio__btn{width:100%;height:46px;margin-top:6px;border:none;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;letter-spacing:.02em;color:#11151a;background:linear-gradient(180deg,#fbfcfd,#e8ecf0);box-shadow:0 8px 20px #0006,inset 0 1px #ffffffd9;transition:transform .16s cubic-bezier(.23,1,.32,1),filter .16s ease}.folio__btn:hover{filter:brightness(1.05)}.folio__btn:active{transform:scale(.98)}.folio__btn:disabled{opacity:.55;cursor:default}.folio__btnArrow{transition:transform .2s cubic-bezier(.23,1,.32,1)}.folio__btn:hover .folio__btnArrow{transform:translate(3px)}.folio__error{margin-bottom:14px;padding:9px 12px;border-radius:10px;font-size:12.5px;font-weight:600;color:#ffd9d4;background:#dc463c29;border:1px solid rgba(220,70,60,.32)}.folio__perf{position:relative;margin:22px -30px 0;border-top:1.5px dashed rgba(255,255,255,.16)}.folio__perf:before,.folio__perf:after{content:"";position:absolute;top:0;width:16px;height:16px;border-radius:50%;background:#07090c;box-shadow:inset 0 1px 2px #000000b3;transform:translateY(-50%)}.folio__perf:before{left:6px}.folio__perf:after{right:6px}.folio__stub{padding:18px 0 26px;text-align:center}.folio__tagline{display:block;margin-bottom:9px;font-size:12px;color:#e9edf180}.folio__toggle{font-size:12.5px;color:#e9edf18c}.folio__toggle button{border:none;background:none;cursor:pointer;color:#fff;font-weight:600}@keyframes folioIn{to{opacity:1;transform:perspective(1300px) rotateX(0) translateY(0)}}@keyframes folioSheen{0%{transform:translate(-130%)}to{transform:translate(130%)}}@media (prefers-reduced-motion: reduce){.folio{opacity:1;transform:none;animation:none}.folio__sheen,.folio__stripe:after{animation:none}}.login--editorial{justify-content:flex-start;align-items:flex-end;padding:clamp(40px,8vw,116px)}.login--editorial .login__bg{transform:scale(1.06);filter:brightness(.82) saturate(1.06);animation:loginKenBurns 38s ease-in-out infinite alternate}.login--editorial .login__scrim{background:linear-gradient(100deg,#050a10d6,#050a1075 28%,#050a1000 58%),linear-gradient(0deg,rgba(5,10,16,.5) 0%,transparent 46%)}.editorial__lang{position:absolute;top:22px;right:22px;z-index:4}.editorial__lang .icon-btn{color:#ffffffd9}.editorial{position:relative;z-index:2;max-width:680px;color:#fff}.editorial__brand{display:flex;align-items:center;gap:16px;margin-bottom:26px;opacity:0;animation:heroRise .7s cubic-bezier(.23,1,.32,1) .05s forwards}.editorial__tile{width:66px;height:66px;flex-shrink:0;padding:13px;border-radius:18px;background:#fff;display:grid;place-items:center;box-shadow:0 16px 40px #00000057,inset 0 0 0 1px #ffffff80}.editorial__tile img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.editorial__wordmark{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 22px rgba(0,0,0,.45)}.editorial__wordmark .brand-x{color:#fff}.editorial__kicker{display:block;margin-bottom:18px;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#ffffffc7;text-shadow:0 1px 10px rgba(0,0,0,.4);opacity:0;animation:heroRise .7s cubic-bezier(.23,1,.32,1) .12s forwards}.editorial__title{font-size:clamp(40px,7vw,90px);font-weight:800;line-height:.92;letter-spacing:-.05em;filter:drop-shadow(0 6px 30px rgba(0,0,0,.48))}.editorial__title span{display:block;opacity:0;animation:heroRise .85s cubic-bezier(.23,1,.32,1) forwards}.editorial__title span:nth-child(1){animation-delay:.18s}.editorial__title span:nth-child(2){animation-delay:.3s}.editorial__title--stroke{color:#ffffff1a;-webkit-text-stroke:1.6px rgba(255,255,255,.95);text-stroke:1.6px rgba(255,255,255,.95)}.editorial__form{margin-top:clamp(30px,4vw,44px);max-width:420px;display:flex;flex-direction:column;gap:20px;opacity:0;animation:heroRise .8s cubic-bezier(.23,1,.32,1) .46s forwards}.editorial__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.editorial__field{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}.editorial__field>span{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#ffffffa3}.editorial__field input{height:42px;padding:0 2px;border:none;border-bottom:1.5px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:17px;font-family:inherit}.editorial__field input::placeholder{color:#ffffff5c}.editorial__field input:focus{outline:none}.editorial__field input:-webkit-autofill{-webkit-text-fill-color:#fff;transition:background-color 9999s}.editorial__field:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.23,1,.32,1)}.editorial__field:focus-within:after{transform:scaleX(1)}.editorial__submit{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;gap:12px;padding:4px 2px;border:none;background:none;cursor:pointer;color:#fff;font-size:clamp(20px,2.2vw,26px);font-weight:700;letter-spacing:-.01em}.editorial__arrow{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);font-size:18px;transition:transform .2s cubic-bezier(.23,1,.32,1),background .2s ease,color .2s ease,border-color .2s ease}.editorial__submit:hover .editorial__arrow{background:#fff;color:#11151a;border-color:#fff;transform:translate(4px)}.editorial__submit:active .editorial__arrow{transform:translate(4px) scale(.94)}.editorial__submit:disabled{opacity:.6;cursor:default}.editorial__toggle{margin-top:26px;font-size:13.5px;color:#ffffffb3;opacity:0;animation:heroRise .7s cubic-bezier(.23,1,.32,1) .54s forwards}.editorial__toggle button{border:none;background:none;cursor:pointer;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}.editorial__error{margin-top:18px;max-width:480px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;color:#ffe2dd;background:#dc463c38;border:1px solid rgba(220,70,60,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width: 720px){.login--editorial{align-items:center}.editorial__row{grid-template-columns:1fr}.editorial__title{font-size:clamp(40px,13vw,70px)}}@media (prefers-reduced-motion: reduce){.login--editorial .login__bg{animation:none}.editorial__brand,.editorial__kicker,.editorial__title span,.editorial__form,.editorial__toggle{opacity:1;animation:none}}.login--atlas{justify-content:center}.login--atlas .login__bg{transform:scale(1.08);filter:brightness(.8) saturate(1.05);animation:loginKenBurns 38s ease-in-out infinite alternate}.login--atlas .login__scrim{background:radial-gradient(100% 82% at 50% 42%,#060c1247,#05090ebd)}.atlas{position:relative;z-index:2;width:100%;max-width:350px;text-align:center;color:#fff;opacity:0;transform:translateY(46px);animation:atlasLift .9s cubic-bezier(.23,1,.32,1) .12s forwards}.atlas__halo{position:absolute;top:-46px;left:50%;width:300px;height:300px;transform:translate(-50%);border-radius:50%;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.24),transparent 62%);filter:blur(6px);animation:atlasHalo 7s ease-in-out infinite}.atlas__mark{position:relative;z-index:1;width:92px;height:92px;margin:0 auto;display:grid;place-items:center;padding:15px;border-radius:24px;background:#fff;box-shadow:0 22px 54px #0000006b,inset 0 0 0 1px #ffffff80}.atlas__mark img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.atlas__brand{display:block;margin-top:22px;font-size:24px;font-weight:800;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.35)}.atlas__brand .brand-x{color:#fff}.atlas__tag{margin:9px 0 26px;font-size:14px;color:#ffffffb8;text-shadow:0 1px 10px rgba(0,0,0,.3)}.atlas__form{display:flex;flex-direction:column;gap:11px}.atlas__input{height:46px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:14px;font-family:inherit;text-align:center;transition:border-color .15s ease,background .15s ease}.atlas__input::placeholder{color:#ffffff9e}.atlas__input:focus{outline:none;border-color:#ffffffd9;background:#ffffff29}.atlas__btn{height:46px;margin-top:5px;border:none;border-radius:12px;cursor:pointer;background:#fff;color:#11151a;font-weight:700;font-size:14px;box-shadow:0 10px 26px #00000059;transition:transform .16s cubic-bezier(.23,1,.32,1),filter .16s ease}.atlas__btn:hover{filter:brightness(1.04)}.atlas__btn:active{transform:scale(.98)}.atlas__btn:disabled{opacity:.6;cursor:default}.atlas__toggle{margin-top:20px;font-size:13px;color:#ffffffb8}.atlas__toggle button{border:none;background:none;cursor:pointer;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}@keyframes atlasLift{to{opacity:1;transform:translateY(0)}}@keyframes atlasHalo{0%,to{opacity:.5;transform:translate(-50%) scale(1)}50%{opacity:.85;transform:translate(-50%) scale(1.12)}}.login--horizon{justify-content:space-between;align-items:center;gap:48px;padding:clamp(28px,6vw,92px)}.login--horizon .login__bg{transform:scale(1.06);filter:brightness(.66) saturate(1.06);animation:loginKenBurns 38s ease-in-out infinite alternate}.login--horizon .login__scrim{background:linear-gradient(0deg,#060c12d1,#060c122e 62%,#060c1266)}.horizon__left{position:relative;z-index:2;flex:1;min-width:0;max-width:660px;color:#fff}.horizon__left .editorial__brand{animation-delay:.05s;margin-bottom:26px}.horizon__stats{display:flex;gap:34px;flex-wrap:wrap;margin-bottom:6px}.horizon__stats span{font-size:13px;color:#ffffffa8;text-shadow:0 1px 8px rgba(0,0,0,.3)}.horizon__stats b{display:block;margin-bottom:3px;font-size:clamp(26px,3vw,36px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#fff}.horizon__stats .up b{color:#84e3ab}.horizon__chart{width:100%;height:180px;display:block;margin-top:6px;overflow:visible}.horizon__line{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1500;stroke-dashoffset:1500;filter:drop-shadow(0 4px 16px rgba(255,255,255,.35));animation:horizonDraw 2.3s cubic-bezier(.6,0,.2,1) .5s forwards}.horizon__area{fill:url(#hgrad);opacity:0;animation:horizonFade 1.3s ease 1.7s forwards}.horizon__panel{position:relative;z-index:2;width:100%;max-width:336px;flex-shrink:0;padding:30px 28px;border-radius:18px;color:#fff;background:#0c101499;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 70px -24px #0009;opacity:0;transform:translateY(20px);animation:heroRise .7s cubic-bezier(.23,1,.32,1) .35s forwards}.horizon__welcome{font-size:21px;font-weight:800;letter-spacing:-.015em;margin-bottom:18px}.horizon__panel form{display:flex;flex-direction:column;gap:11px}.horizon__input{text-align:left;background:#ffffff12}.horizon__btn{margin-top:4px}@keyframes horizonDraw{to{stroke-dashoffset:0}}@keyframes horizonFade{to{opacity:1}}@media (max-width: 820px){.login--horizon{flex-direction:column;justify-content:center;gap:28px}.horizon__left{display:none}}@media (prefers-reduced-motion: reduce){.login--atlas .login__bg,.atlas,.atlas__halo,.login--horizon .login__bg,.horizon__line,.horizon__area,.horizon__panel{animation:none;opacity:1;transform:none}.horizon__line{stroke-dashoffset:0}}.splash{min-height:100vh;display:grid;place-items:center;color:var(--color-text-tertiary);background:var(--color-bg-base)}@keyframes chatFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes chatBlink{0%,49%{opacity:.7}50%,to{opacity:0}}@keyframes chatSpin{to{transform:rotate(360deg)}}@keyframes chatPulse{0%,to{opacity:1}50%{opacity:.45}}.chat-msg{animation:chatFadeUp .25s ease both}.chat-cursor{display:inline-block;width:8px;height:15px;margin-left:2px;background:var(--t2);border-radius:2px;vertical-align:text-bottom;animation:chatBlink .9s steps(1) infinite}.chat-tool-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg2);color:var(--t2);border:1px solid var(--b1);animation:chatFadeUp .2s ease both}.chat-tool-chip svg{animation:chatSpin 1.1s linear infinite}.chat-suggestion{border:1px solid var(--b1);background:var(--bg1);color:var(--t2);border-radius:var(--rl);padding:14px 16px;font-size:13px;line-height:1.45;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.chat-suggestion:hover{border-color:var(--t3);transform:translateY(-2px);box-shadow:var(--sh2, 0 4px 14px rgba(16,16,14,.08))}.chat-suggestion svg{color:var(--t3)}.chat-convo-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--rm);cursor:pointer;font-size:12.5px;color:var(--t2);transition:background .12s ease}.chat-convo-item:hover{background:var(--bg2)}.chat-convo-item--active{background:var(--bg3);color:var(--t1);font-weight:600}.chat-convo-item .chat-convo-del{opacity:0;transition:opacity .12s ease}.chat-convo-item:hover .chat-convo-del,.chat-convo-item--active .chat-convo-del{opacity:1}.bc-grid-row{transition:background .12s ease}.bc-grid-row:hover>td{background:var(--bg2)}.chat-composer{border:1.5px solid var(--b1);border-radius:22px;background:var(--bg1);display:flex;align-items:flex-end;gap:8px;padding:10px 10px 10px 18px;box-shadow:0 4px 24px #10100e0f;transition:border-color .15s ease,box-shadow .15s ease}.chat-composer:focus-within{border-color:var(--t3);box-shadow:0 6px 28px #10100e1a}.chat-composer textarea{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--t1);font-size:14px;line-height:1.5;font-family:inherit;max-height:160px;padding:4px 0}.chat-send-btn{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;flex-shrink:0;background:var(--acc);color:var(--t-inv);transition:opacity .15s ease,transform .15s ease}.chat-send-btn:hover:not(:disabled){transform:scale(1.06)}.chat-send-btn:disabled{opacity:.35;cursor:default}.chat-send-btn--stop{background:var(--bg3);color:var(--t1);animation:chatPulse 1.4s ease infinite}.chat-md{font-size:14px;line-height:1.65;color:var(--t1)}.chat-md p{margin:0 0 10px}.chat-md p:last-child{margin-bottom:0}.chat-md strong{font-weight:700}.chat-md h4{font-size:14px;font-weight:700;margin:14px 0 6px}.chat-md ul{margin:4px 0 10px;padding-left:20px}.chat-md li{margin:3px 0}.chat-md hr{border:none;border-top:1px solid var(--b1);margin:12px 0}.chat-md code{font-family:var(--f-num);font-size:12.5px;background:var(--bg2);border-radius:5px;padding:1px 6px}.chat-md-table-wrap{overflow-x:auto;margin:8px 0 12px;border:1px solid var(--b1);border-radius:var(--rm)}.chat-md table{border-collapse:collapse;width:100%;font-size:12.5px}.chat-md th{text-align:left;padding:8px 12px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--t3);background:var(--bg2);border-bottom:1.5px solid var(--b1);white-space:nowrap}.chat-md td{padding:7px 12px;border-bottom:1px solid var(--b3)}.chat-md tr:last-child td{border-bottom:none}.chat-md td.num,.chat-md th.num{text-align:right;font-family:var(--f-num);white-space:nowrap}@keyframes chatOrbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.12)}66%{transform:translate(-30px,24px) scale(.94)}}@keyframes chatOrbFloat2{0%,to{transform:translate(0) scale(1.05)}50%{transform:translate(-46px,-22px) scale(.9)}}@keyframes chatLogoFloat{0%,to{transform:translateY(0);box-shadow:0 14px 38px #10100e38}50%{transform:translateY(-7px);box-shadow:0 26px 52px #10100e29}}@keyframes chatRingPulse{0%{transform:scale(1);opacity:.45}to{transform:scale(1.8);opacity:0}}.chat-hero{position:relative;isolation:isolate}.chat-hero-orb{position:absolute;border-radius:50%;filter:blur(70px);z-index:-1;pointer-events:none;opacity:.5}.chat-hero-orb--1{width:380px;height:380px;top:-70px;left:50%;margin-left:-330px;background:radial-gradient(circle at 30% 30%,var(--b2),var(--bg3) 70%);animation:chatOrbFloat 13s ease-in-out infinite}.chat-hero-orb--2{width:300px;height:300px;top:40px;left:50%;margin-left:60px;background:radial-gradient(circle at 70% 40%,var(--acc-s),var(--b1) 75%);animation:chatOrbFloat2 16s ease-in-out infinite}.chat-hero-orb--3{width:220px;height:220px;top:190px;left:50%;margin-left:-110px;background:radial-gradient(circle at 50% 50%,var(--bl-bg),var(--bg3) 80%);opacity:.32;animation:chatOrbFloat 19s ease-in-out infinite reverse}[data-theme=dark] .chat-hero-orb{opacity:.3}[data-theme=dark] .chat-hero-orb--3{opacity:.2}.chat-hero-logo{position:relative;display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,var(--acc),#3d3d38);color:var(--t-inv);animation:chatLogoFloat 5s ease-in-out infinite}.chat-hero-logo:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1.5px solid var(--t3);animation:chatRingPulse 2.8s ease-out infinite}.chat-hero-title{color:var(--t1)}.chat-stagger{opacity:0;animation:chatFadeUp .55s cubic-bezier(.22,1,.36,1) forwards}.chat-tilt{transform:perspective(700px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden}.chat-tilt:hover{box-shadow:0 18px 44px #10100e29;border-color:var(--t3)}.chat-tilt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.35),transparent 45%);transition:opacity .18s ease}[data-theme=dark] .chat-tilt:after{background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.08),transparent 45%)}.chat-tilt:hover:after{opacity:1}@media (prefers-reduced-motion: reduce){.chat-hero-orb,.chat-hero-logo,.chat-hero-logo:before,.chat-hero-title,.chat-msg,.chat-stagger{animation:none!important}.chat-stagger{opacity:1}.chat-tilt{transform:none!important}}@keyframes aiGlowHue{0%{opacity:.85;filter:hue-rotate(0deg)}50%{opacity:1;filter:hue-rotate(40deg)}to{opacity:.85;filter:hue-rotate(0deg)}}.ai-fab{position:fixed;right:22px;bottom:22px;z-index:90;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;background:var(--acc);color:var(--t-inv);box-shadow:0 8px 28px #10100e4d;transition:transform .15s ease,box-shadow .15s ease}.ai-fab:hover{transform:scale(1.08);box-shadow:0 12px 34px #10100e61}.ai-fab--active{background:var(--bl);animation:chatPulse 1.4s ease infinite}.ai-mode-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;cursor:crosshair}.ai-mode-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--bl) 55%,transparent),inset 0 0 60px 12px color-mix(in srgb,var(--bl) 18%,transparent),inset 0 0 140px 30px color-mix(in srgb,var(--bl) 10%,transparent);animation:aiGlowHue 3.2s ease-in-out infinite}.ai-mode-hint{position:absolute;top:14px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:999px;background:var(--acc);color:var(--t-inv);font-size:12.5px;font-weight:600;box-shadow:0 8px 24px #10100e4d;animation:chatFadeUp .3s ease both;pointer-events:none}.ai-mode-box{position:absolute;pointer-events:none;border-radius:8px;border:2px solid var(--bl);background:color-mix(in srgb,var(--bl) 8%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--bl) 15%,transparent),0 8px 30px color-mix(in srgb,var(--bl) 25%,transparent);transition:top .08s ease,left .08s ease,width .08s ease,height .08s ease}@media (prefers-reduced-motion: reduce){.ai-fab,.ai-fab--active,.ai-mode-glow{animation:none!important}}.ai-mode-tag{position:absolute;top:-22px;left:-2px;padding:2px 9px;border-radius:6px 6px 6px 0;background:var(--bl);color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em;white-space:nowrap}.ai-mode-box--pinned{border-color:var(--g, #16a34a);background:#16a34a12;box-shadow:0 0 0 4px #16a34a24}.ai-mode-box--pinned .ai-mode-tag{background:var(--g, #16a34a)}.ai-mode-rubber{position:absolute;pointer-events:none;border:1.5px dashed var(--bl);border-radius:6px;background:color-mix(in srgb,var(--bl) 8%,transparent)}.ai-menu{position:absolute;z-index:95;min-width:210px;background:var(--bg1);border:1px solid var(--b1);border-radius:var(--rl);box-shadow:var(--sh3);padding:5px;animation:chatFadeUp .16s ease both}.ai-menu__head{display:flex;align-items:center;gap:6px;padding:7px 10px 6px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--t3);border-bottom:1px solid var(--b3);margin-bottom:4px}.ai-menu__item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;background:none;cursor:pointer;border-radius:var(--rm);font-size:12.5px;font-weight:600;color:var(--t1);text-align:left}.ai-menu__item:hover{background:var(--bg2)}.ai-menu__item--muted{color:var(--t3);font-weight:400}.ai-panel{position:fixed;top:0;right:0;bottom:0;z-index:95;width:min(440px,92vw);display:flex;flex-direction:column;background:var(--bg1);border-left:1px solid var(--b1);box-shadow:-16px 0 48px #10100e29;animation:aiPanelIn var(--dur-panel) var(--ease-drawer) both}@keyframes aiPanelIn{0%{transform:translate(8%);opacity:0}to{transform:translate(0);opacity:1}}.ai-panel__head{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--b1);background:var(--bg2)}.ai-panel__title{display:inline-flex;align-items:center;gap:8px;flex:1;font-size:13px;font-weight:800;color:var(--t1)}.ai-panel__title svg{color:var(--acc)}.ai-panel__headbtn{width:28px;height:28px;border-radius:var(--rm);border:none;cursor:pointer;display:grid;place-items:center;background:none;color:var(--t3)}.ai-panel__headbtn:hover{background:var(--bg3);color:var(--t1)}.ai-panel__body{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.ai-panel__body .chat-md{font-size:13px}.ai-panel__user{max-width:88%;padding:9px 13px;border-radius:16px 16px 4px;background:var(--bg3);color:var(--t1);font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ai-panel__foot{padding:10px 12px 12px;border-top:1px solid var(--b1)}@media (prefers-reduced-motion: reduce){.ai-panel{animation:none}}.bc-btn,.btn-primary,.btn-secondary,.btn-accent,.icon-btn,.prop-btn,.nav-item,.menu-item{transition:background .12s var(--ease-out),border-color .12s var(--ease-out),color .12s var(--ease-out),box-shadow .12s var(--ease-out),transform var(--dur-press) var(--ease-out)}.bc-btn:active:not(:disabled),.btn-primary:active,.btn-secondary:active,.btn-accent:active,.icon-btn:active,.prop-btn:active,.menu-item:active{transform:scale(.97)}.nav-item:active{transform:scale(.99)}@media (prefers-reduced-motion: reduce){.bc-btn:active,.btn-primary:active,.btn-secondary:active,.btn-accent:active,.icon-btn:active,.prop-btn:active,.menu-item:active,.nav-item:active{transform:none}}.bc-overlay-anim{animation:bcOverlayIn var(--dur-menu) var(--ease-out) both}.bc-sheet-anim{animation:bcSheetIn var(--dur-panel) var(--ease-out) both;transform-origin:center}@keyframes bcOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes bcSheetIn{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion: reduce){.bc-sheet-anim{animation:bcOverlayIn var(--dur-menu) var(--ease-out) both}}@keyframes bc-toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes tw-spin{to{transform:rotate(360deg)}}.req{color:var(--color-danger);font-weight:700;margin-left:2px}.field:has(:required)>.field__label:after{content:" *";color:var(--color-danger);font-weight:700}input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:var(--color-danger)!important}input:user-invalid:focus,select:user-invalid:focus,textarea:user-invalid:focus{box-shadow:0 0 0 3px var(--color-danger-soft)!important}.form-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.4}.form-error{display:flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:500;color:var(--color-danger);line-height:1.4}.field--error .field__input,.field--error input,.field--error select,.field--error textarea{border-color:var(--color-danger)!important}.form-required-note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.form-required-note .req{margin-right:2px;margin-left:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;padding:44px 24px;min-height:200px}.empty-state__icon{width:42px;height:42px;border-radius:var(--radius-full);background:var(--color-bg-elevated);border:1px solid var(--color-border);display:grid;place-items:center;color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.empty-state__title{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}.empty-state__desc{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5;max-width:46ch}.empty-state__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center}.guide-banner{display:flex;align-items:center;gap:var(--space-3);padding:10px 14px;border-radius:var(--radius-md);background:var(--color-info-soft);border:1px solid var(--bl-b);font-size:var(--text-base);color:var(--color-text-primary);line-height:1.45}.guide-banner--warning{background:var(--color-warning-soft);border-color:var(--a-b)}.guide-banner__icon{color:var(--color-info);display:grid;place-items:center;flex-shrink:0}.guide-banner--warning .guide-banner__icon{color:var(--color-warning)}.guide-banner__actions{margin-left:auto;display:flex;gap:var(--space-2);flex-shrink:0}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:200;padding:8px 14px;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--text-base);font-weight:600;transform:translateY(-200%);transition:transform var(--dur-pop) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0006;animation:modal-overlay-in var(--dur-pop) var(--ease-out)}.modal{display:flex;flex-direction:column;max-width:100%;max-height:88vh;overflow-y:auto;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-surface);box-shadow:var(--shadow-lg);animation:modal-in var(--dur-panel) var(--ease-out)}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0}.modal__title{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}.modal__close{display:flex;padding:4px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-tertiary);cursor:pointer}.modal__close:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.modal__desc{margin-top:var(--space-1);font-size:var(--text-base);line-height:1.5;color:var(--color-text-secondary)}.modal__body{display:flex;flex-direction:column;gap:14px;min-height:0;margin-top:var(--space-5)}.modal__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:22px;flex-shrink:0}.modal__foot-reason{margin-right:auto;font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:left}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal{animation:none}}
