.ai-thinking{display:flex;align-items:center;gap:9px;max-width:88%;color:var(--text-muted);font-size:.76rem}.ai-thinking-mark{flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#f59e0b1a;color:#f59e0b}.ai-thinking-body{display:flex;align-items:center;gap:6px;min-width:0}.ai-thinking-dots{display:inline-flex;flex-shrink:0;gap:3px}.ai-thinking-dots i{width:4px;height:4px;border-radius:50%;background:#f59e0b;animation:ai-thinking-dot 1.1s ease-in-out infinite}.ai-thinking-dots i:nth-child(2){animation-delay:.14s}.ai-thinking-dots i:nth-child(3){animation-delay:.28s}@keyframes ai-thinking-dot{0%,70%,to{transform:translateY(0);opacity:.35}35%{transform:translateY(-3px);opacity:1}}.ai-thinking.is-lg{font-size:.86rem;gap:11px}.ai-thinking.is-lg .ai-thinking-mark{width:32px;height:32px;border-radius:8px}.ai-thinking.is-lg .ai-thinking-dots i{width:5px;height:5px}@media (prefers-reduced-motion: reduce){.ai-thinking-dots i{animation:none;opacity:.7}}.custom-alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:fadeIn .2s ease-out forwards}.custom-alert-modal{background:var(--bg-color, #1e1e2e);border:1px solid var(--border-color, #374151);border-radius:20px;padding:2rem;width:90%;max-width:400px;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;align-items:center;text-align:center;animation:scaleUp .3s cubic-bezier(.175,.885,.32,1.275) forwards;position:absolute}.custom-alert-icon{background:#ffffff0d;padding:1rem;border-radius:50%;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center}.custom-alert-content{width:100%}.custom-alert-message{color:var(--text-color, #f3f4f6);font-size:1.1rem;line-height:1.5;margin:0 0 2rem;white-space:pre-line;word-break:keep-all}.custom-alert-button{width:100%;background:var(--primary-color, #6366f1);color:#fff;border:none;border-radius:12px;padding:.8rem 1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #6366f14d}.custom-alert-button:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.custom-alert-button:active{transform:translateY(0)}.custom-confirm-buttons{display:flex;gap:.75rem}.custom-confirm-buttons .custom-alert-button{margin:0;width:auto;flex:1}.custom-confirm-cancel{background:var(--btn-active-bg, rgba(255, 255, 255, .05));color:var(--text-color, #f3f4f6);border:1px solid var(--border-color, #374151);box-shadow:none}.custom-confirm-cancel:hover{filter:none;background:var(--border-color, #374151)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.chat-sidebar-container{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}.chat-sidebar-container button,.chat-sidebar-container input{font-family:inherit}.chat-sidebar-container button:focus-visible,.chat-sidebar-container input:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.chat-sidebar-header{display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem;padding:.55rem .85rem .7rem}.chat-history-kicker{color:var(--text-muted);font-size:.53rem;font-weight:750;letter-spacing:.11em}.chat-sidebar-header h2{margin:.16rem 0 0;color:var(--text-color);font-size:.8rem}.chat-sidebar-header h2 em{margin-left:.25rem;color:var(--text-muted);font-size:.58rem;font-style:normal}.chat-sidebar-actions{display:flex;align-items:center;gap:.3rem}.chat-sidebar-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-height:31px;padding:0 .45rem;border:1px solid var(--border-color);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.6rem}.chat-sidebar-actions button:hover{color:var(--text-color);background:#94a3b80f}.chat-sidebar-actions button.new{border-color:#94a3b838;background:#94a3b814;color:var(--text-color)}.chat-sidebar-actions button:disabled{opacity:.45;cursor:default}.chat-sidebar-actions .spin{animation:chat-side-spin 1s linear infinite}.chat-session-search{display:flex;align-items:center;min-height:36px;margin:0 .85rem .55rem;padding:0 .6rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-muted)}.chat-session-search:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f614}.chat-session-search input{flex:1;min-width:0;padding:0 .45rem;border:0;outline:0;background:transparent;color:var(--text-color);font-size:.68rem}.chat-session-search button{display:grid;place-items:center;padding:.18rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.chat-session-error{margin:0 .85rem .5rem;padding:.5rem .6rem;border:1px solid rgba(239,68,68,.2);border-radius:7px;background:#ef44440f;color:#f87171;font-size:.62rem}.chat-sidebar-content{flex:1;min-height:0;overflow-y:auto;padding:.1rem .65rem .8rem;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.chat-session-group{margin-bottom:.7rem}.chat-session-group>h3{margin:0;padding:.45rem .45rem .32rem;color:var(--text-muted);font-size:.56rem;font-weight:650}.chat-session-list{display:flex;flex-direction:column;gap:.2rem}.chat-session-item{position:relative;display:flex;align-items:center;min-width:0;border:1px solid transparent;border-radius:9px;transition:border-color .15s ease,background-color .15s ease}.chat-session-item:hover{background:#94a3b80e}.chat-session-item.active{border-color:#94a3b833;background:#94a3b817}.session-select{display:flex;align-items:flex-start;gap:.52rem;flex:1;min-width:0;padding:.62rem .55rem;text-align:left;border:0;border-radius:9px;background:transparent;color:var(--text-color);cursor:pointer}.session-icon{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:7px;background:#94a3b812;color:var(--text-muted)}.chat-session-item.active .session-icon{background:#94a3b81f;color:var(--text-color)}.session-copy{display:flex;min-width:0;flex-direction:column;gap:.24rem}.session-title-row{display:flex;align-items:center;gap:.35rem;min-width:0}.session-title-row strong{flex:1;overflow:hidden;color:var(--text-color);font-size:.66rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.session-title-row time{flex:0 0 auto;color:var(--text-muted);font-size:.51rem}.session-preview{display:block;overflow:hidden;padding-right:.25rem;color:var(--text-muted);font-size:.57rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.session-actions{display:none;align-items:center;gap:.15rem;position:absolute;right:.35rem;top:50%;padding-left:.8rem;transform:translateY(-50%);background:linear-gradient(90deg,transparent,var(--card-bg) 30%)}.chat-session-item:hover .session-actions,.chat-session-item:focus-within .session-actions{display:flex}.session-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.08rem;min-width:27px;height:27px;padding:0 .25rem;border:0;border-radius:6px;background:#94a3b814;color:var(--text-muted);cursor:pointer}.btn-delete-session:hover{background:#ef44441a;color:#f87171}.btn-go-project:hover{background:#10b9811a;color:#34d399}.chat-session-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:230px;padding:1rem;text-align:center;color:var(--text-muted)}.chat-session-empty strong{margin-top:.55rem;color:var(--text-color);font-size:.7rem}.chat-session-empty span{max-width:180px;margin-top:.24rem;color:var(--text-muted);font-size:.59rem;line-height:1.5}.chat-session-empty button{display:inline-flex;align-items:center;gap:.3rem;min-height:32px;margin-top:.7rem;padding:0 .55rem;border:1px solid var(--border-color);border-radius:7px;background:#94a3b812;color:var(--text-color);cursor:pointer;font-size:.6rem}.chat-session-skeleton{display:grid;gap:.3rem;padding:.45rem 0}.chat-session-skeleton span{display:block;height:58px;border-radius:9px;background:linear-gradient(90deg,#94a3b80a,#94a3b81a,#94a3b80a);background-size:200% 100%;animation:chat-side-shimmer 1.4s linear infinite}@keyframes chat-side-spin{to{transform:rotate(360deg)}}@keyframes chat-side-shimmer{to{background-position:-200% 0}}@media (max-width: 1024px){.chat-sidebar-container{width:100%!important;height:auto!important;flex:1;position:relative!important;transform:none!important;border-right:0!important}}@media (prefers-reduced-motion: reduce){.chat-sidebar-actions .spin,.chat-session-skeleton span{animation:none}.chat-session-item{transition:none}}.main-sidebar{--sidebar-blue: var(--primary-color, #3b82f6);display:flex;flex:0 0 276px;flex-direction:column;width:276px;height:100dvh;position:sticky;top:0;overflow:hidden;border-right:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color)}.main-sidebar button{font-family:inherit}.main-sidebar button:focus-visible{outline:2px solid var(--sidebar-blue);outline-offset:2px}.main-sidebar-header{display:flex;align-items:center;gap:.6rem;min-height:68px;padding:0 1rem;box-sizing:border-box}.sidebar-brand{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.3rem;border:0;border-radius:9px;background:transparent;cursor:pointer}.sidebar-brand:hover{background:#94a3b80f}.brand-logo{flex:0 0 auto;width:34px;height:34px;object-fit:contain}.brand-name{min-width:0;overflow:hidden;font-size:1.05rem;font-weight:750;letter-spacing:-.045em;white-space:nowrap}.logo-container{display:flex;align-items:center;color:var(--text-color);font-family:var(--font-sans)}.text-workflow{color:var(--text-color)}.text-ai{color:#60a5fa}.sidebar-tabs{display:flex;gap:.25rem;padding:.3rem;margin:0 .8rem .55rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color)}.sidebar-tab{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:1;min-height:34px;padding:0 .5rem;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.7rem;font-weight:650;transition:color .15s ease,background-color .15s ease}.sidebar-tab:hover{color:var(--text-color)}.sidebar-tab.active{background:#94a3b81a;color:var(--text-color);box-shadow:inset 0 0 0 1px #94a3b81a}.main-nav{display:flex;flex:1;min-height:0;flex-direction:column;gap:.18rem;padding:.25rem .75rem 1rem;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.nav-group-label{padding:.65rem .65rem .3rem;color:var(--text-muted);font-size:.58rem;font-weight:700;letter-spacing:.08em}.nav-item{position:relative;display:flex;align-items:center;gap:.68rem;width:100%;min-height:40px;padding:0 .65rem;overflow:hidden;text-align:left;white-space:nowrap;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.76rem;font-weight:560;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.nav-item:hover{background:#94a3b811;color:var(--text-color)}.nav-item.active{border-color:#94a3b824;background:#94a3b817;color:var(--text-color)}.nav-item.active:before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:2px;border-radius:999px;background:var(--sidebar-blue)}.nav-item-icon{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:7px;color:inherit}.nav-item:hover .nav-item-icon{background:#94a3b812}.nav-item.active .nav-item-icon{background:#94a3b81a}.nav-divider{height:1px;flex:0 0 auto;margin:.55rem .55rem .15rem;background:var(--border-color);opacity:.72}.main-sidebar-footer{flex:0 0 auto;padding:.7rem .75rem;border-top:1px solid var(--border-color);background:#94a3b805}.user-profile-vertical{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.45rem;border:1px solid transparent;border-radius:10px}.user-profile-vertical:hover{border-color:var(--border-color);background:#94a3b809}.profile-pic-large,.profile-pic-fallback{display:grid;place-items:center;width:34px;height:34px;box-sizing:border-box;border:1px solid rgba(59,130,246,.23);border-radius:10px;object-fit:cover;background:#3b82f61a;color:#93c5fd;font-size:.72rem;font-weight:750}.user-info{display:flex;min-width:0;flex-direction:column;gap:.16rem}.user-name,.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name{color:var(--text-color);font-size:.7rem;font-weight:650}.user-email{color:var(--text-muted);font-size:.58rem}.btn-logout{display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.btn-logout:hover{border-color:#ef444433;background:#ef444412;color:#f87171}.login-container{display:flex;flex-direction:column;gap:.75rem;text-align:center}.login-hint{margin:0;color:var(--text-muted);font-size:.7rem}.login-collapsed-icon,.mobile-sidebar-toggle,.mobile-sidebar-overlay{display:none}.mobile-sidebar-wrapper{display:contents}.sidebar-close{display:none;margin-left:auto;padding:.35rem;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}.sidebar-close:hover{background:#94a3b812;color:var(--text-color)}@media (max-width: 1024px){.mobile-sidebar-toggle{display:grid;place-items:center;position:fixed;top:.85rem;left:.85rem;z-index:40;width:40px;height:40px;padding:0;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:var(--text-color);cursor:pointer;box-shadow:0 8px 24px #00000029}.mobile-sidebar-wrapper{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:950;width:min(300px,88vw);transform:translate(-102%);border-right:1px solid var(--border-color);background:var(--card-bg);box-shadow:24px 0 60px #0000003d;transition:transform .22s ease}.mobile-sidebar-wrapper.mobile-open{transform:translate(0)}.mobile-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:940;background:#0206179e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.main-sidebar{flex:1;width:100%;height:auto;position:relative;border-right:0}.sidebar-close{display:grid;place-items:center}.chat-sidebar-container{width:100%!important;height:auto!important;flex:1;position:relative!important;transform:none!important;border-right:0!important}}@media (prefers-reduced-motion: reduce){.mobile-sidebar-wrapper,.nav-item,.sidebar-tab{transition:none}}.demo-login-toggle{margin-top:8px;width:100%;padding:7px 10px;border:1px dashed var(--border-color);border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.78rem;cursor:pointer}.demo-login-toggle:hover{color:var(--text-color);border-style:solid}.demo-login-form{margin-top:8px;display:flex;gap:5px}.demo-login-form select,.demo-login-form input{min-width:0;padding:6px 8px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.78rem}.demo-login-form select{flex:0 0 auto}.demo-login-form input{flex:1}.demo-login-form button{flex:0 0 auto;padding:6px 11px;border:0;border-radius:7px;background:var(--primary-color, #4f7cff);color:#fff;font:inherit;font-size:.78rem;cursor:pointer}.demo-login-form button:disabled{opacity:.5;cursor:default}.feedback-fab{display:flex;align-items:center;gap:.5rem;position:fixed;right:1.5rem;bottom:1.5rem;z-index:900;padding:.72rem 1.1rem;border:1px solid transparent;border-radius:999px;background:var(--primary-color);color:#fff;box-shadow:0 8px 22px #0f172a3d;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:640;transition:transform .16s ease,box-shadow .16s ease}.feedback-fab:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0f172a4d}.feedback-fab:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}.feedback-fab.is-done{border-color:var(--border-color);background:var(--card-bg);color:var(--text-muted);box-shadow:none}.feedback-overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;padding:1.25rem;background:#020617ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-sizing:border-box}.feedback-modal{display:flex;flex-direction:column;width:min(100%,620px);max-height:min(88vh,780px);border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg);box-shadow:0 26px 70px #02061766;overflow:hidden}.feedback-head{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.35rem .9rem}.feedback-head-copy{flex:1;min-width:0}.feedback-head-copy h2{margin:0;color:var(--text-color);font-size:1.08rem;font-weight:680;letter-spacing:-.02em}.feedback-head-copy p{margin:.28rem 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.5}.feedback-close{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.feedback-close:hover{border-color:var(--border-color);color:var(--text-color)}.feedback-steps{display:flex;align-items:center;gap:.5rem;padding:0 1.35rem .9rem}.feedback-steps-track{display:flex;flex:1;gap:4px}.feedback-steps-track i{flex:1;height:4px;border-radius:999px;background:var(--border-color);transition:background-color .2s ease}.feedback-steps-track i.is-done{background:var(--primary-color)}.feedback-steps-track i.is-current{background:var(--primary-color);opacity:.55}.feedback-steps>small{flex:0 0 auto;color:var(--text-muted);font-size:.68rem;font-variant-numeric:tabular-nums}.feedback-body{flex:1;min-height:0;padding:.15rem 1.35rem 1.1rem;overflow-y:auto}.feedback-section-title{margin:.35rem 0 .2rem;color:var(--text-color);font-size:.94rem;font-weight:660}.feedback-section-hint{margin:0 0 1rem;color:var(--text-muted);font-size:.76rem;line-height:1.55}.feedback-question{padding:.85rem .9rem;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-color)}.feedback-question+.feedback-question{margin-top:.6rem}.feedback-question.is-answered{border-color:#60a5fa6b}.feedback-question-copy{display:flex;gap:.55rem}.feedback-question-no{flex:0 0 auto;color:var(--text-muted);font-size:.72rem;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}.feedback-question-copy strong{display:block;color:var(--text-color);font-size:.86rem;font-weight:620;line-height:1.5;word-break:keep-all}.feedback-question-copy span{display:block;margin-top:.18rem;color:var(--text-muted);font-size:.73rem;line-height:1.5;word-break:keep-all}.feedback-answer{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 0;padding-left:1.35rem}.feedback-stars{display:flex;gap:.12rem}.feedback-stars button{display:flex;padding:.18rem;border:0;border-radius:6px;background:transparent;color:var(--border-color);cursor:pointer;transition:transform .13s ease,color .13s ease}.feedback-stars button:hover{transform:scale(1.12)}.feedback-stars button.is-on{color:#f59e0b}.feedback-stars button:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.feedback-answer-label{min-width:3.6rem;color:var(--text-color);font-size:.74rem;font-weight:560}.feedback-answer-label.is-empty{color:var(--text-muted);font-weight:460}.feedback-skip{margin-left:auto;padding:.28rem .6rem;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.7rem}.feedback-skip:hover{color:var(--text-color)}.feedback-skip.is-on{border-color:#60a5fa73;background:#60a5fa21;color:#60a5fa;font-weight:600}.feedback-question.is-skipped .feedback-stars{opacity:.38}.feedback-comment label{display:block;margin-bottom:.45rem;color:var(--text-color);font-size:.86rem;font-weight:620}.feedback-comment textarea{width:100%;min-height:132px;padding:.7rem .75rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color);color:var(--text-color);font-family:inherit;font-size:.82rem;line-height:1.6;resize:vertical}.feedback-comment textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:-1px}.feedback-recap{display:flex;align-items:center;gap:.5rem;margin-top:.85rem;padding:.7rem .8rem;border:1px solid var(--border-color);border-radius:10px;color:var(--text-muted);font-size:.75rem;line-height:1.5}.feedback-recap strong{color:var(--text-color);font-weight:620}.feedback-foot{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.35rem;border-top:1px solid var(--border-color);background:var(--card-bg)}.feedback-foot-note{flex:1;min-width:0;color:var(--text-muted);font-size:.72rem;line-height:1.45}.feedback-btn{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;min-height:36px;padding:0 .95rem;border:1px solid var(--border-color);border-radius:9px;background:transparent;color:var(--text-color);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:560}.feedback-btn:hover:not(:disabled){background:var(--btn-active-bg)}.feedback-btn.is-primary{border-color:transparent;background:var(--primary-color);color:#fff;font-weight:640}.feedback-btn.is-primary:hover:not(:disabled){filter:brightness(1.06)}.feedback-btn:disabled{opacity:.45;cursor:not-allowed}.feedback-done{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:min(100%,380px);padding:2rem 1.6rem 1.6rem;position:relative;border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg);text-align:center}.feedback-done h2{margin:.2rem 0 0;color:var(--text-color);font-size:1.02rem}.feedback-done p{margin:0;color:var(--text-muted);font-size:.8rem;line-height:1.6}.feedback-done .feedback-close{position:absolute;top:.85rem;right:.85rem}.feedback-loading{padding:2.4rem 1rem;color:var(--text-muted);text-align:center;font-size:.82rem}@media (max-width: 560px){.feedback-fab{right:1rem;bottom:1rem;padding:.62rem .9rem;font-size:.76rem}.feedback-overlay{padding:0}.feedback-modal{width:100%;max-height:100%;height:100%;border:0;border-radius:0}.feedback-head,.feedback-steps,.feedback-body,.feedback-foot{padding-left:1rem;padding-right:1rem}.feedback-answer{padding-left:0}.feedback-skip{margin-left:0}.feedback-foot-note{display:none}.feedback-btn{flex:1;justify-content:center}}@media (prefers-reduced-motion: reduce){.feedback-fab,.feedback-stars button,.feedback-steps-track i{transition:none}.feedback-fab:hover,.feedback-stars button:hover{transform:none}}.tutorial-overlay-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000}.tutorial-dim{position:fixed;background:#000000b8;pointer-events:auto;transition:all .25s ease}.tutorial-highlight{position:fixed;border:2px solid var(--primary-color);border-radius:10px;box-shadow:0 0 0 4px #3b82f640,0 0 24px #3b82f659;pointer-events:none;transition:all .25s ease}.tutorial-tooltip{position:fixed;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1rem 1.1rem;box-shadow:0 12px 32px #00000073;pointer-events:auto;animation:tutorial-fade-in .2s ease}@keyframes tutorial-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tutorial-close{position:absolute;top:.6rem;right:.6rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.15rem;display:flex}.tutorial-close:hover{color:var(--text-color)}.tutorial-step-count{font-size:.75rem;font-weight:600;color:var(--primary-color);margin-bottom:.35rem}.tutorial-title{margin:0 0 .4rem;font-size:1rem;font-weight:700;color:var(--text-color);padding-right:1.2rem}.tutorial-desc{margin:0 0 1rem;font-size:.88rem;line-height:1.5;color:var(--text-muted);white-space:pre-line}.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tutorial-skip{background:transparent;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;padding:.3rem 0}.tutorial-skip:hover{color:var(--text-color);text-decoration:underline}.tutorial-nav{display:flex;gap:.5rem}.tutorial-btn-primary,.tutorial-btn-secondary{border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer}.tutorial-btn-primary{background:var(--primary-color);border:none;color:#fff}.tutorial-btn-primary:hover{background:var(--primary-hover)}.tutorial-btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-color)}.tutorial-btn-secondary:hover{background:var(--btn-active-bg)}.onboarding-checklist{position:fixed;top:5.25rem;right:1.25rem;z-index:900;width:min(320px,calc(100vw - 2rem));color:var(--text-color);background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 12px 28px #0000003d;overflow:hidden}.onboarding-checklist.is-collapsed{width:270px}.onboarding-header{width:100%;min-height:58px;display:grid;grid-template-columns:28px minmax(0,1fr) 56px 18px;align-items:center;gap:.55rem;padding:.7rem .8rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.onboarding-header:hover{background:var(--btn-active-bg)}.onboarding-header-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#38bdf8;background:#38bdf81f;border-radius:6px}.onboarding-header-copy{display:flex;min-width:0;flex-direction:column;gap:.1rem}.onboarding-header-copy strong{overflow:hidden;font-size:.86rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.onboarding-header-copy span{color:var(--text-muted);font-size:.72rem}.onboarding-progress-track{width:56px;height:5px;border-radius:3px;overflow:hidden;background:var(--btn-active-bg)}.onboarding-progress-track span{display:block;height:100%;border-radius:inherit;background:#22c55e;transition:width .25s ease}.onboarding-body{padding:.25rem .8rem .85rem;border-top:1px solid var(--border-color)}.onboarding-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:.35rem 0;list-style:none}.onboarding-steps li{padding:0;border-left:2px solid transparent}.onboarding-steps li.is-active{border-left-color:#38bdf8;background:#38bdf812}.onboarding-step-button{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr);gap:.45rem;padding:.43rem .3rem;border:0;color:inherit;background:transparent;font:inherit;text-align:left}.onboarding-step-button:disabled{opacity:1}.onboarding-steps li.is-active .onboarding-step-button{padding-left:.45rem;cursor:pointer}.onboarding-steps li.is-active .onboarding-step-button:hover{background:#38bdf814}.onboarding-steps li.is-active .onboarding-step-button:focus-visible{outline:2px solid #38bdf8;outline-offset:-2px}.onboarding-step-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.onboarding-steps li.is-done .onboarding-step-icon{color:#22c55e}.onboarding-step-copy{display:flex;min-width:0;flex-direction:column;gap:.2rem}.onboarding-step-copy strong{font-size:.82rem;line-height:1.35}.onboarding-step-copy>span{color:var(--text-muted);font-size:.75rem;line-height:1.45}.onboarding-steps li.is-done .onboarding-step-copy strong{color:var(--text-muted);text-decoration:line-through}.onboarding-action{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .7rem;border:1px solid #0ea5e9;border-radius:6px;color:#f8fafc;background:#0284c7;font-size:.8rem;font-weight:600;cursor:pointer}.onboarding-action:hover{background:#0369a1}.onboarding-complete-state{display:flex;flex-direction:column;align-items:center;padding-top:.25rem}.onboarding-complete-art{width:132px;max-width:52%;height:auto;display:block}.onboarding-complete-copy{margin:.15rem 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.45;text-align:center}.onboarding-target-pulse{animation:onboarding-target-pulse .8s ease-in-out 2}@keyframes onboarding-target-pulse{0%,to{box-shadow:0 0 #38bdf800}50%{box-shadow:0 0 0 5px #38bdf859}}@media (max-width: 768px){.onboarding-checklist{top:4.5rem;right:.75rem;width:min(310px,calc(100vw - 1.5rem));max-height:calc(100dvh - 5.25rem);overflow-y:auto}.onboarding-checklist.is-collapsed{width:270px}}.main-page-layout{display:flex;min-height:100dvh;background-color:var(--bg-color);color:var(--text-color)}.main-page-content{flex:1;box-sizing:border-box;padding:2rem 4rem;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100dvh}.main-hero-title{line-height:1.3;word-break:keep-all}.chat-hero-header{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;animation:fadeIn .8s ease-out;padding-bottom:2rem}.chat-history{width:100%;max-width:100%;display:flex;flex-direction:column;gap:2.5rem;padding-bottom:2rem;padding-top:1rem}.chat-message{display:flex;gap:1.25rem;align-items:flex-start;width:100%;animation:fadeIn .3s ease-out}.chat-message.user{align-self:flex-end;flex-direction:row-reverse;max-width:85%}.chat-message.user .chat-avatar{display:none}.chat-message.ai{align-self:flex-start;max-width:90%}.chat-avatar{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-avatar{border:1px solid rgba(245,158,11,.28);border-radius:7px;background:#f59e0b1a;color:#f59e0b}.chat-bubble{font-size:1.05rem;line-height:1.6;color:var(--text-color);width:100%;word-break:break-word}.chat-bubble p{margin-top:0;margin-bottom:.75rem}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble ul,.chat-bubble ol{margin-top:.5rem;margin-bottom:.75rem;padding-left:1.5rem}.chat-bubble li{margin-bottom:.25rem}.chat-bubble strong{font-weight:700;color:#e2e8f0}.chat-bubble a{color:#60a5fa;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.chat-bubble a:hover{color:#3b82f6}.chat-bubble pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.chat-bubble code{overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap}.chat-message.user .chat-bubble{background:var(--btn-active-bg);border:1px solid var(--border-color);padding:.7rem 1.1rem;border-radius:14px;display:inline-block;width:auto;font-size:.98rem}.chat-message.ai .chat-bubble{background:transparent!important;padding:.1rem 0}.chat-input-wrapper{width:100%;display:flex;justify-content:center;padding-bottom:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-hero-header h2{font-size:3rem;line-height:1.2;margin-bottom:1rem;background:linear-gradient(135deg,var(--text-color),var(--text-muted));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.chat-hero-header p{font-size:1.1rem;color:var(--text-muted);max-width:600px;margin-bottom:2.5rem}.auto-gen-container-minimal{width:100%;background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:1.25rem 1.5rem;box-shadow:0 8px 24px #0000000a;transition:all .3s ease}.auto-gen-container-minimal:focus-within{box-shadow:0 12px 32px #00000014;border-color:#a78bfa4d}.auto-gen-input-wrapper-minimal{display:flex;align-items:flex-end;gap:1rem}.auto-gen-input-minimal{flex:1;background:transparent;border:none;color:var(--text-color);font-size:1.2rem;line-height:1.5;outline:none;font-family:inherit;padding:0;margin:0}.auto-gen-input-minimal::placeholder{color:var(--text-muted)}.btn-generate-minimal{background:var(--text-color);color:var(--bg-color);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s}.btn-generate-minimal:hover:not(:disabled){opacity:.8;transform:translateY(-2px)}.btn-generate-minimal:disabled{opacity:.3;cursor:not-allowed;background:var(--text-muted)}.gen-hints-minimal{display:flex;gap:.75rem;flex-wrap:wrap}.hint-chip-minimal{font-size:.85rem;color:var(--text-muted);background:transparent;border:3px solid var(--border-color);padding:.3rem .5rem;border-radius:100px;cursor:pointer;transition:all .2s}.hint-chip-minimal:hover{background:var(--card-bg);color:var(--text-color);border-color:var(--text-color)}.clarify-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}.clarify-chip{font-size:.85rem;font-weight:500;color:var(--primary-color);background:transparent;border:1.5px solid var(--primary-color);padding:.45rem .9rem;border-radius:100px;cursor:pointer;transition:all .2s}.clarify-chip:hover:not(:disabled){background:var(--primary-color);color:#fff}.clarify-chip:disabled{opacity:.4;cursor:not-allowed}.qa-icon-minimal{display:flex;align-items:center;justify-content:center}.qa-title-minimal{font-weight:500;color:var(--text-color);font-size:.95rem}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:3rem;width:100%;max-width:1200px;margin:0 auto}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.section-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .2s ease-in-out;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026;border-color:var(--primary-color)}.project-card h4{margin:0 0 .5rem;color:var(--text-color);font-size:1.1rem}.project-card p{color:var(--text-muted);font-size:.9rem;margin:0 0 1.5rem;line-height:1.5;flex:1}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.8rem;color:var(--text-muted)}.status-badge{padding:.2rem .6rem;border-radius:4px;font-weight:600;font-size:.75rem}.status-badge.private{background:#64748b1a;color:var(--text-muted)}.card-actions{display:flex;gap:.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.card-actions button{flex:1;justify-content:center}@media (max-width: 768px){.main-page-content{padding:3rem 1rem 1rem}.main-hero-title{font-size:1.75rem!important}.workflows-grid{grid-template-columns:1fr}.page-header h1{font-size:1.5rem}.page-header{padding-left:3rem}.hints-container{display:none!important}}.home-workspace{height:100dvh;overflow:hidden}.main-page-content.home-chat-page{position:relative;align-items:stretch;justify-content:flex-start;min-width:0;height:100dvh;padding:0;overflow:hidden;background:var(--bg-color)}.home-chat-page button,.home-chat-page textarea{font-family:inherit}.home-chat-page button:focus-visible,.home-chat-page textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.home-chat-empty{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;overflow-y:auto;padding:3.5rem 2rem;box-sizing:border-box}.home-chat-empty-inner{width:min(100%,860px);margin:auto}.home-chat-hero{display:flex;align-items:flex-start;flex-direction:column;margin-bottom:1.65rem;text-align:left}.home-hero-eyebrow{display:flex;align-items:center;width:100%;margin-bottom:1.1rem;color:var(--text-muted);font-size:.56rem;font-weight:680;letter-spacing:.12em}.home-hero-eyebrow i{height:1px;flex:1;margin:0 .65rem;background:var(--border-color)}.home-hero-eyebrow em{font-style:normal;letter-spacing:.04em}.home-chat-hero .main-hero-title{margin:0;color:var(--text-color);font-size:clamp(2rem,5vw,3rem);font-weight:590;line-height:1.18;letter-spacing:-.055em}.home-chat-hero p{max-width:610px;margin:.7rem 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.65;word-break:keep-all}.home-chat-page .auto-gen-container-minimal{width:100%;margin:0;padding:.85rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg);box-shadow:0 14px 38px #0000001a;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.home-chat-page .auto-gen-container-minimal.hero{padding:1rem}.home-chat-page .auto-gen-container-minimal:focus-within{transform:translateY(-1px);border-color:#94a3b87a;box-shadow:0 18px 42px #00000024}.home-chat-page .auto-gen-input-wrapper-minimal{display:flex;align-items:flex-end;min-height:52px}.home-chat-page .auto-gen-input-minimal{display:block;width:100%;min-height:30px;max-height:180px;padding:.35rem .25rem;overflow-y:auto;resize:none;border:0;outline:0;background:transparent;color:var(--text-color);font-size:.9rem;line-height:1.6}.home-chat-page .auto-gen-container-minimal.hero .auto-gen-input-minimal{min-height:50px;font-size:.96rem}.home-chat-page .auto-gen-input-minimal::placeholder{color:var(--text-muted);opacity:.82}.home-composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding-top:.55rem;margin-top:.35rem;border-top:1px solid var(--border-color)}.home-file-input{display:none}.home-composer-tool,.home-complexity-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.34rem;min-height:32px;padding:0 .5rem;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.66rem}.home-composer-tool:hover,.home-complexity-trigger:hover{border-color:var(--border-color);background:#94a3b80f;color:var(--text-color)}.home-composer-actions{display:flex;align-items:center;gap:.4rem}.home-complexity{position:relative;display:flex;align-items:center}.home-complexity-menu{position:absolute;right:0;bottom:calc(100% + .55rem);z-index:20;width:270px;padding:.4rem;border:1px solid var(--border-color);border-radius:11px;background:var(--card-bg);box-shadow:0 18px 45px #00000040}.home-complexity-menu>button{display:grid;grid-template-columns:20px 1fr;gap:.35rem;width:100%;padding:.58rem .55rem;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.home-complexity-menu>button:hover{background:#94a3b80f}.home-complexity-menu>button.active{background:#3b82f617}.home-complexity-check{display:grid;place-items:center;width:18px;height:18px;color:#60a5fa}.home-complexity-menu button>span:last-child{display:flex;flex-direction:column;gap:.18rem}.home-complexity-menu strong{color:var(--text-color);font-size:.68rem}.home-complexity-menu small{color:var(--text-muted);font-size:.59rem;line-height:1.4}.home-chat-page .btn-generate-minimal{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:var(--primary-color);color:#fff;cursor:pointer;transition:transform .15s ease,background-color .15s ease,opacity .15s ease}.home-chat-page .btn-generate-minimal:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-hover);opacity:1}.home-chat-page .btn-generate-minimal:disabled{background:#94a3b821;color:var(--text-muted);opacity:.65;cursor:default}.home-attached-files{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:.6rem}.home-file-chip{display:inline-flex;align-items:center;gap:.3rem;max-width:230px;min-height:28px;padding:0 .42rem;border:1px solid rgba(59,130,246,.2);border-radius:7px;background:#3b82f612;color:#93c5fd;font-size:.61rem}.home-file-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-file-chip button{display:grid;place-items:center;padding:.1rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.home-file-chip button:hover{color:#f87171}.home-suggestions{flex:0 0 auto;width:min(100% - 4rem,720px);margin:0 auto;padding-bottom:4.5rem;opacity:.66;filter:saturate(.72);transition:opacity .22s ease,filter .22s ease}.home-suggestions:hover,.home-suggestions:focus-within{opacity:.96;filter:saturate(1)}.home-suggestions-head{display:flex;align-items:center;justify-content:space-between;padding:0 .1rem .32rem}.home-suggestions-head span{color:var(--text-muted);font-size:.6rem;font-weight:620}.home-suggestions-head small{color:var(--text-muted);font-size:.52rem}.home-idea-viewport{min-height:64px;overflow:hidden;border:1px solid var(--border-color);border-radius:9px;background:#94a3b805}.home-idea-card{display:grid;grid-template-columns:26px 30px minmax(0,1fr) auto;align-items:center;gap:.52rem;width:100%;min-height:64px;padding:.54rem .68rem;text-align:left;border:0;background:transparent;color:var(--text-muted);cursor:pointer;animation:home-idea-enter .38s cubic-bezier(.22,1,.36,1)}.home-idea-card:hover{background:#94a3b80b}.home-idea-index{color:var(--text-muted);font-family:var(--font-mono, monospace);font-size:.5rem}.home-idea-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border-color);border-radius:7px;color:var(--text-muted);transition:transform .18s ease,border-color .18s ease,color .18s ease}.home-idea-card:hover .home-idea-icon{transform:rotate(-4deg);border-color:#94a3b873;color:var(--text-color)}.home-idea-copy{display:flex;min-width:0;flex-direction:column;gap:.16rem}.home-idea-copy small{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-muted);font-size:.5rem}.home-idea-badge{flex:0 0 auto;padding:.06rem .3rem;border:1px solid var(--border-color);border-radius:999px;font-size:.46rem;font-style:normal}.home-idea-badge.is-popular{border-color:#60a5fa6b;color:#60a5fa}.home-idea-copy strong{overflow:hidden;color:var(--text-color);font-size:.65rem;font-weight:570;text-overflow:ellipsis;white-space:nowrap}.home-idea-use{display:inline-flex;align-items:center;gap:.28rem;color:var(--text-muted);font-size:.52rem;white-space:nowrap;transition:color .16s ease,transform .16s ease}.home-idea-card:hover .home-idea-use{transform:translate(2px);color:var(--text-color)}.home-idea-navigation{display:flex;align-items:center;justify-content:space-between;min-height:27px;padding:.25rem .08rem 0}.home-idea-progress{display:flex;align-items:center;gap:.25rem}.home-idea-progress button{position:relative;width:13px;height:2px;padding:0;overflow:hidden;border:0;border-radius:999px;background:#94a3b829;cursor:pointer;transition:width .18s ease,background-color .18s ease}.home-idea-progress button.active{width:27px;background:#94a3b833}.home-idea-progress button.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--primary-color);transform-origin:left;animation:home-idea-progress 4.8s linear forwards}.home-suggestions.is-paused .home-idea-progress button.active:after{animation-play-state:paused}.home-idea-controls{display:flex;gap:.25rem}.home-idea-controls button{display:grid;place-items:center;width:23px;height:23px;padding:0;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.home-idea-controls button:hover{background:#94a3b812;color:var(--text-color)}.home-chat-page .hints-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.home-chat-page .hints-container>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;min-width:0;padding:.65rem .7rem;text-align:left;border:1px solid var(--border-color);border-radius:10px;background:#94a3b806;color:var(--text-muted);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background-color .15s ease}.home-chat-page .hints-container>button:hover{transform:translateY(-1px);border-color:#94a3b857;background:#94a3b80f}.home-chat-page .hints-container>button>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-muted)}.home-chat-page .hints-container button>div{display:flex;min-width:0;flex-direction:column;gap:.17rem}.home-chat-page .hints-container small{color:var(--text-muted);font-size:.55rem}.home-chat-page .hints-container strong{overflow:hidden;color:var(--text-color);font-size:.66rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.home-conversation-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;min-height:62px;padding:0 1.35rem;border-bottom:1px solid var(--border-color);background:#94a3b804}.home-conversation-head>div{display:flex;align-items:center;gap:.55rem}.home-conversation-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:9px;background:var(--card-bg);color:var(--text-color);font-size:.62rem;font-weight:760;letter-spacing:-.04em}.home-conversation-head>div>div{display:flex;flex-direction:column;gap:.15rem}.home-conversation-head strong{color:var(--text-color);font-size:.72rem}.home-conversation-head small{color:var(--text-muted);font-size:.57rem}.home-conversation-head>button{display:inline-flex;align-items:center;gap:.3rem;min-height:34px;padding:0 .6rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;font-size:.63rem}.home-conversation-head>button:hover{border-color:#94a3b86b;color:var(--text-color)}.home-conversation-scroll{display:flex;flex:1;min-height:0;justify-content:center;overflow-y:auto;overscroll-behavior:contain}.home-conversation-inner{display:flex;width:min(100%,850px);flex-direction:column;padding:2rem 2rem 1.2rem;box-sizing:border-box}.home-chat-page .chat-history{gap:1.45rem;padding:0}.home-chat-page .chat-message{gap:.7rem;animation:home-chat-enter .22s ease-out}.home-chat-page .chat-message.ai{max-width:94%}.home-chat-page .chat-message.user{max-width:78%}.home-chat-page .chat-avatar{width:30px;height:30px;border-radius:9px}.home-chat-page .ai-avatar{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-muted);font-size:.58rem;font-weight:760}.home-chat-page .chat-bubble{width:auto;max-width:100%;color:var(--text-color);font-size:.81rem;line-height:1.72}.home-chat-page .chat-message.ai .chat-bubble{padding:.42rem .2rem;background:transparent!important}.home-chat-page .chat-message.user .chat-bubble{padding:.62rem .82rem;border:1px solid var(--border-color);border-radius:12px 4px 12px 12px;background:#94a3b812;font-size:.78rem}.home-chat-page .chat-bubble strong{color:var(--text-color)}.generated-result-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.generated-result-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.32rem;min-height:34px;padding:0 .65rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;font-size:.63rem;font-weight:650}.generated-result-actions button:hover{border-color:#3b82f661;color:var(--text-color)}.generated-result-actions button.workflow,.generated-result-actions button.app{border-color:#3b82f640;background:#3b82f61a;color:#60a5fa}.generated-result-actions button.run{border-color:#10b98140;background:#10b98114;color:#34d399}.home-composer-dock{display:flex;flex:0 0 auto;justify-content:center;padding:.7rem 1.2rem .8rem;border-top:1px solid var(--border-color);background:linear-gradient(180deg,rgba(15,23,42,0),var(--bg-color) 18%)}.home-composer-dock>div{width:min(100%,850px)}.home-composer-dock p{margin:.38rem 0 0;text-align:center;color:var(--text-muted);font-size:.55rem}.home-chat-page .ai-thinking-mark{display:none}.home-chat-page .ai-thinking-dots i{background:var(--text-muted)}@keyframes home-chat-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes home-idea-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes home-idea-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width: 768px){.main-page-content.home-chat-page{padding:0}.home-chat-empty{padding:4.5rem 1rem 2rem}.home-chat-hero .main-hero-title{font-size:2rem!important}.home-chat-hero p{font-size:.75rem}.home-suggestions{width:min(100% - 2rem,620px);padding-bottom:3.75rem;opacity:.72}.home-idea-card{grid-template-columns:28px minmax(0,1fr) auto;gap:.5rem}.home-idea-index{display:none}.home-idea-use{font-size:0}.home-idea-use svg{width:15px;height:15px}.home-conversation-head{padding:0 .8rem 0 4.1rem}.home-conversation-inner{padding:1.4rem 1rem 1rem}.home-chat-page .chat-message.user{max-width:88%}.home-chat-page .chat-message.ai{max-width:100%}.home-composer-dock{padding:.65rem .75rem}.home-composer-tool span{display:none}}@media (max-width: 480px){.home-chat-empty{align-items:flex-start}.home-chat-hero{margin-bottom:1.2rem}.home-chat-page .auto-gen-container-minimal{border-radius:13px}.home-chat-page .auto-gen-container-minimal.hero .auto-gen-input-minimal{min-height:64px}.home-idea-card{grid-template-columns:27px minmax(0,1fr) auto;padding:.5rem .58rem}.home-idea-icon{width:27px;height:27px}.home-idea-copy strong{font-size:.62rem}.home-idea-progress button{width:9px}.home-idea-progress button.active{width:21px}.home-complexity-menu{right:-2.5rem;width:min(270px,calc(100vw - 2rem))}.home-conversation-head>button{font-size:0}.home-conversation-head>button svg{width:15px;height:15px}.home-conversation-scroll .chat-avatar{display:none}.home-chat-page .chat-message.ai .chat-bubble{padding-left:0}}@media (prefers-reduced-motion: reduce){.home-chat-page .auto-gen-container-minimal,.home-chat-page .hints-container>button,.home-chat-page .btn-generate-minimal,.home-chat-page .chat-message,.home-idea-card,.home-idea-progress button.active:after{transition:none;animation:none}.home-chat-page .auto-gen-container-minimal:focus-within,.home-chat-page .hints-container>button:hover{transform:none}.home-suggestions{transition:none}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.editor-history-controls{display:inline-flex;gap:2px}.tool-shell .editor-icon-button:disabled{opacity:.35;cursor:default;background:transparent;border-color:transparent}@media (max-width: 720px){.editor-history-controls{display:none}}.sidebar-header{min-height:44px;padding:0 8px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--ts-border)}.sidebar-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--ts-text);font-size:.86rem;font-weight:600}.sidebar-count{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:9px;background:var(--ts-surface-3);color:var(--ts-text-muted);font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.sidebar-search{display:flex;align-items:center;gap:8px;height:var(--ts-field-h);margin:10px 12px 6px;padding:0 10px;box-sizing:border-box;border:1px solid var(--ts-border);border-radius:var(--ts-radius-control);background:var(--ts-surface-2);color:var(--ts-text-muted)}.sidebar-search:focus-within{border-color:var(--ts-accent)}.sidebar-search svg{position:static;flex:0 0 auto}.sidebar-search input{flex:1;min-width:0;padding:0;border:0;outline:none;background:transparent;color:var(--ts-text);font-size:.82rem}.sidebar-search input:focus-visible{box-shadow:none}.sidebar-search .sidebar-search-clear{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--ts-text-muted);cursor:pointer}.node-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:1px;padding:4px 8px 12px;overflow-y:auto}.sidebar-category-header{width:100%;display:flex;align-items:center;gap:6px;height:32px;margin-top:6px;padding:0 6px;border:0;border-radius:var(--ts-radius-control);background:transparent;color:var(--ts-text-muted);font-family:inherit;font-size:.74rem;font-weight:600;text-align:left;cursor:pointer}.sidebar-category-header:first-child{margin-top:0}.sidebar-category-header:hover{background:var(--ts-surface-3);color:var(--ts-text)}.sidebar-category-header svg{transition:transform var(--ts-motion) ease}.sidebar-category-header[aria-expanded=true] svg.chevron{transform:rotate(90deg)}.sidebar-category-header .sidebar-count{margin-left:auto}.dnd-node{display:flex;align-items:center;gap:10px;height:36px;padding:0 6px;box-sizing:border-box;border:1px solid transparent;border-radius:var(--ts-radius-control);color:var(--ts-text);font-size:.84rem;font-weight:500;cursor:grab;transition:background-color var(--ts-motion) ease,border-color var(--ts-motion) ease}.dnd-node:hover{background:var(--ts-surface-3);border-color:var(--ts-border)}.dnd-node:active{cursor:grabbing}.dnd-node-icon{width:26px;height:26px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--node-color, var(--ts-text-muted));background:color-mix(in srgb,var(--node-color, var(--ts-text-muted)) 14%,transparent)}.dnd-node-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dnd-node-category{flex:0 0 auto;color:var(--ts-text-muted);font-size:.7rem;font-weight:500}.node-list-empty{padding:12px 8px;color:var(--ts-text-muted);font-size:.8rem;font-style:italic}.editor-execution-panel{position:fixed;left:0;right:0;bottom:0;z-index:900;min-height:250px;max-height:90vh;display:flex;flex-direction:column;background:var(--ts-surface-1);border-top:1px solid var(--ts-border);box-shadow:0 -10px 30px #00000059}.editor-execution-resizer{position:absolute;top:-5px;left:0;right:0;z-index:901;height:10px;display:flex;align-items:center;justify-content:center;cursor:ns-resize}.editor-execution-resizer span{width:40px;height:4px;border-radius:2px;background:var(--ts-border)}.editor-execution-header{min-height:44px;padding:0 8px 0 4px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--ts-border)}.editor-execution-tabs{display:flex;min-width:0;overflow-x:auto;scrollbar-width:none}.editor-execution-tabs::-webkit-scrollbar{display:none}.editor-execution-tabs button{position:relative;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ts-text-muted);font-family:inherit;font-size:.84rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--ts-motion) ease,border-color var(--ts-motion) ease}.editor-execution-tabs button:hover{color:var(--ts-text)}.editor-execution-tabs button.active{color:var(--ts-text);border-bottom-color:var(--ts-accent);font-weight:600}.editor-execution-tabs button.active svg{color:var(--ts-accent)}.exec-tab-badge{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:9px;background:var(--ts-surface-3);color:var(--ts-text-muted);font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.exec-tab-badge.success{background:var(--ts-success-soft);color:var(--ts-success)}.exec-tab-badge.warning{background:var(--ts-warning-soft);color:var(--ts-warning)}.exec-tab-badge.danger{background:var(--ts-danger-soft);color:var(--ts-danger)}.editor-execution-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.editor-execution-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.exec-section{display:flex;flex-direction:column;gap:14px;padding:16px 24px}.exec-section.exec-fill{flex:1;min-height:0}.exec-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.exec-title{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.exec-title strong{color:var(--ts-text);font-size:.95rem}.exec-title code{color:var(--ts-text-muted);font-family:var(--font-mono);font-size:.74rem}.exec-node-tile{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--node-color, var(--ts-text-muted));background:color-mix(in srgb,var(--node-color, var(--ts-text-muted)) 16%,transparent);font-size:.72rem;font-weight:800}.exec-actions{display:flex;gap:8px;flex-wrap:wrap}.tool-shell .btn-secondary.exec-btn,.tool-shell .btn-run.exec-btn{height:30px;padding:0 10px;gap:6px;font-size:.78rem}.tool-shell .btn-secondary.danger{color:var(--ts-danger);border-color:color-mix(in srgb,var(--ts-danger) 55%,transparent)}.tool-shell .btn-secondary.danger:hover:not(:disabled){background:var(--ts-danger-soft);border-color:var(--ts-danger)}.exec-hint,.exec-empty{margin:0;color:var(--ts-text-muted);font-size:.82rem;line-height:1.5}.exec-empty{padding:4px 0}.exec-empty.center{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}.exec-subtitle{margin-top:4px;color:var(--ts-text-muted);font-size:.78rem;font-weight:600}.exec-field{display:flex;flex-direction:column;gap:4px}.exec-field>label,.exec-io-head>label{color:var(--ts-text-muted);font-size:.78rem;font-weight:600}.exec-field label small{margin-left:6px;color:var(--ts-text-muted);font-size:.72rem;font-weight:400}.exec-textarea{width:100%;min-height:64px;padding:8px 10px;box-sizing:border-box;border:1px solid var(--ts-border);border-radius:var(--ts-radius-control);background:var(--ts-surface-2);color:var(--ts-text);font-family:inherit;font-size:.8rem;line-height:1.5;resize:vertical}.exec-textarea:focus{border-color:var(--ts-accent)}.exec-io{margin-top:4px}.exec-io-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.exec-link{padding:0;border:0;background:none;color:var(--ts-accent);font-family:var(--font-mono);font-size:.72rem;cursor:pointer}.exec-link.muted{color:var(--ts-text-muted);font-family:inherit}.exec-link:hover{text-decoration:underline}.exec-pre{margin:4px 0 0;padding:10px 12px;max-height:180px;overflow-y:auto;border:1px solid var(--ts-border);border-radius:var(--ts-radius-panel);background:var(--ts-surface-2);color:var(--ts-text);font-family:var(--font-mono);font-size:.78rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.exec-pre.danger{border-color:color-mix(in srgb,var(--ts-danger) 55%,transparent);color:var(--ts-danger)}.exec-pre.grow{flex:1;max-height:none;margin:0;font-size:.86rem}.exec-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:.72rem;font-weight:600;white-space:nowrap}.exec-badge.success{background:var(--ts-success-soft);color:var(--ts-success)}.exec-badge.warning{background:var(--ts-warning-soft);color:var(--ts-warning)}.exec-badge.danger{background:var(--ts-danger-soft);color:var(--ts-danger)}.exec-badge.info{background:var(--ts-accent-soft);color:var(--ts-accent)}.exec-status{font-size:.86rem;font-weight:600}.exec-status.success{color:var(--ts-success)}.exec-status.danger{color:var(--ts-danger)}.exec-card{padding:10px 12px;border:1px solid var(--ts-border);border-radius:var(--ts-radius-panel);background:var(--ts-surface-2);color:var(--ts-text);font-size:.8rem;line-height:1.5;white-space:pre-wrap}.exec-card.clickable{cursor:pointer;transition:border-color var(--ts-motion) ease}.exec-card.clickable:hover{border-color:var(--ts-border-strong)}.exec-card.danger{border-color:color-mix(in srgb,var(--ts-danger) 45%,transparent)}.exec-card.info{border-color:color-mix(in srgb,var(--ts-accent) 40%,transparent);background:var(--ts-accent-soft)}.exec-card.ai{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-color:color-mix(in srgb,var(--ts-ai) 45%,transparent);background:var(--ts-ai-soft)}.exec-card.ai svg{color:var(--ts-ai)}.exec-card strong{display:block;margin-bottom:6px;color:var(--ts-text);font-size:.82rem}.exec-card.info strong{color:var(--ts-accent)}.exec-kv{display:flex;justify-content:space-between;gap:12px;color:var(--ts-text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.exec-step{display:flex;justify-content:space-between;align-items:center;gap:10px;white-space:normal}.exec-step .muted{color:var(--ts-text-muted)}.exec-result{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ts-border);border-radius:var(--ts-radius-panel);background:var(--ts-surface-2)}.exec-result .exec-pre{border:0;border-radius:0;background:transparent;overflow:auto}.exec-response{flex:1;padding:14px 16px;overflow:auto;color:var(--ts-text);font-size:.92rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.exec-file{padding:16px}.exec-file p{margin:0 0 10px;color:var(--ts-text)}.tool-shell .exec-download{display:inline-flex;width:fit-content;text-decoration:none}.exec-log{flex:1;padding:14px 16px;overflow-y:auto;background:var(--ts-log-bg);color:var(--ts-log-text);font-family:var(--font-mono);font-size:.82rem;line-height:1.55}.exec-log-line{margin-bottom:4px;word-break:break-all;white-space:pre-wrap}.exec-log-line.command{margin-top:8px;color:var(--ts-accent)}.exec-log-empty{color:var(--ts-log-muted)}.exec-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}.exec-center p{margin:0;color:var(--ts-text);font-size:.92rem}.exec-center small{color:var(--ts-text-muted);font-size:.8rem}.exec-spinner{width:44px;height:44px;border:4px solid var(--ts-surface-3);border-top-color:var(--ts-accent);border-radius:50%;animation:exec-spin 1s linear infinite}.exec-spinner.ai{border-top-color:var(--ts-ai)}.exec-spinner.success{border-top-color:var(--ts-success)}@keyframes exec-spin{to{transform:rotate(360deg)}}.exec-steps{display:flex;flex-direction:column;gap:12px;width:min(320px,100%);text-align:left}.exec-step-item{display:flex;align-items:center;gap:12px;opacity:.35;transition:opacity var(--ts-motion) ease}.exec-step-item.active{opacity:1}.exec-step-item.done{opacity:.6}.exec-step-item i{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:50%;background:var(--ts-surface-3);color:var(--ts-text-muted);font-size:.75rem;font-style:normal;font-weight:700}.exec-step-item.active i{border-color:var(--ts-success);background:transparent;color:var(--ts-success)}.exec-step-item.done i{background:var(--ts-success);color:var(--ts-on-accent)}.exec-step-item span{color:var(--ts-text);font-size:.88rem}.exec-step-item.active span{color:var(--ts-success);font-weight:600}.exec-blink{animation:exec-blink 1.5s infinite}@keyframes exec-blink{0%,to{opacity:0}50%{opacity:1}}.exec-score-card{display:flex;align-items:center;gap:24px;padding:20px 24px;border:1px solid var(--ts-border);border-radius:var(--ts-radius-modal);background:var(--ts-surface-2)}.exec-score-ring{width:96px;height:96px;flex:0 0 96px;display:inline-flex;align-items:center;justify-content:center;border:8px solid var(--ts-border);border-radius:50%;color:var(--ts-text);font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums}.exec-score-ring.success{border-color:var(--ts-success)}.exec-score-ring.warning{border-color:var(--ts-warning)}.exec-score-ring.danger{border-color:var(--ts-danger)}.exec-score-card h3{margin:0 0 6px;color:var(--ts-text);font-size:1.05rem}.exec-score-card p{margin:0;color:var(--ts-text-muted);line-height:1.55}.exec-score{font-weight:600;font-variant-numeric:tabular-nums}.exec-score.success{color:var(--ts-success)}.exec-score.warning{color:var(--ts-warning)}.exec-score.danger{color:var(--ts-danger)}.exec-attempts{color:var(--ts-text-muted);font-size:.85rem}.exec-h4{margin:0 0 12px;color:var(--ts-text);font-size:.95rem}.exec-h4.warning{color:var(--ts-warning)}.exec-testcases{display:flex;flex-direction:column;gap:12px}.exec-testcase{padding:16px;border:1px solid var(--ts-border);border-radius:var(--ts-radius-panel);background:var(--ts-surface-2)}.exec-testcase-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;color:var(--ts-text);font-weight:600}.exec-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}@media (max-width: 720px){.exec-grid-2{grid-template-columns:1fr}}.exec-block-label.exec-mt{margin-top:10px}.exec-block-label{margin-bottom:4px;color:var(--ts-text-muted);font-size:.78rem}.exec-block{padding:10px 12px;border:1px solid transparent;border-radius:var(--ts-radius-control);background:var(--ts-surface-1);color:var(--ts-text);font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.exec-block.danger{border-color:color-mix(in srgb,var(--ts-danger) 45%,transparent);background:var(--ts-danger-soft)}.exec-feedback{margin-top:12px;padding-top:12px;border-top:1px solid var(--ts-border)}.exec-suggestions{margin:0;padding-left:22px;color:var(--ts-text);line-height:1.6}.exec-suggestions li{margin-bottom:6px}.editor-result-pill{position:fixed;right:16px;bottom:182px;z-index:800;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 12px;border:1px solid var(--ts-border);border-radius:18px;background:color-mix(in srgb,var(--ts-surface-1) 94%,transparent);color:var(--ts-text);font-family:inherit;font-size:.84rem;font-weight:500;box-shadow:0 8px 24px #0206174d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:border-color var(--ts-motion) ease,background-color var(--ts-motion) ease}.editor-result-pill:hover{border-color:var(--ts-accent)}.editor-result-pill svg{color:var(--ts-accent)}.editor-result-pill .sidebar-count{background:var(--ts-accent-soft);color:var(--ts-accent)}@media (max-width: 768px){.editor-result-pill{right:auto;left:50%;bottom:88px;transform:translate(-50%)}}.editor-approval-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px;background:#02061799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-approval-dialog{width:min(640px,100%);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ts-border);border-radius:var(--ts-radius-modal);background:var(--ts-surface-1);color:var(--ts-text);box-shadow:0 24px 70px #00000073}.editor-approval-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 10px 0 18px;border-bottom:1px solid var(--ts-border)}.editor-approval-dialog>header strong{display:inline-flex;align-items:center;gap:8px;font-size:.95rem}.editor-approval-dialog>header strong svg{color:var(--ts-warning)}.editor-approval-body{padding:14px 18px;overflow-y:auto}.editor-approval-message{margin-bottom:12px;font-size:.9rem;line-height:1.55;white-space:pre-wrap}.editor-approval-dialog .exec-pre{max-height:38vh}.editor-approval-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--ts-border)}.tool-shell .onboarding-checklist.is-collapsed{width:232px}.exec-error-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.exec-error-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ts-danger) 45%,transparent);border-radius:var(--ts-radius-panel);background:var(--ts-surface-2);color:var(--ts-text);font-size:.8rem;line-height:1.5}.exec-error-card.compact{padding:8px 10px}.exec-error-head{display:flex;gap:10px;align-items:flex-start}.exec-error-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:var(--ts-danger-soft);color:var(--ts-danger)}.exec-error-icon.cat-credential{background:var(--ts-warning-soft);color:var(--ts-warning)}.exec-error-icon.cat-validation{background:var(--ts-accent-soft);color:var(--ts-accent)}.exec-error-icon.cat-timeout{background:var(--ts-warning-soft);color:var(--ts-warning)}.exec-error-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.exec-error-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600}.exec-error-category{color:var(--ts-danger)}.exec-error-message{white-space:pre-wrap;word-break:break-word}.exec-error-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.72rem;color:var(--ts-text-muted)}.exec-error-code{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.7rem;padding:1px 6px;border-radius:6px;background:var(--ts-surface-3, var(--ts-surface));border:1px solid var(--ts-border)}.exec-error-effect.unknown,.exec-error-effect.applied{color:var(--ts-warning);font-weight:600}.exec-error-hint{font-size:.74rem;color:var(--ts-text-muted)}.exec-error-details{display:flex;flex-wrap:wrap;gap:.15rem .75rem;margin:.3rem 0 0}.exec-error-details>div{display:flex;align-items:baseline;gap:.3rem;min-width:0}.exec-error-details dt{color:var(--ts-text-muted);font-size:.72rem}.exec-error-details dd{margin:0;max-width:22rem;overflow:hidden;color:var(--ts-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.exec-error-actions{display:flex;gap:6px;flex-wrap:wrap}.exec-error-actions .exec-btn[disabled]{opacity:.5;cursor:not-allowed}.exec-tabs{display:inline-flex;gap:2px}.exec-tab{padding:3px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ts-text-muted);font-size:.76rem;font-weight:600;cursor:pointer}.exec-tab:hover{color:var(--ts-text)}.exec-tab.active{background:var(--ts-surface-2);border-color:var(--ts-border);color:var(--ts-text)}.exec-search{display:flex;align-items:center;gap:6px;margin:6px 0;padding:4px 8px;border:1px solid var(--ts-border);border-radius:8px;color:var(--ts-text-muted)}.exec-search input{flex:1;border:0;background:transparent;color:var(--ts-text);font-size:.8rem;outline:none}.exec-search-count{font-size:.72rem}.exec-actions.wrap{flex-wrap:wrap}.memo-node .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.memo-format-toolbar{display:flex;align-items:center;gap:4px;min-height:28px;margin-bottom:7px;padding:3px 4px;border:1px solid color-mix(in srgb,var(--text-color) 12%,transparent);border-radius:7px;background:color-mix(in srgb,var(--card-bg) 55%,transparent)}.memo-format-toolbar button,.memo-font-size-control select{height:22px;border:0;border-radius:5px;background:transparent;color:var(--text-color);font:inherit;font-size:11px}.memo-format-toolbar button{min-width:24px;padding:0 5px;cursor:pointer}.memo-format-toolbar button:hover,.memo-format-toolbar button:focus-visible,.memo-font-size-control select:focus-visible{background:color-mix(in srgb,var(--text-color) 11%,transparent);outline:none}.memo-font-size-control select{width:54px;cursor:pointer}.memo-format-divider{width:1px;height:16px;background:color-mix(in srgb,var(--text-color) 18%,transparent)}.memo-highlight-glyph{padding:0 2px;color:#111827;background:#fde047;border-radius:2px;font-weight:700}.memo-rich-editor{width:100%;box-sizing:border-box;border:0;outline:none;cursor:text;user-select:text;-webkit-user-select:text}.memo-rich-editor:empty:before{content:attr(data-placeholder);color:color-mix(in srgb,var(--text-color) 48%,transparent);pointer-events:none}.memo-rich-editor mark{padding:0 2px;border-radius:3px;background:#fde047;color:#111827}.editor-selection-toolbar .editor-selection-attach{color:var(--primary-color)}.editor-selection-toolbar .editor-selection-attach:hover{background:color-mix(in srgb,var(--primary-color) 18%,transparent)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d;font-family:var(--font-sans)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.25rem;display:flex;align-items:center;gap:.5rem;color:var(--text-color)}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.template-section h3{margin-top:0;margin-bottom:.75rem;font-size:1.1rem;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding-bottom:.25rem}.save-flow-row{display:flex;gap:.5rem}.save-flow-row input{flex:1;background:var(--btn-active-bg);border:1px solid var(--border-color);color:var(--text-color);padding:.5rem .75rem;border-radius:.5rem;outline:none;font-family:inherit}.save-flow-row input:focus{border-color:#3b82f6}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.template-card{background:var(--btn-active-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem;transition:all .2s ease}.template-card:hover{background:var(--card-bg);border-color:var(--primary-color);transform:translateY(-2px)}.template-card h4{margin:0;font-size:1.05rem;color:var(--text-color)}.template-card p{margin:0;font-size:.85rem;color:var(--text-muted);flex:1}.btn-primary{display:flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:inherit}.btn-primary:hover{background-color:#2563eb}.btn-load{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem;background-color:#10b981;color:#fff;border:none;border-radius:.4rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background-color .2s}.btn-load:hover{background-color:#059669}.btn-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:color .2s,background-color .2s}.btn-icon:hover{color:var(--text-color);background-color:var(--btn-active-bg)}.btn-icon.delete:hover{color:#ef4444;background-color:#ef44441a}.empty-text{color:#64748b;font-style:italic;font-size:.9rem;margin:0}.info-popup-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2000;border-radius:12px}.info-popup-content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;width:80%;max-width:400px;box-shadow:0 10px 15px -3px #00000080;display:flex;flex-direction:column}.info-popup-header{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.info-popup-header h3{margin:0;font-size:1.1rem;color:var(--text-color)}.info-popup-body{padding:1rem;color:var(--text-color);font-size:.95rem}.info-popup-url{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-color)}.info-popup-url a{color:#3b82f6;text-decoration:none}.info-popup-url a:hover{text-decoration:underline}.template-tabs{display:flex;gap:1rem;width:100%;border-bottom:1px solid var(--border-color)}.template-tab{background:transparent;border:none;color:var(--text-muted);font-size:1rem;padding:.75rem 1rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;font-family:inherit;font-weight:500}.template-tab:hover{color:var(--text-color)}.template-tab.active{color:#8b5cf6;border-bottom:2px solid #8b5cf6;font-weight:600}.save-template-bar{display:flex;gap:.75rem;background:var(--bg-color);padding:1rem;border-radius:8px;border:1px solid var(--border-color);margin-bottom:.5rem}.save-template-bar input{flex:1;background:var(--btn-active-bg);border:1px solid var(--border-color);color:var(--text-color);padding:.6rem 1rem;border-radius:6px;outline:none;font-family:inherit;font-size:.95rem;transition:border-color .2s}.save-template-bar input:focus{border-color:#8b5cf6}.template-scroll-area{flex:1;overflow-y:auto;display:flex;flex-direction:column}.template-card{background:var(--btn-active-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s;position:relative;overflow:hidden}.template-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#3b82f6;opacity:0;transition:opacity .2s}.template-card.user-template:before{background:#10b981}.template-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0003;border-color:#8b5cf680}.template-card:hover:before{opacity:1}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start}.template-card-header h4{margin:0;font-size:1.1rem;color:var(--text-color);font-weight:600;display:flex;align-items:flex-start;gap:.5rem}.template-title-icon{flex-shrink:0;margin-top:2px}.info-popup-header h3{display:flex;align-items:center;gap:.5rem}.info-popup-header h3 .template-title-icon{margin-top:0}.template-desc{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.5;flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-muted);background:var(--btn-active-bg);border-radius:12px;border:1px dashed var(--border-color)}.empty-state p{margin:1rem 0 .5rem;font-size:1.1rem;font-weight:500;color:var(--text-color)}.fcv{outline:none;display:flex;flex-direction:column;gap:.55rem}.fcv-toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.fcv-toolbar button,.fcv-add-select{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;padding:4px 9px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);cursor:pointer}.fcv-toolbar button:hover{border-color:var(--primary-color, #4f7cff)}.fcv-hint{font-size:.68rem;color:var(--text-muted);margin-left:auto}.fcv-stage{overflow:auto;display:flex;justify-content:center;padding:10px 0}.fcv-artboard{position:relative;flex:none;box-shadow:0 2px 14px #00000040;border-radius:4px;overflow:hidden;cursor:default}.fcv-el{position:absolute;box-sizing:border-box;cursor:move;-webkit-user-select:none;user-select:none;white-space:pre-wrap;word-break:keep-all;overflow:hidden;touch-action:none}.fcv-el.selected{outline:1.5px solid #4f7cff;outline-offset:0}.fcv-el:hover:not(.selected){outline:1px dashed rgba(79,124,255,.6)}.fcv-image-slot{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;border:1.5px dashed rgba(127,127,127,.6);border-radius:inherit;color:#7f7f7ff2;font-size:12px;background:#7f7f7f14}.fcv-resize{position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;background:#4f7cff;border:1.5px solid #fff;border-radius:3px;cursor:nwse-resize}.fcv-props{border:1px solid var(--border-color);border-radius:10px;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.45rem}.fcv-props-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.fcv-props-row label{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:var(--text-muted)}.fcv-props-row input[type=number]{width:58px;padding:3px 6px;font-size:.74rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-color)}.fcv-props-row select{padding:3px 6px;font-size:.74rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-color)}.fcv-props-row button{display:inline-flex;align-items:center;padding:4px 7px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);cursor:pointer}.fcv-props-row button.active{border-color:#4f7cff;color:#4f7cff}.fcv-props-row button.danger:hover{border-color:#ef4444;color:#ef4444}.fcv-props-actions{display:flex;gap:.3rem;margin-left:auto}.fcv-props textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);font-size:.8rem;padding:6px 8px}.fcv-empty-hint{margin:0;font-size:.72rem;color:var(--text-muted)}.fstudio-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:22px;background:#020617a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.fstudio{display:flex;flex-direction:column;width:min(1280px,100%);height:min(860px,100%);overflow:hidden;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-color);color:var(--text-color);box-shadow:0 30px 80px #00000073}.fstudio-head{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.fstudio-title{display:flex;align-items:center;gap:8px;flex:0 0 auto;font-weight:700}.fstudio-ai{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:0 10px;border:1px solid rgba(167,139,250,.45);border-radius:9px;background:#a78bfa14}.fstudio-ai select{border:0;background:transparent;color:#a78bfa;font:inherit;font-size:.85rem}.fstudio-ai input{flex:1;min-width:0;height:36px;border:0;outline:0;background:transparent;color:var(--text-color);font:inherit}.fstudio-ai>button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:28px;padding:0 12px;border:0;border-radius:6px;background:#7c3aed;color:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.fstudio-spin{animation:fstudio-rotate .9s linear infinite}@keyframes fstudio-rotate{to{transform:rotate(360deg)}}.fstudio-close{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.fstudio-body{flex:1;min-height:0;display:grid;grid-template-columns:205px minmax(0,1fr) 360px}.fstudio-side{display:flex;flex-direction:column;gap:4px;padding:12px 10px;overflow-y:auto;border-right:1px solid var(--border-color);background:var(--card-bg)}.fstudio-side-label{margin:8px 4px 4px;color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.05em}.fstudio-side>button{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-color);font:inherit;font-size:.86rem;text-align:left;cursor:pointer}.fstudio-side>button:hover{background:var(--btn-active-bg)}.fstudio-side>button em{color:var(--text-muted);font-size:.7rem;font-style:normal}.fstudio-block-palette{display:flex;flex-wrap:wrap;gap:5px;padding:0 4px}.fstudio-block-palette button{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid var(--border-color);border-radius:7px;background:transparent;color:var(--text-color);font:inherit;font-size:.78rem;cursor:pointer}.fstudio-block-palette button:hover{border-color:#0d948899;color:#2dd4bf}.fstudio-editor{min-width:0;padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.fstudio-name-row{display:flex;align-items:center;gap:10px}.fstudio-name-row input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-color);font:inherit;font-size:1.02rem;font-weight:700}.fstudio-layout-badge{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:700}.fstudio-layout-badge.document{background:#0d948824;color:#2dd4bf}.fstudio-layout-badge.design{background:#f59e0b24;color:#fbbf24}.fstudio-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fstudio-section-head strong{font-size:.86rem}.fstudio-section-head>button{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-color);font:inherit;font-size:.76rem;cursor:pointer}.fstudio-hint{margin:2px 0 0;color:var(--text-muted);font-size:.8rem}.fstudio-fields,.fstudio-blocks,.fstudio-design{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg)}.fstudio-field-row{display:grid;grid-template-columns:110px 110px 104px 52px minmax(0,1fr) 28px;gap:6px;align-items:center}.fstudio-field-row input,.fstudio-field-row select,.fstudio-block-body input,.fstudio-block-body select,.fstudio-block textarea,.fstudio-design textarea,.fstudio-theme-grid input[type=text],.fstudio-theme-grid input[type=number]{padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.82rem;min-width:0}.fstudio .mono{font-family:var(--font-mono);font-size:.78rem}.fstudio-req{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:.74rem}.fstudio-icon-btn{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.fstudio-icon-btn:hover{background:var(--btn-active-bg);color:var(--text-color)}.fstudio-block{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color)}.fstudio-block-head{display:flex;align-items:center;justify-content:space-between;padding:5px 6px 5px 10px;color:var(--text-muted);font-size:.75rem;font-weight:700}.fstudio-block-body{display:flex;flex-wrap:wrap;gap:6px;padding:0 8px 8px}.fstudio-block-body input{flex:1}.fstudio-block>textarea{width:calc(100% - 16px);margin:0 8px 8px;box-sizing:border-box;resize:vertical}.fstudio-table-edit{flex-direction:column;align-items:stretch}.fstudio-grid{display:flex;flex-direction:column;gap:4px}.fstudio-grid-row{display:flex;gap:4px}.fstudio-grid-row input{flex:1;min-width:0}.fstudio-grid-row input.head{font-weight:700;background:var(--btn-active-bg)}.fstudio-add-row{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px dashed var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:.74rem;cursor:pointer}.fstudio-upload{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid rgba(13,148,136,.5);border-radius:6px;background:#0d948814;color:#2dd4bf;font:inherit;font-size:.8rem;cursor:pointer}.fstudio-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fstudio-theme-grid label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:.76rem}.fstudio-theme-grid input[type=color]{width:100%;height:34px;padding:2px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);cursor:pointer}.fstudio-size{display:flex;align-items:center;gap:5px;color:var(--text-muted)}.fstudio-size input{width:70px}.fstudio-code-toggle{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.76rem}.fstudio-code-label{color:var(--text-muted);font-size:.74rem}.fstudio-preview{padding:12px;overflow-y:auto;border-left:1px solid var(--border-color);background:var(--card-bg)}.fstudio-preview .fstudio-side-label{display:block}.fstudio-preview .fstudio-side-label em{font-weight:400;font-style:normal;letter-spacing:0}.fstudio-doc-preview{padding:22px 20px;border:1px solid var(--border-color);border-radius:8px;background:#fff;color:#111827;font-size:.82rem;line-height:1.65}.fstudio-doc-preview h1{margin:0 0 10px;font-size:1.25rem}.fstudio-doc-preview h2{margin:14px 0 6px;font-size:1.02rem}.fstudio-doc-preview h3{margin:10px 0 5px;font-size:.92rem}.fstudio-doc-preview p{margin:0 0 8px;white-space:pre-wrap}.fstudio-doc-preview table{width:100%;margin:6px 0 12px;border-collapse:collapse}.fstudio-doc-preview th,.fstudio-doc-preview td{border:1px solid #9ca3af;padding:4px 7px;font-size:.76rem;text-align:left}.fstudio-doc-preview th{background:#f3f4f6}.fstudio-image-slot{display:flex;align-items:center;gap:7px;margin:6px 0 10px;padding:12px;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:.76rem}.fstudio-image-slot img{max-height:90px;border-radius:6px}.fstudio-pagebreak{margin:10px 0;color:#94a3b8;font-size:.72rem;text-align:center}.fstudio-design-preview{overflow:hidden;border-radius:8px}.fstudio-design-preview iframe{border:1px solid var(--border-color);border-radius:8px;transform-origin:top left;background:#fff;pointer-events:none}.fstudio-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-top:1px solid var(--border-color);background:var(--card-bg)}.fstudio-notice{min-width:0;font-size:.84rem}.fstudio-notice.error{color:#f87171}.fstudio-notice.success{color:#4ade80}.fstudio-actions{display:flex;gap:8px;margin-left:auto}.fstudio-actions button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:8px;font:inherit;font-size:.88rem;font-weight:650;cursor:pointer}.fstudio-save{border:1px solid var(--border-color);background:transparent;color:var(--text-color)}.fstudio-save:hover{background:var(--btn-active-bg)}.fstudio-apply{border:0;background:#0d9488;color:#fff}.fstudio-actions button:disabled{opacity:.6;cursor:default}@media (max-width: 1080px){.fstudio-body{grid-template-columns:180px minmax(0,1fr)}.fstudio-preview{display:none}}.fstudio-pagemode{width:100vw;height:100vh;border:0;border-radius:0}.fstudio-pagemode .fstudio-body{grid-template-columns:230px minmax(0,1fr) 360px}.fstudio-pagemode .fstudio-preview{overflow-y:auto;border-left:1px solid var(--border-color)}.fstudio-inspector{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.fstudio-inspector-box{padding:10px}.fstudio-pagemode .fstudio-editor{background:radial-gradient(color-mix(in srgb,var(--text-muted) 22%,transparent) 1px,transparent 1px) 0 0 / 22px 22px,color-mix(in srgb,var(--border-color) 16%,var(--bg-color))}.fstudio-pagemode .fstudio-editor>.fstudio-design{flex:1;padding:0;border:0;background:transparent}.fstudio-pagemode .fcv-toolbar{padding:8px 10px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg)}.fstudio-pagemode .fcv-stage{flex:1}.fstudio-open-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-color);font:inherit;font-size:.84rem;cursor:pointer}.fstudio-open-btn:hover{border-color:var(--primary-color, #4f7cff);color:var(--primary-color, #4f7cff)}.fstudio-head-name{color:var(--text-muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fstudio-head-spacer{flex:1}.fstudio-toolbar-slot{display:flex;flex-direction:column;gap:5px}.fstudio-toolbar-slot .fcv-toolbar{flex-direction:column;align-items:stretch;border:0;padding:0;background:transparent}.fstudio-toolbar-slot .fcv-hint{display:none}.fstudio-tree{display:flex;flex-direction:column;gap:3px}.fstudio-tree-item{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-color);font:inherit;font-size:.8rem;cursor:pointer;text-align:left}.fstudio-tree-item:hover{background:var(--btn-active-bg)}.fstudio-tree-item.active{border-color:#4f7cff;color:#4f7cff}.fstudio-tree-item em{flex:0 0 18px;text-align:center;font-style:normal;color:var(--text-muted);font-size:.72rem}.fstudio-tree-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fstudio-sect{border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);padding:0 10px 10px;margin-bottom:8px}.fstudio-sect>summary{cursor:pointer;list-style:none;padding:9px 0 8px;font-size:.8rem;font-weight:800;color:var(--text-muted);letter-spacing:.04em;-webkit-user-select:none;user-select:none}.fstudio-sect>summary:before{content:"▸ "}.fstudio-sect[open]>summary:before{content:"▾ "}.fstudio-sect>summary em{font-style:normal;font-weight:500;font-size:.7rem}.fstudio-sect .fstudio-fields,.fstudio-sect .fstudio-design{border:0;padding:0;background:transparent}.fstudio-sect .fstudio-ai{margin-bottom:6px}.fstudio-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:24px;background:#02061799}.fstudio-picker{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(640px,100%);border:1px solid var(--border-color);border-radius:14px;background:var(--bg-color);overflow:hidden}.fstudio-picker-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.fstudio-picker-head strong{display:inline-flex;align-items:center;gap:7px}.fstudio-picker-body{padding:10px 14px 16px;overflow-y:auto}.fstudio-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.fstudio-picker-grid button{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 11px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-color);font:inherit;font-size:.82rem;cursor:pointer;text-align:left}.fstudio-picker-grid button:hover{border-color:var(--primary-color, #4f7cff)}.fstudio-picker-grid button em{color:var(--text-muted);font-size:.7rem;font-style:normal;flex:0 0 auto}.fstudio-pagemode .fstudio-preview .fstudio-field-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:7px;border:1px solid var(--border-color);border-radius:8px}.fstudio-pagemode .fstudio-preview .fstudio-field-row>input{flex:1 1 42%}.fstudio-pagemode .fstudio-preview .fstudio-field-row>select{flex:1 1 38%}.work-assistant-drawer{width:0;min-width:0;height:100%;flex:0 0 0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;border-left:0 solid var(--border-color);background:var(--card-bg);color:var(--text-color);transition:width .25s ease,flex-basis .25s ease,border-width .25s ease}.work-assistant-drawer.open{width:390px;flex-basis:390px;border-left-width:1px}.work-assistant-header{min-height:68px;padding:0 14px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.work-assistant-identity{min-width:0;display:flex;align-items:center;gap:10px}.work-assistant-logo{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(56,189,248,.36);border-radius:7px;background:#0ea5e91f;color:#38bdf8}.work-assistant-title-group{min-width:0;display:flex;flex-direction:column;gap:2px}.work-assistant-title-group strong{overflow:hidden;color:var(--text-color);font-size:.9rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.work-assistant-title-group>span{overflow:hidden;color:var(--text-muted);font-size:.72rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.work-assistant-header-actions{display:flex;align-items:center;gap:6px}.work-assistant-icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer}.work-assistant-icon-button:hover{background:var(--btn-active-bg);color:var(--text-color)}.work-assistant-context-bar{min-height:34px;padding:0 16px;display:flex;align-items:center;gap:7px;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--bg-color);color:var(--text-muted);font-size:.7rem}.work-assistant-status{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.work-assistant-status.is-working{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f;animation:work-assistant-status-pulse 1.2s ease-in-out infinite}@keyframes work-assistant-status-pulse{50%{opacity:.45}}.work-assistant-context-label{min-width:0;margin-left:auto;overflow:hidden;color:#94a3b8;text-overflow:ellipsis;white-space:nowrap}.work-assistant-controls{padding:12px 16px;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-color) 75%,var(--card-bg))}.assistant-control-row,.assistant-control-heading{display:flex;align-items:center;gap:8px}.assistant-control-row{justify-content:space-between}.assistant-control-heading{margin-bottom:8px;color:var(--text-muted);font-size:.75rem;font-weight:600}.assistant-control-label{flex:0 0 auto;color:var(--text-muted);font-size:.75rem;font-weight:600}.assistant-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(64px,1fr);padding:3px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color)}.assistant-segmented button{min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.7rem;cursor:pointer}.assistant-segmented button:hover{color:var(--text-color)}.assistant-segmented button.active{background:#0369a1;color:#fff}.assistant-control-select{width:100%;height:34px;margin-top:8px;padding:0 9px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:6px;outline:none;background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.75rem}.assistant-control-select:focus{border-color:#0ea5e9}.assistant-token-breakdown{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--text-muted);font-size:.68rem;font-variant-numeric:tabular-nums}.assistant-token-total{min-height:28px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;box-sizing:border-box;border:1px solid rgba(245,158,11,.35);border-radius:5px;background:#f59e0b14;color:#fbbf24;font-size:.7rem;font-variant-numeric:tabular-nums}.work-assistant-messages{flex:1;min-height:0;padding:16px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;background:var(--card-bg)}.work-assistant-message{max-width:91%;display:flex;align-items:flex-start;gap:8px}.work-assistant-message.assistant{align-self:flex-start}.work-assistant-message.user{align-self:flex-end}.work-assistant-avatar{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(56,189,248,.3);border-radius:6px;background:#0ea5e91a;color:#38bdf8}.work-assistant-bubble{min-width:0;padding:9px 11px;border:1px solid var(--border-color);border-radius:7px;background:var(--btn-active-bg);color:var(--text-color);font-size:.82rem;line-height:1.55;overflow-wrap:anywhere}.work-assistant-message.user .work-assistant-bubble{border-color:#0ea5e961;background:#075985;color:#fff}.work-assistant-bubble p,.work-assistant-bubble ul,.work-assistant-bubble ol{margin-top:0;margin-bottom:.55rem}.work-assistant-bubble>:last-child{margin-bottom:0}.work-assistant-bubble ul,.work-assistant-bubble ol{padding-left:1.2rem}.work-assistant-bubble pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}.work-assistant-suggestions{padding-left:32px;display:flex;flex-wrap:wrap;gap:6px}.work-assistant-suggestions button{min-height:30px;padding:0 9px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.7rem;cursor:pointer}.work-assistant-suggestions button:hover{border-color:#0ea5e9;color:var(--text-color);background:#0ea5e912}.work-assistant-composer{padding:12px 14px 14px;border-top:1px solid var(--border-color);background:var(--bg-color)}.work-assistant-input-shell{min-height:46px;display:flex;align-items:flex-end;gap:8px;padding:5px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:7px;background:var(--card-bg)}.work-assistant-input-shell:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e91a}.work-assistant-input-shell textarea{flex:1;min-width:0;min-height:34px;max-height:144px;padding:7px 6px;box-sizing:border-box;resize:none;overflow-y:auto;border:0;outline:0;background:transparent;color:var(--text-color);font-family:inherit;font-size:.82rem;line-height:1.45}.work-assistant-input-shell textarea::placeholder{color:var(--text-muted)}.work-assistant-send{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:#0284c7;color:#fff;cursor:pointer}.work-assistant-send:hover:not(:disabled){background:#0369a1}.work-assistant-send:disabled{background:var(--btn-active-bg);color:var(--text-muted);cursor:not-allowed}.work-assistant-send.is-cancel{background:#b91c1c}.assistant-toggle-button{min-height:36px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(56,189,248,.42);border-radius:6px;background:#0ea5e914;color:#7dd3fc;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.assistant-toggle-button:hover,.assistant-toggle-button.active{border-color:#0ea5e9;background:#0ea5e929;color:#e0f2fe}@media (max-width: 900px){.work-assistant-drawer{position:absolute;top:0;right:0;bottom:0;z-index:1200;height:100%;box-shadow:-16px 0 36px #00000059}.work-assistant-drawer.open{width:min(390px,100%);flex-basis:min(390px,100%)}}@media (max-width: 520px){.work-assistant-drawer.open{width:100%;flex-basis:100%;border-left-width:0}.work-assistant-header{min-height:62px;padding-left:12px}.work-assistant-controls,.work-assistant-messages{padding-left:12px;padding-right:12px}.work-assistant-title-group>span{max-width:190px}.assistant-segmented{grid-auto-columns:minmax(58px,1fr)}}.assistant-pointing{display:flex;flex-direction:column;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border-color)}.assistant-pointing-chips{display:flex;flex-wrap:wrap;gap:5px}.assistant-chip{display:inline-flex;align-items:center;gap:5px;max-width:190px;padding:3px 8px;border-radius:999px;border:1px solid var(--primary-color);background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--text-color);font-size:.74rem;cursor:pointer}.assistant-chip>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-chip:hover{background:color-mix(in srgb,var(--primary-color) 24%,transparent)}.assistant-chip:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.assistant-chip.is-missing{border-color:#d97706;background:color-mix(in srgb,#d97706 14%,transparent);color:#d97706;text-decoration:line-through}.assistant-pointing-warn{margin:0;font-size:.72rem;line-height:1.45;color:#d97706}.work-assistant-input-shell:has(.work-assistant-mentions){display:block;padding:6px 5px 5px}.work-assistant-input-shell:has(.work-assistant-mentions) textarea{display:block;width:100%;box-sizing:border-box}.work-assistant-input-shell:has(.work-assistant-mentions) .work-assistant-send{display:block;margin-left:auto}.work-assistant-mentions{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px;padding:0 3px}.work-assistant-mention{display:inline-flex;align-items:center;gap:3px;max-width:180px;padding:2px 6px 2px 4px;border-radius:5px;border:1px solid color-mix(in srgb,var(--primary-color) 45%,transparent);background:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--text-color);font-size:.73rem;line-height:1.5;cursor:pointer}.work-assistant-mention-at{color:var(--primary-color);font-weight:700}.work-assistant-mention-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-assistant-mention:hover{background:color-mix(in srgb,var(--primary-color) 26%,transparent)}.work-assistant-mention:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.work-assistant-mention.is-missing{border-color:color-mix(in srgb,#d97706 55%,transparent);background:color-mix(in srgb,#d97706 15%,transparent);color:#d97706;text-decoration:line-through}.mock-panel{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;font-size:.85rem}.mock-panel-empty{color:var(--text-muted);display:flex;align-items:center;gap:.75rem}.mock-controls{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.mock-field{display:flex;flex-direction:column;gap:.3rem}.mock-field label{font-size:.72rem;color:var(--text-muted)}.mock-field select,.mock-field textarea{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;padding:.45rem .6rem;font-size:.82rem}.mock-payload{width:100%}.mock-payload textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.mock-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--btn-active-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .9rem;cursor:pointer;font-size:.82rem}.mock-btn-run{background:#0ea5e9;border-color:#0ea5e9;color:#fff;font-weight:600}.mock-btn-run:disabled{opacity:.6;cursor:default}.mock-hint{color:var(--text-muted);font-size:.75rem}.mock-samples{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;color:var(--text-muted);font-size:.75rem}.mock-chip{background:transparent;border:1px dashed var(--border-color);border-radius:999px;padding:.25rem .7rem;color:var(--text-color);cursor:pointer;font-size:.75rem}.mock-chip:hover{border-style:solid}.mock-nodes{display:flex;flex-direction:column;gap:.4rem}.mock-node-list{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.75rem;color:var(--text-muted)}.mock-node-chip{background:var(--btn-active-bg);border-radius:999px;padding:.2rem .6rem;color:var(--text-color)}.mock-node-warning{color:#f59e0b}.mock-node-warning em{font-style:normal;color:var(--text-muted)}.mock-error{display:flex;align-items:center;gap:.5rem;color:#ef4444}.mock-result{display:flex;flex-direction:column;gap:.6rem}.mock-summary{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.mock-summary.ok{color:#10b981}.mock-summary.fail{color:#ef4444}.mock-summary span{color:var(--text-muted);display:inline-flex;align-items:center;gap:.25rem}.mock-wait{font-size:.75rem}.mock-requests{display:flex;flex-direction:column;gap:.35rem}.mock-none{color:var(--text-muted)}.mock-request{border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color)}.mock-request summary{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;cursor:pointer;flex-wrap:wrap}.mock-request code{color:var(--text-muted)}.mock-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-meta{color:var(--text-muted);font-size:.73rem}.mock-status{font-weight:700;min-width:2.5rem}.mock-status.s2{color:#10b981}.mock-status.s4{color:#f59e0b}.mock-status.s5{color:#ef4444}.mock-status.sx{color:var(--text-muted)}.mock-request-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;padding:0 .7rem .7rem}.mock-request-body label,.mock-final label{font-size:.72rem;color:var(--text-muted);display:block;margin-bottom:.25rem}.mock-request-body pre,.mock-final pre{margin:0;padding:.5rem;border-radius:4px;background:var(--btn-active-bg);font-size:.75rem;white-space:pre-wrap;word-break:break-all;max-height:220px;overflow:auto}.data-layer-svg{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;z-index:-1}.data-layer-link{fill:none;stroke-width:1.4;stroke-dasharray:5 4;opacity:.85}.data-layer-end{opacity:.9}.data-layer-svg.is-animated .data-layer-link{animation:data-layer-flow 1.1s linear infinite}@keyframes data-layer-flow{to{stroke-dashoffset:-9}}@media (prefers-reduced-motion: reduce){.data-layer-link{animation:none}}.dbq-panel{display:flex;flex-direction:column;gap:6px;font-size:.74rem}.dbq-panel label{font-size:.74rem}.dbq-row{display:flex;gap:6px;align-items:center}.dbq-row select{flex:1;min-width:0}.dbq-btn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:3px 8px;border-radius:4px;border:1px solid var(--border-color);background:var(--btn-active-bg);color:var(--text-color);cursor:pointer;font-size:.72rem}.dbq-btn[disabled]{opacity:.5;cursor:not-allowed}.dbq-link{display:inline-flex;align-items:center;gap:3px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.72rem;padding:0}.dbq-link:hover{color:var(--text-color)}.dbq-icon-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px}.dbq-icon-btn:hover{color:#ef4444}.dbq-muted{color:var(--text-muted);font-size:.7rem;line-height:1.4}.dbq-muted code{font-size:.68rem}.dbq-ok{color:#10b981;font-size:.72rem}.dbq-warning{font-size:.72rem;border:1px solid #f59e0b;border-radius:4px;padding:.4rem .5rem;line-height:1.5;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.dbq-warning a{color:#f59e0b}.dbq-section{border:1px solid var(--border-color);border-radius:4px}.dbq-section-head{display:flex;align-items:center;gap:5px;padding:4px 6px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);font-size:.72rem}.dbq-section-head:hover{color:var(--text-color)}.dbq-section-right{margin-left:auto;display:inline-flex}.dbq-section-body{padding:6px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px}.dbq-stages{display:flex;flex-direction:column;gap:3px}.dbq-stage{display:flex;align-items:center;gap:6px;font-size:.7rem}.dbq-stage b{min-width:92px;font-weight:600;text-transform:none}.dbq-stage-dot{width:7px;height:7px;border-radius:50%;background:#64748b;flex:0 0 7px}.dbq-stage.ok .dbq-stage-dot{background:#10b981}.dbq-stage.fail .dbq-stage-dot{background:#ef4444}.dbq-table-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.dbq-columns{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0 4px 14px}.dbq-chip{border:1px solid var(--border-color);border-radius:10px;padding:1px 7px;background:var(--bg-color);color:var(--text-color);font-size:.68rem;cursor:pointer}.dbq-chip:hover{border-color:#059669}.dbq-param{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr auto auto;gap:4px;align-items:center}.dbq-param input,.dbq-param select{min-width:0;width:100%;font-size:.7rem;padding:3px 4px}.dbq-check{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:.68rem;color:var(--text-muted)}.dbq-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dbq-grid label{display:flex;flex-direction:column;gap:2px;color:var(--text-muted)}.dbq-grid input,.dbq-grid select{width:100%;font-size:.72rem;padding:3px 4px}.dbq-test-values{display:flex;flex-direction:column;gap:4px}.dbq-test-values label{display:flex;align-items:center;gap:6px;font-family:ui-monospace,monospace}.dbq-test-values input{flex:1;font-size:.72rem;padding:3px 4px}.dbq-table-wrap{max-height:220px;overflow:auto;border:1px solid var(--border-color);border-radius:4px}.dbq-result{border-collapse:collapse;font-size:.68rem;min-width:100%}.dbq-result th,.dbq-result td{padding:2px 6px;border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.dbq-result th{position:sticky;top:0;background:var(--bg-color);color:var(--text-muted);font-weight:600}.fbind-toggle{position:absolute;top:0;right:0;display:grid;place-items:center;width:20px;height:18px;padding:0;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-color);color:var(--text-muted);cursor:pointer}.fbind-toggle:hover{border-color:#60a5fa99;color:#60a5fa}.fbind-toggle.is-bound{border-color:#60a5fab3;background:#3b82f629;color:#60a5fa}.fbind-popover{position:absolute;top:22px;right:0;z-index:40;width:262px;max-height:300px;overflow-y:auto;padding:8px;border:1px solid var(--border-color);border-radius:9px;background:var(--card-bg);box-shadow:0 14px 34px #00000057;text-align:left}.fbind-head{display:flex;align-items:center;gap:5px;margin-bottom:7px;color:var(--text-muted);font-size:.74rem}.fbind-head strong{color:var(--text-color)}.fbind-head>button{margin-left:auto;display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer}.fbind-empty,.fbind-hint{margin:4px 0;color:var(--text-muted);font-size:.72rem;line-height:1.55}.fbind-hint em{color:var(--text-color);font-style:normal}.fbind-sources{display:flex;flex-direction:column;gap:8px}.fbind-source{padding:7px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-color)}.fbind-source-head{display:flex;align-items:center;gap:6px;color:var(--text-color);font-size:.76rem;font-weight:600}.fbind-source-head>button{margin-left:auto;padding:2px 7px;border:1px solid rgba(96,165,250,.45);border-radius:999px;background:transparent;color:#60a5fa;font:inherit;font-size:.68rem;cursor:pointer}.fbind-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%}.fbind-paths{display:flex;flex-direction:column;gap:2px;margin-top:6px;max-height:150px;overflow-y:auto}.fbind-paths>button{display:flex;align-items:baseline;gap:6px;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:var(--text-color);font:inherit;text-align:left;cursor:pointer}.fbind-paths>button:hover{background:var(--btn-active-bg)}.fbind-paths code{color:#60a5fa;font-size:.72rem}.fbind-paths small{flex:1;min-width:0;overflow:hidden;color:var(--text-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.fbind-chip{display:flex;align-items:center;gap:6px;padding:5px 6px 5px 8px;border:1px solid rgba(96,165,250,.5);border-radius:7px;background:#3b82f61a;font-size:.76rem}.fbind-chip-label{display:flex;align-items:baseline;gap:5px;min-width:0;overflow:hidden;color:var(--text-color);text-overflow:ellipsis;white-space:nowrap}.fbind-chip code{color:#60a5fa;font-size:.72rem}.fbind-chip>button{margin-left:auto;display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer}.fbind-chip>button:hover{background:#3b82f633;color:var(--text-color)}.fbind-field{position:relative}.fbind-badge{padding:1px 6px;border-radius:999px;background:#3b82f62e;color:#60a5fa;font-size:.68rem;font-weight:700}.fbind-port.react-flow__handle{position:absolute;left:-13px;top:9px;width:9px;height:9px;min-width:0;min-height:0;border:1px solid rgba(96,165,250,.9);border-radius:2px;background:var(--card-bg);transform:none}.fbind-port.react-flow__handle:hover,.fbind-port.react-flow__handle.connectingto{background:#60a5fa}.fbind-optional{display:flex;align-items:center;gap:5px;margin:2px 0 7px;color:var(--text-muted);font-size:.72rem;cursor:pointer}.fbind-optional input{margin:0}.fbind-chip-label em{padding:0 4px;border-radius:3px;background:#94a3b838;color:var(--text-muted);font-size:.66rem;font-style:normal}.attachments-field{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed rgba(148,163,184,.25)}.attachments-help{margin:.25rem 0 0;font-size:.68rem;line-height:1.4;color:#94a3b8}.attachments-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:.4rem}.attachments-empty{font-size:.7rem;color:#64748b}.attachments-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 6px;border:1px solid rgba(245,158,11,.35);border-radius:999px;background:#f59e0b14;font-size:.68rem;color:#e2e8f0}.attachments-chip.warn{border-color:#f8717180;background:#f871711a}.attachments-chip .chip-kind{color:#fbbf24;font-weight:600}.attachments-chip .chip-name{overflow:hidden;max-width:110px;text-overflow:ellipsis;white-space:nowrap}.attachments-chip .chip-size{color:#94a3b8}.attachments-chip .chip-warn{display:inline-flex;align-items:center;gap:2px;color:#fca5a5}.attachments-chip .chip-remove{display:inline-flex;align-items:center;padding:0;border:0;background:none;color:#94a3b8;cursor:pointer}.attachments-chip .chip-remove:hover{color:#f87171}.attachments-meter{margin-top:.4rem}.attachments-meter .meter-bar{height:4px;border-radius:999px;background:#94a3b833;overflow:hidden}.attachments-meter .meter-bar span{display:block;height:100%;background:#38bdf8}.attachments-meter.over .meter-bar span{background:#f87171}.attachments-meter .meter-text{display:block;margin-top:2px;font-size:.66rem;color:#94a3b8}.attachments-meter.over .meter-text{color:#fca5a5}.attachments-actions{display:flex;gap:4px;margin-top:.4rem}.attachments-actions button{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:1px solid rgba(148,163,184,.3);border-radius:6px;background:#1e293b99;color:#cbd5e1;font-size:.68rem;cursor:pointer}.attachments-actions button:hover:not(:disabled){border-color:#38bdf880;color:#e2e8f0}.attachments-actions button:disabled{opacity:.5;cursor:default}.attachments-picker{max-height:160px;margin:.4rem 0 0;padding:0;overflow-y:auto;border:1px solid rgba(148,163,184,.2);border-radius:6px;list-style:none}.attachments-picker li{border-bottom:1px solid rgba(148,163,184,.12)}.attachments-picker li:last-child{border-bottom:0}.attachments-picker label{display:flex;align-items:center;gap:6px;margin:0;padding:4px 6px;font-size:.68rem;color:#cbd5e1;cursor:pointer}.attachments-picker .picker-name{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.attachments-picker .picker-meta{color:#64748b}.attachments-ok{margin:.4rem 0 0;font-size:.68rem;color:#6ee7b7}.management-page{--management-accent: var(--primary-color, #3b82f6);align-items:stretch;justify-content:flex-start!important;min-width:0;padding:0 2rem 3rem;background:var(--bg-color)}.management-page button,.management-page input{font-family:inherit}.management-page button:focus-visible,.management-page input:focus-visible{outline:2px solid var(--management-accent);outline-offset:2px}.management-page>.section-tabs{align-self:center;width:min(100%,1180px);margin:1rem auto 0;padding:0;overflow-x:auto;border:0;border-bottom:1px solid var(--border-color);border-radius:0;background:transparent;scrollbar-width:none}.management-page>.section-tabs::-webkit-scrollbar{display:none}.management-page>.section-tabs .section-tab{flex:0 0 auto;min-height:42px;padding:0 .8rem;border-bottom:2px solid transparent;border-radius:0;font-size:.7rem}.management-page>.section-tabs .section-tab.active{border-bottom-color:var(--management-accent);background:transparent;color:var(--text-color)}.management-content{width:min(100%,1180px);margin:0 auto;padding-top:2.25rem;box-sizing:border-box}.management-page.has-tabs .management-content{padding-top:1.7rem}.management-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;margin-bottom:1.45rem}.management-heading{min-width:0}.management-kicker{display:inline-flex;align-items:center;gap:.42rem;margin-bottom:.55rem;color:var(--text-muted);font-size:.56rem;font-weight:720;letter-spacing:.12em}.management-kicker:before{content:"";width:18px;height:1px;background:var(--text-muted);opacity:.55}.management-heading h1{margin:0;color:var(--text-color);font-size:clamp(1.65rem,3vw,2.25rem);font-weight:610;line-height:1.15;letter-spacing:-.045em}.management-heading p{max-width:650px;margin:.55rem 0 0;color:var(--text-muted);font-size:.75rem;line-height:1.65;word-break:keep-all}.management-header-side{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.55rem}.management-stat{display:flex;min-width:66px;flex-direction:column;gap:.1rem;padding:.52rem .65rem;border-left:1px solid var(--border-color)}.management-stat span{color:var(--text-muted);font-size:.52rem}.management-stat strong{color:var(--text-color);font-size:.88rem;font-weight:650}.management-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;margin-bottom:.85rem;padding:.45rem 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.management-toolbar-label{color:var(--text-muted);font-size:.64rem}.management-toolbar-actions{display:flex;align-items:center;gap:.45rem}.management-toggle{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.62rem;cursor:pointer}.management-toggle input{width:14px;height:14px;accent-color:var(--management-accent)}.management-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:34px;padding:0 .68rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-muted);font-size:.62rem;font-weight:620;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}.management-button:hover:not(:disabled){border-color:#94a3b86b;color:var(--text-color);transform:translateY(-1px)}.management-button.primary{border-color:var(--text-color);background:var(--text-color);color:var(--bg-color)}.management-button.primary:hover:not(:disabled){background:var(--management-accent);border-color:var(--management-accent);color:#fff}.management-button.danger:hover:not(:disabled){border-color:#ef444447;background:#ef444412;color:#f87171}.management-button:disabled{opacity:.45;cursor:default}.management-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}.management-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 210px;min-width:0;min-height:166px;overflow:visible;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.management-card:hover{transform:translateY(-2px);border-color:#94a3b857;box-shadow:0 16px 34px #0000001a}.management-card:focus-within{border-color:#94a3b86b}.management-card:before{content:"";position:absolute;top:-1px;left:18px;width:28px;height:2px;border-radius:0 0 2px 2px;background:#94a3b873}.management-card.is-active:before,.management-card.is-online:before{background:#34d399}.management-card.is-paused:before,.management-card.is-connecting:before{background:#fbbf24}.management-card.is-stopped:before,.management-card.is-offline:before{background:#f87171}.management-card-body{display:flex;min-width:0;flex-direction:column;padding:.9rem 1.05rem .82rem}.management-card-top{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:29px}.management-resource{display:flex;align-items:center;gap:.48rem;min-width:0;color:var(--text-muted);font-size:.56rem;font-weight:680;letter-spacing:.04em}.management-resource-icon{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--border-color);border-radius:7px;color:var(--text-muted)}.management-card-tools{display:flex;align-items:center;gap:.35rem}.management-status{display:inline-flex;align-items:center;gap:.34rem;min-height:24px;padding:0 .5rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);font-size:.52rem;white-space:nowrap}.management-status-dot{width:5px;height:5px;border-radius:50%;background:var(--text-muted)}.management-status.active .management-status-dot,.management-status.online .management-status-dot{background:#34d399}.management-status.paused .management-status-dot,.management-status.connecting .management-status-dot{background:#fbbf24}.management-status.stopped .management-status-dot,.management-status.offline .management-status-dot{background:#f87171}.management-status.visibility-public .management-status-dot{background:#34d399}.management-status.visibility-friends .management-status-dot{background:var(--management-accent)}.management-icon-button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}.management-icon-button:hover{border-color:var(--border-color);background:#94a3b80e;color:var(--text-color)}.management-icon-button.danger:hover{border-color:#ef44443d;background:#ef444412;color:#f87171}.management-card h2{margin:.68rem 0 0;overflow:hidden;color:var(--text-color);font-size:.88rem;font-weight:620;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.management-card-description{display:block;min-height:auto;margin:.24rem 0 0;overflow:hidden;color:var(--text-muted);font-size:.61rem;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.management-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin-top:auto;padding-top:.95rem;color:var(--text-muted);font-size:.56rem}.management-card-meta>span{display:inline-flex;align-items:center;gap:.3rem;min-width:0}.management-meta-grid{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;margin-top:auto;padding-top:.68rem}.management-meta-item{display:flex;min-width:86px;flex-direction:column;gap:.13rem;padding:0 .62rem;border-left:1px solid var(--border-color)}.management-meta-item:first-child{padding-left:0;border-left:0}.management-meta-item span{color:var(--text-muted);font-size:.48rem;line-height:1.2}.management-meta-item strong{max-width:190px;overflow:hidden;color:var(--text-color);font-size:.56rem;font-weight:570;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.management-meta-item code{color:var(--text-muted);font-family:var(--font-mono, monospace);font-size:.52rem}.management-data-row{display:flex;align-items:center;gap:.45rem;min-width:0;min-height:34px;margin-top:.72rem;padding:0 .55rem;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-color);color:var(--text-muted);font-size:.57rem}.management-data-row code,.management-data-row input{flex:1;min-width:0;overflow:hidden;border:0;outline:0;background:transparent;color:var(--text-muted);font-family:var(--font-mono, monospace);font-size:inherit;text-overflow:ellipsis;white-space:nowrap}.management-data-row button{display:grid;place-items:center;padding:.25rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.management-data-row button:hover{color:var(--text-color)}.management-card-actions{display:flex;align-items:center;align-self:stretch;gap:.4rem;min-width:0;padding:.7rem;border-left:1px solid var(--border-color);background:#94a3b805}.management-card-actions .management-button:first-child{flex:1}.management-menu-wrap{position:relative}.management-menu{position:absolute;right:0;bottom:calc(100% + .45rem);z-index:100;display:flex;width:178px;flex-direction:column;padding:.35rem;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);box-shadow:0 18px 42px #0000003d;animation:management-menu-in .15s ease-out}.management-menu button{display:flex;align-items:center;gap:.5rem;min-height:34px;padding:0 .55rem;text-align:left;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font-size:.6rem;cursor:pointer}.management-menu button:hover{background:#94a3b812;color:var(--text-color)}.management-menu button.danger{color:#f87171}.management-menu button.danger:hover{background:#ef444414}.management-menu-divider{height:1px;margin:.25rem 0;background:var(--border-color)}.management-loading{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}.management-loading span{display:block;min-height:166px;border:1px solid var(--border-color);border-radius:12px;background:linear-gradient(90deg,#94a3b806,#94a3b813,#94a3b806);background-size:200% 100%;animation:management-shimmer 1.4s linear infinite}.management-empty{display:flex;min-height:310px;align-items:center;flex-direction:column;justify-content:center;padding:2rem;text-align:center;border:1px dashed var(--border-color);border-radius:12px;color:var(--text-muted)}.management-empty-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:.8rem;border:1px solid var(--border-color);border-radius:11px;color:var(--text-muted)}.management-empty h2{margin:0;color:var(--text-color);font-size:.84rem}.management-empty p{max-width:460px;margin:.4rem 0 .85rem;color:var(--text-muted);font-size:.63rem;line-height:1.6}.management-modal-overlay{background:#020617ad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.management-modal{border-radius:15px;box-shadow:0 26px 70px #00000057}.management-modal .token-modal-header,.management-modal .logs-modal-header{margin-bottom:1rem;padding-bottom:.8rem}.management-modal .token-modal-header h3,.management-modal .logs-modal-header h3{font-size:.85rem;font-weight:650}.management-page .spinning{animation:management-spin 1s linear infinite}@keyframes management-spin{to{transform:rotate(360deg)}}@keyframes management-shimmer{to{background-position:-200% 0}}@keyframes management-menu-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.management-page{padding:0 1.25rem 2.5rem}.management-page:not(.has-tabs) .management-content{padding-top:4.5rem}.management-page>.section-tabs{box-sizing:border-box;padding-left:3.4rem}}@media (max-width: 760px){.management-page{height:auto;min-height:100dvh;padding:0 .9rem 2rem;overflow:visible}.management-page>.section-tabs{margin-left:auto}.management-content,.management-page.has-tabs .management-content{padding-top:1.25rem}.management-page:not(.has-tabs) .management-content{padding-top:4.5rem}.management-header{grid-template-columns:1fr;align-items:start;gap:.9rem}.management-header-side{justify-content:flex-start}.management-toolbar{align-items:flex-start;flex-direction:column;padding:.65rem 0}.management-toolbar-actions{width:100%;justify-content:space-between}.management-card{display:flex;min-height:205px;flex-direction:column}.management-card-actions{min-height:50px;padding:.55rem .7rem;border-top:1px solid var(--border-color);border-left:0}.management-meta-item{min-width:78px;margin-bottom:.4rem}}@media (max-width: 460px){.management-heading h1{font-size:1.55rem}.management-header-side{width:100%}.management-stat{flex:1}.management-button span.optional{display:none}.management-card-actions{padding-inline:.6rem}}@media (prefers-reduced-motion: reduce){.management-card,.management-button,.management-menu,.management-loading span,.management-page .spinning{transition:none;animation:none}.management-card:hover,.management-button:hover:not(:disabled){transform:none}}.wf-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 1rem 1.75rem}.wf-empty__art{width:100%;max-width:var(--wf-empty-art, 180px);margin-bottom:1rem;color:var(--text-muted)}.wf-empty__art>svg{display:block;width:100%;height:auto}.wf-empty__title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.4;color:var(--text-color)}.wf-empty__desc{margin:.4rem 0 0;max-width:30rem;word-break:keep-all;font-size:.875rem;line-height:1.55;color:var(--text-muted)}.wf-empty__action{margin-top:1.125rem}.wf-empty__action>button{display:inline-flex;align-items:center;gap:.5rem}@media (max-width: 640px){.wf-empty{padding:.5rem .75rem 1.25rem}.wf-empty__art{max-width:min(var(--wf-empty-art, 180px),132px);margin-bottom:.875rem}.wf-empty__title{font-size:.98rem}.wf-empty__desc{font-size:.82rem}.wf-empty__action{margin-top:1rem}}.tpl-wrap{width:100%;max-width:1000px;margin:0 auto;padding-bottom:3rem}.tpl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.tpl-head h1{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1.5rem;color:var(--text-color)}.tpl-sub{margin:.4rem 0 0;color:var(--text-muted);font-size:.88rem;max-width:60ch}.tpl-head .btn-primary{display:flex;align-items:center;gap:.4rem;white-space:nowrap;padding:.55rem 1rem}.tpl-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:1.25rem 0}.tpl-filters button{padding:.35rem .8rem;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-muted);font-size:.83rem;cursor:pointer}.tpl-filters button.active{background:var(--accent-color, #3b82f6);border-color:transparent;color:#fff}.tpl-search{display:flex;align-items:center;gap:.35rem;margin-left:auto;padding:.3rem .7rem;border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted)}.tpl-search input{border:0;background:transparent;color:var(--text-color);outline:none;width:170px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem}.tpl-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color)}.tpl-card h3{margin:0;font-size:1rem;color:var(--text-color)}.tpl-desc{margin:0;font-size:.83rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tpl-card .btn-primary{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:auto;padding:.45rem;font-size:.85rem}.tpl-signal{display:inline-flex;align-items:center;gap:.25rem;font-size:.76rem;color:var(--text-muted)}.tpl-signal.good{color:#6ee7b7}.tpl-signal.muted{font-style:italic}.tpl-signal-sub{color:var(--text-muted);font-style:normal}.tpl-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.tpl-need{margin:0;font-size:.75rem;color:var(--text-muted)}.tpl-risk{display:flex;align-items:center;gap:.25rem;margin:0;font-size:.75rem;color:#fbbf24}.tpl-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.tpl-modal{width:min(560px,100%);max-height:88vh;overflow-y:auto;padding:1.25rem;border-radius:12px;background:var(--card-bg, #111827);border:1px solid var(--border-color)}.tpl-modal-head{display:flex;justify-content:space-between;align-items:center}.tpl-modal-head h2{margin:0;font-size:1.1rem;color:var(--text-color)}.tpl-modal-head button{background:none;border:0;color:var(--text-muted);cursor:pointer}.tpl-modal label{display:block;margin:.85rem 0 .3rem;font-size:.8rem;color:var(--text-muted)}.tpl-modal input,.tpl-modal select,.tpl-modal textarea{width:100%;padding:.55rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);outline:none;font-family:inherit;font-size:.88rem}.tpl-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.tpl-submit{width:100%;margin-top:1.1rem;padding:.6rem}.tpl-gate{list-style:none;margin:.8rem 0 0;padding:.7rem .85rem;border-radius:8px;background:#94a3b814;font-size:.82rem}.tpl-gate li{display:flex;align-items:flex-start;gap:.35rem;padding:.15rem 0}.tpl-gate li.ok{color:#6ee7b7}.tpl-gate li.bad{color:#fca5a5}.tpl-gate li.review{color:#fbbf24}.tpl-gate-detail{display:block;color:var(--text-muted);font-size:.78rem}.tpl-empty{color:var(--text-muted);font-size:.88rem;padding:1rem 0}.tpl-error{color:#ef4444;font-size:.85rem;margin:.5rem 0}.tpl-official{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:700;vertical-align:middle;color:#fff;background:var(--primary-color)}.management-card.tpl-row{grid-template-columns:128px minmax(0,1fr) 190px;align-items:stretch;cursor:pointer}.tpl-row-thumb{width:calc(100% - 12px);height:auto;min-height:0;aspect-ratio:4 / 3;align-self:center;justify-self:center;object-fit:cover;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-color)}.tpl-row-thumb.is-empty{display:grid;place-items:center;color:var(--text-muted)}.tpl-row .management-card-tools{flex-wrap:wrap;justify-content:flex-end}.tpl-row .management-meta-item strong{display:inline-flex;align-items:center;gap:.22rem}.tpl-row .management-meta-grid{row-gap:.55rem}.tpl-row .tpl-risk{margin:.55rem 0 0}.tpl-row .management-card-actions{align-content:center}.tpl-sorts{display:flex;flex-wrap:wrap;gap:.3rem}.tpl-sorts button{padding:.26rem .6rem;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.66rem}.tpl-sorts button:hover{color:var(--text-color)}.tpl-sorts button.active{border-color:#60a5fa80;background:#60a5fa1f;color:#60a5fa;font-weight:620}@media (max-width: 900px){.management-card.tpl-row{grid-template-columns:92px minmax(0,1fr)}.tpl-row-thumb{width:calc(100% - 10px);min-height:0;border-radius:8px}.tpl-row .management-card-actions{grid-column:1 / -1}}.tpledit-backdrop{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1150;padding:1.25rem;background:#020617ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-sizing:border-box}.tpledit-modal{display:flex;flex-direction:column;width:min(100%,660px);max-height:min(90vh,900px);border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg);box-shadow:0 26px 70px #0206176b;overflow:hidden}.tpledit-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem .8rem}.tpledit-head h2{margin:0;color:var(--text-color);font-size:1rem;font-weight:670}.tpledit-head button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.tpledit-head button:hover{border-color:var(--border-color);color:var(--text-color)}.tpledit-body{flex:1;min-height:0;padding:0 1.25rem 1rem;overflow-y:auto}.tpledit-body section+section{margin-top:1.4rem}.tpledit-body h3{margin:0 0 .35rem;padding-bottom:.45rem;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.86rem;font-weight:650}.tpledit-hint{margin:0 0 .9rem;color:var(--text-muted);font-size:.74rem;line-height:1.6}.tpledit-hint strong{color:var(--text-color);font-weight:620}.tpledit-body label{display:block;margin:.75rem 0 .3rem;color:var(--text-color);font-size:.76rem;font-weight:570}.tpledit-body input,.tpledit-body select,.tpledit-body textarea{width:100%;padding:.5rem .62rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-color);color:var(--text-color);font-family:inherit;font-size:.8rem;line-height:1.55}.tpledit-body textarea{resize:vertical}.tpledit-body #tpledit-intro{font-family:var(--font-mono, monospace);font-size:.76rem}.tpledit-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.tpledit-images{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}.tpledit-image{position:relative;width:92px;height:68px;overflow:hidden;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-color)}.tpledit-image.is-thumb{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b inset}.tpledit-image img{width:100%;height:100%;object-fit:cover}.tpledit-image button{display:grid;place-items:center;position:absolute;width:20px;height:20px;padding:0;border:0;border-radius:6px;background:#020617ad;color:#fff;cursor:pointer}.tpledit-image-star{top:4px;left:4px}.tpledit-image.is-thumb .tpledit-image-star{color:#fbbf24}.tpledit-image-remove{top:4px;right:4px}.tpledit-image-add{display:grid;place-items:center;gap:.2rem;width:92px;height:68px;margin:0;border:1px dashed var(--border-color);border-radius:9px;color:var(--text-muted);cursor:pointer;font-size:.64rem}.tpledit-image-add input{display:none}.tpledit-revise{padding:.9rem 1rem 1rem;margin-bottom:1.4rem;border:1px solid rgba(96,165,250,.42);border-radius:12px;background:#60a5fa0f}.tpledit-revise h3{display:flex;align-items:center;gap:.4rem;border-bottom:0;padding-bottom:0;color:#60a5fa}.tpledit-revise-submit{margin-top:.9rem}.tpledit-error{margin:0 1.25rem;color:#f87171;font-size:.76rem}.tpledit-foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;border-top:1px solid var(--border-color)}@media (max-width: 620px){.tpledit-backdrop{padding:0}.tpledit-modal{width:100%;height:100%;max-height:100%;border:0;border-radius:0}.tpledit-row{grid-template-columns:1fr}}.report-backdrop{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;padding:1.25rem;background:#020617a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-sizing:border-box}.report-modal{display:flex;flex-direction:column;gap:.7rem;width:min(100%,420px);padding:1.15rem 1.25rem 1.1rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg);box-shadow:0 24px 60px #02061761}.report-head{display:flex;align-items:center;justify-content:space-between}.report-head h2{display:flex;align-items:center;gap:.4rem;margin:0;color:var(--text-color);font-size:.98rem;font-weight:660}.report-head button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.report-head button:hover{border-color:var(--border-color);color:var(--text-color)}.report-note{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.55}.report-reasons{display:flex;flex-wrap:wrap;gap:.35rem}.report-reasons label{padding:.34rem .68rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);cursor:pointer;font-size:.76rem}.report-reasons label.is-on{border-color:#60a5fa80;background:#60a5fa1f;color:#60a5fa;font-weight:600}.report-reasons input{position:absolute;opacity:0;width:0;height:0}.report-label{color:var(--text-color);font-size:.78rem;font-weight:580}.report-modal textarea{width:100%;padding:.6rem .7rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-color);color:var(--text-color);font-family:inherit;font-size:.8rem;line-height:1.55;resize:vertical}.report-error{margin:0;color:#f87171;font-size:.76rem}.report-foot{display:flex;justify-content:flex-end;gap:.5rem}.report-done{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}.report-done p{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.6}.tplflow{border:1px solid var(--border-color);border-radius:12px;background:var(--bg-color)}.tplflow-scroll{overflow-x:auto;padding:.4rem}.tplflow-scroll svg{display:block}.tplflow-node rect:first-child{fill:var(--card-bg);stroke:var(--border-color);stroke-width:1}.tplflow-node-label{fill:var(--text-color);font-family:inherit;font-size:11px;font-weight:560}.tplflow-edge{color:var(--text-muted)}.tplflow-edge path{stroke:var(--border-color);stroke-width:1.5}.tplflow-edge-label{fill:var(--text-muted);font-family:inherit;font-size:9.5px;font-weight:600}.tplflow-note{margin:0;padding:0 .7rem .6rem;color:var(--text-muted);font-size:.7rem}.tpl-detail{padding-bottom:4rem}.tpl-detail-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.9rem;padding:.35rem .6rem .35rem .4rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.76rem}.tpl-detail-back:hover{border-color:var(--border-color);color:var(--text-color)}.tpl-detail-head{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:1.1rem;align-items:start;padding-bottom:1.15rem;border-bottom:1px solid var(--border-color)}.tpl-detail-thumb{width:104px;height:78px;object-fit:cover;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-color)}.tpl-detail-thumb.is-empty{display:grid;place-items:center;color:var(--text-muted)}.tpl-detail-headline{min-width:0}.tpl-detail-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.tpl-detail-category,.tpl-detail-draft{padding:.14rem .46rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);font-size:.6rem;font-weight:620}.tpl-detail-draft{border-color:#fbbf2473;color:#fbbf24}.tpl-detail-headline h1{margin:.5rem 0 .3rem;color:var(--text-color);font-size:1.42rem;font-weight:680;line-height:1.3;letter-spacing:-.02em;word-break:keep-all}.tpl-detail-headline>p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.65;word-break:keep-all}.tpl-detail-byline{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.7rem;color:var(--text-muted);font-size:.7rem}.tpl-detail-byline span:empty{display:none}.tpl-detail-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.tpl-detail-action-row{display:flex;align-items:center;gap:.4rem}.tpl-detail-like,.tpl-detail-report{display:inline-flex;align-items:center;gap:.3rem;min-height:32px;padding:0 .65rem;border:1px solid var(--border-color);border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.76rem;font-weight:560}.tpl-detail-like:hover:not(:disabled),.tpl-detail-report:hover{color:var(--text-color)}.tpl-detail-like.is-on{border-color:#f472b680;color:#f472b6}.tpl-detail-like:disabled{opacity:.5;cursor:not-allowed}.tpl-detail-report{padding:0 .55rem}.tpl-detail-edit-hint{max-width:320px;margin:.15rem 0 0;text-align:right;color:var(--text-muted);font-size:.68rem;line-height:1.55;word-break:keep-all}.tpl-detail-edit-hint strong{color:var(--text-color);font-weight:600}.tpl-detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.1rem;margin:1.15rem 0 0}.tpl-detail-facts>div{display:flex;flex-direction:column;gap:.2rem;padding:0 .8rem;border-left:1px solid var(--border-color)}.tpl-detail-facts>div:first-child{padding-left:0;border-left:0}.tpl-detail-facts span{color:var(--text-muted);font-size:.62rem}.tpl-detail-facts strong{color:var(--text-color);font-size:.78rem;font-weight:580}.tpl-detail-prep{display:flex;flex-direction:column;gap:.4rem;margin-top:1.1rem}.tpl-detail-flow,.tpl-detail-intro,.tpl-detail-versions,.tpl-detail-comments{margin-top:2rem}.tpl-detail-flow h2,.tpl-detail-intro h2,.tpl-detail-versions h2,.tpl-detail-comments h2{display:flex;align-items:center;gap:.4rem;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.94rem;font-weight:650}.tpl-detail-note{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.7}.tpl-detail-flow .tpl-detail-note{margin-bottom:.7rem;font-size:.76rem}.tpl-detail-markdown{color:var(--text-color);font-size:.86rem;line-height:1.78}.tpl-detail-markdown h1,.tpl-detail-markdown h2,.tpl-detail-markdown h3{margin:1.3rem 0 .5rem;color:var(--text-color);font-weight:650;line-height:1.4}.tpl-detail-markdown h1{font-size:1.1rem}.tpl-detail-markdown h2{font-size:.98rem}.tpl-detail-markdown h3{font-size:.9rem}.tpl-detail-markdown p{margin:.55rem 0;word-break:keep-all}.tpl-detail-markdown ul,.tpl-detail-markdown ol{margin:.55rem 0;padding-left:1.25rem}.tpl-detail-markdown li{margin:.24rem 0}.tpl-detail-markdown code{padding:.08rem .32rem;border-radius:5px;background:var(--btn-active-bg);font-family:var(--font-mono, monospace);font-size:.8rem}.tpl-detail-markdown pre{padding:.75rem .85rem;overflow-x:auto;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color)}.tpl-detail-markdown pre code{padding:0;background:transparent}.tpl-detail-markdown blockquote{margin:.7rem 0;padding:.15rem 0 .15rem .85rem;border-left:2px solid var(--border-color);color:var(--text-muted)}.tpl-detail-markdown a{color:#60a5fa}.tpl-detail-markdown img{max-width:100%;border-radius:10px}.tpl-detail-markdown table{display:block;overflow-x:auto;border-collapse:collapse}.tpl-detail-markdown th,.tpl-detail-markdown td{padding:.35rem .6rem;border:1px solid var(--border-color);font-size:.8rem}.tpl-detail-gallery{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.tpl-detail-gallery img{max-width:min(100%,320px);border:1px solid var(--border-color);border-radius:11px}.tpl-detail-versions ul,.tpl-detail-commentlist{margin:0;padding:0;list-style:none}.tpl-detail-versions li{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--border-color)}.tpl-detail-versions li:last-child{border-bottom:0}.tpl-detail-versions strong{color:var(--text-color);font-size:.8rem;font-weight:620}.tpl-detail-versions span{color:var(--text-muted);font-size:.7rem}.tpl-detail-versions em{flex:1;min-width:160px;color:var(--text-muted);font-size:.76rem;font-style:normal}.tpl-detail-incompat{display:inline-flex;align-items:center;gap:.25rem;color:#fbbf24}.tpl-detail-commentbox{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.tpl-detail-commentbox textarea{width:100%;padding:.6rem .7rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color);color:var(--text-color);font-family:inherit;font-size:.82rem;line-height:1.6;resize:vertical}.tpl-detail-commentlist{margin-top:1rem}.tpl-detail-commentlist li{padding:.7rem 0;border-bottom:1px solid var(--border-color)}.tpl-detail-commentlist li.is-empty{border-bottom:0;color:var(--text-muted);font-size:.8rem}.tpl-detail-commentlist li>div{display:flex;align-items:center;gap:.5rem}.tpl-detail-commentlist strong{color:var(--text-color);font-size:.76rem;font-weight:620}.tpl-detail-commentlist li>div>span{color:var(--text-muted);font-size:.68rem}.tpl-detail-commentlist li>div>button{display:grid;place-items:center;margin-left:auto;width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.tpl-detail-commentlist li>div>button:hover{border-color:var(--border-color);color:#f87171}.tpl-detail-commentlist p{margin:.3rem 0 0;color:var(--text-color);font-size:.82rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}@media (max-width: 860px){.tpl-detail-head{grid-template-columns:76px minmax(0,1fr)}.tpl-detail-thumb{width:76px;height:58px}.tpl-detail-actions{grid-column:1 / -1;align-items:stretch}.tpl-detail-action-row{justify-content:flex-start}.tpl-detail-facts>div{padding-left:0;border-left:0}}.qna-page{align-items:stretch}.qna-wrap{--qna-blue: var(--primary-color, #3b82f6);--qna-blue-soft: rgba(59, 130, 246, .1);--qna-panel: var(--card-bg, #141414);width:100%;max-width:1040px;margin:2rem auto 0;padding-bottom:5rem;box-sizing:border-box}.qna-wrap button,.qna-wrap input,.qna-wrap textarea,.qna-wrap select{font-family:inherit}.qna-wrap button:focus-visible,.qna-wrap input:focus-visible,.qna-wrap textarea:focus-visible,.qna-wrap select:focus-visible,.qna-image-add:focus-within{outline:2px solid var(--qna-blue);outline-offset:2px}.qna-eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--qna-blue);font-size:.68rem;font-weight:750;letter-spacing:.14em}.qna-head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;min-height:196px;padding:2rem;margin-bottom:1.25rem;overflow:hidden;border:1px solid var(--border-color);border-radius:20px;background:radial-gradient(circle at 88% 10%,rgba(59,130,246,.18),transparent 34%),linear-gradient(145deg,var(--qna-panel),var(--bg-color))}.qna-head:after{content:"";position:absolute;right:-34px;top:-68px;width:220px;height:220px;border:1px solid rgba(59,130,246,.18);border-radius:50%;box-shadow:0 0 0 34px #3b82f609,0 0 0 68px #3b82f606;pointer-events:none}.qna-head-copy{position:relative;z-index:1;max-width:690px}.qna-head h1,.qna-compose-head h1{margin:.65rem 0 0;color:var(--text-color);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.16;letter-spacing:-.045em}.qna-sub{max-width:650px;margin:.75rem 0 0;color:var(--text-muted);font-size:.91rem;line-height:1.65;word-break:keep-all}.qna-head-points{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.qna-head-points span{display:inline-flex;align-items:center;gap:.35rem;padding:.36rem .62rem;border:1px solid var(--border-color);border-radius:999px;background:#ffffff06;color:var(--text-muted);font-size:.72rem}.qna-head .btn-primary,.qna-empty-state .btn-primary{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:42px;padding:0 1rem;white-space:nowrap;border-radius:10px}.qna-toolbar{display:flex;align-items:center;gap:1rem;padding:.6rem;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:14px;background:var(--qna-panel)}.qna-filters{display:flex;align-items:center;gap:.25rem}.qna-filters button{min-height:36px;padding:0 .78rem;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:650;cursor:pointer;transition:background-color .16s ease,color .16s ease}.qna-filters button:hover{color:var(--text-color);background:#94a3b812}.qna-filters button.active{color:#fff;background:var(--qna-blue)}.qna-search{display:flex;align-items:center;flex:1;min-width:220px;min-height:36px;margin-left:auto;padding-left:.72rem;overflow:hidden;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-color);color:var(--text-muted)}.qna-search:focus-within{border-color:var(--qna-blue);box-shadow:0 0 0 3px var(--qna-blue-soft)}.qna-search input{flex:1;min-width:0;padding:0 .55rem;border:0;outline:0;background:transparent;color:var(--text-color);font-size:.82rem}.qna-search button{border:0;cursor:pointer}.qna-search-clear{display:grid;place-items:center;padding:.35rem;background:transparent;color:var(--text-muted)}.qna-search-submit{align-self:stretch;padding:0 .75rem;background:#94a3b817;color:var(--text-color);font-size:.75rem;font-weight:650}.qna-search-submit:hover{background:var(--qna-blue-soft);color:var(--qna-blue)}.qna-error-filter{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.7rem .9rem;border:1px solid rgba(245,158,11,.3);border-radius:10px;background:#f59e0b0f;color:var(--text-muted);font-size:.8rem}.qna-error-filter code{color:var(--text-color)}.qna-error-filter button{margin-left:auto;padding:0;border:0;background:none;color:var(--qna-blue);cursor:pointer;font-size:.78rem}.qna-result-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:.5rem}.qna-result-head>div{display:flex;align-items:baseline;gap:.6rem}.qna-result-head strong{color:var(--text-color);font-size:.9rem}.qna-result-head span{color:var(--text-muted);font-size:.75rem}.qna-result-count{padding:.28rem .5rem;border-radius:999px;background:#94a3b814}.qna-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.qna-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:1rem;width:100%;min-height:108px;padding:1rem 1.1rem;text-align:left;border:1px solid var(--border-color);border-radius:14px;background:var(--qna-panel);color:var(--text-color);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.qna-card:hover{transform:translateY(-2px);border-color:#3b82f67a;background:#3b82f606}.qna-status{display:inline-flex;align-items:center;justify-content:center;gap:.32rem;width:max-content;padding:.32rem .52rem;border:1px solid rgba(59,130,246,.28);border-radius:999px;background:var(--qna-blue-soft);color:#60a5fa;font-size:.69rem;font-weight:700}.qna-status.discussing{background:#8b5cf617;border-color:#8b5cf640;color:#a78bfa}.qna-status.resolved{background:#10b98117;border-color:#10b98142;color:#34d399}.qna-item-main{min-width:0}.qna-kind{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em}.qna-item-main h3{margin:.2rem 0 .55rem;overflow:hidden;color:var(--text-color);font-size:.96rem;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.qna-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.42rem;color:var(--text-muted);font-size:.73rem}.qna-author{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted)}.qna-avatar{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid rgba(59,130,246,.22);border-radius:7px;background:var(--qna-blue-soft);color:#93c5fd;font-size:.67rem;font-weight:750}.qna-author-name{color:var(--text-color);font-weight:600}.qna-author time:before{content:"·";margin-right:.35rem;color:var(--text-muted)}.qna-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .42rem;border:1px solid var(--border-color);border-radius:999px;font-size:.67rem}.qna-tag{color:#60a5fa}.qna-item-stats{display:flex;align-items:center;gap:.65rem;color:var(--text-muted);font-size:.72rem}.qna-item-stats span{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.qna-item-stats strong{color:var(--text-color);font-size:.88rem}.qna-item-stats .zero,.qna-item-stats .zero strong{color:#60a5fa}.qna-skeleton-list{display:grid;gap:.65rem}.qna-skeleton-card{display:grid;gap:.55rem;min-height:108px;padding:1rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:14px;background:var(--qna-panel)}.qna-skeleton-card span{display:block;width:70%;height:11px;border-radius:999px;background:linear-gradient(90deg,#94a3b812,#94a3b826,#94a3b812);background-size:200% 100%;animation:qna-shimmer 1.4s linear infinite}.qna-skeleton-card span:first-child{width:74px}.qna-skeleton-card span:nth-child(2){width:52%;height:16px}.qna-skeleton-card span:last-child{width:34%}.qna-empty-state{min-height:320px;border:1px dashed var(--border-color);border-radius:16px;background:var(--qna-panel)}.qna-detail-view,.qna-compose-view{max-width:900px}.qna-back{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;margin:0 0 .8rem;padding:0 .4rem;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.8rem}.qna-back:hover{color:var(--text-color);background:#94a3b812}.qna-post,.qna-answer,.qna-answer-form,.qna-form-section{border:1px solid var(--border-color);border-radius:16px;background:var(--qna-panel)}.qna-post{padding:clamp(1.3rem,4vw,2.25rem);margin-bottom:2.6rem}.qna-post-head{padding-bottom:1.4rem;border-bottom:1px solid var(--border-color)}.qna-post-head .qna-status{margin-right:.45rem}.qna-post h1{margin:.65rem 0 .85rem;color:var(--text-color);font-size:clamp(1.45rem,3vw,2rem);line-height:1.3;letter-spacing:-.035em}.qna-post-meta .qna-author{margin-right:.25rem}.qna-post-content{padding:.7rem 0}.qna-body{margin:1rem 0;white-space:pre-wrap;color:var(--text-color);font-size:.92rem;line-height:1.8;word-break:break-word}.qna-answer{position:relative;padding:1.25rem 1.4rem;margin-bottom:.8rem}.qna-answer.accepted{border-color:#10b9817a;box-shadow:inset 3px 0 #10b981}.qna-accepted-badge{display:inline-flex;align-items:center;gap:.28rem;margin-bottom:.75rem;color:#34d399;font-size:.74rem;font-weight:700}.qna-answers-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1rem}.qna-answers-head h2{margin:.2rem 0 0;color:var(--text-color);font-size:1.3rem}.qna-answers-head p{margin:0;color:var(--text-muted);font-size:.75rem}.qna-inline-empty{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:132px;margin-bottom:1rem;border:1px dashed var(--border-color);border-radius:14px;color:var(--qna-blue)}.qna-inline-empty div{display:flex;flex-direction:column;gap:.22rem}.qna-inline-empty strong{color:var(--text-color);font-size:.86rem}.qna-inline-empty span{color:var(--text-muted);font-size:.74rem}.qna-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.8rem;margin-top:.8rem;border-top:1px solid var(--border-color)}.qna-actions button,.qna-workflow-actions button{display:inline-flex;align-items:center;gap:.32rem;min-height:34px;padding:0 .7rem;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.74rem;cursor:pointer}.qna-actions button:hover,.qna-workflow-actions button:hover{border-color:#3b82f673;color:var(--text-color);background:var(--qna-blue-soft)}.qna-actions .qna-danger{margin-left:auto;color:#f87171}.qna-actions .qna-danger:hover{border-color:#ef444480;background:#ef444412}.qna-answer-form{padding:1.35rem;margin-top:1.5rem}.qna-answer-form-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.qna-answer-form-head h3{margin:.2rem 0 0;color:var(--text-color);font-size:1.05rem}.qna-answer-form-head>span{color:var(--text-muted);font-size:.7rem}.qna-answer-form textarea{min-height:150px}.qna-answer-form-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.7rem}.qna-answer-form-foot>span{color:var(--text-muted);font-size:.72rem}.qna-answer-form-foot button{white-space:nowrap}.qna-excerpt{display:flex;gap:.65rem;padding:.85rem;margin:.8rem 0;border:1px solid rgba(245,158,11,.32);border-radius:10px;background:#f59e0b0f;color:#fbbf24;font-size:.8rem}.qna-excerpt p{margin:.25rem 0;color:var(--text-color)}.qna-excerpt button{padding:0;border:0;background:none;color:#60a5fa;cursor:pointer;font-size:.76rem}.qna-workflow{margin:1rem 0;padding:1rem;border:1px solid rgba(59,130,246,.24);border-radius:12px;background:var(--qna-blue-soft)}.qna-workflow-head{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;color:var(--text-color);font-size:.82rem;font-weight:650}.qna-risk{display:inline-flex;align-items:center;gap:.22rem;padding:.13rem .4rem;border-radius:999px;background:#f8717124;color:#fca5a5;font-size:.66rem;font-weight:500}.qna-workflow-meta,.qna-import-preview{color:var(--text-muted);font-size:.75rem;line-height:1.6}.qna-workflow-meta{margin:.55rem 0}.qna-import-preview{margin-top:.7rem}.qna-code pre{margin:.4rem 0;padding:.7rem;overflow-x:auto;border:1px solid var(--border-color);border-radius:8px;background:#00000040;color:var(--text-color);font-size:.72rem}.qna-note{color:var(--text-muted);font-size:.75rem}.qna-compose-head{margin-bottom:1.8rem}.qna-compose-head p{margin:.7rem 0 0;color:var(--text-muted);font-size:.85rem}.qna-form-section{padding:1.35rem;margin-bottom:.8rem}.qna-form-section-title{display:flex;align-items:flex-start;gap:.8rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color)}.qna-form-section-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--qna-blue-soft);color:var(--qna-blue);font-size:.68rem;font-weight:750}.qna-form-section-title h2{margin:0;color:var(--text-color);font-size:.95rem}.qna-form-section-title p{margin:.25rem 0 0;color:var(--text-muted);font-size:.72rem}.qna-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.qna-field{position:relative;display:block;margin-bottom:.85rem}.qna-field:last-child{margin-bottom:0}.qna-field>span{display:flex;justify-content:space-between;margin-bottom:.38rem;color:var(--text-color);font-size:.76rem;font-weight:650}.qna-field em{color:var(--text-muted);font-size:.68rem;font-style:normal;font-weight:500}.qna-field small{position:absolute;right:0;bottom:-.85rem;color:var(--text-muted);font-size:.63rem}.qna-field input,.qna-field textarea,.qna-field select,.qna-answer-form textarea,.qna-handle-row input{width:100%;box-sizing:border-box;padding:.72rem .82rem;border:1px solid var(--border-color);border-radius:9px;outline:0;background:var(--bg-color);color:var(--text-color);font-size:.83rem}.qna-field textarea,.qna-answer-form textarea{resize:vertical;line-height:1.6}.qna-field input:focus,.qna-field textarea:focus,.qna-field select:focus,.qna-answer-form textarea:focus,.qna-handle-row input:focus{border-color:var(--qna-blue);box-shadow:0 0 0 3px var(--qna-blue-soft)}.qna-preview{margin:.8rem 0 0;padding:.85rem;border:1px solid rgba(16,185,129,.35);border-radius:10px;background:#10b98112;color:var(--text-color);font-size:.76rem}.qna-preview.bad{border-color:#f8717166;background:#f8717112}.qna-preview p{margin:.35rem 0}.qna-attached-error{display:flex;align-items:center;gap:.4rem;margin:.8rem 0 0;padding:.65rem;border-radius:8px;background:#f59e0b0f}.qna-compose-actions{position:sticky;bottom:.8rem;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;margin-top:1rem;border:1px solid var(--border-color);border-radius:13px;background:var(--qna-panel);box-shadow:0 12px 35px #00000038}.qna-compose-actions>div{display:flex;flex-direction:column;gap:.18rem}.qna-compose-actions strong{color:var(--text-color);font-size:.8rem}.qna-compose-actions span{color:var(--text-muted);font-size:.68rem}.qna-submit{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 1rem;white-space:nowrap;border-radius:9px}.qna-images{display:flex;flex-wrap:wrap;gap:.55rem}.qna-image-thumb{position:relative;width:92px;height:92px;overflow:hidden;border:1px solid var(--border-color);border-radius:10px}.qna-image-thumb img{display:block;width:100%;height:100%;object-fit:cover}.qna-image-thumb button{position:absolute;top:5px;right:5px;display:grid;place-items:center;padding:4px;border:0;border-radius:50%;background:#000000b8;color:#fff;cursor:pointer}.qna-image-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;width:92px;height:92px;box-sizing:border-box;border:1px dashed var(--border-color);border-radius:10px;background:#94a3b808;color:var(--text-muted);font-size:.69rem;cursor:pointer}.qna-image-add:hover{border-color:var(--qna-blue);color:var(--qna-blue);background:var(--qna-blue-soft)}.qna-image-add input{display:none}.qna-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.65rem;margin:1rem 0}.qna-image-grid img{display:block;width:100%;max-height:300px;object-fit:cover;border:1px solid var(--border-color);border-radius:10px}.qna-handle-gate{width:min(100%,580px);box-sizing:border-box;margin:4rem auto;padding:1.5rem;border:1px solid var(--border-color);border-radius:16px;background:var(--qna-panel)}.qna-handle-gate h3{margin:0 0 .5rem;color:var(--text-color);font-size:1.05rem}.qna-handle-gate p{margin:0 0 1rem;color:var(--text-muted);font-size:.82rem;line-height:1.6}.qna-handle-row{display:flex;gap:.55rem}.qna-handle-row input{flex:1;min-width:0}.qna-empty{padding:1rem 0;color:var(--text-muted);font-size:.85rem}.qna-error{margin:.6rem 0 0;color:#f87171;font-size:.78rem}@keyframes qna-shimmer{to{background-position:-200% 0}}@media (max-width: 900px){.qna-wrap{margin-top:1.35rem}.qna-toolbar{align-items:stretch;flex-direction:column}.qna-search{width:100%;box-sizing:border-box;margin:0}.qna-card{grid-template-columns:86px minmax(0,1fr)}.qna-item-stats{grid-column:2}}@media (max-width: 680px){.main-page-content.qna-page{padding-left:1rem;padding-right:1rem}.qna-wrap{margin-top:1rem;padding-bottom:3rem}.qna-head{align-items:stretch;flex-direction:column;min-height:0;padding:1.35rem;border-radius:15px}.qna-head:after{opacity:.55}.qna-head h1,.qna-compose-head h1{font-size:1.7rem}.qna-head .btn-primary{width:100%}.qna-filters{overflow-x:auto;padding-bottom:2px}.qna-filters button{flex:0 0 auto}.qna-result-head>div{align-items:flex-start;flex-direction:column;gap:.15rem}.qna-card{grid-template-columns:1fr;gap:.65rem;min-height:0;padding:.95rem}.qna-item-stats{grid-column:1;justify-content:flex-start;padding-top:.55rem;border-top:1px solid var(--border-color)}.qna-item-main h3{white-space:normal}.qna-post{padding:1.15rem;border-radius:13px}.qna-answers-head{align-items:flex-start;flex-direction:column}.qna-answer{padding:1rem}.qna-answer-form-head,.qna-answer-form-foot{align-items:flex-start;flex-direction:column}.qna-answer-form-foot button{width:100%}.qna-form-grid{grid-template-columns:1fr;gap:0}.qna-form-section{padding:1rem}.qna-compose-actions{align-items:stretch;flex-direction:column;bottom:.35rem}.qna-compose-actions button{width:100%}.qna-handle-row{flex-direction:column}}@media (prefers-reduced-motion: reduce){.qna-card{transition:none}.qna-card:hover{transform:none}.qna-skeleton-card span{animation:none}}.main-page-content.msg-page{--msg-blue: var(--primary-color, #3b82f6);--msg-blue-soft: rgba(59, 130, 246, .1);align-items:stretch;gap:1rem;padding:1.35rem 1.5rem 1.5rem;background:radial-gradient(circle at 92% -10%,rgba(59,130,246,.09),transparent 32%),var(--bg-color)}.msg-page button,.msg-page input,.msg-page textarea{font-family:inherit}.msg-page button:focus-visible,.msg-page input:focus-visible,.msg-page textarea:focus-visible{outline:2px solid var(--msg-blue);outline-offset:2px}.msg-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;width:min(100%,1380px);margin:0 auto}.msg-eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--msg-blue);font-size:.66rem;font-weight:750;letter-spacing:.13em}.msg-page-head h1{margin:.25rem 0 0;color:var(--text-color);font-size:1.55rem;letter-spacing:-.035em}.msg-page-head p{margin:.25rem 0 0;color:var(--text-muted);font-size:.75rem}.msg-live{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .58rem;border:1px solid var(--border-color);border-radius:999px;background:var(--card-bg);color:var(--text-muted);font-size:.68rem}.msg-live.on{border-color:#10b98140;background:#10b98112;color:#34d399}.msg-layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:.85rem;flex:1;width:min(100%,1380px);min-height:0;margin:0 auto}.msg-list,.msg-thread{min-height:0;overflow:hidden;border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg, #141414);box-shadow:0 14px 40px #00000014}.msg-list{display:flex;flex-direction:column;padding:.85rem}.msg-list-head{display:flex;align-items:center;justify-content:space-between;min-height:38px}.msg-list-head>div{display:flex;align-items:center;gap:.42rem}.msg-list-head h2{margin:0;color:var(--text-color);font-size:.93rem}.msg-list-head>div>span,.msg-list-label span:last-child{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#94a3b81a;color:var(--text-muted);font-size:.62rem}.msg-new-toggle{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(59,130,246,.28);border-radius:9px;background:var(--msg-blue-soft);color:#60a5fa;cursor:pointer}.msg-new-toggle:hover{border-color:var(--msg-blue);background:var(--msg-blue);color:#fff}.msg-open{display:grid;gap:.65rem;padding:.8rem;margin:.55rem 0 .7rem;border:1px solid rgba(59,130,246,.24);border-radius:12px;background:var(--msg-blue-soft)}.msg-open>div{display:flex;flex-direction:column;gap:.18rem}.msg-open strong{color:var(--text-color);font-size:.78rem}.msg-open>div span{color:var(--text-muted);font-size:.66rem}.msg-open label{display:flex;align-items:center;min-height:36px;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-muted)}.msg-open label:focus-within{border-color:var(--msg-blue);box-shadow:0 0 0 3px var(--msg-blue-soft)}.msg-open label>span{padding-left:.65rem;color:var(--msg-blue);font-weight:700}.msg-open input{flex:1;min-width:0;padding:0 .6rem 0 .18rem;border:0;outline:0;background:transparent;color:var(--text-color);font-size:.78rem}.msg-open>button{min-height:35px;border:0;border-radius:8px;background:var(--msg-blue);color:#fff;font-size:.72rem;font-weight:700;cursor:pointer}.msg-open>button:disabled{opacity:.45;cursor:default}.msg-open p{display:flex;align-items:center;gap:.3rem;margin:0;color:var(--text-muted);font-size:.64rem}.msg-search{display:flex;align-items:center;min-height:38px;margin-top:.6rem;padding:0 .65rem;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-color);color:var(--text-muted)}.msg-search:focus-within{border-color:var(--msg-blue);box-shadow:0 0 0 3px var(--msg-blue-soft)}.msg-search input{flex:1;min-width:0;padding:0 .5rem;border:0;outline:0;background:transparent;color:var(--text-color);font-size:.76rem}.msg-search button{display:grid;place-items:center;padding:.2rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.msg-list-label{display:flex;align-items:center;justify-content:space-between;margin:.9rem 0 .35rem;padding:0 .3rem;color:var(--text-muted);font-size:.65rem;font-weight:650}.msg-list-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.msg-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.7rem .55rem;margin-bottom:.18rem;text-align:left;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text-color);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.msg-item:hover{background:#94a3b811}.msg-item.active{border-color:#3b82f64d;background:var(--msg-blue-soft)}.msg-avatar{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border:1px solid rgba(59,130,246,.23);border-radius:11px;background:linear-gradient(145deg,#3b82f629,#6366f114);color:#93c5fd;font-size:.76rem;font-weight:750}.msg-avatar.large{width:39px;height:39px;border-radius:12px;font-size:.82rem}.msg-item-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:.23rem}.msg-item-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem;min-width:0}.msg-item-row strong{overflow:hidden;color:var(--text-color);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.msg-item-row time{flex:0 0 auto;color:var(--text-muted);font-size:.59rem}.msg-item-preview{overflow:hidden;color:var(--text-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.msg-badge{display:grid;place-items:center;flex:0 0 auto;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:var(--msg-blue);color:#fff;font-size:.59rem;font-weight:750}.msg-list-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:190px;padding:1rem;text-align:center;color:var(--msg-blue)}.msg-list-empty strong{margin-top:.55rem;color:var(--text-color);font-size:.76rem}.msg-list-empty span{max-width:180px;margin-top:.25rem;color:var(--text-muted);font-size:.65rem;line-height:1.5}.msg-list-skeleton{display:grid;gap:.25rem}.msg-list-skeleton span{display:block;height:62px;border-radius:11px;background:linear-gradient(90deg,#94a3b80a,#94a3b81c,#94a3b80a);background-size:200% 100%;animation:msg-shimmer 1.4s linear infinite}.msg-thread{position:relative;display:flex;flex-direction:column}.msg-thread-head{display:flex;align-items:center;gap:.7rem;min-height:66px;padding:0 1.05rem;border-bottom:1px solid var(--border-color);background:#94a3b805}.msg-thread-head>div{display:flex;flex-direction:column;gap:.22rem}.msg-thread-head strong{color:var(--text-color);font-size:.83rem}.msg-thread-head>div>span{display:flex;align-items:center;gap:.32rem;color:var(--text-muted);font-size:.64rem}.msg-presence-dot{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px #10b98117}.msg-mobile-back{display:none;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.msg-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem clamp(1rem,3.5vw,3.4rem);background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.025),transparent 36%)}.msg-date-divider{display:flex;align-items:center;gap:.75rem;margin:.8rem 0 1rem;color:var(--text-muted);font-size:.61rem}.msg-date-divider:before,.msg-date-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.msg-date-divider span{flex:0 0 auto;padding:.2rem .48rem;border:1px solid var(--border-color);border-radius:999px;background:var(--card-bg)}.msg-bubble{width:fit-content;max-width:min(68%,620px);padding:.65rem .78rem .4rem;margin-bottom:.45rem;border:1px solid var(--border-color);border-radius:5px 14px 14px;background:#94a3b816;color:var(--text-color)}.msg-bubble.mine{margin-left:auto;border-color:#3b82f642;border-radius:14px 5px 14px 14px;background:var(--msg-blue-soft)}.msg-bubble.removed{opacity:.58;font-style:italic}.msg-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem;line-height:1.58}.msg-meta{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;min-height:17px;margin-top:.25rem;color:var(--text-muted);font-size:.58rem}.msg-meta button{display:grid;place-items:center;padding:.15rem;border:0;border-radius:4px;background:transparent;color:transparent;cursor:pointer}.msg-bubble:hover .msg-meta button,.msg-meta button:focus-visible{color:var(--text-muted)}.msg-meta button:hover{color:#f87171;background:#ef444412}.msg-thread-start{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:100%;text-align:center;color:var(--msg-blue)}.msg-thread-start strong{margin-top:.55rem;color:var(--text-color);font-size:.8rem}.msg-thread-start span{margin-top:.22rem;color:var(--text-muted);font-size:.66rem}.msg-compose{display:flex;align-items:flex-end;gap:.65rem;padding:.75rem .85rem;border-top:1px solid var(--border-color);background:var(--card-bg)}.msg-compose-box{position:relative;flex:1;min-width:0;overflow:hidden;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-color)}.msg-compose-box:focus-within{border-color:var(--msg-blue);box-shadow:0 0 0 3px var(--msg-blue-soft)}.msg-compose textarea{display:block;width:100%;min-height:42px;max-height:150px;padding:.65rem .8rem 1.1rem;box-sizing:border-box;resize:none;border:0;outline:0;background:transparent;color:var(--text-color);font-size:.79rem;line-height:1.45}.msg-compose-box>span{position:absolute;right:.65rem;bottom:.28rem;color:var(--text-muted);font-size:.54rem;pointer-events:none}.msg-compose>button{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-width:90px;min-height:44px;padding:0 .85rem;border-radius:10px;font-size:.72rem}.msg-compose>button svg{flex:0 0 auto}.msg-compose>button:disabled{opacity:.42;cursor:default}.msg-readonly{display:flex;align-items:center;justify-content:center;gap:.38rem;min-height:54px;margin:0;padding:0 1rem;border-top:1px solid var(--border-color);background:#f59e0b0d;color:var(--text-muted);font-size:.7rem}.msg-error{display:flex;align-items:center;gap:.35rem;margin:0;padding:.55rem .85rem;border-top:1px solid rgba(239,68,68,.2);background:#ef44440f;color:#f87171;font-size:.68rem}.msg-list-error{margin:.5rem -.15rem -.15rem;border:1px solid rgba(239,68,68,.2);border-radius:8px}.msg-thread-loading{display:flex;flex:1;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted);font-size:.73rem}.msg-thread-loading .lucide-loader-2,.msg-compose .lucide-loader-2{animation:msg-spin 1s linear infinite}.msg-thread-empty{flex:1}.msg-thread-empty .btn-primary{display:inline-flex;align-items:center;gap:.35rem;min-height:38px;border-radius:9px}@keyframes msg-shimmer{to{background-position:-200% 0}}@keyframes msg-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.msg-layout{grid-template-columns:280px minmax(0,1fr)}.msg-page-head p{display:none}.msg-scroll{padding-inline:1rem}.msg-bubble{max-width:78%}}@media (max-width: 720px){.main-page-content.msg-page{min-height:100dvh;height:100dvh;padding:1rem}.msg-page-head{align-items:center}.msg-page-head h1{font-size:1.25rem}.msg-eyebrow{display:none}.msg-live{font-size:0}.msg-live svg{width:14px;height:14px}.msg-layout{display:block;min-height:0}.msg-list,.msg-thread{height:100%;border-radius:13px}.msg-layout:not(.has-active) .msg-thread{display:none}.msg-layout.has-active .msg-list{display:none}.msg-mobile-back{display:grid}.msg-bubble{max-width:86%}.msg-compose-box>span{display:none}}@media (max-width: 480px){.main-page-content.msg-page{padding:.8rem}.msg-page-head{min-height:40px}.msg-compose>button{min-width:44px;width:44px;padding:0}.msg-compose>button span{display:none}.msg-thread-head{padding:0 .75rem}.msg-scroll{padding-inline:.75rem}}@media (prefers-reduced-motion: reduce){.msg-item{transition:none}.msg-list-skeleton span,.msg-thread-loading .lucide-loader-2,.msg-compose .lucide-loader-2{animation:none}}.app-runner-wrapper{background-color:var(--bg-color);min-height:100dvh;display:flex;justify-content:center;align-items:flex-start;padding:4rem 1rem}.app-runner-container{background-color:var(--card-bg);width:100%;max-width:800px;border-radius:12px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column}.app-runner-container.loading-state,.app-runner-container.error-state{align-items:center;justify-content:center;padding:4rem;text-align:center;gap:1.5rem}.app-header{padding:2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.app-header-left h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:var(--text-color)}.app-meta{display:flex;align-items:center;gap:1rem;font-size:.85rem}.owner-badge{color:var(--text-muted)}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.status-badge.public{background:#10b9811a;color:#10b981}.status-badge.private{background:#f59e0b1a;color:#f59e0b}.app-description{padding:2rem;color:var(--text-muted);font-size:1.05rem;line-height:1.6}.app-inputs-area{padding:0 2rem 2rem}.app-inputs-area h3{font-size:1.2rem;margin-top:0;margin-bottom:1rem;color:var(--text-color);font-weight:600}.inputs-wrapper{display:flex;flex-direction:column;gap:1.5rem;background:var(--btn-active-bg);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.95rem;font-weight:500;color:var(--text-color)}.input-group textarea{width:100%;padding:.75rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:1rem;resize:vertical;min-height:80px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.input-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.app-execution-area{padding:0 2rem 2rem}.btn-execute-app{width:100%;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border:none;border-radius:8px;padding:1rem;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:opacity .2s,transform .1s}.btn-execute-app:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-execute-app:disabled{opacity:.7;cursor:not-allowed}.app-result-area{padding:2rem;border-top:1px solid var(--border-color);background:var(--btn-active-bg)}.app-result-area h3{margin:0 0 1rem;font-size:1.25rem;color:var(--text-color)}.app-error-box{margin:0 2rem 2rem;padding:1rem;background:#ef44441a;border:1px solid #ef4444;border-radius:8px;color:#ef4444;display:flex;align-items:center;gap:.5rem;font-weight:500}.spinner{width:40px;height:40px;border:4px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-clear-input{background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.75rem;padding:0;transition:color .2s}.btn-clear-input:hover{color:#ef4444}.execution-wait-msg{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;color:#fbbf24;font-size:.85rem;animation:fadeIn .5s ease-in-out}.execution-wait-msg p{margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-header h3{margin:0}.result-actions{display:flex;gap:.5rem}.btn-action{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;padding:.4rem .75rem;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .2s}.btn-action:hover{background:var(--btn-active-bg);border-color:#3b82f6;color:#3b82f6}.bot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.bot-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.bot-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003,0 4px 6px -2px #0000001a}.bot-card.online{border-top:3px solid #10b981}.bot-card.offline{border-top:3px solid #ef4444}.bot-card.connecting{border-top:3px solid #f59e0b}.bot-card-header{padding:1rem 1.25rem .5rem;display:flex;justify-content:flex-end}.bot-status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--btn-active-bg);border-radius:999px;font-size:.8rem;font-weight:600}.status-dot.online{background-color:#10b981;box-shadow:0 0 8px #10b981}.status-dot.offline{background-color:#ef4444}.status-dot.connecting{background-color:#f59e0b;animation:pulse 1.5s infinite}.bot-card-body{padding:.5rem 1.25rem 1.25rem;flex:1}.bot-name{margin:0 0 1rem;font-size:.95rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.bot-name:before{content:"🤖"}.update-time{margin:0;font-size:.8rem;color:#64748b}.bot-card-actions{display:flex;border-top:1px solid var(--border-color);background:var(--btn-active-bg);border-bottom-left-radius:12px;border-bottom-right-radius:12px}.btn-primary-action{flex:1;padding:.875rem;border:none;background:transparent;color:var(--text-muted);font-size:.95rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s;border-right:1px solid var(--border-color);border-bottom-left-radius:12px}.btn-icon{width:100%;height:100%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;border-bottom-right-radius:12px}.token-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.token-modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:500px;padding:1.5rem;box-shadow:0 20px 25px -5px #00000080;animation:modal-fade-in .2s ease-out}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.token-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.token-modal-header h3{margin:0;color:var(--text-color)}.auth-step,.token-edit-step{display:flex;flex-direction:column;gap:1rem}.auth-step p,.token-edit-step p{color:var(--text-muted);margin:0 0 .5rem}.google-login-wrapper{display:flex;justify-content:center;margin-top:.5rem}.token-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--btn-active-bg);color:var(--text-color);font-family:var(--font-mono);font-size:1rem}.token-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.token-modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.btn-cancel,.btn-save{padding:.5rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-color)}.btn-cancel:hover{background:var(--btn-active-bg);color:var(--text-color)}.btn-save{background:#3b82f6;border:1px solid #2563eb;color:#fff}.btn-save:hover{background:#2563eb}.logs-modal{max-width:600px;width:95%;max-height:80vh;display:flex;flex-direction:column}.logs-container{overflow-y:auto;max-height:50vh;padding-right:.5rem;display:flex;flex-direction:column;gap:1rem}.log-header{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.85rem;color:#94a3b8}.log-user{font-weight:600;color:#3b82f6}.log-message{color:var(--text-color);margin-bottom:.5rem;white-space:pre-wrap}.log-response{color:var(--text-muted);background:var(--btn-active-bg);padding:.75rem;border-radius:6px;white-space:pre-wrap;font-size:.95rem}.statistics-layout{min-width:0}.statistics-main{justify-content:flex-start;align-items:stretch;padding:32px 48px 48px}.statistics-content{width:min(100%,1200px);margin:0 auto}.statistics-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.statistics-title-row,.statistics-toolbar,.statistics-segmented,.statistics-range-field,.statistics-kpi-label,.statistics-breakdown-info,.statistics-project-copy,.statistics-meta-line{display:flex;align-items:center}.statistics-title-row{gap:10px;color:var(--text-color)}.statistics-title-row svg{color:var(--primary-color)}.statistics-title-row h1{margin:0;font-size:24px;line-height:32px;letter-spacing:0}.statistics-heading>p{margin:5px 0 0;color:var(--text-muted);font-size:14px;line-height:21px}.statistics-meta-line{flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:var(--text-muted);font-size:12px;line-height:16px}.statistics-meta-line span+span:before{content:"";display:inline-block;width:3px;height:3px;margin-right:14px;border-radius:50%;vertical-align:middle;background:var(--text-muted);opacity:.65}.statistics-toolbar{flex-shrink:0;gap:8px}.statistics-segmented{height:36px;padding:3px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg)}.statistics-segmented button{height:28px;padding:0 11px;border:0;border-radius:5px;color:var(--text-muted);background:transparent;font-size:13px;cursor:pointer}.statistics-segmented button.active{color:var(--text-color);background:var(--btn-active-bg);box-shadow:inset 0 0 0 1px var(--border-color)}.statistics-range-field{box-sizing:border-box;height:36px;gap:7px;padding:0 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-muted)}.statistics-range-field select{min-width:96px;border:0;outline:0;color:var(--text-color);background:var(--card-bg);font:inherit;font-size:13px;cursor:pointer}.statistics-icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);background:var(--card-bg);cursor:pointer}.statistics-icon-button:hover:not(:disabled){color:var(--text-color);background:var(--btn-active-bg)}.statistics-icon-button:disabled{opacity:.55;cursor:default}.statistics-segmented button:focus-visible,.statistics-range-field:focus-within,.statistics-icon-button:focus-visible,.statistics-state-panel button:focus-visible,.statistics-data-details summary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.statistics-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.statistics-kpi,.statistics-panel,.statistics-state-panel{box-sizing:border-box;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg)}.statistics-kpi{min-width:0;min-height:126px;padding:18px;border-top-width:2px}.statistics-kpi-blue{border-top-color:#3b82f6}.statistics-kpi-green{border-top-color:#10b981}.statistics-kpi-violet{border-top-color:#8b5cf6}.statistics-kpi-teal{border-top-color:#14b8a6}.statistics-kpi-label{gap:7px;margin-bottom:13px;color:var(--text-muted);font-size:13px;line-height:18px}.statistics-kpi-blue .statistics-kpi-label svg{color:#60a5fa}.statistics-kpi-green .statistics-kpi-label svg{color:#34d399}.statistics-kpi-violet .statistics-kpi-label svg{color:#a78bfa}.statistics-kpi-teal .statistics-kpi-label svg{color:#2dd4bf}.statistics-kpi>strong{display:block;overflow:hidden;color:var(--text-color);font-size:24px;line-height:32px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.statistics-kpi>span{display:block;margin-top:4px;overflow:hidden;color:var(--text-muted);font-size:12px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.statistics-analysis-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);gap:16px;margin-bottom:16px}.statistics-panel{min-width:0;padding:22px}.statistics-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.statistics-panel-header h2{margin:0;color:var(--text-color);font-size:16px;line-height:24px;letter-spacing:0}.statistics-panel-header p{margin:2px 0 0;color:var(--text-muted);font-size:12px;line-height:17px}.statistics-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;max-width:430px}.statistics-chart-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:11px;line-height:16px;white-space:nowrap}.statistics-chart-legend i{width:7px;height:7px;border-radius:2px}.statistics-chart{width:100%;height:290px}.statistics-data-details{margin-top:8px;color:var(--text-muted);font-size:12px}.statistics-data-details summary{width:max-content;padding:4px 0;cursor:pointer}.statistics-table-scroll{overflow-x:auto;margin-top:8px;border:1px solid var(--border-color);border-radius:6px}.statistics-table-scroll table{width:100%;min-width:620px;border-collapse:collapse;color:var(--text-color);font-size:12px;font-variant-numeric:tabular-nums}.statistics-table-scroll th,.statistics-table-scroll td{padding:9px 10px;border-bottom:1px solid var(--border-color);text-align:right;white-space:nowrap}.statistics-table-scroll th:first-child,.statistics-table-scroll td:first-child{text-align:left}.statistics-table-scroll tbody tr:last-child td{border-bottom:0}.statistics-breakdown-list{display:flex;flex-direction:column;gap:21px}.statistics-breakdown-row{position:relative;min-width:0}.statistics-breakdown-info{min-width:0;gap:7px;margin-bottom:7px;color:var(--text-muted);font-size:12px}.statistics-breakdown-info>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statistics-type-icon{display:inline-flex;flex:0 0 auto}.statistics-breakdown-info strong{margin-left:auto;color:var(--text-color);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.statistics-progress-track,.statistics-project-meter{overflow:hidden;background:var(--border-color)}.statistics-progress-track{height:6px;border-radius:3px}.statistics-progress-track>span,.statistics-project-meter>span{display:block;height:100%;min-width:0}.statistics-breakdown-row small{display:block;margin-top:5px;color:var(--text-muted);font-size:11px;text-align:right}.statistics-project-list{display:flex;flex-direction:column}.statistics-project-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px}.statistics-project-filters label{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.statistics-project-filters input{width:14px;height:14px;margin:0;accent-color:var(--primary-color);cursor:pointer}.statistics-project-filters input:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.statistics-project-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,2fr) minmax(88px,auto);align-items:center;gap:18px;min-height:48px;border-bottom:1px solid var(--border-color)}.statistics-project-row:last-child{border-bottom:0}.statistics-project-copy{min-width:0;justify-content:space-between;gap:8px}.statistics-project-copy strong{overflow:hidden;color:var(--text-color);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.statistics-project-copy span{color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.statistics-project-meter{height:5px;border-radius:2px}.statistics-project-meter>span{background:var(--primary-color)}.statistics-project-value{color:var(--text-color);font-size:13px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.statistics-state-panel{display:flex;min-height:300px;padding:48px 24px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.statistics-state-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:14px;border-radius:8px;color:var(--primary-color);background:#3b82f61f}.statistics-state-icon.error{color:#f97066;background:#f970661f}.statistics-state-panel h2{margin:0;color:var(--text-color);font-size:17px;line-height:24px}.statistics-state-panel p,.statistics-inline-empty{color:var(--text-muted);font-size:13px;line-height:20px}.statistics-state-panel p{max-width:430px;margin:7px 0 18px}.statistics-state-panel button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border:1px solid var(--primary-color);border-radius:7px;color:#fff;background:var(--primary-color);font-size:13px;cursor:pointer}.statistics-inline-empty{margin:12px 0 4px;text-align:center}.statistics-auth-state{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted)}.statistics-auth-state h1{margin:12px 0 0;color:var(--text-color);font-size:20px}.statistics-auth-state p{margin:6px 0 0}.statistics-skeleton{position:relative;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg)}.statistics-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--btn-active-bg),transparent);animation:statistics-shimmer 1.4s infinite}.statistics-kpi-skeleton{height:126px}.statistics-chart-skeleton{height:390px}.spinning{animation:statistics-spin .9s linear infinite}.statistics-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes statistics-spin{to{transform:rotate(360deg)}}@keyframes statistics-shimmer{to{transform:translate(100%)}}@media (max-width: 1100px){.statistics-main{padding-right:28px;padding-left:28px}.statistics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-analysis-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.statistics-main{height:100dvh;padding:48px 16px 28px}.statistics-page-header{flex-direction:column;gap:17px;padding-bottom:18px;margin-bottom:18px}.statistics-heading{min-width:0;padding-left:48px}.statistics-title-row h1{font-size:20px;line-height:28px}.statistics-heading>p{font-size:13px;line-height:19px}.statistics-meta-line{gap:4px 10px}.statistics-meta-line span+span:before{margin-right:10px}.statistics-toolbar{width:100%}.statistics-range-field{flex:1;min-width:0}.statistics-range-field select{width:100%;min-width:0}.statistics-kpi-grid{gap:10px;margin-bottom:12px}.statistics-kpi{min-height:112px;padding:14px}.statistics-kpi-label{align-items:flex-start;min-height:36px;margin-bottom:7px;font-size:12px}.statistics-kpi>strong{font-size:20px;line-height:27px}.statistics-analysis-grid{gap:12px;margin-bottom:12px}.statistics-panel{padding:16px}.statistics-panel-header{flex-direction:column;gap:12px;margin-bottom:14px}.statistics-project-filters{justify-content:flex-start;gap:7px 12px}.statistics-chart-legend{justify-content:flex-start;max-width:none}.statistics-chart{height:250px}.statistics-breakdown-list{gap:17px}.statistics-project-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:10px 0}.statistics-project-copy{grid-column:1}.statistics-project-meter{grid-column:1 / -1;grid-row:2}.statistics-project-value{grid-column:2;grid-row:1}.statistics-state-panel{min-height:260px;padding:36px 20px}}@media (max-width: 380px){.statistics-segmented button{padding:0 8px}.statistics-kpi-grid{grid-template-columns:minmax(0,1fr)}.statistics-kpi-label{min-height:0}}@media (prefers-reduced-motion: reduce){.statistics-skeleton:after,.spinning{animation:none}}.runs-page-container{display:flex;flex-direction:column;height:100dvh;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans)}.runs-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--card-bg);border-bottom:1px solid var(--border-color)}.runs-header-left{display:flex;align-items:center;gap:1.5rem}.runs-header-left h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-color)}.back-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:.5rem;border-radius:4px;transition:all .2s}.back-btn:hover{background-color:#ffffff0d;color:var(--text-color)}.runs-content{display:flex;flex:1;overflow:hidden}.runs-sidebar{width:320px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background-color:var(--card-bg)}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border-color)}.sidebar-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.runs-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1}.run-list-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s}.run-list-item:hover{background-color:var(--btn-active-bg)}.run-list-item.active{background-color:#3b82f61a;border-left:3px solid #3b82f6}.run-status-icon{display:flex;align-items:center;justify-content:center;margin-top:.1rem}.text-success{color:#10b981}.text-error{color:#ef4444}.run-info{display:flex;flex-direction:column;gap:.25rem}.run-date{font-weight:500;font-size:.95rem}.run-meta{font-size:.8rem;color:var(--text-muted);display:flex;gap:.5rem}.runs-detail-panel{flex:1;overflow-y:auto;padding:2rem;background-color:var(--bg-color)}.run-detail-content{max-width:800px;margin:0 auto}.run-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.run-detail-header h2{margin:0;font-size:1.5rem;font-weight:600}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.85rem;font-weight:600;text-transform:uppercase}.status-badge.success{background-color:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.status-badge.error{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.run-summary-card{display:flex;gap:2rem;background-color:var(--card-bg);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);margin-bottom:2.5rem}.summary-item{display:flex;flex-direction:column;gap:.5rem}.summary-item .label{display:flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.summary-item .value{font-size:1.1rem;font-weight:600}.timeline-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.2rem;color:var(--text-color);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.steps-timeline{display:flex;flex-direction:column;gap:1rem;position:relative}.steps-timeline:before{content:"";position:absolute;top:1rem;bottom:1rem;left:24px;width:2px;background-color:var(--border-color);z-index:0}.step-card{position:relative;z-index:1;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;margin-left:14px}.step-card-header{display:flex;align-items:center;padding:1rem 1.25rem;cursor:pointer;background-color:var(--btn-active-bg);transition:background-color .2s}.step-card-header:hover{background-color:var(--border-color)}.step-status{display:flex;align-items:center;justify-content:center;width:24px;margin-right:1rem}.step-title-group{display:flex;align-items:baseline;gap:.5rem;flex:1}.step-type{font-weight:600;font-size:1.05rem;color:var(--text-color)}.step-id{color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono)}.step-duration{color:var(--text-muted);font-size:.85rem;margin-right:1rem}.step-expand-icon{color:var(--text-muted);display:flex;align-items:center}.step-card-body{padding:1.25rem;border-top:1px solid var(--border-color);background-color:var(--btn-active-bg)}.error-box{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.data-box{display:flex;flex-direction:column;gap:.5rem}.data-box-title{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.data-content{margin:0;padding:1rem;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-family:var(--font-mono);font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:400px;overflow-y:auto}.empty-state,.loading-state,.empty-selection{padding:3rem;text-align:center;color:var(--text-muted);font-size:.95rem}.scheduler-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.scheduler-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.scheduler-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003,0 4px 6px -2px #0000001a}.scheduler-card.active{border-top:3px solid #10b981}.scheduler-card.stopped{border-top:3px solid #ef4444}.scheduler-card.paused{border-top:3px solid #f59e0b}.scheduler-card-header{padding:1rem 1.25rem .5rem;display:flex;justify-content:flex-end}.scheduler-status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--btn-active-bg);border-radius:999px;font-size:.8rem;font-weight:600}.status-dot.active{background-color:#10b981;box-shadow:0 0 8px #10b981}.status-dot.paused{background-color:#f59e0b;animation:pulse 1.5s infinite}.scheduler-card-body{padding:.5rem 1.25rem 1.25rem;flex:1}.project-title{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-color)}.schedule-cron{margin:0 0 1rem;font-size:.95rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.schedule-cron code{background:var(--btn-active-bg);padding:.1rem .3rem;border-radius:4px}.schedule-cron:before{content:"⏰"}.next-run-time{margin:0;font-size:.8rem;color:#64748b}.scheduler-card-actions{display:flex;border-top:1px solid var(--border-color);background:var(--btn-active-bg)}.btn-primary-action{flex:1;padding:.875rem;border:none;background:transparent;color:var(--text-muted);font-size:.95rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s;border-right:1px solid var(--border-color)}.btn-primary-action:hover{background:var(--btn-active-bg);color:var(--text-color)}.btn-primary-action.start:hover{color:#10b981}.btn-primary-action.stop:hover{color:#ef4444}.dropdown-container{position:relative;display:flex;align-items:center;justify-content:center;width:48px}.btn-icon{width:100%;height:100%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:var(--btn-active-bg);color:var(--text-color)}.dropdown-menu{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 15px -3px #0000004d;width:160px;display:flex;flex-direction:column;padding:.5rem 0;z-index:100;animation:dropdown-fade-in .15s ease-out}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-color);font-size:.9rem;text-align:left;cursor:pointer;transition:all .2s}.dropdown-item:hover{background:var(--btn-active-bg);color:var(--text-color)}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background:#ef44441a}.dropdown-divider{height:1px;background:var(--border-color);margin:.25rem 0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.page-title{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:1.75rem}.page-subtitle{margin:0;color:var(--text-muted)}.btn-refresh{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:6px;cursor:pointer;transition:all .2s}.btn-refresh:hover:not(:disabled){background:var(--btn-active-bg);border-color:var(--primary-color)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center;color:var(--text-muted);background:var(--card-bg);border:1px dashed var(--border-color);border-radius:12px}.empty-state h3{color:var(--text-color);margin:1rem 0 .5rem}.empty-state p{margin:0}.empty-icon{color:#475569;margin-bottom:1rem}.logs-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.logs-modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:600px;padding:1.5rem;box-shadow:0 20px 25px -5px #00000080;animation:modal-fade-in .2s ease-out;display:flex;flex-direction:column;max-height:80vh}.logs-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.logs-modal-header h3{margin:0;color:var(--text-color)}.close-btn{background:transparent;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#f8fafc}.logs-modal-body{overflow-y:auto;padding-right:.5rem;display:flex;flex-direction:column;gap:1rem}.no-logs{text-align:center;color:#94a3b8;padding:2rem}.logs-list{display:flex;flex-direction:column;gap:1rem}.log-item{background:#0003;border:1px solid var(--border-color);border-radius:8px;padding:1rem}.log-time{font-size:.85rem;color:#94a3b8;margin-bottom:.25rem}.log-tokens{font-size:.8rem;color:#8b5cf6;margin-bottom:.5rem}.log-result{color:var(--text-color);background:var(--btn-active-bg);padding:.75rem;border-radius:6px;font-size:.95rem}.log-result pre{margin:0;white-space:pre-wrap;font-family:inherit}.webhook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem}.webhook-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s ease;box-shadow:var(--card-shadow, 0 4px 6px -1px rgba(0, 0, 0, .1))}.webhook-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003,0 4px 6px -2px #0000001a}.webhook-card.active{border-top:3px solid #10b981}.webhook-card.stopped{border-top:3px solid #ef4444}.webhook-card-header{padding:1rem 1.25rem .5rem;display:flex;justify-content:flex-end}.webhook-status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--btn-active-bg);border-radius:999px;font-size:.8rem;font-weight:600}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.active{background-color:#10b981;box-shadow:0 0 8px #10b98180}.status-dot.stopped{background-color:#ef4444}.status-text{color:var(--text-muted)}.webhook-card-body{padding:.5rem 1.25rem 1.25rem;flex:1}.webhook-title{margin:0 0 1rem;font-size:1.25rem;color:var(--text-color)}.webhook-url-box{display:flex;align-items:center;background:var(--btn-active-bg);border:1px solid var(--border-color);border-radius:6px;padding:.5rem;margin-bottom:1rem}.webhook-url-box input{flex:1;background:transparent;border:none;font-size:.85rem;color:var(--text-muted);outline:none}.webhook-url-box button{background:none;border:none;cursor:pointer;color:var(--primary-color);padding:.2rem;margin-left:.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.webhook-url-box button:hover{background:var(--btn-active-bg)}.last-triggered{margin:0;font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:.3rem}.webhook-card-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);display:flex;gap:.75rem;background:#0000001a}.btn-webhook-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem;border-radius:8px;font-size:.9rem;font-weight:500;border:none;cursor:pointer;transition:all .2s}.btn-webhook-action.toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-color)}.btn-webhook-action.toggle:hover{background:var(--btn-active-bg)}.btn-webhook-action.logs{background:var(--primary-color);color:#fff}.btn-webhook-action.logs:hover{background:var(--primary-hover)}.api-providers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:2rem}.api-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.api-card.has-key{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color) inset}.api-card-header{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);background:#ffffff05}.api-card-title{display:flex;align-items:center;gap:.75rem}.api-card-title h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.api-icon{font-size:1.5rem;display:inline-flex;align-items:center;flex-shrink:0}.guide-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.guide-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.api-card-body{padding:1.5rem 1.25rem;flex:1;display:flex;flex-direction:column;justify-content:center}.key-input-area{display:flex;flex-direction:column;gap:1rem}.key-input-area input{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono)}.key-input-area input:focus{outline:none;border-color:var(--accent-color)}.save-key-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;flex:1;padding:.75rem;border-radius:8px;border:none;background:var(--accent-color);color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s}.save-key-btn:disabled{opacity:.5;cursor:not-allowed}.save-key-btn:hover:not(:disabled){opacity:.9}.key-display{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;background:var(--bg-primary);padding:1rem;border-radius:8px;border:1px solid var(--border-color)}.masked-key{font-family:var(--font-mono);color:var(--success-color);font-size:1.1rem;letter-spacing:2px;word-break:break-all}.delete-key-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;flex:1;background:none;border:1px solid var(--border-color);color:var(--error-color);cursor:pointer;padding:.5rem;border-radius:6px}.delete-key-btn:hover{background:#ef44441a}.sudo-auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);text-align:center;margin-top:2rem}.sudo-auth-art{width:min(420px,100%);height:auto;display:block;margin:-1rem auto 1.25rem;border-radius:12px}.sudo-auth-container h2{margin:0 0 1rem;font-size:1.5rem;color:var(--text-primary)}.sudo-auth-container p{color:var(--text-secondary);margin-bottom:2rem;max-width:400px}@media (max-width: 640px){.sudo-auth-container{padding:2.25rem 1rem}.sudo-auth-art{width:min(340px,100%);margin-top:-.5rem}}.google-auth-btn{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:#fff;color:#333;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #0000000d;transition:all .2s}.google-auth-btn:hover{background:#f8f9fa;box-shadow:0 4px 6px #0000001a}.guide-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.guide-modal-content{background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color);width:90%;max-width:500px;box-shadow:0 20px 25px -5px #0003;overflow:hidden}.guide-modal-header{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.guide-modal-header h3{margin:0;display:flex;align-items:center;gap:.5rem}.close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer}.close-btn:hover{color:var(--text-primary)}.guide-modal-body{padding:1.5rem}.guide-modal-body p{margin:0 0 1rem;line-height:1.6;color:var(--text-primary)}.guide-link{color:var(--accent-color);text-decoration:none;font-weight:500}.guide-link:hover{text-decoration:underline}.db-cred-empty{font-size:.85rem;color:var(--text-muted, #94a3b8);margin-bottom:10px}.db-cred-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-color, #e2e8f0)}.db-cred-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.db-cred-label{font-weight:600;font-size:.9rem}.db-cred-meta{font-size:.75rem;color:var(--text-muted, #94a3b8);word-break:break-all}.db-cred-meta code{font-size:.72rem}.db-cred-stages{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem}.db-cred-stage{padding:1px 7px;border-radius:10px;border:1px solid #64748b;color:#64748b}.db-cred-stage.ok{border-color:#10b981;color:#10b981}.db-cred-stage.fail{border-color:#ef4444;color:#ef4444}.db-cred-ok{color:#10b981;font-weight:600}.db-cred-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;flex:0 0 auto}.db-cred-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}.db-cred-error{color:#ef4444;font-size:.8rem}.db-cred-hint{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted, #94a3b8)}.api-conn-status{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;padding:9px 11px;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-color);font-size:.79rem}.api-conn-row{display:flex;align-items:center;gap:6px;line-height:1.45}.api-conn-ok{color:#2a9d5c}.api-conn-warn{color:#d97706}.api-conn-bad{color:#dc2626}.api-conn-row svg{flex-shrink:0}.api-scope-list{margin-top:2px;color:var(--text-muted)}.api-scope-list summary{cursor:pointer}.api-scope-list ul{margin:6px 0 0;padding-left:16px}.api-scope-list li{margin-bottom:3px;line-height:1.5}.api-scope-list code{font-family:var(--font-mono);font-size:.74rem;color:var(--text-color);word-break:break-all}.patch-notes-list{margin-top:1.5rem;display:flex;flex-direction:column}.patch-note-card{display:flex;gap:1.25rem}.patch-note-date-rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:12px}.patch-note-dot{width:12px;height:12px;border-radius:50%;background:var(--primary-color);margin-top:8px;flex-shrink:0}.patch-note-line{flex:1;width:2px;background:var(--border-color);margin:4px 0}.patch-note-body{flex:1;padding-bottom:2.5rem}.patch-note-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.patch-note-date{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);font-weight:700}.patch-note-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color)}.patch-note-section{margin-bottom:1rem}.patch-note-section-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;margin-bottom:.5rem}.patch-note-items{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.4rem}.patch-note-items li{font-size:.9rem;line-height:1.55;color:var(--text-color)}.mod-standalone{align-items:stretch;padding-top:2rem}.mod-panel{--mod-blue: var(--primary-color, #3b82f6);width:100%;max-width:1380px;margin:0 auto;padding-bottom:3rem}.mod-panel.embedded{max-width:none;padding-bottom:0}.mod-panel button{font-family:inherit}.mod-panel button:focus-visible{outline:2px solid var(--mod-blue);outline-offset:2px}.mod-eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:#60a5fa;font-size:.65rem;font-weight:750;letter-spacing:.13em}.mod-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.mod-panel-head h2{margin:.28rem 0 0;color:var(--text-color);font-size:1.45rem;letter-spacing:-.035em}.mod-panel-head p{margin:.35rem 0 0;color:var(--text-muted);font-size:.76rem}.mod-head-actions{display:flex;align-items:center;gap:.45rem}.mod-refresh,.mod-switch{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:36px;padding:0 .72rem;border-radius:9px;cursor:pointer;font-size:.7rem;font-weight:650}.mod-refresh{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-muted)}.mod-refresh:hover{color:var(--text-color);border-color:#3b82f66b}.mod-switch{border:1px solid rgba(248,113,113,.34);background:#f8717114;color:#fca5a5}.mod-switch.off{border-color:#10b98157;background:#10b98114;color:#6ee7b7}.mod-refresh:disabled,.mod-switch:disabled{opacity:.48;cursor:default}.mod-banner{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;padding:.75rem .9rem;border:1px solid rgba(245,158,11,.34);border-radius:10px;background:#f59e0b12;color:#fbbf24}.mod-banner>div{display:flex;flex-direction:column;gap:.15rem}.mod-banner strong{font-size:.76rem}.mod-banner span{color:var(--text-muted);font-size:.66rem}.mod-error{display:flex;align-items:center;gap:.4rem;margin:0 0 .85rem;padding:.7rem .85rem;border:1px solid rgba(239,68,68,.25);border-radius:9px;background:#ef44440f;color:#f87171;font-size:.72rem}.mod-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}.mod-summary-card{display:grid;grid-template-columns:1fr auto;gap:.4rem .65rem;min-height:92px;padding:.85rem .95rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg)}.mod-summary-card>span{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.68rem}.mod-summary-card>strong{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--text-color);font-size:1.35rem;letter-spacing:-.04em}.mod-summary-card>small{color:var(--text-muted);font-size:.61rem}.mod-summary-card.urgent{border-color:#f59e0b40;background:linear-gradient(135deg,rgba(245,158,11,.07),var(--card-bg))}.mod-summary-card.urgent>span,.mod-summary-card.urgent>strong{color:#fbbf24}.mod-summary-card.healthy>span,.mod-summary-card.healthy>strong{color:#34d399}.mod-summary-card.paused>span,.mod-summary-card.paused>strong{color:#f87171}.mod-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:.85rem;align-items:start}.mod-queue,.mod-history-panel{min-width:0;border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg)}.mod-queue{padding:.85rem}.mod-queue-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.15rem .15rem .8rem}.mod-queue-head>div:first-child{display:flex;align-items:center;gap:.4rem}.mod-queue-head h3,.mod-history-head h3{margin:0;color:var(--text-color);font-size:.85rem}.mod-queue-head>div:first-child>span,.mod-history-head>span{min-width:20px;padding:.15rem .35rem;box-sizing:border-box;border-radius:999px;background:#94a3b81a;color:var(--text-muted);text-align:center;font-size:.59rem}.mod-tabs{display:flex;align-items:center;gap:.2rem}.mod-tabs button{display:inline-flex;align-items:center;gap:.28rem;min-height:32px;padding:0 .6rem;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.66rem}.mod-tabs button:hover{background:#94a3b812;color:var(--text-color)}.mod-tabs button.active{background:#3b82f61f;color:#60a5fa;font-weight:700}.mod-tabs button span{display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;box-sizing:border-box;border-radius:999px;background:var(--mod-blue);color:#fff;font-size:.54rem}.mod-loading,.mod-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:280px;border:1px dashed var(--border-color);border-radius:11px;color:var(--text-muted);font-size:.72rem}.mod-loading{gap:.45rem}.mod-loading svg{animation:mod-spin 1s linear infinite}.mod-empty{color:#34d399}.mod-empty strong{margin-top:.55rem;color:var(--text-color);font-size:.78rem}.mod-empty span{margin-top:.25rem;color:var(--text-muted);font-size:.64rem}.mod-report{padding:.95rem;margin-bottom:.55rem;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-color)}.mod-report:last-child{margin-bottom:0}.mod-report>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mod-report-labels,.mod-report-state{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.mod-ticket{color:var(--text-muted);font-family:var(--font-mono);font-size:.62rem}.mod-kind,.mod-reason,.mod-status{display:inline-flex;align-items:center;padding:.2rem .42rem;border-radius:999px;font-size:.61rem;font-weight:650}.mod-kind{border:1px solid var(--border-color);color:var(--text-color)}.mod-reason{background:#f8717117;color:#fca5a5}.mod-report-state time{color:var(--text-muted);font-size:.6rem}.mod-status{background:#94a3b81a;color:var(--text-muted)}.mod-status.open{background:#f59e0b1a;color:#fbbf24}.mod-status.reviewing{background:#3b82f61a;color:#60a5fa}.mod-status.resolved{background:#10b9811a;color:#34d399}.mod-status.rejected{background:#94a3b81a;color:var(--text-muted)}.mod-target{margin:.7rem 0;padding:.8rem;border:1px solid var(--border-color);border-radius:9px;background:var(--card-bg);color:var(--text-color)}.mod-target-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.mod-target-head strong{font-size:.76rem}.mod-target-head>span{display:inline-flex;align-items:center;gap:.25rem;color:#fbbf24;font-size:.6rem}.mod-target p{margin:.45rem 0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;white-space:pre-wrap;color:var(--text-color);font-size:.72rem;line-height:1.55}.mod-meta{color:var(--text-muted);font-size:.62rem}.mod-target .mod-gone{color:var(--text-muted);font-style:italic}.mod-detail{padding:.65rem .75rem;border-left:2px solid rgba(245,158,11,.45);background:#f59e0b0d}.mod-detail strong{color:#fbbf24;font-size:.62rem}.mod-detail p{margin:.25rem 0 0;color:var(--text-muted);font-size:.68rem;line-height:1.5}.mod-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.7rem;border-top:1px solid var(--border-color)}.mod-actions-group{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.mod-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.27rem;min-height:32px;padding:0 .58rem;border:1px solid var(--border-color);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.63rem}.mod-actions button:hover:not(:disabled){border-color:#3b82f66b;background:#3b82f612;color:var(--text-color)}.mod-actions button.danger{color:#f87171}.mod-actions button.success{border-color:#10b98147;color:#34d399}.mod-actions button:disabled{opacity:.45;cursor:default}.mod-history-panel{position:sticky;top:0;max-height:calc(100dvh - 190px);overflow:hidden}.mod-history-head{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 .8rem;border-bottom:1px solid var(--border-color)}.mod-history-head>div{display:flex;align-items:center;gap:.4rem;color:#60a5fa}.mod-history{max-height:calc(100dvh - 240px);margin:0;padding:.35rem .7rem;overflow-y:auto;list-style:none}.mod-history li{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem .1rem;border-bottom:1px solid var(--border-color)}.mod-history li:last-child{border-bottom:0}.mod-action{display:inline-flex;justify-content:center;flex:0 0 42px;padding:.18rem .25rem;border-radius:5px;background:#94a3b81a;color:var(--text-muted);font-size:.58rem;font-weight:650}.mod-action.restore{background:#10b9811a;color:#34d399}.mod-action.remove,.mod-action.suspend,.mod-action.hide{background:#f8717117;color:#fca5a5}.mod-history li>div{display:flex;min-width:0;flex-direction:column;gap:.2rem}.mod-history li strong{overflow:hidden;color:var(--text-color);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.mod-history li span,.mod-history li p{margin:0;color:var(--text-muted);font-size:.58rem;line-height:1.4}.mod-history-empty{padding:1rem;color:var(--text-muted);font-size:.68rem}@keyframes mod-spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.mod-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mod-workspace{grid-template-columns:1fr}.mod-history-panel{position:static;max-height:none}.mod-history{max-height:360px}}@media (max-width: 760px){.mod-standalone{padding-left:1rem;padding-right:1rem}.mod-panel-head{align-items:stretch;flex-direction:column}.mod-head-actions{justify-content:space-between}.mod-queue-head{align-items:flex-start;flex-direction:column}.mod-tabs{width:100%;overflow-x:auto}.mod-tabs button{flex:0 0 auto}.mod-report>header,.mod-actions{align-items:flex-start;flex-direction:column}.mod-actions-group{width:100%}}@media (max-width: 480px){.mod-summary-grid{grid-template-columns:1fr}.mod-summary-card{min-height:76px}.mod-head-actions button,.mod-actions button{flex:1}}@media (prefers-reduced-motion: reduce){.mod-loading svg{animation:none}}.demo-admin{display:flex;flex-direction:column;gap:1.25rem}.demo-admin-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.25rem}@media (max-width: 1100px){.demo-admin-grid{grid-template-columns:1fr}}.demo-admin .admin-metric-card small.quota{color:var(--text-muted)}.demo-admin .admin-metric-card.warn strong{color:#f59e0b}.demo-admin .admin-metric-card.danger strong{color:#ef4444}.demo-settings{display:flex;flex-direction:column;gap:.9rem;padding:0 1.25rem 1.25rem}.demo-setting-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;padding:.7rem 0;border-top:1px solid var(--border-color)}.demo-setting-row:first-child{border-top:none}.demo-setting-row>div strong{display:block;font-size:.9rem;color:var(--text-color)}.demo-setting-row>div small{display:block;margin-top:2px;font-size:.74rem;color:var(--text-muted);line-height:1.45}.demo-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:.66rem;font-weight:700;vertical-align:middle;background:color-mix(in srgb,#3b82f6 16%,transparent);color:#60a5fa}.demo-badge.env{background:color-mix(in srgb,#94a3b8 16%,transparent);color:#94a3b8}.demo-switch{position:relative;width:44px;height:24px;border-radius:999px;border:none;cursor:pointer;background:var(--border-color);transition:background-color .18s}.demo-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s}.demo-switch.on{background:#3b82f6}.demo-switch.on:after{transform:translate(20px)}.demo-setting-row input[type=number]{width:120px;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.88rem;text-align:right}.demo-chip-list{display:flex;flex-wrap:wrap;gap:6px}.demo-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-muted);font-size:.74rem;cursor:pointer;-webkit-user-select:none;user-select:none}.demo-chip.on{border-color:color-mix(in srgb,#ef4444 45%,var(--border-color));background:color-mix(in srgb,#ef4444 10%,var(--bg-color));color:#fca5a5}.demo-chip input{display:none}.demo-settings-actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center;flex-wrap:wrap}.demo-settings-actions .hint{margin-right:auto;font-size:.74rem;color:var(--text-muted)}.demo-btn{height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.demo-btn.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.demo-btn.danger{border-color:color-mix(in srgb,#ef4444 45%,var(--border-color));color:#f87171}.demo-btn:disabled{opacity:.55;cursor:default}.demo-inline-check{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted)}.demo-status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700}.demo-status-pill.success{background:color-mix(in srgb,#34d399 16%,transparent);color:#34d399}.demo-status-pill.error{background:color-mix(in srgb,#ef4444 16%,transparent);color:#f87171}.demo-guest-tag{margin-left:6px;font-size:.66rem;color:#a5b4fc}.demo-error-list{display:flex;flex-direction:column;gap:6px;padding:0 1.25rem 1.25rem}.demo-error-list>div{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bg-color);border:1px solid var(--border-color);font-size:.8rem}.demo-error-list code{font-family:var(--font-mono);font-size:.74rem;color:#fca5a5}.demo-note{margin:0;padding:0 1.25rem 1rem;font-size:.76rem;color:var(--text-muted);line-height:1.5}.admin-page-layout{display:flex;width:100vw;height:100dvh;background:var(--bg-color);color:var(--text-color)}.admin-content{--admin-blue: var(--primary-color, #3b82f6);flex:1;min-width:0;overflow-y:auto;padding:1.6rem 2.2rem 4rem;background:radial-gradient(circle at 94% -8%,rgba(59,130,246,.1),transparent 31%),var(--bg-color)}.admin-content>*{width:min(100%,1380px);margin-left:auto;margin-right:auto;box-sizing:border-box}.admin-content button,.admin-content input{font-family:inherit}.admin-content button:focus-visible,.admin-content input:focus-visible{outline:2px solid var(--admin-blue);outline-offset:2px}.admin-eyebrow,.admin-kicker{color:#60a5fa;font-size:.64rem;font-weight:750;letter-spacing:.13em}.admin-eyebrow{display:inline-flex;align-items:center;gap:.4rem}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1rem}.admin-header-copy{flex:1}.admin-title-row{display:flex;align-items:center;gap:.65rem;margin-top:.25rem}.admin-title-row>div{flex:1}.admin-title-row h1{margin:0;color:var(--text-color);font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;letter-spacing:-.045em}.admin-title-row p{margin:.32rem 0 0;color:var(--text-muted);font-size:.76rem}.admin-role-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .55rem;border:1px solid rgba(59,130,246,.24);border-radius:999px;background:#3b82f614;color:#60a5fa;font-size:.62rem;font-weight:650}.admin-refresh{display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:0 .72rem;border:1px solid var(--border-color);border-radius:9px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;font-size:.68rem}.admin-refresh:hover{color:var(--text-color);border-color:#3b82f66b}.admin-refresh:disabled{opacity:.45;cursor:default}.admin-nav{display:flex;align-items:center;gap:.25rem;padding:.35rem;margin-bottom:1rem;overflow-x:auto;border:1px solid var(--border-color);border-radius:11px;background:var(--card-bg)}.admin-nav button{display:inline-flex;align-items:center;gap:.36rem;min-height:36px;padding:0 .72rem;white-space:nowrap;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.7rem;font-weight:650}.admin-nav button:hover{color:var(--text-color);background:#94a3b812}.admin-nav button.active{color:#fff;background:var(--admin-blue)}.admin-nav button>span{display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;box-sizing:border-box;border-radius:999px;background:#f59e0b;color:#fff;font-size:.55rem}.admin-error{display:flex;align-items:center;gap:.4rem;margin-bottom:.85rem;padding:.7rem .85rem;border:1px solid rgba(239,68,68,.24);border-radius:9px;background:#ef44440f;color:#f87171;font-size:.7rem}.admin-page-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:400px;border:1px dashed var(--border-color);border-radius:14px;color:var(--text-muted);font-size:.72rem}.admin-page-loading svg,.admin-token-editor button:disabled svg{animation:admin-spin 1s linear infinite}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.85rem}.admin-metric-card{display:grid;grid-template-columns:1fr auto;gap:.45rem .8rem;min-height:112px;padding:1rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:13px;background:var(--card-bg)}.admin-metric-card>span{display:inline-flex;align-items:center;gap:.38rem;color:var(--text-muted);font-size:.68rem}.admin-metric-card>strong{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--text-color);font-size:1.7rem;letter-spacing:-.055em}.admin-metric-card>small{align-self:end;color:var(--text-muted);font-size:.6rem}.admin-metric-card.attention{border-color:#f59e0b42;background:linear-gradient(135deg,rgba(245,158,11,.07),var(--card-bg))}.admin-metric-card.attention>span,.admin-metric-card.attention>strong{color:#fbbf24}.admin-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}.admin-panel,.admin-quick-actions,.admin-feedback-view{border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg)}.admin-panel{padding:1rem}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--border-color)}.admin-panel-head h2,.admin-section-copy h2{margin:.18rem 0 0;color:var(--text-color);font-size:.88rem}.admin-panel-head button{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:transparent;color:#60a5fa;cursor:pointer;font-size:.65rem}.admin-status-ok,.admin-health{display:inline-flex;align-items:center;gap:.3rem;padding:.27rem .45rem;border-radius:999px;font-size:.59rem}.admin-status-ok,.admin-health.healthy{background:#10b98114;color:#34d399}.admin-health.offline{background:#f59e0b14;color:#fbbf24}.admin-status-list{display:grid}.admin-status-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;min-height:58px;border-bottom:1px solid var(--border-color)}.admin-status-list>div:last-child{border-bottom:0}.admin-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);box-shadow:0 0 0 4px #94a3b814}.admin-status-dot.on{background:#34d399;box-shadow:0 0 0 4px #10b98117}.admin-status-dot.warn{background:#fbbf24;box-shadow:0 0 0 4px #f59e0b17}.admin-status-dot.danger{background:#f87171;box-shadow:0 0 0 4px #ef444417}.admin-status-list div>div{display:flex;flex-direction:column;gap:.18rem}.admin-status-list strong{color:var(--text-color);font-size:.7rem}.admin-status-list small{color:var(--text-muted);font-size:.58rem}.admin-status-list em{color:var(--text-muted);font-size:.61rem;font-style:normal}.admin-quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:.85rem;overflow:hidden;border:1px solid var(--border-color);border-radius:9px;background:var(--border-color)}.admin-quality-grid>div{display:flex;flex-direction:column;gap:.3rem;padding:.85rem;background:var(--bg-color)}.admin-quality-grid span{color:var(--text-muted);font-size:.62rem}.admin-quality-grid strong{color:var(--text-color);font-size:1.2rem}.admin-quick-actions{display:grid;grid-template-columns:minmax(180px,.7fr) 2fr;gap:1rem;padding:1rem}.admin-section-copy p{margin:.28rem 0 0;color:var(--text-muted);font-size:.65rem}.admin-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.admin-action-grid button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.7rem;text-align:left;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color);color:var(--text-muted);cursor:pointer}.admin-action-grid button:hover{border-color:#3b82f66b;background:#3b82f60a}.admin-action-grid button>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#3b82f61a;color:#60a5fa}.admin-action-grid button>span.amber{background:#f59e0b1a;color:#fbbf24}.admin-action-grid button>span.violet{background:#8b5cf61a;color:#a78bfa}.admin-action-grid button>div{display:flex;min-width:0;flex-direction:column;gap:.2rem}.admin-action-grid strong{color:var(--text-color);font-size:.69rem}.admin-action-grid small{overflow:hidden;color:var(--text-muted);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.admin-users-panel{padding:0;overflow:hidden}.admin-users-head{padding:.9rem 1rem}.admin-users-head h2 em{margin-left:.3rem;color:var(--text-muted);font-size:.65rem;font-style:normal}.admin-search{display:flex;align-items:center;min-width:260px;min-height:35px;padding:0 .65rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-muted)}.admin-search:focus-within{border-color:var(--admin-blue);box-shadow:0 0 0 3px #3b82f617}.admin-search input{flex:1;min-width:0;padding:0 .45rem;border:0;outline:0;background:transparent;color:var(--text-color);font-size:.7rem}.admin-search button{display:grid;place-items:center;padding:.2rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th{padding:.7rem 1rem;border-bottom:1px solid var(--border-color);background:#94a3b806;color:var(--text-muted);font-size:.59rem;font-weight:650;letter-spacing:.04em}.admin-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.7rem}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#94a3b806}.admin-user-cell{display:flex;align-items:center;gap:.55rem}.admin-user-cell>img,.admin-user-cell>span{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border:1px solid rgba(59,130,246,.2);border-radius:9px;object-fit:cover;background:#3b82f614;color:#60a5fa;font-size:.7rem;font-weight:700}.admin-user-cell>div{display:flex;min-width:0;flex-direction:column;gap:.18rem}.admin-user-cell strong{color:var(--text-color);font-size:.7rem}.admin-user-cell small{color:var(--text-muted);font-size:.58rem}.admin-user-email{color:var(--text-muted)!important}.admin-token{display:inline-flex;align-items:center;gap:.28rem;color:var(--text-color)}.admin-role{display:inline-flex;padding:.2rem .4rem;border-radius:999px;background:#94a3b817;color:var(--text-muted);font-size:.58rem;font-weight:700}.admin-role.admin{background:#10b98117;color:#34d399}.admin-row-action{min-height:30px;padding:0 .55rem;border:1px solid var(--border-color);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.61rem}.admin-row-action:hover{border-color:#3b82f66b;color:#60a5fa}.admin-row-action:disabled{opacity:.4}.admin-token-editor{display:flex;align-items:center;gap:.25rem}.admin-token-editor input{width:100px;min-height:30px;padding:0 .45rem;box-sizing:border-box;border:1px solid var(--admin-blue);border-radius:7px;outline:0;background:var(--bg-color);color:var(--text-color);font-size:.68rem}.admin-token-editor button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid var(--border-color);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}.admin-token-editor button:first-of-type{border-color:#10b9814d;color:#34d399}.admin-table-empty{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:130px;color:var(--text-muted)}.admin-health{white-space:nowrap}.admin-detail-list{margin:0}.admin-detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:46px;border-bottom:1px solid var(--border-color)}.admin-detail-list>div:last-child{border-bottom:0}.admin-detail-list dt{color:var(--text-muted);font-size:.65rem}.admin-detail-list dd{margin:0;color:var(--text-color);font-size:.7rem;font-weight:650}.admin-issues>div:last-child{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.8rem}.admin-issues>div:last-child span{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .45rem;border:1px solid var(--border-color);border-radius:7px;color:var(--text-muted);font-family:var(--font-mono);font-size:.61rem}.admin-issues>div:last-child strong{color:var(--text-color)}.admin-feedback-view{padding:1rem}.admin-feedback-view>.admin-section-copy{margin-bottom:.8rem}.admin-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.admin-feedback-card{display:flex;min-width:0;flex-direction:column;padding:.9rem;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-color)}.admin-feedback-card header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.admin-score{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(59,130,246,.24);border-radius:12px;background:#3b82f614;color:#60a5fa;font-size:.82rem;font-weight:750}.admin-score-list{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.7rem}.admin-score-list span{display:inline-flex;gap:.3rem;padding:.22rem .4rem;border-radius:6px;background:#94a3b812;font-size:.59rem}.admin-score-list em{color:var(--text-muted);font-style:normal}.admin-score-list strong{color:var(--text-color)}.admin-feedback-card>p{flex:1;margin:.7rem 0;white-space:pre-wrap;color:var(--text-color);font-size:.69rem;line-height:1.55}.admin-feedback-card>time{color:var(--text-muted);font-size:.58rem}.admin-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:280px;color:#60a5fa}.admin-empty strong{margin-top:.5rem;color:var(--text-color);font-size:.74rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes admin-spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-actions{grid-template-columns:1fr}}@media (max-width: 820px){.admin-content{padding:1.2rem 1rem 3rem}.admin-header{padding-left:3.25rem}.admin-title-row{align-items:flex-start;flex-direction:column}.admin-title-row p,.admin-role-badge{display:none}.admin-overview-grid,.admin-feedback-grid{grid-template-columns:1fr}.admin-nav{padding-left:3.25rem}.admin-action-grid{grid-template-columns:1fr}}@media (max-width: 560px){.admin-header{align-items:flex-start;flex-direction:column;gap:.7rem}.admin-refresh{align-self:flex-end}.admin-metrics{grid-template-columns:1fr}.admin-metric-card{min-height:90px}.admin-quality-grid{grid-template-columns:1fr}.admin-users-head{align-items:stretch;flex-direction:column}.admin-search{min-width:0;width:100%;box-sizing:border-box}}@media (prefers-reduced-motion: reduce){.admin-page-loading svg,.admin-token-editor button:disabled svg{animation:none}}.intro-page-layout{--lab-bg: #080b10;--lab-bg-soft: #0d1118;--lab-panel: #111722;--lab-panel-raised: #171e2b;--lab-line: rgba(148, 163, 184, .2);--lab-line-strong: rgba(148, 163, 184, .34);--lab-text: #f4f7fb;--lab-muted: #8d98a8;--lab-acid: #3b82f6;--lab-acid-ink: #ffffff;--lab-blue: #6ea8ff;width:100%;height:100dvh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:68px;scroll-snap-type:y proximity;background:var(--lab-bg);color:var(--lab-text);font-family:var(--font-sans);word-break:keep-all}.intro-page-layout *,.intro-page-layout *:before,.intro-page-layout *:after{box-sizing:border-box}.intro-page-layout button,.intro-page-layout a{-webkit-tap-highlight-color:transparent}.intro-page-layout button:focus-visible,.intro-page-layout a:focus-visible{outline:2px solid var(--lab-acid);outline-offset:3px}.intro-page-layout>main{overflow-x:clip}.intro-animate .fade-up-element{opacity:0;transform:translateY(18px);transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1)}.intro-animate .fade-up-element.visible{opacity:1;transform:translateY(0)}.intro-animate .intro-scene{opacity:0;filter:blur(12px) saturate(.7);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.16,1,.3,1),clip-path 1.15s cubic-bezier(.16,1,.3,1),filter .9s ease}.intro-animate .intro-scene.transition-lift{transform:translateY(92px) scale(.985)}.intro-animate .intro-scene.transition-slide{transform:translate(88px)}.intro-animate .intro-scene.transition-scale{transform:scale(.92)}.intro-animate .intro-scene.transition-clip{clip-path:inset(0 0 42% 0);transform:translateY(28px)}.intro-animate .intro-scene.transition-wipe{transform:scaleX(.04);transform-origin:left center}.intro-animate .intro-scene.visible{opacity:1;filter:none;transform:none;clip-path:inset(0)}.intro-site-header{position:sticky;top:0;z-index:50;min-height:68px;padding:0 clamp(20px,4vw,68px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-bottom:1px solid var(--lab-line);background:#080b10db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.intro-brand,.intro-footer-brand{width:max-content;padding:0;display:inline-flex;align-items:center;gap:9px;border:0;background:none;color:var(--lab-text);cursor:pointer}.intro-brand img,.intro-footer-brand img{width:28px;height:28px;padding:4px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#111827}.intro-brand span,.intro-footer-brand span{font-size:.96rem;font-weight:650;letter-spacing:-.02em}.intro-brand strong,.intro-footer-brand strong{color:var(--lab-blue)}.intro-brand em{padding:3px 5px 2px;border:1px solid rgba(59,130,246,.48);border-radius:3px;color:var(--lab-acid);font-family:var(--font-mono);font-size:.54rem;font-style:normal;font-weight:800;letter-spacing:.1em}.intro-site-nav{display:flex;align-items:center;gap:30px}.intro-site-nav a{position:relative;padding:23px 0;color:var(--lab-muted);font-size:.78rem;font-weight:650;text-decoration:none;transition:color .18s ease}.intro-site-nav a:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:var(--lab-acid);content:"";transform:scaleX(0);transition:transform .18s ease}.intro-site-nav a:hover{color:var(--lab-text)}.intro-site-nav a:hover:after{transform:scaleX(1)}.intro-site-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.intro-header-link,.intro-header-primary,.intro-btn-primary,.intro-btn-quiet{border:0;cursor:pointer}.intro-header-link{padding:9px 12px;background:transparent;color:var(--lab-muted);font-size:.78rem}.intro-header-link:hover{color:var(--lab-text)}.intro-header-primary{padding:9px 13px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--lab-line-strong);border-radius:6px;background:#ffffff09;color:var(--lab-text);font-size:.78rem;font-weight:700;transition:border-color .18s ease,background .18s ease}.intro-header-primary:hover{border-color:var(--lab-acid);background:#3b82f60f}.lab-hero{width:min(1510px,calc(100% - clamp(40px,8vw,136px)));min-height:calc(100vh - 68px);margin:0 auto;padding:clamp(64px,8vh,112px) 0 72px;display:grid;grid-template-columns:minmax(340px,.72fr) minmax(620px,1.28fr);align-items:center;gap:clamp(40px,5vw,86px)}.lab-hero-copy{position:relative;z-index:2}.lab-status-label,.lab-section-label,.lab-section-heading>span,.lab-final-cta>span{color:var(--lab-acid);font-family:var(--font-mono);font-size:.66rem;font-weight:750;letter-spacing:.13em}.lab-status-label{display:inline-flex;align-items:center;gap:8px}.lab-status-label>span{width:7px;height:7px;border-radius:50%;background:var(--lab-acid);box-shadow:0 0 0 5px #3b82f614;animation:lab-status-pulse 2.2s ease-in-out infinite}@keyframes lab-status-pulse{50%{box-shadow:0 0 0 8px #3b82f600}}.lab-hero h1{margin:22px 0 24px;font-size:clamp(2.8rem,5.3vw,6.3rem);font-weight:730;letter-spacing:-.072em;line-height:.98}.lab-hero h1>span{position:relative;display:inline-block;color:var(--lab-acid)}.lab-hero h1>span:after{position:absolute;right:-7px;bottom:4px;width:7px;height:7px;background:var(--lab-acid);content:""}.lab-hero-copy>p{max-width:520px;margin:0;color:#a9b2c0;font-size:clamp(.98rem,1.2vw,1.1rem);line-height:1.78}.lab-hero-actions{margin-top:32px;display:flex;align-items:center;gap:22px}.intro-btn-primary{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:6px;background:var(--lab-acid);color:var(--lab-acid-ink);font-size:.86rem;font-weight:800;box-shadow:0 0 0 1px #3b82f638,0 10px 28px #0000003d;transition:transform .18s ease,box-shadow .18s ease}.intro-btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #3b82f666,0 14px 32px #00000057}.lab-hero-actions>a{display:inline-flex;align-items:center;gap:8px;color:var(--lab-muted);font-size:.8rem;text-decoration:none}.lab-hero-actions>a:hover{color:var(--lab-text)}.lab-youtube-film{position:relative;width:min(100%,390px);min-height:58px;margin-top:20px;padding:9px 13px 9px 9px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:7px;background:linear-gradient(105deg,#ff00330e,#111827b8 42%,#3b82f60b);color:var(--lab-text);text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease}.lab-youtube-film:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,#f03 0,#f03 22%,#3b82f659 22%,#3b82f659);content:"";transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}.lab-youtube-film:hover{border-color:#ffffff57;background:linear-gradient(105deg,#ff00331a,#111827e6 42%,#3b82f617);transform:translate(3px)}.lab-youtube-film:hover:after{transform:scaleX(.45)}.lab-youtube-play{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:6px;background:#f03;color:#fff;box-shadow:0 8px 24px #ff003338}.lab-youtube-play:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid rgba(255,0,51,.22);border-radius:9px;content:"";animation:youtube-signal 2.4s ease-in-out infinite}@keyframes youtube-signal{50%{opacity:0;transform:scale(1.12)}}.lab-youtube-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.lab-youtube-copy small{color:#68768a;font-family:var(--font-mono);font-size:.46rem;letter-spacing:.09em}.lab-youtube-copy strong{font-size:.7rem;font-weight:650}.lab-youtube-film>em{display:flex;align-items:center;gap:6px;color:#758399;font-family:var(--font-mono);font-size:.48rem;font-style:normal;letter-spacing:.07em}.lab-youtube-film>em span{color:#ff4d6f;font-size:.75rem;transition:transform .2s ease}.lab-youtube-film:hover>em span{transform:translate(2px,-2px)}.lab-mini-manual{margin:40px 0 0;padding:16px 0 0;display:flex;flex-wrap:wrap;gap:11px 20px;border-top:1px solid var(--lab-line);list-style:none}.lab-mini-manual li{display:flex;align-items:center;gap:7px;color:#737f8f;font-size:.69rem}.lab-mini-manual li span{color:var(--lab-acid);font-family:var(--font-mono);font-size:.61rem}.lab-canvas-wrap{position:relative;min-width:0}.lab-canvas-wrap:before{position:absolute;top:-12%;right:0;bottom:-12%;left:0;z-index:0;background:radial-gradient(circle at 52% 44%,rgba(88,113,255,.13),transparent 63%);content:"";pointer-events:none}.lab-canvas-note{position:relative;margin:11px 0 0;display:flex;justify-content:flex-end;align-items:center;gap:6px;color:#687485;font-size:.67rem}.assembly-shell{position:relative;z-index:1;overflow:hidden;border:1px solid rgba(148,163,184,.32);border-radius:12px;background:#0b0f16;box-shadow:0 36px 100px #0000007a,0 0 0 1px #ffffff06 inset}.assembly-topbar{min-height:43px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(148,163,184,.18);background:#121823;color:#8e9aaa;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.07em}.assembly-window-title,.assembly-topbar-meta{display:flex;align-items:center;gap:10px}.assembly-live-dot{width:7px;height:7px;border-radius:50%;background:var(--lab-acid)}.assembly-topbar-meta span{padding-left:10px;border-left:1px solid rgba(148,163,184,.18)}.assembly-presets{min-height:48px;padding:7px 12px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(148,163,184,.16);background:#0e131c}.assembly-presets>span,.assembly-dock-label{flex:0 0 auto;color:#627083;font-family:var(--font-mono);font-size:.56rem;font-weight:800;letter-spacing:.1em}.assembly-presets>div{display:flex;gap:4px}.assembly-presets button{padding:6px 9px;border:1px solid transparent;border-radius:4px;background:transparent;color:#798697;font-size:.67rem;cursor:pointer}.assembly-presets button:hover{color:var(--lab-text)}.assembly-presets button.active{border-color:#3b82f638;background:#3b82f614;color:var(--lab-acid)}.assembly-canvas{position:relative;height:clamp(330px,40vw,435px);min-height:330px;overflow:hidden;background:#090d13;transition:box-shadow .15s ease}.assembly-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(118,136,163,.105) 1px,transparent 1px),linear-gradient(90deg,rgba(118,136,163,.105) 1px,transparent 1px),radial-gradient(circle at 62% 40%,rgba(75,91,224,.1),transparent 50%);background-size:24px 24px,24px 24px,auto;-webkit-mask-image:linear-gradient(to bottom,#000000f0,#0000008a);mask-image:linear-gradient(to bottom,#000000f0,#0000008a);pointer-events:none}.assembly-canvas.is-drag-over{box-shadow:0 0 0 2px var(--lab-acid) inset}.assembly-canvas.is-drag-over .assembly-grid{background-color:#3b82f606}.assembly-connections{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.assembly-connections path{fill:none;stroke:#8294ae94;stroke-width:.34;vector-effect:non-scaling-stroke}.assembly-connections marker path{fill:#7d8a9e;stroke:none}.assembly-connections path.is-running{stroke:var(--lab-acid);stroke-dasharray:5 8;animation:assembly-flow .7s linear infinite}@keyframes assembly-flow{to{stroke-dashoffset:-13}}.assembly-node{position:absolute;top:var(--node-y);left:var(--node-x);z-index:3;width:140px;height:140px;overflow:visible;border:1px solid rgba(148,163,184,.32);border-left:4px solid var(--node-accent);border-radius:12px;background:#182130;color:var(--lab-text);box-shadow:0 4px 12px #00000047;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:border-color .16s ease,box-shadow .16s ease}.assembly-node:active{cursor:grabbing}.assembly-node:hover{box-shadow:0 7px 20px #00000057}.assembly-node.is-selected{border-color:var(--lab-acid);box-shadow:0 0 0 2px #3b82f661,0 12px 28px #0000006b}.assembly-node.is-active{border-color:var(--lab-acid);box-shadow:0 0 0 2px var(--lab-acid),0 8px 20px #00000052;animation:active-node-pulse .62s ease-in-out infinite alternate}@keyframes active-node-pulse{to{box-shadow:0 0 0 7px #3b82f60f,0 8px 20px #00000052}}.assembly-node-header{width:100%;height:100%;padding:18px 14px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:11px;background:#182130}.assembly-node-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--node-accent) 15%,transparent);color:var(--node-accent)}.assembly-node-copy{width:100%;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.assembly-node-copy strong{max-width:102px;color:#e9eef6;font-size:.78rem;font-weight:650;line-height:1.3}.assembly-node-chevron{flex:0 0 auto;color:#6f7c8f;transform:rotate(90deg)}.assembly-node-remove{position:absolute;top:5px;right:5px;width:18px;height:18px;padding:0;display:grid;place-items:center;border:0;border-radius:3px;background:transparent;color:#536071;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.assembly-node:hover .assembly-node-remove,.assembly-node-remove:focus-visible{opacity:1}.assembly-node-remove:hover{background:#f871711a;color:#f87171}.assembly-node>em{position:absolute;top:7px;left:10px;color:#485466;font-family:var(--font-mono);font-size:.42rem;font-style:normal;letter-spacing:.03em;text-transform:uppercase}.assembly-node-port{position:absolute;top:50%;width:10px;height:10px;border:2px solid #090d13;border-radius:50%;background:#94a3b8;transform:translateY(-50%)}.assembly-node-port.in{left:-5px}.assembly-node-port.out{right:-5px}.assembly-inspector{position:absolute;top:12px;right:12px;z-index:12;width:min(238px,calc(100% - 24px));padding:0 14px 14px;border:1px solid rgba(59,130,246,.58);border-radius:10px;background:#0e141ef7;color:#dbe4ef;box-shadow:0 20px 54px #00000080,0 0 0 1px #ffffff06 inset;animation:inspector-in .28s cubic-bezier(.22,1,.36,1) both}@keyframes inspector-in{0%{opacity:0;transform:translate(18px) scale(.97)}to{opacity:1;transform:none}}.assembly-inspector header{min-height:62px;display:grid;grid-template-columns:34px 1fr 24px;align-items:center;gap:9px;border-bottom:1px solid rgba(148,163,184,.17)}.assembly-inspector header>div{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--node-accent) 14%,transparent);color:var(--node-accent)}.assembly-inspector header>span{min-width:0;display:flex;flex-direction:column;gap:3px}.assembly-inspector header small{color:#64748b;font-family:var(--font-mono);font-size:.46rem;letter-spacing:.08em}.assembly-inspector header strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.assembly-inspector header button{width:24px;height:24px;padding:0;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#748196;cursor:pointer}.assembly-inspector header button:hover{background:#ffffff0f;color:#fff}.assembly-inspector>label{margin-top:13px;display:grid;gap:6px}.assembly-inspector>label>span{color:#77859a;font-size:.57rem;font-weight:650}.assembly-inspector input,.assembly-inspector select{width:100%;height:36px;padding:0 9px;border:1px solid rgba(148,163,184,.24);border-radius:5px;outline:none;background:#0a0f17;color:#dce4ef;font:inherit;font-size:.66rem}.assembly-inspector input:focus,.assembly-inspector select:focus{border-color:var(--lab-acid)}.assembly-inspector-status{margin-top:13px;padding-top:11px;display:flex;align-items:center;gap:7px;border-top:1px solid rgba(148,163,184,.14);color:#68778a;font-family:var(--font-mono);font-size:.48rem}.assembly-inspector-status span{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px #34d39912}.assembly-drop-message{position:absolute;right:12px;bottom:12px;z-index:8;padding:7px 9px;border-radius:4px;background:var(--lab-acid);color:var(--lab-acid-ink);font-family:var(--font-mono);font-size:.58rem;font-weight:800}.assembly-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#5f6b7a;text-align:center}.assembly-empty strong{margin-top:8px;color:#a0a9b6;font-size:.78rem}.assembly-empty span{margin-top:4px;font-size:.64rem}.assembly-dock{min-height:67px;padding:10px 12px;display:flex;align-items:center;gap:12px;border-top:1px solid rgba(148,163,184,.16);border-bottom:1px solid rgba(148,163,184,.16);background:#0e131c}.assembly-palette{min-width:0;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.assembly-palette::-webkit-scrollbar{display:none}.assembly-palette button{min-height:38px;padding:0 9px;display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;border:1px solid rgba(148,163,184,.2);border-radius:5px;background:#141b26;color:var(--node-accent);cursor:grab;transition:border-color .15s ease,background .15s ease}.assembly-palette button span{color:#b5bdc9;font-size:.61rem;white-space:nowrap}.assembly-palette button svg:last-child{color:#4b5767}.assembly-palette button:hover{border-color:var(--node-accent);background:color-mix(in srgb,var(--node-accent) 7%,#141b26)}.assembly-runbar{min-height:53px;padding:7px 9px 7px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111722}.assembly-console{min-width:0;display:flex;align-items:center;gap:9px;color:#788597;font-family:var(--font-mono);font-size:.61rem}.assembly-console>span{color:var(--lab-acid);font-weight:800}.assembly-console p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.assembly-console.running p{color:#d6dde7}.assembly-console.done p{color:var(--lab-acid)}.assembly-run-actions{flex:0 0 auto;display:flex;gap:6px}.assembly-reset,.assembly-run{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer}.assembly-reset{width:34px;padding:0;border:1px solid rgba(148,163,184,.22);background:transparent;color:#8290a2}.assembly-reset:hover{border-color:#8b98aa;color:var(--lab-text)}.assembly-run{min-width:106px;padding:0 13px;gap:7px;border:0;background:var(--lab-acid);color:var(--lab-acid-ink);font-family:var(--font-mono);font-size:.59rem;font-weight:900;letter-spacing:.04em}.assembly-run:disabled{cursor:wait;opacity:.58}.assembly-run svg{animation:none}.assembly-run:disabled svg{animation:run-spin .9s linear infinite}@keyframes run-spin{to{transform:rotate(360deg)}}.lab-command-strip{min-height:76px;display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,48px);overflow:hidden;border-top:1px solid rgba(59,130,246,.28);border-bottom:1px solid rgba(59,130,246,.28);background:var(--lab-acid);color:var(--lab-acid-ink);font-family:var(--font-mono);font-size:clamp(.82rem,1.6vw,1.2rem);font-weight:900;letter-spacing:.08em;white-space:nowrap}.lab-command-strip i{width:7px;height:7px;flex:0 0 auto;background:var(--lab-acid-ink);transform:rotate(45deg)}.lab-principles,.lab-recipes,.lab-control-section,.lab-prompt-section,.lab-product-proof,.lab-app-builder,.lab-integrations{width:min(1380px,calc(100% - clamp(40px,8vw,136px)));min-height:calc(100dvh - 68px);margin:0 auto;padding:clamp(120px,13vw,192px) 0}.lab-hero,.lab-principles,.lab-recipes,.lab-control-section,.lab-prompt-section,.lab-product-proof,.lab-app-builder,.lab-integrations,.lab-final-cta{scroll-margin-top:68px;scroll-snap-align:start}.lab-section-heading{display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;column-gap:32px;align-items:start}.lab-section-heading h2,.lab-control-intro h2,.lab-integrations-copy h2,.lab-final-cta h2{margin:0;font-size:clamp(2.3rem,4.8vw,5.4rem);font-weight:680;letter-spacing:-.065em;line-height:1.04}.lab-principle-grid{margin-top:76px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lab-line-strong);border-bottom:1px solid var(--lab-line-strong)}.lab-principle-card{min-width:0;padding:28px clamp(20px,2.7vw,42px) 36px;border-right:1px solid var(--lab-line-strong)}.lab-principle-card:first-child{padding-left:0}.lab-principle-card:last-child{padding-right:0;border-right:0}.lab-principle-index{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#667284;font-family:var(--font-mono);font-size:.61rem;letter-spacing:.1em}.lab-principle-index span{color:var(--lab-acid)}.lab-principle-index em{font-style:normal}.lab-principle-card h3{margin:54px 0 14px;font-size:clamp(1.3rem,2vw,1.85rem);letter-spacing:-.045em}.lab-principle-card>p{min-height:52px;margin:0;color:var(--lab-muted);font-size:.86rem;line-height:1.72}.lab-principle-diagram{position:relative;min-height:174px;margin-top:40px;overflow:hidden;border:1px solid rgba(148,163,184,.14);border-radius:8px;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),radial-gradient(circle at 50% 30%,rgba(59,130,246,.1),transparent 62%);background-color:#0b1018;background-size:18px 18px,18px 18px,auto}.principle-diagram-bar{height:34px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(148,163,184,.16);background:#0f1621eb;color:#66758a;font-family:var(--font-mono);font-size:.45rem;letter-spacing:.07em}.principle-diagram-bar em{color:#34d399;font-style:normal}.principle-mini-flow{min-height:138px;padding:20px 11px;display:flex;align-items:center;justify-content:center}.principle-mini-flow>div{width:74px;height:82px;padding:8px 5px;display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(148,163,184,.27);border-left:3px solid var(--node-accent);border-radius:8px;background:#17202d;box-shadow:0 8px 22px #00000040}.principle-mini-flow>div>span{color:var(--node-accent)}.principle-mini-flow>div strong{color:#cbd5e1;font-size:.53rem;text-align:center}.principle-mini-flow>div small{color:#5f6d80;font-family:var(--font-mono);font-size:.39rem;text-transform:uppercase}.principle-mini-flow>i{width:clamp(7px,1.4vw,22px);height:1px;flex:0 1 22px;background:linear-gradient(90deg,#536175,var(--lab-acid))}.diagram-intervene{padding:12px}.principle-event-row{min-height:35px;padding:0 9px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;border:1px solid rgba(148,163,184,.15);border-radius:5px;background:#0f1621e6;color:#8190a4;font-size:.53rem}.principle-event-row svg{color:#a78bfa}.principle-event-row em{color:#526075;font-family:var(--font-mono);font-size:.43rem;font-style:normal}.principle-approval-gate{min-height:70px;margin-top:10px;padding:10px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid rgba(244,114,182,.46);border-left:3px solid #f472b6;border-radius:7px;background:#f472b611}.principle-approval-gate>span{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;background:#f472b61f;color:#f9a8d4}.principle-approval-gate>div{min-width:0;display:flex;flex-direction:column;gap:4px}.principle-approval-gate small{color:#a36b8d;font-family:var(--font-mono);font-size:.4rem;letter-spacing:.06em}.principle-approval-gate strong{color:#dce3ed;font-size:.57rem}.principle-approval-gate>em{padding:4px 5px;border-radius:3px;background:#f472b6;color:#190d15;font-family:var(--font-mono);font-size:.4rem;font-style:normal;font-weight:900}.principle-gate-actions{margin-top:9px;display:grid;grid-template-columns:1fr 1.5fr;gap:6px;font-size:.48rem;text-align:center}.principle-gate-actions span,.principle-gate-actions strong{padding:7px 6px;border:1px solid rgba(148,163,184,.18);border-radius:4px;color:#718095;font-weight:600}.principle-gate-actions strong{border-color:#3b82f666;background:#3b82f61a;color:#93c5fd}.principle-trace{padding:12px 12px 7px}.principle-trace>div{min-height:33px;display:grid;grid-template-columns:12px 1fr auto;align-items:center;border-bottom:1px solid rgba(148,163,184,.12);color:#91a0b4;font-family:var(--font-mono);font-size:.48rem}.principle-trace i{width:6px;height:6px;border-radius:50%}.principle-trace i.done{background:#34d399}.principle-trace i.active{background:var(--lab-acid);box-shadow:0 0 0 4px #3b82f61a;animation:lab-status-pulse 1.6s infinite}.principle-trace em{color:#58667a;font-style:normal}.principle-trace>div:last-child em{color:#60a5fa}.principle-progress{height:4px;margin:4px 12px 0;overflow:hidden;border-radius:4px;background:#202a38}.principle-progress span{width:76%;height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#34d399,var(--lab-acid))}.lab-recipes{border-top:1px solid var(--lab-line)}.lab-recipes-heading h2,.lab-recipes-heading>p{grid-column:2}.lab-recipes-heading>p{max-width:560px;margin:24px 0 0;color:var(--lab-muted);font-size:.9rem;line-height:1.75}.lab-recipe-list{margin-top:68px;border-top:1px solid var(--lab-line-strong)}.lab-recipe-row{min-height:206px;padding:28px 0;display:grid;grid-template-columns:56px minmax(260px,.82fr) minmax(480px,1.18fr);align-items:center;gap:clamp(24px,4vw,70px);border-bottom:1px solid var(--lab-line-strong)}.lab-recipe-number{align-self:start;padding-top:5px;color:var(--lab-blue);font-family:var(--font-mono);font-size:.63rem}.lab-recipe-copy>span{color:#64748b;font-family:var(--font-mono);font-size:.57rem;font-weight:750;letter-spacing:.09em}.lab-recipe-copy h3{margin:12px 0 10px;font-size:clamp(1.24rem,2vw,1.7rem);letter-spacing:-.04em}.lab-recipe-copy p{margin:0;color:var(--lab-muted);font-size:.78rem;line-height:1.67}.lab-recipe-flow,.prompt-result-flow{min-width:0;display:flex;align-items:center;justify-content:flex-end}.lab-recipe-flow>div{width:94px;min-height:92px;padding:12px 8px;display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(148,163,184,.25);border-left:3px solid var(--node-accent);border-radius:9px;background:#141b27;color:var(--node-accent);text-align:center}.lab-recipe-flow>div span{color:#c1c9d5;font-size:.62rem;line-height:1.3}.lab-recipe-flow>i,.prompt-result-flow>i{width:clamp(13px,2vw,34px);height:1px;flex:0 1 34px;background:linear-gradient(90deg,#526173,var(--lab-blue))}.lab-recipe-row.visible .lab-recipe-flow>div{animation:recipe-node-in .55s both}.lab-recipe-row.visible .lab-recipe-flow>div:nth-of-type(2){animation-delay:.08s}.lab-recipe-row.visible .lab-recipe-flow>div:nth-of-type(3){animation-delay:.16s}.lab-recipe-row.visible .lab-recipe-flow>div:nth-of-type(4){animation-delay:.24s}@keyframes recipe-node-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.lab-control-section{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(620px,1.28fr);gap:clamp(54px,7vw,112px);border-top:1px solid var(--lab-line)}.lab-control-intro{position:sticky;top:112px;align-self:start}.lab-control-intro h2{margin-top:20px;font-size:clamp(2.5rem,4.5vw,4.7rem)}.lab-control-intro>p,.lab-integrations-copy>p,.lab-proof-heading>p{max-width:510px;margin:26px 0 0;color:var(--lab-muted);font-size:.94rem;line-height:1.8}.lab-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lab-control-card{min-width:0;padding:22px;border:1px solid var(--lab-line);border-radius:9px;background:var(--lab-bg-soft)}.lab-approval-card{grid-column:1 / -1}.lab-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7d8999;font-family:var(--font-mono);font-size:.57rem;font-weight:800;letter-spacing:.08em}.lab-card-topline span{display:inline-flex;align-items:center;gap:7px}.lab-card-topline em{color:var(--lab-acid);font-style:normal}.lab-control-card h3{margin:24px 0 9px;font-size:1.16rem;letter-spacing:-.035em}.lab-control-card>p{margin:0;color:var(--lab-muted);font-size:.78rem;line-height:1.65}.lab-approval-flow{min-height:168px;margin-top:22px;padding:24px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.14);background-image:linear-gradient(rgba(148,163,184,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.075) 1px,transparent 1px);background-size:20px 20px}.lab-approval-flow>div{position:relative;width:84px;min-height:70px;display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(148,163,184,.26);border-radius:7px;background:#151c27;color:#91a0b3;font-size:.65rem}.lab-approval-flow>i{width:clamp(16px,3vw,50px);height:1px;flex:1 1 auto;background:#475366}.lab-approval-flow>i.paused{background:repeating-linear-gradient(90deg,#f472b6 0 4px,transparent 4px 8px)}.lab-approval-flow .approval-gate{min-height:92px;border-color:#f472b6b8;background:#f472b612;color:#f9a8d4}.lab-approval-flow .approval-gate b{position:absolute;top:-9px;padding:3px 5px;border-radius:3px;background:#f472b6;color:#270c1b;font-family:var(--font-mono);font-size:.46rem}.lab-preflight-card ul{margin:22px 0 0;padding:0;border-top:1px solid rgba(148,163,184,.14);list-style:none}.lab-preflight-card li{min-height:44px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:6px;border-bottom:1px solid rgba(148,163,184,.14);color:#aeb7c4;font-size:.68rem}.lab-preflight-card li svg{color:#34d399}.lab-preflight-card li b{color:#34d399;font-family:var(--font-mono);font-size:.5rem}.lab-terminal{min-height:133px;margin-top:22px;padding:14px;border:1px solid rgba(148,163,184,.14);background:#080c12;font-family:var(--font-mono)}.lab-terminal p{margin:0 0 13px;display:flex;align-items:center;gap:7px;color:#59677a;font-size:.56rem}.lab-terminal p:last-child{margin-bottom:0}.lab-terminal p span{color:#9ea9b9}.lab-terminal p i{width:6px;height:6px;border-radius:50%}.lab-terminal p i.success{background:#34d399}.lab-terminal p i.waiting{background:#fbbf24;box-shadow:0 0 0 4px #fbbf2414}.lab-prompt-section{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(620px,1.32fr);align-items:center;gap:clamp(54px,8vw,126px);border-top:1px solid var(--lab-line)}.lab-prompt-copy h2{margin:20px 0 24px;font-size:clamp(2.45rem,4.4vw,4.8rem);font-weight:680;letter-spacing:-.065em;line-height:1.04}.lab-prompt-copy p{margin:0;color:var(--lab-muted);font-size:.91rem;line-height:1.8}.prompt-composer{overflow:hidden;border:1px solid var(--lab-line-strong);border-radius:11px;background:#0c1119;box-shadow:0 26px 70px #0000004d}.prompt-composer-bar{min-height:48px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--lab-line);background:#121925;color:#8592a4;font-family:var(--font-mono);font-size:.57rem;font-weight:750;letter-spacing:.07em}.prompt-composer-bar span{display:inline-flex;align-items:center;gap:7px;color:var(--lab-blue)}.prompt-composer-bar em{font-style:normal}.prompt-composer-tabs{padding:9px 12px;display:flex;gap:5px;border-bottom:1px solid var(--lab-line)}.prompt-composer-tabs button{padding:7px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:#778397;font-size:.67rem;cursor:pointer}.prompt-composer-tabs button.active{border-color:#3b82f65c;background:#3b82f61a;color:#93c5fd}.prompt-composer-input{min-height:116px;padding:20px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--lab-line)}.prompt-composer-input>span{color:var(--lab-blue);font-family:var(--font-mono);font-size:.56rem;font-weight:800}.prompt-composer-input p{margin:0;color:#dce3ed;font-size:.89rem;line-height:1.65;animation:prompt-copy-in .35s ease both}@keyframes prompt-copy-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.prompt-composer-input button{min-width:94px;height:44px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #60a5fa;border-radius:7px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-family:var(--font-mono);font-size:.6rem;font-weight:900;letter-spacing:.08em;box-shadow:0 0 0 4px #3b82f61a,0 10px 28px #2563eb4d;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.prompt-composer-input button:hover{transform:translateY(-2px);box-shadow:0 0 0 5px #3b82f621,0 14px 34px #2563eb61}.prompt-composer-result{padding:18px 20px 20px;background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);background-size:20px 20px;animation:prompt-result-in .45s ease both}@keyframes prompt-result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.prompt-result-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#64748b;font-family:var(--font-mono);font-size:.53rem;letter-spacing:.07em}.prompt-result-meta span{color:#93c5fd}.prompt-result-meta em{font-style:normal}.prompt-result-flow{min-height:132px;justify-content:center}.prompt-result-flow>div{width:98px;min-height:82px;padding:10px 7px;display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(148,163,184,.27);border-left:3px solid var(--node-accent);border-radius:9px;background:#17202d;color:var(--node-accent)}.prompt-result-flow>div span{color:#ccd3de;font-size:.61rem;text-align:center}.prompt-composer-result>p{margin:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#748194;font-size:.62rem}.prompt-composer-result>p svg{color:#60a5fa}.prompt-composer-empty{min-height:202px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-image:linear-gradient(rgba(148,163,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.055) 1px,transparent 1px);background-size:20px 20px;text-align:center}.prompt-composer-empty>div{width:42px;height:42px;display:grid;place-items:center;border:1px dashed rgba(96,165,250,.4);border-radius:50%;color:#60a5fa}.prompt-composer-empty strong{margin-top:13px;color:#aeb9c8;font-size:.76rem}.prompt-composer-empty p{max-width:390px;margin:7px 0 0;color:#66758a;font-size:.62rem;line-height:1.6}.prompt-composer-empty>span{margin-top:13px;color:#455266;font-family:var(--font-mono);font-size:.47rem;letter-spacing:.09em}.lab-product-proof{border-top:1px solid var(--lab-line)}.lab-proof-heading{grid-template-columns:minmax(180px,.42fr) 1fr}.lab-proof-heading h2{grid-column:2}.lab-proof-heading>p{grid-column:2}.lab-product-frame{margin-top:70px;overflow:hidden;border:1px solid var(--lab-line-strong);border-radius:11px;background:#0d121a;box-shadow:0 36px 100px #00000070}.lab-product-bar,.lab-product-caption{min-height:46px;padding:0 15px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;color:#748093;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.07em}.lab-product-bar{border-bottom:1px solid var(--lab-line)}.lab-product-bar>span{display:flex;gap:5px}.lab-product-bar>span i{width:7px;height:7px;border-radius:50%;background:#475367}.lab-product-bar>span i:first-child{background:#f87171}.lab-product-bar>span i:nth-child(2){background:#fbbf24}.lab-product-bar>span i:nth-child(3){background:#34d399}.lab-product-bar em{justify-self:end;display:flex;align-items:center;gap:6px;color:#8793a4;font-style:normal}.lab-product-bar em i{width:6px;height:6px;border-radius:50%;background:#34d399}.lab-product-frame>img{width:100%;height:auto;display:block;background:#080b10}.lab-product-caption{grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lab-line)}.lab-product-caption span:nth-child(2){text-align:center}.lab-product-caption span:last-child{text-align:right}.lab-app-builder{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(620px,1.38fr);align-items:center;gap:clamp(54px,8vw,126px);border-top:1px solid var(--lab-line)}.lab-app-builder-copy h2{margin:20px 0 24px;font-size:clamp(2.5rem,4.6vw,5rem);font-weight:680;letter-spacing:-.065em;line-height:1.04}.lab-app-builder-copy>p{margin:0;color:var(--lab-muted);font-size:.88rem;line-height:1.8}.lab-app-builder-copy ul{margin:30px 0 0;padding:0;border-top:1px solid var(--lab-line);list-style:none}.lab-app-builder-copy li{min-height:46px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--lab-line);color:#a4afbd;font-size:.69rem}.lab-app-builder-copy li span{color:var(--lab-acid);font-family:var(--font-mono);font-size:.48rem}.lab-app-builder-placeholder{aspect-ratio:8 / 5;overflow:hidden;border:1px dashed rgba(96,165,250,.58);border-radius:11px;background:#0b1018;box-shadow:0 34px 90px #00000061}.app-builder-placeholder-bar{min-height:44px;padding:0 14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px dashed rgba(96,165,250,.28);color:#64748b;font-family:var(--font-mono);font-size:.51rem;letter-spacing:.07em}.app-builder-placeholder-bar>span{display:flex;gap:5px}.app-builder-placeholder-bar>span i{width:6px;height:6px;border-radius:50%;background:#3e4a5c}.app-builder-placeholder-bar>em{justify-self:end;color:#4f75a7;font-style:normal}.app-builder-placeholder-body{height:calc(100% - 44px);display:flex;flex-direction:column;align-items:center;justify-content:center;background-image:linear-gradient(rgba(59,130,246,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.065) 1px,transparent 1px),radial-gradient(circle at center,rgba(59,130,246,.08),transparent 54%);background-size:28px 28px,28px 28px,auto;text-align:center}.app-builder-placeholder-body>span{color:#4d6c95;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.14em}.app-builder-placeholder-body>strong{margin-top:12px;color:#b7c7da;font-size:clamp(1.5rem,3vw,2.8rem);letter-spacing:-.04em}.app-builder-placeholder-body>p{margin:10px 16px 0;color:#617086;font-size:.65rem}.app-builder-placeholder-body code{margin-top:20px;padding:7px 9px;border:1px solid rgba(96,165,250,.2);border-radius:4px;color:#6090cd;font-family:var(--font-mono);font-size:.53rem}.lab-integrations{position:relative;border-top:1px solid var(--lab-line)}.intro-animate .lab-integrations.intro-scene{filter:none}.lab-integrations-copy{display:grid;grid-template-columns:minmax(190px,.42fr) 1fr;column-gap:32px;align-items:start}.lab-integrations-copy>.lab-section-label{grid-row:1 / span 2}.lab-integrations-copy h2{grid-column:2;margin:0;font-size:clamp(2.5rem,4.7vw,5.2rem)}.lab-integrations-copy>p{grid-column:2;max-width:590px;margin-top:24px}.lab-integration-stage{position:relative;z-index:0;margin-top:72px;overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:linear-gradient(rgba(59,130,246,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.055) 1px,transparent 1px),radial-gradient(ellipse at 50% 42%,rgba(59,130,246,.13),transparent 48%),#090e16;background-size:28px 28px,28px 28px,auto,auto;box-shadow:0 36px 100px #0000006b,0 0 0 1px #ffffff05 inset;isolation:isolate;will-change:transform}.lab-integration-stage:before,.lab-integration-stage:after{position:absolute;top:0;bottom:0;z-index:4;content:"";pointer-events:none}.lab-integration-stage:before{left:0;width:100%;background:linear-gradient(90deg,#090e16 0,transparent 8%,transparent 92%,#090e16 100%)}.lab-integration-stage:after{left:-12%;width:11%;background:linear-gradient(90deg,transparent,rgba(96,165,250,.09),rgba(147,197,253,.2),transparent);filter:blur(2px);transform:skew(-12deg);animation:integration-scan 8s ease-in-out infinite}@keyframes integration-scan{0%,12%{transform:translate(0) skew(-12deg)}78%,to{transform:translate(1120%) skew(-12deg)}}.lab-integration-stage-header,.lab-integration-stage-footer{position:relative;z-index:5;min-height:48px;padding:0 15px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;background:#0d131de6;color:#637187;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.08em}.lab-integration-stage-header{border-bottom:1px solid rgba(148,163,184,.17)}.lab-integration-stage-header>span{display:flex;align-items:center;gap:7px}.lab-integration-stage-header>span i{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 0 5px #34d39912;animation:connector-live 1.8s ease-in-out infinite}.lab-integration-stage-header>strong{color:#93c5fd;font-size:.53rem}.lab-integration-stage-header>em{justify-self:end;font-style:normal}@keyframes connector-live{50%{box-shadow:0 0 0 9px #34d39900}}.lab-integration-lanes{position:relative;z-index:2;padding:22px 0;display:flex;flex-direction:column;gap:11px}.lab-integration-lane{width:104%;margin-left:-2%;overflow:hidden}.lab-integration-track{width:max-content;display:flex;gap:11px;will-change:transform;animation:integration-stream 31s linear infinite}.lab-integration-lane.lane-2 .lab-integration-track{animation-duration:37s;animation-direction:reverse}.lab-integration-lane.lane-3 .lab-integration-track{animation-duration:33s}@media (hover: hover) and (pointer: fine){.lab-integration-stage.is-inspecting .lab-integration-track{animation-play-state:paused}}@keyframes integration-stream{to{transform:translate(calc(-50% - 5.5px))}}.lab-integration-group{display:flex;gap:11px}.lab-integration-group article{position:relative;width:182px;height:72px;padding:0 12px;display:grid;grid-template-columns:20px 38px 1fr 7px;align-items:center;gap:9px;overflow:hidden;border:1px solid rgba(148,163,184,.23);border-radius:8px;background:linear-gradient(110deg,color-mix(in srgb,var(--integration-color) 6%,#131b27),#111824 72%);color:#9ca9ba;box-shadow:0 9px 24px #0000003b;transition:border-color .2s ease,background .2s ease,transform .2s ease}.lab-integration-group article:before{position:absolute;top:0;right:0;left:0;height:2px;background:linear-gradient(90deg,var(--integration-color),transparent 72%);content:""}.lab-integration-group article:hover{border-color:color-mix(in srgb,var(--integration-color) 58%,#64748b);background:linear-gradient(110deg,color-mix(in srgb,var(--integration-color) 12%,#131b27),#151e2c 72%);transform:translateY(-2px)}.lab-integration-group article>span{color:#4f5e73;font-family:var(--font-mono);font-size:.46rem}.lab-integration-group article>div{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--integration-color) 12%,transparent);color:var(--integration-color)}.lab-integration-group article>p{min-width:0;margin:0;display:flex;flex-direction:column;gap:4px}.lab-integration-group article strong{overflow:hidden;color:#c5cfdb;font-size:.66rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.lab-integration-group article small{color:#536278;font-family:var(--font-mono);font-size:.42rem;letter-spacing:.07em}.lab-integration-group article>i{width:6px;height:6px;border-radius:50%;background:var(--integration-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--integration-color) 10%,transparent);animation:integration-node-signal 2.2s ease-in-out infinite;animation-delay:calc(var(--integration-index) * -90ms)}@keyframes integration-node-signal{50%{opacity:.38;transform:scale(.72)}}.lab-integration-stage-footer{min-height:42px;border-top:1px solid rgba(148,163,184,.17);font-size:.45rem}.lab-integration-stage-footer>span{display:flex;align-items:center;gap:4px}.lab-integration-stage-footer>span i{--signal-min: calc(4 / 9);width:3px;height:9px;display:block;border-radius:2px;background:#3b82f6;animation:footer-signal .9s ease-in-out infinite alternate}.lab-integration-stage-footer>span i:nth-child(2){--signal-min: calc(4 / 14);height:14px;animation-delay:-.3s}.lab-integration-stage-footer>span i:nth-child(3){--signal-min: calc(4 / 6);height:6px;animation-delay:-.6s}.lab-integration-stage-footer>em{color:#48566a;font-style:normal}.lab-integration-stage-footer>strong{justify-self:end;color:#6682a8;font-size:.45rem}@keyframes footer-signal{to{transform:scaleY(var(--signal-min));opacity:.45}}.lab-final-cta{width:min(1380px,calc(100% - clamp(40px,8vw,136px)));min-height:calc(100dvh - 156px);margin:0 auto 88px;padding:clamp(60px,8vw,110px);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(59,130,246,.32);background:linear-gradient(rgba(59,130,246,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.065) 1px,transparent 1px),#0b1019;background-size:26px 26px;text-align:center}.lab-final-cta h2{margin:22px 0 20px}.lab-final-cta>p{margin:0;color:#929eab;font-size:.94rem}.lab-final-cta>div{margin-top:32px;display:flex;justify-content:center;gap:9px}.intro-btn-quiet{min-height:46px;padding:0 17px;border:1px solid var(--lab-line-strong);border-radius:6px;background:#ffffff08;color:var(--lab-text);font-size:.82rem;font-weight:700}.intro-btn-quiet:hover{border-color:#7d8999;background:#ffffff0e}.intro-footer{min-height:108px;padding:28px clamp(20px,4vw,68px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid var(--lab-line);color:#687487}.intro-footer>p{margin:0;font-size:.68rem}.intro-footer nav{display:flex;justify-content:flex-end;gap:18px}.intro-footer nav button{padding:0;border:0;background:transparent;color:#687487;font-size:.68rem;cursor:pointer}.intro-footer nav button:hover{color:var(--lab-text)}@media (max-width: 1180px){.intro-site-header{grid-template-columns:1fr auto}.intro-site-nav{display:none}.lab-hero{grid-template-columns:1fr;padding-top:76px}.lab-hero-copy{max-width:760px}.lab-hero h1{font-size:clamp(3.5rem,9vw,6.4rem)}.lab-control-section,.lab-prompt-section,.lab-app-builder{grid-template-columns:1fr}.lab-control-intro{position:static;max-width:720px}.intro-footer{grid-template-columns:1fr 1fr}.intro-footer>p{grid-column:1 / -1;grid-row:2}}@media (max-width: 780px){.intro-animate .intro-scene.transition-slide{transform:translateY(38px)}.intro-animate .intro-scene.transition-slide.visible{transform:none}.intro-site-header{min-height:60px;padding:0 18px}.intro-brand em,.intro-header-link{display:none}.intro-header-primary{padding:8px 10px}.lab-hero,.lab-principles,.lab-recipes,.lab-control-section,.lab-prompt-section,.lab-product-proof,.lab-app-builder,.lab-integrations,.lab-final-cta{width:calc(100% - 32px)}.lab-hero{min-height:auto;padding:64px 0 52px;gap:52px}.lab-principles,.lab-recipes,.lab-control-section,.lab-prompt-section,.lab-product-proof,.lab-app-builder,.lab-integrations{padding-block:104px}.lab-hero h1{font-size:clamp(2.8rem,13vw,5rem)}.lab-mini-manual{gap:10px 16px}.assembly-topbar-meta span:last-child{display:none}.assembly-presets{align-items:flex-start}.assembly-presets>div{min-width:0;overflow-x:auto}.assembly-presets button{flex:0 0 auto}.assembly-canvas{height:440px}.assembly-node{width:132px;height:132px}.assembly-dock{align-items:flex-start}.assembly-palette button span{display:none}.assembly-palette button{width:38px;justify-content:center}.assembly-palette button svg:last-child{display:none}.lab-command-strip{min-height:62px;justify-content:flex-start;padding:0 20px}.lab-command-strip span:nth-of-type(5),.lab-command-strip i:nth-of-type(4){display:none}.lab-section-heading{grid-template-columns:1fr;gap:22px}.lab-section-heading h2,.lab-recipes-heading>p,.lab-proof-heading h2,.lab-proof-heading>p{grid-column:1}.lab-principle-grid{grid-template-columns:1fr;margin-top:52px}.lab-principle-card,.lab-principle-card:first-child,.lab-principle-card:last-child{padding:24px 0 30px;border-right:0;border-bottom:1px solid var(--lab-line-strong)}.lab-principle-card:last-child{border-bottom:0}.lab-principle-card h3{margin-top:34px}.lab-principle-card>p{min-height:0}.lab-recipe-list{margin-top:48px}.lab-recipe-row{grid-template-columns:34px 1fr;gap:18px;padding:28px 0 34px}.lab-recipe-flow{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto;padding:4px 0}.lab-recipe-flow>div{width:86px;min-height:84px}.lab-control-grid{grid-template-columns:1fr}.lab-approval-card{grid-column:1}.lab-approval-flow{padding:18px 10px;overflow-x:auto;justify-content:flex-start}.lab-prompt-section{gap:42px}.prompt-result-flow{justify-content:flex-start;overflow-x:auto;padding:10px 0}.lab-product-bar{grid-template-columns:1fr auto}.lab-product-bar>strong{display:none}.lab-product-caption{grid-template-columns:1fr;gap:8px;padding:12px 14px}.lab-product-caption span,.lab-product-caption span:nth-child(2),.lab-product-caption span:last-child{text-align:left}.lab-app-builder{gap:52px}.app-builder-placeholder-bar{grid-template-columns:1fr auto}.app-builder-placeholder-bar>strong{display:none}.lab-integrations-copy{grid-template-columns:1fr;gap:20px}.lab-integrations-copy>.lab-section-label{grid-row:auto}.lab-integrations-copy h2,.lab-integrations-copy>p{grid-column:1}.lab-integrations-copy>p{margin-top:0}.lab-integration-stage{margin-top:52px}.lab-integration-stage-header,.lab-integration-stage-footer{grid-template-columns:1fr auto}.lab-integration-stage-header>strong,.lab-integration-stage-footer>em{display:none}.lab-integration-group article{width:164px}.lab-final-cta{padding:58px 22px}.intro-footer{grid-template-columns:1fr;align-items:start}.intro-footer nav{justify-content:flex-start}.intro-footer>p{grid-column:1;grid-row:auto}}@media (max-width: 520px){.intro-brand span{font-size:.86rem}.intro-header-primary{font-size:.7rem}.lab-hero-actions{align-items:flex-start;flex-direction:column}.lab-hero-actions .intro-btn-primary{width:100%}.lab-youtube-film{grid-template-columns:40px 1fr}.lab-youtube-film>em{display:none}.lab-mini-manual{flex-direction:column}.assembly-topbar{padding:0 10px}.assembly-window-title{font-size:.52rem}.assembly-topbar-meta{display:none}.assembly-presets{gap:8px;padding-inline:9px}.assembly-presets button{padding-inline:7px;font-size:.61rem}.assembly-canvas{height:480px}.assembly-node{left:min(var(--node-x),calc(100% - 132px));width:128px;height:128px}.assembly-node-header{padding:17px 11px 13px}.assembly-node-icon{width:36px;height:36px}.assembly-node-copy strong{max-width:96px;font-size:.7rem}.assembly-dock{padding-inline:9px}.assembly-console p{max-width:120px}.assembly-run{min-width:94px;padding-inline:9px}.lab-command-strip{gap:14px;font-size:.72rem}.lab-command-strip span:nth-of-type(4),.lab-command-strip i:nth-of-type(3){display:none}.lab-control-intro h2,.lab-prompt-copy h2,.lab-app-builder-copy h2,.lab-integrations-copy h2,.lab-section-heading h2,.lab-final-cta h2{font-size:2.35rem}.lab-approval-flow>div{width:70px;font-size:.58rem}.lab-approval-flow>i{min-width:12px}.lab-final-cta>div{flex-direction:column}.lab-final-cta .intro-btn-primary,.lab-final-cta .intro-btn-quiet{width:100%}}@media (prefers-reduced-motion: reduce){.intro-page-layout *,.intro-page-layout *:before,.intro-page-layout *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.lab-integration-track{animation:none!important;transform:none!important}.lab-integration-group:nth-child(2){display:none}.lab-integration-lane{overflow-x:auto;scrollbar-width:none}.lab-integration-lane::-webkit-scrollbar{display:none}}.builder-layout{--ab-bg: var(--ts-bg);--ab-surface-1: var(--ts-surface-1);--ab-surface-2: var(--ts-surface-2);--ab-surface-3: var(--ts-surface-3);--ab-border: var(--ts-border);--ab-border-strong: var(--ts-border-strong);--ab-text: var(--ts-text);--ab-text-muted: var(--ts-text-muted);--ab-accent: var(--ts-accent);--ab-accent-soft: var(--ts-accent-soft);--ab-ai: var(--ts-ai);--ab-ai-soft: var(--ts-ai-soft);--ab-success: var(--ts-success);--ab-success-soft: var(--ts-success-soft);--ab-warning: var(--ts-warning);--ab-warning-soft: var(--ts-warning-soft);--ab-danger: var(--ts-danger);--ab-danger-soft: var(--ts-danger-soft);--ab-on-accent: var(--ts-on-accent);--ab-log-bg: var(--ts-log-bg);--ab-log-surface: var(--ts-log-surface);--ab-log-text: var(--ts-log-text);--ab-log-muted: var(--ts-log-muted);--ab-log-border: var(--ts-log-border);--ab-radius-control: var(--ts-radius-control);--ab-radius-panel: var(--ts-radius-panel);--ab-radius-modal: var(--ts-radius-modal);--ab-field-h: var(--ts-field-h);--ab-focus: var(--ts-focus);--ab-motion: var(--ts-motion);--ab-artboard: #ffffff;--ab-artboard-ink: #1e293b;--ab-artboard-ink-muted: #64748b;--ab-artboard-shadow: 0 8px 30px rgba(2, 6, 23, .45);--ab-grid: rgba(148, 163, 184, .18);--ab-snap: #f43f5e;display:flex;flex-direction:column;height:100dvh;background-color:var(--ab-bg);color:var(--ab-text);font-family:var(--font-sans)}[data-theme=light] .builder-layout{--ab-artboard-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 8px 24px rgba(15, 23, 42, .08);--ab-grid: rgba(71, 85, 105, .16)}.builder-header{gap:12px}.builder-header .editor-header-identity{flex:1 1 0;min-width:0}.builder-header .primary-action-container{flex:1 1 0;justify-content:flex-end}.builder-header .project-title-btn strong{color:var(--ab-text);font-size:.92rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-header .project-title-btn small{color:var(--ab-text-muted);font-size:.72rem}.builder-header .project-title-btn small.dirty{color:var(--ab-warning)}.builder-view-tabs{flex:0 0 auto;display:flex;gap:2px;padding:3px;border:1px solid var(--ab-border);border-radius:var(--ab-radius-control);background:var(--ab-surface-2)}.builder-view-tabs button{position:relative;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:var(--ab-text-muted);font-family:inherit;font-size:.82rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color var(--ab-motion) ease,color var(--ab-motion) ease}.builder-view-tabs button:hover{color:var(--ab-text)}.builder-view-tabs button[aria-selected=true]{background:var(--ab-accent-soft);color:var(--ab-text);font-weight:600}.builder-view-tabs button[aria-selected=true] svg{color:var(--ab-accent)}.builder-tab-badge{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:9px;background:var(--ab-surface-3);color:var(--ab-text-muted);font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.builder-tab-dot{width:6px;height:6px;border-radius:50%;background:var(--ab-accent)}.builder-history-controls{display:inline-flex;gap:2px;margin-right:4px}.builder-log-toggle{position:relative}.builder-log-toggle .builder-log-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:2px solid var(--ab-surface-1);border-radius:9px;background:var(--ab-ai);color:var(--ab-on-accent);font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.builder-layout .editor-icon-button:disabled{opacity:.35;cursor:default;background:transparent;border-color:transparent}.builder-deploy-btn{gap:8px;padding:0 14px;font-weight:600}.builder-deploy-btn:hover:not(:disabled){transform:none}.builder-header .editor-project-popover{z-index:250}.builder-workspace{position:relative;display:flex;flex:1;min-height:0;overflow:hidden}.builder-sidebar-left{width:240px;flex:0 0 240px;display:flex;flex-direction:column;min-height:0;box-sizing:border-box;background:var(--ab-surface-1);border-right:1px solid var(--ab-border)}.builder-panel-section{display:flex;flex-direction:column;min-height:0;padding:14px 12px 12px}.builder-panel-section.grow{flex:1 1 0;border-top:1px solid var(--ab-border)}.builder-panel-section.palette{flex:0 1 auto;max-height:58%}.builder-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0 -4px;padding:0 4px}.sidebar-title{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--ab-text-muted);font-size:.75rem;font-weight:600;letter-spacing:0;text-transform:none}.sidebar-title .builder-tab-badge{margin-left:auto}.palette-search{display:flex;align-items:center;gap:8px;height:var(--ab-field-h);padding:0 10px;margin-bottom:8px;box-sizing:border-box;border:1px solid var(--ab-border);border-radius:var(--ab-radius-control);background:var(--ab-surface-2);color:var(--ab-text-muted)}.palette-search:focus-within{border-color:var(--ab-accent)}.palette-search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--ab-text);font-size:.82rem}.palette-search input:focus-visible{box-shadow:none}.palette-search .palette-clear{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--ab-text-muted);cursor:pointer}.node-palette{display:flex;flex-direction:column;gap:2px}.palette-group-title{margin:10px 0 4px;padding:0 6px;color:var(--ab-text-muted);font-size:.72rem;font-weight:600}.palette-group-title:first-child{margin-top:0}.palette-item{display:flex;align-items:center;gap:10px;height:36px;padding:0 6px;box-sizing:border-box;border:1px solid transparent;border-radius:var(--ab-radius-control);color:var(--ab-text);font-size:.84rem;cursor:grab;transition:background-color var(--ab-motion) ease,border-color var(--ab-motion) ease}.palette-item:hover{background:var(--ab-surface-3);border-color:var(--ab-border)}.palette-item:active{cursor:grabbing}.palette-tile{width:26px;height:26px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--ab-surface-2);color:var(--ab-text-muted)}.palette-item:hover .palette-tile{color:var(--ab-text)}.palette-tile.accent{color:var(--ab-accent)}.palette-empty{padding:8px 6px;color:var(--ab-text-muted);font-size:.8rem;font-style:italic}.palette-tile[data-node-color]{color:var(--node-color);background:color-mix(in srgb,var(--node-color) 14%,transparent)}.builder-help-card{margin-top:12px;padding:12px;border:1px solid var(--ab-border);border-radius:var(--ab-radius-panel);background:var(--ab-surface-2);color:var(--ab-text-muted);font-size:.78rem;line-height:1.6}.builder-help-card strong{display:block;margin-bottom:4px;color:var(--ab-text)}.builder-help-card b{color:var(--ab-text);font-weight:600}.hierarchy-tree{display:flex;flex-direction:column;gap:1px;min-height:60px;padding-bottom:12px}.hierarchy-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px;height:28px;padding-right:4px;border-radius:4px;color:var(--ab-text);font-size:.8rem;cursor:pointer;transition:background-color var(--ab-motion) ease}.hierarchy-item:hover{background:var(--ab-surface-3)}.hierarchy-item.active{background:var(--ab-accent-soft)}.hierarchy-item.active .hierarchy-label{color:var(--ab-text);font-weight:600}.hierarchy-item .hierarchy-label{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ab-text)}.hierarchy-label svg{flex:0 0 auto;color:var(--ab-text-muted)}.hierarchy-item.active .hierarchy-label svg{color:var(--ab-accent)}.hierarchy-caption{color:var(--ab-text-muted);font-weight:400}.hierarchy-item.hidden .hierarchy-label{opacity:.45}.hierarchy-eye{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--ab-text-muted);cursor:pointer;opacity:0;transition:opacity var(--ab-motion) ease}.hierarchy-item:hover .hierarchy-eye,.hierarchy-item.hidden .hierarchy-eye,.hierarchy-eye:focus-visible{opacity:1}.hierarchy-eye:hover{background:var(--ab-surface-3);color:var(--ab-text)}.hierarchy-empty{padding:10px 6px;color:var(--ab-text-muted);font-size:.8rem;font-style:italic}.builder-center{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;background:var(--ab-bg);overflow:hidden}.builder-canvas-toolbar{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;box-sizing:border-box;border-bottom:1px solid var(--ab-border);background:var(--ab-surface-1);color:var(--ab-text-muted);font-size:.78rem}.builder-canvas-toolbar .spacer{flex:1}.builder-segmented{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--ab-border);border-radius:var(--ab-radius-control);background:var(--ab-surface-2)}.builder-segmented button{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:var(--ab-text-muted);font-family:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color var(--ab-motion) ease,color var(--ab-motion) ease}.builder-segmented button:hover{color:var(--ab-text)}.builder-segmented button.active{background:var(--ab-accent-soft);color:var(--ab-text);font-weight:600}.builder-canvas-dims{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.builder-canvas-dims input{width:58px;height:26px;padding:0 6px;box-sizing:border-box;border:1px solid var(--ab-border);border-radius:4px;background:var(--ab-surface-2);color:var(--ab-text);font-family:inherit;font-size:.75rem;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.builder-canvas-dims input::-webkit-outer-spin-button,.builder-canvas-dims input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.builder-canvas-dims input:focus{border-color:var(--ab-accent)}.builder-toolbar-toggle{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid transparent;border-radius:var(--ab-radius-control);background:transparent;color:var(--ab-text-muted);font-family:inherit;font-size:.75rem;cursor:pointer;transition:background-color var(--ab-motion) ease,color var(--ab-motion) ease}.builder-toolbar-toggle:hover{color:var(--ab-text);background:var(--ab-surface-3)}.builder-toolbar-toggle.active{color:var(--ab-text);background:var(--ab-surface-3);border-color:var(--ab-border)}.builder-toolbar-toggle.active svg{color:var(--ab-accent)}.builder-preview-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;background:var(--ab-success-soft);color:var(--ab-success);font-size:.75rem;font-weight:600}.builder-canvas-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:24px;box-sizing:border-box}.builder-canvas-scroll.grid{background-image:radial-gradient(var(--ab-grid) 1px,transparent 1px);background-size:16px 16px}.builder-artboard-frame{position:relative;margin:0 auto}.canvas-area{position:relative;background:var(--ab-artboard);border:1px solid var(--ab-border);box-shadow:var(--ab-artboard-shadow);box-sizing:content-box;transform-origin:top left}.canvas-area.grid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(148,163,184,.16) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.16) 1px,transparent 1px);background-size:16px 16px;z-index:0}.canvas-area.preview{border-top:3px solid var(--ab-success)}.builder-snap-line{position:absolute;z-index:9999;background:var(--ab-snap);pointer-events:none}.builder-canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;pointer-events:none}.builder-canvas-empty>*{pointer-events:auto}.builder-canvas-empty .wf-empty__title{color:var(--ab-artboard-ink)}.builder-canvas-empty .wf-empty__desc{color:var(--ab-artboard-ink-muted)}.builder-code-view{display:flex;flex-direction:column;flex:1;min-height:0}.builder-code-view textarea{flex:1;width:100%;min-height:0;margin:0;padding:16px;box-sizing:border-box;border:0;outline:none;resize:none;background:var(--ab-log-bg);color:var(--ab-log-text);font-family:var(--font-mono);font-size:13px;line-height:1.6;-moz-tab-size:2;tab-size:2}.builder-code-view textarea:focus-visible{box-shadow:inset 0 0 0 2px var(--ab-accent)}.builder-code-hint{margin-left:auto;color:var(--ab-text-muted);font-size:.74rem}.builder-code-hint code{padding:1px 5px;border-radius:4px;background:var(--ab-surface-2);color:var(--ab-text);font-family:var(--font-mono);font-size:.72rem}.builder-selection-toolbar{position:absolute;left:50%;bottom:18px;z-index:90;display:flex;align-items:center;gap:3px;min-height:44px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--ab-accent) 24%,var(--ab-border));border-radius:10px;color:var(--ab-text);background:color-mix(in srgb,var(--ab-surface-1) 94%,transparent);box-shadow:0 14px 38px #0206173d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(-50%)}.builder-selection-toolbar>button{width:32px;height:32px;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--ab-radius-control);color:var(--ab-text-muted);background:transparent;cursor:pointer;transition:background-color var(--ab-motion) ease,color var(--ab-motion) ease}.builder-selection-toolbar>button:hover:not(:disabled){border-color:var(--ab-border);color:var(--ab-text);background:var(--ab-surface-3)}.builder-selection-toolbar>button:disabled{opacity:.3;cursor:default}.builder-selection-toolbar>button.danger:hover:not(:disabled){color:var(--ab-danger);background:var(--ab-danger-soft)}.builder-selection-toolbar>i{width:1px;height:22px;margin:0 3px;background:var(--ab-border)}.builder-selection-count{min-width:36px;display:flex;align-items:baseline;justify-content:center;gap:3px;padding:0 4px;color:var(--ab-accent);font-size:.86rem;font-weight:800;font-variant-numeric:tabular-nums}.builder-selection-count small{color:var(--ab-text-muted);font-size:.68rem;font-weight:600}.builder-sidebar-right{width:300px;flex:0 0 300px;display:flex;flex-direction:column;min-height:0;box-sizing:border-box;background:var(--ab-surface-1);border-left:1px solid var(--ab-border);overflow-y:auto}.properties-panel{display:flex;flex-direction:column;padding:0 0 16px}.ab-inspector-head{display:flex;align-items:center;gap:10px;padding:12px 12px 10px;border-bottom:1px solid var(--ab-border)}.ab-type-tile{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--ab-accent-soft);color:var(--ab-accent)}.ab-inspector-title{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.ab-inspector-title strong{color:var(--ab-text);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-inspector-id{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:0;border:0;background:transparent;color:var(--ab-text-muted);font-family:var(--font-mono);font-size:.7rem;cursor:pointer;text-align:left}.ab-inspector-id span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-inspector-id:hover{color:var(--ab-text)}.ab-inspector-actions{display:inline-flex;gap:2px}.ab-icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--ab-radius-control);background:transparent;color:var(--ab-text-muted);cursor:pointer;transition:background-color var(--ab-motion) ease,color var(--ab-motion) ease}.ab-icon-btn:hover:not(:disabled){background:var(--ab-surface-3);border-color:var(--ab-border);color:var(--ab-text)}.ab-icon-btn.active{color:var(--ab-accent)}.ab-icon-btn.danger:hover:not(:disabled){color:var(--ab-danger);background:var(--ab-danger-soft)}.ab-icon-btn:disabled{opacity:.35;cursor:default}.ab-section{border-bottom:1px solid var(--ab-border)}.ab-section-head{width:100%;display:flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 8px;border:0;background:transparent;color:var(--ab-text);font-family:inherit;font-size:.8rem;font-weight:600;text-align:left;cursor:pointer}.ab-section-head:hover{background:var(--ab-surface-3)}.ab-section-head svg{color:var(--ab-text-muted);transition:transform var(--ab-motion) ease}.ab-section.open .ab-section-head svg.chevron{transform:rotate(90deg)}.ab-section-head .ab-section-meta{margin-left:auto;color:var(--ab-text-muted);font-size:.72rem;font-weight:500}.ab-section-body{padding:4px 12px 12px}.ab-inspector-footer{display:flex;justify-content:center;padding:14px 12px 0}.ab-quiet-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid transparent;border-radius:var(--ab-radius-control);background:transparent;color:var(--ab-text-muted);font-family:inherit;font-size:.78rem;cursor:pointer;transition:background-color var(--ab-motion) ease,color var(--ab-motion) ease}.ab-quiet-btn:hover{background:var(--ab-surface-3);border-color:var(--ab-border);color:var(--ab-text)}.ab-quiet-btn.danger:hover{color:var(--ab-danger);background:var(--ab-danger-soft);border-color:transparent}.ab-inspector-summary{padding:16px 12px}.ab-inspector-summary h3{margin:0 0 6px;color:var(--ab-text);font-size:.95rem;font-weight:600}.ab-inspector-summary p{margin:0 0 12px;color:var(--ab-text-muted);font-size:.8rem;line-height:1.55}.ab-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.ab-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:12px;background:var(--ab-surface-2);color:var(--ab-text-muted);font-size:.72rem}.ab-chip svg{color:var(--ab-accent)}.prop-group{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.prop-group label{color:var(--ab-text-muted);font-size:.74rem;font-weight:500}.prop-group input,.prop-group select,.prop-group textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--ab-border);border-radius:var(--ab-radius-control);background:var(--ab-surface-2);color:var(--ab-text);font-family:inherit;font-size:.82rem;outline:none;transition:border-color var(--ab-motion) ease}.prop-group input,.prop-group select{height:var(--ab-field-h);padding:0 9px}.prop-group input::placeholder,.prop-group textarea::placeholder{color:color-mix(in srgb,var(--ab-text-muted) 70%,transparent)}.prop-group input:hover,.prop-group select:hover,.prop-group textarea:hover{border-color:var(--ab-border-strong)}.prop-group input:focus,.prop-group select:focus,.prop-group textarea:focus{border-color:var(--ab-accent);box-shadow:none}.prop-group input[type=range]{height:24px;padding:0;border:0;background:transparent;accent-color:var(--ab-accent)}.prop-group input[type=number]{font-variant-numeric:tabular-nums}.prop-group textarea{padding:8px 9px;font-family:var(--font-mono);font-size:.78rem;line-height:1.5;resize:vertical;min-height:84px}.prop-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.prop-row .prop-group{min-width:0}.prop-checkbox{display:flex;align-items:center;gap:8px;min-height:28px;margin-bottom:6px;color:var(--ab-text);font-size:.8rem;cursor:pointer}.prop-checkbox input{width:15px;height:15px;margin:0;accent-color:var(--ab-accent)}.prop-hint{display:flex;gap:6px;margin:0 0 10px;color:var(--ab-text-muted);font-size:.74rem;line-height:1.5}.prop-hint svg{flex:0 0 auto;margin-top:2px}.prop-hint.warning{color:var(--ab-warning)}.prop-hint.success{color:var(--ab-success)}.ab-color-field{display:grid;grid-template-columns:var(--ab-field-h) minmax(0,1fr);gap:6px}.ab-color-field input[type=color]{width:var(--ab-field-h);height:var(--ab-field-h);padding:3px;cursor:pointer}.ab-color-field input[type=text]{font-family:var(--font-mono);font-size:.76rem;text-transform:lowercase}.zorder-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:6px}.zorder-row button{display:inline-flex;align-items:center;justify-content:center;height:30px;border:1px solid var(--ab-border);border-radius:var(--ab-radius-control);background:var(--ab-surface-2);color:var(--ab-text-muted);cursor:pointer;transition:background-color var(--ab-motion) ease,color var(--ab-motion) ease}.zorder-row button:hover{color:var(--ab-text);background:var(--ab-surface-3)}.shortcut-legend{margin:4px 12px 0;padding-top:12px;border-top:1px solid var(--ab-border);color:var(--ab-text-muted);font-size:.72rem;line-height:1.8}.shortcut-legend kbd{display:inline-block;min-width:14px;padding:0 5px;border:1px solid var(--ab-border);border-bottom-width:2px;border-radius:4px;background:var(--ab-surface-2);color:var(--ab-text);font-family:inherit;font-size:.7rem;text-align:center}.builder-execution-panel{position:fixed;left:0;right:0;bottom:0;min-height:180px;max-height:70vh;z-index:900;display:flex;flex-direction:column;background:var(--ab-surface-1);border-top:1px solid var(--ab-border);box-shadow:0 -10px 30px #00000059}.builder-execution-resizer{position:absolute;top:-5px;left:0;right:0;height:10px;display:flex;align-items:center;justify-content:center;cursor:ns-resize}.builder-execution-resizer span{width:40px;height:4px;border-radius:2px;background:var(--ab-border)}.builder-execution-header{min-height:44px;padding:0 12px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;border-bottom:1px solid var(--ab-border)}.builder-execution-header>div:first-child{display:flex;align-items:center;gap:8px;color:var(--ab-text);font-size:.84rem;font-weight:600}.builder-execution-header>div:first-child svg{color:var(--ab-ai)}.builder-execution-actions{display:flex;align-items:center;gap:4px}.builder-execution-output{flex:1;overflow:auto;padding:14px 16px;background:var(--ab-log-bg);color:var(--ab-log-text);font-family:var(--font-mono);font-size:13px;line-height:1.55}.builder-log-line{display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:10px;margin-bottom:4px;word-break:break-word}.builder-log-line time{color:var(--ab-log-muted)}.builder-log-line.success>span{color:var(--ab-success)}.builder-log-line.warning>span{color:var(--ab-warning)}.builder-log-line.error>span{color:var(--ab-danger)}.builder-log-line pre{grid-column:2;margin:4px 0 8px;padding:8px 10px;overflow:auto;border-left:2px solid var(--ab-log-border);background:var(--ab-log-surface);color:var(--ab-log-text);white-space:pre-wrap}.builder-log-empty{color:var(--ab-log-muted)}.app-builder-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#020617b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-builder-deploy-modal{width:min(520px,100%);padding:24px;box-sizing:border-box;border:1px solid var(--ab-border);border-radius:var(--ab-radius-modal);background:var(--ab-surface-1);color:var(--ab-text);box-shadow:0 24px 70px #00000073}.app-builder-modal-header{display:grid;grid-template-columns:40px minmax(0,1fr) 32px;gap:12px;align-items:start;margin-bottom:22px}.app-builder-success-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ab-success-soft);color:var(--ab-success)}.app-builder-modal-header h2{margin:0 0 5px;color:var(--ab-text);font-size:1.1rem;line-height:1.35;letter-spacing:0}.app-builder-modal-header p{margin:0;color:var(--ab-text-muted);font-size:.86rem;line-height:1.5}.app-builder-url-label{display:block;margin-bottom:7px;color:var(--ab-text-muted);font-size:.76rem;font-weight:600}.app-builder-url-box{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px}.app-builder-url-box input{width:100%;height:38px;min-width:0;padding:0 11px;box-sizing:border-box;border:1px solid var(--ab-border);border-radius:var(--ab-radius-control);outline:none;background:var(--ab-surface-2);color:var(--ab-text);font-family:var(--font-mono);font-size:.8rem}.app-builder-url-box input:focus{border-color:var(--ab-accent)}.app-builder-url-box button{width:38px;height:38px}.app-builder-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.app-builder-modal-primary,.app-builder-modal-secondary{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;box-sizing:border-box;border-radius:var(--ab-radius-control);font-family:inherit;font-size:.86rem;font-weight:600;text-decoration:none;cursor:pointer}.app-builder-modal-primary{border:1px solid var(--ab-accent);background:var(--ab-accent);color:var(--ab-on-accent)}.app-builder-modal-primary:hover{background:var(--primary-hover)}.app-builder-modal-secondary{border:1px solid var(--ab-border);background:var(--ab-surface-2);color:var(--ab-text)}.app-builder-modal-secondary:hover{background:var(--ab-surface-3)}.builder-assistant-group+.builder-assistant-group{margin-top:12px}.builder-mobile-bar{display:none}@media (max-width: 1180px){.builder-sidebar-right{width:280px;flex-basis:280px}}@media (max-width: 900px){.builder-header{flex-wrap:wrap;row-gap:6px;padding:6px 10px 8px}.builder-header .editor-header-identity{flex:1 1 auto;order:1}.builder-header .primary-action-container{flex:0 0 auto;order:2}.builder-view-tabs{order:3;width:100%;box-sizing:border-box;overflow-x:auto}.builder-view-tabs button{flex:1 0 auto;justify-content:center}.builder-history-controls,.builder-deploy-btn .run-text{display:none}.builder-deploy-btn{width:36px;padding:0}.builder-header .project-title-btn{max-width:100%}.builder-workspace{padding-bottom:52px}.builder-sidebar-left,.builder-sidebar-right,.builder-center{display:none;width:100%;flex:1 1 auto;border:0}.builder-workspace[data-mobile-pane=palette] .builder-sidebar-left,.builder-workspace[data-mobile-pane=canvas] .builder-center,.builder-workspace[data-mobile-pane=inspector] .builder-sidebar-right{display:flex}.builder-panel-section.palette{max-height:none}.builder-canvas-scroll{padding:12px}.builder-canvas-toolbar{padding:0 10px;gap:6px;overflow-x:auto}.builder-canvas-toolbar .builder-canvas-dims,.builder-canvas-toolbar .builder-toolbar-toggle .label{display:none}.builder-selection-toolbar{bottom:12px}.builder-mobile-bar{position:absolute;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:52px;border-top:1px solid var(--ab-border);background:var(--ab-surface-1)}.builder-mobile-bar button{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--ab-text-muted);font-family:inherit;font-size:.68rem;cursor:pointer}.builder-mobile-bar button.active{color:var(--ab-accent)}.builder-mobile-bar button:disabled{opacity:.35}.builder-mobile-bar .builder-tab-dot{position:absolute;top:8px;right:calc(50% - 16px)}.builder-execution-panel{max-height:60vh}.app-builder-deploy-modal{padding:18px}}.ab-link{padding:0;border:0;background:transparent;color:var(--ab-accent);font:inherit;text-decoration:underline;cursor:pointer}.ab-empty-action{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid var(--ab-border-strong);border-radius:var(--ab-radius-control);background:var(--ab-artboard);color:var(--ab-artboard-ink);font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:border-color var(--ab-motion) ease,background-color var(--ab-motion) ease}.ab-empty-action:hover{border-color:var(--ab-accent);background:var(--ab-accent-soft)}.ab-empty-action svg{color:var(--ab-ai)}.palette-tile[data-node=triggerNode]{--node-color: #ef4444}.palette-tile[data-node=valueNode]{--node-color: #10b981}.palette-tile[data-node=actionNode]{--node-color: #3b82f6}.palette-tile[data-node=submitNode]{--node-color: #0ea5e9}.palette-tile[data-node=outputNode]{--node-color: #10b981}.palette-tile[data-node=workflowNode]{--node-color: #8b5cf6}.palette-tile[data-node=codeNode]{--node-color: #f59e0b}.prop-group input.mono{font-family:var(--font-mono);font-size:.76rem}.builder-flow-view{width:100%;height:100%}.ab-inspector-footer.inline{justify-content:flex-start;gap:6px;padding:0}.tutorial-page-layout{display:flex;width:100%;height:100dvh;overflow:hidden;background:var(--bg-color);color:var(--text-color)}.tutorial-page{min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.tutorial-page-header{min-height:76px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.tutorial-header-context{min-width:0;display:flex;align-items:center;gap:12px}.tutorial-header-back{min-width:36px;height:36px;padding:0 10px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-color);border-radius:7px;background:transparent;color:var(--text-muted);font-size:.86rem;cursor:pointer}.tutorial-header-back:hover{border-color:var(--primary-color);background:var(--btn-active-bg);color:var(--text-color)}.tutorial-header-back:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.tutorial-heading,.tutorial-heading>div,.tutorial-overall-progress>div,.tutorial-course-title,.tutorial-lab-header>div,.tutorial-lab-actions,.tutorial-inspector-heading{display:flex;align-items:center}.tutorial-heading{min-width:0;gap:11px}.tutorial-heading>div{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.tutorial-heading-icon{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(96,165,250,.35);border-radius:7px;background:#3b82f61a;color:#60a5fa}.tutorial-heading h1{margin:0;font-size:1.26rem;line-height:1.3}.tutorial-heading p{margin:0;color:var(--text-muted);font-size:.9rem}.tutorial-overall-progress{width:230px;display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:7px 10px}.tutorial-overall-progress>div{grid-column:1;justify-content:space-between;color:var(--text-muted);font-size:.86rem}.tutorial-overall-progress strong{color:var(--text-color);font-variant-numeric:tabular-nums}.tutorial-overall-progress>button{grid-column:2;grid-row:1 / 3;width:32px;height:32px;align-self:center;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer}.tutorial-progress-track{grid-column:1;height:6px;overflow:hidden;border-radius:3px;background:var(--btn-active-bg)}.tutorial-progress-track>span{display:block;height:100%;border-radius:inherit;background:#22c55e;transition:width .25s ease}.tutorial-workspace{min-height:0;flex:1;display:grid;grid-template-columns:244px minmax(560px,1fr) 256px;overflow:hidden}.tutorial-track-home{min-height:0;flex:1;padding:28px 0 80px;overflow-y:auto;box-sizing:border-box}.tutorial-track-home-inner{width:min(1180px,calc(100% - 64px));margin:0 auto}.tutorial-track-home-heading{padding-bottom:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border-color)}.tutorial-track-home-heading>div:first-child{min-width:0}.tutorial-track-home-heading>div:first-child>span{color:#60a5fa;font-size:.78rem;font-weight:700}.tutorial-track-home-heading h2{margin:6px 0 5px;color:var(--text-color);font-size:1.62rem}.tutorial-track-home-heading p{margin:0;color:var(--text-muted);font-size:.91rem;line-height:1.5}.tutorial-screen-tour-actions{flex:0 0 auto;display:flex;gap:7px}.tutorial-screen-tour-actions button,.tutorial-course-back{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.82rem;cursor:pointer}.tutorial-screen-tour-actions button:hover,.tutorial-course-back:hover{border-color:#60a5fa66;color:var(--text-color);background:var(--btn-active-bg)}.tutorial-track-section{margin-top:32px}.tutorial-track-section-title{margin-bottom:26px;display:block}.tutorial-track-section-title span{display:block;margin-bottom:7px;color:var(--text-color);font-weight:700;letter-spacing:-.025em}.tutorial-track-section-title p{margin:0;color:var(--text-muted)}.tutorial-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tutorial-track-card{width:100%;min-height:130px;padding:20px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:start;gap:10px 12px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:13px;background:var(--card-bg);color:var(--text-color);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease}.tutorial-track-card:hover{border-color:#60a5fa80;background:var(--btn-active-bg)}.tutorial-track-card.featured{min-height:130px;grid-template-columns:42px minmax(0,1fr) 150px auto;grid-template-rows:1fr;align-items:center}.tutorial-track-card-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#60a5fa1f;color:#60a5fa}.tutorial-track-card.featured .tutorial-track-card-icon{width:42px;height:42px;background:#22c55e17;color:#22c55e}.tutorial-track-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.tutorial-track-card-meta{display:flex;align-items:center;gap:6px}.tutorial-track-card-meta em,.tutorial-track-card-meta small{padding:4px 7px;border-radius:6px;font-style:normal}.tutorial-track-card-meta em{background:#60a5fa1f;color:#60a5fa}.tutorial-track-card-meta small{background:#f59e0b14;color:#f59e0b}.tutorial-track-card-copy>strong{margin-top:3px;font-size:.98rem}.tutorial-track-card-copy>span:not(.tutorial-track-card-meta){color:var(--text-muted);font-size:.78rem}.tutorial-track-card-copy p{margin:4px 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.45}.tutorial-track-card-progress{grid-column:2;min-width:0;display:flex;align-items:center;gap:8px}.tutorial-track-card.featured .tutorial-track-card-progress{grid-column:3}.tutorial-track-card-progress>span{height:5px;flex:1;display:block;overflow:hidden;border-radius:3px;background:var(--btn-active-bg)}.tutorial-track-card-progress i{height:100%;display:block;background:#22c55e}.tutorial-track-card-progress small{color:var(--text-muted);font-size:.74rem;font-variant-numeric:tabular-nums}.tutorial-track-card-action{grid-column:3;grid-row:1 / 3;align-self:center;display:inline-flex;align-items:center;gap:4px;color:#60a5fa;font-weight:750}.tutorial-track-card.featured .tutorial-track-card-action{grid-column:4;grid-row:1}.tutorial-course-rail,.tutorial-guide-panel{min-height:0;overflow-y:auto;background:var(--card-bg)}.tutorial-course-rail{padding:16px 12px;border-right:1px solid var(--border-color)}.tutorial-course-back{width:100%;justify-content:flex-start}.tutorial-course-title{gap:7px;padding:0 7px 11px;color:var(--text-muted);font-size:.9rem;font-weight:600}.tutorial-course-rail nav{display:flex;flex-direction:column;gap:4px}.tutorial-course-rail nav>button{width:100%;min-height:54px;display:grid;grid-template-columns:24px 24px minmax(0,1fr) 15px;align-items:center;gap:7px;padding:7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer}.tutorial-course-rail nav>button:hover{background:var(--btn-active-bg);color:var(--text-color)}.tutorial-course-rail nav>button.active{border-color:#60a5fa59;background:#3b82f617;color:var(--text-color)}.tutorial-course-index,.tutorial-course-icon{display:inline-flex;align-items:center;justify-content:center}.tutorial-course-index{width:22px;height:22px;border:1px solid var(--border-color);border-radius:50%;font-size:.79rem;font-variant-numeric:tabular-nums}.tutorial-course-rail button.done .tutorial-course-index{border-color:#22c55e73;color:#22c55e;background:#22c55e14}.tutorial-course-icon{color:#94a3b8}.tutorial-course-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.tutorial-course-copy strong,.tutorial-course-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutorial-course-copy strong{color:inherit;font-size:.91rem}.tutorial-course-copy span{color:var(--text-muted);font-size:.78rem}.tutorial-screen-tours{margin-top:14px;padding:12px 7px 0;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid var(--border-color)}.tutorial-screen-tours>span{grid-column:1 / -1;color:var(--text-muted);font-size:.82rem}.tutorial-screen-tours button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-muted);font-size:.79rem;cursor:pointer}.tutorial-lesson-stage{min-width:0;min-height:0;padding:22px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;background:var(--bg-color)}.tutorial-lesson-heading{min-height:62px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.tutorial-lesson-heading>div>span{color:#60a5fa;font-size:.82rem;font-weight:600}.tutorial-lesson-heading h2{margin:4px 0;font-size:1.66rem}.tutorial-lesson-heading p{margin:0;color:var(--text-muted);font-size:.94rem;line-height:1.45}.tutorial-complete-badge{min-height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(34,197,94,.4);border-radius:5px;background:#22c55e14;color:#4ade80;font-size:.84rem;font-weight:600}.tutorial-lab{min-height:560px;flex:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);box-shadow:0 10px 28px #00000029}.tutorial-lab-header{min-height:48px;padding:0 12px 0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.tutorial-lab-header>div:first-child{min-width:0;gap:7px}.tutorial-lab-header strong{font-size:.94rem}.tutorial-lab-header span{overflow:hidden;color:var(--text-muted);font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.tutorial-lab-actions{flex:0 0 auto;gap:6px}.tutorial-run-button,.tutorial-demo-button,.tutorial-primary-action{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:5px;background:var(--primary-color);color:#fff;font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.tutorial-run-button{padding:0 10px}.tutorial-demo-button{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--primary-color);border-radius:5px;background:#3b82f614;color:#60a5fa;font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.tutorial-demo-button:disabled{opacity:.65;cursor:wait}.tutorial-run-button:disabled,.tutorial-primary-action:disabled{opacity:.6;cursor:wait}.tutorial-icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer}.tutorial-palette,.tutorial-special-tabs{min-height:48px;padding:7px 12px;display:flex;align-items:center;gap:7px;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--bg-color)}.tutorial-palette button,.tutorial-special-tabs button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.82rem;cursor:pointer}.tutorial-palette button:hover,.tutorial-special-tabs button.active{border-color:var(--primary-color);background:#3b82f617;color:var(--text-color)}.tutorial-palette>span,.tutorial-special-tabs>span{min-width:0;margin-left:auto;overflow:hidden;color:var(--text-muted);font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.tutorial-flow-area{min-height:340px;flex:1;display:flex;position:relative;overflow:hidden}.tutorial-node-palette{width:184px;flex:0 0 184px;display:flex;flex-direction:column;box-sizing:border-box;border-right:1px solid var(--border-color);background:var(--card-bg)}.tutorial-node-palette .sidebar-header{padding:15px 14px 10px;display:flex;align-items:center;justify-content:space-between}.tutorial-mobile-palette-toggle,.tutorial-palette-close,.tutorial-palette-overlay{display:none}.tutorial-node-palette .sidebar-title{font-size:.98rem}.tutorial-node-palette .sidebar-search{margin-bottom:10px;padding:0 12px}.tutorial-node-palette .sidebar-search svg{left:20px;color:var(--text-muted)}.tutorial-node-palette .sidebar-search input{height:32px;padding-left:29px;box-sizing:border-box;font-size:.84rem}.tutorial-palette-category{padding:6px 16px;color:var(--text-muted);font-size:.79rem;font-weight:600}.tutorial-node-palette .node-list{gap:4px;padding:0 9px}.tutorial-palette-node{width:100%;min-height:44px;padding:6px 8px;border:1px solid transparent;font-family:inherit;font-size:.84rem;text-align:left}.tutorial-palette-node.is-disabled{cursor:default;opacity:.62}.tutorial-palette-node.is-disabled:hover{border-color:transparent;background:transparent}.tutorial-flow-canvas{min-width:0;flex:1;position:relative;background:var(--bg-color)}.tutorial-flow-canvas .react-flow__controls{box-shadow:none;border:1px solid var(--border-color)}.tutorial-flow-canvas .react-flow__controls button{border-bottom-color:var(--border-color);background:var(--card-bg);color:var(--text-color)}.tutorial-flow-canvas .react-flow__edge-path{stroke:#64748b;stroke-width:2}.tutorial-flow-canvas .react-flow__edge.animated .react-flow__edge-path{stroke:#60a5fa!important;stroke-width:2.5!important}.tutorial-flow-canvas .react-flow__minimap{border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg)}.tutorial-flow-canvas .custom-node .react-flow__handle{width:10px;height:10px;border:2px solid var(--card-bg);background:#3b82f6}.tutorial-flow-canvas .custom-node.loop{border-left:4px solid #ca8a04}.tutorial-flow-canvas .custom-node.webhook{border-left:4px solid #0ea5e9}.tutorial-flow-canvas .custom-node.approval{border-left:4px solid #f43f5e}.tutorial-flow-canvas .tutorial-inline-prompt{min-height:120px}.tutorial-demo-cursor{position:absolute;top:0;left:0;z-index:30;display:flex;align-items:flex-start;gap:7px;pointer-events:none;opacity:0;color:#f8fafc;filter:drop-shadow(0 2px 2px rgba(0,0,0,.8));transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .18s ease}.tutorial-demo-cursor.is-visible{opacity:1}.tutorial-demo-cursor>svg{flex:0 0 auto;transform:translate(-3px,-3px);stroke:#0f172a;stroke-width:1.6;paint-order:stroke fill;transition:transform .16s ease,color .16s ease}.tutorial-demo-cursor.is-pressing>svg{color:#60a5fa;transform:translate(-3px,-3px) scale(.82)}.tutorial-demo-cursor>span{max-width:150px;margin-top:19px;padding:5px 7px;border:1px solid rgba(96,165,250,.48);border-radius:5px;background:#0f172af0;color:#e2e8f0;font-size:.77rem;line-height:1.25;white-space:nowrap}.tutorial-node{width:184px;min-height:76px;padding:10px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;box-sizing:border-box;position:relative;border:1px solid #475569;border-radius:7px;background:#1e293b;color:#e2e8f0;box-shadow:0 8px 18px #00000038;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.tutorial-node-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#94a3b81a}.tutorial-node-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.tutorial-node-copy strong,.tutorial-node-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutorial-node-copy strong{font-size:.91rem}.tutorial-node-copy span{color:#94a3b8;font-size:.77rem}.tutorial-node.tone-input .tutorial-node-icon{color:#22c55e;background:#22c55e1a}.tutorial-node.tone-process .tutorial-node-icon{color:#60a5fa;background:#3b82f61a}.tutorial-node.tone-output .tutorial-node-icon{color:#f59e0b;background:#f59e0b1a}.tutorial-node.tone-condition .tutorial-node-icon{color:#eab308;background:#eab3081a}.tutorial-node.tone-loop .tutorial-node-icon{color:#a78bfa;background:#a78bfa1a}.tutorial-node.tone-trigger .tutorial-node-icon{color:#2dd4bf;background:#2dd4bf1a}.tutorial-node.tone-approval .tutorial-node-icon{color:#fb7185;background:#fb71851a}.tutorial-node.is-selected{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa24,0 8px 18px #00000042}.tutorial-node.status-running{border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b1c,0 8px 22px #00000047;transform:translateY(-2px);animation:tutorial-node-running .9s ease-in-out infinite}.tutorial-node.status-success{border-color:#22c55e}@keyframes tutorial-node-running{50%{box-shadow:0 0 0 7px #f59e0b0d,0 8px 22px #00000047}}.tutorial-node-check{position:absolute;top:-7px;right:-7px;width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #111827;border-radius:50%;background:#22c55e;color:#fff}.tutorial-node .react-flow__handle{width:10px;height:10px;border:2px solid #cbd5e1;background:var(--primary-color)}.tutorial-empty-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;pointer-events:none;color:#64748b}.tutorial-empty-canvas strong{color:#94a3b8;font-size:.98rem}.tutorial-empty-canvas span{font-size:.82rem}.tutorial-node-inspector{width:232px;flex:0 0 232px;padding:14px;box-sizing:border-box;border-left:1px solid var(--border-color);background:var(--card-bg)}.tutorial-inspector-heading{gap:6px;margin-bottom:16px;color:#60a5fa;font-size:.9rem;font-weight:600}.tutorial-node-inspector label{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.82rem}.tutorial-node-inspector textarea{width:100%;padding:9px;box-sizing:border-box;resize:vertical;border:1px solid var(--border-color);border-radius:5px;outline:0;background:var(--bg-color);color:var(--text-color);font-family:inherit;font-size:.86rem;line-height:1.45}.tutorial-node-inspector textarea:focus{border-color:var(--primary-color)}.tutorial-node-inspector p{color:var(--text-muted);font-size:.78rem;line-height:1.45}.tutorial-inspector-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:.82rem;text-align:center}.tutorial-log-panel{height:122px;flex:0 0 122px;padding:10px 13px;box-sizing:border-box;border-top:1px solid var(--border-color);background:#111318}.tutorial-log-panel>div{display:flex;align-items:center;gap:6px;color:#a78bfa;font-size:.82rem}.tutorial-log-panel pre{max-height:76px;margin:7px 0 0;overflow-y:auto;color:#94a3b8;font-family:var(--font-mono);font-size:.77rem;line-height:1.55;white-space:pre-wrap}.tutorial-lab-feedback{min-height:36px;padding:0 13px;display:flex;align-items:center;gap:8px;box-sizing:border-box;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--text-muted);font-size:.82rem}.tutorial-lab-feedback>span{flex:0 0 auto;color:#60a5fa;font-variant-numeric:tabular-nums}.tutorial-guide-panel{padding:18px;border-left:1px solid var(--border-color)}.tutorial-guide-section{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border-color)}.tutorial-guide-label{display:block;margin-bottom:8px;color:#60a5fa;font-size:.82rem;font-weight:700}.tutorial-guide-section p{margin:0;color:var(--text-color);font-size:.94rem;line-height:1.55}.tutorial-guide-section ol{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.tutorial-guide-section li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;color:var(--text-muted);font-size:.84rem;line-height:1.5}.tutorial-guide-section li>span{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:50%;color:#cbd5e1;font-size:.74rem}.tutorial-lesson-status{min-height:100px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-color);color:#f59e0b}.tutorial-lesson-status.complete{border-color:#22c55e59;color:#22c55e}.tutorial-lesson-status strong{color:var(--text-color);font-size:.9rem}.tutorial-lesson-status span{color:var(--text-muted);font-size:.79rem;line-height:1.4}.tutorial-next-button{width:100%;min-height:36px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--primary-color);border-radius:5px;background:var(--primary-color);color:#fff;font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer}.tutorial-next-button:disabled{border-color:var(--border-color);background:var(--btn-active-bg);color:var(--text-muted);cursor:not-allowed}.tutorial-editor-toolbar{min-height:54px;padding:0 12px 0 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.tutorial-editor-project,.tutorial-editor-project>div,.tutorial-editor-deploy-tools,.tutorial-visibility-control{display:flex;align-items:center}.tutorial-editor-project{min-width:0;gap:9px}.tutorial-editor-project-icon{width:30px;height:30px;flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(139,92,246,.42);border-radius:6px;background:#8b5cf61a;color:#a78bfa}.tutorial-editor-project>div{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.tutorial-editor-project strong{overflow:hidden;color:var(--text-color);font-size:.91rem;text-overflow:ellipsis;white-space:nowrap}.tutorial-editor-project span{color:var(--text-muted);font-size:.74rem}.tutorial-editor-deploy-tools{flex:0 0 auto;gap:7px}.tutorial-visibility-control{min-height:32px;gap:5px;padding:0 7px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-muted)}.tutorial-visibility-control select{border:0;outline:0;background:transparent;color:var(--text-color);font-family:inherit;font-size:.82rem}.tutorial-save-button,.tutorial-deploy-button{min-height:32px}.tutorial-save-button.is-saved{border-color:#10b981;color:#10b981}.tutorial-deploy-button{gap:5px;border-color:#8b5cf6;color:#a78bfa}.tutorial-deploy-button:disabled{border-color:var(--border-color);color:var(--text-muted);opacity:.5;cursor:not-allowed}.tutorial-deploy-editor-canvas{min-height:390px;flex:1;position:relative;overflow:hidden;background:var(--bg-color)}.tutorial-deploy-editor-canvas .react-flow__minimap{border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg)}.tutorial-deploy-editor-canvas .custom-node .react-flow__handle{width:10px;height:10px;border:2px solid var(--card-bg);background:#3b82f6}.tutorial-track-catalog{display:flex;flex-direction:column;gap:3px}.tutorial-track-option{width:100%;min-height:48px;padding:6px 7px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer}.tutorial-track-option:hover,.tutorial-track-option.active{background:var(--btn-active-bg);color:var(--text-color)}.tutorial-track-option.active{border-color:#60a5fa52}.tutorial-track-icon{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#60a5fa14;color:#60a5fa}.tutorial-track-option>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}.tutorial-track-option strong,.tutorial-track-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutorial-track-option strong{color:inherit;font-size:.86rem}.tutorial-track-option small{color:var(--text-muted);font-size:.73rem}.tutorial-track-option em{color:var(--text-muted);font-size:.74rem;font-style:normal;font-variant-numeric:tabular-nums}.tutorial-selected-track{margin:12px 4px 10px;padding:11px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-color)}.tutorial-selected-track-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#60a5fa;font-size:.73rem;font-weight:700}.tutorial-selected-track-heading em{padding:2px 4px;border:1px solid rgba(245,158,11,.35);border-radius:4px;color:#f59e0b;font-size:.65rem;font-style:normal}.tutorial-selected-track>strong{display:block;margin-top:7px;color:var(--text-color);font-size:.91rem}.tutorial-selected-track p{margin:4px 0 9px;color:var(--text-muted);font-size:.73rem;line-height:1.45}.tutorial-track-progress{height:4px;display:block;overflow:hidden;border-radius:2px;background:var(--btn-active-bg)}.tutorial-track-progress span{height:100%;display:block;background:#60a5fa}.tutorial-lesson-nav{padding-top:2px;border-top:1px solid var(--border-color)}.advanced-tutorial-lab{min-height:560px;flex:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);box-shadow:var(--card-shadow)}.advanced-lab-header{min-height:54px;padding:0 12px 0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.advanced-lab-header>div{display:flex;flex-direction:column;gap:2px}.advanced-lab-header span{color:#60a5fa;font-size:.67rem;font-weight:700}.advanced-lab-header strong{color:var(--text-color);font-size:.94rem}.advanced-lab-header>button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.advanced-lab-body{min-height:0;flex:1;padding:18px;overflow-y:auto;background:var(--bg-color)}.advanced-lab-feedback{min-height:44px;padding:9px 14px;display:flex;align-items:center;gap:8px;box-sizing:border-box;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.82rem}.advanced-lab-feedback.success{color:#22c55e;background:#22c55e0d}.advanced-lab-feedback.warning{color:#f59e0b;background:#f59e0b0d}.advanced-choice-list{display:flex;flex-direction:column;gap:10px}.advanced-choice-list section{min-height:78px;padding:12px;display:grid;grid-template-columns:26px minmax(0,1fr) 20px;align-items:center;gap:10px;border:1px solid var(--border-color);border-radius:7px;background:var(--card-bg)}.advanced-choice-list section>span{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:50%;color:var(--text-muted);font-size:.79rem}.advanced-choice-list section>div{min-width:0}.advanced-choice-list section strong{display:block;margin-bottom:9px;color:var(--text-color);font-size:.91rem}.advanced-choice-list section div div{display:flex;flex-wrap:wrap;gap:6px}.advanced-choice-list button,.advanced-palette-row button,.advanced-diagnosis button{min-height:30px;padding:0 10px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-muted);font-size:.79rem;cursor:pointer}.advanced-choice-list button:hover,.advanced-choice-list button.active,.advanced-diagnosis button.active{border-color:#60a5fa;color:var(--text-color);background:#60a5fa14}.advanced-choice-list section.is-correct{border-color:#22c55e6b}.advanced-choice-list section.is-correct>svg{color:#22c55e}.advanced-split-layout,.advanced-credential-layout,.advanced-mapping-lab,.advanced-readiness-lab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.advanced-control-panel,.advanced-provider-panel,.advanced-link-panel,.advanced-mapping-lab>section,.advanced-readiness-lab>section,.advanced-log-panel,.advanced-manager-card{padding:14px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:7px;background:var(--card-bg)}.advanced-panel-title{margin-bottom:14px;display:flex;align-items:center;gap:9px;color:#60a5fa}.advanced-panel-title>div{display:flex;flex-direction:column;gap:2px}.advanced-panel-title strong{color:var(--text-color);font-size:.91rem}.advanced-panel-title span{color:var(--text-muted);font-size:.73rem}.advanced-control-panel label,.advanced-provider-panel label,.advanced-mapping-lab label{margin-top:11px;display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:.77rem;font-weight:600}.advanced-control-panel select,.advanced-provider-panel select,.advanced-provider-panel input,.advanced-mapping-lab select,.advanced-request-builder select,.advanced-request-builder input,.advanced-request-builder textarea,.advanced-request-lab select,.advanced-request-lab textarea{min-height:34px;padding:7px 9px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:5px;outline:0;background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.84rem}.advanced-form-actions{margin-top:15px;display:flex;justify-content:flex-end;gap:7px}.advanced-form-actions button,.advanced-provider-panel>button,.advanced-mapping-lab section>button,.advanced-readiness-lab section>button,.advanced-primary-action,.advanced-request-row>button{min-height:34px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-color);font-size:.8rem;cursor:pointer}.advanced-form-actions button.primary,.advanced-primary-action,.advanced-request-row>button{border-color:var(--primary-color);background:var(--primary-color);color:#fff}button.advanced-primary-action:disabled,.advanced-form-actions button:disabled,.advanced-provider-panel button:disabled{opacity:.45;cursor:not-allowed}.advanced-log-panel>div{margin-bottom:12px;display:flex;align-items:center;gap:7px;color:var(--text-color);font-size:.84rem;font-weight:600}.advanced-log-panel p{margin:0;padding:7px 0;display:flex;gap:8px;border-bottom:1px solid var(--border-color);color:#a7f3d0;font-family:var(--font-mono);font-size:.76rem}.advanced-log-panel p span{color:var(--text-muted)}.advanced-log-panel small{color:var(--text-muted);font-size:.76rem}.advanced-request-lab,.advanced-request-builder{display:flex;flex-direction:column;gap:12px}.advanced-endpoint-bar,.advanced-request-row{display:grid;grid-template-columns:20px 82px minmax(0,1fr);align-items:center;gap:8px}.advanced-endpoint-bar code{padding:9px 10px;overflow:hidden;border:1px solid var(--border-color);border-radius:5px;background:var(--card-bg);color:var(--text-color);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.advanced-request-columns,.advanced-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.advanced-request-columns>label,.advanced-request-columns>div,.advanced-request-grid>section{min-height:250px;padding:12px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:7px;background:var(--card-bg);color:var(--text-muted);font-size:.78rem}.advanced-request-columns textarea,.advanced-request-grid textarea{min-height:175px;flex:1;resize:none;font-family:var(--font-mono);line-height:1.55}.advanced-response-view pre,.advanced-api-preview pre{margin:0;color:#a7f3d0;font-size:.79rem}.advanced-response-view p,.advanced-api-preview p{color:var(--text-muted);font-size:.79rem}.advanced-response-view strong.success,.advanced-api-preview strong{color:#22c55e}.advanced-response-view strong.error{color:#ef4444}.advanced-request-row{grid-template-columns:90px minmax(0,1fr) 82px}.advanced-request-grid section label{display:flex;align-items:center;justify-content:space-between;gap:8px}.advanced-request-grid section>span{color:var(--text-color);font-weight:600}.advanced-link-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.advanced-masked-key{margin:10px 0;padding:8px;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;border:1px solid rgba(34,197,94,.3);border-radius:5px;color:#22c55e;font-size:.78rem}.advanced-masked-key code{color:var(--text-muted)}.advanced-mini-node{width:min(210px,100%);padding:16px;display:flex;flex-direction:column;gap:5px;box-sizing:border-box;border:1px solid #8b5cf6;border-left-width:4px;border-radius:7px;background:var(--bg-color)}.advanced-mini-node span{color:var(--text-color);font-size:.9rem;font-weight:600}.advanced-mini-node small{color:var(--text-muted);font-size:.73rem}.advanced-mini-node strong{color:#a78bfa;font-size:.79rem}.advanced-pipeline-lab{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.advanced-palette-row{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.advanced-pipeline{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.advanced-pipeline>div{min-height:86px;padding:12px;display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--border-color);border-radius:7px;color:var(--text-muted)}.advanced-pipeline>div.placed{border-style:solid;border-color:#8b5cf6;background:#8b5cf60f;color:var(--text-color)}.advanced-pipeline>div.running{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa1a}.advanced-pipeline>div>span{font-size:.72rem}.advanced-pipeline>div>strong{font-size:.84rem}.advanced-pipeline>div>svg{position:absolute;right:-20px}.advanced-manager-layout{display:flex;flex-direction:column;gap:10px}.advanced-manager-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.advanced-manager-card>div:first-child{display:flex;align-items:center;gap:9px}.advanced-manager-card>div>div{display:flex;flex-direction:column;gap:2px}.advanced-manager-card strong{color:var(--text-color);font-size:.88rem}.advanced-manager-card small{color:var(--text-muted);font-size:.74rem}.advanced-status-dot{width:9px;height:9px;border-radius:50%;background:#64748b}.advanced-status-dot.running{background:#22c55e;box-shadow:0 0 0 4px #22c55e1a}.advanced-manager-actions{display:flex;gap:6px}.advanced-manager-actions button{min-height:30px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-color);font-size:.77rem}.advanced-diagnosis{padding:10px 12px;display:flex;align-items:center;gap:7px;border:1px solid rgba(245,158,11,.3);border-radius:7px;background:#f59e0b0a}.advanced-diagnosis strong{margin-right:auto;color:var(--text-color);font-size:.82rem}.advanced-evaluate-button{width:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--border-color);border-radius:7px;background:var(--card-bg);color:var(--text-color);cursor:pointer}.advanced-evaluate-button span{color:var(--text-muted);font-size:.77rem}.advanced-score-row{padding:14px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border-color);border-radius:7px;background:var(--card-bg)}.advanced-score-row>div{display:flex;align-items:baseline;gap:5px}.advanced-score-row span,.advanced-score-row small{color:var(--text-muted);font-size:.74rem}.advanced-score-row strong{color:#22c55e;font-size:1.8rem}.advanced-score-row p{color:var(--text-muted);font-size:.79rem}.advanced-report-tabs{margin:10px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.advanced-report-tabs button{min-height:34px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-muted);font-size:.79rem;cursor:pointer}.advanced-report-tabs button.visited{color:#22c55e;border-color:#22c55e59}.advanced-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.advanced-report-grid section{padding:10px;display:flex;flex-direction:column;gap:7px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg)}.advanced-report-grid strong{color:var(--text-color);font-size:.82rem}.advanced-report-grid span{display:flex;align-items:flex-start;gap:5px;color:#a7f3d0;font-size:.72rem}.advanced-report-grid span.warning{color:#fbbf24}.advanced-improvement-lab{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px}.advanced-suggestion-list,.advanced-diff-panel{min-height:300px;padding:12px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:7px;background:var(--card-bg)}.advanced-suggestion-list>span,.advanced-diff-panel>span{display:block;margin-bottom:10px;color:var(--text-muted);font-size:.74rem;font-weight:700}.advanced-suggestion-list button{width:100%;padding:10px 8px;display:flex;align-items:flex-start;gap:8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer}.advanced-suggestion-list button.active{border-color:#8b5cf6;background:#8b5cf612}.advanced-suggestion-list button div{display:flex;flex-direction:column;gap:3px}.advanced-suggestion-list strong{color:var(--text-color);font-size:.82rem}.advanced-suggestion-list small{font-size:.71rem}.advanced-diff-panel pre{min-height:130px;padding:12px;overflow:auto;border-radius:5px;background:#111827;color:#86efac;font-size:.82rem}.advanced-diff-panel label{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:.77rem}.advanced-diff-panel button{margin-top:12px;min-height:34px;padding:0 11px;border:0;border-radius:5px;background:var(--primary-color);color:#fff;font-size:.79rem}.advanced-diff-panel p{color:var(--text-muted);font-size:.79rem}.advanced-readiness-lab>section{display:flex;flex-direction:column;gap:10px}.advanced-readiness-lab>section>strong{color:var(--text-color);font-size:.86rem}.advanced-readiness-lab label{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:.78rem}.advanced-switch-line{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-color);font-size:.82rem}.advanced-switch-line span{display:flex;align-items:center;gap:7px}.advanced-switch-line button{width:34px;height:19px;padding:2px;border:0;border-radius:10px;background:var(--border-color)}.advanced-switch-line button i{width:15px;height:15px;display:block;border-radius:50%;background:#fff;transition:transform .16s}.advanced-switch-line button.active{background:var(--primary-color)}.advanced-switch-line button.active i{transform:translate(15px)}.advanced-token-bars{display:flex;flex-direction:column;gap:8px}.advanced-token-bars span{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:6px;color:var(--text-muted);font-size:.72rem}.advanced-token-bars span:after{content:"";grid-column:2;grid-row:1;height:5px;border-radius:3px;background:var(--btn-active-bg)}.advanced-token-bars i{grid-column:2;grid-row:1;height:5px;z-index:1;border-radius:3px;background:#60a5fa}.advanced-token-bars strong{color:#60a5fa;font-size:.82rem}.advanced-builder-lab{min-height:370px;display:grid;grid-template-columns:120px minmax(280px,1fr) 135px;border:1px solid var(--border-color);border-radius:7px;overflow:hidden}.advanced-builder-lab>aside{padding:10px;display:flex;flex-direction:column;gap:7px;background:var(--card-bg)}.advanced-builder-lab>aside>span{margin-bottom:4px;color:var(--text-muted);font-size:.72rem;font-weight:700}.advanced-builder-lab>aside button{min-height:31px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-color);font-size:.77rem}.advanced-builder-canvas{display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid var(--border-color);border-left:1px solid var(--border-color);background-image:radial-gradient(var(--border-color) 1px,transparent 1px);background-size:18px 18px}.advanced-builder-container{width:220px;min-height:180px;padding:14px;display:flex;flex-direction:column;gap:10px;box-sizing:border-box;border:1px solid #3b82f6;background:var(--card-bg);transition:transform .35s ease}.advanced-builder-container strong{color:#60a5fa;font-size:.78rem}.advanced-builder-container input,.advanced-app-preview input,.advanced-device-preview input{min-height:34px;padding:7px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-color);color:var(--text-color)}.advanced-builder-container button,.advanced-app-preview button,.advanced-device-preview button{min-height:34px;border:0;border-radius:5px;background:var(--primary-color);color:#fff}.advanced-hierarchy strong{color:var(--text-color);font-size:.82rem}.advanced-hierarchy small{padding-left:7px;color:var(--text-muted);font-size:.74rem}.advanced-mapping-lab>section{display:flex;flex-direction:column}.advanced-app-preview>span{color:var(--text-muted);font-size:.74rem;font-weight:700}.advanced-app-preview input{margin-top:18px}.advanced-app-preview button{margin-top:8px}.advanced-app-preview output{min-height:60px;margin-top:9px;padding:9px;border:1px solid var(--border-color);border-radius:5px;color:var(--text-muted);font-size:.79rem}.advanced-deploy-lab{display:flex;flex-direction:column;align-items:center;gap:12px}.advanced-device-toolbar{width:100%;display:flex;align-items:center;gap:6px}.advanced-device-toolbar button{min-height:32px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-muted);font-size:.77rem}.advanced-device-toolbar button.active{border-color:#60a5fa;color:var(--text-color)}.advanced-device-toolbar span{margin-left:auto;color:var(--text-muted);font-size:.74rem}.advanced-device-preview{height:295px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border-color);background:#111827;transition:width .3s ease}.advanced-device-preview.desktop{width:min(100%,620px)}.advanced-device-preview.mobile{width:230px}.advanced-device-preview>div{width:min(310px,calc(100% - 28px));padding:18px;display:flex;flex-direction:column;gap:9px;box-sizing:border-box;background:var(--card-bg)}.advanced-device-preview strong{color:var(--text-color);font-size:.94rem}.advanced-device-preview small{color:var(--text-muted);font-size:.72rem}.advanced-empty-lab{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:.84rem}@media (max-width: 1250px){.tutorial-workspace{grid-template-columns:210px minmax(440px,1fr)}.tutorial-guide-panel{display:none}}@media (max-width: 900px){.tutorial-page-header{min-height:68px;padding:0 14px}.tutorial-heading p{display:none}.tutorial-overall-progress{width:160px}.tutorial-track-home-heading{align-items:flex-start;flex-direction:column;gap:14px}.tutorial-track-card.featured{grid-template-columns:42px minmax(0,1fr) 130px auto}.tutorial-workspace{display:flex;flex-direction:column;overflow-y:auto}.tutorial-course-rail{flex:0 0 auto;padding:9px 10px;overflow-x:hidden;border-right:0;border-bottom:1px solid var(--border-color)}.tutorial-course-title,.tutorial-screen-tours{display:none}.tutorial-track-catalog{width:100%;flex-direction:row;overflow-x:auto}.tutorial-track-option{width:174px;flex:0 0 174px}.tutorial-selected-track{display:none}.tutorial-course-rail nav{margin-top:8px;padding-top:8px;flex-direction:row;width:100%;overflow-x:auto}.tutorial-course-rail nav>button{width:190px}.tutorial-lesson-stage{min-height:680px;overflow:visible}.advanced-split-layout,.advanced-credential-layout,.advanced-mapping-lab,.advanced-readiness-lab,.advanced-request-columns,.advanced-request-grid{grid-template-columns:minmax(0,1fr)}.advanced-request-columns>label,.advanced-request-columns>div,.advanced-request-grid>section{min-height:210px}.advanced-builder-lab{grid-template-columns:104px minmax(250px,1fr) 116px}.tutorial-node-palette{width:220px;height:100%;position:absolute;top:0;left:0;z-index:25;transform:translate(-100%);transition:transform .24s ease;box-shadow:10px 0 24px #00000047}.tutorial-node-palette.mobile-open{transform:translate(0)}.tutorial-mobile-palette-toggle{width:44px;height:44px;position:absolute;right:18px;bottom:18px;z-index:20;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--primary-color);color:#fff;box-shadow:0 5px 14px #0000004d;cursor:pointer}.tutorial-palette-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.tutorial-palette-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;display:block;border:0;background:#00000094}}@media (max-width: 600px){.tutorial-page-header{padding-right:10px}.tutorial-heading-icon{display:none}.tutorial-header-context{gap:8px}.tutorial-header-back{width:34px;height:34px;padding:0}.tutorial-header-back span{display:none}.tutorial-heading h1{font-size:1.13rem}.tutorial-overall-progress{width:132px}.tutorial-screen-tour-actions{width:100%}.tutorial-screen-tour-actions button{min-width:0;flex:1;padding:0 7px}.tutorial-track-grid{grid-template-columns:minmax(0,1fr)}.tutorial-track-card,.tutorial-track-card.featured{min-height:132px;grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:start}.tutorial-track-card.featured .tutorial-track-card-icon{width:38px;height:38px}.tutorial-track-card.featured .tutorial-track-card-progress,.tutorial-track-card-progress{grid-column:2}.tutorial-track-card.featured .tutorial-track-card-action,.tutorial-track-card-action{grid-column:3;grid-row:1 / 3}.tutorial-lesson-stage{min-height:720px;padding:14px 10px}.tutorial-track-option{width:158px;min-height:44px;flex-basis:158px;grid-template-columns:26px minmax(0,1fr) auto}.tutorial-track-option small{display:none}.tutorial-lesson-heading h2{font-size:1.26rem}.tutorial-lab{min-height:540px}.tutorial-lab-header span{display:none}.advanced-lab-body{padding:12px}.advanced-choice-list section{grid-template-columns:24px minmax(0,1fr)}.advanced-choice-list section>svg{display:none}.advanced-request-row{grid-template-columns:72px minmax(0,1fr)}.advanced-request-row>button{grid-column:1 / -1}.advanced-pipeline,.advanced-report-grid,.advanced-improvement-lab{grid-template-columns:minmax(0,1fr)}.advanced-pipeline>div>svg{display:none}.advanced-builder-lab{display:flex;flex-direction:column}.advanced-builder-lab>aside{min-height:auto;flex-direction:row;overflow-x:auto}.advanced-builder-lab>aside>span{display:none}.advanced-builder-lab>aside button{min-width:92px}.advanced-builder-canvas{min-height:290px;border:0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.tutorial-node-palette{width:216px;flex-basis:216px}.tutorial-node-palette .sidebar-search,.tutorial-palette-category{display:none}.tutorial-node-palette .sidebar-header{padding:12px 10px 8px}.tutorial-node-palette .node-list{padding:0 6px}.tutorial-palette-node{gap:6px;padding:5px;font-size:.77rem}.tutorial-palette-node .dnd-node-icon{width:25px;height:25px}.tutorial-palette,.tutorial-special-tabs{overflow-x:auto}.tutorial-palette>span,.tutorial-special-tabs>span{display:none}.tutorial-flow-area.has-inspector{flex-direction:column;overflow-y:auto}.tutorial-flow-area.has-inspector .tutorial-flow-canvas{min-height:310px}.tutorial-node-inspector{width:100%;flex-basis:auto;border-top:1px solid var(--border-color);border-left:0}.tutorial-inspector-empty{min-height:80px}.tutorial-editor-toolbar{min-height:58px;padding:0 8px}.tutorial-editor-project>div>span,.tutorial-deploy-button>span{display:none}.tutorial-editor-deploy-tools{gap:4px}.tutorial-visibility-control{padding:0 5px}.tutorial-visibility-control select{width:62px}}.tutorial-header-back,.tutorial-overall-progress>div{font-size:.98rem}.tutorial-heading h1{font-size:1.44rem}.tutorial-heading p{font-size:1.05rem}.tutorial-track-home-heading>div:first-child>span{font-size:.9rem}.tutorial-track-home-heading h2{font-size:1.8rem}.tutorial-track-home-heading p{font-size:1.08rem}.tutorial-course-back{font-size:.98rem}.tutorial-track-section-title span{font-size:clamp(1.55rem,3vw,2.05rem)}.tutorial-track-section-title p{font-size:1rem;line-height:1.7}.tutorial-track-card-copy>strong{font-size:1rem}.tutorial-screen-tour-actions button,.tutorial-track-card-action{font-size:.86rem}.tutorial-track-card-meta em,.tutorial-track-card-meta small{font-size:.68rem}.tutorial-track-card-copy>span:not(.tutorial-track-card-meta),.tutorial-track-card-copy p{font-size:.85rem;line-height:1.62}.tutorial-track-card-progress small{font-size:.72rem}.tutorial-workspace .tutorial-course-title,.tutorial-workspace .tutorial-course-copy strong,.tutorial-workspace .tutorial-screen-tours>span,.tutorial-workspace .tutorial-screen-tours button{font-size:1.08rem}.tutorial-workspace .tutorial-course-index,.tutorial-workspace .tutorial-course-copy span{font-size:.98rem}.tutorial-workspace .tutorial-selected-track-heading,.tutorial-workspace .tutorial-selected-track-heading em,.tutorial-workspace .tutorial-selected-track p{font-size:1.03rem}.tutorial-workspace .tutorial-selected-track>strong{font-size:1.18rem}.tutorial-workspace .tutorial-lesson-heading>div>span,.tutorial-workspace .tutorial-complete-badge{font-size:1.01rem}.tutorial-workspace .tutorial-lesson-heading p{max-width:760px;font-size:1.2rem;line-height:1.65}.tutorial-workspace .tutorial-lab-header strong,.tutorial-workspace .tutorial-node-palette .sidebar-title{font-size:1.18rem}.tutorial-workspace .tutorial-lab-header span,.tutorial-workspace .tutorial-run-button,.tutorial-workspace .tutorial-demo-button,.tutorial-workspace .tutorial-primary-action,.tutorial-workspace .tutorial-palette button,.tutorial-workspace .tutorial-special-tabs button,.tutorial-workspace .tutorial-palette>span,.tutorial-workspace .tutorial-special-tabs>span,.tutorial-workspace .tutorial-node-palette .sidebar-search input,.tutorial-workspace .tutorial-palette-category,.tutorial-workspace .tutorial-palette-node,.tutorial-workspace .tutorial-empty-canvas span,.tutorial-workspace .tutorial-node-inspector label,.tutorial-workspace .tutorial-node-inspector p,.tutorial-workspace .tutorial-inspector-empty,.tutorial-workspace .tutorial-log-panel>div,.tutorial-workspace .tutorial-log-panel pre,.tutorial-workspace .tutorial-lab-feedback,.tutorial-workspace .tutorial-guide-label{font-size:1.03rem}.tutorial-workspace .tutorial-demo-cursor>span{font-size:.96rem}.tutorial-workspace .tutorial-node-copy strong,.tutorial-workspace .tutorial-empty-canvas strong,.tutorial-workspace .tutorial-inspector-heading{font-size:1.13rem}.tutorial-workspace .tutorial-node-copy span{font-size:.98rem}.tutorial-workspace .tutorial-node-inspector textarea{font-size:1.1rem}.tutorial-workspace .tutorial-guide-section p{font-size:1.15rem;line-height:1.65}.tutorial-workspace .tutorial-guide-section li,.tutorial-workspace .tutorial-guide-section li>span,.tutorial-workspace .tutorial-lesson-status strong,.tutorial-workspace .tutorial-lesson-status span,.tutorial-workspace .tutorial-track-progress,.tutorial-workspace .tutorial-lesson-nav button{font-size:1.03rem}.tutorial-workspace .tutorial-next-button{font-size:1.08rem}.tutorial-workspace .advanced-lab-header span,.tutorial-workspace .advanced-lab-feedback,.tutorial-workspace .advanced-tutorial-lab button,.tutorial-workspace .advanced-tutorial-lab input,.tutorial-workspace .advanced-tutorial-lab select,.tutorial-workspace .advanced-tutorial-lab textarea,.tutorial-workspace .advanced-tutorial-lab output,.tutorial-workspace .advanced-tutorial-lab code,.tutorial-workspace .advanced-tutorial-lab pre,.tutorial-workspace .advanced-tutorial-lab p,.tutorial-workspace .advanced-tutorial-lab label,.tutorial-workspace .advanced-tutorial-lab small,.tutorial-workspace .advanced-tutorial-lab span{font-size:1.03rem}.tutorial-workspace .advanced-lab-header strong,.tutorial-workspace .advanced-panel-title strong,.tutorial-workspace .advanced-choice-list section strong,.tutorial-workspace .advanced-mini-node span,.tutorial-workspace .advanced-manager-card strong,.tutorial-workspace .advanced-report-grid strong,.tutorial-workspace .advanced-readiness-lab>section>strong,.tutorial-workspace .advanced-device-preview strong{font-size:1.14rem}.tutorial-workspace .advanced-score-row strong{font-size:1.8rem}@media (max-width: 1250px){.tutorial-workspace{grid-template-columns:220px minmax(520px,1fr)}}@media (max-width: 900px){.tutorial-workspace{grid-template-columns:minmax(0,1fr)}.tutorial-lesson-stage{padding:18px}}@media (max-width: 600px){.tutorial-heading h1{font-size:1.26rem}.tutorial-lesson-stage{padding:14px 12px}.tutorial-lesson-heading h2{font-size:1.5rem}.tutorial-node{width:176px}}.tutorial-page>.section-tabs{margin:14px 24px 12px}@media (max-width: 1024px){.tutorial-page>.section-tabs{margin-left:64px}}.tutorial-track-home-heading{align-items:flex-start;border-bottom:1px solid var(--border-color);padding-bottom:34px;margin-bottom:0}.tutorial-track-home-heading>div:first-child>span{display:flex;align-items:center;gap:7px;color:#60a5fa;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tutorial-track-home-heading h2{margin:12px 0 8px;color:var(--text-color);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.045em}.tutorial-track-home-heading>div:first-child>p{margin:0;color:var(--text-muted);font-size:1rem;line-height:1.7}.tutorial-track-home .tutorial-overall-progress>div{font-size:.86rem}.tutorial-screen-tour-actions button{min-height:36px;padding:0 14px;border-radius:9px}@media (max-width: 680px){.tutorial-track-grid{grid-template-columns:minmax(0,1fr)}}.tutorial-track-home-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:0 0 auto}@media (max-width: 900px){.tutorial-track-home-inner{width:min(900px,calc(100% - 40px))}}@media (max-width: 680px){.tutorial-track-home{padding-bottom:48px}.tutorial-track-home-inner{width:min(100% - 28px,620px)}.tutorial-track-home-heading{padding:0 0 24px}.tutorial-track-section-title{padding:0}}.tutorial-node-palette{width:208px;flex:0 0 208px}.tutorial-node-palette .sidebar-title{display:flex;align-items:center;gap:6px}.tutorial-node-palette .sidebar-category-header{cursor:default}.tutorial-node-palette .sidebar-category-header svg.chevron{transform:rotate(90deg)}.tutorial-palette-node{background:transparent;color:var(--ts-text, var(--text-color))}.tutorial-palette-node:hover:not(.is-disabled){background:var(--ts-surface-3);border-color:var(--ts-border)}.tutorial-assist-bar{padding:10px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.tutorial-assist-input{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(167,139,250,.45);border-radius:8px;background:#a78bfa14;color:#a78bfa}.tutorial-assist-input input{flex:1;min-width:0;height:38px;border:0;outline:0;background:transparent;color:var(--text-color);font:inherit;font-size:1.02rem}.tutorial-assist-input>button{min-height:30px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border:0;border-radius:6px;background:#7c3aed;color:#fff;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.tutorial-assist-input>button:disabled{opacity:.6;cursor:default}.tutorial-assist-chips{display:flex;flex-wrap:wrap;gap:6px}.tutorial-assist-chips button{min-height:28px;padding:3px 10px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:.92rem;cursor:pointer}.tutorial-assist-chips button:hover{border-color:#a78bfa80;color:var(--text-color)}.tutorial-assist-chips .tutorial-assist-modify{border-color:#a78bfa80;color:#a78bfa}.tutorial-assist-chips .tutorial-assist-modify.is-done{border-color:#22c55e73;color:#4ade80}.tutorial-feature-action{min-height:30px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(96,165,250,.45);border-radius:6px;background:#3b82f61a;color:#60a5fa;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.tutorial-feature-action:disabled{opacity:.55;cursor:default}.tutorial-feature-action kbd{padding:1px 5px;border:1px solid rgba(96,165,250,.4);border-radius:4px;font-family:var(--font-mono);font-size:.72rem}.tutorial-command-palette-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;justify-content:center;padding-top:46px;background:#02061773}.tutorial-command-palette{width:min(380px,calc(100% - 40px));height:fit-content;overflow:hidden;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);box-shadow:0 18px 48px #00000059}.tutorial-command-search{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid var(--border-color);color:var(--text-muted);font-size:.95rem}.tutorial-command-search kbd{margin-left:auto;padding:1px 6px;border:1px solid var(--border-color);border-radius:4px;font-family:var(--font-mono);font-size:.72rem}.tutorial-command-palette>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border:0;background:transparent;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer}.tutorial-command-palette>button:hover{background:var(--btn-active-bg);color:var(--text-color)}.tutorial-command-palette>button small{display:block;margin-bottom:2px;color:var(--text-muted);font-size:.78rem}.tutorial-command-palette>button strong{color:var(--text-color);font-size:.98rem;font-weight:600}.tutorial-quick-add{position:absolute;z-index:25;display:flex;flex-direction:column;gap:2px;min-width:176px;padding:6px;border:1px solid var(--border-color);border-radius:9px;background:var(--card-bg);box-shadow:0 14px 36px #0000004d}.tutorial-quick-add>span{padding:4px 8px 6px;color:var(--text-muted);font-size:.82rem;font-weight:600}.tutorial-quick-add button{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--text-color);font:inherit;font-size:.95rem;text-align:left;cursor:pointer}.tutorial-quick-add button:hover{background:var(--btn-active-bg)}.tutorial-quick-add .dnd-node-icon{width:24px;height:24px;flex:0 0 24px}.advanced-guard-status{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px dashed var(--border-color);border-radius:7px;color:var(--text-muted);font-size:.95rem}.advanced-template-preview{padding:10px 12px;border:1px solid rgba(250,204,21,.35);border-radius:8px;background:#facc1512;color:var(--text-color);font-size:.95rem;line-height:1.5}.advanced-shaping-lab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.advanced-shaping-lab>section{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg)}.advanced-shaping-lab>section>span{color:var(--text-muted);font-size:.92rem;font-weight:600}.advanced-shaping-lab pre{margin:0;padding:10px 12px;overflow-x:auto;border-radius:8px;background:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);font-size:.86rem;line-height:1.55;white-space:pre-wrap}.advanced-shaping-lab section>p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.55}.advanced-shaping-lab p.is-item{color:var(--text-color)}.advanced-shaping-lab .advanced-parsed-fields{display:flex;flex-wrap:wrap;gap:5px}.advanced-shaping-lab .advanced-parsed-fields code{padding:3px 7px;border-radius:5px;background:var(--btn-active-bg);color:var(--text-muted);font-size:.82rem}.advanced-shaping-lab .advanced-combined-output{border:1px solid rgba(34,197,94,.35)}.advanced-shaping-lab>section>button,.advanced-address-result{font:inherit}.advanced-shaping-lab>section>button{align-self:flex-start;min-height:32px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-color);font-size:.95rem;cursor:pointer}.advanced-shaping-lab>section>button:disabled{opacity:.55;cursor:default}.advanced-shaping-lab .advanced-primary-action{align-self:flex-start}.advanced-address-result{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg)}.advanced-address-result>span{color:var(--text-muted);font-size:.92rem;font-weight:600}.advanced-address-result p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.55}.advanced-address-result dl{margin:0;display:flex;flex-direction:column;gap:8px}.advanced-address-result dl>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;padding:8px 10px;border-radius:7px;background:var(--bg-color)}.advanced-address-result dt{color:var(--text-muted);font-size:.9rem}.advanced-address-result dd{margin:0;color:var(--text-color);font-size:.95rem}@media (max-width: 900px){.advanced-shaping-lab{grid-template-columns:1fr}.tutorial-assist-chips button{font-size:.86rem}}.advanced-format-fields{display:flex;flex-direction:column;gap:6px}.advanced-format-fields>div{display:grid;grid-template-columns:92px 96px minmax(0,1fr);gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-color);font-size:.95rem}.advanced-format-fields>div.is-filled{border-color:#22c55e66}.advanced-format-fields span{color:var(--text-muted)}.advanced-format-fields em{padding:2px 7px;border-radius:999px;background:var(--btn-active-bg);color:var(--text-muted);font-size:.85rem;font-style:normal;text-align:center}.advanced-format-fields strong{overflow:hidden;color:var(--text-color);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.tutorial-binding-fields{display:flex;flex-direction:column;gap:.6rem}.tutorial-binding-fields>div{position:relative;padding:.7rem .8rem;border:1px solid var(--ts-border);border-radius:.6rem;background:var(--ts-surface-2)}.tutorial-binding-fields>div.is-bound{border-color:#60a5fa8c}.tutorial-binding-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.tutorial-binding-head>span{color:var(--ts-text);font-size:.9rem;font-weight:600}.tutorial-binding-head>button{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border:1px solid rgba(96,165,250,.45);border-radius:999px;background:transparent;color:#60a5fa;font:inherit;font-size:.78rem;cursor:pointer}.tutorial-binding-fields em{color:var(--ts-text-muted);font-size:.84rem;font-style:normal}.tutorial-binding-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .55rem;border:1px solid rgba(96,165,250,.5);border-radius:.4rem;background:#3b82f61f;color:var(--ts-text);font-size:.85rem}.tutorial-binding-chip code{color:#60a5fa;font-size:.8rem}.tutorial-binding-picker{margin-top:.6rem;padding:.5rem;border:1px solid var(--ts-border);border-radius:.5rem;background:var(--ts-surface)}.tutorial-binding-picker>div+div{margin-top:.5rem}.tutorial-binding-picker>div>span{display:block;margin-bottom:.25rem;color:var(--ts-text-muted);font-size:.78rem;font-weight:600}.tutorial-binding-picker button{display:flex;align-items:baseline;gap:.5rem;width:100%;padding:.25rem .4rem;border:0;border-radius:.35rem;background:transparent;color:var(--ts-text);font:inherit;text-align:left;cursor:pointer}.tutorial-binding-picker button:hover{background:var(--ts-surface-2)}.tutorial-binding-picker button code{color:#60a5fa;font-size:.8rem}.tutorial-binding-picker button small{color:var(--ts-text-muted);font-size:.76rem}.documents-page-content{justify-content:flex-start;align-items:stretch;padding:0}.main-page-content.documents-page-content>.section-tabs{margin:14px 24px 12px;flex:0 0 auto}@media (max-width: 1024px){.main-page-content.documents-page-content>.section-tabs{margin-left:64px}}.documents-container{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:28px 0 80px}.documents-hero{padding:0 0 34px;border-bottom:1px solid var(--border-color)}.documents-eyebrow,.documents-kicker{display:flex;align-items:center;gap:7px;color:#60a5fa;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.documents-hero h1{margin:12px 0 8px;color:var(--text-color);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.045em}.documents-hero p,.documents-section-heading p{margin:0;color:var(--text-muted);line-height:1.7}.documents-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:48px;padding-top:32px}.documents-local-nav{position:sticky;top:32px;align-self:start;display:flex;flex-direction:column;gap:5px}.documents-nav-label{margin:0 10px 8px;color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em}.documents-local-nav button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:.9rem;font-weight:650;text-align:left;cursor:pointer}.documents-local-nav button:hover,.documents-local-nav button.active{background:var(--btn-active-bg);color:var(--text-color)}.documents-local-nav button.active{box-shadow:inset 3px 0 #60a5fa}.documents-article{min-width:0}.documents-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.documents-section-heading h2{margin:8px 0 7px;color:var(--text-color);font-size:clamp(1.55rem,3vw,2.05rem);letter-spacing:-.025em}.documents-primary-action{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 14px;border:1px solid rgba(96,165,250,.35);border-radius:9px;background:#3b82f61a;color:#60a5fa;font:inherit;font-size:.86rem;font-weight:750;cursor:pointer}.documents-primary-action:hover{background:#3b82f62e}.documents-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px}.documents-stats>*{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;min-height:86px;padding:16px;border:1px solid var(--border-color);border-radius:13px;background:var(--card-bg);color:var(--text-color);text-align:left}.documents-stats button{font:inherit;cursor:pointer}.documents-stats button:hover{border-color:#60a5fa80;transform:translateY(-1px)}.documents-stats svg{grid-row:1 / 3;color:#60a5fa}.documents-stats strong{font-size:1.25rem}.documents-stats span{color:var(--text-muted);font-size:.78rem}.documents-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.documents-feature-card{min-height:130px;padding:20px;border:1px solid var(--border-color);border-radius:13px;background:linear-gradient(145deg,var(--card-bg),rgba(59,130,246,.035))}.documents-feature-card>span{color:#60a5fa;font-family:var(--font-mono);font-size:.72rem;font-weight:800}.documents-feature-card h3{margin:14px 0 7px;color:var(--text-color);font-size:1rem}.documents-feature-card p{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.62}.documents-callout{display:flex;gap:13px;align-items:flex-start;margin-top:18px;padding:18px 20px;border:1px solid rgba(96,165,250,.25);border-radius:12px;background:#3b82f612;color:#60a5fa}.documents-callout div{color:var(--text-color)}.documents-callout p{margin:5px 0 0;color:var(--text-muted);font-size:.86rem;line-height:1.6}.documents-callout kbd,.documents-shortcut-row kbd{padding:3px 7px;border:1px solid var(--border-color);border-bottom-width:2px;border-radius:6px;background:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);font-size:.75rem;white-space:nowrap}.documents-search{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:0 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:var(--text-muted)}.documents-search:focus-within{border-color:#60a5faa6;box-shadow:0 0 0 3px #3b82f61a}.documents-search input{width:100%;padding:13px 0;border:0;outline:0;background:transparent;color:var(--text-color);font:inherit;font-size:.9rem}.documents-shortcut-groups{display:grid;gap:18px}.documents-shortcut-group{overflow:hidden;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg)}.documents-shortcut-group>h3{margin:0;padding:12px 16px;border-bottom:1px solid var(--border-color);color:#60a5fa;font-size:.78rem;letter-spacing:.04em}.documents-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:8px 16px;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.88rem}.documents-shortcut-row:last-child{border-bottom:0}.documents-shortcut-row>div{display:flex;gap:6px}.documents-result-count{flex-shrink:0;color:#60a5fa;font-size:.84rem;font-weight:750}.documents-node-group{margin-bottom:30px}.documents-node-group>h3{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;color:var(--text-color);font-size:1.06rem;letter-spacing:-.01em}.documents-node-group>h3>span{color:var(--text-muted);font-size:.8rem;font-weight:600}.documents-node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.documents-node-card{min-width:0;display:flex;flex-direction:column;gap:10px;padding:16px 17px;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);color:var(--text-color);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,transform .16s ease}.documents-node-card:hover{border-color:#60a5fa80;transform:translateY(-1px)}.documents-node-header{display:flex;align-items:center;gap:10px}.documents-node-glyph{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--node-color, var(--text-muted));background:color-mix(in srgb,var(--node-color, var(--text-muted)) 14%,transparent)}.documents-node-glyph.is-large{width:52px;height:52px;flex-basis:52px;border-radius:12px}.documents-node-header>div{min-width:0;flex:1}.documents-node-header h3{margin:0 0 3px;overflow:hidden;color:var(--text-color);font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.documents-node-header code{color:var(--text-muted);font-size:.7rem}.documents-node-kind{padding:4px 7px;border-radius:6px;background:var(--btn-active-bg);color:var(--text-muted);font-size:.68rem;white-space:nowrap}.documents-node-summary{min-height:2.9em;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-muted);font-size:.84rem;line-height:1.55}.documents-node-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:.74rem}.documents-node-open{display:inline-flex;align-items:center;gap:3px;color:#60a5fa;font-weight:650}.documents-node-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;padding:7px 12px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.84rem;cursor:pointer}.documents-node-back:hover{border-color:#60a5fa80;color:var(--text-color)}.documents-node-hero{display:flex;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border-color)}.documents-node-hero-badges{display:flex;gap:6px;margin-bottom:7px}.documents-node-hero-badges span{padding:3px 8px;border-radius:999px;background:var(--btn-active-bg);color:var(--text-muted);font-size:.72rem;font-weight:650}.documents-node-hero h2{margin:0 0 4px;color:var(--text-color);font-size:1.7rem;letter-spacing:-.025em}.documents-node-hero code{color:var(--text-muted);font-size:.8rem}.documents-node-lede{margin:0 0 24px;color:var(--text-color);font-size:1.05rem;line-height:1.7}.documents-node-section{margin-bottom:26px}.documents-node-section>h3{display:flex;align-items:center;gap:6px;margin:0 0 10px;color:#60a5fa;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.documents-node-section>p{margin:0 0 10px;color:var(--text-muted);font-size:.92rem;line-height:1.72}.documents-node-section>ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;color:var(--text-muted);font-size:.92rem;line-height:1.6}.documents-node-io{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.documents-node-io>div{padding:13px 15px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg)}.documents-node-io strong{display:block;margin-bottom:5px;color:#60a5fa;font-size:.76rem;font-weight:800;letter-spacing:.06em}.documents-node-io p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.6}.documents-field-table{overflow:hidden;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg)}.documents-field-row{display:grid;grid-template-columns:168px 96px minmax(0,1fr);gap:14px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.documents-field-row:last-child{border-bottom:0}.documents-field-name{min-width:0;display:flex;flex-direction:column;gap:3px}.documents-field-name code{overflow:hidden;color:var(--text-color);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.documents-field-name span{color:var(--text-muted);font-size:.76rem}.documents-field-name em{margin-left:2px;color:#f59e0b;font-style:normal}.documents-field-kind{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.documents-field-kind>span{padding:2px 7px;border-radius:5px;background:var(--btn-active-bg);color:var(--text-muted);font-size:.72rem;white-space:nowrap}.documents-field-kind small{color:var(--text-muted);font-size:.7rem}.documents-field-desc p{margin:0 0 6px;color:var(--text-muted);font-size:.85rem;line-height:1.6}.documents-field-desc p:last-child{margin-bottom:0}.documents-field-options{display:flex;flex-wrap:wrap;gap:4px}.documents-field-options code{padding:2px 6px;border-radius:5px;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-muted);font-size:.7rem}.documents-node-tips{padding:15px 17px;border:1px solid rgba(245,158,11,.3);border-radius:12px;background:#f59e0b0f}.documents-node-tips>h3{color:#f59e0b}.documents-node-tips>ul{color:var(--text-color)}.documents-node-related{display:flex;flex-wrap:wrap;gap:7px}.documents-node-related button{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 7px;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-color);font:inherit;font-size:.84rem;cursor:pointer}.documents-node-related button:hover{border-color:#60a5fa80;background:var(--btn-active-bg)}.documents-node-related .documents-node-glyph{width:24px;height:24px;flex-basis:24px;border-radius:6px}.documents-empty{grid-column:1 / -1;padding:40px 20px;border:1px dashed var(--border-color);border-radius:12px;color:var(--text-muted);text-align:center}@media (max-width: 1024px){.documents-layout{grid-template-columns:1fr;gap:28px}.documents-local-nav{position:static;flex-direction:row;overflow-x:auto}.documents-nav-label{display:none}.documents-local-nav button{width:auto;white-space:nowrap}.documents-local-nav button.active{box-shadow:inset 0 -2px #60a5fa}}@media (max-width: 900px){.documents-container{width:min(900px,calc(100% - 40px))}}@media (max-width: 680px){.documents-container{width:min(100% - 28px,620px);padding-bottom:48px}.documents-hero{padding-bottom:24px}.documents-section-heading{align-items:flex-start;flex-direction:column}.documents-stats,.documents-feature-grid,.documents-node-grid{grid-template-columns:1fr}.documents-shortcut-row{align-items:flex-start;flex-direction:column;gap:9px;padding:13px 15px}.documents-node-io{grid-template-columns:1fr}.documents-field-row{grid-template-columns:1fr;gap:7px}}.documents-pattern-chain{display:flex;align-items:center;gap:5px}.documents-pattern-chain .documents-node-glyph{width:24px;height:24px;flex-basis:24px;border-radius:6px}.documents-pattern-chain .documents-node-open{margin-left:auto}.documents-pattern-preview .tplflow-scroll{padding:12px 14px}.documents-section-note{margin:0 0 .85rem;color:var(--text-muted);font-size:.92rem;line-height:1.65}.documents-binding-table{display:flex;flex-direction:column;gap:.5rem}.documents-binding-row{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:.75rem;align-items:center;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:.6rem;background:var(--card-bg)}.documents-binding-node{display:flex;align-items:center;gap:.5rem;padding:0;border:0;background:none;color:var(--text-color);font:inherit;font-weight:600;text-align:left;cursor:pointer}.documents-binding-node:hover{color:#60a5fa}.documents-binding-fields,.documents-node-binding-fields{display:flex;flex-wrap:wrap;gap:.35rem}.documents-binding-fields code,.documents-node-binding-fields code{padding:.15rem .45rem;border:1px solid rgba(96,165,250,.35);border-radius:.35rem;background:#3b82f61a;color:#60a5fa;font-size:.82rem}.documents-node-binding{border-left:3px solid rgba(96,165,250,.55);padding-left:.9rem}.documents-inline-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.7rem;padding:0;border:0;background:none;color:#60a5fa;font:inherit;cursor:pointer}@media (max-width: 720px){.documents-binding-row{grid-template-columns:1fr}}.formats-section{margin-top:1.4rem}.formats-section-title{margin:0 0 .7rem;font-size:1rem;font-weight:700;color:var(--text-color);display:flex;align-items:baseline;gap:.55rem}.formats-section-title em{font-style:normal;font-weight:500;font-size:.78rem;color:var(--text-muted)}.formats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}.formats-card{border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg, var(--bg-color));padding:.85rem .95rem;display:flex;flex-direction:column;gap:.4rem;min-height:118px}.formats-card.preset{background:color-mix(in srgb,var(--border-color) 12%,transparent)}.formats-card-head{display:flex;justify-content:space-between;align-items:center}.formats-layout-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--border-color);color:var(--text-muted)}.formats-layout-badge.design{color:#b08d3e;border-color:color-mix(in srgb,#b08d3e 45%,transparent)}.formats-layout-badge.document{color:#0d9488;border-color:color-mix(in srgb,#0d9488 45%,transparent)}.formats-updated{font-size:.7rem;color:var(--text-muted)}.formats-card-name{margin:0;font-size:.95rem;font-weight:700;color:var(--text-color)}.formats-card-meta,.formats-card-desc{margin:0;font-size:.74rem;color:var(--text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.formats-card-actions{margin-top:auto;display:flex;gap:.35rem;padding-top:.45rem}.formats-card-actions button{display:inline-flex;align-items:center;gap:4px;font-size:.73rem;padding:4px 9px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-color);cursor:pointer}.formats-card-actions button:hover{border-color:var(--primary-color, #4f7cff);color:var(--primary-color, #4f7cff)}.formats-card-actions button.danger:hover{border-color:#ef4444;color:#ef4444}.fsp .fsp-canvas-wrap{display:flex;justify-content:center;padding:26px 18px 40px}.fsp .fsp-doc-wrap{width:min(860px,100%);margin:26px auto 40px;padding:0 18px;box-sizing:border-box}.fsp .fsp-doc-wrap .fstudio-blocks,.fsp .fsp-doc-wrap .fstudio-design{background:var(--card-bg, #fff);border:1px solid var(--border-color);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}.fsp .fsp-preview-frame{width:min(820px,100%);margin:26px auto 40px;background:#fff;color:#111;border-radius:8px;box-shadow:0 2px 16px #0000004d;padding:26px 30px;box-sizing:border-box}.fsp .fcv{outline:none}.fsp .fcv-stage{padding:0}.fsp .properties-panel .fstudio-name-row{display:flex;gap:6px;align-items:center}.fsp .properties-panel .fstudio-name-row input{flex:1;min-width:0;padding:7px 9px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.84rem}.fsp .properties-panel .fstudio-fields{display:flex;flex-direction:column;gap:6px}.fsp .properties-panel .fstudio-field-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:7px;border:1px solid var(--border-color);border-radius:8px}.fsp .properties-panel .fstudio-field-row>input{flex:1 1 42%;min-width:0}.fsp .properties-panel .fstudio-field-row>select{flex:1 1 38%;min-width:0}.fsp .properties-panel .fstudio-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fsp .properties-panel .fstudio-theme-grid label{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.74rem;color:var(--text-muted)}.fsp .properties-panel .fcv-props{border:0;padding:0}.fsp-toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:1500;max-width:min(560px,90vw);padding:9px 16px;border-radius:999px;font-size:.82rem;font-weight:600;box-shadow:0 4px 18px #00000059}.fsp-toast.success{background:#123527;color:#4ade80;border:1px solid rgba(74,222,128,.4)}.fsp-toast.error{background:#3a1420;color:#fda4af;border:1px solid rgba(253,164,175,.4)}.milestone-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;padding:1.25rem}.milestone-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:#020617c2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:milestone-fade-in .22s ease-out both}.milestone-card{position:relative;box-sizing:border-box;width:min(430px,calc(100vw - 2.5rem));max-width:100%;padding:1.25rem 2rem 2rem;overflow:hidden;text-align:center;color:var(--text-color);background:var(--card-bg);background:color-mix(in srgb,var(--card-bg) 94%,#172554 6%);border:1px solid rgba(96,165,250,.28);border-radius:28px;box-shadow:0 30px 90px #02061794,0 0 70px #3b82f621;animation:milestone-card-arrive .56s cubic-bezier(.16,1,.3,1) both}.milestone-card *{box-sizing:border-box}.milestone-close{position:absolute;top:1rem;right:1rem;z-index:4;display:grid;place-items:center;width:32px;height:32px;padding:0;color:var(--text-muted);background:#94a3b814;border:1px solid rgba(148,163,184,.16);border-radius:50%;cursor:pointer}.milestone-visual{position:relative;display:grid;place-items:center;width:min(280px,68vw);aspect-ratio:1;margin:0 auto -.15rem}.milestone-visual img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(2,6,23,.32));animation:milestone-character-bounce .92s .18s cubic-bezier(.16,1,.3,1) both}.milestone-ring{position:absolute;width:48%;aspect-ratio:1;border:2px solid rgba(59,130,246,.42);border-radius:50%;animation:milestone-ring-expand 1.05s .12s ease-out both}.milestone-ring-secondary{border-color:#8b5cf652;animation-delay:.26s}.milestone-particles{position:absolute;top:50%;right:50%;bottom:50%;left:50%;z-index:1}.milestone-particles i{position:absolute;width:9px;height:9px;background:var(--particle-color);border-radius:3px;opacity:0;animation:milestone-particle-burst .9s var(--particle-delay) cubic-bezier(.16,1,.3,1) both}.milestone-particles i:nth-child(3n){border-radius:50%}.milestone-particles i:nth-child(3n+2){width:6px;height:14px}.milestone-eyebrow{display:block;margin-bottom:.55rem;color:#60a5fa;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.12em}.milestone-card h2{margin:0;font-size:clamp(1.6rem,5vw,2rem);letter-spacing:-.035em}.milestone-card p{max-width:340px;margin:.8rem auto 0;color:var(--text-muted);font-size:.98rem;line-height:1.65}@keyframes milestone-fade-in{0%{opacity:0}to{opacity:1}}@keyframes milestone-card-arrive{0%{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes milestone-character-bounce{0%{opacity:0;transform:translateY(20px) scale(.86) rotate(-2deg)}55%{opacity:1;transform:translateY(-8px) scale(1.035) rotate(1deg)}78%{transform:translateY(3px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes milestone-ring-expand{0%{opacity:.7;transform:scale(.45)}to{opacity:0;transform:scale(1.9)}}@keyframes milestone-particle-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:1}72%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) rotate(var(--particle-rotate)) scale(1)}}@media (max-width: 520px){.milestone-card{padding:1rem 1.35rem 1.6rem;border-radius:22px}.milestone-visual{width:min(240px,68vw)}.milestone-card p{font-size:.92rem}}@media (prefers-reduced-motion: reduce){.milestone-backdrop,.milestone-card,.milestone-visual img,.milestone-ring,.milestone-particles i{animation:none!important}.milestone-ring,.milestone-particles{display:none}}.demo-onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3100;display:flex;align-items:center;justify-content:center;background:#0f172a8c;padding:1.5rem;box-sizing:border-box}.demo-onboarding-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:.9rem;background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:16px;padding:1.75rem 1.6rem;box-shadow:var(--card-shadow, 0 20px 50px rgba(0, 0, 0, .25))}.demo-onboarding-card h2{margin:0;font-size:1.2rem;font-weight:700}.demo-onboarding-card p{margin:0;font-size:.92rem;line-height:1.5;color:var(--text-muted)}.demo-onboarding-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.demo-onboarding-card input{font:inherit;font-size:.95rem;color:var(--text-color);background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .75rem}.demo-onboarding-card input:focus{outline:2px solid var(--accent-color, #3b82f6);outline-offset:1px}.demo-onboarding-error{color:#dc2626;font-size:.85rem}.demo-onboarding-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.demo-onboarding-actions button{font:inherit;border-radius:8px;padding:.55rem 1rem;cursor:pointer}.demo-onboarding-skip{background:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.demo-onboarding-submit{background:var(--accent-color, #3b82f6);color:#fff;border:1px solid transparent;font-weight:600}.demo-onboarding-actions button:disabled{opacity:.6;cursor:default}.demo-onboarding-note{font-size:.78rem!important}:root{--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--bg-color: #0f172a;--text-color: #f8fafc;--text-muted: #94a3b8;--primary-color: #3b82f6;--primary-hover: #2563eb;--accent-color: var(--primary-color);--card-bg: #1e293b;--border-color: #334155;--card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--btn-active-bg: rgba(255, 255, 255, .05);--node-start-bg: #10b981;--node-task-bg: #8b5cf6;--scrollbar-thumb: rgba(148, 163, 184, .34);--scrollbar-thumb-hover: rgba(148, 163, 184, .58)}[data-theme=light]{--bg-color: #f1f5f9;--text-color: #0f172a;--text-muted: #64748b;--primary-color: #3b82f6;--primary-hover: #2563eb;--accent-color: var(--primary-color);--card-bg: rgba(255, 255, 255, .85);--border-color: #cbd5e1;--card-shadow: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--btn-active-bg: rgba(0, 0, 0, .05);--node-start-bg: #10b981;--node-task-bg: #8b5cf6;--scrollbar-thumb: rgba(71, 85, 105, .3);--scrollbar-thumb-hover: rgba(51, 65, 85, .52)}body,html{margin:0;padding:0;width:100%;height:100%;font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}button,input,textarea{font-family:inherit}#root{width:100%;height:100%;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100dvh;width:100vw;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{min-height:36px;border:2px solid transparent;border-radius:8px;background:var(--scrollbar-thumb);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.editor-more-menu,.node-list,.response-panel,.work-assistant-messages{scrollbar-gutter:stable}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000001a;z-index:10}.editor-header{position:relative;min-height:58px;padding:0 16px;gap:16px;box-sizing:border-box;background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:none;z-index:50}.editor-header-identity,.primary-action-container{display:flex;align-items:center;gap:8px}.editor-header-identity{min-width:0}.primary-action-container{flex-shrink:0}.editor-icon-button{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;box-sizing:border-box;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.editor-icon-button:hover,.editor-icon-button.active{background:var(--btn-active-bg);border-color:var(--border-color);color:var(--text-color)}.editor-icon-button.editor-save-dirty{position:relative;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 10%,transparent);border-color:color-mix(in srgb,var(--primary-color) 28%,transparent)}.editor-icon-button.editor-save-dirty:after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border:1px solid var(--card-bg);border-radius:50%;background:#f59e0b}.editor-shortcut-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:20px;background:#020617b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.editor-shortcut-dialog{width:min(620px,100%);max-height:min(720px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg);box-shadow:0 24px 80px #02061752}.editor-shortcut-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--border-color)}.editor-shortcut-dialog h2{margin:4px 0 6px;color:var(--text-color);font-size:1.25rem}.editor-shortcut-dialog p{margin:0;color:var(--text-muted);font-size:.86rem}.editor-shortcut-eyebrow{color:var(--primary-color);font-size:.68rem;font-weight:800;letter-spacing:.12em}.editor-shortcut-list{max-height:min(560px,calc(100vh - 190px));overflow-y:auto;padding:8px 24px 20px}.editor-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;border-bottom:1px solid color-mix(in srgb,var(--border-color) 72%,transparent)}.editor-shortcut-row>span{display:flex;flex-direction:column;gap:2px}.editor-shortcut-row small{color:var(--text-muted);font-size:.68rem}.editor-shortcut-row strong{color:var(--text-color);font-size:.9rem}.editor-shortcut-row>div,.editor-shortcut-row>div>span{display:flex;align-items:center;gap:7px}.editor-shortcut-row em{color:var(--text-muted);font-size:.7rem;font-style:normal}.editor-shortcut-row kbd{min-width:30px;padding:5px 8px;border:1px solid var(--border-color);border-bottom-width:2px;border-radius:6px;color:var(--text-color);background:var(--btn-active-bg);font:700 .75rem/1 system-ui,sans-serif;text-align:center;white-space:nowrap}.editor-command-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:flex;justify-content:center;align-items:flex-start;padding:min(16vh,140px) 20px 20px;background:#02061794;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.editor-command-dialog{width:min(640px,100%);overflow:hidden;border:1px solid color-mix(in srgb,var(--primary-color) 18%,var(--border-color));border-radius:14px;background:var(--card-bg);box-shadow:0 26px 90px #0206176b}.editor-command-search{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 16px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.editor-command-search input{flex:1;min-width:0;border:0;outline:0;color:var(--text-color);background:transparent;font:600 1rem/1.4 system-ui,sans-serif}.editor-command-search input::placeholder{color:var(--text-muted);font-weight:500}.editor-command-search kbd,.editor-command-results kbd,.editor-context-menu kbd{padding:4px 6px;border:1px solid var(--border-color);border-radius:5px;color:var(--text-muted);background:var(--btn-active-bg);font:650 .67rem/1 system-ui,sans-serif;white-space:nowrap}.editor-command-results{max-height:min(440px,calc(100vh - 260px));overflow-y:auto;padding:7px}.editor-command-results>button{width:100%;min-height:50px;padding:7px 10px;display:grid;grid-template-columns:32px minmax(0,1fr) auto 18px;align-items:center;gap:9px;border:1px solid transparent;border-radius:8px;color:var(--text-color);background:transparent;cursor:pointer;text-align:left}.editor-command-results>button:hover,.editor-command-results>button.active{border-color:color-mix(in srgb,var(--primary-color) 28%,transparent);background:color-mix(in srgb,var(--primary-color) 10%,var(--btn-active-bg))}.editor-command-results>button>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}.editor-command-results strong{overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.editor-command-results small{color:var(--text-muted);font-size:.68rem}.editor-command-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:7px;color:var(--primary-color);background:var(--card-bg)}.editor-command-check{color:var(--primary-color)}.editor-command-empty{padding:36px 20px;color:var(--text-muted);font-size:.86rem;text-align:center}.editor-command-dialog>footer{padding:9px 16px;border-top:1px solid var(--border-color);color:var(--text-muted);background:color-mix(in srgb,var(--btn-active-bg) 70%,transparent);font-size:.68rem}.editor-node-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:215;background:#0206171f}.editor-node-picker{position:fixed;width:360px;max-height:min(470px,calc(100vh - 72px));overflow:hidden;border:1px solid color-mix(in srgb,var(--primary-color) 22%,var(--border-color));border-radius:12px;color:var(--text-color);background:var(--card-bg);box-shadow:0 22px 70px #02061761}.editor-node-picker>header{min-height:54px;padding:10px 12px 9px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-color)}.editor-node-picker>header>div{min-width:0;display:flex;flex-direction:column;gap:2px}.editor-node-picker>header strong{font-size:.88rem}.editor-node-picker>header small{color:var(--text-muted);font-size:.67rem}.editor-node-picker>header button{width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;color:var(--text-muted);background:transparent;cursor:pointer}.editor-node-picker>header button:hover{color:var(--text-color);background:var(--btn-active-bg)}.editor-node-picker-search{min-height:46px;padding:0 14px;display:flex;align-items:center;gap:9px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.editor-node-picker-search input{flex:1;min-width:0;border:0;outline:0;color:var(--text-color);background:transparent;font-size:.82rem}.editor-node-picker-hint{min-height:30px;padding:0 12px;display:flex;align-items:center;gap:8px;color:var(--text-muted);background:color-mix(in srgb,var(--btn-active-bg) 65%,transparent);font-size:.62rem}.editor-node-picker-hint span{display:inline-flex;align-items:center;gap:3px}.editor-node-picker-hint span:first-child{color:#f59e0b}.editor-node-picker-results{max-height:310px;overflow-y:auto;padding:6px}.editor-node-picker-results>div:not(.editor-node-picker-empty){min-height:48px;display:flex;align-items:center;border:1px solid transparent;border-radius:8px}.editor-node-picker-results>div.active{border-color:color-mix(in srgb,var(--primary-color) 28%,transparent);background:color-mix(in srgb,var(--primary-color) 9%,var(--btn-active-bg))}.editor-node-picker-choice{flex:1;min-width:0;min-height:46px;padding:5px 7px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;color:var(--text-color);background:transparent;cursor:pointer;text-align:left}.editor-node-picker-choice>i{width:28px;height:28px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--node-color) 32%,transparent);border-radius:7px;color:var(--node-color);background:color-mix(in srgb,var(--node-color) 10%,transparent);font-size:.7rem;font-style:normal;font-weight:800}.editor-node-picker-choice>span{min-width:0;display:flex;flex-direction:column;gap:2px}.editor-node-picker-choice strong,.editor-node-picker-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-node-picker-choice strong{font-size:.78rem}.editor-node-picker-choice small{color:var(--text-muted);font-size:.61rem}.editor-node-picker-choice em{padding:3px 5px;border-radius:4px;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 10%,transparent);font-size:.58rem;font-style:normal}.editor-node-favorite{width:30px;height:30px;margin-right:6px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;color:var(--text-muted);background:transparent;cursor:pointer}.editor-node-favorite:hover,.editor-node-favorite.active{color:#f59e0b;background:#f59e0b1a}.editor-node-picker-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:.75rem}.editor-node-picker>footer{padding:8px 13px;border-top:1px solid var(--border-color);color:var(--text-muted);background:color-mix(in srgb,var(--btn-active-bg) 65%,transparent);font-size:.62rem}.editor-selection-toolbar{position:fixed;left:calc(50% + 120px);z-index:90;min-height:44px;padding:5px 7px;display:flex;align-items:center;gap:3px;border:1px solid color-mix(in srgb,var(--primary-color) 24%,var(--border-color));border-radius:10px;color:var(--text-color);background:color-mix(in srgb,var(--card-bg) 94%,transparent);box-shadow:0 14px 38px #0206173d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(-50%);transition:bottom .18s ease}.editor-selection-toolbar>button,.editor-arrange-wrap>button{width:32px;height:32px;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--text-muted);background:transparent;cursor:pointer}.editor-selection-toolbar>button:hover,.editor-arrange-wrap>button:hover,.editor-arrange-wrap>button.active{border-color:var(--border-color);color:var(--text-color);background:var(--btn-active-bg)}.editor-selection-toolbar button.danger:hover{color:#ef4444;background:#ef44441a}.editor-selection-toolbar>i{width:1px;height:22px;margin:0 3px;background:var(--border-color)}.editor-selection-count{min-width:36px;display:flex;align-items:baseline;justify-content:center;gap:3px;color:var(--primary-color);font-size:.86rem;font-weight:800}.editor-selection-count small{color:var(--text-muted);font-size:.6rem;font-weight:600}.editor-arrange-wrap{position:relative}.editor-arrange-popover{position:absolute;bottom:calc(100% + 10px);left:50%;width:260px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);box-shadow:0 16px 44px #02061747;transform:translate(-50%)}.editor-arrange-popover>strong{display:block;margin:0 0 8px;color:var(--text-muted);font-size:.7rem}.editor-arrange-popover>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.editor-arrange-popover button{min-height:32px;padding:5px 7px;border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);background:var(--btn-active-bg);cursor:pointer;font-size:.7rem;text-align:left}.editor-arrange-popover button:hover:not(:disabled){border-color:var(--primary-color)}.editor-arrange-popover button:disabled{opacity:.4;cursor:not-allowed}.editor-context-menu{position:fixed;z-index:180;width:236px;padding:6px;border:1px solid var(--border-color);border-radius:10px;color:var(--text-color);background:color-mix(in srgb,var(--card-bg) 97%,transparent);box-shadow:0 18px 55px #02061757;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.editor-context-heading{padding:7px 9px 8px;border-bottom:1px solid var(--border-color);color:var(--text-muted);font-size:.68rem;font-weight:750}.editor-context-menu>button{width:100%;min-height:34px;padding:6px 8px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;border:0;border-radius:6px;color:var(--text-color);background:transparent;cursor:pointer;font-size:.78rem;text-align:left}.editor-context-menu>button:hover{background:var(--btn-active-bg)}.editor-context-menu>button.danger{color:#ef4444}.editor-context-arrange{margin:5px 0;padding:8px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.editor-context-arrange>small{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.65rem}.editor-context-arrange>div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.editor-context-arrange button{height:29px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:5px;color:var(--text-muted);background:var(--btn-active-bg);cursor:pointer}.editor-context-arrange button:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.editor-context-arrange button:disabled{opacity:.35;cursor:not-allowed}.editor-project-control,.editor-more-wrap{position:relative;min-width:0}.project-title-btn{min-width:0;max-width:min(430px,42vw);height:40px;padding:4px 8px;display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;text-align:left}.project-title-btn:hover,.project-title-btn[aria-expanded=true]{background:var(--btn-active-bg);border-color:var(--border-color)}.editor-project-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.editor-project-copy strong,.editor-project-copy small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.editor-project-copy strong{color:var(--text-color);font-size:14px;font-weight:650}.editor-project-copy small{color:var(--text-muted);font-size:11px}.editor-project-popover{position:absolute;top:calc(100% + 9px);left:0;width:320px;padding:16px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);box-shadow:0 18px 45px #00000052;z-index:120}.editor-popover-heading,.editor-more-heading>div{display:flex;flex-direction:column;gap:3px}.editor-popover-heading{margin-bottom:16px}.editor-popover-heading strong,.editor-more-heading strong{color:var(--text-color);font-size:14px;letter-spacing:0}.editor-popover-heading span,.editor-more-heading span{color:var(--text-muted);font-size:11px}.editor-field-label{display:block;margin:12px 0 6px;color:var(--text-muted);font-size:12px;font-weight:600}.editor-field-input{width:100%;padding:9px 10px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:6px;outline:none;background:var(--bg-color);color:var(--text-color);font-size:13px}.editor-field-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f624}.editor-field-textarea{min-height:92px;resize:vertical;line-height:1.5}.editor-more-menu{position:absolute;top:calc(100% + 10px);right:0;width:360px;max-height:calc(100dvh - 80px);overflow-y:auto;box-sizing:border-box;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);box-shadow:0 22px 55px #0000005c;z-index:120}.editor-more-heading{position:sticky;top:0;z-index:2;min-height:58px;padding:10px 10px 10px 14px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.editor-menu-section{padding:9px;border-bottom:1px solid var(--border-color)}.editor-menu-section:last-child{border-bottom:0}.editor-menu-section-label{padding:4px 8px 6px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase}.editor-menu-item,.editor-switch-row,.editor-visibility-row{width:100%;min-height:45px;padding:7px 8px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;box-sizing:border-box;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;text-align:left}.editor-menu-item:hover:not(:disabled),.editor-switch-row:hover,.editor-visibility-row:hover{background:var(--btn-active-bg);color:var(--text-color)}.editor-menu-item:disabled{opacity:.42;cursor:not-allowed}.editor-menu-item.danger{color:#f87171}.editor-menu-item>span,.editor-switch-row>span{min-width:0;display:flex;flex-direction:column;gap:2px}.editor-menu-item strong,.editor-switch-row strong,.editor-visibility-row strong{color:var(--text-color);font-size:12px;font-weight:600;letter-spacing:0}.editor-menu-item small{overflow:hidden;color:var(--text-muted);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.editor-menu-inline-actions{padding:3px 0;display:grid;grid-template-columns:1fr 1fr;gap:6px}.editor-menu-inline-actions button{height:32px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer}.editor-menu-inline-actions button:hover{background:var(--btn-active-bg);color:var(--text-color)}.editor-visibility-row{grid-template-columns:minmax(0,1fr) auto;cursor:default}.editor-visibility-row>span{display:flex;align-items:center;gap:8px}.editor-visibility-row select{max-width:112px;padding:6px 24px 6px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-color);font-size:11px}.editor-switch-row{grid-template-columns:minmax(0,1fr) auto}.editor-switch-row>span{flex-direction:row;align-items:center;gap:8px}.editor-switch-row i{width:34px;height:19px;padding:2px;display:flex;align-items:center;box-sizing:border-box;border-radius:10px;background:var(--border-color);transition:background-color .18s ease}.editor-switch-row i b{width:15px;height:15px;display:block;border-radius:50%;background:#fff;transition:transform .18s ease}.editor-switch-row i.active{background:var(--primary-color)}.editor-switch-row i.active b{transform:translate(15px)}.editor-token-summary{margin:4px 8px 7px 30px;padding:9px 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color)}.editor-token-summary div{min-width:0;display:flex;flex-direction:column;gap:4px}.editor-token-summary span{color:var(--text-muted);font-size:9px}.editor-token-summary strong{overflow:hidden;color:var(--text-color);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.mobile-tools-overlay{display:none}.header h1{margin:0;font-size:1.5rem;font-weight:600;background:linear-gradient(to right,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn-run{background-color:var(--primary-color);color:var(--text-color);border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;height:36px;box-sizing:border-box}.btn-mock{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .16s ease,border-color .16s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;height:36px;box-sizing:border-box}.btn-mock:hover:not(:disabled){background-color:var(--btn-active-bg);border-color:var(--ts-border-strong, var(--text-muted))}.btn-run{color:#fff;transition:background-color .16s ease}.btn-run:hover:not(:disabled){background-color:var(--primary-hover)}.btn-run:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;height:36px;box-sizing:border-box}.btn-secondary:hover:not(:disabled){background-color:var(--btn-active-bg);border-color:var(--primary-color)}.btn-secondary:active:not(:disabled){background-color:var(--btn-active-bg)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.main-content{display:flex;flex:1;position:relative;min-height:0;overflow:hidden}.flow-wrapper{flex:1;min-width:0;height:100%}@media (max-width: 900px){.assistant-toggle-label{display:none}.primary-action-container .assistant-toggle-button{width:36px;padding:0}}.response-panel{width:350px;background-color:var(--card-bg);border-left:1px solid var(--border-color);padding:1.5rem;display:flex;flex-direction:column;overflow-y:auto;transition:transform .3s ease}.response-panel h2{margin-top:0;font-size:1.2rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:1rem}.response-content{background-color:var(--btn-active-bg);border-radius:.5rem;padding:.5rem 1.25rem 1.25rem;font-size:.95rem;line-height:1.5;white-space:pre-wrap;flex:1}.sidebar{width:240px;flex:0 0 240px;min-height:0;background-color:var(--card-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.mobile-palette-toggle,.mobile-palette-overlay,.mobile-palette-close-btn{display:none}@media (max-width: 1024px){.sidebar{position:fixed;top:0;left:0;height:100dvh;z-index:60;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar.mobile-open{transform:translate(0)}.mobile-palette-toggle{display:flex;align-items:center;justify-content:center;position:absolute;bottom:2rem;right:1.5rem;z-index:40;background:var(--primary-color);color:#fff;border:none;border-radius:50%;width:56px;height:56px;box-shadow:0 4px 12px #0000004d;cursor:pointer;transition:transform .2s}.mobile-palette-toggle:active{transform:scale(.95)}.mobile-palette-overlay{display:block;position:fixed;top:0;left:0;width:100vw;height:100dvh;background:#000000b3;z-index:55}.mobile-palette-close-btn{display:flex;background:transparent;border:none;color:var(--text-color);cursor:pointer}}@media (max-width: 1024px){.react-flow__handle{width:20px!important;height:20px!important;border-radius:50%!important;background-color:var(--primary-color)!important;border:2px solid white!important;z-index:1000!important}.custom-node input,.custom-node textarea,.custom-node select{font-size:16px!important;padding:10px!important}}@media (max-width: 720px){*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}.editor-more-menu,.node-list,.response-panel,.work-assistant-messages{scrollbar-gutter:auto}.editor-header{min-height:56px;padding:0 8px;gap:6px}.editor-header-identity,.primary-action-container{gap:4px}.editor-header-identity{flex:1}.project-title-btn{max-width:150px;padding:4px 6px}.editor-project-copy small{display:none}.editor-project-popover{position:fixed;top:62px;left:8px;width:calc(100vw - 16px)}.assistant-toggle-label,.run-text,.mock-text{display:none}.primary-action-container .assistant-toggle-button,.primary-action-container .btn-mock,.primary-action-container .btn-run{width:36px;min-width:36px;padding:0}.mobile-tools-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:block;background:#0206179e;z-index:40}.editor-more-menu{position:fixed;top:auto;right:0;bottom:0;left:0;width:100vw;max-height:min(78dvh,680px);border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0;z-index:100}.editor-command-backdrop{padding:70px 10px 10px}.editor-command-dialog{border-radius:11px}.editor-command-results{max-height:calc(100dvh - 220px)}.editor-node-picker-backdrop{background:#0206178c}.editor-node-picker{top:auto!important;right:0;bottom:0;left:0!important;width:100vw;max-height:min(72dvh,620px);border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0}.editor-node-picker-results{max-height:calc(72dvh - 170px)}.editor-selection-toolbar{right:8px;left:8px;justify-content:center;overflow:visible;transform:none}.editor-selection-count{margin-right:auto}.editor-selection-toolbar>button,.editor-arrange-wrap>button{width:36px;height:36px}.editor-arrange-popover{position:fixed;right:8px;bottom:66px;left:8px;width:auto;transform:none}.editor-context-menu{width:min(260px,calc(100vw - 16px))}}@media (max-width: 430px){.project-title-btn{max-width:92px}.project-title-btn svg{display:none}}.custom-node{border-radius:12px;color:var(--text-color);min-width:280px;max-width:350px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border-color);overflow:visible;background-color:var(--card-bg);transition:box-shadow .16s,border-color .16s}.custom-node:hover{box-shadow:0 6px 18px #00000024}.custom-node.selected{border-color:var(--ts-accent, var(--primary-color));box-shadow:0 0 0 2px var(--ts-accent, var(--primary-color)),0 8px 20px #00000040}.custom-node.node-executing{border-color:var(--ts-accent, var(--primary-color));animation:pulse-border 1.5s infinite}.custom-node.node-success{border-color:var(--ts-success, #34d399);box-shadow:0 0 0 1px var(--ts-success, #34d399)}.custom-node.node-error{border-color:var(--ts-danger, #f87171);box-shadow:0 0 0 1px var(--ts-danger, #f87171)}.react-flow__node.node-executing .custom-node,.react-flow__node.node-success .custom-node,.react-flow__node.node-error .custom-node{position:relative}.react-flow__node.node-executing .custom-node{border-color:var(--ts-accent, var(--primary-color));animation:pulse-border 1.5s infinite}.react-flow__node.node-success .custom-node{border-color:var(--ts-success, #34d399);box-shadow:0 0 0 1px var(--ts-success, #34d399)}.react-flow__node.node-error .custom-node{border-color:var(--ts-danger, #f87171);box-shadow:0 0 0 1px var(--ts-danger, #f87171)}.react-flow__node.node-executing .custom-node:after{content:"실행 중";position:absolute;top:-13px;left:50%;z-index:25;min-width:48px;padding:3px 7px;transform:translate(-50%);box-sizing:border-box;border:1px solid var(--ts-surface-1, var(--card-bg));border-radius:10px;background:var(--ts-accent, var(--primary-color));color:#fff;font-size:11px;font-weight:700;line-height:1.2;text-align:center;pointer-events:none}.react-flow__node.node-success .custom-node:after,.react-flow__node.node-error .custom-node:after{position:absolute;top:-8px;right:-8px;z-index:25;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:2px solid var(--bg-color);border-radius:50%;color:#fff;font-size:11px;font-weight:800;line-height:1;pointer-events:none}.react-flow__node.node-success .custom-node:after{content:"✓";background:var(--ts-success, #34d399)}.react-flow__node.node-error .custom-node:after{content:"!";background:var(--ts-danger, #f87171)}@keyframes pulse-border{0%{box-shadow:0 0 color-mix(in srgb,var(--ts-accent, var(--primary-color)) 70%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.node-header{min-height:44px;padding:.6rem .75rem .6rem 1rem;box-sizing:border-box;font-weight:600;font-size:.9rem;color:var(--text-color);display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0;background:var(--card-bg);border-bottom:1px solid var(--border-color);gap:.6rem}.btn-delete{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:0;line-height:1;transition:color .16s,background-color .16s}.btn-delete:hover{color:var(--ts-danger, #f87171);background:var(--ts-danger-soft, rgba(248, 113, 113, .12))}.react-flow__edge-path{stroke:var(--ts-edge, #94a3b8);stroke-width:2.5;opacity:.85}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--ts-accent, var(--primary-color));stroke-width:3.5;opacity:1}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--ts-edge-hover, #e2e8f0);stroke-width:3.5;opacity:1}.custom-node.prompt{border-left:4px solid #3b82f6}.custom-node.llm{border-left:4px solid #8b5cf6}.custom-node.output{border-left:4px solid #f97316}.custom-node.condition{border-left:4px solid #0ea5e9}.custom-node.value{border-left:4px solid #ec4899}.custom-node.python{border-left:4px solid #eab308}.custom-node.tokenizer{border-left:4px solid #14b8a6}.custom-node.distributor{border-left:4px solid #6366f1}.custom-node.start{border-left:4px solid #10b981}.custom-node.schedule{border-left:4px solid #8b5cf6}.custom-node.discord{border-left:4px solid #5865F2}.custom-node.telegram{border-left:4px solid #26A5E4}.custom-node.notion{border-left:4px solid #9B9B9B}.custom-node.kakao{border-left:4px solid #facc15}.custom-node.toss{border-left:4px solid #3b82f6}.custom-node.webhook-node{border-left:4px solid #0ea5e9}.custom-node.file-modifier{border-left:4px solid #f43f5e}.custom-node.template-analyzer{border-left:4px solid #8b5cf6}.node-body{padding:.5rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.node-body label{font-size:.75rem;color:var(--text-muted);text-align:left}.node-body textarea,.node-body select,.node-body input[type=text],.node-body input[type=password]{width:100%;padding:.5rem;border-radius:6px;background-color:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);font-size:.8rem;resize:none;font-size:13px;line-height:1.5;min-height:60px;max-height:300px;overflow-y:hidden;box-sizing:border-box}.node-body textarea:focus,.node-body select:focus,.node-body input[type=text]:focus,.node-body input[type=password]:focus{outline:none;border-color:var(--primary-color)}.react-flow__bg{background-color:var(--bg-color)}.react-flow__controls{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.react-flow__controls-button{background-color:transparent;border-bottom:1px solid var(--border-color);fill:var(--text-color)}.react-flow__controls-button:hover{background-color:var(--btn-active-bg)}.project-title-btn:hover{background:var(--btn-active-bg)!important}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.claude-loader-container{display:flex;flex-direction:column;gap:16px;padding:20px}.claude-loader-header{display:flex;align-items:center;gap:12px;color:#a855f7;font-weight:500;animation:pulse-opacity 2s cubic-bezier(.4,0,.6,1) infinite}.claude-loader-header svg{animation:pulse-opacity 1.5s ease-in-out infinite alternate}.claude-skeleton{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--border-color) 25%,var(--btn-active-bg) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 2s infinite linear}.claude-skeleton.short{width:60%}.claude-skeleton.medium{width:85%}.claude-skeleton.full{width:100%}.custom-node.ai-highlight{box-shadow:0 0 0 2px var(--ts-ai, #a78bfa),0 0 12px var(--ts-ai-soft, rgba(167, 139, 250, .4))!important;border-color:var(--ts-ai, #a78bfa)!important;transition:box-shadow .3s ease,border-color .3s ease}.node-collapsed-badge{padding:8px 12px;background-color:var(--btn-active-bg);border-radius:4px;font-size:12px;color:var(--text-color);opacity:.8;margin-top:4px;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-node.prompt textarea,.custom-node.value textarea{min-height:120px!important;resize:none;line-height:1.5;font-size:13px;line-height:1.4;padding:8px}.custom-node.expanded{min-width:300px;max-width:380px}.custom-node{transition:box-shadow .2s,transform .2s,min-width .2s,max-width .2s}.custom-node.collapsed{min-width:140px;max-width:140px;height:140px;display:flex;flex-direction:column}.custom-node.collapsed .node-header{height:100%;border-radius:12px;border-bottom:none;flex-direction:column;justify-content:center;position:relative;padding:1rem}.custom-node.collapsed .node-header>svg:first-child{position:absolute;bottom:12px;left:50%;transform:translate(-50%) rotate(90deg);opacity:.5;transition:opacity .2s}.custom-node.collapsed .node-header:hover>svg:first-child{opacity:1}.custom-node.collapsed .node-header .btn-delete{position:absolute;top:12px;right:12px}.custom-node.collapsed .node-header>div{flex-direction:column!important;gap:12px!important;text-align:center;white-space:pre-wrap;word-break:keep-all;line-height:1.3;font-size:.9rem}.custom-node.collapsed .node-header>div>svg{width:32px!important;height:32px!important}.custom-node:not(.condition):not(.loop-node) .react-flow__handle-left:not(.fbind-port):not(.node-port-handle),.custom-node:not(.condition):not(.loop-node) .react-flow__handle-right:not(.fbind-port):not(.node-port-handle){top:70px!important;transform:translateY(-50%)!important;z-index:20!important}.custom-node.condition .react-flow__handle,.custom-node .react-flow__handle.fbind-port{z-index:20!important}.react-flow__handle{z-index:10}.custom-node.expanded:not(.condition):not(.loop-node) .react-flow__handle-left:not(.fbind-port):not(.node-port-handle),.custom-node.expanded:not(.condition):not(.loop-node) .react-flow__handle-right:not(.fbind-port):not(.node-port-handle){top:50%!important;transform:translateY(-50%)!important}.custom-node.multi-agent-node,.custom-node.special-flow-node{--special-node-accent: #6366f1;position:relative;border-left:4px solid var(--special-node-accent)}.custom-node.multi-agent-node{--special-node-accent: #6366f1}.custom-node.distributor-node{--special-node-accent: #8b5cf6}.custom-node.break-node{--special-node-accent: #ef4444}.custom-node.multi-agent-node .node-header,.custom-node.special-flow-node .node-header{cursor:pointer;background:linear-gradient(110deg,color-mix(in srgb,var(--special-node-accent) 10%,transparent),transparent 64%),var(--card-bg)}.special-node-title{min-width:0;flex:1;display:flex;align-items:center;gap:10px}.special-node-title>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--special-node-accent) 13%,transparent);color:var(--special-node-accent)}.special-node-title>div{min-width:0;display:flex;flex-direction:column;gap:3px}.special-node-title strong{overflow:hidden;color:var(--text-color);font-size:.82rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.special-node-title small{color:var(--text-muted);font-family:var(--font-mono);font-size:.5rem;font-weight:650;letter-spacing:.06em}.custom-node.multi-agent-node.expanded{min-width:340px;max-width:360px}.custom-node.multi-agent-node .node-body,.custom-node.special-flow-node .node-body{padding:14px;gap:14px}.custom-node.collapsed.multi-agent-node .special-node-title,.custom-node.collapsed.special-flow-node .special-node-title{flex:initial;flex-direction:column!important;gap:9px!important}.custom-node.collapsed.multi-agent-node .special-node-title>span,.custom-node.collapsed.special-flow-node .special-node-title>span{width:42px;height:42px;flex-basis:42px;border-radius:10px}.custom-node.collapsed.multi-agent-node .special-node-title>span svg,.custom-node.collapsed.special-flow-node .special-node-title>span svg{width:27px;height:27px}.custom-node.collapsed.multi-agent-node .special-node-title>div,.custom-node.collapsed.special-flow-node .special-node-title>div{align-items:center}.custom-node.collapsed.multi-agent-node .special-node-title strong,.custom-node.collapsed.special-flow-node .special-node-title strong{max-width:102px;font-size:.78rem;text-align:center;white-space:normal}.custom-node.collapsed.multi-agent-node .special-node-title small,.custom-node.collapsed.special-flow-node .special-node-title small{display:none}.multi-agent-tools-label{padding:4px 6px;display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;border:1px solid color-mix(in srgb,#6366f1 35%,var(--border-color));border-radius:4px;background:color-mix(in srgb,#6366f1 8%,var(--bg-color));color:#818cf8;font-family:var(--font-mono);font-size:.46rem;font-weight:750;letter-spacing:.07em;pointer-events:none}.multi-agent-tools-label i{color:#a5b4fc;font-style:normal}.custom-node.collapsed.multi-agent-node .multi-agent-tools-label{display:none}.custom-node.multi-agent-node .multi-agent-tools-handle{top:-6px;right:70px;left:auto;width:11px;height:11px;border:2px solid var(--card-bg);border-radius:4px;background:#6366f1}.custom-node.multi-agent-node.expanded>.react-flow__handle-left,.custom-node.multi-agent-node.expanded>.react-flow__handle-right{top:52px!important}.multi-agent-network{min-height:94px;padding:12px;display:grid;grid-template-columns:72px 1fr;align-items:center;gap:12px;border:1px solid color-mix(in srgb,#6366f1 25%,var(--border-color));border-radius:9px;background:linear-gradient(rgba(99,102,241,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.055) 1px,transparent 1px),color-mix(in srgb,#6366f1 4%,var(--bg-color));background-size:16px 16px,16px 16px,auto}.multi-agent-orbit{position:relative;width:68px;height:68px;border:1px dashed rgba(129,140,248,.42);border-radius:50%}.multi-agent-orbit>span{position:absolute;top:17px;right:17px;bottom:17px;left:17px;display:grid;place-items:center;border-radius:9px;background:#6366f129;color:#818cf8}.multi-agent-orbit>i{position:absolute;width:8px;height:8px;border:2px solid var(--card-bg);border-radius:50%;background:#818cf8}.multi-agent-orbit>i:first-child{top:-4px;left:29px}.multi-agent-orbit>i:nth-child(2){right:1px;bottom:8px;background:#38bdf8}.multi-agent-orbit>i:nth-child(3){bottom:8px;left:1px;background:#a78bfa}.multi-agent-network>div:last-child{min-width:0;display:flex;flex-direction:column}.multi-agent-network small{color:#747f99;font-family:var(--font-mono);font-size:.46rem;letter-spacing:.07em}.multi-agent-network strong{margin-top:5px;color:var(--text-color);font-size:.76rem}.multi-agent-network p{margin:5px 0 0;color:var(--text-muted);font-size:.62rem;line-height:1.48}.special-node-field{display:grid;gap:7px}.special-node-field>label{color:var(--text-muted);font-size:.68rem;font-weight:600}.special-node-field select,.special-node-field input{width:100%;min-height:38px;padding:0 10px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:6px;outline:none;background:var(--bg-color);color:var(--text-color);font-size:.72rem}.special-node-field select:focus,.special-node-field input:focus{border-color:#818cf8}.custom-node.multi-agent-node .special-node-field>.nodrag:not(select):not(input){border-color:color-mix(in srgb,#6366f1 24%,var(--border-color))!important;border-radius:7px!important;background:color-mix(in srgb,#6366f1 4%,var(--bg-color))!important}.multi-agent-rounds{grid-template-columns:1fr auto;align-items:end}.multi-agent-rounds>label{grid-column:1 / -1}.multi-agent-rounds>span{padding-bottom:11px;color:var(--text-muted);font-family:var(--font-mono);font-size:.5rem}.special-node-callout{min-height:72px;padding:11px;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--special-node-accent) 28%,var(--border-color));border-radius:8px;background:color-mix(in srgb,var(--special-node-accent) 6%,var(--bg-color))}.special-node-callout>span{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--special-node-accent) 13%,transparent);color:var(--special-node-accent)}.special-node-callout>div{display:flex;flex-direction:column;gap:5px}.special-node-callout strong{color:var(--text-color);font-size:.72rem}.special-node-callout small{color:var(--text-muted);font-size:.61rem;line-height:1.5}.react-flow__node-loopNode{width:520px;height:340px}.custom-node.loop-node{--loop-accent: #eab308;position:relative;width:100%;height:100%;min-width:0;max-width:none;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--loop-accent) 62%,var(--border-color));border-top:3px solid var(--loop-accent);border-radius:12px;background:color-mix(in srgb,var(--loop-accent) 3%,var(--card-bg));box-shadow:0 14px 40px #00000021}.loop-node-header{min-height:55px;padding:0 11px 0 13px;display:flex;flex:0 0 auto;align-items:center;gap:10px;border-bottom:1px solid color-mix(in srgb,var(--loop-accent) 24%,var(--border-color));border-radius:10px 10px 0 0;background:linear-gradient(110deg,color-mix(in srgb,var(--loop-accent) 11%,transparent),transparent 55%),var(--card-bg)}.loop-node-title{min-width:0;flex:1;display:flex;align-items:center;gap:9px}.loop-node-title>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--loop-accent) 14%,transparent);color:var(--loop-accent)}.loop-node-title>div{min-width:0;display:flex;flex-direction:column;gap:2px}.loop-node-title small{color:color-mix(in srgb,var(--loop-accent) 55%,var(--text-muted));font-family:var(--font-mono);font-size:.47rem;letter-spacing:.07em}.loop-node-title strong{overflow:hidden;color:var(--text-color);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.loop-iteration-control{height:32px;padding:0 6px 0 9px;display:flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--loop-accent) 24%,var(--border-color));border-radius:6px;background:var(--bg-color)}.loop-iteration-control>span{color:var(--text-muted);font-family:var(--font-mono);font-size:.45rem;letter-spacing:.05em}.loop-iteration-control input{width:42px;height:24px;padding:0 4px;border:0;outline:none;background:transparent;color:var(--loop-accent);font-size:.72rem;font-weight:750;text-align:right}.loop-iteration-control em{color:var(--text-muted);font-size:.56rem;font-style:normal}.loop-node-workspace{position:relative;min-height:0;flex:1;overflow:hidden;border-radius:0 0 11px 11px;background-image:linear-gradient(color-mix(in srgb,var(--loop-accent) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--loop-accent) 7%,transparent) 1px,transparent 1px),radial-gradient(circle at center,color-mix(in srgb,var(--loop-accent) 6%,transparent),transparent 55%);background-size:22px 22px,22px 22px,auto}.loop-workspace-hint{position:absolute;top:66px;right:110px;bottom:58px;left:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:color-mix(in srgb,var(--loop-accent) 48%,var(--text-muted));text-align:center;pointer-events:none}.loop-workspace-hint>span{width:46px;height:46px;display:grid;place-items:center;border:1px dashed color-mix(in srgb,var(--loop-accent) 32%,transparent);border-radius:50%}.loop-workspace-hint strong{margin-top:10px;color:color-mix(in srgb,var(--loop-accent) 45%,var(--text-muted));font-size:.7rem}.loop-workspace-hint small{max-width:250px;margin-top:5px;color:var(--text-muted);font-size:.55rem;line-height:1.45;opacity:.72}.loop-port-card,.loop-done-port{position:absolute;z-index:8;min-width:92px;padding:8px 10px;display:flex;flex-direction:column;gap:3px;border:1px solid color-mix(in srgb,var(--loop-accent) 42%,var(--border-color));border-radius:7px;background:color-mix(in srgb,var(--loop-accent) 7%,var(--card-bg));box-shadow:0 7px 18px #00000021}.loop-port-card>span,.loop-done-port>span{color:color-mix(in srgb,var(--loop-accent) 70%,var(--text-muted));font-family:var(--font-mono);font-size:.43rem;letter-spacing:.07em}.loop-port-card>strong,.loop-done-port>strong{color:var(--text-color);font-size:.62rem}.loop-port-entry{top:22px;left:20px}.loop-port-next{right:20px;bottom:62px;border-style:dashed}.loop-done-port{right:20px;bottom:14px;min-width:118px;padding-block:6px;border-color:color-mix(in srgb,#34d399 40%,var(--border-color));background:color-mix(in srgb,#34d399 6%,var(--card-bg))}.loop-done-port>span{display:flex;align-items:center;gap:5px;color:#34d399}.loop-done-port>span i{width:5px;height:5px;border-radius:50%;background:#34d399}.custom-node.loop-node .loop-external-handle{top:28px!important}.custom-node.loop-node .loop-internal-handle,.custom-node.loop-node .loop-done-handle{top:50%!important;transform:translateY(-50%)!important}.custom-node.loop-node .loop-port-entry .react-flow__handle{background:var(--loop-accent)}.custom-node.loop-node .loop-port-next .react-flow__handle{border:2px solid var(--loop-accent);background:var(--card-bg)}.custom-node.loop-node .loop-done-port .react-flow__handle{background:#34d399}.react-flow__node-loopNode .react-flow__resize-control.line{border-color:color-mix(in srgb,#eab308 65%,transparent)}.react-flow__node-loopNode .react-flow__resize-control.handle{width:10px;height:10px;border:2px solid var(--card-bg);border-radius:3px;background:#eab308}@keyframes pulse-glow{0%{box-shadow:0 0 #8b5cf666}70%{box-shadow:0 0 0 10px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.chat-bubble-generating{animation:pulse-glow 2s infinite ease-in-out}@keyframes blink{0%{opacity:0}50%{opacity:1}to{opacity:0}}.chatbot-toggle-btn{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#3b82f6);border:none;box-shadow:0 4px 14px #8b5cf666;color:var(--text-color);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:transform .2s}@media (max-width: 1024px){.chatbot-toggle-btn{bottom:6rem;right:1.5rem}}@media (max-width: 1024px){.mobile-tool-label{display:inline-block;margin-left:8px;font-size:.9rem}}.react-flow__edge{pointer-events:auto}.section-tabs{display:flex;gap:4px;padding:4px;margin-bottom:18px;border:1px solid var(--border-color);border-radius:10px;width:fit-content;background:var(--bg-color)}.section-tab{padding:6px 14px;border-radius:7px;border:none;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.section-tab:hover{color:var(--text-color)}.section-tab.active{background:#60a5fa1f;color:#60a5fa;font-weight:600}@media (max-width: 1024px){.section-tabs{margin-left:60px}}.main-page-content>.section-tabs{align-self:flex-start;flex:0 0 auto;margin:14px 24px 6px 0}@media (max-width: 1024px){.main-page-content>.section-tabs{margin-left:44px}}.api-card.provider-focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.ui-markdown>:first-child{margin-top:0}.ui-markdown>:last-child{margin-bottom:0}.ui-markdown h1,.ui-markdown h2,.ui-markdown h3,.ui-markdown h4{margin:.9em 0 .4em;line-height:1.3;font-weight:700}.ui-markdown h1{font-size:1.5em}.ui-markdown h2{font-size:1.3em}.ui-markdown h3{font-size:1.12em}.ui-markdown p{margin:.5em 0}.ui-markdown ul,.ui-markdown ol{margin:.5em 0;padding-left:1.4em}.ui-markdown li{margin:.2em 0}.ui-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#0f172a12;padding:.1em .35em;border-radius:4px}.ui-markdown pre{background:#0f172a;color:#e2e8f0;padding:.75em 1em;border-radius:8px;overflow-x:auto}.ui-markdown pre code{background:transparent;padding:0;color:inherit}.ui-markdown blockquote{margin:.6em 0;padding:.2em 0 .2em .9em;border-left:3px solid #cbd5e1;color:#475569}.ui-markdown table{border-collapse:collapse;width:100%;margin:.6em 0}.ui-markdown th,.ui-markdown td{border:1px solid #e2e8f0;padding:.35em .6em;text-align:left}.ui-markdown th{background:#f8fafc}.ui-markdown a{color:#2563eb}.ui-markdown hr{border:none;border-top:1px solid #e2e8f0;margin:.8em 0}.node-result-badge{margin-left:auto;margin-right:6px;padding:1px 7px;border:0;border-radius:9px;font-size:.66rem;font-weight:700;line-height:1.6;cursor:pointer;color:#fff;background:#00000047}.node-result-badge:hover{filter:brightness(1.15)}.node-result-badge.success{background:var(--ts-success, #16a34a)}.node-result-badge.error{background:var(--ts-danger, #dc2626)}.node-result-badge.running{background:var(--ts-accent, #2563eb)}.node-result-badge.pinned{background:var(--ts-warning, #d97706)}.format-node-fields{margin-top:.55rem;padding:8px 9px;border:1px dashed var(--border-color);border-radius:7px}.format-node-fields-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:var(--text-muted);font-size:.72rem}.format-node-fields-head button{flex:0 0 auto;padding:3px 8px;border:1px solid rgba(13,148,136,.5);border-radius:5px;background:#0d94881a;color:#2dd4bf;font-size:.72rem;cursor:pointer}.format-node-field-chips{display:flex;flex-wrap:wrap;gap:4px}.format-node-field-chips span{padding:2px 7px;border-radius:999px;background:var(--btn-active-bg);color:var(--text-muted);font-size:.7rem}.format-node-field-chips span.is-required{color:var(--text-color);border:1px solid rgba(13,148,136,.45)}.format-node-actions{display:flex;gap:6px;margin-top:.55rem}.format-node-actions button{flex:1;padding:6px 8px;border:1px solid rgba(13,148,136,.5);border-radius:6px;background:#0d948814;color:#2dd4bf;font:inherit;font-size:.74rem;font-weight:600;cursor:pointer}.format-node-actions button:disabled{opacity:.55;cursor:default}.custom-node.condition{--cond-accent: #0ea5e9;--cond-pad: 14px}.custom-node.condition .condition-count{margin-left:auto;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--cond-accent) 14%,transparent);color:var(--cond-accent);font-size:.68rem;font-weight:700;white-space:nowrap}.custom-node.condition .condition-body{padding:10px var(--cond-pad) 14px;gap:10px}.condition-section{display:flex;flex-direction:column;gap:2px}.condition-section>span{font-size:.72rem;font-weight:700;color:var(--text-muted);letter-spacing:.02em}.condition-section>small{font-size:.68rem;line-height:1.4;color:var(--text-muted);opacity:.85}.condition-rules{display:flex;flex-direction:column;gap:8px}.condition-rule{position:relative;display:grid;grid-template-columns:22px 108px 1fr 22px;align-items:center;gap:6px;min-height:36px}.condition-rule-index{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--cond-accent) 16%,transparent);color:var(--cond-accent);font-family:var(--font-mono);font-size:.7rem;font-weight:800}.condition-rule-index.is-else{background:color-mix(in srgb,#94a3b8 18%,transparent);color:#94a3b8;font-size:.56rem}.condition-rule select,.condition-rule input{height:32px;padding:0 8px;min-width:0;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font:inherit;font-size:.78rem}.condition-rule select:focus,.condition-rule input:focus{outline:none;border-color:var(--cond-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--cond-accent) 25%,transparent)}.condition-rule-remove{width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.75rem;line-height:1;opacity:0;transition:opacity .15s,color .15s,background-color .15s}.condition-rule:hover .condition-rule-remove,.condition-rule-remove:focus-visible{opacity:1}.condition-rule-remove:hover{color:#ef4444;background:color-mix(in srgb,#ef4444 12%,transparent)}.condition-rule-remove:disabled{opacity:0!important;cursor:default}.condition-add{width:100%;height:32px;border-radius:8px;border:1px dashed color-mix(in srgb,var(--cond-accent) 45%,var(--border-color));background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s}.condition-add:hover{background:color-mix(in srgb,var(--cond-accent) 10%,transparent);color:var(--cond-accent)}.condition-else{position:relative;display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:center;min-height:36px;margin-top:2px;padding-top:10px;border-top:1px dashed var(--border-color)}.condition-else>div{display:flex;flex-direction:column;gap:1px}.condition-else strong{font-size:.78rem;color:var(--text-color)}.condition-else small{font-size:.68rem;color:var(--text-muted)}.custom-node.condition .condition-port{right:calc(-1 * var(--cond-pad) - 7px)!important;top:50%!important;transform:translateY(-50%)!important;width:12px;height:12px;border:2px solid var(--card-bg);background:var(--cond-accent)}.custom-node.condition .condition-else .condition-port{top:calc(50% + 5px)!important}.custom-node.condition .condition-port.is-else{background:#94a3b8}.custom-node.special-flow-node .distributor-body{gap:12px}.distributor-flow{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px;border-radius:10px;background:color-mix(in srgb,var(--special-node-accent) 7%,var(--bg-color));border:1px solid color-mix(in srgb,var(--special-node-accent) 22%,var(--border-color))}.distributor-stack,.distributor-one{display:flex;flex-direction:column;align-items:center;gap:4px}.distributor-stack i,.distributor-one i{display:block;width:44px;height:8px;border-radius:3px;background:color-mix(in srgb,var(--special-node-accent) 55%,transparent)}.distributor-stack i:nth-child(2){opacity:.72}.distributor-stack i:nth-child(3){opacity:.45}.distributor-one i{background:var(--special-node-accent)}.distributor-stack span,.distributor-one span{margin-top:2px;font-size:.66rem;font-weight:600;color:var(--text-muted)}.distributor-arrow{color:var(--special-node-accent);font-size:1.05rem;font-weight:700}.distributor-hint{margin:0;font-size:.72rem;line-height:1.5;color:var(--text-muted)}.distributor-hint b{color:var(--text-color);font-weight:600}.flow-ports{display:flex;flex-direction:column;gap:6px}.flow-port{position:relative;display:grid;grid-template-columns:10px 1fr;align-items:center;gap:10px;min-height:38px;padding:6px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-color)}.flow-port>div{display:flex;flex-direction:column;gap:1px}.flow-port strong{font-size:.78rem;color:var(--text-color)}.flow-port small{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.06em;color:var(--text-muted)}.flow-port-dot{width:10px;height:10px;border-radius:50%;background:var(--special-node-accent)}.flow-port-done .flow-port-dot{background:#f97316}.custom-node.special-flow-node .flow-port-handle{right:-22px!important;top:50%!important;transform:translateY(-50%)!important;width:12px;height:12px;border:2px solid var(--card-bg);background:var(--special-node-accent)}.custom-node.special-flow-node .flow-port-done .flow-port-handle{background:#f97316}.multi-agent-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:10px;background:var(--bg-color);border:1px solid var(--border-color)}.multi-agent-mode{height:30px;border:none;border-radius:7px;background:transparent;color:var(--text-muted);font:inherit;font-size:.74rem;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s}.multi-agent-mode:hover{color:var(--text-color)}.multi-agent-mode.is-active{background:color-mix(in srgb,#6366f1 18%,var(--card-bg));color:#a5b4fc;box-shadow:inset 0 0 0 1px color-mix(in srgb,#6366f1 45%,transparent)}.react-flow__node .error-port-handle{top:auto!important;bottom:10px!important;transform:none!important;width:10px;height:10px;background:var(--ts-danger, #ef4444);border:2px solid var(--card-bg, #fff);z-index:21}.react-flow__node .error-port-handle:hover{box-shadow:0 0 0 3px #ef444459}.react-flow__edge.edge-error .react-flow__edge-text{fill:var(--ts-danger, #ef4444);font-size:11px}.react-flow__edge.edge-error .react-flow__edge-textbg{fill:var(--card-bg, #fff)}.exec-settings{gap:14px;align-items:flex-end}.exec-setting{display:flex;flex-direction:column;gap:4px;font-size:12px}.exec-setting input[type=number]{width:120px}.exec-setting.check{flex-direction:row;align-items:center;gap:6px}.tool-shell{--ts-bg: var(--bg-color);--ts-surface-1: var(--card-bg);--ts-surface-2: color-mix(in srgb, var(--card-bg) 70%, var(--bg-color));--ts-surface-3: rgba(255, 255, 255, .06);--ts-border: var(--border-color);--ts-border-strong: color-mix(in srgb, var(--border-color) 60%, var(--text-muted));--ts-text: var(--text-color);--ts-text-muted: var(--text-muted);--ts-on-accent: #ffffff;--ts-accent: var(--primary-color);--ts-accent-hover: var(--primary-hover);--ts-accent-soft: rgba(59, 130, 246, .14);--ts-ai: #a78bfa;--ts-ai-soft: rgba(167, 139, 250, .14);--ts-success: #34d399;--ts-success-soft: rgba(52, 211, 153, .14);--ts-warning: #fbbf24;--ts-warning-soft: rgba(251, 191, 36, .14);--ts-danger: #f87171;--ts-danger-soft: rgba(248, 113, 113, .12);--ts-grid-dot: rgba(148, 163, 184, .45);--ts-edge: rgba(148, 163, 184, .85);--ts-edge-hover: #e2e8f0;--ts-minimap-mask: rgba(15, 23, 42, .55);--ts-log-bg: #111318;--ts-log-surface: #191c23;--ts-log-text: #d4d4d4;--ts-log-muted: #64748b;--ts-log-border: #475569;--ts-radius-control: 6px;--ts-radius-panel: 8px;--ts-radius-modal: 12px;--ts-field-h: 32px;--ts-focus: 0 0 0 2px var(--ts-surface-1), 0 0 0 4px var(--ts-accent);--ts-motion: .16s}[data-theme=light] .tool-shell{--ts-surface-2: #f0f3f7;--ts-surface-3: rgba(15, 23, 42, .05);--ts-accent-soft: rgba(37, 99, 235, .12);--ts-ai: #7c3aed;--ts-ai-soft: rgba(124, 58, 237, .12);--ts-success: #168a61;--ts-success-soft: rgba(22, 138, 97, .12);--ts-warning: #b66a00;--ts-warning-soft: rgba(182, 106, 0, .12);--ts-danger: #d92d20;--ts-danger-soft: rgba(217, 45, 32, .1);--ts-grid-dot: rgba(100, 116, 139, .4);--ts-edge: rgba(71, 85, 105, .75);--ts-edge-hover: #1e293b;--ts-minimap-mask: rgba(241, 245, 249, .7)}@media (prefers-reduced-motion: reduce){.tool-shell{--ts-motion: 0ms}}.tool-shell :is(button,input,select,textarea,a,[tabindex]):focus-visible{outline:none;box-shadow:var(--ts-focus)}.tool-shell .react-flow :is(input,select,textarea):focus-visible{box-shadow:none;border-color:var(--ts-accent)}
