/* Shared modeler shell. Replaces the retired floating airiness layer. */
:root{--bg-canvas:var(--bg-surface-alt);--control-shadow:none;--control-shadow-hover:none;--polish-radius-control:var(--radius-md);--polish-radius-card:var(--radius-lg);--polish-radius-modal:var(--radius-xl)}
header{min-height:72px;padding:14px 24px;background:var(--bg-surface);border-bottom:1px solid var(--border-soft);box-shadow:none;gap:20px}header h1{font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.02em}.app-build-version{border:0;padding:0;background:transparent;font-weight:400;color:var(--text-muted)}.header-center{gap:8px}.flow-name{border:1px solid transparent;border-radius:var(--radius-md);background:transparent;font-weight:500}.flow-name:hover{border-color:var(--border-soft)}.header-title-actions,.zoom-controls{border:0;border-radius:0;background:transparent;box-shadow:none;gap:2px}.header-title-actions .flow-btn,.header-actions .flow-btn{border-radius:var(--radius-md);box-shadow:none;font-weight:500}.header-title-actions .flow-btn,.header-quiet-controls .flow-btn{background:transparent;border-color:transparent}.header-actions .run-btn{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--bg-surface);font-weight:600;min-width:88px}.header-actions .run-btn:hover{background:var(--accent-strong);filter:brightness(.94)}
.toolbox{width:220px;flex-basis:220px;max-width:220px;margin:0;padding:20px 14px;background:var(--bg-surface);border:0;border-right:1px solid var(--border-soft);border-radius:0;box-shadow:none}.toolbox-search{min-height:36px;border-radius:var(--radius-md);margin-bottom:10px;background:var(--bg-surface-alt)}.toolbox .toolbox-block-browser-button{background:transparent;border-color:var(--border-soft);color:var(--text-muted);border-radius:var(--radius-md);box-shadow:none;min-height:34px;margin-bottom:14px;font-weight:500}.toolbox .tool-item{min-height:38px;margin:2px 0;padding:7px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;box-shadow:none}.toolbox .tool-item:hover{background:var(--bg-surface-info);border-color:var(--border-soft);transform:none}.tool-item-label{font-size:var(--font-size-md);font-weight:500}.toolbox .tool-item .icon{border-radius:var(--radius-sm);box-shadow:none}.canvas{margin:0;padding:40px;border-radius:0;background:var(--bg-canvas)}
.canvas .hint{width:min(480px,calc(100vw - 40px));padding:32px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:none}.canvas .hint-eyebrow{display:block;font-size:var(--font-size-sm);font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-muted);margin-bottom:12px}.canvas .hint-title{font-size:calc(var(--font-size-title) + 9px);font-weight:600;line-height:1.2;letter-spacing:-.03em}.canvas .hint-subtitle{font-size:var(--font-size-md);line-height:1.7;color:var(--text-muted);margin:12px 0 24px}.canvas .hint-steps{display:flex;gap:12px;padding:0;margin-bottom:24px;border:0;background:transparent}.canvas .hint-steps li{display:flex;gap:6px;align-items:center;padding:0;border:0;background:transparent;font-size:var(--font-size-sm)}.canvas .hint-step-number{width:22px;height:22px;border-radius:var(--radius-sm);font-weight:500}.canvas .hint-step-copy strong{font-weight:500}.canvas .hint-step-copy span{display:none}.canvas .hint-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}.canvas .hint-link{min-height:38px;padding:8px 14px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-weight:500;box-shadow:none}.canvas .hint-link-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--bg-surface)}.canvas .hint-link-subtle{flex-basis:100%;padding:12px 0 0;border:0;min-height:24px;justify-content:flex-start;color:var(--text-muted);font-size:var(--font-size-sm)}.hint-privacy-badges{display:none}
.block-icon-area{background:var(--bg-surface);border:1px solid var(--border-hover);border-top:3px solid var(--block-color,var(--accent));border-radius:var(--radius-lg);box-shadow:none}.block-icon,.block-icon svg{color:var(--block-color,var(--accent));stroke:var(--block-color,var(--accent))}.block:hover .block-icon-area,.block.is-dragging .block-icon-area{transform:none;box-shadow:0 0 0 2px var(--border-soft)}.block.selected .block-icon-area,.block.multi-selected .block-icon-area,.block:focus-visible .block-icon-area{box-shadow:0 0 0 3px var(--accent-focus);border-color:var(--accent-strong)}.block-label{font-weight:600}.block-source-label{border:0;border-radius:0;background:transparent;box-shadow:none;font-size:var(--font-size-xs);font-weight:400}.block-row-badge{box-shadow:none;border-radius:var(--radius-sm)}
.config-panel-header{min-height:64px;padding:16px 20px;background:var(--bg-surface)}.config-panel-body{padding:20px}.panel-actions{padding:8px 16px;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-soft)}.panel-actions .config-panel-save{color:var(--accent-strong);border-color:var(--border-soft)}.mem-panel-eyebrow,.mem-panel-section-title span,.mem-subsection-title,.mem-field,.mem-panel-chip{font-weight:600}.mem-panel-card{box-shadow:none}.bottom-data-viewer{border-top:1px solid var(--border-soft);background:var(--bg-surface)}.bottom-data-viewer-header{background:var(--bg-surface);padding:12px 20px}.bottom-data-tab{border-radius:var(--radius-sm);font-weight:500}@media(max-width:1100px){header{padding:12px 16px;gap:12px}.header-left{max-width:170px}.toolbox{width:190px;flex-basis:190px;max-width:190px;padding:16px 10px}}
@media(max-width:768px){header{height:96px;min-height:96px;padding:8px 12px;gap:6px 8px}.header-left{max-width:145px}header h1{font-size:var(--font-size-md)}.app-build-version{display:none}.header-actions .run-btn{min-width:72px}.toolbox{top:96px;bottom:48px;margin:0;width:220px;max-width:220px;padding:16px}.canvas{padding:16px}.canvas .hint{padding:24px;max-width:calc(100vw - 32px)}.canvas .hint-title{font-size:calc(var(--font-size-title) + 6px)}.canvas .hint-actions{gap:8px}.canvas .hint-link{padding:8px 12px}.canvas .hint-steps{gap:9px}}
#toast-container{top:auto;bottom:20px;left:auto;right:20px;transform:none;width:min(420px,calc(100vw - 40px));align-items:stretch}.toast{width:100%;padding:12px 16px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-soft);border-left:3px solid var(--accent);font-size:var(--font-size-md);font-weight:500;text-align:left;box-shadow:var(--control-shadow)}.toast-success{border-left-color:var(--action-success)}.toast-error{border-left-color:var(--action-danger)}.toast-warning,.toast-warn{border-left-color:var(--warning)}
@media(max-width:768px){#toast-container{top:auto;bottom:108px;left:12px;right:12px;width:auto;transform:none}body:has(#configPanel.open) #toast-container{top:108px;bottom:auto}.toolbox .tool-item{min-height:44px}}

/* Canvas entry points. */
.workspace{position:relative}.selected-node-actions{position:absolute;left:0;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:6px;max-width:calc(100% - 32px);background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md)}.selected-node-actions[hidden]{display:none}.selected-node-actions button{min-height:36px;padding:7px 12px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font:inherit}.selected-node-actions button:hover{background:var(--bg-surface-info)}.context-menu-item{display:block;width:100%;text-align:left;border:0;background:transparent;font:inherit;min-height:40px}.context-menu-item:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-2px}.block{touch-action:none}.block:focus{outline:none}
@media(max-width:768px){.selected-node-actions button{min-height:44px}}
