:root{color-scheme:dark;--bg: #050a0e;--sidebar-w: 274px;--text: #e8f4f1;--text-soft: #9fb4b1;--text-dim: #647b78;--accent: #2ee6c5;--accent-bright: #8affea;--accent-ink: #031411;--blue: #41b7ff;--amber: #f4a44e;--danger: #ff5b6e;--line: rgba(170, 255, 242, .085);--line-strong: rgba(120, 255, 236, .18);--panel: rgba(10, 19, 22, .74);--radius-xl: 22px;--radius-lg: 16px;--radius-md: 12px;--font-ui: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", "Cascadia Code", Consolas, "Liberation Mono", monospace;--shadow-panel: 0 30px 60px -38px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .032)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden;background:radial-gradient(1100px 700px at 82% -12%,rgba(18,112,101,.24),transparent 62%),radial-gradient(900px 620px at -5% 38%,rgba(17,62,86,.18),transparent 62%),var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit;color:inherit}button{border:0;padding:0;background:none;cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}::selection{background:#2ee6c547;color:#f2fffc}:focus-visible{outline:2px solid rgba(46,230,197,.55);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:rgba(110,165,158,.28) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6ea59e38;border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#82c3ba5c;background-clip:content-box}svg{display:block}.app-shell{position:relative;z-index:1;display:flex;height:100vh;overflow:hidden}.space-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(120% 90% at 68% 0%,rgba(13,53,51,.35),transparent 60%),linear-gradient(180deg,#050b0f,#04080b)}.nebula{position:absolute;border-radius:50%;filter:blur(100px);opacity:.85}.nebula-one{top:-32vw;right:-12vw;width:65vw;height:65vw;background:radial-gradient(circle,rgba(21,156,140,.24),transparent 66%)}.nebula-two{top:20vh;left:-26vw;width:55vw;height:55vw;background:radial-gradient(circle,rgba(28,87,128,.2),transparent 66%)}.nebula-three{right:12vw;bottom:-34vw;width:58vw;height:58vw;background:radial-gradient(circle,rgba(143,81,37,.12),transparent 68%)}.star-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.72}.space-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(116,232,218,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(116,232,218,.045) 1px,transparent 1px);background-size:76px 76px;mask-image:radial-gradient(ellipse 82% 70% at 58% 38%,#000 0%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 82% 70% at 58% 38%,#000 0%,transparent 78%);opacity:.65}.space-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 32%,rgba(2,6,8,.62) 100%),linear-gradient(180deg,rgba(2,6,8,.25),transparent 22%,transparent 78%,rgba(2,6,8,.45))}.app-main{position:relative;z-index:1;display:flex;flex:1;min-width:0;height:100vh;flex-direction:column}.content{flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.content-inner{display:flex;flex-direction:column;gap:18px;width:100%;max-width:1480px;margin:0 auto;padding:22px 34px 34px}.page-host{min-width:0}.content-footer{display:flex;justify-content:space-between;gap:16px;margin-top:6px;padding-top:14px;border-top:1px solid rgba(170,255,242,.055);color:var(--text-dim);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em}.page{display:flex;flex-direction:column;gap:20px;animation:page-in .42s cubic-bezier(.16,1,.3,1)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{width:32px;height:32px;flex:none;color:var(--accent);filter:drop-shadow(0 0 12px rgba(46,230,197,.42))}.brand-copy{min-width:0}.brand-name{color:#effffb;font-size:14px;font-weight:650;letter-spacing:.075em;line-height:1.15;white-space:nowrap}.brand-name span{color:var(--text-soft);font-weight:400;letter-spacing:.035em}.brand-subtitle{margin-top:3px;color:var(--text-dim);font-family:var(--font-mono);font-size:7.5px;letter-spacing:.26em;text-transform:uppercase}.brand-badge{flex:none;margin-left:1px;padding:2px 6px;border:1px solid rgba(46,230,197,.3);border-radius:4px;background:#2ee6c50e;color:var(--accent);font-family:var(--font-mono);font-size:7.5px;letter-spacing:.1em}.topbar{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 76px;height:76px;padding:0 34px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#050b0ed1,#050b0e5c);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-brand{display:flex;align-items:center;gap:10px;min-width:0}.topbar-actions{display:flex;align-items:center;gap:8px;min-width:0}.mobile-menu{display:none}.connection-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:#ffffff05;font-size:10px;letter-spacing:.02em;white-space:nowrap}.connection-name{color:var(--text-soft);font-weight:600;letter-spacing:.06em}.connection-state{color:var(--amber)}.status-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--text-dim)}.status-dot.is-offline{background:var(--amber);box-shadow:0 0 0 3px #f4a44e1a,0 0 9px #f4a44e8c;animation:status-pulse 2.8s ease-in-out infinite}.save-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px;color:var(--text-dim);font-size:10px;white-space:nowrap}.save-chip svg{color:var(--accent);opacity:.85}.save-chip small{color:#526763;font-family:var(--font-mono);font-size:8.5px}.topbar-divider{width:1px;height:20px;margin:0 2px;background:var(--line)}.sidebar{position:relative;z-index:40;display:flex;flex:0 0 var(--sidebar-w);width:var(--sidebar-w);height:100vh;flex-direction:column;gap:16px;overflow-x:hidden;overflow-y:auto;padding:20px 16px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,#070e11f0,#04090ce6),radial-gradient(60% 30% at 50% 0%,rgba(46,230,197,.08),transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.sidebar:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(98,255,232,.32),transparent)}.sidebar-close,.sidebar-scrim{display:none}.device-card{position:relative;overflow:hidden;padding:15px;border:1px solid rgba(63,241,214,.15);border-radius:18px;background:radial-gradient(130% 130% at 16% 0%,rgba(46,230,197,.12),rgba(9,19,21,.2) 52%,transparent 75%),linear-gradient(160deg,#132224e6,#060d0ff0);box-shadow:inset 0 1px #ffffff0a}.device-card-glow{position:absolute;top:-52px;right:-42px;width:120px;height:120px;border-radius:50%;background:#2ee6c529;filter:blur(34px);pointer-events:none}.device-heading{position:relative;display:flex;align-items:center;gap:11px}.device-orb{display:flex;width:42px;height:42px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.22);border-radius:13px;background:#2ee6c512;color:var(--accent);box-shadow:0 0 24px -8px #2ee6c566}.device-title{min-width:0}.device-title>span{color:var(--text-dim);font-family:var(--font-mono);font-size:7.5px;letter-spacing:.24em}.device-title h2{margin:1px 0;font-size:18px;font-weight:650;letter-spacing:.055em}.device-title p{margin:0;color:var(--text-soft);font-size:9.5px}.device-status-row{position:relative;display:flex;align-items:center;gap:7px;margin-top:14px;font-size:10px}.device-status-row strong{color:#d2b17a;font-weight:500}.offline-tag{margin-left:auto;padding:2px 6px;border:1px solid rgba(244,164,78,.18);border-radius:4px;background:#f4a44e0f;color:#d8a364;font-size:8px;letter-spacing:.05em}.device-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.055)}.device-specs span{display:block;color:var(--text-dim);font-size:8.5px}.device-specs strong{display:block;margin-top:1px;color:#c5d9d5;font-family:var(--font-mono);font-size:10px;font-weight:500}.sidebar-label{padding:0 9px;margin-bottom:6px;color:#526864;font-family:var(--font-mono);font-size:8px;letter-spacing:.2em;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:7px 9px;border:1px solid transparent;border-radius:10px;color:var(--text-soft);font-size:12px;text-align:left;transition:background .18s ease,border-color .18s ease,color .18s ease}.nav-item:hover{background:#ffffff08;color:var(--text)}.nav-item.is-active{border-color:#2ee6c521;background:linear-gradient(90deg,#2ee6c51f,#2ee6c505);color:#e8fffa}.nav-item.is-active:before{content:"";position:absolute;top:50%;left:-1px;width:2px;height:18px;border-radius:2px;background:var(--accent);transform:translateY(-50%);box-shadow:0 0 8px #2ee6c5b3}.nav-icon{display:flex;width:28px;height:28px;flex:none;align-items:center;justify-content:center;border-radius:8px;background:#ffffff06;color:#7f9591;transition:color .18s ease,background .18s ease}.nav-item.is-active .nav-icon{background:#2ee6c51a;color:var(--accent)}.nav-text{flex:1;min-width:0;letter-spacing:.01em}.nav-hint{color:#526864;font-family:var(--font-mono);font-size:8.5px;white-space:nowrap}.nav-item.is-active .nav-hint{color:#77b5ab}.profile-section{display:flex;flex-direction:column;min-height:0;margin-top:2px}.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-heading .sidebar-label{margin-bottom:0}.mini-icon-button{display:flex;width:22px;height:22px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;color:var(--text-dim);transition:color .16s ease,border-color .16s ease,background .16s ease}.mini-icon-button:hover{border-color:#2ee6c54d;background:#2ee6c50f;color:var(--accent)}.profile-list{display:flex;max-height:226px;flex-direction:column;gap:2px;overflow-y:auto;margin-top:7px;padding-right:2px}.profile-item{display:flex;align-items:center;gap:7px;padding:8px 7px 8px 9px;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:background .16s ease,border-color .16s ease}.profile-item:hover{background:#ffffff08}.profile-item.is-active{border-color:#2ee6c51f;background:#2ee6c50e}.profile-index{width:17px;flex:none;color:#4d615e;font-family:var(--font-mono);font-size:8.5px}.profile-item.is-active .profile-index{color:var(--accent)}.profile-copy{display:flex;flex:1;min-width:0;flex-direction:column}.profile-copy strong{overflow:hidden;color:#b8cbca;font-size:10.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.profile-copy small{margin-top:1px;color:#526763;font-size:8.5px}.profile-item.is-active .profile-copy strong{color:#e9fffa}.profile-check{display:flex;width:17px;height:17px;flex:none;align-items:center;justify-content:center;border-radius:50%;background:#2ee6c529;color:var(--accent)}.profile-menu-button{display:flex;width:22px;height:22px;flex:none;align-items:center;justify-content:center;border-radius:5px;color:var(--text-dim);opacity:0;transition:opacity .16s ease,background .16s ease,color .16s ease}.profile-item:hover .profile-menu-button,.profile-item:focus-within .profile-menu-button,.profile-item.is-active .profile-menu-button{opacity:.7}.profile-menu-button:hover{background:#ffffff0f;color:var(--text);opacity:1}.sidebar-footer{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:13px;border-top:1px solid rgba(170,255,242,.06)}.local-note{display:flex;gap:8px;align-items:flex-start;color:#758c88}.local-note>svg{flex:none;margin-top:1px;color:#68a99f}.local-note span{font-size:9px;line-height:1.45}.local-note small{display:block;margin-top:2px;color:#4d615e;font-size:8px}.sidebar-version{display:flex;justify-content:space-between;gap:8px;color:#3f524f;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.11em}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120}.profile-menu{z-index:121;width:208px;padding:6px;border:1px solid var(--line-strong);border-radius:12px;background:#081114f7;box-shadow:0 24px 60px #000000b8,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.profile-menu.is-floating{position:fixed;animation:menu-in .16s ease-out}.profile-menu-meta{padding:6px 9px 7px;color:#526763;font-family:var(--font-mono);font-size:8px;letter-spacing:.04em}.profile-menu>button{display:flex;width:100%;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;color:var(--text-soft);font-size:11px;text-align:left;transition:background .15s ease,color .15s ease}.profile-menu>button:hover{background:#ffffff0b;color:var(--text)}.profile-menu>button:disabled{opacity:.35}.profile-menu>button.is-danger{color:#ff8c98}.profile-menu>button.is-danger:hover{background:#ff5b6e14}.menu-separator{height:1px;margin:4px 6px;background:var(--line)}.primary-button,.outline-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border-radius:10px;font-size:12px;font-weight:500;letter-spacing:.01em;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}.primary-button{min-height:37px;padding:0 16px;background:linear-gradient(135deg,#61f5d9,#22cbb4);color:var(--accent-ink);font-weight:650;box-shadow:0 9px 26px -12px #2ee6c5b3,inset 0 1px #ffffff6b}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 13px 30px -12px #2ee6c5cc,inset 0 1px #ffffff80}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.42}.primary-button.is-muted{box-shadow:none}.primary-button.small{min-height:32px;padding:0 12px;border-radius:8px;font-size:11px}.primary-button.full{width:100%;margin-top:12px}.outline-button{min-height:34px;padding:0 13px;border:1px solid rgba(82,241,218,.26);background:#2ee6c50a;color:#bffcf1}.outline-button:hover:not(:disabled){border-color:#52f1da75;background:#2ee6c514;color:#e8fffa}.outline-button.small{min-height:30px;padding:0 10px;border-radius:8px;font-size:10.5px}.ghost-button{min-height:34px;padding:0 11px;border:1px solid transparent;color:var(--text-soft)}.ghost-button:hover:not(:disabled){background:#ffffff0a;color:var(--text)}.ghost-button.small{min-height:30px;padding:0 9px;font-size:10.5px}.ghost-button.full{width:100%;justify-content:center;margin-top:12px;border-color:var(--line);background:#ffffff05}.danger-button{min-height:36px;padding:0 14px;border:1px solid rgba(255,91,110,.26);background:#ff5b6e13;color:#ff9ca7}.danger-button:hover{border-color:#ff5b6e70;background:#ff5b6e1f;color:#ffd2d6}.danger-button.is-active{border-color:#ff5b6e70;background:#ff5b6e21}.icon-button{display:inline-flex;width:34px;height:34px;flex:none;align-items:center;justify-content:center;border-radius:9px;color:var(--text-soft);transition:background .16s ease,color .16s ease}.icon-button.ghost:hover{background:#ffffff0b;color:var(--text)}.danger-hover:hover{background:#ff5b6e17!important;color:#ff8d99!important}.mini-action{display:inline-flex;align-items:center;gap:5px;flex:none;padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:var(--text-dim);font-size:9px;transition:color .15s ease,border-color .15s ease}.mini-action:hover{border-color:#2ee6c542;color:var(--accent)}.text-link{color:var(--accent);font-size:10.5px;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:3px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:2px}.page-heading{min-width:0}.page-eyebrow{display:flex;align-items:center;gap:7px;color:#6fb8ae;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase}.eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #2ee6c5cc}.page-header h1{margin:7px 0 6px;color:#f0fffb;font-size:31px;font-weight:650;letter-spacing:-.015em;line-height:1.14}.page-header p{max-width:720px;margin:0;color:#839995;font-size:11.5px;line-height:1.7}.page-actions{display:flex;flex:none;gap:8px;padding-bottom:2px}.offline-banner{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid rgba(244,164,78,.14);border-radius:12px;background:linear-gradient(90deg,#f4a44e0f,#f4a44e04),#080f126b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.offline-banner-icon{display:flex;width:28px;height:28px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(244,164,78,.18);border-radius:8px;background:#f4a44e13;color:#e7b276}.offline-banner-copy{display:flex;flex:1;min-width:0;align-items:baseline;gap:9px}.offline-banner-copy strong{flex:none;color:#d9b181;font-size:10px;font-weight:600;letter-spacing:.03em}.offline-banner-copy span{overflow:hidden;color:#7e918d;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.offline-banner>button{display:inline-flex;flex:none;align-items:center;gap:4px;color:#bc9b74;font-size:9px;transition:color .15s ease}.offline-banner>button:hover{color:#f0c58f}.panel{position:relative;overflow:hidden;padding:21px 23px;border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(157deg,#111e21c2,#070e11bd),#080f1299;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel:before{content:"";position:absolute;top:0;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,rgba(120,255,236,.22),transparent);pointer-events:none}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading h2,.stage-editor-heading h2,.binding-heading h2,.runtime-copy h2{margin:4px 0 0;color:#e9fbf7;font-size:17px;font-weight:600;letter-spacing:-.005em}.section-kicker{display:block;color:#58817b;font-family:var(--font-mono);font-size:8px;letter-spacing:.2em;line-height:1.4;text-transform:uppercase}.panel-note{flex:none;padding-top:3px;color:var(--text-dim);font-size:9px}.muted{color:var(--text-dim)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.stat-card{display:flex;min-width:0;align-items:flex-start;gap:11px;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(150deg,#1321239e,#080f1285);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stat-icon{display:flex;width:34px;height:34px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.13);border-radius:9px;background:#2ee6c512;color:var(--accent)}.stat-card>div:last-child{min-width:0}.stat-card span{display:block;color:var(--text-dim);font-size:9px;letter-spacing:.02em}.stat-card strong{display:block;overflow:hidden;margin-top:2px;color:#effffb;font-family:var(--font-mono);font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.stat-card strong small{color:#6f8984;font-size:9px;font-weight:400;letter-spacing:0}.stat-card strong.is-text{font-family:var(--font-ui);font-size:16px;letter-spacing:.03em}.stat-card em{display:block;overflow:hidden;margin-top:4px;color:#5f7571;font-size:8.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.toggle{position:relative;width:38px;height:21px;flex:none;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#142123;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.toggle-thumb{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#768b88;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s ease,box-shadow .2s ease}.toggle.is-on{border-color:#2ee6c56b;background:#2ee6c530;box-shadow:0 0 16px #2ee6c521}.toggle.is-on .toggle-thumb{background:var(--accent);transform:translate(17px);box-shadow:0 0 9px #2ee6c5d9}.segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;padding:4px;border:1px solid var(--line);border-radius:11px;background:#02080a70}.segmented.is-compact{padding:3px;border-radius:9px}.segment{display:flex;min-height:42px;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 4px;border:1px solid transparent;border-radius:8px;color:var(--text-soft);font-size:11px;transition:background .16s ease,border-color .16s ease,color .16s ease}.segment>span{white-space:nowrap}.segment small{overflow:hidden;max-width:100%;color:#546a66;font-family:var(--font-mono);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.segment:hover{background:#ffffff06;color:var(--text)}.segment.is-active{border-color:#2ee6c53b;background:linear-gradient(180deg,#2ee6c524,#2ee6c50a);color:#e9fffa;box-shadow:inset 0 1px #ffffff0b}.segment.is-active small{color:#68c5b8}.segmented.is-compact .segment{min-height:30px;font-size:10px}.segmented.is-compact .segment small{display:none}.range{width:100%;height:4px;margin:13px 0 11px;padding:0;border:0;border-radius:99px;outline:none;background:linear-gradient(90deg,#37e8ca 0%,#37e8ca var(--range-progress),rgba(255,255,255,.075) var(--range-progress),rgba(255,255,255,.075) 100%);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.range::-webkit-slider-thumb{width:15px;height:15px;border:3px solid #0b8f7e;border-radius:50%;background:#eafffb;box-shadow:0 0 0 4px #2ee6c51a,0 2px 8px #000000a6;cursor:grab;transition:box-shadow .16s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.range::-moz-range-thumb{width:11px;height:11px;border:3px solid #0b8f7e;border-radius:50%;background:#eafffb;box-shadow:0 0 0 4px #2ee6c51a;cursor:grab}.range:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px #2ee6c526,0 2px 8px #000000a6}.range-scale{display:flex;justify-content:space-between;gap:8px;margin-top:-4px;margin-bottom:9px;color:#506561;font-family:var(--font-mono);font-size:8px}.keycap{display:inline-flex;min-width:32px;height:30px;align-items:center;justify-content:center;padding:0 9px;border:1px solid rgba(255,255,255,.11);border-radius:6px;background:linear-gradient(180deg,#1b282b,#0e1719);box-shadow:0 2px #0006,inset 0 1px #fff1;color:var(--text);font-family:var(--font-mono);font-size:10px;font-weight:400}.control-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px;color:#b6c9c5;font-size:10.5px}.control-label-row small{color:var(--text-dim);font-size:8.5px;text-align:right}.inline-value{display:flex;align-items:baseline;gap:3px;font-family:var(--font-mono)}.inline-value strong{color:var(--accent);font-size:16px;font-weight:600}.inline-value small{color:var(--text-dim);font-size:8px}.setting-block{padding:12px 0 3px}.setting-block+.setting-block{margin-top:3px;padding-top:13px;border-top:1px solid var(--line)}.setting-block.is-compact{padding-top:6px}.setting-hint{margin:7px 0 0;color:var(--text-dim);font-size:9px;line-height:1.6}.editor-switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line)}.editor-switch-row>div:first-child{min-width:0}.editor-switch-row strong{display:block;color:#b8cbc7;font-size:10.5px;font-weight:500}.editor-switch-row span{display:block;margin-top:2px;color:var(--text-dim);font-size:8.5px;line-height:1.5}.inline-note{display:flex;align-items:flex-start;gap:7px;margin-top:11px;padding:9px 11px;border:1px solid rgba(65,183,255,.13);border-radius:8px;background:#41b7ff0b;color:#9dbac1;font-size:9px;line-height:1.6}.inline-note svg{flex:none;margin-top:1px}.inline-note.is-warning{border-color:#f4a44e30;background:#f4a44e0e;color:#dfb483}.mouse-stage{position:relative;display:flex;min-height:420px;align-items:center;justify-content:center;padding:2px 0}.mouse-halo{position:absolute;top:50%;left:50%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(46,230,197,.13),rgba(46,230,197,.025) 48%,transparent 70%);filter:blur(16px);transform:translate(-50%,-50%);pointer-events:none}.mouse-illustration{position:relative;z-index:1;width:min(100%,292px);height:auto;max-height:470px;overflow:visible;filter:drop-shadow(0 34px 24px rgba(0,0,0,.42))}.mouse-zone.is-interactive{cursor:pointer;outline:none}.mouse-zone .zone-surface{fill:transparent;stroke:transparent;stroke-width:1.2px;transition:fill .18s ease,stroke .18s ease}.mouse-zone.is-interactive:hover .zone-surface,.mouse-zone.is-interactive:focus-visible .zone-surface{fill:#2ee6c514;stroke:#5af7dd8c}.mouse-zone.is-selected .zone-surface{fill:#2ee6c51f;stroke:#64f9df;filter:drop-shadow(0 0 5px rgba(46,230,197,.45))}.mouse-zone.is-interactive:focus-visible .zone-surface{stroke-width:1.6px}.mouse-badges{pointer-events:none}.mouse-badge circle{fill:#061012;stroke:#78eedb52;stroke-width:1;transition:fill .18s ease,stroke .18s ease}.mouse-badge text{fill:#a4bfba;font-family:var(--font-mono);font-size:8.5px;font-weight:500}.mouse-badge.is-active circle{fill:var(--accent);stroke:#d8fff8;filter:drop-shadow(0 0 7px rgba(46,230,197,.75))}.mouse-badge.is-active text{fill:#04110f;font-weight:700}.mouse-logo{opacity:.82}.mouse-glow-wash{animation:glow-breathe 5s ease-in-out infinite}.dpi-led.is-breathing{animation:led-breathe 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.keys-layout{display:grid;grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr);gap:18px;align-items:stretch}.mouse-panel{display:flex;flex-direction:column}.mouse-panel .mouse-stage{min-height:410px;flex:1}.mouse-panel .mouse-illustration{width:min(100%,278px)}.key-legend{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.legend-item{position:relative;display:flex;min-width:0;align-items:center;gap:8px;padding:8px 9px;border:1px solid transparent;border-radius:9px;background:#ffffff05;text-align:left;transition:background .16s ease,border-color .16s ease}.legend-item:last-child{grid-column:1 / -1}.legend-item:hover{background:#ffffff09}.legend-item.is-active{border-color:#2ee6c533;background:#2ee6c50f}.legend-number{display:flex;width:22px;height:22px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.11);border-radius:50%;color:var(--text-soft);font-family:var(--font-mono);font-size:8.5px;transition:background .16s ease,border-color .16s ease,color .16s ease}.legend-item.is-active .legend-number{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700;box-shadow:0 0 12px -2px #2ee6c599}.legend-copy{display:flex;min-width:0;flex-direction:column}.legend-copy strong{color:#b6c9c5;font-size:10px;font-weight:500}.legend-copy small{overflow:hidden;margin-top:1px;color:var(--text-dim);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.legend-item.is-active .legend-copy strong{color:#eafffa}.legend-item.is-active .legend-copy small{color:#77b3a9}.legend-active-dot{width:5px;height:5px;flex:none;margin-left:auto;border-radius:50%;background:var(--accent);box-shadow:0 0 7px #2ee6c5cc}.binding-panel{display:flex;flex-direction:column}.binding-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.selected-key-chip{display:inline-flex;flex:none;align-items:center;gap:7px;padding:5px 9px 5px 5px;border:1px solid rgba(46,230,197,.18);border-radius:8px;background:#2ee6c50e;color:#a8e3da;font-size:9.5px}.selected-key-chip>span{display:flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:5px;background:#2ee6c524;color:var(--accent);font-family:var(--font-mono);font-size:8px}.current-binding{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid rgba(46,230,197,.13);border-radius:11px;background:linear-gradient(110deg,#2ee6c512,#ffffff04)}.binding-kind-icon{display:flex;width:36px;height:36px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.16);border-radius:9px;background:#2ee6c513;color:var(--accent)}.binding-copy{display:flex;min-width:0;flex:1;flex-direction:column}.binding-copy>span{color:var(--text-dim);font-family:var(--font-mono);font-size:7.5px;letter-spacing:.13em;text-transform:uppercase}.binding-copy strong{margin-top:1px;color:#eafffa;font-size:13px;font-weight:500}.binding-copy small{overflow:hidden;margin-top:2px;color:var(--text-dim);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.category-tabs{display:flex;gap:2px;overflow-x:auto;margin-top:13px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#02080a5c;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:5px;padding:6px 7px;border:1px solid transparent;border-radius:6px;color:#819792;font-size:9.5px;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.category-tab svg{flex:none;opacity:.7}.category-tab:hover{color:var(--text)}.category-tab.is-active{border-color:#2ee6c52e;background:#2ee6c517;color:#e3fffa}.category-tab.is-active svg{color:var(--accent);opacity:1}.function-toolbar{display:flex;gap:7px;align-items:center;margin:10px 0 8px}.search-field{display:flex;height:31px;flex:1;min-width:0;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#02080a6b;color:var(--text-dim);transition:border-color .15s ease}.search-field:focus-within{border-color:#2ee6c54d}.search-field input{width:100%;min-width:0;border:0;outline:0;background:none;color:var(--text);font-size:10px}.search-field input::placeholder{color:#50635f}.function-scroll{display:flex;min-height:288px;flex:1;flex-direction:column;overflow-y:auto;padding-right:4px}.function-group+.function-group{margin-top:12px}.function-group-label{margin-bottom:6px;color:#5f7a75;font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:5px}.option-grid.is-keyboard{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:4px}.function-option{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:5px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#ffffff05;color:#9db2ad;font-size:10px;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease}.function-option>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.function-option small{flex:none;color:#526a65;font-size:8px}.function-option:hover{border-color:#2ee6c533;color:var(--text)}.function-option.is-active{border-color:#2ee6c54d;background:#2ee6c513;color:#e6fffb}.function-option.is-active svg{flex:none;color:var(--accent)}.key-option{display:flex;justify-content:center;padding:3px;border:1px solid transparent;border-radius:7px;transition:background .15s ease,border-color .15s ease}.key-option .keycap{width:100%;min-width:0;overflow:hidden;padding:0 4px;font-size:9px;text-overflow:ellipsis}.key-option:hover{background:#ffffff08}.key-option.is-active{border-color:#2ee6c545;background:#2ee6c512}.key-option.is-active .keycap{border-color:#2ee6c566;color:var(--accent)}.function-empty{display:flex;min-height:268px;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:26px 20px;text-align:center}.empty-icon{display:flex;width:46px;height:46px;align-items:center;justify-content:center;margin-bottom:3px;border:1px solid rgba(46,230,197,.15);border-radius:13px;background:#2ee6c50e;color:var(--accent)}.function-empty h3{margin:0;font-size:13px;font-weight:550}.function-empty p{max-width:320px;margin:0 0 3px;color:var(--text-dim);font-size:9.5px;line-height:1.65}.search-empty{padding:26px;border:1px dashed var(--line);border-radius:9px;color:var(--text-dim);font-size:9.5px;text-align:center}.macro-link{align-self:flex-start;margin-top:9px}.binding-footer{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--text-dim);font-size:8.5px;line-height:1.55}.binding-footer svg{flex:none;margin-top:1px}.capture-stage{display:flex;flex-direction:column;align-items:center;gap:7px;padding:20px 10px 16px;text-align:center}.capture-pulse{display:flex;width:70px;height:70px;align-items:center;justify-content:center;margin-bottom:5px;border:1px solid rgba(46,230,197,.3);border-radius:50%;background:#2ee6c512;color:var(--accent);animation:capture-pulse 2s ease-out infinite}.capture-stage strong{font-size:13px;font-weight:550}.capture-stage>span{color:var(--text-dim);font-size:9px}.dpi-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,.88fr);gap:18px;align-items:stretch}.chart-panel{display:flex;flex-direction:column}.chart-legend{display:flex;align-items:center;gap:11px;padding-top:4px;color:var(--text-dim);font-size:8.5px}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.legend-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#334744}.legend-dot.is-active{background:var(--accent);box-shadow:0 0 6px #2ee6c5b3}.dpi-chart{width:100%;height:auto;margin-top:auto;overflow:visible}.chart-axis-label{fill:#506561;font-family:var(--font-mono);font-size:8px}.chart-stage-label{cursor:pointer;fill:#6b827d;font-family:var(--font-mono);font-size:9px;transition:fill .15s ease}.chart-stage-label.is-selected{fill:#e5fffa}.chart-stage-label.is-active{fill:var(--accent);font-weight:600}.chart-point{cursor:pointer;outline:none}.chart-point:hover .chart-stage-label{fill:#f1fffc}.chart-point:focus-visible .chart-stage-label{fill:var(--accent);font-weight:700}.chart-tooltip{pointer-events:none}.chart-tooltip-text{fill:#e7fffa;font-family:var(--font-mono);font-size:8.5px;font-weight:600}.chart-active-marker{fill:var(--accent);filter:drop-shadow(0 0 4px rgba(46,230,197,.9))}.stage-editor{display:flex;flex-direction:column}.stage-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.stage-enable{display:flex;flex:none;align-items:center;gap:7px;padding-top:3px;color:var(--text-dim);font-size:8.5px}.dpi-value-display{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;margin:2px 0 12px;padding:12px 14px;overflow:hidden;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:linear-gradient(140deg,#2ee6c50e,#ffffff04);transition:border-color .18s ease}.dpi-value-display:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 130% at 10% 50%,var(--stage-color),transparent 65%);opacity:.075;pointer-events:none}.dpi-value-display:focus-within{border-color:#2ee6c552}.stage-color-orb{position:relative;z-index:1;width:8px;height:8px;flex:none;align-self:center;margin-right:2px;border-radius:50%;background:var(--stage-color);box-shadow:0 0 10px var(--stage-color)}.dpi-number-input{position:relative;z-index:1;width:100%;padding:0;border:0;outline:0;background:none;color:#f1fffc;font-family:var(--font-mono);font-size:31px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.2;text-align:center}.dpi-unit{position:relative;z-index:1;flex:none;color:#617671;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em}.xy-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 0 8px}.xy-inputs label>span{display:block;margin-bottom:4px;color:var(--text-dim);font-family:var(--font-mono);font-size:8px;letter-spacing:.08em}.xy-inputs .dpi-number-input{width:100%;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#02080a66;font-size:14px;letter-spacing:0;text-align:left}.color-control{padding:11px 0 2px;border-top:1px solid var(--line)}.color-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.color-swatch{position:relative;display:flex;width:23px;height:23px;flex:none;align-items:center;justify-content:center;border:2px solid transparent;border-radius:7px;color:#04110f;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.color-swatch:hover{transform:translateY(-1px)}.color-swatch svg{filter:drop-shadow(0 0 2px rgba(255,255,255,.6))}.color-swatch.is-active{border-color:#f2fffc;box-shadow:0 0 0 2px #040b0de6,0 0 13px #ffffff38}.custom-color{position:relative;display:block;width:23px;height:23px;flex:none;overflow:hidden;border:1px dashed rgba(255,255,255,.28);border-radius:7px;cursor:pointer}.custom-color input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.custom-color>span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#0000008c;pointer-events:none}.stage-editor .primary-button.full{margin-top:auto}.stage-rail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.stage-card{position:relative;display:flex;min-width:0;flex-direction:column;gap:6px;overflow:hidden;padding:12px 11px 10px;border:1px solid var(--line);border-radius:10px;background:#ffffff04;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease}.stage-card:hover{border-color:#2ee6c529;transform:translateY(-1px)}.stage-card.is-selected{border-color:#2ee6c554;background:#2ee6c50e}.stage-card.is-active{box-shadow:inset 0 0 0 1px #2ee6c514}.stage-card.is-disabled{opacity:.45}.stage-topline{position:absolute;top:0;left:0;right:0;height:2px;opacity:.85}.stage-card-head{display:flex;align-items:center;justify-content:space-between;gap:4px}.stage-number{color:var(--text-dim);font-size:8px;white-space:nowrap}.stage-current{padding:1px 4px;border-radius:3px;background:#2ee6c51f;color:var(--accent);font-size:7px;letter-spacing:.03em;white-space:nowrap}.stage-card strong{overflow:hidden;color:#d9eeea;font-family:var(--font-mono);font-size:14px;font-weight:600;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.stage-card.is-active strong{color:var(--accent)}.stage-card-foot{display:flex;align-items:center;gap:4px;color:#617772;font-size:7.5px}.stage-card-foot i{width:4px;height:4px;flex:none;border-radius:50%}.indicator-summary{display:flex;width:100%;align-items:center;gap:13px;padding:14px 18px;text-align:left;transition:border-color .18s ease,transform .18s ease}.indicator-summary:hover{border-color:#2ee6c533;transform:translateY(-1px)}.indicator-summary-orb{width:34px;height:34px;flex:none;border:4px solid rgba(0,0,0,.28);border-radius:50%}.indicator-summary-copy{display:flex;min-width:0;flex:1;flex-direction:column}.indicator-summary-copy small{color:#5f7c76;font-family:var(--font-mono);font-size:7px;letter-spacing:.17em}.indicator-summary-copy strong{color:#dff8f3;font-size:11px;font-weight:500}.indicator-summary-copy span{overflow:hidden;margin-top:1px;color:var(--text-dim);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.indicator-summary-action{display:flex;flex:none;align-items:center;gap:5px;color:var(--accent);font-size:9px}.performance-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.88fr);gap:18px;align-items:stretch}.polling-hero{display:flex;min-height:124px;align-items:flex-end;justify-content:space-between;gap:18px;overflow:hidden;margin-bottom:13px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:radial-gradient(80% 140% at 0% 50%,rgba(46,230,197,.08),transparent 62%),linear-gradient(110deg,#2ee6c509,#030a0c6b)}.polling-readout>span{color:#5d7a74;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.18em}.polling-readout strong{display:block;margin:2px 0 3px;color:#ecfffb;font-family:var(--font-mono);font-size:35px;font-weight:600;letter-spacing:-.045em;line-height:1.05;text-shadow:0 0 28px rgba(46,230,197,.18)}.polling-readout strong small{color:#71928c;font-size:11px;font-weight:400;letter-spacing:0}.polling-readout em{color:var(--text-dim);font-size:8.5px;font-style:normal}.polling-bars{display:flex;width:48%;height:82px;flex:none;align-items:flex-end;gap:3px;opacity:.75;mask-image:linear-gradient(90deg,transparent,#000 16%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%)}.polling-bars i{width:100%;min-width:2px;flex:1;border-radius:2px 2px 0 0;background:linear-gradient(180deg,var(--accent),rgba(46,230,197,.04));transform-origin:bottom;animation:polling-bar 2.6s ease-in-out infinite alternate}.choice-cards{display:flex;flex-direction:column;gap:5px}.choice-card{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#ffffff04;color:var(--text-soft);text-align:left;transition:border-color .15s ease,background .15s ease}.choice-card:hover{border-color:#2ee6c529}.choice-card.is-active{border-color:#2ee6c545;background:#2ee6c50e}.choice-card-icon{display:flex;width:29px;height:29px;flex:none;align-items:center;justify-content:center;border-radius:7px;background:#ffffff08;color:#7f9591}.choice-card.is-active .choice-card-icon{background:#2ee6c517;color:var(--accent)}.choice-card>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.choice-card strong{font-size:10.5px;font-weight:500}.choice-card small{margin-top:1px;color:var(--text-dim);font-size:8.5px}.choice-card>svg{flex:none;color:var(--accent)}.response-note{display:flex;align-items:flex-start;gap:7px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line);color:var(--text-dim);font-size:8.5px;line-height:1.55}.response-note svg{flex:none;margin-top:1px;color:var(--accent)}.calibration-list{display:flex;flex-direction:column}.calibration-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.calibration-row:first-child{padding-top:2px;border-top:0}.calibration-icon{display:flex;width:31px;height:31px;flex:none;align-items:center;justify-content:center;border-radius:8px;background:#ffffff06;color:#7e9691}.calibration-copy{min-width:0;flex:1}.calibration-copy strong{display:block;color:#b7cac6;font-size:10.5px;font-weight:500}.calibration-copy span{display:block;margin-top:2px;color:var(--text-dim);font-size:8.5px;line-height:1.55}.calibration-row .toggle{margin-top:5px}.runtime-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;align-items:center}.runtime-copy p{max-width:620px;margin:7px 0 0;color:var(--text-dim);font-size:9px;line-height:1.7}.runtime-list{display:grid;grid-template-columns:1fr 1fr;gap:5px}.runtime-item{display:flex;min-width:0;align-items:center;gap:6px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#ffffff04;color:var(--text-dim);font-size:8.5px}.runtime-item svg{flex:none;color:#607975}.runtime-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-item strong{flex:none;color:#839894;font-family:var(--font-mono);font-size:7.5px;font-weight:400}.runtime-item.is-ok svg,.runtime-item.is-ok strong{color:#5fc9b9}.lighting-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);gap:18px;align-items:stretch}.lighting-preview-panel{display:flex;flex-direction:column}.light-status{display:inline-flex;flex:none;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--text-dim);font-size:8px}.light-status>span{width:5px;height:5px;border-radius:50%;background:#475a57}.light-status.is-on{border-color:#2ee6c530;background:#2ee6c50d;color:#8dd6ca}.light-status.is-on>span{background:var(--accent);box-shadow:0 0 7px #2ee6c5e6}.lighting-stage{min-height:438px;flex:1}.lighting-stage .mouse-illustration{width:min(100%,268px)}.mouse-halo.is-lighting{width:330px;height:330px;background:radial-gradient(circle,var(--glow-color),transparent 66%);opacity:.16;filter:blur(42px);transition:opacity .35s ease}.lighting-stage.is-glowing .mouse-halo.is-lighting{opacity:.28}.lighting-float-chip{position:absolute;bottom:16px;left:50%;z-index:2;display:flex;min-width:208px;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#040b0dd4;box-shadow:0 12px 30px #00000059;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%)}.lighting-chip-swatch{width:9px;height:9px;flex:none;border-radius:50%;box-shadow:0 0 10px #ffffff40}.lighting-float-chip>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.lighting-float-chip small{color:var(--text-dim);font-size:7.5px}.lighting-float-chip strong{color:#d9f2ed;font-family:var(--font-mono);font-size:10px;font-weight:500}.lighting-chip-brightness{flex:none;color:#6f8c86;font-family:var(--font-mono);font-size:8.5px}.lighting-stage-rail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:9px}.light-stage-chip{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px;padding:8px 3px 7px;border:1px solid var(--line);border-radius:8px;background:#ffffff04;transition:border-color .16s ease,background .16s ease}.light-stage-chip:hover{border-color:#2ee6c52e}.light-stage-chip.is-selected{border-color:#2ee6c552;background:#2ee6c50e}.light-stage-chip.is-disabled{opacity:.45}.light-stage-swatch{display:flex;width:21px;height:21px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#04110f}.light-stage-swatch svg{filter:drop-shadow(0 0 2px rgba(255,255,255,.7))}.light-stage-chip>span:nth-child(2){display:flex;flex-direction:column;align-items:center;gap:1px}.light-stage-chip strong{color:#b8cdc8;font-family:var(--font-mono);font-size:9px;font-weight:500}.light-stage-chip small{color:#5c726d;font-family:var(--font-mono);font-size:7.5px}.light-stage-current{position:absolute;top:4px;right:4px;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 5px #2ee6c5e6}.preview-disclaimer{display:flex;align-items:flex-start;gap:6px;margin:11px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--text-dim);font-size:8px;line-height:1.55}.preview-disclaimer svg{flex:none;margin-top:1px}.lighting-control-panel{display:flex;flex-direction:column}.lighting-master{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(46,230,197,.12);border-radius:11px;background:#2ee6c50a}.lighting-master-icon{display:flex;width:35px;height:35px;flex:none;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:#ffffff06;color:var(--text-dim);transition:border-color .2s ease,background .2s ease,color .2s ease}.lighting-master-icon.is-on{border-color:#2ee6c53b;background:#2ee6c517;color:var(--accent);box-shadow:0 0 18px -6px #2ee6c580}.lighting-master>div{min-width:0;flex:1}.lighting-master strong{display:block;color:#c9ddd8;font-size:10.5px;font-weight:500}.lighting-master span{display:block;margin-top:2px;color:var(--text-dim);font-size:8.5px;line-height:1.45}.lighting-control-panel .setting-block{margin-top:2px}.lighting-control-panel .ghost-button.full{margin-top:auto}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.feature-card{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#ffffff04;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-icon{display:flex;width:33px;height:33px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.12);border-radius:8px;background:#2ee6c50e;color:var(--accent)}.feature-card h3{margin:3px 0;font-size:11px;font-weight:550}.feature-card p{margin:0;color:var(--text-dim);font-size:8.5px;line-height:1.65}.feature-card .section-kicker{font-size:7px}.lighting-note{display:flex;align-items:flex-start;gap:12px;padding:15px 17px}.lighting-note-icon{display:flex;width:36px;height:36px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(244,164,78,.17);border-radius:9px;background:#f4a44e0f;color:#e0a968}.lighting-note strong{display:block;color:#cfdfdb;font-size:10.5px;font-weight:500}.lighting-note p{margin:3px 0 0;color:var(--text-dim);font-size:8.5px;line-height:1.65}.macro-layout{display:grid;grid-template-columns:minmax(248px,.6fr) minmax(0,1.4fr);gap:18px;align-items:stretch}.macro-library{display:flex;flex-direction:column;gap:10px}.count-pill{display:flex;min-width:22px;height:21px;align-items:center;justify-content:center;padding:0 7px;border:1px solid rgba(46,230,197,.16);border-radius:999px;background:#2ee6c50f;color:var(--accent);font-family:var(--font-mono);font-size:8.5px}.macro-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;padding-right:2px}.macro-item{display:flex;min-width:0;align-items:center;gap:7px;padding:8px 7px 8px 9px;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.macro-item:hover{background:#ffffff08}.macro-item.is-active{border-color:#2ee6c529;background:#2ee6c50e}.macro-item-index{width:16px;flex:none;color:#4c615d;font-family:var(--font-mono);font-size:8px}.macro-item.is-active .macro-item-index{color:var(--accent)}.macro-item-copy{display:flex;min-width:0;flex:1;flex-direction:column}.macro-item-copy strong{overflow:hidden;color:#b5c8c4;font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.macro-item-copy small{margin-top:1px;color:#536963;font-size:8px}.macro-item.is-active .macro-item-copy strong{color:#eafffa}.macro-linked{flex:none;padding:1px 5px;border:1px solid rgba(46,230,197,.15);border-radius:4px;color:#70b3a8;font-size:7px;white-space:nowrap}.macro-item-menu{display:flex;width:22px;height:22px;flex:none;align-items:center;justify-content:center;border-radius:5px;color:#5b706c;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.macro-item:hover .macro-item-menu,.macro-item:focus-within .macro-item-menu{opacity:1}.macro-item-menu:hover{background:#ff5b6e14;color:#ff8d99}.macro-library-empty{display:flex;flex-direction:column;align-items:center;gap:5px;padding:24px 8px;text-align:center}.macro-library-empty strong{color:#b7cac6;font-size:11px;font-weight:500}.macro-library-empty p{margin:0 0 4px;color:var(--text-dim);font-size:8.5px;line-height:1.55}.macro-library-tip{display:flex;align-items:flex-start;gap:6px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line);color:var(--text-dim);font-size:8px;line-height:1.55}.macro-library-tip svg{flex:none;margin-top:1px}.macro-editor{display:flex;min-height:660px;flex-direction:column}.macro-editor-head{display:flex;align-items:flex-end;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.macro-name-field{min-width:0;flex:1}.macro-name-field .section-kicker{margin-bottom:3px}.macro-name-field input{width:100%;padding:1px 0;border:0;border-bottom:1px solid transparent;outline:0;background:none;color:#effffb;font-size:19px;font-weight:600;letter-spacing:-.015em;transition:border-color .15s ease}.macro-name-field input:focus{border-bottom-color:#2ee6c559}.macro-editor-stats{display:flex;flex:none;gap:9px;padding-bottom:3px;color:var(--text-dim);font-family:var(--font-mono);font-size:8px}.macro-editor-stats span+span{padding-left:9px;border-left:1px solid var(--line)}.macro-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.macro-mouse-insert{display:flex;align-items:center;gap:3px;margin-left:auto;padding-left:8px;border-left:1px solid var(--line)}.macro-mouse-insert>span{margin-right:2px;color:var(--text-dim);font-size:8px;white-space:nowrap}.macro-mouse-insert>button{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;color:#869b96;font-size:8px;transition:border-color .15s ease,color .15s ease,background .15s ease}.macro-mouse-insert>button:hover{border-color:#2ee6c53d;background:#2ee6c50d;color:var(--accent)}.macro-timeline{display:flex;max-height:342px;flex-direction:column;gap:3px;overflow-y:auto;padding:10px 4px 10px 0}.macro-action{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:#ffffff04}.macro-action:before{content:"";width:2px;height:16px;flex:none;border-radius:2px;background:var(--accent);opacity:.5}.macro-action.is-key:before{background:var(--accent)}.macro-action.is-mouse:before{background:var(--blue)}.macro-action.is-delay:before{background:var(--amber)}.macro-action.is-mouse{background:#41b7ff05}.macro-action.is-delay{background:#f4a44e05}.macro-action-index{width:15px;flex:none;color:#4e635e;font-family:var(--font-mono);font-size:7.5px}.macro-action-icon{display:flex;width:25px;height:25px;flex:none;align-items:center;justify-content:center;border-radius:6px;background:#2ee6c50e;color:#7fc8bc}.macro-action.is-mouse .macro-action-icon{background:#41b7ff0f;color:#80b9d7}.macro-action.is-delay .macro-action-icon{background:#f4a44e0f;color:#c09a68}.macro-action-copy{display:flex;min-width:0;flex:1;flex-direction:column}.macro-action-copy strong{overflow:hidden;color:#bed1cd;font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.macro-action-copy small{overflow:hidden;margin-top:1px;color:#586d68;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.event-pill{flex:none;padding:2px 5px;border:1px solid rgba(46,230,197,.16);border-radius:4px;color:#72b9ad;font-family:var(--font-mono);font-size:6.5px;letter-spacing:.08em}.event-pill.is-up{border-color:#ffffff14;color:#6d817d}.delay-field{display:flex;flex:none;align-items:center;gap:3px;color:#5b716c;font-size:7.5px}.delay-field input{width:44px;height:23px;padding:0 3px;border:1px solid var(--line);border-radius:5px;outline:0;background:#02080a59;color:#a7bbb6;font-family:var(--font-mono);font-size:8.5px;text-align:center;transition:border-color .15s ease}.delay-field input:focus{border-color:#2ee6c552}.macro-action-tools{display:flex;flex:none;gap:1px;opacity:.3;transition:opacity .15s ease}.macro-action:hover .macro-action-tools,.macro-action:focus-within .macro-action-tools{opacity:1}.macro-action-tools button{display:flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:4px;color:#677b77;transition:background .14s ease,color .14s ease}.macro-action-tools button:hover:not(:disabled){background:#ffffff0d;color:var(--text)}.macro-action-tools button.is-danger:hover{background:#ff5b6e17;color:#ff8d99}.macro-action-tools button:disabled{opacity:.25}.macro-empty-actions{display:flex;min-height:238px;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:12px 0;border:1px dashed var(--line);border-radius:13px;text-align:center}.macro-empty-actions h3{margin:2px 0 0;font-size:12px;font-weight:500}.macro-empty-actions p{max-width:310px;margin:0 0 4px;color:var(--text-dim);font-size:8.5px;line-height:1.6}.macro-settings{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:auto;padding:11px 0;border-top:1px solid var(--line)}.macro-setting{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#ffffff04}.macro-setting-label{display:flex;align-items:flex-start;gap:7px}.macro-setting-label>svg{flex:none;margin-top:1px;color:#6f8782}.macro-setting-label>span{display:flex;flex-direction:column}.macro-setting-label strong{color:#b6c9c5;font-size:9.5px;font-weight:500}.macro-setting-label small{margin-top:1px;color:var(--text-dim);font-size:7.5px}.number-stepper{display:flex;width:max-content;align-items:center;gap:1px;padding:2px;border:1px solid var(--line);border-radius:7px;background:#02080a66}.number-stepper button{display:flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:5px;color:#8ba09b;font-size:13px;line-height:1}.number-stepper button:hover:not(:disabled){background:#ffffff0d;color:var(--text)}.number-stepper button:disabled{opacity:.25}.number-stepper input{width:34px;height:22px;padding:0;border:0;outline:0;background:none;color:#cde2dd;font-family:var(--font-mono);font-size:9px;text-align:center}.number-stepper>span{padding-right:4px;color:var(--text-dim);font-size:7.5px}.macro-assign{padding:2px 0 4px}.macro-assign-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.macro-assign-button{display:flex;min-width:0;align-items:center;gap:5px;padding:6px 7px;border:1px solid var(--line);border-radius:7px;background:#ffffff04;color:#8da29d;text-align:left;transition:border-color .15s ease,background .15s ease}.macro-assign-button:hover{border-color:#2ee6c533}.macro-assign-button.is-active{border-color:#2ee6c54d;background:#2ee6c50f}.macro-assign-button>span:first-child{display:flex;width:17px;height:17px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#748983;font-family:var(--font-mono);font-size:7px}.macro-assign-button.is-active>span:first-child{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.macro-assign-button>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.macro-assign-button strong{overflow:hidden;font-size:8.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.macro-assign-button small{overflow:hidden;margin-top:1px;color:#556a65;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.macro-assign-button>svg{flex:none;color:var(--accent)}.macro-assigned-note{display:flex;align-items:center;gap:5px;margin-top:7px;color:#76b9ad;font-size:8px}.macro-editor-footer{display:flex;align-items:flex-start;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);color:var(--text-dim);font-size:8px;line-height:1.5}.macro-editor-footer svg{flex:none;margin-top:1px}.macro-editor-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.empty-orbit{display:flex;width:76px;height:76px;align-items:center;justify-content:center;margin-bottom:5px;border:1px dashed rgba(46,230,197,.27);border-radius:50%;background:radial-gradient(circle,rgba(46,230,197,.08),transparent 68%);color:var(--accent);box-shadow:0 0 50px -18px #2ee6c58c}.macro-editor-empty h3{margin:0;font-size:15px;font-weight:550}.macro-editor-empty p{max-width:300px;margin:0 0 8px;color:var(--text-dim);font-size:9px;line-height:1.6}.record-stage{display:flex;flex-direction:column;gap:12px}.record-status{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-family:var(--font-mono);font-size:9px}.record-live{display:inline-flex;align-items:center;gap:6px;color:#ff8f9b;white-space:nowrap}.record-dot{width:6px;height:6px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px #ff5b6e1a;animation:rec-pulse 1.15s ease-in-out infinite}.record-timer{color:#d8ebe6;font-size:14px;letter-spacing:.02em}.record-count{margin-left:auto;font-size:8px}.record-pad{display:flex;flex-direction:column;align-items:center;gap:5px;padding:20px;border:1px dashed rgba(255,91,110,.19);border-radius:13px;background:radial-gradient(circle at 50% 18%,rgba(255,91,110,.055),transparent 62%),#ffffff03;text-align:center}.record-pulse{display:flex;width:62px;height:62px;align-items:center;justify-content:center;margin-bottom:4px;border:1px solid rgba(255,91,110,.22);border-radius:50%;background:#ff5b6e0f;color:#ff94a1;animation:capture-pulse 2s ease-out infinite}.record-pad strong{font-size:12px;font-weight:500}.record-pad span{color:var(--text-dim);font-size:8.5px}.record-stream{display:flex;min-height:34px;align-items:center;gap:4px;overflow-x:auto;padding-bottom:4px}.record-stream-empty{color:var(--text-dim);font-size:8.5px}.record-token{display:inline-flex;flex:none;align-items:center;gap:4px;padding:5px 7px;border:1px solid rgba(46,230,197,.14);border-radius:6px;background:#2ee6c50a;color:#9fb8b2;font-size:8px;white-space:nowrap}.record-token kbd{color:#dffdf7;font-family:var(--font-mono);font-size:8.5px}.record-token small{color:#62a99c;font-size:8px}.record-token em{color:#526963;font-size:7.5px;font-style:normal}.record-token.is-delay{border-color:#f4a44e29;background:#f4a44e0a;color:#c7a375}.record-tip{margin:0;color:var(--text-dim);font-size:8px;line-height:1.55}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;overflow-y:auto;align-items:center;justify-content:center;padding:24px;background:#010507b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .18s ease}.modal-card{position:relative;display:flex;width:min(560px,100%);max-height:min(87vh,900px);flex-direction:column;overflow:hidden;border:1px solid rgba(89,247,222,.17);border-radius:21px;background:radial-gradient(120% 90% at 50% 0%,rgba(30,58,58,.55),transparent 58%),#071014;box-shadow:0 40px 110px #000000d1,inset 0 1px #ffffff0b;animation:modal-in .3s cubic-bezier(.16,1,.3,1);outline:none}.modal-card:before{content:"";position:absolute;top:0;left:22%;right:22%;height:1px;background:linear-gradient(90deg,transparent,rgba(120,255,236,.35),transparent)}.modal-card.modal-wide{width:min(760px,100%)}.modal-card.modal-compact{width:min(430px,100%)}.modal-card.is-danger{border-color:#ff5b6e33}.modal-card.is-danger:before{background:linear-gradient(90deg,transparent,rgba(255,91,110,.35),transparent)}.modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:21px 22px 0}.modal-top h2{margin:0;color:#f0fffb;font-size:18px;font-weight:600;letter-spacing:-.005em}.modal-top p{max-width:92%;margin:6px 0 0;color:var(--text-dim);font-size:10px;line-height:1.65}.modal-body{overflow-y:auto;padding:16px 22px 21px}.modal-footer{display:flex;justify-content:flex-end;gap:7px;padding:13px 22px 18px;border-top:1px solid var(--line);background:#03090b59}.modal-input-label{display:flex;flex-direction:column;gap:7px}.modal-input-label>span{color:var(--text-dim);font-size:9.5px}.modal-input-label input{height:39px;padding:0 11px;border:1px solid var(--line);border-radius:9px;outline:0;background:#02080a73;color:var(--text);font-size:12px;transition:border-color .15s ease}.modal-input-label input:focus{border-color:#2ee6c557}.delete-summary{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid rgba(244,164,78,.16);border-radius:8px;background:#f4a44e0d;color:#d9af7b;font-size:9px}.delete-summary svg{flex:none}.toast-viewport{position:fixed;right:24px;bottom:22px;z-index:1200;display:flex;width:min(356px,calc(100vw - 32px));flex-direction:column;gap:7px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:9px;padding:11px 10px 11px 12px;border:1px solid var(--line-strong);border-radius:11px;background:#081214f5;box-shadow:0 18px 50px #0000008c,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;animation:toast-in .3s cubic-bezier(.16,1,.3,1)}.toast-icon{display:flex;width:27px;height:27px;flex:none;align-items:center;justify-content:center;border-radius:7px;background:#2ee6c514;color:var(--accent)}.toast-error .toast-icon{background:#ff5b6e14;color:#ff8390}.toast-info .toast-icon{background:#41b7ff14;color:#75bfe8}.toast-copy{display:flex;min-width:0;flex:1;flex-direction:column}.toast-copy strong{color:#dff5f0;font-size:10.5px;font-weight:550}.toast-copy span{margin-top:2px;color:var(--text-dim);font-size:8.5px;line-height:1.5}.toast-close{display:flex;width:22px;height:22px;flex:none;align-items:center;justify-content:center;border-radius:5px;color:#5f7570}.toast-close:hover{background:#ffffff0d;color:var(--text)}.export-modal{display:flex;flex-direction:column;gap:12px}.export-profile{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#ffffff05}.export-profile-mark{display:flex;width:39px;height:39px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.18);border-radius:11px;background:#2ee6c50f;color:var(--accent)}.export-profile-mark .brand-mark{width:23px;height:23px}.export-profile>div:last-child{display:flex;min-width:0;flex-direction:column}.export-profile span{color:#5d7c75;font-family:var(--font-mono);font-size:7px;letter-spacing:.16em}.export-profile strong{color:#e4f8f3;font-size:12px;font-weight:550}.export-profile small{margin-top:1px;color:var(--text-dim);font-size:8px}.export-options{display:flex;flex-direction:column;gap:7px}.export-option{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#ffffff04}.export-icon{display:flex;width:35px;height:35px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.13);border-radius:9px;background:#2ee6c50e;color:var(--accent)}.export-copy{min-width:0;flex:1}.export-title-line{display:flex;align-items:center;gap:6px}.export-title-line strong{color:#cfe3de;font-size:10.5px;font-weight:550}.export-copy p{margin:3px 0 0;color:var(--text-dim);font-size:8.5px;line-height:1.55}.tag-ok,.tag-warn{padding:1px 5px;border:1px solid rgba(46,230,197,.17);border-radius:4px;color:#77b9ad;font-size:7px;white-space:nowrap}.tag-warn{border-color:#f4a44e2e;color:#c39a69}.import-modal{display:flex;flex-direction:column;gap:9px}.import-drop{display:flex;flex-direction:column;align-items:center;gap:5px;padding:20px;border:1px dashed rgba(46,230,197,.23);border-radius:13px;background:#2ee6c506;text-align:center;transition:border-color .18s ease,background .18s ease}.import-drop.is-dragging{border-color:#2ee6c58c;background:#2ee6c513}.import-drop-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;margin-bottom:2px;border:1px solid rgba(46,230,197,.17);border-radius:12px;background:#2ee6c50f;color:var(--accent)}.import-drop strong{color:#cfe3de;font-size:11px;font-weight:550}.import-drop-or{color:var(--text-dim);font-size:8px}.import-drop small{margin-top:3px;color:#596e69;font-size:8px}.import-paste{display:flex;flex-direction:column;gap:5px}.import-paste>span{color:var(--text-dim);font-size:8.5px}.import-paste textarea{width:100%;min-height:77px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;outline:0;background:#02080a70;color:#9fb3ae;font-family:var(--font-mono);font-size:9px;line-height:1.55;resize:vertical;transition:border-color .15s ease}.import-paste textarea:focus{border-color:#2ee6c54d}.import-paste textarea::placeholder{color:#465a55}.import-parse-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.import-source{display:flex;align-items:center;gap:4px;color:#7dbfb3;font-size:8px}.import-preview{padding:11px;border:1px solid rgba(46,230,197,.15);border-radius:10px;background:#2ee6c508}.import-preview-head{display:flex;align-items:center;gap:9px}.import-preview-icon{display:flex;width:28px;height:28px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.16);border-radius:7px;background:#2ee6c511;color:var(--accent)}.import-preview-head>div{display:flex;min-width:0;flex:1;flex-direction:column}.import-preview-head span{color:#5f8179;font-family:var(--font-mono);font-size:6.5px;letter-spacing:.16em}.import-preview-head strong{overflow:hidden;color:#dff8f2;font-size:11px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.import-preview-count{flex:none;padding:2px 6px;border:1px solid rgba(46,230,197,.14);border-radius:4px;color:#81bbaf!important;font-family:var(--font-mono);font-size:7px!important;letter-spacing:0!important}.import-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.import-chips span{padding:2px 6px;border:1px solid var(--line);border-radius:4px;color:#647a75;font-size:7.5px}.import-warnings{display:flex;flex-direction:column;gap:4px;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--line);list-style:none}.import-warnings li{display:flex;align-items:flex-start;gap:5px;color:#b9986c;font-size:8px;line-height:1.5}.import-warnings svg{flex:none;margin-top:1px}.about-modal{display:flex;flex-direction:column;gap:13px}.about-hero{display:flex;align-items:center;gap:12px}.about-mark{display:flex;width:48px;height:48px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,230,197,.18);border-radius:13px;background:#2ee6c511;color:var(--accent);box-shadow:0 0 30px -12px #2ee6c580}.about-mark .brand-mark{width:29px;height:29px}.about-hero>div:nth-child(2){min-width:0;flex:1}.about-hero h2{margin:3px 0 2px;font-size:18px;font-weight:600;letter-spacing:-.01em}.about-hero p{margin:0;color:var(--text-dim);font-size:9px;line-height:1.55}.about-version{flex:none;align-self:flex-start;padding:2px 6px;border:1px solid var(--line);border-radius:4px;color:#617a74;font-family:var(--font-mono);font-size:7.5px}.about-callout{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(244,164,78,.17);border-radius:10px;background:#f4a44e0b;color:#e1b380}.about-callout>svg{flex:none;margin-top:1px}.about-callout strong{display:block;color:#edc696;font-size:10.5px;font-weight:550}.about-callout p{margin:4px 0 0;color:#b08e69;font-size:8.5px;line-height:1.65}.about-callout p strong{display:inline;color:#f0c998;font-weight:650}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.about-item{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#ffffff04}.about-item>span{display:flex;width:27px;height:27px;flex:none;align-items:center;justify-content:center;border-radius:7px;background:#2ee6c50e;color:#7fc5b9}.about-item strong{display:block;color:#b9cdc8;font-size:9.5px;font-weight:500}.about-item p{margin:2px 0 0;color:var(--text-dim);font-size:8px;line-height:1.55}.about-footer{display:flex;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid var(--line);color:#4f645f;font-family:var(--font-mono);font-size:7px}button.connection-pill{color:inherit;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}button.connection-pill:hover{border-color:var(--line-strong);background:#ffffff0a}.status-dot.is-online{background:var(--accent);box-shadow:0 0 0 3px #2ee6c51a,0 0 9px #2ee6c58c;animation:status-pulse 2.8s ease-in-out infinite}.status-dot.is-busy{background:var(--blue);box-shadow:0 0 0 3px #41b7ff1a,0 0 9px #41b7ff8c;animation:status-pulse 1s ease-in-out infinite}.status-dot.is-error{background:var(--danger);box-shadow:0 0 0 3px #ff5b6e1a,0 0 9px #ff5b6e80}.offline-banner.is-online{border-color:#2ee6c52e;background:linear-gradient(90deg,#2ee6c50f,#2ee6c504),#080f126b}.offline-banner.is-online .offline-banner-icon{border-color:#2ee6c533;background:#2ee6c513;color:var(--accent)}.offline-banner.is-online .offline-banner-copy strong{color:#9ff5e4}.offline-banner.is-online>button{color:#8fd9c8}.offline-banner.is-error{border-color:#ff5b6e33;background:linear-gradient(90deg,#ff5b6e0f,#ff5b6e04),#080f126b}.offline-banner.is-error .offline-banner-icon{border-color:#ff5b6e38;background:#ff5b6e14;color:var(--danger)}.offline-banner.is-error .offline-banner-copy strong{color:#ff9aa6}.offline-banner.is-error>button{color:#d98b95}.device-panel{display:flex;flex-direction:column;gap:13px}.device-hero{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(140deg,#111e21cc,#070e1199)}.device-hero.is-online{border-color:#2ee6c533;background:linear-gradient(140deg,#2ee6c514,#070e1199)}.device-hero.is-warn{border-color:#f4a44e38;background:linear-gradient(140deg,#f4a44e14,#070e1199)}.device-hero.is-error{border-color:#ff5b6e38;background:linear-gradient(140deg,#ff5b6e12,#070e1199)}.device-hero.is-busy{border-color:#41b7ff38;background:linear-gradient(140deg,#41b7ff12,#070e1199)}.device-hero-icon{display:flex;width:38px;height:38px;flex:none;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#ffffff06;color:var(--text-dim)}.device-hero.is-online .device-hero-icon{border-color:#2ee6c533;background:#2ee6c514;color:var(--accent)}.device-hero.is-warn .device-hero-icon{border-color:#f4a44e38;background:#f4a44e14;color:var(--amber)}.device-hero.is-error .device-hero-icon{border-color:#ff5b6e3d;background:#ff5b6e14;color:var(--danger)}.device-hero.is-busy .device-hero-icon{border-color:#41b7ff3d;background:#41b7ff14;color:var(--blue)}.device-hero-copy{flex:1;min-width:0}.device-hero-copy strong{display:block;color:var(--text);font-size:12px;font-weight:600;letter-spacing:.01em}.device-hero-copy p{margin:4px 0 0;color:var(--text-soft);font-size:9.5px;line-height:1.65}.device-hero-actions{display:flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:7px}.device-guide{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.device-guide li{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff05}.device-guide li>span{flex:none;color:var(--accent);font-family:var(--font-mono);font-size:9px;opacity:.8}.device-guide strong{display:block;color:var(--text-soft);font-size:10px;font-weight:600}.device-guide p{margin:2px 0 0;color:var(--text-dim);font-size:9px;line-height:1.6}.device-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.device-info-item{min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#ffffff05}.device-info-item span{display:block;color:var(--text-dim);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.device-info-item strong{display:block;margin-top:3px;overflow-wrap:anywhere;color:var(--text-soft);font-family:var(--font-mono);font-size:9.5px;font-weight:500}.device-diagnostics{display:flex;flex-direction:column;gap:8px}.device-diagnostics-head{display:flex;align-items:baseline;justify-content:space-between;color:var(--text-dim);font-family:var(--font-mono);font-size:8px}.device-traces{display:flex;flex-wrap:wrap;gap:6px}.device-chip{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--text-dim);font-family:var(--font-mono);font-size:8.5px;white-space:nowrap}.device-chip.is-ok{border-color:#2ee6c533;background:#2ee6c50f;color:#93ecda}.device-chip.is-warn{border-color:#f4a44e3d;background:#f4a44e12;color:#e8bd8b}.device-chip.is-bad{border-color:#ff5b6e3d;background:#ff5b6e12;color:#ff9aa6}.device-chip.is-muted{opacity:.55}.device-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.device-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#00000024}.device-table{width:100%;border-collapse:collapse;font-size:9.5px;white-space:nowrap}.device-table th{padding:9px 10px;background:#ffffff05;color:var(--text-dim);font-size:8px;font-weight:500;letter-spacing:.08em;text-align:left;text-transform:uppercase}.device-table td{padding:9px 10px;border-top:1px solid var(--line);color:var(--text-soft);vertical-align:top}.device-table td code{color:var(--accent-bright);font-family:var(--font-mono);font-size:9px}.device-table td small{display:block;margin-top:2px;color:var(--text-dim);font-size:8px}.device-row-note{color:var(--amber);font-size:8.5px}.device-row-muted{color:var(--text-dim);font-size:8.5px}.device-row-change{color:var(--accent);font-size:8.5px}.device-write-box{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid rgba(46,230,197,.14);border-radius:12px;background:#2ee6c509}.device-write-head{display:flex;align-items:flex-start;gap:9px}.device-write-head svg{flex:none;margin-top:1px;color:var(--accent)}.device-write-head strong{display:block;color:var(--text);font-size:10.5px}.device-write-head p{margin:3px 0 0;color:var(--text-dim);font-size:9px;line-height:1.6}.device-confirm{display:flex;align-items:flex-start;gap:8px;color:var(--text-soft);font-size:9px;line-height:1.6;cursor:pointer}.device-confirm input{width:13px;height:13px;flex:none;margin-top:1px;accent-color:var(--accent)}.device-empty{padding:18px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--text-dim);font-size:10px;text-align:center}.device-advanced{border:1px solid var(--line);border-radius:10px;background:#0000001f}.device-advanced summary,.device-raw summary{padding:9px 11px;color:var(--text-dim);font-size:9px;cursor:pointer}.device-advanced-body{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 11px 11px;color:var(--text-dim);font-size:8.5px;line-height:1.6}.device-advanced-body label{display:inline-flex;align-items:center;gap:6px;color:var(--text-soft);font-size:9px}.device-report-input{width:66px;height:26px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:#00000040;color:var(--accent-bright);font-family:var(--font-mono);font-size:9px}.device-report-input:disabled{opacity:.5}.device-raw{border:1px solid var(--line);border-radius:10px;background:#00000029}.device-raw summary{color:var(--text-soft)}.device-raw-block{padding:0 11px 10px}.device-raw-block span{display:block;margin-bottom:4px;color:var(--text-dim);font-size:8px;letter-spacing:.08em}.device-raw-block code{display:block;color:#8fb5ae;font-family:var(--font-mono);font-size:8.5px;line-height:1.65;white-space:pre-wrap;word-break:break-all}.device-panel .inline-note{margin-top:0}.is-spinning{animation:device-spin .9s linear infinite}@keyframes device-spin{to{transform:rotate(360deg)}}@media(max-width:1280px){.content-inner{padding:20px 26px 30px}.topbar{padding:0 26px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card strong{font-size:18px}}@media(max-width:1120px){.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:200;width:min(300px,86vw);height:100%;transform:translate(-103%);transition:transform .28s cubic-bezier(.16,1,.3,1);box-shadow:30px 0 80px #0000008c}.sidebar.is-open{transform:translate(0)}.sidebar-close{position:absolute;top:12px;right:10px;z-index:2;display:flex;width:28px;height:28px;border-radius:7px}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;display:block;background:#01060894;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity .25s ease,visibility .25s ease}.sidebar-scrim.is-visible{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu{display:inline-flex;width:32px;height:32px}.topbar-brand{gap:5px}.keys-layout{grid-template-columns:minmax(290px,.8fr) minmax(0,1.2fr)}.dpi-layout{grid-template-columns:minmax(0,1.3fr) minmax(310px,.9fr)}.performance-grid{grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr)}.macro-layout{grid-template-columns:minmax(230px,.58fr) minmax(0,1.42fr)}}@media(max-width:980px){.keys-layout,.dpi-layout,.performance-grid,.lighting-layout,.macro-layout{grid-template-columns:minmax(0,1fr)}.mouse-panel .mouse-stage{min-height:380px}.function-scroll{max-height:470px}.macro-editor,.macro-library{min-height:0}.macro-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.macro-library-tip{margin-top:2px}.runtime-panel{grid-template-columns:1fr;gap:14px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card:last-child{grid-column:1 / -1}.lighting-stage{min-height:410px}.lighting-layout{align-items:start}}@media(max-width:760px){.app-shell{display:block}.app-main{height:100vh}.topbar{flex-basis:64px;height:64px;padding:0 14px}.content-inner{gap:14px;padding:16px 14px 26px}.topbar-actions{gap:4px}.save-chip,.topbar-divider,.hide-on-small{display:none}.connection-pill{height:29px;padding:0 9px;font-size:9px}.brand-mark{width:28px;height:28px}.brand-name{font-size:13px}.brand-badge{display:none}.page{gap:14px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.page-header h1{margin-top:5px;font-size:26px}.page-header p{font-size:10.5px}.page-actions{width:100%;padding-bottom:0}.page-actions>button{flex:1}.page-actions>.ghost-button{flex:0 0 auto;margin-left:auto}.offline-banner{padding:8px 10px}.offline-banner-copy{display:block}.offline-banner-copy strong{display:inline;margin-right:5px}.offline-banner-copy span{display:inline;white-space:normal;line-height:1.45}.offline-banner>button{display:none}.panel{padding:17px 15px;border-radius:17px}.panel-heading{margin-bottom:13px}.panel-heading h2,.stage-editor-heading h2,.binding-heading h2,.runtime-copy h2{font-size:15px}.stats-grid{gap:8px}.stat-card{padding:11px 12px}.stat-icon{width:31px;height:31px}.stat-card strong{font-size:16px}.stat-card em{font-size:8px}.mouse-panel .mouse-stage{min-height:340px}.mouse-illustration{width:min(100%,250px)}.mouse-panel .mouse-illustration{width:min(100%,235px)}.key-legend{grid-template-columns:1fr 1fr}.legend-item{padding:7px}.binding-panel{min-height:0}.function-scroll{max-height:450px;min-height:250px}.option-grid{grid-template-columns:repeat(auto-fill,minmax(116px,1fr))}.option-grid.is-keyboard{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.category-tabs{margin-top:11px}.category-tab{flex:none;padding:6px 8px}.dpi-value-display{margin-bottom:9px;padding:9px 11px}.dpi-number-input{font-size:27px}.stage-rail{display:flex;overflow-x:auto;padding-bottom:3px}.stage-card{min-width:91px;flex:1 0 91px}.chart-legend{display:none}.dpi-chart{margin-top:2px}.indicator-summary{flex-wrap:wrap;gap:9px;padding:12px 13px}.indicator-summary-copy{flex-basis:calc(100% - 50px)}.indicator-summary-action{margin-left:47px}.lighting-stage{min-height:360px}.lighting-stage-rail{display:flex;overflow-x:auto;padding-bottom:3px}.light-stage-chip{min-width:54px;flex:1 0 54px}.lighting-float-chip{bottom:10px;min-width:190px}.polling-hero{min-height:108px;padding:12px}.polling-readout strong{font-size:29px}.polling-bars{height:66px}.segmented{grid-auto-columns:minmax(0,1fr)}.segment{min-height:38px;padding:4px 2px;font-size:9.5px}.segment small{font-size:7px}.calibration-row{gap:8px}.calibration-icon{width:27px;height:27px}.runtime-list,.feature-grid{grid-template-columns:1fr}.feature-card:last-child{grid-column:auto}.macro-list{grid-template-columns:1fr}.macro-editor-head{flex-wrap:wrap;gap:8px}.macro-name-field{flex-basis:100%}.macro-editor-stats{flex:1;order:2}.macro-editor-head>.icon-button{order:3}.macro-toolbar{gap:5px}.macro-mouse-insert{width:100%;margin-left:0;padding:7px 0 0;border-top:1px solid var(--line);border-left:0}.macro-mouse-insert>button{flex:1;justify-content:center}.macro-timeline{max-height:310px}.macro-settings{grid-template-columns:1fr}.macro-assign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.macro-action{flex-wrap:wrap}.macro-action-copy{flex-basis:100px}.macro-action-tools{width:100%;justify-content:flex-end;opacity:1}.delay-field{margin-left:auto}.about-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal-card{max-height:92vh;border-radius:17px}.modal-top{padding:17px 17px 0}.modal-top h2{font-size:16px}.modal-body{padding:13px 17px 17px}.modal-footer{padding:11px 17px 15px}.export-option{flex-wrap:wrap}.export-copy{flex-basis:calc(100% - 50px)}.export-option>.outline-button,.export-option>.ghost-button{margin-left:46px}.about-footer{flex-direction:column;gap:4px}.toast-viewport{right:16px;bottom:15px}.content-footer{flex-direction:column;gap:4px;font-size:8px}}@media(max-width:540px){.stats-grid{grid-template-columns:1fr}.stat-card:nth-child(n+3){display:none}.key-legend{grid-template-columns:1fr}.legend-item:last-child{grid-column:auto}.mouse-panel .mouse-stage{min-height:310px}.selected-key-chip{padding-right:7px}.current-binding{flex-wrap:wrap}.current-binding .mini-action{margin-left:47px}.function-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.function-toolbar .outline-button{margin-left:auto}.xy-inputs{grid-template-columns:1fr}.color-swatches{gap:6px}.brand-subtitle{display:none}.brand-name{font-size:12px}.connection-name{display:none}.connection-pill{min-width:29px;justify-content:center;padding:0 7px}.topbar-actions>.outline-button span{display:none}.topbar-actions>.outline-button{width:32px;min-height:30px;padding:0}.page-header h1{font-size:23px}.content-inner{padding:13px 11px 24px}.panel{padding:15px 13px}.polling-bars{display:none}.polling-hero{justify-content:flex-start}.macro-editor-stats{flex-wrap:wrap;gap:5px;font-size:7.5px}.macro-editor-stats span+span{padding-left:5px}.macro-action-index,.event-pill{display:none}.macro-assign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-status{gap:7px}.record-count{display:none}.modal-footer{justify-content:stretch}.modal-footer>button{flex:1}.export-option>.outline-button,.export-option>.ghost-button{margin-left:0;width:100%}}@media(max-width:390px){.brand-copy,.offline-banner-icon{display:none}.page-eyebrow{font-size:7.5px;letter-spacing:.16em}.category-tab{font-size:8.5px}.macro-assign-grid{grid-template-columns:1fr}}@keyframes page-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes glow-breathe{0%,to{opacity:.7}50%{opacity:1}}@keyframes led-breathe{0%,to{opacity:1}50%{opacity:.32}}@keyframes capture-pulse{0%{box-shadow:0 0 #2ee6c52e}70%{box-shadow:0 0 0 16px #2ee6c500}to{box-shadow:0 0 #2ee6c500}}@media(max-width:760px){.device-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-hero{flex-wrap:wrap}.device-hero-actions{width:100%;justify-content:flex-start}}@media(max-width:540px){.device-info-grid{grid-template-columns:1fr}.device-table{font-size:9px}}@keyframes rec-pulse{0%,to{opacity:1;box-shadow:0 0 0 4px #ff5b6e1a}50%{opacity:.45;box-shadow:0 0 0 7px #ff5b6e0a}}@keyframes polling-bar{0%{transform:scaleY(.82);opacity:.65}to{transform:scaleY(1);opacity:1}}@media(min-width:1121px){.mobile-menu,.sidebar-close{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
