[hidden]{display:none!important}
/* Shared visual language with Flow Blueprint Studio; official navigation stays. */
:root{--header-h:110px;--left-w:252px;--right-w:354px}
body{font-size:13px;min-width:1000px}button{border-radius:3px}h2,h3{font-weight:550}.editor-masthead h1{font-size:22px}.brand-block{min-width:246px}.editor-masthead-actions{display:grid;grid-template-columns:minmax(0,1fr) 7em;gap:5px 9px}.toolbar{max-width:100%;width:100%;justify-content:flex-start}.workbench-tools{grid-column:1/-1;display:flex;align-items:center;gap:5px;overflow-x:auto;white-space:nowrap}.workbench-tools button{background:#293a31;color:#dedfd8;border:1px solid #5c6b62;padding:5px 8px;font-size:11px}.workbench-tools label{display:flex;gap:5px;align-items:center;font-size:11px;color:#dedfd8;margin:0 0 0 auto}.workbench-tools input[type=checkbox]{width:auto;height:auto}.editor-shell{grid-template-columns:var(--left-w) minmax(320px,1fr) var(--right-w)}.rail-section{padding:16px}.inspector-group{padding:14px}.blueprint-node{border-radius:6px;box-shadow:0 4px 18px #0005}.blueprint-node.selected{outline:2px solid #d7c18f}.pin{position:relative}.pin-origin,.pin-target{box-shadow:0 0 0 5px #f5d99280,0 0 18px #f1cf73!important;opacity:1!important}.pin-compatible{box-shadow:0 0 0 3px color-mix(in srgb,var(--pin-color) 65%,transparent)}.pin-incompatible{opacity:.22!important}.wire.hovered{stroke-width:5;filter:drop-shadow(0 0 4px currentColor)}.pin-target{transform:scale(1.35)}.blueprint-node.run-current{outline:3px solid #65bbad}.blueprint-node.run-covered{border-color:#698d7d}.blueprint-node.has-breakpoint::after{content:'●';position:absolute;top:-12px;right:12px;color:#ff6c65;font-size:23px;text-shadow:0 1px 2px #000}
.rich-group{border-top:1px solid #b7b09f}.rich-card{background:#f8f3e9;border:1px solid #b4b0a3;border-radius:5px;margin:12px 0;overflow:hidden}.rich-card>header{display:flex;align-items:center;gap:5px;padding:7px 9px;border-bottom:1px solid #d4cebf}.rich-card>header strong{margin-right:auto;font-size:11px}.rich-card button{padding:4px 7px}.rich-editor{min-height:92px;padding:10px;white-space:pre-wrap;line-height:1.65;outline:none;overflow-wrap:anywhere}.rich-editor:focus{box-shadow:inset 0 0 0 2px #aa915b}.rich-editor img,.rich-preview img{max-width:100%;max-height:220px;vertical-align:middle;border-radius:3px}.rich-tools{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border-top:1px dashed #d4cebf}.rich-tools button{font-size:11px}.variable-token{display:inline-block;background:#e3e7f3;border:1px solid #93a0be;border-radius:3px;padding:0 4px;color:#35476d;white-space:normal;cursor:pointer}.rich-preview{padding:8px 10px;background:#eeeadf;border-top:1px solid #d4cebf}.rich-preview:empty{display:none}.markdown-body{overflow-wrap:anywhere;line-height:1.65}.markdown-body p{margin:0 0 8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1{font-size:22px}.markdown-body h2{font-size:18px}.markdown-body h3{font-size:15px}.markdown-body blockquote{border-left:3px solid #9c9b8a;padding-left:10px;margin:8px 0;color:#5e675f}.markdown-body a{color:#346d8a;text-decoration:underline}.markdown-body img{max-width:100%;height:auto}.markdown-body pre{white-space:pre-wrap}.prose-preview{font-size:12px;padding:5px 0;color:#5b675d}.option-order{display:flex;align-items:center;gap:5px;font-size:11px;margin-bottom:6px}.option-order span{margin-right:auto}.option-order [draggable]{cursor:grab;touch-action:none}.asset-picker{display:grid;grid-template-columns:1fr 1fr;padding:7px;gap:4px}.asset-picker img{max-width:70px;max-height:60px;display:block}.asset-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.asset-library article{display:flex;flex-direction:column;gap:6px;border:1px solid #c3beaf;padding:12px}.asset-library img{width:100%;height:130px;object-fit:contain}.asset-library button{padding:6px;text-align:left}
.workbench-preview[hidden]{display:none}.workbench-preview{position:fixed;z-index:110;left:24vw;top:130px;width:min(980px,74vw);height:min(680px,calc(100vh - 165px));min-width:560px;min-height:320px;max-width:100vw;max-height:100vh;resize:both;overflow:hidden;border:1px solid #7c8982;border-radius:9px;background:#f3f4f5;box-shadow:0 18px 70px #0007;display:flex;flex-direction:column}.workbench-preview.maximized{left:12px!important;top:12px!important;width:calc(100vw - 24px)!important;height:calc(100vh - 24px)!important;resize:none}.float-handle{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#263a32;color:#f0efe8;padding:10px;cursor:move;touch-action:none}.float-handle div{display:flex;gap:4px;flex-wrap:wrap}.float-handle button{padding:4px 7px;font-size:11px;border-color:#748278;background:#344b40;color:#f1f0e9}.preview-status{padding:8px 12px;background:#e8ece9;border-bottom:1px solid #c8d0ca;font-size:12px;min-height:34px}.float-grid{display:grid;grid-template-columns:120px minmax(220px,1fr) 225px;min-height:0;flex:1}.preview-sessions{background:#e3e8e6;border-right:1px solid #c8d0ca;padding:8px;overflow:auto}.preview-sessions button{display:block;width:100%;text-align:left;padding:10px 7px;background:transparent;border:0;margin:3px 0}.preview-sessions button.active{background:#c4d5ce}.preview-chat{display:flex;flex-direction:column;min-height:0;min-width:0;background:#eef0f4}.preview-chat-log{flex:1;min-height:0;overflow:auto;padding:20px 15px}.chat-row{display:flex;gap:9px;margin-bottom:18px}.chat-row>div:last-child{min-width:0;max-width:calc(100% - 43px)}.chat-row small{display:block;font-size:11px;color:#7d8289;margin:0 0 5px}.chat-avatar{width:30px;height:30px;flex:0 0 30px;background:#3c5b4c;color:#f4eee2;border-radius:7px;display:grid;place-items:center}.chat-bubble{background:white;border:1px solid #dfe3e6;border-radius:2px 10px 10px 10px;padding:10px 13px;color:#293038;min-width:32px}.chat-row.player .chat-bubble{background:#d7e8fa}.chat-bubble img{max-width:100%;max-height:280px;object-fit:contain;cursor:zoom-in}.preview-chat-form{padding:10px;border-top:1px solid #d0d6dc;display:grid;grid-template-columns:1fr auto;gap:7px;background:white}.preview-chat-form label{grid-column:1/-1;display:flex;gap:10px;font-size:11px;align-items:center;margin:0}.preview-chat-form select{width:130px;height:28px;background:white}.preview-chat-form textarea{background:white;min-height:50px}.preview-chat-form button{background:#3d6856;color:white;padding:6px 14px}.preview-debug{padding:10px;overflow:auto;min-width:0;background:#ede9de;border-left:1px solid #c8d0ca;font-size:12px}.preview-debug pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.preview-debug details{margin:0 0 12px}.preview-debug button{max-width:100%;white-space:normal;padding:5px;font-size:11px}.preview-debug summary{cursor:pointer;margin-bottom:8px}.preview-debug dl{display:grid;grid-template-columns:1fr 1fr;gap:5px}.preview-debug dd{margin:0}.workbench-dialog{width:min(880px,90vw);max-height:85vh;border:1px solid #85887b;border-radius:7px;padding:0;background:#f2eddf;color:#29342d;box-shadow:0 15px 80px #0006}.workbench-dialog::backdrop{background:#07140e90}.workbench-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#293d32;color:#f2efe5;position:sticky;top:0}.workbench-dialog h2{font-size:18px;margin:0}.workbench-dialog>header button{padding:5px 12px}.workbench-dialog-body{padding:20px;overflow:auto}.workbench-dialog-body pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.workbench-dialog-body label{display:block;margin:10px 0}.workbench-dialog-body article{border-bottom:1px solid #c3beaf;padding:12px 0}.workbench-dialog-body button{padding:6px 10px;margin:3px}.flow-reading{font-family:inherit}.image-full{max-width:100%;height:auto}
@media(max-width:1250px){:root{--left-w:224px;--right-w:320px}.brand-block{min-width:215px}.editor-masthead h1{font-size:19px}.workbench-preview{left:12vw;width:84vw}.float-grid{grid-template-columns:100px minmax(210px,1fr) 205px}.workbench-tools button{padding:4px 6px}.document-state{display:none}.editor-masthead-actions{grid-template-columns:1fr}}

.workbench-preview.side-by-side{left:auto!important;right:10px;top:120px!important;width:590px;height:calc(100vh - 135px)}.side-by-side .float-grid{grid-template-columns:90px minmax(180px,1fr) 170px}.preview-control-log{white-space:pre-wrap;color:#72592a}.prose-preview{font-size:12px;overflow-wrap:anywhere}

[data-variable-drag]>summary,.palette-button{user-select:none;touch-action:none;cursor:grab}

/* Restore the original property flow, with the standalone workbench surfaces. */
:root{--header-h:76px;--left-w:248px;--right-w:360px}
body{font-size:14px}
.editor-masthead{height:var(--header-h);padding:8px 14px;gap:14px;grid-template-columns:210px minmax(0,1fr)}
.brand-block{min-width:0;gap:12px}.editor-masthead h1{font-size:20px}.brand-block .eyebrow{display:none}
.editor-masthead-actions{display:flex;justify-content:flex-end;min-width:0}
.toolbar{max-width:100%;width:auto;justify-content:flex-end;flex-wrap:wrap;gap:5px;padding:0;overflow:visible}
.toolbar button{height:29px;padding:0 8px;font-size:12px}
.document-state{display:block;min-width:0;width:auto;max-width:190px;padding:0;margin:5px 0 0;border:0;transform:none}.document-state span{display:block;font-size:11px}.document-state strong{display:none}
.editor-extra-tools{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0}.editor-extra-tools button{padding:8px 12px;font-size:14px}.markdown-setting{margin:14px 0;font-size:14px}
#blueprintCanvas{background-image:radial-gradient(#82988724 .65px,transparent .8px);background-size:28.6px 28.6px}
.blueprint-node{width:246px;color:#dddcd3;background:#27362e;border:1px solid #566558;border-radius:5px;box-shadow:0 8px 24px #0004}
.blueprint-node.selected{outline:2px solid #d7b36c;outline-offset:2px;border-color:#566558;box-shadow:0 8px 24px #0004}
.node-head{height:auto;min-height:42px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#354c3e;border-radius:4px 4px 0 0;border-bottom:0;border-top:3px solid var(--node-color)}
.node-type-mark{display:none}.node-heading-copy{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:0}.node-heading-copy strong{font-size:13px;flex:1}.node-heading-copy small{font-size:10px;color:#bcc8ba;flex:none;margin:0}.node-badges:empty{display:none}
.node-summary{padding:10px 12px;line-height:1.55;color:#aeb8ac;font-size:11px;white-space:pre-wrap;max-height:71px;overflow:hidden;border:0}
.pin-grid{gap:8px;padding:4px 0 10px}.pin-column{display:flex;flex-direction:column;gap:8px}.pin-row{font-size:10px;min-height:16px;gap:6px}.pin-row.input{padding-right:0}.pin-row.output{padding-left:0}.pin-label{max-width:102px}.pin{width:10px;height:10px;min-width:10px;flex:0 0 10px}.pin-row.input .pin{margin-left:-5px}.pin-row.output .pin{margin-right:-5px}
.inspector-heading{padding:16px 18px}.inspector-heading h2{font-size:20px}.inspector-body{padding:16px 18px 30px}
.inspector-group{padding:0 0 18px;margin-bottom:18px}.inspector-group h3{font-size:15px;letter-spacing:0;text-transform:none;line-height:1.5;margin-bottom:12px;color:#435346;font-weight:600}
.inspector label,.inspector summary,.inspector input,.inspector select,.inspector textarea,.inspector button{font-size:14px;line-height:1.6}.inspector label{gap:6px;margin:12px 0}.inspector input,.inspector select{height:36px}.inspector input[type=checkbox]{height:auto;width:auto}.inspector textarea{min-height:80px;padding:10px}.inspector .rich-editor{font-size:15px;min-height:105px;line-height:1.75}.inspector button{padding:5px 8px}
.rich-group{border:0;margin:12px 0 18px;padding:0}.rich-label{font-size:14px;font-weight:500}.rich-card{margin:9px 0;background:#e7dec9;border-color:#bcb19b}.rich-card>header{padding:7px 9px}.rich-card>header strong{font-size:13px;color:#665a44}.rich-editor{background:#f9f4e9}.rich-tools{border-top:1px solid #bcb19b;gap:6px;padding:8px}.rich-tools button{font-size:13px}.rich-preview{background:#eeeadf}.option-order{font-size:13px}.option-order button{font-size:12px}
.inspector .template-toolbar button,.inspector .condition-preview-toggle button{font-size:12px;min-height:30px}.inspector .template-preview header strong{font-size:14px}.inspector .qq-message{font-size:14px;line-height:1.75}.inspector .qq-sender,.template-preview-context{font-size:12px}
.inspector .binding-preview-result output,.inspector .binding-preview-actions button{font-size:13px}.inspector .binding-preview-result small,.inspector .data-source-note{font-size:12px}.inspector .technical-details>summary{font-size:13px}.prose-preview{font-size:14px}
.parallel-editor{display:grid;gap:10px}.parallel-editor h3{margin-bottom:0}.parallel-editor label{display:grid;gap:5px;min-width:0}.parallel-editor select,.parallel-editor input{min-width:0;max-width:100%;font-size:14px}.parallel-editor .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.parallel-branch{display:grid;gap:8px;padding:10px;border:1px solid #b6b8a9;border-left:3px solid #548c81;border-radius:5px;background:#e8e7da}.parallel-branch>button{justify-self:end}.parallel-branch small{color:#536960}.preview-sessions>strong{display:block;margin:7px 4px;font-size:12px;color:#426456}.preview-sessions button{overflow-wrap:anywhere}.preview-sessions button.active{box-shadow:inset 3px 0 #4f8872}
.help-tip,.inspector .help-tip{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:18px;height:18px;min-height:0;padding:0!important;margin-left:6px;border:1px solid #a7ad9b;border-radius:50%;font:12px/1 sans-serif!important;color:#68745f;background:transparent;cursor:help}
.help-tip:focus-visible{outline:2px solid #a97f38}.rail-section label,.rail-section input,.rail-section textarea,.rail-section select{font-size:14px}.rail-section h2{font-size:17px}
#canvasHint{max-width:0;overflow:hidden}.canvas-toolbar{gap:10px}.canvas-status{margin-left:auto}

.pin.exec,.pin.exec:not(.connected){width:10px;height:10px;flex-basis:10px;border:2px solid #e6e7e2;border-radius:2px;clip-path:none;background:#e6e7e2;opacity:1}.pin.attach{width:10px;height:10px;flex-basis:10px;border-radius:2px;transform:none}.pin{border-width:2px}.pin:not(.exec):not(.connected){background:#24332b}
#tagCatalogStatus{font-size:11px;padding:3px 5px;white-space:nowrap}.metadata-section .section-heading h2,.variable-section .section-heading h2{white-space:nowrap}.variable-section .section-heading{flex-wrap:wrap;gap:6px}

/* Compact message authoring and a single QQ play surface. */
.rich-card .rich-editor{font-size:13.5px}.rich-card .rich-tools,.rich-card .template-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:7px 8px;margin:0;border-bottom:1px solid #c9c1ad;background:#e9e2d0}.rich-card .rich-tools button,.rich-card .template-toolbar button{font-size:11px;padding:4px 6px}.rich-card .template-toolbar{padding-top:0}
.template-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}.template-preview>header>div:first-child{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.template-preview>header strong,.template-preview>header span{white-space:nowrap;word-break:keep-all}.template-preview>header strong{font-size:14px}.template-preview>header span{font-size:11px}
.condition-preview-switch{position:relative;flex:0 0 34px;width:34px;height:20px;border:1px solid #8d9589;border-radius:20px;padding:0;background:#aaa99f;cursor:pointer}.condition-preview-switch::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fffaf0;border-radius:50%;transition:transform .15s}.condition-preview-switch[aria-checked=true]{background:#426b57}.condition-preview-switch[aria-checked=true]::after{transform:translateX(14px)}.condition-preview-switch:focus-visible{outline:2px solid #b18c44;outline-offset:3px}
.workbench-preview,.workbench-preview *{scrollbar-width:none}.workbench-preview::-webkit-scrollbar,.workbench-preview *::-webkit-scrollbar{display:none;width:0;height:0}.preview-quick-bar{flex-shrink:0;max-height:32%;overflow:auto;background:#e6ebe8;padding:8px 10px;border-top:1px solid #ccd5d0}.preview-quick-bar:empty{display:none}.preview-quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.preview-quick-actions h3{font-size:11px;flex-basis:100%;margin:0;color:#6e7c74}.preview-quick-actions>button{font-size:12px;border-radius:5px;padding:5px 8px;background:#f7faf7;border:1px solid #c3cec7}.preview-quick-actions p{margin:0;font-size:12px}.preview-quick-actions .preview-input-form{width:100%}.preview-quick-actions textarea{max-height:65px}.preview-effect-records:empty{display:none}
.effect-catalogue-button{margin:0 0 8px;width:100%;font-size:12px}.catalogue-toolbar{display:flex;gap:8px;align-items:center}.catalogue-toolbar input{flex:1}.catalogue-row{display:grid;grid-template-columns:1fr auto;gap:8px}.catalogue-row p,.catalogue-row ul{grid-column:1/-1;margin:0}.catalogue-row ul{padding-left:20px;font-size:13px;line-height:1.7}.catalogue-row small{display:block;color:#6d756e}.catalogue-add{border-top:1px solid #bdb5a3;padding-top:14px;margin-top:12px}.catalogue-error{color:#a03832;white-space:pre-wrap}

.option-drop-before,.option-drop-after{position:relative}.option-drop-before::before,.option-drop-after::after{content:"插入此处";position:absolute;left:0;right:0;height:3px;background:#428f7a;color:#236c5a;font-size:11px;line-height:20px;z-index:2;pointer-events:none}.option-drop-before::before{top:-6px}.option-drop-after::after{bottom:-6px}

[data-order-handle]{touch-action:none;cursor:grab}[data-order-handle]:active{cursor:grabbing}.operation-example{font-size:13px;line-height:1.65;color:#58695e;background:#e6eadf;padding:8px 10px;border-radius:4px}.filter-row header{display:flex;align-items:center;justify-content:space-between}.source-picker{margin:10px 0}.subgraph-interface small{display:block;line-height:1.5;color:#58695e}.interface-output{display:grid;grid-template-columns:1fr auto;gap:6px}.interface-output input{grid-column:1/-1}
.blueprint-node.variable-node{background:color-mix(in srgb,var(--node-color) 13%,#202a26);border-color:color-mix(in srgb,var(--node-color) 65%,#24302a)}
.blueprint-node.variable-node .node-head{background:color-mix(in srgb,var(--node-color) 22%,#202a26);border-top:0}
.blueprint-node.variable-node .node-heading-copy{display:block}.variable-node .node-heading-copy strong{font-size:14px}.variable-node .node-heading-copy small{font-size:12px;margin-top:3px;color:#d2d9cf}
.blueprint-node.variable-get{width:184px;border-radius:28px;min-height:56px}.variable-get .node-head{min-height:54px;border-radius:28px;padding:8px 21px 8px 15px}.variable-get .pin-grid{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;padding:0;pointer-events:none}.variable-get .pin-column:empty{display:none}.variable-get .pin{pointer-events:auto}.variable-get .pin-label{display:none}
.blueprint-node.variable-set{width:216px;border-radius:12px}.variable-set .node-head{border-radius:11px 11px 0 0;padding:8px 12px}.variable-set .node-summary{padding:4px 12px 7px;font-size:12px}.variable-set .pin-grid{padding-bottom:8px}.variable-node .pin-row{font-size:12px}
.typed-value-editor{display:grid;gap:8px;min-width:0}.typed-value-editor label{min-width:0}.typed-value-editor input,.typed-value-editor textarea,.typed-value-editor select{max-width:100%;box-sizing:border-box}.typed-value-editor .typed-boolean{display:flex;align-items:center;gap:9px}.typed-boolean input[type=checkbox]{appearance:auto;flex:none;width:18px;height:18px;margin:0;accent-color:#a94750}.typed-boolean span{font-size:14px;font-weight:600}.typed-entry{display:grid;gap:7px;padding:9px;border:1px solid #a8aa9c;border-radius:5px;background:#ffffff18}.typed-entry>.typed-value-editor{padding-left:5px}.typed-entry>button{justify-self:end}.typed-stack-row{display:grid;grid-template-columns:minmax(0,1fr) 72px auto;gap:6px;align-items:end}.typed-stack-row label{margin:0}.typed-value-error{color:#a52929;font-size:13px;margin:0}.typed-value-error[hidden]{display:none}

/* Shared catalogues keep source, quantity and action columns aligned. */
.catalogue-dialog { width:min(1080px,94vw); }
.catalogue-table-wrap { overflow:auto; max-height:58vh; }
.catalogue-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.55; }
.catalogue-table th { text-align:left; position:sticky; top:0; background:#e9e6dc; z-index:1; white-space:nowrap; }
.catalogue-table td,.catalogue-table th { padding:12px 14px; border-bottom:1px solid #cbc8bc; vertical-align:top; }
.catalogue-table td:first-child { min-width:120px; }
.catalogue-table td:last-child { min-width:100px; }
.catalogue-table small { display:block; color:#696b65; font-size:12px; }
.catalogue-table tbody tr:nth-child(even) { background:#00000004; }
.catalogue-table td div+div { margin-top:5px; }
.catalogue-table td button { display:block; margin:0 0 6px; }
.catalogue-toolbar { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.catalogue-toolbar input { flex:1; }
.catalogue-toolbar [data-count] { white-space:nowrap; color:#666; }
.status-modifiers { display:grid; grid-template-columns:repeat(5,minmax(50px,1fr)); gap:12px; }
.status-modifiers input { width:100%; }

/* Compact, consistent insertion controls; popovers do not grow the toolbar. */
.rich-card{position:relative}.rich-card .rich-tools button{background:#f5f0e5;color:#43554b;border:1px solid #b5beb2;font-weight:500;border-radius:4px}
.rich-card .rich-tools [data-upload],.rich-card .rich-tools [data-assets]{border-color:#a8bac6;color:#3c5a6e}.rich-card .rich-tools [data-split]{margin-left:0;color:#686759}
.rich-card .token-picker{position:absolute;left:8px;right:8px;z-index:5;top:72px;display:flex;flex-wrap:wrap;gap:5px;padding:10px;background:#f6f3e9;border:1px solid #a6b4a7;border-radius:6px;box-shadow:0 5px 16px #0002}
.token-picker button{font-size:12px;padding:5px 7px}.rich-card .variable-token{display:inline-block;vertical-align:baseline;max-width:100%;overflow-wrap:anywhere;background:#dce8df;border:1px solid #9fb8a7;border-radius:5px;color:#365a43;font-size:.94em;padding:0 5px;margin:0 2px;user-select:all}
.rich-card>header{flex-wrap:wrap}
.preview-speakers{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}.preview-chat-form .preview-speakers button{background:#edf1f2;border:1px solid #cdd6d8;color:#556268;border-radius:14px;padding:4px 10px;font-size:12px}.preview-chat-form .preview-speakers button[aria-pressed=true]{background:#d8e9e1;border-color:#5a9478;color:#244b38}
.realistic-toggle{display:flex!important;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;padding:8px 0;margin:0 0 8px!important}.realistic-toggle input{appearance:none;width:32px;height:18px;min-height:0;border-radius:12px;background:#9caaa1;border:0;padding:2px;cursor:pointer;margin:0}.realistic-toggle input:before{content:'';display:block;width:14px;height:14px;border-radius:50%;background:white;transition:transform .15s}.realistic-toggle input:checked{background:#477f62}.realistic-toggle input:checked:before{transform:translateX(14px)}
.preview-debug [data-next-event]{width:100%;margin:0 0 12px}.player-status-card{background:#f7f5ef;border:1px solid #c8cdbf;border-radius:8px;padding:10px;margin:9px 0;font-size:12px}.player-status-card header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.player-status-card header strong{font-size:14px}.player-status-card header span{font-size:12px;color:#6c746b}.player-hp{position:relative;height:20px;background:#e0e5da;border-radius:4px;overflow:hidden}.player-hp>span{display:block;height:100%;background:#b4ccb1}.player-hp small{position:absolute;inset:0;text-align:center;font-size:12px;line-height:20px;color:#385234}.player-attributes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:9px 0}.player-attributes span{display:grid;text-align:center;gap:3px}.player-attributes small{font-size:12px;color:#70776b}.player-attributes b{font-size:16px;font-weight:600}.player-attributes .buff{color:#358652}.player-attributes .debuff{color:#ae5555}.player-possession{display:grid;grid-template-columns:25px 1fr;gap:7px;border-top:1px solid #e3e5dc;padding-top:7px;margin-top:5px}.player-possession>small{font-size:12px;color:#7c8075;padding-top:3px}.player-possession>div{display:flex;gap:4px;flex-wrap:wrap}.player-possession span{display:inline-block;padding:3px 5px;border-radius:4px;background:#e9ecdf;color:#475143}.player-possession span small{display:block;font-size:12px;color:#73786e}.player-possession i{font-size:11px;color:#929789;font-style:normal}.player-possession .status-positive{background:#dfeee2}.player-possession .status-negative{background:#f1e0dc}.player-status-card footer{font-size:12px;color:#7a7c68;margin-top:8px}.preview-party-settings{margin-top:8px}.preview-debug .player-setup>h3{font-size:13px}.preview-debug .preview-mode-toggle{gap:4px}

.float-handle button:hover,.float-handle button:focus-visible{background:#516c5c;color:#fff;border-color:#aac0b2}.float-handle button:disabled{color:#bbc7bf;background:#344b40;opacity:.6}

/* A routing node has a fixed hitbox; its label and decoration never size it. */
.blueprint-node.routing-dot{width:24px;min-width:24px;height:24px;min-height:24px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;outline:0;overflow:visible;touch-action:none}
.blueprint-node.routing-dot.selected,.blueprint-node.routing-dot.runtime-node{outline:0;box-shadow:none;border:0}
.routing-dot .dot-core{position:absolute;left:6px;top:6px;width:12px;height:12px;border:1.5px solid #18221c;border-radius:50%;background:var(--node-color);pointer-events:none;transition:box-shadow .12s,transform .12s;z-index:2}
.routing-dot:hover .dot-core,.routing-dot:focus-within .dot-core{transform:scale(1.15);box-shadow:0 0 0 1px var(--node-color)}
.routing-dot.selected .dot-core{box-shadow:0 0 0 2px #d7b36c}.routing-dot.issue-error .dot-core{box-shadow:0 0 0 2px #d3564c}.routing-dot.runtime-node .dot-core{box-shadow:0 0 0 2px #59cb8b}
.routing-dot .dot-handle{position:absolute;left:8px;top:0;width:8px;height:24px;cursor:grab;z-index:3}
.routing-dot .dot-port{position:absolute;top:0;width:8px;min-width:0;height:24px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none!important;outline:0;transform:none;clip-path:none;cursor:crosshair;z-index:3}
.routing-dot .dot-port.input{left:0}.routing-dot .dot-port.output{right:0}.routing-dot .dot-port::after{content:none}.routing-dot .dot-port:hover,.routing-dot .dot-port:focus,.routing-dot .dot-port:active{background:transparent;border:0}
.routing-dot:has(.pin-origin,.pin-target) .dot-core{box-shadow:0 0 0 2px #f5d992,0 0 8px #f1cf73}.routing-dot:has(.pin-compatible) .dot-core{outline:1px solid var(--node-color);outline-offset:2px}
.routing-dot .portal-label{position:absolute;left:39px;top:12px;transform:translateY(-50%);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ccd5d9;font-size:12px;line-height:20px;font-weight:400;cursor:grab;text-shadow:0 1px 2px #0008}
.routing-dot.portal-receive .portal-label{left:auto;right:39px}.routing-dot .portal-waves{position:absolute;left:20px;top:-2px;width:18px;height:28px;overflow:visible;fill:none;stroke:#b8c4cc;stroke-width:1.4;pointer-events:none;opacity:.7}.routing-dot.portal-receive .portal-waves{left:auto;right:20px;transform:scaleX(-1)}

.wire.portal-link{stroke-dasharray:6 5;opacity:.7;pointer-events:none}

.switch-case-heading{display:flex;align-items:flex-end;gap:8px}.switch-case-heading>label{flex:1;min-width:0;margin:0}.switch-case-heading>button{flex:0 0 32px;height:34px;margin-bottom:10px}
.switch-case-comparison{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);align-items:start;gap:10px}.switch-case-comparison>div,.switch-case-comparison label{min-width:0}.switch-case-comparison textarea{min-height:68px;resize:vertical}
.setter-trigger{display:flex;gap:8px;align-items:center;margin:6px 0}.setter-trigger span{flex:1;min-width:0;overflow-wrap:anywhere}.setter-sources label{font-size:13px}.input-extractions h4{margin:12px 0 8px}.extraction-card{padding:10px}

.inspector label.input-inline-check{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:8px 0}.inspector label.input-inline-check input{flex:0 0 16px;width:16px;height:16px;margin:0;padding:0}.input-inline-check span{min-width:0}.extraction-card .field-grid>*{min-width:0}.legacy-extraction{font-size:12px;color:#686a60}.input-requirements h4{margin:12px 0 8px}

.variable-condition-row{padding:10px 0;border-bottom:1px solid #b9ad99;margin-bottom:10px}.variable-condition-row .field-grid>*{min-width:0}.variable-condition-row .switch-case-heading>button{margin-bottom:9px}

.condition-insert-sheet{max-height:calc(100vh - 32px);overflow:auto;display:block;overscroll-behavior:contain}.condition-insert-sheet label,.condition-insert-sheet input,.condition-insert-sheet select,.condition-insert-sheet textarea,.condition-insert-sheet button{font-size:14px}.condition-insert-sheet label{margin:12px 0}.condition-insert-sheet .primary{position:sticky;bottom:0;width:100%;margin-top:12px}.condition-insert-sheet .shortcut-note{font-size:12px;line-height:1.6}.condition-insert-sheet label[hidden]{display:none}

.condition-insert-sheet .vc-module{padding:8px;margin:8px 0;border:1px solid #b9ad99;border-radius:6px;background:#e7dfcd}
.vc-heading,.vc-comparison,.vc-footer,.vc-relation{display:flex;align-items:center;gap:6px}
.condition-insert-sheet .vc-heading select{flex:1;min-width:0}
.condition-insert-sheet .vc-module :is(input,select,button),.condition-insert-sheet .vc-relation select{font-size:13px;padding:5px 7px;height:32px;margin:0;min-width:0}
.vc-heading small{white-space:nowrap;font-size:12px;color:#6a7368}
.vc-comparison{margin-top:6px}.vc-comparison>select:first-child{width:115px;flex-shrink:0}.vc-comparison>:nth-child(2){flex:1;width:0}.vc-comparison>button,.vc-heading>button{flex:0 0 28px}
.vc-footer{justify-content:space-between;margin-top:6px}.vc-relation{font-size:13px}.vc-relation select{width:auto}.vc-footer button{background:transparent}
.rich-editor :is(p,h1,h2,h3,h4,h5,h6){margin:0 0 .45em}.rich-editor :is(p,h1,h2,h3,h4,h5,h6):last-child{margin-bottom:0}.rich-editor strong{font-weight:700}.rich-editor em{font-style:italic}
.condition-insert-sheet .vc-footer button{flex-shrink:0;white-space:nowrap}.condition-insert-sheet .vc-footer select{width:auto;flex:1}.condition-insert-sheet #conditionInsertContentFields textarea{min-height:64px;height:72px}

/* One message typography layer shared by editing, final preview and QQ simulation. */
.markdown-body{white-space:normal;font-synthesis:weight style}
.markdown-body :is(strong,b){font-weight:700;color:inherit}.markdown-body :is(em,i){font-style:italic;color:inherit}.markdown-body :is(del,s,strike){text-decoration:line-through}
.markdown-body :is(p,li){white-space:pre-wrap}.markdown-body p{margin:0 0 .55em}
.markdown-body :is(h1,h2,h3,h4,h5,h6){font-family:inherit;font-weight:700;line-height:1.4;letter-spacing:normal;text-transform:none;color:inherit;margin:.65em 0 .35em}
.markdown-body h1{font-size:1.5em}.markdown-body h2{font-size:1.25em}.markdown-body h3{font-size:1.12em}.markdown-body :is(h4,h5,h6){font-size:1em}
.markdown-body> :first-child{margin-top:0}.markdown-body> :last-child{margin-bottom:0}
.markdown-body :is(ul,ol){margin:.4em 0;padding-left:1.7em;list-style-position:outside}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{display:list-item;margin:.2em 0}.markdown-body li :is(ul,ol){margin:.2em 0}.markdown-body ul ul{list-style-type:circle}
.markdown-body blockquote{margin:.6em 0;padding:.2em 0 .2em .75em;border-left:3px solid currentColor;color:inherit;opacity:.85}.markdown-body blockquote p{margin:0}
.markdown-body hr{height:0;border:0;border-top:1px solid currentColor;opacity:.3;margin:.85em 0}.markdown-body pre,.markdown-body code{font-family:Consolas,monospace;background:#80808018;border-radius:3px}.markdown-body pre{padding:8px;white-space:pre-wrap}.markdown-body code{padding:1px 3px}
.markdown-body a{color:#176cb0;text-decoration:underline}.qq-message.markdown-body a{color:#a8d9ff}.qq-row.player .qq-message.markdown-body a{color:#176cb0}
.markdown-body img{display:inline-block;max-width:100%;height:auto;object-fit:contain;vertical-align:middle}.rich-editor.markdown-body img[width]{max-height:none}
.final-preview-log .qq-message.markdown-body{font-size:13px}.rich-editor.markdown-body{white-space:normal}.rich-editor.markdown-body :is(h1,h2){font-weight:700}
.rich-tools [data-markdown-format]{width:61px;min-width:61px;height:28px;padding:3px;font-size:12px;background:#f5f0e5;color:#43554b;border:1px solid #b5beb2;border-radius:4px}
.format-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:8px}.format-link input{min-width:0;font-size:13px}.format-link input:first-child{grid-column:1/-1}

.rich-editor[data-markdown-enabled="false"]{white-space:pre-wrap}

.inspector-group .binding-preview-compact{width:auto;padding:4px 8px;margin:5px 0 10px;font-size:12px;min-height:26px}
.markdown-body li{white-space:normal}
.blueprint-node.boolean-not{width:184px;border-radius:18px}.boolean-not .node-summary{display:none}.boolean-not .node-head{padding:6px 10px}.boolean-not .node-heading-copy small{display:none}
.condition-insert-sheet .condition-line-switch{display:flex;align-items:center;gap:7px;font-size:13px}.condition-insert-sheet .condition-line-switch input{width:15px;height:15px;flex:0 0 auto;margin:0}

.rich-card .condition-token{--condition-ink:#664080;--condition-paper:#eee3f4;background:var(--condition-paper);color:var(--condition-ink);border-color:var(--condition-ink);border-left-width:3px}
.rich-card .condition-token[data-condition-depth="1"]{--condition-ink:#285d8b;--condition-paper:#dfeefa}.rich-card .condition-token[data-condition-depth="2"]{--condition-ink:#865815;--condition-paper:#fff0cf}.rich-card .condition-token[data-condition-depth="3"]{--condition-ink:#8b3e59;--condition-paper:#f7e2e9}.rich-card .condition-token[data-condition-depth="4"]{--condition-ink:#216d63;--condition-paper:#dcefe9}.rich-card .condition-token[data-condition-depth="5"]{--condition-ink:#745333;--condition-paper:#efe6dc}
.rich-card .condition-token::before{content:attr(data-condition-level);display:inline-block;min-width:1em;font-size:.8em;font-weight:700;margin-right:3px;opacity:.75}.rich-card .condition-token.condition-related{outline:2px solid var(--condition-ink);outline-offset:1px}.rich-card .condition-token.condition-unmatched{border-style:dashed}

/* Resource definitions and isolated playtest data. */
.resource-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:auto}.resource-table th,.resource-table td{padding:8px;border-bottom:1px solid #a7a28e55;text-align:left;vertical-align:top;overflow-wrap:anywhere}.resource-table th{font-weight:600}.resource-table input:not([type=checkbox]),.resource-table textarea{width:100%;min-width:70px;box-sizing:border-box}.resource-table .resource-table{font-size:13px}.resource-value-form{border-top:1px solid #9b9b8b;padding:12px 0}.resource-readable{max-height:260px;overflow:auto;white-space:pre-wrap}.resource-filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 76px;gap:5px;margin:8px 0}.resource-filter-row input:not([type=checkbox]){grid-column:1/3;width:100%;min-width:0}.resource-filter-row select{min-width:0;width:100%}.workbench-dialog-body>nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.resource-fields>input{max-width:200px}.resource-value-form button{margin:4px}

.choice-policy{gap:6px 10px;margin-top:8px}.choice-policy .choice-group{grid-column:1/-1}.choice-policy label{min-width:0}.choice-policy select,.choice-policy input{width:100%;min-width:0}

/* Generated block spacing is represented by editable source line breaks. */
.markdown-body [data-block-boundary]{display:none}
.markdown-body [data-md-block]{margin-top:0;margin-bottom:0}
.markdown-body blockquote[data-md-block]{padding-top:0;padding-bottom:0}
.effect-status-picker{min-width:0;margin:8px 0;padding:8px;border:1px solid #b8b2a2;border-radius:5px}.effect-status-picker legend{padding:0 4px;font-size:13px;font-weight:600}.effect-status-picker>small{display:block;margin-top:5px;color:#5d655d}.effect-status-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:4px;max-height:150px;overflow:auto}.inspector .effect-status-options label{display:flex;align-items:center;gap:4px;min-width:0;margin:0;padding:4px;font-size:12px;background:#f7f3e9;border:1px solid #d2c9b7;border-radius:4px}.effect-status-options input{flex:0 0 auto;width:14px;height:14px;margin:0}.effect-status-options span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-status-options small{margin-left:auto;color:#69736d;font-size:10px}
/* One compact insertion entry per bubble, with explicit name/mention actions. */
.message-insert-picker{background:#f6f3e9;border-bottom:1px solid #bbc5b8;padding:8px}.insert-picker-head{display:flex;gap:5px}.insert-picker-head input{min-width:0;flex:1;font-size:12px;padding:5px 7px}.insert-picker-groups{max-height:240px;overflow:auto;overscroll-behavior:contain}.insert-picker-groups section{padding:4px 0}.insert-picker-groups h4{font-size:11px;color:#687467;font-weight:600;margin:4px 0}.insert-picker-row{display:flex;align-items:center;gap:4px;margin:3px 0}.insert-picker-row[hidden],.insert-picker-groups section[hidden]{display:none}.insert-picker-row>span{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere}.insert-picker-row button{font-size:12px;padding:4px 7px}.rich-card .mention-token{color:#305c82;background:#deebf8;border-color:#98b4ce}.message-mention{color:#3367a0;font-weight:600;white-space:normal}.qq-message .message-mention{color:#aedaff}
.catalogue-workspace{width:min(1280px,96vw);height:min(820px,92dvh);max-height:92dvh;overflow:hidden}
.catalogue-workspace[open]{display:flex;flex-direction:column}.catalogue-workspace>header{flex:none;z-index:2}
.catalogue-workspace .workbench-dialog-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:0}
.catalogue-workspace .catalogue-toolbar{display:flex;gap:8px;align-items:center;padding:14px 20px;border-bottom:1px solid #c6c3b5;flex:none;margin:0}
.catalogue-workspace .catalogue-toolbar input{flex:1;max-width:420px;min-width:100px;margin:0;font-size:14px}.catalogue-workspace [data-count]{font-size:12px;color:#71756b;margin-right:auto;white-space:nowrap}
.catalogue-workspace button{margin:0;font-size:13px;border-radius:5px}.catalogue-workspace button.primary{background:#3e6452;color:#fff;border-color:#3e6452}.catalogue-workspace button:focus-visible{outline:2px solid #446b58;outline-offset:2px}
.catalogue-workspace [data-status]{margin:0;padding:8px 20px;background:#e1eadd;font-size:13px}.catalogue-workspace [data-status].catalogue-error{background:#f4dddd;color:#8c2929}
.catalogue-confirm{flex:none;padding:12px 20px;background:#fff0ce;border-bottom:1px solid #cfbb83;display:flex;align-items:center;gap:14px;z-index:3}.catalogue-confirm p{margin:0;flex:1;font-size:14px;white-space:pre-line}.catalogue-confirm>div{display:flex;gap:7px}.catalogue-confirm button{white-space:nowrap}
.catalogue-layout{display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.catalogue-workspace.is-editing .catalogue-layout{grid-template-columns:minmax(340px,1fr) minmax(330px,410px)}
.catalogue-list{overflow:auto;min-width:0;padding:0 18px 18px;scrollbar-width:thin;scrollbar-color:#9caa9e transparent}.catalogue-workspace .catalogue-table-wrap{max-height:none;overflow:visible;border:0;border-radius:0}
.catalogue-workspace .catalogue-table{table-layout:fixed;width:100%;font-size:14px;line-height:1.6;border-collapse:collapse}.catalogue-workspace .catalogue-table th{background:#eeeadd;color:#63695e;padding:12px 10px;font-size:12px;font-weight:600}
.catalogue-workspace .catalogue-table th:first-child{width:25%}.catalogue-workspace .catalogue-table th:last-child{width:150px}.catalogue-workspace .catalogue-table td{padding:14px 10px;min-width:0;overflow-wrap:anywhere;border-color:#d5d1c3;vertical-align:top}
.catalogue-workspace .catalogue-table tr{transition:background-color .15s}.catalogue-workspace .catalogue-table tbody tr:hover{background:#dde5da80}.catalogue-workspace .catalogue-table tr.is-editing-row{background:#d9e4d7}.catalogue-workspace .catalogue-table tr.is-applied td:first-child{box-shadow:inset 3px 0 #52765e}
.catalogue-workspace .catalogue-name{display:block;color:#294f3c;background:none;border:0;text-align:left;padding:0;margin:0 0 5px;font-size:15px;font-weight:650;line-height:1.5}.catalogue-name:hover{text-decoration:underline}
.catalogue-cell-copy{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.65;color:#4e564c}
.catalogue-workspace .catalogue-row-actions{display:flex;flex-wrap:wrap;gap:4px}.catalogue-workspace .catalogue-row-actions button{margin:0;padding:4px 6px;font-size:12px;flex:1 0 auto;white-space:nowrap}.catalogue-workspace [data-delete]{color:#8b4c44;background:transparent;border-color:transparent}
.catalogue-muted{display:block;color:#7c8076;font-size:12px}.catalogue-badges{display:flex;flex-wrap:wrap;gap:4px;font-size:11px;color:#586b59}.catalogue-badges span,.catalogue-hidden-badge{display:inline-block;background:#e1e7d9;border-radius:3px;padding:1px 5px;font-size:11px}
.catalogue-hidden-badge{margin-top:6px;color:#80603a;background:#e9debf}.catalogue-sources{margin-top:8px;font-size:12px}.catalogue-sources summary{cursor:pointer;color:#65775e}.catalogue-sources ul{padding:8px 0 0 12px;margin:0}.catalogue-sources li{margin:0 0 8px;line-height:1.5}.catalogue-sources li span{display:block;color:#72786d}
.catalogue-empty{padding:55px 20px;text-align:center;color:#495c4d}.catalogue-empty span{display:block;color:#7b8176;font-size:13px;margin-top:8px}.catalogue-workspace .catalogue-retired{margin-top:20px;font-size:13px;border-top:1px solid #d1ccbc;padding-top:14px}.catalogue-retired summary{cursor:pointer}.catalogue-retired-row{display:flex;gap:12px;justify-content:space-between;padding:8px 0}
.catalogue-editor{min-width:0;overflow:auto;border-left:1px solid #c4cbbb;background:#f8f5eb;padding:0 20px 20px;scrollbar-width:thin}.catalogue-editor[hidden]{display:none}.catalogue-editor>header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#f8f5eb;padding:16px 0 10px;z-index:1}.catalogue-editor h3{font-size:16px;margin:0}.catalogue-editor>header button{border:0;background:transparent;font-size:20px;padding:0 8px}
.catalogue-form label{font-size:13px;font-weight:550;color:#4e5d4e}.catalogue-form input:not([type=checkbox]),.catalogue-form textarea,.catalogue-form select{width:100%;min-width:0;margin-top:5px;font-size:14px;font-weight:400;line-height:1.5;border:1px solid #b7c0b0;background:#fffdf6;border-radius:5px;padding:8px;box-sizing:border-box;color:#273e2c}.catalogue-form textarea{resize:vertical;min-height:75px}
.catalogue-form fieldset{min-width:0;border:1px solid #d0d5c7;border-radius:7px;margin:18px 0;padding:10px 12px 14px}.catalogue-form legend{font-size:13px;font-weight:650;padding:0 5px;color:#415d46}.catalogue-form .catalogue-check{display:flex;align-items:center;gap:8px;font-size:14px}.catalogue-check input{width:16px;height:16px;margin:0;accent-color:#446b58}
.catalogue-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catalogue-field-caption{display:block;margin:15px 0 0;font-size:12px;color:#63705e}.catalogue-form .status-modifiers{gap:5px}.catalogue-form .status-modifiers label{font-size:12px;text-align:center}.catalogue-form .status-modifiers input{padding:7px 3px;text-align:center;font-size:13px}
.catalogue-mode{display:flex;gap:3px;margin-bottom:10px;background:#e6e9df;padding:3px;border-radius:6px}.catalogue-mode button{flex:1;border:0;background:transparent;padding:6px}.catalogue-mode button[aria-pressed=true]{background:#fffdf7;box-shadow:0 1px 4px #263b2a18;color:#2d5137}
.catalogue-effect-row{background:#f0f2e9;border-radius:6px;padding:9px;margin-bottom:9px}.catalogue-effect-head{display:grid;grid-template-columns:18px minmax(0,1fr) 25px;gap:5px;align-items:center}.catalogue-effect-head>span{font-size:11px;color:#7a8572}.catalogue-effect-head select{margin:0}.catalogue-effect-head button{padding:2px;border:0;background:transparent}.catalogue-effect-values{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.catalogue-effect-values label{font-size:12px;margin:8px 0 0}.catalogue-effect-reference{grid-column:1/-1}.catalogue-reference input[hidden]{display:none}
.catalogue-form-actions{position:sticky;bottom:-20px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;border-top:1px solid #d0d5c7;background:#f8f5eb;padding:14px 0;margin-top:20px}.catalogue-form-actions span{margin-left:auto;font-size:11px;color:#907146}.catalogue-form [data-form-error]{color:#993e34;background:#f9e9e1;padding:9px;font-size:13px;border-radius:4px}
.message-format-menu{max-height:280px;overflow:auto;scrollbar-width:thin;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:9px;background:#f8f5ea;border:1px solid #bdc6b6;border-radius:6px;margin:5px 0;box-shadow:0 4px 14px #14281b14}.message-format-menu button{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;margin:0;padding:9px;background:#fffdf7;border:1px solid transparent;border-radius:4px;font-family:inherit;font-size:14px;min-height:60px;color:#334d3b}.message-format-menu button:hover,.message-format-menu button:focus-visible{background:#e5ecdf;border-color:#97ad8e;outline:none}.message-format-menu small{font-size:10px;color:#7b8374}.format-h1{font-size:20px;font-weight:750}.format-h2{font-size:17px;font-weight:650}.format-quote{border-left:3px solid #859d7b;padding-left:7px}.format-rule{width:100%;border-top:1px solid #84977c;margin:10px 0}.format-link-sample{text-decoration:underline;color:#426e86}
.pin.exec.entry-pin{transform:rotate(45deg);border:2px solid #e5c578;background:#725f30;box-shadow:0 0 0 3px #e5c57820;border-radius:1px}.pin.exec.entry-pin.connected{background:#e5c578}.entry-pin-label{color:#e7cd88!important;font-size:11px!important;font-weight:600}
@media(max-width:950px){.catalogue-workspace.is-editing .catalogue-layout{grid-template-columns:minmax(260px,1fr) minmax(300px,380px)}.catalogue-list{padding:0 8px 12px}.catalogue-workspace .catalogue-table td,.catalogue-workspace .catalogue-table th{padding:9px 6px}.catalogue-editor{padding:0 12px 16px}}
@media(max-width:700px){.catalogue-workspace.is-editing .catalogue-layout{display:flex;flex-direction:column;overflow:auto}.catalogue-workspace.is-editing .catalogue-list{max-height:34vh;flex:none}.catalogue-workspace.is-editing .catalogue-editor{overflow:visible;border-left:0;border-top:1px solid #c4cbbb}.catalogue-toolbar{flex-wrap:wrap}.catalogue-workspace .catalogue-toolbar{padding:10px}.catalogue-workspace .catalogue-table th:last-child{width:65px}}
@media(prefers-reduced-motion:reduce){.catalogue-workspace .catalogue-table tr{transition:none}}
/* Compact event card: same rail width, less permanent chrome. */
.metadata-section{padding:12px 14px;background:linear-gradient(155deg,#ece7d9,#dfdbc9);box-shadow:inset 0 1px #fff8}.metadata-section .section-heading{margin-bottom:10px}.metadata-section .section-heading>span{background:#d1dacb;border-radius:4px;padding:2px 5px;font-size:10px;white-space:nowrap}.metadata-section label{font-size:12px;margin-bottom:8px;gap:4px}.metadata-section :is(input:not([type=checkbox]),select,textarea){font-size:13px;padding:7px 9px;border:1px solid #bfc4b4;border-radius:7px;background:#f8f6ec;box-shadow:0 1px 2px #23372b08;transition:border-color .16s,box-shadow .16s,background .16s}.metadata-section :is(input,select,textarea):focus{outline:0;border-color:#568069;box-shadow:0 0 0 2px #56806922;background:#fffdf5}.metadata-section #eventId{font-family:Consolas,monospace;font-size:11px;color:#6a756a}.metadata-section #eventIntro{min-height:58px;max-height:180px;resize:vertical}.metadata-flags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.metadata-flags .inline-check{margin:0;padding:5px 7px;background:#f1efe4;border:1px solid #c7ccbd;border-radius:5px;font-size:11px;cursor:pointer;transition:background .15s,border-color .15s}.metadata-flags .inline-check:has(:checked){background:#dbe7d8;border-color:#8fa991;color:#355e43}.metadata-flags .inline-check:last-child{grid-column:1/-1}.metadata-flags input{accent-color:#477253;flex:0 0 13px;width:13px;height:13px;margin:0}
.metadata-section .location-editor{padding:9px;margin:3px 0 9px;border:1px solid #b7c5b2;border-radius:8px;background:#f1f3e9;box-shadow:0 2px 6px #24412a09}.location-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:7px;font-size:12px;color:#405643}.metadata-section #toggleLocations{font-size:11px;padding:4px 6px;min-height:27px;border:1px solid #b8c7b1;border-radius:5px;color:#3c6747;background:#fffdf5;transition:background .15s,box-shadow .15s}.metadata-section #toggleLocations:hover,.metadata-section #toggleLocations[aria-expanded=true]{background:#dbe7d5;box-shadow:0 1px 5px #3d5a2820}.location-chevron{display:inline-block;transition:transform .16s}#toggleLocations[aria-expanded=true] .location-chevron{transform:rotate(180deg)}.location-tags{min-height:20px;max-height:76px;overflow:auto;margin:0;gap:4px;scrollbar-width:thin}.location-tag{max-width:100%;padding:3px 5px 3px 7px;gap:3px;border:1px solid #b6c9af;background:#e0eada;color:#3b6043;border-radius:5px;font-size:11px;animation:location-in .15s ease-out}.location-tag>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-tag button{background:transparent;color:#55765c;flex:none;width:17px;height:17px;border-radius:4px}.location-tag button:hover{background:#becfb6;color:#243b25}.location-empty{font-size:11px;color:#899080;line-height:20px}
.location-picker{width:min(320px,calc(100vw - 16px));height:min(440px,calc(100vh - 100px));max-height:calc(100vh - 16px);padding:12px;border:1px solid #a5b99f;border-radius:11px;background:#f5f4e9;box-shadow:0 15px 45px #132b2940,0 2px 6px #132b2910;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:8px;animation:location-in .16s ease-out;transform-origin:top left}.location-picker.is-closing{opacity:0;transform:translateY(-4px);transition:opacity .12s,transform .12s;pointer-events:none}.location-picker>header{margin:0}.location-picker>header>div{display:flex;align-items:baseline;gap:9px}.location-picker>header strong{font-family:inherit;font-size:14px;font-weight:650;color:#314d38}.location-picker>header span{font-size:11px;color:#7c8675}.location-picker>header button{font-size:12px;padding:5px 9px;color:#f5f5e9;background:#486d50;border:0;border-radius:5px}.location-picker #locationSearch{font-size:12px;height:33px;margin:0;border-radius:6px}.location-floors{display:flex;gap:3px;padding:3px;background:#e6eadd;border-radius:6px}.location-floors button{flex:1;font-size:11px;padding:5px 0;border:0;background:none;color:#707b69;border-radius:4px;transition:background .15s,color .15s,box-shadow .15s}.location-floors button[aria-pressed=true]{background:#fffdf5;color:#315d3b;box-shadow:0 1px 4px #29432222}.location-picker .location-options{margin:0;padding:0 3px 0 0;scrollbar-width:thin}.location-picker .location-area{margin:0 0 8px;padding:8px;background:#eeefe4;border:1px solid #d4dccb;border-radius:7px}.location-picker .location-area h3{position:static;display:flex;justify-content:space-between;background:none;padding:0;margin:0 0 6px;font-size:11px;color:#65755f}.location-area h3 span{color:#3f754a}.location-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.location-picker .location-tile{display:block;position:relative;min-height:0;margin:0;padding:0;cursor:pointer}.location-tile input{position:absolute;opacity:0;width:100%;height:100%;margin:0;inset:0;cursor:pointer}.location-tile>span{display:block;text-align:center;padding:7px 0;font-size:13px;background:#fffdf5;border:1px solid #c5ceba;border-radius:5px;transition:background .14s,border-color .14s,box-shadow .14s}.location-tile i{display:none;position:absolute;bottom:0;right:3px;font-style:normal;font-size:10px;color:#fff;pointer-events:none}.location-tile:hover>span{border-color:#80a277;background:#e3eddb}.location-tile input:checked~span{background:#4f7653;border-color:#4f7653;color:#fff;box-shadow:0 1px 4px #29482a20}.location-tile input:checked~i{display:block}.location-tile input:focus-visible~span{outline:2px solid #b18b45;outline-offset:2px}.location-tile.custom-tile{grid-column:1/-1}.location-tile.custom-tile>span{text-align:left;padding:7px 10px;overflow-wrap:anywhere}.location-custom-fold{border-top:1px solid #d2d8c8;padding-top:7px;font-size:11px;color:#74826b}.location-custom-fold summary{cursor:pointer}.location-picker .custom-location{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;border:0;padding-top:7px}.location-picker .custom-location input{min-width:0;margin:0;height:30px;font-size:12px}.location-picker .custom-location button{height:30px;font-size:11px}.location-no-results{padding:28px 7px;text-align:center;font-size:13px;color:#617555}.location-no-results small{display:block;margin-top:7px;font-size:11px;color:#8a927f}@keyframes location-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.metadata-section *, .location-picker,.location-picker *{animation:none!important;transition:none!important}}
/* Preview path playback is independent of canvas selection. */
.blueprint-node.run-covered:not(.run-current){border-color:#60867d}.blueprint-node.run-current{outline:3px solid #69edd9;outline-offset:3px;border-color:#9cfff0;box-shadow:0 0 0 7px #4fe0c026,0 0 26px #58dfbf45,0 12px 26px #0005;z-index:4}.blueprint-node.run-current .node-head{background:linear-gradient(100deg,#247d72,#345b4d)}.blueprint-node.run-current.run-paused{outline-color:#f0cd80;box-shadow:0 0 0 7px #eac87822,0 0 24px #d8b15b25}.blueprint-node.routing-dot.run-current{outline:none;box-shadow:none;border:0}.routing-dot.run-current .dot-core{background:#affff0;box-shadow:0 0 0 4px #37beaa,0 0 0 8px #4fe0c035,0 0 20px #55e7cf}.routing-dot.run-current.run-paused .dot-core{background:#ffe7a3;box-shadow:0 0 0 4px #ad9151,0 0 0 8px #ebd08022}
.wire-flow{display:none;fill:none;stroke:#eafff9;stroke-width:3;stroke-linecap:round;stroke-dasharray:5 20;pointer-events:none;animation:execution-flow .6s linear infinite}.run-wire .wire:not(.wire-hit){stroke:#5af0cd;stroke-width:4;filter:drop-shadow(0 0 4px #59e4c3)}.run-wire .wire-flow{display:block}.run-wire.run-paused .wire-flow{animation-play-state:paused;stroke:#ffe9a5}.run-wire.run-paused .wire:not(.wire-hit){stroke:#dec887}@keyframes execution-flow{to{stroke-dashoffset:-50}}
.preview-path-status{position:absolute;left:12px;top:51px;z-index:10;display:flex;align-items:center;gap:9px;max-width:calc(100% - 24px);padding:8px 12px;border:1px solid #4c9b86;border-radius:8px;background:#183c32ef;color:#d6fff0;box-shadow:0 4px 16px #0003;text-align:left}.preview-path-status[hidden]{display:none}.preview-path-status>span:nth-child(2){min-width:0}.preview-path-status small{display:block;font-size:10px;color:#99cdbc;line-height:1.5}.preview-path-status strong{display:block;max-width:220px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path-live-dot{width:7px;height:7px;border-radius:50%;background:#74efd1;box-shadow:0 0 0 4px #59d6b520;flex:none}.preview-path-status.is-paused{border-color:#a38e60}.is-paused .path-live-dot{background:#e5c980;box-shadow:0 0 0 4px #b59c5620}
@media(prefers-reduced-motion:reduce){.wire-flow{animation:none;stroke-dasharray:5 14}}

/* Source ownership and compact list operations. */
#inspectorBody [data-wire-locked="true"] { opacity:.65; background:#ddd9ce; color:#5e665f; cursor:not-allowed; }
.rich-tools [data-format][aria-pressed="true"] { background:#416a59; color:#fff; border-color:#416a59; box-shadow:inset 0 0 0 1px #fff4; }
.list-action-example { margin:-3px 0 12px; padding:8px 10px; border-left:3px solid #8f794b; background:#e9e2d1; font-size:13px; color:#5b584d; }
.list-output-card { padding:12px; border:1px solid #b6c6b9; border-radius:9px; background:#e5ece4; }
.list-output-card header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.list-output-card header span { font-size:12px; color:#436754; border:1px solid #b6c6b9; border-radius:12px; padding:2px 8px; }
.list-output-card small { display:block; color:#5b695c; font-size:12px; line-height:1.5; margin-top:7px; }
.list-output-card label { margin-bottom:0; }

/* Search results remain distinct from selection and preview execution. */
.blueprint-node.search-hit{outline:2px solid #dab76b;outline-offset:5px;box-shadow:0 0 0 7px #dab76b25,0 4px 18px #0005}
.blueprint-node.search-hit.selected{outline-color:#fff0b8;outline-width:3px}
.blueprint-node.search-hit.run-current{outline-color:#69edd9}
.routing-dot.search-hit .dot-core{box-shadow:0 0 0 5px #dab76b70}
.preview-step-history{position:absolute;left:12px;top:112px;z-index:120;width:min(360px,calc(100% - 24px));max-height:min(480px,calc(100% - 130px));display:flex;flex-direction:column;background:#f3eedf;color:#293c33;border:1px solid #a5b1a3;border-radius:9px;box-shadow:0 12px 35px #0005;overflow:hidden}
.preview-step-history[hidden]{display:none}.preview-step-history header,.preview-step-history nav{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 10px;border-bottom:1px solid #b6bfaf}.preview-step-history nav span{font-size:11px;color:#68796c}.preview-step-history button{font-size:12px;padding:5px 8px}.preview-history-rows{overflow:auto;min-height:0;padding:5px}.preview-history-rows>button{display:flex;align-items:center;gap:10px;text-align:left;width:100%;border:0;border-radius:5px;background:transparent;padding:8px}.preview-history-rows>button:hover{background:#dce6d9}.preview-history-rows>button[aria-current=step]{background:#345c4a;color:#fff}.preview-history-rows b{min-width:24px;font-variant-numeric:tabular-nums;opacity:.7}.preview-history-rows strong,.preview-history-rows small{display:block}.preview-history-rows small{opacity:.7;font-size:11px;margin-top:3px}

.preview-sessions button.has-pending::after{content:"待回复";display:inline-block;margin-left:5px;padding:1px 4px;border-radius:8px;background:#d4b67133;color:#756025;font-size:10px;white-space:nowrap}

/* Shared database: four compact entry cards, matching the editor rail. */
.database-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px}
.database-cards>button{position:relative;display:grid;grid-template-columns:24px 1fr;gap:3px 7px;text-align:left;min-height:76px;padding:12px 10px;border:1px solid #b7ad96;border-radius:9px;background:linear-gradient(145deg,#faf5e9,#e9e1ce);color:#314d40;box-shadow:0 2px 3px #263c2910;transition:background .15s,box-shadow .15s,transform .15s}
.database-cards>button:hover{background:#faf7ed;box-shadow:0 3px 9px #263c2920;transform:translateY(-1px)}
.database-cards>button:focus-visible{outline:2px solid #3b755e;outline-offset:2px}
.database-cards strong{font-size:15px;align-self:center}.database-cards small{grid-column:2;font-size:12px;color:#6f7569;white-space:normal}
.database-icon{grid-row:1/3;align-self:center;font-size:23px;color:#627e69}.database-arrow{position:absolute;right:7px;top:9px;color:#8e9b8d;font-size:17px}
.database-cards>button[data-database="achievement"] .database-icon{color:#9d8350}.database-cards>button[data-database="global"] .database-icon{color:#876c8b}
.database-scope-note{margin:12px 20px;color:#697267;font-size:14px}
.global-definition-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.catalogue-workspace .global-definition-card{padding:16px;border:1px solid #c6bda9;border-radius:10px;background:#fbf7ed;min-width:0}
.global-definition-card header,.global-definition-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.global-definition-card p{font-size:14px;color:#626b61;overflow-wrap:anywhere;white-space:pre-wrap;margin:12px 0;max-height:110px;overflow:auto}
.global-definition-card .catalogue-name{text-align:left;overflow-wrap:anywhere}.global-definition-card footer{margin-top:14px;flex-wrap:wrap;justify-content:flex-end}
.database-type{font-size:12px;white-space:nowrap;border-radius:5px;padding:3px 7px;background:#e6ede4;color:#3c604c}
.global-definition-default{display:flex;gap:10px;align-items:baseline;font-size:13px;color:#7a7e70}.global-definition-default strong{font-size:14px;color:#33493d;overflow-wrap:anywhere;max-height:80px;overflow:auto}
@media(prefers-reduced-motion:reduce){.database-cards>button{transition:none;transform:none}}

/* QQ preview motion only: preserve the editor layout and message typography. */
.workbench-preview{animation:preview-window-arrive 180ms ease-out}
.workbench-preview .preview-message-arrive{animation:preview-message-arrive 240ms cubic-bezier(.2,.7,.25,1)}
.workbench-preview .chat-bubble{box-shadow:0 2px 5px #263a3206}
.workbench-preview button{transition:background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease,opacity 140ms ease}
.workbench-preview button:focus-visible{outline:2px solid #6c9c88;outline-offset:2px}
.workbench-preview button:active:not(:disabled){box-shadow:inset 0 0 0 999px #263a3214}
.workbench-preview .preview-chat-form textarea{transition:border-color 140ms ease,box-shadow 140ms ease}
.workbench-preview .preview-chat-form textarea:focus{box-shadow:0 0 0 2px #50866d20}
@media(hover:hover){.workbench-preview .preview-sessions button:not(.active):hover{background:#d6e1dc}.workbench-preview .preview-quick-bar button:not(:disabled):hover{box-shadow:0 2px 6px #263a3215}}
@keyframes preview-message-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes preview-window-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.workbench-preview,.workbench-preview .preview-message-arrive{animation:none}.workbench-preview button,.workbench-preview .preview-chat-form textarea{transition:none}}

.catalogue-art-preview{padding:0;border:0;background:transparent;overflow:visible;max-width:90vw;max-height:90dvh}.catalogue-art-preview img{max-width:80vw;max-height:85dvh;border-radius:14px;box-shadow:10px 15px 3px #0006}.catalogue-art-preview button{position:absolute;right:-12px;top:-12px;border-radius:50%;width:36px;height:36px}.catalogue-art-preview::backdrop{background:#152a20b3}.catalogue-form .event-card-upload-row{display:flex;flex-wrap:wrap;gap:6px}.catalogue-form .event-card-upload-row>small{flex-basis:100%;font-size:12px}

/* Authored spacing belongs to the message, not to HTML layout. */
.markdown-body,.rich-editor.markdown-body,.markdown-body :is(p,li){white-space:pre-wrap;white-space:break-spaces;tab-size:4}
.global-definition-default strong{white-space:pre-wrap;white-space:break-spaces;tab-size:4}

.travel-location-dialog{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:16px;border:1px solid #a89c7d;border-radius:14px;background:#f0eadb;color:#344738;box-shadow:0 20px 70px #081b1760;overflow:auto}.travel-location-dialog::backdrop{background:#14261f80}.travel-location-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.travel-location-dialog strong{font-size:17px}.travel-location-dialog small{display:block;margin-top:4px;color:#78816e}.travel-location-dialog>input{height:40px;border-radius:7px}.travel-location-dialog button{min-height:36px;border-radius:6px;padding:6px 12px}.travel-location-dialog .location-options{max-height:min(55dvh,450px);overflow:auto;overscroll-behavior:contain}.travel-location-dialog .location-tile{min-height:42px}.travel-location-dialog .custom-location{display:flex;gap:8px}.travel-location-dialog .custom-location input{min-width:0;flex:1}.travel-location-dialog .custom-location button{flex:none}

.setter-mode-field{display:grid;gap:7px}.setter-mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #bcb8a4;border-radius:10px;background:#ddd8c5}.setter-mode-buttons button{min-height:40px;border:0;border-radius:7px;background:transparent;color:#536151;transition:background .15s,color .15s,box-shadow .15s}.setter-mode-buttons button[aria-pressed="true"]{background:#355446;color:#fff9e8;box-shadow:0 1px 3px #243e3426}.setter-mode-buttons button:focus-visible{outline:2px solid #b48c42;outline-offset:2px}
/* Catalogue editing: stable cards, compact category filters and inline artwork. */
.catalogue-workspace [data-row-edit]{cursor:pointer}
.catalogue-workspace [data-row-edit]:focus-within{outline:2px solid #789879;outline-offset:-2px}
.catalogue-workspace .catalogue-group th{position:static;background:#dedfce;padding:9px 12px;border-radius:8px;color:#3c5142}
.catalogue-workspace .catalogue-group small{display:inline;margin-left:8px;font-weight:400}
.catalogue-filters{padding:6px 18px 14px;display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid #d5d1c3}
.catalogue-filters>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.catalogue-filters button,.catalogue-art-badge,.item-category{border-radius:9px;font-size:12px;padding:5px 9px;line-height:1.5}
.item-category{--category-bg:#e6e5df;--category-ink:#575c56;background:var(--category-bg)!important;color:var(--category-ink)!important;border:1px solid color-mix(in srgb,var(--category-ink) 30%,transparent)}
.item-category[data-category=equipment]{--category-bg:#dce6ed;--category-ink:#3f6078}
.item-category[data-category=food]{--category-bg:#e0e9d9;--category-ink:#4b6b3f}
.item-category[data-category=material]{--category-bg:#dce8e4;--category-ink:#3c6b63}
.item-category[data-category=quest]{--category-bg:#e8dfeb;--category-ink:#71557b}
.item-category[data-category=valuable]{--category-bg:#eee3c8;--category-ink:#7c602e}
.catalogue-filters button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--category-ink,#58725b);font-weight:700}
.catalogue-filter-mode button{background:#eeeadd;border:1px solid #b9beac;color:#485940}
.catalogue-art-badge{display:inline-flex;gap:4px;color:#4d6b57;background:#e0e8db;border:1px solid #bdcdb7;margin:0 0 6px}
.catalogue-inline-art{display:block;width:100%;margin:10px 0 16px;padding:12px;border:1px solid #c9c7b5;border-radius:12px;background:repeating-conic-gradient(#e8e5db 0% 25%,#f2efe6 0% 50%) 50%/16px 16px;cursor:zoom-in}
.catalogue-inline-art[hidden]{display:none}.catalogue-inline-art img{display:block;max-width:100%;max-height:300px;width:auto;height:auto;margin:auto;object-fit:contain;filter:drop-shadow(0 4px 7px #27392b33)}
.catalogue-latest{max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#e8e5da;border-radius:8px;padding:12px;font-size:12px}
.catalogue-form-actions [data-dirty]{font-size:12px;color:#566d51}
@media(prefers-reduced-motion:reduce){.catalogue-workspace .catalogue-table tr{transition:none}}

/* Non-modal catalogue workspaces: only the header drags. */
.database-window{position:fixed;inset:auto;width:min(1120px,calc(100vw - 64px));height:min(800px,calc(100dvh - 100px));max-width:none;max-height:none;margin:0;display:flex;flex-direction:column;border:1px solid #8c9279;border-radius:14px;background:#eee8d6;box-shadow:0 18px 64px #15251e66;overflow:hidden;resize:both;min-width:350px;min-height:240px}
.database-window[hidden]{display:none!important}
.database-window>header{display:flex;align-items:center;justify-content:space-between;background:#2c4236;color:#eee8d6;padding:10px 16px;cursor:move;touch-action:none;user-select:none}
.database-window>header h2{font-size:17px;margin:0}.database-window>header>button{background:#3d5547;border:1px solid #728774;border-radius:6px;color:#f7f0de;padding:7px 18px}
.database-window .workbench-dialog-body{min-height:0;flex:1;overflow:auto}
.database-window .catalogue-layout{height:100%;min-height:0}
.database-window .catalogue-editor,.database-window .catalogue-list{overflow:auto;min-height:0}
.database-window .catalogue-table{width:100%;table-layout:fixed;border-collapse:collapse}
.database-window .catalogue-table th:first-child{width:27%}.database-window .catalogue-table th:last-child{width:120px}
.database-window .catalogue-table td{vertical-align:top;overflow-wrap:anywhere;padding:14px 12px;border-bottom:1px solid #d7d3bf}
.database-window .catalogue-table thead th{position:sticky;top:0;z-index:1;background:#e3dfcd;text-align:left;padding:10px 12px}
.database-window .catalogue-table tbody tr:not(.catalogue-group){background:#f3efdf;cursor:pointer}
.database-window .catalogue-table tbody tr:not(.catalogue-group):hover{background:#eae9d5}
.database-window .catalogue-table tr.is-editing-row{box-shadow:inset 3px 0 #597151;background:#e3e7d3!important}
.database-window .catalogue-group th{padding:9px 12px;background:#dce1cd;color:#4b6149;text-align:left}
.database-window .global-definition-list{display:flex;flex-direction:column;gap:0}
.database-window .global-definition-card{border:0;border-bottom:1px solid #d7d3bf;border-radius:0;background:#f3efdf;padding:14px 18px;margin:0;cursor:pointer}
.database-window .global-definition-card:hover{background:#eae9d5}.database-window .global-definition-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.database-window .global-definition-card p{margin:7px 0}.database-window .global-definition-card footer{display:flex;justify-content:flex-end;gap:8px}
.database-window .catalogue-filters{display:flex;flex-wrap:wrap;gap:12px;padding:10px 20px}.database-window .catalogue-filters label{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;flex:0 0 auto}.database-window .catalogue-filters select{width:auto}.database-window .catalogue-filters select{min-height:36px;border:1px solid #b9bea9;border-radius:6px;background:#f5f0e2;padding:5px 9px}
@media(max-width:767px){.database-window{inset:4px!important;width:auto;height:auto;min-width:0;resize:none}.database-window .catalogue-layout{display:block}.database-window.is-editing .catalogue-list{display:none}.database-window .catalogue-editor{width:100%}.database-window .catalogue-table{min-width:620px}}

.achievement-placeholder{width:min(260px,100%);aspect-ratio:100/143;padding:24px;box-sizing:border-box;border:double 5px #7d895c;border-radius:18px;background:#ede7ce;display:flex;flex-direction:column;justify-content:center;gap:20px;text-align:center;box-shadow:3px 6px 10px #16261e33}.achievement-placeholder strong{font-size:24px}
/* Database windows use the editor's ink and paper, with independent scroll regions. */
.database-window .catalogue-form input:not([type=checkbox]),.database-window .catalogue-form select{height:auto;min-height:39px}
.database-window>.workbench-dialog-body{display:flex;flex-direction:column;overflow:hidden;padding:0}
.database-window .catalogue-layout{height:auto;flex:1}
.database-window .database-scope-note{margin:10px 20px;line-height:1.6}
.database-window .food-lasting{margin-top:18px;padding-top:12px;border-top:1px solid #c9c8b3}
.database-window .food-lasting h4{margin:0 0 12px;color:#34513e}
.database-window .item-active-behavior{display:grid;gap:12px}
.database-window .item-active-behavior fieldset{margin:0}
.database-window [data-words]{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.database-window [data-words] button{background:#e2ead8;border:1px solid #b4c3a4;border-radius:16px;padding:5px 10px}
.database-window [data-recipes]{display:flex;flex-direction:column;gap:6px}
.database-window .catalogue-table th:first-child{width:30%}.database-window .catalogue-table th:last-child{width:110px}
.database-window .catalogue-toolbar{background:#eae5d5}.database-window .catalogue-toolbar input{background:#faf6eb;border-radius:7px;padding:9px 12px;border:1px solid #b6bea8}
.database-window .catalogue-row-actions{align-items:flex-start}.database-window .catalogue-row-actions button{flex:0 0 auto;padding:6px 8px}.database-window .catalogue-row-actions [data-delete]{color:#86584a}
.database-window .catalogue-editor{background:#f4eee2}.database-window .catalogue-editor>header{background:#f4eee2;border-bottom:1px solid #d7d1bf;margin-bottom:12px}.database-window .catalogue-form-actions{background:#f4eee2;box-shadow:0 -5px 14px #f4eee2}
.database-window .catalogue-form-actions [data-dirty]{flex:1 0 100%;order:-1;font-size:13px;margin:0}.database-window .catalogue-form fieldset{background:#ececdd;border-color:#c8ccb9}.database-window .catalogue-cell-copy{-webkit-line-clamp:3}.database-window .catalogue-list,.database-window .catalogue-editor{overscroll-behavior:contain}
.effect-reference-control{padding:10px;background:#e0e5d6;border:1px solid #b7c2aa;border-radius:7px;margin:8px 0}.effect-reference-control>span{display:block;font-weight:650;margin:0 0 8px}.effect-reference-control>div{display:flex;gap:7px}.effect-reference-control button:first-child{flex:1}.effect-reference-control button{margin:0}
@media(max-width:767px){.database-window .catalogue-editor{overflow:auto;height:100%}.database-window>.workbench-dialog-body{overflow:hidden}.database-window .catalogue-layout{overflow:auto}.database-window button{min-height:36px}}
