:root,[data-theme=light]{--bg-main:#f8fafc;--bg-panel:#fff;--bg-panel-hover:#f1f5f9;--bg-inset:#f1f5f9;--bg-overlay:#fffffffa;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0;--border-subtle:#0f172a1f;--shadow-nav:0 12px 40px #0f172a14, 0 4px 12px #0f172a0a;--shadow-card:0 4px 6px -1px #0000000d;--accent-blue:#2563eb;--accent-blue-bg:#eff6ff;--accent-blue-border:#dbeafe;--tag-primary-bg:#e0e7ff;--tag-primary-color:#3730a3;--tag-secondary-bg:#f1f5f9;--tag-secondary-color:#475569;--tag-success-bg:#dcfce7;--tag-success-color:#166534;--danger-bg:#fef2f2;--danger-color:#dc2626;--warning-bg:#fffbeb;--warning-border:#fde68a;--warning-color:#92400e;--input-bg:#fff;--input-border:#e2e8f0;--scrollbar-thumb:#cbd5e1;--scrollbar-track:transparent;--aura-color:37, 99, 235}[data-theme=dark]{--bg-main:#0a0a0a;--bg-panel:#1a1a1a;--bg-panel-hover:#2a2a2a;--bg-inset:#0e0e0e;--bg-overlay:#141414fa;--text-primary:#e8e8e8;--text-secondary:#999;--text-muted:#666;--border-color:#2a2a2a;--border-subtle:#ffffff14;--shadow-nav:0 12px 40px #0006, 0 4px 12px #00000040;--shadow-card:0 4px 6px -1px #0000004d;--accent-blue:#60a5fa;--accent-blue-bg:#1a2a3a;--accent-blue-border:#1a2a3a;--tag-primary-bg:#2a2040;--tag-primary-color:#c7b8ff;--tag-secondary-bg:#2a2a2a;--tag-secondary-color:#bbb;--tag-success-bg:#0f2a1a;--tag-success-color:#86efac;--danger-bg:#2a0a0a;--danger-color:#fca5a5;--warning-bg:#2a1a05;--warning-border:#6b4000;--warning-color:#fde68a;--input-bg:#141414;--input-border:#333;--scrollbar-thumb:#3a3a3a;--scrollbar-track:#1a1a1a;--aura-color:96, 165, 250}.app-aura{z-index:-1;pointer-events:none;filter:blur(150px);opacity:.5;border-radius:50%;position:fixed}.app-aura--1{background:radial-gradient(circle, rgba(var(--aura-color), .25) 0%, transparent 70%);width:55vw;height:55vw;animation:30s ease-in-out infinite alternate aura-float-1;top:-10%;left:-10%}.app-aura--2{background:radial-gradient(circle,#a855f72e 0%,#0000 70%);width:50vw;height:50vw;animation:35s ease-in-out infinite alternate aura-float-2;bottom:-15%;right:-5%}@keyframes aura-float-1{0%{transform:translate(0)scale(1)}to{transform:translate(50vw,30vh)scale(1.2)}}@keyframes aura-float-2{0%{transform:translate(0)scale(1.1)}to{transform:translate(-40vw,-25vh)scale(.9)}}body{color:var(--text-primary);background:0 0;min-height:100vh;margin:0}.theme-toggle{border:1px solid var(--border-color);background:var(--bg-panel);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:16px;line-height:1;transition:all .15s;display:inline-flex}.theme-toggle:hover{background:var(--bg-panel-hover);border-color:var(--text-muted)}.gsearch{z-index:900;border:1px solid var(--border-color);background:var(--bg-panel);border-radius:12px;width:320px;animation:.12s ease-out gsearch-in;position:fixed;top:380px;right:16px;overflow:hidden;box-shadow:0 8px 32px #00000040}@keyframes gsearch-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gsearch__bar{align-items:center;gap:4px;padding:6px 8px;display:flex}.gsearch__icon{opacity:.5;flex-shrink:0;padding:0 2px;font-size:13px}.gsearch__input{color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.gsearch__input::placeholder{color:var(--text-muted)}.gsearch__btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:all .1s;display:inline-flex}.gsearch__btn:hover{background:var(--bg-panel-hover);color:var(--text-primary)}.gsearch__btn.is-on{color:var(--accent-blue)}.gsearch__filters{border-top:1px solid var(--border-color);gap:6px;padding:4px 8px 6px;display:flex}.gsearch__sel{border:1px solid var(--border-color);background:var(--bg-inset);height:26px;color:var(--text-primary);font:inherit;border-radius:5px;outline:none;flex:1;padding:0 6px;font-size:11px}.gsearch__list{border-top:1px solid var(--border-color);max-height:240px;padding:3px;overflow-y:auto}.gsearch__row{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;transition:background 60ms;display:flex}.gsearch__row:hover,.gsearch__row.is-active{background:var(--bg-panel-hover)}.gsearch__thumb{object-fit:contain;background:var(--bg-inset);border:1px solid var(--border-color);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.gsearch__thumb--fb{color:var(--text-muted);font-size:9px;font-weight:800}.gsearch__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.gsearch__kind{text-transform:uppercase;background:var(--tag-secondary-bg);color:var(--tag-secondary-color);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:700}.gsearch__empty{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);padding:12px;font-size:11px}.app-shell{min-height:100vh;color:var(--text-primary);background:0 0;gap:0;padding:0;display:grid;position:relative;overflow:hidden}.app-nav{border:1px solid var(--border-subtle);background:var(--bg-panel);box-shadow:var(--shadow-nav);z-index:1000;background:var(--bg-overlay);border:1px solid var(--border-subtle);width:auto;box-shadow:var(--shadow-nav);border-radius:20px;flex-direction:column;padding:12px 20px;display:flex;position:fixed;top:20px;left:20px;right:20px}.app-nav__sensor{visibility:hidden;pointer-events:none;z-index:-1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:10px;right:10px}.app-nav__mobile-header{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.app-nav__mobile-left{flex:1;min-width:0}.hamburger-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);background:0 0;padding:2px 8px;font-size:1rem;transition:background .12s}.hamburger-btn:hover{background:var(--bg-panel-hover,var(--bg-muted))}.app-nav__bar--collapsed{border-top:1px solid #e2e8f0;flex-direction:column;align-items:stretch;gap:14px;margin-top:14px;padding-top:14px;display:none!important}.app-nav__bar--collapsed.is-open{display:flex!important}.app-nav__bar--collapsed .app-nav__tabs{flex-direction:column}.app-nav__bar--collapsed .app-nav__controls{flex-direction:column;align-items:stretch}.app-nav__bar--collapsed .app-nav__tab{min-width:unset;text-align:center;width:100%}.app-nav__bar{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;display:grid}.app-nav__tabs{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.app-nav__tabs::-webkit-scrollbar{display:none}.app-nav__controls{justify-content:flex-end;align-items:center;gap:8px;display:flex}.ai-menu{align-items:center;gap:6px;display:inline-flex}.app-nav__stats{justify-content:center;align-items:center;gap:8px;display:flex;overflow:hidden}.app-nav__tab,.stat-pill,.minimal-select{box-sizing:border-box;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;height:34px;padding:0 14px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.app-nav__tab{color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;background:0 0;border:1px solid #0000;width:max-content;min-width:100px;padding:0 12px;transition:all .15s;overflow:hidden}.app-nav__tab:hover{background:var(--bg-inset);color:var(--text-primary)}.app-nav__tab.is-active{background:var(--bg-inset);color:var(--text-primary);font-weight:700}.stat-pill{background:var(--bg-inset);color:var(--text-secondary);border:1px solid var(--border-color);cursor:default;text-overflow:ellipsis;width:100px;overflow:hidden}.stat-pill b{color:var(--text-primary);margin-right:4px}.stat-pill--status{background:var(--accent-blue-bg);color:var(--accent-blue);border-color:var(--accent-blue-border);text-align:center;text-overflow:ellipsis;width:150px;overflow:hidden}.minimal-select{appearance:none;background-color:var(--bg-inset);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;outline:none;padding-right:32px;transition:all .15s}.minimal-select:hover{background-color:var(--bg-panel-hover);border-color:var(--text-muted)}.minimal-select--ai-provider{min-width:128px;padding-left:10px}.minimal-select--ai-model{justify-content:flex-start;width:190px;padding-left:10px}.wo-item-icon-chip{border:1px solid var(--border-color);background:var(--bg-inset);width:34px;height:34px;color:var(--text-primary);cursor:help;border-radius:8px;outline:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.wo-item-icon-chip:hover,.wo-item-icon-chip:focus-visible{border-color:var(--accent-blue);background:var(--bg-panel-hover)}.wo-item-icon-chip:not(.is-disabled){cursor:pointer}.wo-item-icon-chip.is-disabled{opacity:.65}.wo-item-icon-chip__img{object-fit:contain;width:28px;height:28px}.wo-item-icon-chip__fallback{color:var(--text-secondary);font-size:.7rem;font-weight:800}.wo-item-icon-chip__tooltip{z-index:1000;border:1px solid var(--border-color);background:var(--bg-overlay);width:max-content;max-width:240px;box-shadow:var(--shadow-nav);color:var(--text-primary);pointer-events:none;text-align:left;border-radius:8px;padding:8px 10px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.wo-item-icon-chip__tooltip strong,.wo-item-icon-chip__tooltip span{display:block}.wo-item-icon-chip__tooltip strong{font-size:.78rem;line-height:1.25}.wo-item-icon-chip__tooltip span{color:var(--text-secondary);margin-top:3px;font-size:.72rem;line-height:1.35}.wo-item-icon-chip:hover .wo-item-icon-chip__tooltip,.wo-item-icon-chip:focus-visible .wo-item-icon-chip__tooltip{display:block}.wo-priority-select{border:1px solid var(--border-color);cursor:pointer;text-align:center;text-align-last:center;appearance:none;border-radius:8px;width:28px;height:28px;margin:0;padding:0;font-size:.8rem;font-weight:800;line-height:26px;box-shadow:0 2px 6px #00000026;background:var(--bg-surface)!important;color:var(--text-primary)!important}.wo-priority-select:hover{background:var(--bg-muted)!important}.wo-browse-card{overflow:visible}.wo-edit-overlay{z-index:1300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.wo-edit-modal{border:1px solid var(--border-color);background:var(--bg-panel);border-radius:14px;width:min(860px,100vw - 32px);max-height:92vh;overflow:auto;box-shadow:0 20px 70px #0f172a47}.wo-edit-modal__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px 12px;display:flex}.wo-edit-modal__header div{gap:3px;min-width:0;display:grid}.wo-edit-modal__header span{color:var(--text-secondary);text-transform:uppercase;font-size:.74rem;font-weight:800}.wo-edit-modal__header strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.2;overflow:hidden}.wo-edit-modal__close{border:1px solid var(--border-color);background:var(--bg-inset);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;font:inherit;border-radius:8px;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.wo-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 18px;display:grid}.wo-edit-tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wo-edit-tag-group{align-content:start;gap:8px;display:grid}.wo-edit-tag-group h3{color:var(--text-primary);margin:0;font-size:.8rem}.wo-edit-modal__actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.planner-shell{gap:6px;display:grid}.planner-card{border:1px solid var(--border-subtle);background:var(--bg-panel);box-shadow:var(--shadow-nav);border-radius:20px;padding:16px}.planner-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.planner-card__header h1,.planner-card__header h2{color:var(--text-primary);margin:0;font-size:.95rem}.planner-card__header p{color:var(--text-muted);font-size:var(--font-size-sm);margin:2px 0 0;line-height:1.3}.planner-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:6px;display:grid}.planner-ai-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.planner-grid--form{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"column category subcategory""nameEn nameVi id""summaryEn summaryVi summaryGuide"}.planner-dependency-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.planner-field{color:var(--text-secondary);font-size:var(--font-size-base);align-content:start;gap:3px;height:100%;display:grid}.planner-field--full{grid-column:1/-1}.planner-field--column{grid-area:column}.planner-field--category{grid-area:category}.planner-field--subcategory{grid-area:subcategory}.planner-field--name-en{grid-area:nameEn}.planner-field--name-vi{grid-area:nameVi}.planner-field--id{grid-area:id}.planner-field--summary-en{grid-area:summaryEn;grid-template-rows:24px minmax(0,1fr);min-height:244px}.planner-field--summary-vi{grid-area:summaryVi;grid-template-rows:24px minmax(0,1fr);min-height:244px}.planner-field--summary-guide{grid-area:summaryGuide;grid-template-rows:24px minmax(0,1fr);min-height:244px}.planner-field span{font-weight:800}.planner-field__warning{color:#b91c1c;font-size:.83rem;font-weight:700}.imgf{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.imgf__drop{box-sizing:border-box;border:1.5px dashed var(--input-border,var(--border-color));background:var(--bg-inset,var(--bg-muted));width:100%;min-height:80px;color:var(--text-secondary,var(--text-muted));cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.imgf__drop:hover{border-color:var(--text-muted);background:var(--bg-panel-hover,var(--bg-muted))}.imgf__drop:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.imgf__preview-wrap{box-sizing:border-box;border:1.5px solid var(--input-border,var(--border-color));cursor:pointer;border-radius:10px;width:100%;transition:border-color .15s;overflow:hidden}.imgf__preview-wrap:hover{border-color:var(--text-muted)}.imgf__preview{aspect-ratio:1;object-fit:cover;width:100%;display:block}.imgf__btns{gap:6px;display:flex}.imgf__btns button{border:1px solid var(--input-border,var(--border-color));background:var(--bg-inset,var(--bg-muted));color:var(--text-primary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;flex:1;padding:4px 0;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.imgf__btns button:hover:not(:disabled){background:var(--bg-panel-hover,var(--bg-muted));border-color:var(--text-muted)}.imgf__btns button:disabled{opacity:.4;cursor:default}.imgf__btn-rm{color:var(--danger,#dc2626)!important;border-color:var(--danger-border,#fecaca)!important;background:var(--danger-bg,#fef2f2)!important}.imgf__btn-rm:hover:not(:disabled){background:var(--danger-bg,#fee2e2)!important}.planner-toggle-row{justify-content:flex-start;display:flex}.planner-guide-card{box-sizing:border-box;height:100%;overflow:hidden}.planner-guide-card__title{font-weight:800;display:block}.planner-guide-card__body{color:var(--text-primary);border:1px solid var(--border-color);background:var(--bg-inset,var(--bg-muted));box-sizing:border-box;border-radius:14px;align-content:start;gap:6px;height:100%;padding:12px 14px;font-size:.88rem;line-height:1.45;display:grid}.planner-guide-card__body strong{color:var(--text-primary);font-size:.82rem}.planner-field input,.planner-field select,.planner-field textarea{width:100%;min-height:var(--control-height);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font:inherit;box-sizing:border-box;padding:3px 8px}.planner-field textarea{resize:vertical;height:100%;min-height:0}.planner-toggle{border:1px solid var(--border-color-light);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:22px;color:var(--text-primary);font:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:0 8px;font-weight:700}.planner-toggle.is-active{color:#c2410c;background:#fff7ed;border-color:#ea580c}.planner-field select[multiple]{min-height:180px;padding:4px}.planner-search-results,.planner-picked-list{border:1px solid var(--border-color-light);border-radius:var(--radius-sm);background:var(--bg-muted);gap:4px;padding:6px;display:grid}.planner-search-results{max-height:180px;overflow:auto}.planner-search-chip{border:1px solid var(--border-color-light);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);text-align:left;font:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:4px 8px}.planner-search-chip:hover{background:#fff7ed;border-color:#fb923c}.planner-search-empty{color:var(--text-muted);font-size:.86rem}.planner-search-hint{color:var(--text-muted);margin:0;font-size:.86rem}.planner-picked-item{border:1px solid var(--border-color-light);border-radius:var(--radius-sm);background:var(--bg-surface);grid-template-columns:minmax(0,1fr) 64px 32px;align-items:center;gap:6px;padding:4px 8px;display:grid}.planner-picked-item__body{gap:3px;min-width:0;display:grid}.planner-picked-item__body strong,.planner-picked-item__body span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-picked-item__quantity{min-height:var(--control-height);border:1px solid var(--border-color-light);border-radius:var(--radius-sm);font:inherit;padding:0 6px}.planner-picked-item__remove{min-height:var(--control-height);border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font:inherit;cursor:pointer;padding:0 8px;font-weight:700}.planner-prediction{gap:12px;display:grid}.planner-prediction__stats{flex-wrap:wrap;gap:8px;display:flex}.planner-prediction__stats span{border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-secondary);font-size:var(--font-size-sm);padding:3px 8px;font-weight:700}.planner-callout{border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:6px 10px}.planner-callout strong{margin-bottom:4px;display:block}.planner-callout ul{color:var(--text-primary);margin:0;padding-left:18px}.planner-callout--danger{border:1px solid var(--danger-border,#fecaca);background:var(--danger-bg);color:var(--danger,#991b1b)}.planner-callout--warning{border:1px solid var(--warning-border,#fde68a);background:var(--warning-bg,#fffbeb);color:var(--warning-color,#92400e)}.planner-callout--info{border:1px solid var(--accent-border,#bfdbfe);background:var(--accent-bg,#eff6ff);color:var(--accent,#1d4ed8)}.planner-actions{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px;display:grid}.planner-actions>button{min-width:0}.planner-shell{grid-template-columns:65% 1fr;gap:24px;max-width:1300px;margin:0 auto;padding:100px 20px 40px;display:grid}.planner-shell>*{min-width:0}.planner-card{background:var(--bg-panel,var(--bg-surface));border:1px solid var(--border-subtle,#0f172a14);box-shadow:var(--shadow-card,0 4px 6px -1px #0000000d);border-radius:24px;padding:24px}.nf{flex-direction:column;gap:14px;display:flex}.nf__row{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.nf__cell{flex-direction:column;gap:4px;min-width:0;display:flex;overflow:hidden}.nf__cell>span:first-child{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.nf__cell input,.nf__cell select,.nf__cell textarea{box-sizing:border-box;border:1.5px solid var(--input-border);width:100%;font:inherit;color:var(--text-primary);background:var(--input-bg);border-radius:10px;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.nf__cell input:focus,.nf__cell select:focus,.nf__cell textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.nf__cell textarea{resize:vertical}.nf__id-row{gap:4px;display:flex}.nf__id-row input{flex:1;min-width:0}.nf__toggle{white-space:nowrap;border:1px solid var(--border-color);background:var(--bg-inset);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:8px;flex-shrink:0;padding:0 10px;font-size:12px;font-weight:700}.nf__toggle.is-on{background:var(--warning-bg,#fff7ed);color:#ea580c;border-color:#ea580c}.nf__warn{color:var(--danger-color);font-size:11px;font-weight:700}.planner-picked-list{gap:8px;margin-top:12px;display:grid}.planner-picked-item{background:var(--bg-muted);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:12px;padding:8px 12px;display:flex}.planner-picked-item__body{flex:1;min-width:0}.planner-picked-item__body strong{color:var(--text-primary);font-size:13px;display:block}.planner-picked-item__body span{color:var(--text-muted);font-size:11px}.planner-picked-item__quantity{text-align:center;font-weight:700;width:50px!important;padding:4px!important}.planner-picked-item__remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .2s}.planner-picked-item__remove:hover{color:#ef4444;background:#fee2e2}.planner-search-results{background:var(--bg-panel,var(--bg-surface));border:1px solid var(--border-color);z-index:50;border-radius:12px;width:100%;max-height:300px;margin-top:4px;position:absolute;overflow-y:auto;box-shadow:0 10px 15px -3px #00000026}.planner-search-chip{text-align:left;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;width:100%;color:var(--text-primary);background:0 0;padding:10px 16px;font-size:13px;transition:background .1s}.planner-search-chip:hover{background:var(--bg-muted);color:var(--accent,#2563eb)}.planner-prediction{background:var(--accent-bg,#f0f9ff);border:1px solid var(--accent-border,#bae6fd);border-radius:16px;padding:16px}.planner-prediction__stats{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.planner-prediction__stats span{background:var(--bg-surface);color:var(--accent,#0369a1);border:1px solid var(--accent-border,#bae6fd);white-space:nowrap;border-radius:6px;padding:4px 12px;font-size:11px;font-weight:800}.stat-pill{white-space:nowrap}@media (width<=1024px){.planner-shell,.backup-shell{grid-template-columns:1fr;padding-top:120px}}@media (width<=1100px){.planner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-grid--form{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"column category""subcategory subcategory""nameEn nameVi""id id""summaryEn summaryVi""summaryGuide summaryGuide"}}@media (width<=720px){.planner-grid{grid-template-columns:1fr}.planner-field--full{grid-column:span 1}.planner-grid--form{grid-template-columns:1fr;grid-template-areas:"column""category""subcategory""nameEn""nameVi""id""summaryEn""summaryVi""summaryGuide"}.planner-dependency-stack,.planner-picked-item{grid-template-columns:1fr}}.toolbar,.relations{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface)}.toolbar{gap:8px;padding:8px 10px;display:grid}.toolbar__topline{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.toolbar__intro h1,.relations__header h2{color:var(--text-primary);margin:0;font-size:.92rem}.toolbar__intro p,.relations__header p{color:var(--text-muted);font-size:var(--font-size-sm);margin:2px 0 0;line-height:1.3}.toolbar__controls{grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto;align-items:end;gap:6px;display:grid}.toolbar__controls label{color:var(--text-secondary);font-size:var(--font-size-sm);gap:2px;display:grid}.toolbar__controls span{font-weight:700}.toolbar__controls select{width:100%;min-height:var(--control-height);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font:inherit;padding:0 6px}.toolbar__button{min-height:var(--control-height);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font:inherit;cursor:pointer;text-align:center;padding:0 10px;font-weight:700}.toolbar__button--primary{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-main,var(--bg-surface))}.toolbar__compact-note{border:1px dashed var(--border-color);background:var(--bg-muted);color:var(--text-secondary);border-radius:14px;padding:12px 14px;font-size:.9rem;line-height:1.45}.toolbar__stats{flex-wrap:wrap;gap:8px;display:flex}.toolbar__stats span{border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:80px;padding:2px 8px;font-weight:700}.board-shell{background:var(--bg-surface);border:none;border-radius:0;width:100%;height:100vh;overflow:hidden}.board-surface{cursor:grab;overscroll-behavior:none;scrollbar-width:none;-ms-overflow-style:none;width:100%;height:100vh;padding:0;position:relative;overflow:hidden}.board-shell--compact{background:radial-gradient(circle at top right, #fb923c14, transparent 28%), var(--bg-surface)}.board-surface--compact{padding:0}.board-surface::-webkit-scrollbar{width:0;height:0}.board-surface.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.board-camera{position:relative}.board-camera__content{transform-origin:0 0;position:absolute}.compact-board{z-index:1;flex-direction:column;align-items:stretch;gap:10px;display:flex;position:relative}.compact-board__row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px;min-height:60px;padding:4px 0;display:flex}.compact-board__row.is-active{outline-offset:4px;border-radius:var(--radius-sm);outline:2px solid #60a5fa33}.board-surface__links{pointer-events:none;position:absolute;inset:0;overflow:visible}.board-surface__links--base{z-index:1}.board-surface__links--overlay{z-index:5}.board-surface__path{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0000000d);transition:all .2s}.board-surface__path--consumes{stroke:#3b82f6;stroke-opacity:.6}.board-surface__path.is-muted{stroke-opacity:.15;stroke-width:2px}.board-surface__path.is-highlight{stroke-opacity:1;stroke-width:5px;filter:drop-shadow(0 0 8px #2563eb66);animation:2s ease-in-out infinite path-pulse}@keyframes path-pulse{0%,to{stroke-width:5px;opacity:1}50%{stroke-width:6px;opacity:.8}}.board-surface__path.is-normal{opacity:.24}.board-surface__path.is-muted{opacity:0}.board-surface__path.is-highlight{opacity:1;stroke-width:2.6px}.techtree-local-v2{z-index:1;position:relative}.tlv2-grid-bg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.tlv2-tier{z-index:2;border:1px solid var(--border-subtle);box-sizing:border-box;background:0 0;border-radius:12px;position:absolute}.tlv2-floor{z-index:2;box-sizing:border-box;background:0 0;position:absolute}.tlv2-label{border:1px solid var(--border-subtle);background:var(--bg-overlay,var(--bg-surface));height:24px;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:6px;align-items:center;padding:0 10px;font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;box-shadow:0 1px 4px #00000014}.tlv2-floor__label{height:20px;color:var(--text-muted);background:var(--bg-overlay,var(--bg-surface));border-color:var(--border-subtle);box-shadow:none;font-size:10px;font-weight:600}.tlv2-frame{z-index:2;border:2px dashed var(--border-subtle);box-sizing:border-box;background:0 0;border-radius:16px;min-height:60px;position:absolute}.tlv2-add-node{z-index:42;border:2px dashed var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:16px;place-items:center;font-size:1rem;font-weight:800;display:grid;position:absolute}.tlv2-add-layer{z-index:42;border:2px dashed var(--border-subtle);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:12px;font-size:.82rem;font-weight:800;position:absolute}.tlv2-floor-separator{background:var(--border-color);position:absolute}.tlv2-inline-form{z-index:45;position:absolute}.tlv2-drop-indicator{z-index:60;pointer-events:none;background:#2563eb;border-radius:999px;width:4px;position:absolute;transform:translate(-50%);box-shadow:0 0 0 2px #2563eb2e}.techtree-local-v2 .node.tlv2-node{z-index:40;border:1px solid var(--node-border,#0f172a1f);background:var(--node-bg,var(--bg-surface));color:var(--node-text,var(--text-primary));box-sizing:border-box;cursor:pointer;border-radius:12px;flex-direction:column;display:flex;position:absolute;overflow:visible;box-shadow:0 12px 40px #0f172a14,0 4px 12px #0f172a0a}.techtree-local-v2 .node.tlv2-node.is-active{z-index:50;border-color:var(--node-accent,#60a5fa);box-shadow:0 0 0 2px color-mix(in srgb, var(--node-accent,#60a5fa) 28%, transparent), 0 14px 40px #0f172a24}.techtree-local-v2 .node.tlv2-node.is-muted{opacity:.34;filter:grayscale(.2)}.techtree-local-v2 .node-header{z-index:2;pointer-events:none;background:var(--node-accent,#60a5fa);color:#fff;border-top-left-radius:11px;border-top-right-radius:11px;justify-content:space-between;align-items:center;height:32px;padding:0 12px;font-size:10px;font-weight:500;line-height:1;display:flex;position:relative}.techtree-local-v2 .header-blue{color:#fff!important;background:#60a5fa!important}.techtree-local-v2 .node-header.header-blue,.techtree-local-v2 .node-header.header-blue .node-id,.techtree-local-v2 .node-header.header-blue .node-tags-row{color:#fff!important}.techtree-local-v2 .node-header.header-blue .node-category{color:#fff!important;background:#ffffff40!important}.techtree-local-v2 .node-id{letter-spacing:.5px;font-family:monospace;font-size:10px;font-weight:700;line-height:1}.techtree-local-v2 .node-tags-row{gap:4px;min-width:0;display:flex}.techtree-local-v2 .node-category{background:color-mix(in srgb, #fff 28%, var(--node-accent,#60a5fa));color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:2px 6px;font-size:9px;font-weight:600;line-height:1;overflow:hidden}.techtree-local-v2 .node-body{z-index:2;pointer-events:none;flex-direction:column;flex:1;min-height:0;padding:10px 12px;line-height:1;display:flex;position:relative}.techtree-local-v2 .node-content-split{gap:12px;margin-bottom:auto;display:flex}.techtree-local-v2 .node-content-left{flex-shrink:0;justify-content:flex-start;align-items:flex-start;width:64px;display:flex}.techtree-local-v2 .node-icon-shell,.techtree-local-v2 .node-icon{border:1px solid var(--node-border,#e2e8f0);background:var(--bg-surface);border-radius:8px;flex:0 0 64px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:inset 0 2px 4px #00000005}.techtree-local-v2 img.node-icon{object-fit:contain;border-radius:7px;width:100%;height:100%}.techtree-local-v2 .node-icon--fallback{color:var(--text-primary);letter-spacing:.08em;justify-content:center;align-items:center;font-size:40px;font-weight:900;display:flex}.techtree-local-v2 .node-content-right{flex-direction:column;flex:2;min-width:0;display:flex;overflow:hidden}.techtree-local-v2 .node-title-sub{color:var(--text-muted);letter-spacing:.5px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-bottom:2px;font-size:9px;font-weight:600;line-height:1.25;overflow:hidden}.techtree-local-v2 .node-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.1;overflow:hidden}.techtree-local-v2 .node-desc{color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:9px;line-height:1.4;display:-webkit-box;overflow:hidden}.techtree-local-v2 .node-divider{border-top:1px dashed var(--border-color);margin:0 0 8px}.techtree-local-v2 .node-footer{justify-content:space-between;align-items:center;gap:0;padding-top:0;line-height:1;display:flex}.techtree-local-v2 .node-actions-group{gap:4px;display:flex}.techtree-local-v2 .node-btn{pointer-events:auto;appearance:none;background:var(--text-primary);color:var(--bg-main,var(--bg-surface));cursor:pointer;border:none;border-radius:12px;padding:4px 8px;font-family:inherit;font-size:9px;font-weight:500;line-height:1}.techtree-local-v2 .node-btn--light{background:var(--bg-muted);color:var(--text-primary);font-weight:600}.tree-table{z-index:1;border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;position:relative}.tree-table th,.tree-table td{border:1px solid var(--border-color);vertical-align:top}.tree-table th{background:var(--bg-muted);color:var(--text-primary);font-size:var(--font-size-sm);letter-spacing:.02em;text-align:left;z-index:2;padding:6px 8px;font-weight:700;position:sticky;top:0}.tree-table td{background:var(--bg-surface);height:1px;padding:4px 6px}.tree-table__level,.tree-table__tier{width:72px}.tree-table__group{background:var(--bg-muted);color:var(--text-primary);font-weight:800}.layer-cell{align-content:start;gap:4px;display:grid}.layer-cell__meta{color:var(--text-muted);font-size:.76rem;font-weight:700}.layer-cell__selected{border-radius:var(--radius-sm);background:var(--accent-bg);color:var(--accent);font-size:var(--font-size-xs);padding:1px 6px;font-weight:700}.layer-cell__button{border-radius:var(--radius-sm);background:var(--bg-surface);min-height:22px;color:var(--text-secondary);font:inherit;font-size:var(--font-size-xs);cursor:pointer;border:1px dashed #94a3b8;font-weight:700}.layer-cell__button:disabled{color:#94a3b8;cursor:not-allowed;border-color:#d0d7e2}.cell-stack__row{border:1px dashed var(--border-color);border-radius:var(--radius-sm);background:var(--bg-muted);cursor:pointer;flex-wrap:wrap;align-items:flex-start;gap:6px;height:auto;min-height:80px;padding:18px 6px 6px;display:flex;position:relative}.cell-stack__row.is-empty{height:100%;min-height:80px}.cell-stack__row--compact{background:var(--bg-muted);align-items:center;gap:6px;min-height:56px;padding:18px 6px 6px}.cell-stack__row--compact.is-empty{min-height:56px}.cell-stack__row.is-selected{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb33}.cell-stack__label{border-radius:var(--radius-xs);background:var(--bg-surface);color:var(--text-muted);font-size:var(--font-size-xs);z-index:5;padding:0 4px;font-weight:700;position:absolute;top:3px;left:6px}.cell-stack__empty{color:var(--text-muted);align-self:center;font-size:.82rem;font-weight:700}.tree-node{z-index:3;border:1px solid var(--node-border,var(--border-color));border-radius:var(--radius-md);background:var(--node-bg,var(--bg-surface));width:180px;min-height:80px;color:var(--node-text,var(--text-primary));text-align:left;cursor:pointer;box-shadow:inset 4px 0 0 var(--node-accent,transparent);flex:0 0 180px;padding:6px 16px 6px 10px;display:flex;position:relative}.tree-node.is-resource{background:var(--node-bg,var(--bg-surface))}.tree-node.is-craft{background:var(--node-bg,var(--bg-muted))}.tree-node.is-active{z-index:7;border-color:var(--node-accent,#2563eb);box-shadow:inset 4px 0 0 var(--node-accent,#2563eb), 0 0 0 2px color-mix(in srgb, var(--node-accent,#2563eb) 24%, transparent)}.tree-node.is-drop-target{background:var(--accent-bg);border-color:#22c55e;box-shadow:0 0 0 3px #22c55e40}.tree-node__dock{background:var(--bg-muted);border:2px solid var(--text-muted);z-index:10;border-radius:999px;width:12px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.tree-node__dock--input-gathered_by{background:#ffedd5;border-color:#ea580c;left:-6px}.tree-node__dock-label{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 3px;font-size:.7rem;font-weight:800;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tree-node__quantity-input{width:10px;font-size:inherit;font-weight:inherit;color:inherit;text-align:center;background:0 0;border:none;outline:none;padding:0}.tree-node__quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tree-node__quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tree-node__dock-label--input{left:12px}.tree-node__dock-label--output{right:12px}.tree-node__dock--input-empty{background:var(--bg-surface);border-color:var(--border-color);border-style:dashed;top:50%;left:-6px;transform:translateY(-50%)}.tree-node__dock--output{background:#dbeafe;border-color:#60a5fa;top:35%;right:-6px}.tree-node__dock--output-tool{background:#ffedd5;border-color:#ea580c;top:65%;right:-6px}.tree-node[class*=is-category-],.tree-node[class*=is-kind-]{background:var(--node-bg,var(--bg-surface));border-color:var(--node-border,var(--border-color));color:var(--node-text,var(--text-primary))}.tree-node__body{flex-direction:column;gap:4px;width:100%;min-width:0;height:100%;display:flex}.tree-node__main{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:6px;display:grid}.tree-node__media{align-self:start;place-items:center;min-height:48px;display:grid}.tree-node__image{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--node-border,#94a3b84d);background:var(--bg-surface);width:48px;height:48px;padding:3px}.tree-node__image--fallback{letter-spacing:.12em;color:var(--node-text,#334155);background:linear-gradient(135deg, #fffffff2, var(--node-badge-bg,#e2e8f0eb));place-items:center;font-size:1.05rem;font-weight:900;display:grid}.tree-node__content{align-content:start;gap:3px;min-width:0;min-height:0;padding-top:2px;display:grid}.tree-node__tag{border-radius:var(--radius-xs);background:var(--node-badge-bg,var(--bg-muted));color:var(--node-badge-text,var(--text-muted));font-size:var(--font-size-xs);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;place-self:start;padding:0 4px;font-weight:700;display:inline-flex}.tree-node__title{color:var(--node-text,var(--text-primary));font-size:var(--font-size-sm);word-wrap:break-word;text-align:left;line-height:1.18}.tree-node__title--primary{font-size:var(--font-size-base);font-weight:800;line-height:1.15}.tree-node__stats{color:var(--text-secondary);white-space:nowrap;background:var(--bg-surface);box-shadow:var(--shadow-card,0 1px 3px #0f172a0f);border-radius:6px;padding:2px 6px;font-size:.72rem;font-weight:700;position:absolute;top:10px;right:12px}.tree-node__note{color:color-mix(in srgb, var(--node-text,#64748b) 74%, #fff);font-size:var(--font-size-xs);word-wrap:break-word;border:1px solid var(--node-border,var(--border-color-light));border-radius:var(--radius-xs);background:var(--bg-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-top:1px;padding:3px 6px;line-height:1.3;display:-webkit-box;overflow:hidden}.tree-node__note::-webkit-scrollbar{width:4px}.tree-node__note::-webkit-scrollbar-track{background:0 0}.tree-node__note::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}@media (width<=720px){.tree-node__main{grid-template-columns:1fr}.tree-node__media{justify-self:center}.tree-node__title{text-align:center}}.add-node-tile{border-radius:var(--radius-sm);background:var(--bg-surface);min-width:180px;min-height:80px;color:var(--text-secondary);font:inherit;font-size:var(--font-size-sm);cursor:pointer;border:1px dashed #94a3b8;place-items:center;font-weight:700;display:grid}.inline-node-form{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);align-self:flex-start;gap:4px;width:240px;padding:8px;display:grid}.inline-node-form__title{color:var(--text-primary);font-size:.92rem}.inline-node-form__input,.inline-node-form__textarea{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);font:inherit;padding:4px 8px}.inline-node-form__textarea{resize:vertical;min-height:78px}.inline-node-form__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.inline-node-form__button{min-height:var(--control-height);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font:inherit;cursor:pointer;padding:0 8px;font-weight:700}.inline-node-form__button--primary{color:#fff;background:#111827;border-color:#111827}.node-edit-form{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:16px 18px 18px}.node-edit-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.node-edit-form__field{gap:6px;min-width:0;display:grid}.node-edit-form__field span{color:var(--text-secondary);font-size:.78rem;font-weight:800}.node-edit-form__field--wide{grid-column:1/-1}.node-edit-form__meta{color:var(--text-secondary);gap:4px;margin-bottom:14px;font-size:.78rem;display:grid}.node-edit-form__meta code{border:1px solid var(--border-color);background:var(--bg-inset);color:var(--text-primary);border-radius:8px;padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;overflow-x:auto}.relations{gap:14px;padding:18px 20px 20px;display:grid}.relations__list{flex-wrap:nowrap;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.relation-chip{min-width:220px;font:inherit;color:#0f172a;cursor:pointer;text-align:left;background:#fff;border:1px solid #d9dde5;border-radius:14px;gap:4px;padding:10px 12px;display:grid}.relation-chip.is-active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.relation-chip span{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}.relation-chip strong{font-size:.9rem}@media (width<=1280px){.toolbar__controls{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (width<=840px){.app-shell{padding:14px}.toolbar__controls{grid-template-columns:1fr}.compact-board{min-width:0}.compact-tree-node{min-width:72px}}.inspector{z-index:200;border:1px solid var(--border-subtle);background:var(--bg-overlay,var(--bg-panel));width:280px;box-shadow:var(--shadow-nav);border-radius:14px;flex-direction:column;gap:0;font-family:Inter,system-ui,sans-serif;animation:.18s cubic-bezier(.16,1,.3,1) inspector-in;display:flex;position:fixed;top:80px;right:20px;overflow:visible}@keyframes inspector-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.inspector__header{align-items:center;gap:8px;padding:12px 14px 0;display:flex}.inspector__badge{background:var(--text-primary);height:22px;color:var(--bg-main);letter-spacing:.05em;text-transform:uppercase;border-radius:6px;align-items:center;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.inspector__badge[data-kind=station]{background:#7c3aed}.inspector__badge[data-kind=recipe]{background:#0891b2}.inspector__badge[data-kind=technology]{background:#d97706}.inspector__badge[data-kind=edge]{background:#6366f1}.inspector__badge[data-kind=row]{background:#64748b}.inspector__close{background:var(--bg-muted);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border:none;border-radius:8px;place-items:center;margin-left:auto;padding:0;font-size:12px;font-weight:600;transition:all .1s;display:grid}.inspector__close:hover{background:var(--text-primary);color:var(--bg-main)}.inspector__identity{align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.inspector__thumb{cursor:pointer;flex-shrink:0}.inspector__thumb img{object-fit:cover;border:1px solid var(--border-color);border-radius:10px;width:44px;height:44px}.inspector__thumb-empty{border:1px dashed var(--border-color);width:44px;height:44px;color:var(--text-muted);background:var(--bg-muted);border-radius:10px;place-items:center;font-size:16px;display:grid}.inspector__name-block{flex-direction:column;gap:2px;min-width:0;display:flex}.inspector__name{color:var(--text-primary);word-break:break-word;font-size:14px;font-weight:700;line-height:1.3}.inspector__summary{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.inspector__meta{flex-wrap:wrap;gap:6px;padding:0 14px 10px;display:flex}.inspector__meta-item{background:var(--bg-muted);height:22px;color:var(--text-secondary);white-space:nowrap;border-radius:6px;align-items:center;padding:0 8px;font-size:10px;font-weight:600;display:inline-flex}.inspector__object-relations{gap:7px;padding:0 14px 10px;display:grid;overflow:visible}.inspector__object-relation-row{gap:5px;display:grid}.inspector__object-relation-label{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:800}.inspector__object-relation-list{flex-wrap:wrap;gap:6px;display:flex;overflow:visible}.inspector__object-chip{border:1px solid var(--border-color);background:var(--bg-inset);width:30px;height:30px;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.inspector__object-chip img,.inspector__object-chip-fallback{border-radius:6px;flex:none;width:24px;height:24px}.inspector__object-chip img{object-fit:cover}.inspector__object-chip-fallback{background:var(--bg-panel);color:var(--text-secondary);justify-content:center;align-items:center;font-size:9px;font-weight:800;display:inline-flex}.inspector__object-tooltip{z-index:1200;border:1px solid var(--border-color);background:var(--bg-overlay);width:max-content;max-width:240px;box-shadow:var(--shadow-nav);color:var(--text-primary);pointer-events:none;text-align:left;border-radius:8px;padding:8px 10px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.inspector__object-tooltip strong,.inspector__object-tooltip span{display:block}.inspector__object-tooltip strong{font-size:12px;line-height:1.25}.inspector__object-tooltip span{color:var(--text-secondary);margin-top:3px;font-size:11px;line-height:1.35}.inspector__object-chip:hover .inspector__object-tooltip,.inspector__object-chip:focus-visible .inspector__object-tooltip{display:block}.inspector__edge-flow{justify-content:center;align-items:center;gap:10px;padding:12px 14px;display:flex}.inspector__edge-icon{border:1px solid var(--border-color);background:var(--bg-muted);cursor:pointer;border-radius:10px;flex-shrink:0;width:44px;height:44px;padding:0;transition:all .1s;overflow:hidden}.inspector__edge-icon:hover{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.inspector__edge-icon img{object-fit:cover;width:100%;height:100%}.inspector__edge-icon span{width:100%;height:100%;color:var(--text-muted);text-transform:uppercase;place-items:center;font-size:12px;font-weight:700;display:grid}.inspector__edge-arrow{color:var(--text-muted);flex-shrink:0;font-size:16px}.inspector__edge-qty{border:1px solid var(--border-color);background:var(--bg-muted);width:48px;height:32px;color:var(--text-primary);text-align:center;border-radius:8px;outline:none;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:700}.inspector__edge-qty:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.inspector__inputs{flex-direction:column;gap:6px;padding:0 14px 10px;display:flex}.inspector__inputs-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.inspector__inputs-grid{flex-wrap:wrap;gap:6px;display:flex}.inspector__input-chip{border:1px solid var(--border-color);background:var(--bg-muted);cursor:pointer;border-radius:8px;width:32px;height:32px;padding:0;transition:all .1s;position:relative;overflow:hidden}.inspector__input-chip:hover{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.inspector__input-chip img{object-fit:cover;width:100%;height:100%}.inspector__input-chip-text{width:100%;height:100%;color:var(--text-muted);text-transform:uppercase;place-items:center;font-size:10px;font-weight:700;display:grid}.inspector__input-chip-qty{background:var(--text-primary);min-width:14px;height:14px;color:var(--bg-main);border-radius:7px;place-items:center;padding:0 3px;font-size:8px;font-weight:700;line-height:1;display:grid;position:absolute;bottom:-2px;right:-2px}.inspector__actions{border-top:1px solid var(--border-color);gap:6px;padding:10px 14px 14px;display:flex}.inspector__btn{border:1px solid var(--border-color);background:var(--bg-surface);height:30px;color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:0 12px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:600;transition:all .1s;display:inline-flex}.inspector__btn:hover:not(:disabled){background:var(--bg-muted);border-color:var(--text-muted)}.inspector__btn:disabled{color:var(--text-muted);cursor:not-allowed;border-color:var(--border-color)}.inspector__btn--primary{background:var(--text-primary);color:var(--bg-main);border-color:var(--text-primary)}.inspector__btn--primary:hover:not(:disabled){background:var(--text-secondary)}.inspector__btn--danger{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.inspector__btn--danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.node-edit-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a59;place-items:center;padding:24px;animation:.16s overlay-in;display:grid;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.node-edit-modal{border:1px solid var(--border-color);background:var(--bg-panel);border-radius:14px;width:min(640px,100vw - 32px);max-height:90vh;animation:.18s cubic-bezier(.16,1,.3,1) modal-in;overflow-y:auto;box-shadow:0 20px 70px #0f172a47}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.node-edit-modal__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px 12px;display:flex}.node-edit-modal__header div{gap:3px;min-width:0;display:grid}.node-edit-modal__header span{color:var(--text-secondary);text-transform:uppercase;font-size:.74rem;font-weight:800}.node-edit-modal__header strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.2;overflow:hidden}.node-edit-modal__close{border:1px solid var(--border-color);background:var(--bg-inset);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;font:inherit;border-radius:8px;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.node-edit-modal__close:hover{background:var(--bg-panel-hover);color:var(--text-primary)}@keyframes popup-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.tlv2-node{z-index:140!important}.tlv2-node.is-active{outline-offset:1px;z-index:160!important;outline:2px solid #3b82f6!important;box-shadow:0 4px 12px #3b82f633!important}.tlv2-node.is-muted-node{filter:grayscale(40%);z-index:40!important;opacity:.45!important}.bk-shell{gap:20px;width:1000px;margin:0 auto;padding:100px 20px 40px;display:grid}.bk-shell>*{min-width:0}.bk-card{background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);border-radius:20px;padding:24px}.bk-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.bk-header-left{flex:1;min-width:0}.bk-header h1{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:1.25rem;font-weight:800;overflow:hidden}.bk-header p{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;overflow:hidden}.bk-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.bk-stat-box{background:var(--bg-inset);border:1px solid var(--border-color);text-align:center;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;overflow:hidden}.bk-stat-box b{color:var(--text-primary);margin-bottom:2px;font-size:16px;font-weight:800;display:block}.bk-form{grid-template-columns:minmax(0,1fr) 160px 160px;align-items:end;gap:16px;margin-bottom:20px;display:grid}.bk-field{flex-direction:column;gap:6px;min-width:0;display:flex}.bk-field label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.bk-input,.bk-select{box-sizing:border-box;border:1px solid var(--input-border);background:var(--input-bg);width:100%;height:40px;color:var(--text-primary);border-radius:8px;outline:none;padding:0 12px;font-size:13px}.bk-input:focus,.bk-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.bk-toggle{border:1px solid var(--border-color);background:var(--bg-panel);width:100%;height:40px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;font-size:13px;font-weight:700;transition:all .2s}.bk-toggle.is-on{color:#c2410c;background:#fff7ed;border-color:#ea580c}.bk-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.bk-btn{border:1px solid var(--border-color);background:var(--bg-panel);width:100%;height:44px;color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .2s;display:flex}.bk-btn--primary{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-main)}.bk-btn--primary:hover{background:var(--text-secondary)}.bk-btn:hover:not(.bk-btn--primary){background:var(--bg-panel-hover)}.bk-history-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.bk-history-header h2{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:800}.bk-history-status{gap:8px;display:flex}.bk-pill{background:var(--accent-blue-bg);color:var(--accent-blue);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.bk-error{border:1px solid var(--danger-color);background:var(--danger-bg);color:var(--danger-color);border-radius:8px;margin-bottom:16px;padding:12px;font-size:12px}.bk-empty{border:1px dashed var(--border-color);background:var(--bg-inset);color:var(--text-secondary);text-align:center;border-radius:12px;padding:40px;font-size:13px}.bk-list{flex-direction:column;gap:8px;display:flex}.bk-item{border:1px solid var(--border-color);background:var(--bg-inset);border-radius:12px;grid-template-columns:minmax(0,1fr) 260px 180px;align-items:center;gap:16px;padding:12px 16px;transition:all .2s;display:grid}.bk-item:hover{background:var(--bg-panel);border-color:var(--text-muted);box-shadow:var(--shadow-card);transform:translateY(-1px)}.bk-item__main{flex-direction:column;gap:4px;min-width:0;display:flex}.bk-item__name{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.bk-item__name span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bk-badge{text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.bk-item__id{color:var(--text-muted);font-family:monospace;font-size:11px}.bk-item__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bk-item__meta span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.bk-item__btn{background:var(--bg-panel);border:1px solid var(--border-color);width:100%;height:36px;color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:6px;font-size:12px;font-weight:700;transition:all .2s}.bk-item__btn:hover{background:var(--bg-panel-hover)}.bk-item__btn--danger{color:var(--danger-color);border-color:var(--danger-color)}.bk-item__btn--danger:hover{background:var(--danger-bg);border-color:var(--danger-color)}.bk-item__actions{grid-template-columns:1fr 60px;gap:8px;display:grid}@media (width<=1100px){.bk-shell{width:90vw}}@media (width<=900px){.bk-header{flex-direction:column;align-items:flex-start;gap:16px}.bk-form,.bk-actions,.bk-item{grid-template-columns:minmax(0,1fr)}}.wo-shell{width:min(1500px,100vw - 40px);color:var(--text-primary);margin:0 auto;padding:100px 0 36px}.wo-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-bottom:16px;display:grid}.wo-schema-notice{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-color);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:grid}.wo-schema-notice div{gap:3px;min-width:0;display:grid}.wo-schema-notice strong{color:#78350f;font-size:13px}.wo-schema-notice span{font-size:12px;line-height:1.45}.wo-schema-notice code{background:var(--bg-panel);color:var(--text-primary);overflow-wrap:anywhere;border-radius:6px;padding:6px 8px;font-size:12px}.wo-header__main h1{margin:0 0 4px;font-size:22px;font-weight:800;line-height:1.2}.wo-header__main p{color:var(--text-secondary);margin:0;font-size:13px}.wo-header__actions,.wo-editor-head__actions{align-items:center;gap:8px;display:flex}.wo-layout{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:16px;display:grid}.wo-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);border-radius:24px;padding:24px}.wo-panel--browser{grid-template-rows:auto auto minmax(0,1fr);max-height:calc(100vh - 116px);padding:0;display:grid;position:sticky;top:92px;overflow:hidden}.wo-filters{border-bottom:1px solid var(--border-color);gap:10px;padding:14px;display:grid}.wo-filter-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.wo-list{align-content:start;gap:8px;padding:8px;display:grid;overflow:auto}.wo-row{border:1px solid var(--border-color);background:var(--bg-inset);text-align:left;cursor:pointer;border-radius:8px;gap:5px;width:100%;padding:10px;transition:border-color .16s,background .16s,transform .16s;display:grid}.wo-row:hover,.wo-row.is-selected{background:var(--bg-panel);border-color:var(--accent-blue)}.wo-row.is-selected{box-shadow:inset 3px 0 0 var(--accent-blue)}.wo-row__title{color:var(--text-primary);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:800}.wo-row__meta{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.wo-row__chips{flex-wrap:wrap;gap:6px;display:flex}.wo-chip{background:var(--border-color);min-height:22px;color:var(--text-primary);text-transform:uppercase;border-radius:6px;align-items:center;padding:2px 7px;font-size:11px;font-weight:800;display:inline-flex}.wo-chip--valid{background:var(--tag-success-bg);color:var(--tag-success-color)}.wo-chip--invalid{background:var(--danger-bg);color:var(--danger-color)}.wo-chip--draft{background:var(--warning-bg);color:var(--warning-color)}.wo-chip--archived{background:var(--tag-secondary-bg);color:var(--tag-secondary-color)}.wo-editor-head{border-bottom:1px solid var(--border-color);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-bottom:14px;padding-bottom:14px;display:grid}.wo-editor-head h2{overflow-wrap:anywhere;margin:0 0 3px;font-size:18px;font-weight:800}.wo-editor-head p{color:var(--text-secondary);margin:0;font-size:12px}.wo-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.wo-field{gap:6px;min-width:0;display:grid}.wo-field--wide{grid-column:1/-1}.wo-field>span,.wo-tag-section h3,.wo-validation h3,.wo-yaml h3{color:var(--text-secondary);margin:0;font-size:12px;font-weight:800}.wo-input,.wo-select,.wo-textarea{box-sizing:border-box;color:var(--text-primary);width:100%;font:inherit;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:10px;outline:none;font-size:13px;transition:border-color .15s,box-shadow .15s}.wo-input,.wo-select{height:38px;padding:0 10px}.wo-textarea{resize:vertical;min-height:86px;padding:10px;line-height:1.45}.wo-textarea--mono,.wo-yaml__textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.wo-input:focus,.wo-select:focus,.wo-textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #2563eb26}.wo-btn{border:1px solid var(--border-color);background:var(--bg-panel);min-height:38px;color:var(--text-primary);cursor:pointer;border-radius:8px;padding:0 12px;font-size:13px;font-weight:800;transition:all .2s}.wo-btn:hover:not(:disabled){background:var(--bg-panel-hover)}.wo-btn:disabled{opacity:.55;cursor:not-allowed}.wo-btn--primary{border-color:var(--text-primary);background:var(--text-primary);color:var(--bg-main)}.wo-btn--primary:hover:not(:disabled){background:#1e293b}.wo-btn--ghost{background:var(--bg-muted)}.wo-btn--danger{border-color:var(--danger-border,#fecaca);color:var(--danger,#b91c1c)}.wo-btn--danger:hover:not(:disabled){background:var(--danger-bg)}.wo-taxonomy-guide{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.wo-taxonomy-guide__item{border:1px solid var(--border-color);background:var(--bg-inset);border-radius:8px;padding:10px}.wo-taxonomy-guide__item h3{color:var(--text-primary);margin:0 0 4px;font-size:.78rem}.wo-taxonomy-guide__item p{color:var(--text-secondary);margin:0;font-size:.72rem;line-height:1.4}.wo-tag-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.wo-tag-section{align-content:start;gap:8px;display:grid}.wo-tag-grid{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:6px;display:flex}.wo-tag{border:1px solid var(--border-color);background:var(--bg-surface);width:max-content;max-width:100%;min-height:30px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex:none;padding:0 9px;font-size:12px;font-weight:700}.wo-tag.is-on{border-color:var(--accent,#2563eb);background:var(--accent-bg,#eff6ff);color:var(--accent,#1d4ed8)}.wo-tag-value-guide{gap:6px;margin-top:2px;display:grid}.wo-tag-value-guide__row{border:1px solid var(--border-color);background:var(--bg-inset);border-radius:8px;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:8px;padding:7px 8px;display:grid}.wo-tag-value-guide__row strong{color:var(--text-primary);font-size:.72rem;line-height:1.35}.wo-tag-value-guide__row span{color:var(--text-secondary);font-size:.72rem;line-height:1.35}.wo-bottom-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;margin-top:16px;display:grid}.wo-validation,.wo-yaml{align-content:start;gap:8px;min-width:0;display:grid}.wo-alert{border-radius:8px;padding:10px;font-size:12px;font-weight:700;line-height:1.4}.wo-alert--danger{background:var(--danger-bg);border:1px solid var(--danger-border,#fecaca);color:var(--danger,#991b1b)}.wo-alert--warn{background:var(--warning-bg,#fffbeb);border:1px solid var(--warning-border,#fde68a);color:var(--warning-color,#92400e)}.wo-alert--ok{background:var(--tag-success-bg,#f0fdf4);border:1px solid var(--tag-success-border,#bbf7d0);color:var(--tag-success-color,#166534)}.wo-yaml__head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.wo-yaml__actions{align-items:center;gap:8px;display:flex}.wo-yaml__actions .wo-btn{min-height:32px;padding:0 10px;font-size:12px}.wo-yaml__textarea{border:1px solid var(--border-color);background:var(--bg-code,#0f172a);min-height:360px;max-height:520px;color:var(--text-code,#e2e8f0);tab-size:2;white-space:pre;border-radius:8px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}.wo-empty{border:1px dashed var(--border-color);color:var(--text-muted);text-align:center;border-radius:8px;padding:28px 12px;font-size:13px;font-weight:700}.wo-raw{border-top:1px solid var(--border-color);margin-top:16px;padding-top:12px}.wo-raw summary{cursor:pointer;color:var(--text-primary);margin-bottom:12px;font-size:13px;font-weight:800}.wo-ai-section{border:1px solid var(--accent-border,#dbeafe);background:var(--accent-bg,linear-gradient(135deg, #eff6ff 0%, #f0f9ff 100%));border-radius:12px;margin-bottom:16px;padding:16px}.wo-ai-section__header{align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.wo-ai-section__header h3{color:var(--accent,#1e40af);margin:0;font-size:15px;font-weight:800}.wo-ai-section__hint{color:#3b82f6;font-size:12px;font-weight:600}.wo-ai-section__prompt{box-sizing:border-box;border:1.5px solid var(--accent-border,#93c5fd);background:var(--bg-surface);width:100%;min-height:88px;color:var(--text-primary);font:inherit;resize:vertical;border-radius:10px;outline:none;padding:10px 12px;font-size:13px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.wo-ai-section__prompt:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.wo-ai-section__prompt::placeholder{color:var(--text-muted);font-style:italic}.wo-ai-section__actions{gap:8px;margin-top:10px;display:flex}.wo-ai-section__actions .wo-btn--primary{background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border-color:#1d4ed8;min-height:42px;padding:0 20px;font-size:14px;transition:opacity .15s,transform .1s}.wo-ai-section__actions .wo-btn--primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.wo-ai-section__actions .wo-btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.wo-ai-prompt-wrap{position:relative}.wo-ai-editable{box-sizing:border-box;border:1.5px solid var(--accent-border,#93c5fd);background:var(--bg-surface);width:100%;min-height:100px;max-height:200px;color:var(--text-primary);font:inherit;white-space:pre-wrap;word-wrap:break-word;cursor:text;border-radius:10px;outline:none;padding:10px 12px;font-size:13px;line-height:1.6;transition:border-color .15s,box-shadow .15s;overflow-y:auto}.wo-ai-editable:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.wo-ai-editable:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;font-style:italic}.wo-mention-token{white-space:nowrap;cursor:default;-webkit-user-select:all;user-select:all;vertical-align:baseline;border-radius:5px;padding:1px 6px;font-size:12px;font-weight:700;line-height:1.4;display:inline}.wo-mention-token--item{background:var(--warning-bg,#fef3c7);border:1px solid var(--warning-border,#fde68a);color:var(--warning-color,#92400e)}.wo-mention-token--world_object{background:var(--accent-bg,#dbeafe);border:1px solid var(--accent-border,#93c5fd);color:var(--accent,#1e40af)}.wo-mention-item__vi{color:var(--text-muted);font-size:12px;font-weight:500}.wo-mention-dropdown{z-index:50;border:1px solid var(--accent-border,#93c5fd);background:var(--bg-panel,var(--bg-surface));border-radius:10px;gap:2px;max-height:260px;padding:4px;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:auto;transform:translateY(100%);box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f}.wo-mention-item{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:background .1s;display:grid}.wo-mention-item:hover,.wo-mention-item.is-active{background:var(--bg-muted)}.wo-mention-item__icon{text-align:center;font-size:16px}.wo-mention-item__body{gap:1px;min-width:0;display:grid}.wo-mention-item__body strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.wo-mention-item__body span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.wo-mention-item__badge{text-transform:uppercase;white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:800}.wo-mention-item__badge--item{background:var(--warning-bg,#fef3c7);color:var(--warning-color,#92400e)}.wo-mention-item__badge--world_object{background:var(--accent-bg,#dbeafe);color:var(--accent,#1e40af)}.wo-mention-empty{color:var(--text-muted);text-align:center;padding:12px;font-size:12px;font-weight:600;display:block}.wo-tag-pills{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.wo-tag-pill{border-radius:8px;align-items:center;gap:5px;padding:4px 4px 4px 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.wo-tag-pill--item{background:var(--warning-bg,#fef9c3);border:1px solid var(--warning-border,#fde68a);color:var(--warning-color,#78350f)}.wo-tag-pill--world_object{background:var(--accent-bg,#dbeafe);border:1px solid var(--accent-border,#93c5fd);color:var(--accent,#1e3a8a)}.wo-tag-pill__icon{font-size:13px}.wo-tag-pill__label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.wo-tag-pill__id{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:600;overflow:hidden}.wo-tag-pill__remove{width:20px;height:20px;color:inherit;cursor:pointer;background:#0000000f;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:10px;font-weight:800;transition:background .12s;display:inline-flex}.wo-tag-pill__remove:hover{background:#00000024}@media (width<=1180px){.wo-layout{grid-template-columns:minmax(0,1fr)}.wo-panel--browser{max-height:none;position:static}.wo-list{max-height:360px}}@media (width<=760px){.wo-shell{width:min(100vw - 24px,1500px);padding-top:88px}.wo-header,.wo-schema-notice,.wo-editor-head,.wo-form,.wo-tag-sections,.wo-bottom-grid{grid-template-columns:minmax(0,1fr)}.wo-header__actions,.wo-editor-head__actions,.wo-yaml__actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.wo-filter-grid{grid-template-columns:minmax(0,1fr)}}.wo-field .imgf{max-width:110px;margin:0}.wo-field .imgf__preview-wrap{aspect-ratio:auto;background:var(--bg-inset,var(--bg-muted));justify-content:center;align-items:center;width:100%;max-height:80px;display:flex}.wo-field .imgf__preview{object-fit:contain;width:auto;max-height:100%}.wo-field .imgf__drop{height:80px;min-height:80px}:root{--font-size-base:13px;--font-size-sm:11px;--font-size-xs:10px;--line-height-base:1.4;--radius-xs:3px;--radius-sm:4px;--radius-md:12px;--radius-lg:16px;--space-xs:2px;--space-sm:4px;--space-md:6px;--space-lg:8px;--space-xl:12px;--control-height:32px;--control-height-lg:38px;--border-color:#f1f5f9;--border-color-light:#f8fafc;--bg-surface:#fff;--bg-muted:#f1f5f9;--bg-app:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent:#2563eb;--accent-bg:#eff6ff;--accent-border:#bfdbfe;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;color:var(--text-primary);background:var(--bg-app);font-family:Inter,Segoe UI,Noto Sans,system-ui,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-base);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}[data-theme=dark]{--border-color:#2a2a2a;--border-color-light:#1a1a1a;--border-subtle:#ffffff14;--bg-surface:#1a1a1a;--bg-muted:#111;--bg-app:#0a0a0a;--bg-main:#111;--bg-panel:#1a1a1a;--bg-panel-hover:#2a2a2a;--bg-inset:#0e0e0e;--bg-overlay:#1a1a1afa;--text-primary:#e8e8e8;--text-secondary:#999;--text-muted:#666;--accent:#60a5fa;--accent-bg:#1a2a3a;--accent-border:#1a3050;--danger:#fca5a5;--danger-bg:#2a0a0a;--danger-border:#5a1a1a;--warning-bg:#2a1a05;--warning-border:#6b4000;--warning-color:#fde68a;--input-bg:#141414;--input-border:#333;--tag-success-bg:#0f2a1a;--tag-success-color:#86efac;--tag-success-border:#1a4a2a;--bg-code:#0e0e0e;--text-code:#d4d4d4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:var(--bg-main,#111)}body{background:0 0;min-width:320px}button,select,input,textarea{font:inherit;font-size:var(--font-size-base)}
