:root{--font-sans:"Outfit", "Plus Jakarta Sans", system-ui, sans-serif;--font-heading:"Fredoka", "Outfit", sans-serif;--coral:#ff7a6b;--coral-dark:#e86559;--coral-light:#ffe8e5;--coral-xlight:#fff3f1;--purple:#7b61ff;--purple-dark:#5b3cdd;--purple-light:#f0edff;--purple-xlight:#f8f6ff;--teal:#4fd1c5;--teal-dark:#38b2ac;--teal-light:#e0f7f4;--yellow:#ffe082;--yellow-light:#fff9e6;--bg-deep:#0d0d1b;--bg-main:#131326;--bg-card:#19193099;--bg-card-hover:#232340cc;--border-color:#ffffff14;--border-color-focus:#7b61ff66;--text-primary:#fff;--text-secondary:#a0a0c0;--text-muted:#6c6c8c;--text-on-dark:#fff;--shadow-sm:0 2px 8px #00000026;--shadow-md:0 8px 24px #00000040;--shadow-lg:0 16px 48px #0006;--shadow-accent:0 8px 24px #ff7a6b40;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:32px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-deep);color:var(--text-primary);background-image:radial-gradient(circle at 10% 20%,#7b61ff14 0%,#0000 40%),radial-gradient(circle at 90% 80%,#ff7a6b14 0%,#0000 40%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}#root{min-height:100vh;display:flex}.admin-layout{width:100vw;min-height:100vh;display:flex}.sidebar{background-color:var(--bg-main);border-right:1px solid var(--border-color);z-index:10;width:280px;height:100vh;transition:width var(--transition-normal);flex-direction:column;flex-shrink:0;padding:24px;display:flex;position:sticky;top:0}.sidebar.collapsed{width:84px;padding:24px 14px}.sidebar.collapsed .menu-label,.sidebar.collapsed .admin-info{display:none}.sidebar.collapsed .menu-item{justify-content:center;padding:14px 10px}.sidebar.collapsed .sidebar-footer{flex-direction:column;gap:10px}.sidebar.collapsed .btn-logout{margin-left:0}.sidebar-brand{align-items:center;gap:12px;margin-bottom:40px;padding-left:8px;display:flex;position:relative}.sidebar-collapse-toggle{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:26px;height:26px;transition:var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.sidebar-collapse-toggle:hover{color:var(--text-primary);background-color:var(--bg-card-hover)}.sidebar.collapsed .sidebar-collapse-toggle{background-color:var(--bg-main);position:absolute;top:0;right:-14px}.mobile-nav-close,.mobile-topbar{display:none}.mobile-nav-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.mobile-nav-backdrop{display:none}.brand-logo{filter:drop-shadow(0 4px 8px #7b61ff4d);font-size:28px;animation:3s ease-in-out infinite float}.brand-name{font-family:var(--font-heading);background:linear-gradient(135deg, var(--coral), var(--purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:24px;font-weight:700}.brand-badge{color:var(--teal);text-transform:uppercase;letter-spacing:.5px;background:#4fd1c51a;border:1px solid #4fd1c533;border-radius:20px;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:600}.sidebar-menu{flex-direction:column;flex-grow:1;gap:8px;display:flex}.menu-item{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:var(--transition-normal);background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:500;display:flex}.menu-item svg{width:20px;height:20px;transition:var(--transition-fast)}.menu-item:hover{background-color:var(--bg-card);color:var(--text-primary)}.menu-item:hover svg{transform:translate(2px)}.menu-item.active{color:var(--text-primary);background:linear-gradient(135deg,#ff7a6b26,#7b61ff26);border:1px solid #7b61ff33;font-weight:600}.menu-item.active svg{color:var(--coral)}.sidebar-footer{border-top:1px solid var(--border-color);align-items:center;gap:12px;margin-top:auto;padding-top:20px;display:flex}.admin-avatar{background:linear-gradient(135deg, var(--coral), var(--purple));width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.admin-info{flex-direction:column;display:flex}.admin-name{color:var(--text-primary);font-size:14px;font-weight:600}.admin-role{color:var(--text-muted);font-size:12px}.main-content{flex-grow:1;height:100vh;padding:40px;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}@media (width<=880px){.admin-layout{flex-direction:column}.mobile-topbar{background-color:var(--bg-main);border-bottom:1px solid var(--border-color);z-index:30;align-items:center;gap:10px;padding:14px 20px;display:flex;position:sticky;top:0}.sidebar{width:280px;height:100vh;transition:transform var(--transition-normal);z-index:40;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.collapsed{width:280px;padding:24px}.sidebar.collapsed .menu-label,.sidebar.collapsed .admin-info{display:flex}.sidebar.collapsed .menu-item{justify-content:flex-start;padding:14px 16px}.sidebar.collapsed .sidebar-footer{flex-direction:row}.sidebar.mobile-open{transform:translate(0)}.sidebar-collapse-toggle{display:none}.mobile-nav-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:4px;display:flex}.mobile-nav-backdrop{z-index:35;background:#0000008c;display:block;position:fixed;inset:0}.main-content{height:auto;padding:20px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{width:100%}}@media (width>=881px){.mobile-topbar,.mobile-nav-backdrop{display:none!important}}.header-title h1{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.5px;margin:0 0 4px;font-size:32px;font-weight:700}.header-title p{color:var(--text-secondary);font-size:14px}.header-actions{gap:12px;display:flex}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:40px;display:grid}.stat-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-normal);align-items:center;gap:20px;padding:24px;display:flex}.stat-card:hover{background-color:var(--bg-card-hover);box-shadow:var(--shadow-md);border-color:#ffffff26;transform:translateY(-4px)}.stat-icon{border-radius:var(--radius-md);width:56px;height:56px;color:var(--coral);background:#ff7a6b1a;justify-content:center;align-items:center;display:flex}.stat-icon.purple{color:var(--purple);background:#7b61ff1a}.stat-icon.teal{color:var(--teal);background:#4fd1c51a}.stat-icon.yellow{color:var(--yellow);background:#ffe0821a}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:13px;font-weight:500}.stat-value{font-family:var(--font-heading);color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.1}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--coral), var(--coral-dark));color:var(--text-on-dark);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-accent);filter:brightness(1.05);transform:translateY(-2px)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background-color:#ffffff0f}.btn-secondary:hover{background-color:#ffffff1f;transform:translateY(-2px)}.btn-danger{color:#ef4444;background-color:#ef444426;border:1px solid #ef44444d}.btn-danger:hover{background-color:#ef44444d;transform:translateY(-1px)}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:12px}.dashboard-grid{grid-template-columns:2fr 1fr;gap:28px;display:grid}.dashboard-panel{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:28px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.panel-title{font-family:var(--font-heading);font-size:20px;font-weight:600}.search-container{gap:12px;margin-bottom:20px;display:flex}.search-input-wrapper{flex-grow:1;position:relative}.search-input{border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-normal);background-color:#ffffff0a;padding:12px 16px 12px 44px;font-size:14px}.search-input:focus{border-color:var(--border-color-focus);background-color:#ffffff14;outline:none;box-shadow:0 0 0 2px #7b61ff26}.search-icon-svg{width:18px;height:18px;color:var(--text-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.admin-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px;background-color:#ffffff08;padding:16px 20px;font-size:11px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:16px 20px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background-color:#ffffff05}.list-item-user{align-items:center;gap:12px;display:flex}.user-meta-info{flex-direction:column;display:flex}.user-email{color:var(--text-secondary);font-size:12px}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-premium{color:var(--purple);background:#7b61ff26;border:1px solid #7b61ff40;box-shadow:0 0 10px #7b61ff1a}.badge-free{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff1a}.badge-source{color:var(--teal);background:#4fd1c526;border:1px solid #4fd1c540;font-size:10px}.badge-source.daily{color:var(--yellow);background:#ffe0821a;border:1px solid #ffe08233}.badge-source.admin{color:var(--coral);background:#ff7a6b1a;border:1px solid #ff7a6b33}.form-group{margin-bottom:24px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.form-input,.form-select,.form-textarea{border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-normal);background-color:#ffffff0a;padding:12px 16px;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-color-focus);background-color:#ffffff14;outline:none;box-shadow:0 0 0 2px #7b61ff26}.form-textarea{resize:vertical;min-height:100px}.switch-row{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff09;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px;display:flex}.switch-row.compact{margin-bottom:12px}.switch-row input[type=checkbox]{appearance:none;border:1px solid var(--border-color);cursor:pointer;width:42px;height:24px;transition:var(--transition-normal);background:#ffffff1f;border-radius:999px;flex-shrink:0;position:relative}.switch-row input[type=checkbox]:after{content:"";background:var(--text-secondary);width:18px;height:18px;transition:var(--transition-normal);border-radius:50%;position:absolute;top:2px;left:2px}.switch-row input[type=checkbox]:checked{background:linear-gradient(135deg, var(--coral), var(--purple));border-color:#ffffff2e}.switch-row input[type=checkbox]:checked:after{background:#fff;left:20px}.switch-row span{flex-direction:column;gap:3px;display:flex}.switch-row strong{color:var(--text-primary);font-size:14px}.switch-row small{color:var(--text-muted);font-size:12px;line-height:1.4}.file-upload-area{border:2px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:var(--transition-normal);background-color:#ffffff05;flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}.file-upload-area:hover{border-color:var(--coral);background-color:#ff7a6b08}.file-upload-icon{width:48px;height:48px;color:var(--text-muted);transition:var(--transition-fast);background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;display:flex}.file-upload-area:hover .file-upload-icon{color:var(--coral);background:#ff7a6b1a;transform:scale(1.1)}.file-upload-info h4{margin-bottom:4px;font-size:15px;font-weight:600}.file-upload-info p{color:var(--text-muted);font-size:12px}.file-selected-card{border-radius:var(--radius-md);background:#4fd1c514;border:1px solid #4fd1c533;justify-content:space-between;align-items:center;margin-top:12px;padding:14px 20px;display:flex}.file-selected-name{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.form-help-text{color:var(--text-muted);margin-top:8px;font-size:12px;line-height:1.45}.loomi-world-select-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.loomi-world-option{text-align:left;min-height:86px;color:var(--text-primary);cursor:pointer;background:#ffffff0b;border:1px solid #ffffff14;border-radius:18px;padding:14px;transition:transform .15s,border-color .15s,background .15s}.loomi-world-option:hover{border-color:#4fd1c552;transform:translateY(-2px)}.loomi-world-option.active{background:linear-gradient(135deg,#4fd1c52e,#7b61ff29);border-color:#4fd1c56b;box-shadow:0 12px 28px #4fd1c514}.loomi-world-option strong,.loomi-world-option small{display:block}.loomi-world-option strong{font-family:var(--font-heading);margin-bottom:4px;font-size:18px}.loomi-world-option small{color:var(--text-secondary);line-height:1.35}.lsos-page{flex-direction:column;gap:22px;display:flex}.panel-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}.lsos-score-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.lsos-score-card,.lsos-board-panel{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #ffffffd9}.lsos-score-card{border-radius:22px;padding:18px}.lsos-score-card span,.lsos-stage-detail span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:800;display:block}.lsos-score-card strong{font-family:var(--font-heading);color:var(--text-primary);font-size:30px;display:block}.lsos-score-card small{color:var(--text-secondary);margin-top:4px;line-height:1.4;display:block}.lsos-board-panel{border-radius:28px;padding:22px}.lsos-live-pill,.lsos-number-pill{color:var(--purple);background:#7b61ff1f;border:1px solid #7b61ff2e;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.lsos-diagram-wrap{border:1px solid var(--border-color);background:#0d0d1b8c;border-radius:24px;height:420px;margin-bottom:24px;overflow:hidden}.lsos-node{cursor:pointer;background:linear-gradient(#232340eb,#191930eb);border:2px solid #ffffff14;border-radius:18px;align-items:center;gap:10px;width:220px;padding:12px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.lsos-node:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent);transform:translateY(-2px)}.lsos-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.lsos-node-icon{background:color-mix(in srgb, var(--accent) 18%, transparent);width:36px;height:36px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lsos-node-body{flex-direction:column;gap:2px;min-width:0;display:flex}.lsos-node-body strong{font-family:var(--font-heading);color:var(--text-primary);font-size:14px}.lsos-node-body span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lsos-node-cta{color:var(--accent);opacity:.85;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:10px;font-weight:700}.lsos-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:55;background:#05050f99;animation:.16s lsos-fade-in;position:fixed;inset:0}@keyframes lsos-fade-in{0%{opacity:0}to{opacity:1}}.lsos-drawer{border-left:3px solid var(--accent,var(--purple));width:440px;max-width:92vw;transition:transform var(--transition-normal);z-index:60;background:#1a1a30;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-16px 0 48px #00000080}.lsos-drawer.open{transform:translate(0)}.lsos-drawer-header{border-bottom:1px solid var(--border-color);align-items:flex-start;gap:12px;padding:20px;display:flex}.lsos-drawer-header strong{font-family:var(--font-heading);color:var(--text-primary);font-size:18px;display:block}.lsos-drawer-header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.lsos-drawer-icon{background:color-mix(in srgb, var(--accent) 18%, transparent);width:36px;height:36px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lsos-drawer-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px}.lsos-drawer-body{flex-direction:column;flex:1;gap:22px;padding:20px;display:flex;overflow-y:auto}.lsos-knob-section h4{font-family:var(--font-heading);color:var(--text-primary);margin:0 0 10px;font-size:14px}.lsos-knob-hint{color:var(--text-muted);margin:0;font-size:11px;font-style:italic}.lsos-catalog-editor{flex-direction:column;gap:12px;display:flex}.lsos-catalog-toolbar{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.lsos-catalog-toolbar-actions{gap:8px;display:flex}.lsos-error{color:var(--coral);margin:0;font-size:12px}.lsos-catalog-list{flex-direction:column;gap:8px;display:flex}.lsos-catalog-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.lsos-catalog-card-main{cursor:pointer;flex:1;min-width:0}.lsos-catalog-card-main strong{color:var(--text-primary);font-size:13px;display:block}.lsos-catalog-card-main p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:11px;overflow:hidden}.lsos-catalog-card-actions{gap:4px;display:flex}.lsos-catalog-card-actions button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px}.lsos-catalog-card-actions button:hover{color:var(--text-primary)}.lsos-back-link{color:var(--purple);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:12px}.lsos-entry-form{flex-direction:column;gap:14px;display:flex}.lsos-field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;display:flex}.lsos-field input[type=text],.lsos-field input[type=number],.lsos-field textarea{border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);background:#ffffff0a;border-radius:10px;padding:8px 10px}.lsos-number-range{align-items:center;gap:8px;display:flex}.lsos-number-range input{border:1px solid var(--border-color);width:80px;color:var(--text-primary);background:#ffffff0a;border-radius:10px;padding:8px 10px}.lsos-tags-field{flex-direction:column;gap:8px;display:flex}.lsos-tags-list{flex-wrap:wrap;gap:6px;display:flex}.lsos-tag-pill{color:var(--purple);background:#7b61ff29;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.lsos-tag-pill button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.lsos-tags-input-row{gap:6px;display:flex}.lsos-tags-input-row input{border:1px solid var(--border-color);color:var(--text-primary);background:#ffffff0a;border-radius:10px;flex:1;padding:6px 10px;font-size:12px}.lsos-tags-input-row button{color:var(--purple);cursor:pointer;background:#7b61ff29;border:none;border-radius:10px;padding:6px 12px;font-size:12px}.lsos-control-row{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.lsos-control-row strong,.lsos-purpose-card strong{color:var(--text-primary);margin-bottom:4px;display:block}.lsos-control-row small{color:var(--text-muted);line-height:1.35;display:block}.lsos-range{width:100%;accent-color:var(--coral);margin:6px 0 18px}.lsos-segmented{flex-wrap:wrap;gap:8px;display:flex}.lsos-segmented button,.lsos-chip,.lsos-stepper button{color:var(--text-secondary);cursor:pointer;background:#ffffffbd;border:1px solid #7b61ff29;border-radius:999px;padding:9px 12px;font-weight:800;transition:transform .14s,background .14s,color .14s}.lsos-segmented button:hover,.lsos-chip:hover,.lsos-stepper button:hover{transform:translateY(-1px)}.lsos-segmented button.active,.lsos-chip.active{background:linear-gradient(135deg, var(--coral), #ffb08f);color:#fff;border-color:#0000}.lsos-segmented.compact button{padding:7px 9px;font-size:12px}.lsos-age-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.lsos-age-card,.lsos-purpose-card{background:#eee9ffb8;border:1px solid #7b61ff24;border-radius:22px;padding:16px}.lsos-age-head{min-height:58px;margin-bottom:12px}.lsos-age-head strong{font-family:var(--font-heading);color:var(--text-primary);font-size:20px;display:block}.lsos-age-head small{color:var(--text-muted);line-height:1.35}.lsos-stepper-row{border-top:1px solid #7b61ff1f;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.lsos-stepper-row span{color:var(--text-secondary);font-size:12px;font-weight:700}.lsos-stepper{align-items:center;gap:8px;display:inline-flex}.lsos-stepper button{width:30px;height:30px;padding:0}.lsos-stepper strong{text-align:center;min-width:24px;color:var(--text-primary)}.lsos-purpose-board{gap:12px;display:grid}.lsos-purpose-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.lsos-chip-board{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1180px){.lsos-score-strip,.lsos-age-board{grid-template-columns:repeat(2,minmax(0,1fr))}.lsos-board-grid{grid-template-columns:1fr}}.research-page{flex-direction:column;gap:22px;display:flex}.research-hero{box-shadow:var(--shadow-md);background:radial-gradient(circle at 8% 18%,#ffe08238,#0000 28%),radial-gradient(circle at 88% 24%,#4fd1c529,#0000 32%),linear-gradient(135deg,#7b61ff2e,#ff7a6b1f);border:1px solid #ffffff1a;border-radius:32px;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:22px;padding:28px;display:grid;overflow:hidden}.research-kicker{width:fit-content;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;background:#4fd1c51f;border:1px solid #4fd1c533;border-radius:999px;margin-bottom:12px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.research-hero-copy h2{max-width:760px;font-family:var(--font-heading);margin:0 0 10px;font-size:34px;line-height:1.05}.research-hero-copy p{max-width:760px;color:var(--text-secondary);line-height:1.55}.research-hero-flow{align-content:center;gap:10px;display:grid}.research-hero-flow div{color:var(--text-primary);background:#ffffff14;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:10px;padding:13px 16px;font-weight:800;display:flex}.research-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.research-stat-card{border:1px solid var(--border-color);background:#ffffff0f;border-radius:22px;grid-template-columns:42px 1fr;align-items:center;column-gap:12px;padding:18px;display:grid}.research-stat-card svg{color:var(--purple);grid-row:span 2}.research-stat-card.approved svg{color:var(--teal)}.research-stat-card.draft svg{color:var(--yellow)}.research-stat-card span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.research-stat-card strong{font-family:var(--font-heading);font-size:28px}.research-layout{grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);align-items:start;gap:22px;display:grid}.research-board-panel{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#191930b8;border-radius:28px;padding:24px}.research-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.research-type-card{text-align:left;min-height:104px;color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;padding:14px;transition:transform .15s,border-color .15s,background .15s}.research-type-card:hover{border-color:#7b61ff59;transform:translateY(-2px)}.research-type-card.active{background:linear-gradient(135deg,#7b61ff38,#4fd1c51f);border-color:#4fd1c561}.research-type-card strong,.research-type-card small{display:block}.research-type-card strong{font-family:var(--font-heading);margin-bottom:6px;font-size:17px}.research-type-card small{color:var(--text-secondary);line-height:1.35}.research-control-row{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.research-control-row strong,.research-control-row small{display:block}.research-control-row small{color:var(--text-muted);margin-top:3px}.youtube-import-strip{background:#4fd1c514;border:1px solid #4fd1c529;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px;display:flex}.youtube-import-strip strong,.youtube-import-strip small{display:block}.youtube-import-strip strong{color:var(--text-primary);font-size:13px}.youtube-import-strip small{color:var(--text-muted);line-height:1.35}.research-age-band{color:var(--text-secondary);align-items:center;gap:10px;font-weight:800;display:inline-flex}.research-transcript{min-height:180px}.research-inspector-title{color:var(--text-primary);font-family:var(--font-heading);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-size:24px;display:flex}.research-inspector-title a{width:34px;height:34px;color:var(--teal);background:#4fd1c51f;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.genome-card{background:radial-gradient(circle at 8% 10%,#ffe08229,#0000 28%),#ffffff0e;border:1px solid #ffffff14;border-radius:26px;padding:20px}.genome-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.genome-head svg{color:var(--coral)}.genome-head strong,.genome-head small{display:block}.genome-head strong{font-family:var(--font-heading);font-size:22px}.genome-head small{color:var(--text-secondary);line-height:1.4}.genome-section{border-top:1px solid var(--border-color);margin-top:14px;padding-top:14px}.genome-section span{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:900;display:block}.genome-section p{color:var(--text-secondary);margin:0;line-height:1.5}.genome-chip-group{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.genome-chip-group span{color:#dcd5ff;background:#7b61ff24;border:1px solid #7b61ff38;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.genome-chip-group.muted span{color:#bff6ef;background:#4fd1c51a;border-color:#4fd1c52e}.research-source-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;display:grid}.research-source-card{border:1px solid var(--border-color);cursor:pointer;background:#ffffff0b;border-radius:24px;padding:18px;transition:transform .15s,border-color .15s,background .15s}.research-source-card:hover,.research-source-card.selected{background:#ffffff13;border-color:#7b61ff5c;transform:translateY(-2px)}.research-card-top,.research-meta-row,.research-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.research-card-top{justify-content:space-between;margin-bottom:12px}.research-card-purpose{color:var(--teal);text-transform:uppercase;font-size:12px;font-weight:900}.research-source-card h4{font-family:var(--font-heading);margin:0 0 8px;font-size:21px}.research-source-card p{min-height:64px;color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 14px;line-height:1.45;display:-webkit-box;overflow:hidden}.research-meta-row{margin-bottom:14px}.research-meta-row span{color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.research-empty{text-align:center;min-height:220px;color:var(--text-secondary);background:#ffffff09;border:1px dashed #ffffff29;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px;display:flex}.research-empty svg{color:var(--purple)}.research-empty strong{color:var(--text-primary);font-family:var(--font-heading);font-size:22px}.research-empty p{max-width:360px;margin:0;line-height:1.45}.research-empty.compact{min-height:180px}.research-empty.full{grid-column:1/-1}@media (width<=1180px){.research-hero,.research-layout{grid-template-columns:1fr}.research-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.research-stat-grid,.research-type-grid{grid-template-columns:1fr}.research-control-row{flex-direction:column;align-items:flex-start}.youtube-import-strip{flex-direction:column;align-items:stretch}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background-color:#0d0d1bcc;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:85vh;box-shadow:var(--shadow-lg);padding:32px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto}.modal-close-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;position:absolute;top:20px;right:20px}.modal-close-btn:hover{color:var(--text-primary);transform:scale(1.1)}.modal-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:24px;font-size:24px}.user-profile-summary{flex-direction:column;gap:20px;display:flex}.profile-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:6px;font-size:12px;font-weight:700}.profile-grid-items{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;display:grid}.profile-grid-card{border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;background:#ffffff08;padding:14px}.profile-card-title{color:var(--text-primary);font-size:14px;font-weight:600}.profile-card-sub{color:var(--text-secondary);margin-top:4px;font-size:11px}.story-preview-container{flex-direction:column;gap:16px;display:flex}.story-preview-media{aspect-ratio:3/4;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#000;width:100%;position:relative;overflow:hidden}.story-preview-image{object-fit:cover;width:100%;height:100%}.story-preview-video{object-fit:contain;width:100%;height:100%}.story-preview-nav{justify-content:space-between;align-items:center;padding:8px 4px;display:flex}.story-scene-text{color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff08;min-height:80px;padding:16px 20px;font-size:15px;line-height:1.6}.progress-card{background:var(--bg-main);border:1px solid var(--border-color-focus);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;align-items:center;gap:16px;padding:20px 24px;animation:.3s ease-out slideInRight;display:flex;position:fixed;bottom:24px;right:24px}.spinner{border:3px solid #7b61ff33;border-top-color:var(--purple);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.btn-logout{color:var(--text-muted);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.btn-logout:hover{background-color:#ef44441a;transform:scale(1.1);color:#ef4444!important}.btn-logout:active{transform:scale(.95)}@keyframes kenBurnsPreview{0%{transform:scale(1.12)translate(0)rotate(0)}50%{transform:scale(1.22)translate(-2%,-1%)rotate(.4deg)}to{transform:scale(1.12)translate(0)rotate(0)}}.story-preview-image-animated{object-fit:cover;width:100%;height:100%;animation:16s ease-in-out infinite kenBurnsPreview}.story-preview-sunbeam{pointer-events:none;background:linear-gradient(135deg,#ffe6b440 0%,#ffb49614 40%,#0000 80%);animation:12s ease-in-out infinite alternate sunbeamShift;position:absolute;inset:0}@keyframes sunbeamShift{0%{opacity:.6;transform:scale(1)translate(-5%,-5%)rotate(0)}to{opacity:.9;transform:scale(1.15)translate(5%,5%)rotate(5deg)}}.story-preview-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sparkle{background-color:#ffecc7d9;border-radius:50%;position:absolute;box-shadow:0 0 6px 1px #ffffffe6}.sparkle.p1{width:5px;height:5px;animation:8s ease-in-out infinite floatSparkle1;top:70%;left:15%}.sparkle.p2{width:4px;height:4px;animation:10s ease-in-out infinite floatSparkle2;top:20%;left:80%}.sparkle.p3{width:6px;height:6px;animation:9s ease-in-out infinite floatSparkle3;top:40%;left:40%}.sparkle.p4{width:5px;height:5px;animation:11s ease-in-out infinite floatSparkle4;top:80%;left:60%}.sparkle.p5{width:4px;height:4px;animation:7s ease-in-out infinite floatSparkle5;top:15%;left:30%}@keyframes floatSparkle1{0%{opacity:0;transform:translate(0)scale(.6)}50%{opacity:.8;transform:translate(30px,-60px)scale(1.1)}to{opacity:0;transform:translate(60px,-120px)scale(.6)}}@keyframes floatSparkle2{0%{opacity:0;transform:translate(0)scale(.6)}50%{opacity:.9;transform:translate(-40px,60px)scale(1.2)}to{opacity:0;transform:translate(-80px,120px)scale(.6)}}@keyframes floatSparkle3{0%{opacity:0;transform:translate(0)scale(.5)}50%{opacity:.8;transform:translate(50px,40px)scale(1.1)}to{opacity:0;transform:translate(100px,80px)scale(.5)}}@keyframes floatSparkle4{0%{opacity:0;transform:translate(0)scale(.6)}50%{opacity:.9;transform:translate(-30px,-50px)scale(1.1)}to{opacity:0;transform:translate(-60px,-100px)scale(.6)}}@keyframes floatSparkle5{0%{opacity:0;transform:translate(0)scale(.5)}50%{opacity:.8;transform:translate(40px,-40px)scale(1.2)}to{opacity:0;transform:translate(80px,-80px)scale(.5)}}.pd-page{max-width:960px}.pd-input-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:32px;padding:28px}.pd-input-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:16px;display:grid}.pd-input-form label{flex-direction:column;gap:6px;display:flex}.pd-input-form label>span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.pd-input-form input,.pd-input-form select,.pd-input-form textarea{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-fast);background:#ffffff0a;padding:10px 14px;font-size:14px}.pd-input-form input:focus,.pd-input-form select:focus,.pd-input-form textarea:focus{border-color:var(--border-color-focus);background:#ffffff14;outline:none;box-shadow:0 0 0 2px #7b61ff26}.pd-input-wide{grid-column:1/-1}.pd-tags-row{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#ffffff0a;flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:flex}.pd-tags-row input{flex:1;min-width:120px;box-shadow:none!important;background:0 0!important;border:none!important;padding:4px 0!important}.pd-tag{color:var(--purple);background:#7b61ff26;border:1px solid #7b61ff40;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.pd-tag button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.pd-tag button:hover{opacity:1}.pd-error{border-radius:var(--radius-md);color:#ef4444;background:#ef44441f;border:1px solid #ef444440;margin-bottom:24px;padding:14px 18px;font-size:14px}.pd-timeline{padding-left:36px;position:relative}.pd-timeline-line{background:linear-gradient(to bottom, var(--purple), var(--coral), var(--teal));opacity:.3;border-radius:1px;width:2px;position:absolute;top:0;bottom:0;left:16px}.pd-stage-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-normal);margin-bottom:12px;overflow:hidden}.pd-stage-card.done{border-color:#4fd1c540}.pd-stage-card.running{border-color:#ffe08266;box-shadow:0 0 20px #ffe08214}.pd-stage-card:hover{border-color:#ffffff26}.pd-stage-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:16px 20px;display:flex}.pd-stage-index{background:var(--bg-main);border:2px solid var(--border-color);width:28px;height:28px;color:var(--text-muted);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:relative;left:auto}.pd-stage-card.done .pd-stage-index{border-color:var(--teal);color:var(--teal);background:#4fd1c526}.pd-stage-card.running .pd-stage-index{border-color:var(--yellow);color:var(--yellow);background:#ffe08226;animation:1.5s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{box-shadow:0 0 #ffe0824d}50%{box-shadow:0 0 12px 4px #ffe08233}}.pd-stage-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--accent,var(--purple));background:#7b61ff1a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pd-stage-info{flex:1;min-width:0}.pd-stage-info strong{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:600;display:block}.pd-stage-info span{color:var(--text-muted);font-size:12px}.pd-stage-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.pd-run-btn{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--coral), var(--coral-dark));color:#fff;font-family:var(--font-sans);cursor:pointer;transition:var(--transition-fast);border:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.pd-run-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff7a6b4d}.pd-run-btn:disabled{opacity:.35;cursor:not-allowed}.pd-rerun-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:var(--transition-fast);background:#ffffff0a;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex}.pd-rerun-btn:hover{color:var(--text-primary);background:#ffffff1a}.pd-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.pd-status-badge.done{color:var(--teal);background:#4fd1c51f;border:1px solid #4fd1c540}.pd-status-badge.running{color:var(--yellow);background:#ffe0821f;border:1px solid #ffe08240;animation:1.5s ease-in-out infinite pulse-glow}.pd-stage-body{border-top:1px solid var(--border-color);padding:0 20px 20px}.pd-json-toolbar{justify-content:space-between;align-items:center;padding:12px 0;display:flex}.pd-json-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.pd-edit-btn,.pd-save-btn,.pd-cancel-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:var(--transition-fast);background:#ffffff0a;align-items:center;gap:4px;padding:5px 12px;font-size:11px;font-weight:600;display:inline-flex}.pd-edit-btn:hover,.pd-cancel-btn:hover{color:var(--text-primary);background:#ffffff1a}.pd-save-btn{color:var(--teal);background:#4fd1c51f;border-color:#4fd1c540}.pd-save-btn:hover{background:#4fd1c540}.pd-edit-error{color:#ef4444;margin-bottom:8px;font-size:12px}.pd-json-output{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:#0000004d;max-height:500px;padding:16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.6;overflow:auto}.pd-json-editor{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:vertical;background:#0006;border:1px solid #7b61ff4d;min-height:200px;padding:16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.6}.pd-json-editor:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 2px #7b61ff26}.json-key{color:#7b61ff}.json-string{color:#4fd1c5}.json-number{color:#ffe082}.json-boolean{color:#ff7a6b}.json-null{color:#6c6c8c}.pd-story-preview{padding:20px 0}.pd-story-preview h3{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:700}.pd-story-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:14px;font-style:italic}.pd-scene-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0003;margin-bottom:12px;padding:16px}.pd-scene-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.pd-scene-number{text-transform:uppercase;color:var(--purple);background:#7b61ff1f;border:1px solid #7b61ff40;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:700}.pd-scene-title{color:var(--text-primary);font-size:14px;font-weight:600}.pd-scene-narration{color:var(--text-secondary);margin-bottom:10px;font-size:14px;line-height:1.7}.pd-scene-dialogue{border-left:3px solid #ffe0824d;margin-bottom:10px;padding-left:16px}.pd-scene-dialogue p{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.pd-scene-dialogue strong{color:var(--yellow)}.pd-scene-visual{border-radius:var(--radius-sm);color:var(--teal);background:#4fd1c50f;border:1px solid #4fd1c526;align-items:flex-start;gap:6px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.pd-scene-visual svg{flex-shrink:0;margin-top:2px}.pd-story-moral{border-radius:var(--radius-sm);color:var(--text-secondary);background:#ff7a6b14;border:1px solid #ff7a6b26;margin-top:16px;padding:12px 16px;font-size:14px}.pd-story-moral strong{color:var(--coral)}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
