.choose-username-modal{max-width:400px;width:90vw;min-width:0}.modal.box.choose-username-modal{min-width:0;width:90vw;max-width:400px}.choose-username-modal h3{font-size:18px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,#ff8533,#f60);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.choose-username-intro{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--text-dim)}.notification-bell-wrapper{position:relative;display:flex;align-items:center}.notification-bell-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer;transition:all .2s ease;position:relative}.notification-bell-trigger:hover{color:var(--fg-primary);background:#ff660014;border-color:#f603}.notification-bell-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;text-align:center;color:#fff;background:linear-gradient(135deg,#ff8533,#f40);border-radius:8px}.notification-bell-panel{z-index:1000;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-xl, 14px);box-shadow:var(--popup-shadow);animation:settings-fade-in .18s ease}.notification-bell-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:var(--border-width) solid var(--border)}.notification-bell-title{font-size:13px;font-weight:600;color:var(--text)}.notification-bell-header-actions{display:flex;align-items:center;gap:8px}.notification-bell-email-toggle{display:flex;align-items:center;cursor:pointer}.notification-bell-email-toggle:has(.notification-bell-email-checkbox:disabled){cursor:not-allowed;opacity:.6}.notification-bell-email-checkbox{width:16px;height:16px;margin:0;accent-color:var(--fg-primary);cursor:pointer}.notification-bell-email-checkbox:disabled{cursor:not-allowed}.notification-bell-email-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:2px;color:var(--text-dim);transition:color .15s ease}.notification-bell-email-checkbox:checked~.notification-bell-email-icon{color:var(--fg-primary)}.notification-bell-email-error{padding:6px 12px;font-size:11px;color:var(--error, #c33);background:#cc33331a;border-radius:var(--radius-md)}.notification-bell-mark-all{padding:4px 8px;font-size:11px;font-weight:500;color:var(--fg-primary);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.notification-bell-mark-all:hover{background:#ff66001f}.notification-bell-list{overflow-y:auto;padding:4px 0}.notification-bell-empty{padding:24px 16px;font-size:13px;color:var(--text-dim);text-align:center}.notification-bell-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;color:var(--text);transition:background .15s ease;cursor:pointer}.notification-bell-item:hover{background:var(--popup-item-hover)}.notification-bell-item.unread{background:#ff66000a}.notification-bell-item.unread:hover{background:#ff660014}.notification-bell-avatar,.notification-bell-icon{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center}.notification-bell-avatar{border-radius:50%;object-fit:cover}.notification-bell-icon{font-size:16px;font-weight:600;color:var(--fg-primary);background:#ff660026;border-radius:50%}.notification-bell-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-bell-text{font-size:12px;line-height:1.4;color:var(--text)}.notification-bell-inline-link{color:var(--fg-primary);text-decoration:none;font-weight:500}.notification-bell-inline-link:hover{text-decoration:underline}.notification-bell-comment-preview{display:block;font-size:11px;color:var(--text-dim);margin-top:4px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-bell-time{font-size:11px;color:var(--text-dim)}.notification-bell-expand{margin-top:6px}.notification-bell-expand-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:500;color:var(--fg-primary);background:#ff66001a;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.notification-bell-expand-toggle:hover{background:#ff66002e}.notification-bell-expand-list{margin:6px 0 0;padding-left:16px;list-style:disc;font-size:12px;line-height:1.5;color:var(--text)}.notification-bell-expand-list li{margin-top:2px}.notification-bell-expand-list li:first-child{margin-top:0}.notification-bell-footer{padding:8px 12px;border-top:var(--border-width) solid var(--border)}.notification-bell-view-all{display:block;padding:8px 12px;font-size:12px;font-weight:600;color:var(--fg-primary);text-align:center;text-decoration:none;border-radius:var(--radius-md);transition:background .15s ease}.notification-bell-view-all:hover{background:#ff66001a}.settings-wrapper{position:relative;display:flex;align-items:center}.settings-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;min-width:250px;max-width:calc(100vw - 16px);max-height:calc(100vh - 68px);overflow-y:auto;padding:14px;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-xl, 14px);box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0a,0 0 60px #ff66000a;animation:settings-fade-in .18s ease}[data-theme=light] .settings-panel{box-shadow:0 8px 32px #0000001a,0 0 0 1px #0000000a}@keyframes settings-fade-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:linear-gradient(135deg,#ff8533,#f60);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding-bottom:10px;margin-bottom:4px;border-bottom:var(--border-width) solid var(--border)}.settings-group{padding:10px 0}.settings-group+.settings-group{border-top:var(--border-width) solid var(--border)}.settings-label{display:block;font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.settings-toggle-row{display:flex;gap:3px;background:var(--bg-dark);padding:3px;border-radius:8px}.settings-toggle-row--wrap{flex-wrap:wrap}.settings-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-size:11px;font-family:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap}.settings-toggle-btn:hover{color:var(--text);background:#ffffff0a}[data-theme=light] .settings-toggle-btn:hover{background:#0000000a}.settings-toggle-btn.active{background:var(--bg-elevated);color:var(--fg-primary);border-color:#ff660026;box-shadow:0 1px 4px #0003,0 0 8px #ff66000d}.settings-scale-preview{font-size:13px;line-height:1;color:inherit}.settings-slider-wrap{position:relative;padding:0 2px}.settings-scale-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-dark);border-radius:3px;outline:none;cursor:pointer;margin:0;position:relative;z-index:1}.settings-scale-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#ff8533,#f60);border:2px solid var(--bg-mid);cursor:pointer;box-shadow:0 1px 6px #ff660059,0 0 10px #ff66001a;transition:box-shadow .15s}.settings-scale-slider::-webkit-slider-thumb:hover{box-shadow:0 1px 8px #ff660080,0 0 14px #ff660026}.settings-scale-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#ff8533,#f60);border:2px solid var(--bg-mid);cursor:pointer;box-shadow:0 1px 6px #ff660059,0 0 10px #ff66001a}.settings-scale-slider::-moz-range-track{height:6px;background:var(--bg-dark);border-radius:3px;border:none}.settings-slider-notches{display:flex;justify-content:space-between;padding:0 8px;margin-top:-3px;pointer-events:none;position:relative}.settings-slider-notches span{width:2px;height:8px;background:var(--text-dim);border-radius:1px;opacity:.4}.settings-slider-labels{display:flex;justify-content:space-between;padding:0;margin-top:4px}.settings-slider-label{background:none;border:none;padding:2px 0;font-family:inherit;font-size:10px;color:var(--text-dim);cursor:pointer;transition:color .15s;line-height:1;min-width:0;text-align:center}.settings-slider-label:hover{color:var(--text)}.settings-slider-label.active{color:#f60;font-weight:600}.settings-checkbox-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);cursor:pointer;padding:4px 0}.settings-checkbox-row input[type=checkbox]{accent-color:var(--fg-primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.settings-input-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);padding:4px 0}.settings-input-row input[type=number]{width:72px;padding:6px 8px;font-size:13px;font-family:inherit;background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;color:var(--text);-moz-appearance:textfield}.settings-input-row input[type=number]::-webkit-outer-spin-button,.settings-input-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-input-suffix{font-size:12px;color:var(--text-dim)}.settings-hint{font-size:11px;color:var(--text-dim);margin:8px 0 0;line-height:1.4}.settings-hint code{font-size:10px;padding:1px 4px;background:var(--bg-dark);border-radius:4px}.settings-select{width:100%;padding:10px 32px 10px 12px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:13px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.settings-select:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px var(--fg-glow-soft)}.settings-select option{background:var(--bg-dark);color:var(--text)}@media (max-width: 768px){.settings-panel{min-width:0;width:min(320px,calc(100vw - 16px));max-height:calc(100vh - 60px)}.settings-toggle-btn{padding:8px 12px;font-size:12px}}.user-menu-wrapper{position:relative;display:flex;align-items:center}.user-menu-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:2px solid var(--border);border-radius:50%;cursor:pointer;transition:all .2s ease;overflow:hidden}.user-menu-trigger:hover{border-color:var(--fg-primary);box-shadow:0 0 12px #ff660026}.user-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--fg-primary),var(--fg-secondary));color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}.user-menu-panel{z-index:1000;max-height:calc(100vh - 68px);overflow-y:auto;padding:8px;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-xl, 14px);box-shadow:var(--popup-shadow);animation:settings-fade-in .18s ease}.user-menu-header{display:block;padding:8px 10px;position:relative;text-decoration:none;color:inherit;border-radius:var(--radius-md);transition:background .15s ease}.user-menu-header:hover{background:var(--popup-item-hover)}.user-menu-name{font-size:13px;font-weight:600;color:var(--text)}.user-menu-username{font-size:11px;color:var(--text-dim);margin-top:2px}.user-menu-badge{position:absolute;top:8px;right:10px;padding:2px 8px;font-size:9px;font-weight:800;letter-spacing:.1em;background:linear-gradient(135deg,#ff8533,#f40);color:#fff;border-radius:10px}.user-menu-divider{height:1px;background:var(--border);margin:4px 0}.user-menu-settings{padding:4px 2px;min-width:220px}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--radius-md);color:var(--text);font-size:12px;font-family:inherit;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s ease}.user-menu-item:hover{background:var(--popup-item-hover);color:var(--fg-primary)}.user-menu-signout:hover{color:var(--error)}.auth-modal{max-width:400px;width:90vw;min-width:0}.modal.box.auth-modal{min-width:0;width:90vw;max-width:400px}.auth-modal h3{font-size:18px;font-weight:700;margin:0 0 20px;background:linear-gradient(135deg,#ff8533,#f60);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-oauth-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.auth-oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-oauth-btn:hover{border-color:var(--fg-primary);background:#ff66000f}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-field.auth-field-inline{flex-direction:row;align-items:center;gap:10px}.auth-field.auth-field-inline label{flex-shrink:0}.auth-field label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.auth-field input{padding:10px 12px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:border-color .2s ease}.auth-field input:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px var(--fg-glow-soft)}.auth-field input::placeholder{color:var(--text-dim);opacity:.5}.auth-confirmation{text-align:center;padding:8px 0 4px}.auth-confirmation-icon{display:flex;justify-content:center;margin-bottom:16px;color:var(--fg-primary);opacity:.9}.auth-confirmation-icon svg{width:48px;height:48px}.auth-confirmation-title{font-size:20px;font-weight:700;margin:0 0 12px;background:linear-gradient(135deg,#ff8533,#f60);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-confirmation-text{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--text)}.auth-confirmation-text strong{color:var(--text);font-weight:600}.auth-confirmation-text strong:last-of-type{color:var(--fg-primary)}.auth-confirmation-close{width:100%;padding:10px 16px;font-size:14px;font-weight:600}.auth-error{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:var(--error);font-size:12px}.auth-success{padding:8px 12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-sm);color:var(--success);font-size:12px}.auth-submit{margin-top:4px;padding:10px 16px;font-size:14px;font-weight:600}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:16px;text-align:center;font-size:12px;color:var(--text-dim)}.auth-switch button{background:none;border:none;color:var(--fg-primary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-switch button:hover{color:var(--fg-secondary)}.nav{display:flex;align-items:center;justify-content:space-between;padding:0 20px;min-height:52px;height:52px;background:#0009;backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border-bottom:var(--border-width) solid var(--border);position:relative;z-index:50;transition:background .3s ease,border-color .3s ease}.nav:after{content:"";position:absolute;bottom:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,102,0,.3) 30%,rgba(255,102,0,.5) 50%,rgba(255,102,0,.3) 70%,transparent);pointer-events:none}.nav-left{display:flex;align-items:center;gap:20px}.nav-title{font-size:1.9rem;font-weight:700;letter-spacing:-.01em;background:linear-gradient(135deg,#ff8533,#f60 40%,#f40);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;line-height:1.2;padding:2px 0;position:relative;filter:drop-shadow(0 0 12px rgba(255,102,0,.3));transition:filter .2s ease;flex-shrink:0}.nav-title:hover{filter:drop-shadow(0 0 20px rgba(255,102,0,.5))}.nav-title-short{display:none}.nav-links{display:flex;align-items:center;gap:4px}.nav-right{display:flex;align-items:center;gap:12px}.nav-version-btn{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:var(--border-width) solid var(--border);background:#ffffff05;color:var(--text-dim);font-size:11px;font-family:inherit;text-decoration:none;cursor:pointer;transition:all .2s ease}.nav-version-btn:hover{color:var(--text);border-color:#ff660059;background:#ff660014}.nav-link{padding:6px 14px;color:var(--text-dim);text-decoration:none;font-size:12px;font-weight:500;border:1px solid transparent;border-radius:6px;transition:all .2s ease;position:relative}.nav-link:hover{color:var(--text);background:#ffffff0d}.nav-link.active{color:var(--fg-primary);border-color:#f603;background:#ff66000f;box-shadow:0 0 12px #ff660014}.nav-link-editor-expanded{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 14px}.nav-link-editor-label{color:inherit;text-decoration:none;font-weight:500;flex-shrink:0}.nav-link-editor-sep{color:var(--text-dim);font-weight:300;flex-shrink:0}.nav-link-editor-shader{color:inherit;text-decoration:none;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.nav-link-editor-shader:hover{text-decoration:underline}.nav-link-editor-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin:0 -2px 0 2px;border:none;border-radius:4px;background:transparent;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.nav-link-editor-close:hover{color:var(--text);background:#ffffff1a}.nav-link-editor-expanded.active .nav-link-editor-close:hover{background:#ff660026}.nav-signin-btn{padding:8px 22px;background:linear-gradient(135deg,#ff8533,#f60);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;letter-spacing:.02em}.nav-signin-btn:hover{background:linear-gradient(135deg,#ff9a50,#f72);box-shadow:0 0 16px #ff66004d}.nav-signin-btn:active{transform:scale(.97)}[data-theme=light] .nav{background:#ffffffbf;backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8)}[data-theme=light] .nav:after{background:linear-gradient(90deg,transparent,rgba(196,64,0,.2) 30%,rgba(196,64,0,.35) 50%,rgba(196,64,0,.2) 70%,transparent)}[data-theme=light] .nav-title{background:linear-gradient(135deg,#d44800,#c44000 40%,#a33500);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 8px rgba(196,64,0,.2))}[data-theme=light] .nav-link:hover{background:#0000000a}[data-theme=light] .nav-link.active{border-color:#c4400026;background:#c440000f;box-shadow:0 0 12px #c440000d}[data-theme=light] .nav-version-btn{background:#00000005}[data-theme=light] .nav-version-btn:hover{border-color:#c440004d;background:#c4400014}@media (max-width: 768px){.nav{padding:0 12px;min-height:48px;height:48px}.nav-left{gap:10px;min-width:0}.nav-title{font-size:1.15rem;white-space:nowrap}.nav-title-full{display:none}.nav-title-short{display:inline}.nav-links{gap:2px}.nav-link{padding:6px 10px;font-size:11px}.nav-link-editor-shader{max-width:100px}.nav-right{gap:8px}.nav-version-btn{font-size:10px;padding:4px 7px}}@media (max-width: 480px){.nav-title{font-size:1rem}.nav-version-btn{font-size:9px;padding:3px 6px}.nav-right{gap:6px}.nav-signin-btn{padding:6px 14px;font-size:12px}}.shader-editor{flex:1;min-height:200px;border:none;position:relative;display:flex;flex-direction:column}.shader-editor-monaco-wrap{flex:1;min-height:0}.shader-editor-vim-status{flex-shrink:0;min-height:20px;padding:2px 8px;font-size:11px;font-family:var(--font-mono);color:var(--text-dim);background:#0003;border-top:1px solid var(--border)}.shader-editor.inspector{box-shadow:inset 0 0 0 2px #f603,inset 0 0 20px #ff660008}.shader-editor.has-error{box-shadow:inset 0 0 0 2px #ff444480,inset 0 0 24px #ff444414}.shader-editor .monaco-editor .overflowingContentWidgets{overflow:visible!important}.shader-editor .monaco-editor .monaco-hover{max-width:min(400px,85vw)!important;max-height:min(280px,45vh)!important;overflow-x:hidden!important;overflow-y:auto!important;z-index:100!important}.shader-editor .monaco-editor .monaco-hover .monaco-hover-content,.shader-editor .monaco-editor .monaco-hover .hover-contents{overflow-wrap:break-word!important;word-break:break-word!important;max-width:100%!important}.shadertoy-toast{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg-mid);border:1px solid rgba(255,102,0,.3);border-radius:10px;box-shadow:0 6px 24px #00000080,0 0 20px #ff66001a;z-index:50;animation:toast-slide-up .25s ease-out;white-space:nowrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.shadertoy-toast-msg{font-size:12px;color:var(--text);font-weight:500}.shadertoy-toast-btn{padding:5px 12px;border-radius:5px;font-size:11px;font-family:inherit;font-weight:600;cursor:pointer;border:none;transition:all .15s ease}.shadertoy-toast-btn.undo{background:var(--bg-light);color:var(--text);border:var(--border-width) solid var(--border)}.shadertoy-toast-btn.undo:hover{border-color:var(--fg-primary);color:var(--fg-primary)}.shadertoy-toast-btn.dismiss{background:transparent;color:var(--text-dim);padding:5px 6px;font-size:13px;line-height:1}.shadertoy-toast-btn.dismiss:hover{color:var(--text)}.comment-link-hover .monaco-editor .view-line span{cursor:pointer}.inspector-unanalyzable{color:var(--text-dim)!important;opacity:.6}.error-line-highlight{background:#ff44441f!important;border-left:3px solid #ff4444!important}.error-glyph-margin{background:#f44;border-radius:50%;width:8px!important;height:8px!important;margin-top:6px;margin-left:4px}.warning-line-highlight{background:#f59e0b1f!important;border-left:3px solid #f59e0b!important}.monaco-editor.vs-dark .macro-highlight{color:#e8b84c!important}.monaco-editor.vs .macro-highlight{color:#a64d00!important}.comment-ref-highlight{background:#f603!important;border-left:3px solid var(--fg-primary)!important}.comment-anchor-glyph{cursor:pointer}.comment-anchor-glyph:after{content:"";display:block;width:8px;height:8px;margin-top:6px;margin-left:4px;border-radius:50%;background:#60a5fa;box-shadow:0 0 4px #60a5fa66}.comment-anchor-line{background:#60a5fa0f!important}.warning-glyph-margin{background:#f59e0b;border-radius:50%;width:8px!important;height:8px!important;margin-top:6px;margin-left:4px}.condensed-code-preview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg-dark);color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.5;padding:16px;margin:0;overflow:auto;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.instr-hover-tooltip{position:fixed;padding:3px 8px;background:var(--bg-mid);border:1px solid #4488ff;border-radius:4px;font-size:11px;color:#69f;font-weight:600;pointer-events:none;z-index:100;white-space:nowrap;box-shadow:0 2px 8px #0000004d}.frame-time-graph{position:absolute;top:8px;right:8px;z-index:20;border-radius:6px;overflow:hidden;border:1px solid rgba(255,102,0,.15);box-shadow:0 2px 12px #00000080;transition:opacity .15s ease,border-color .15s ease;opacity:.9}.frame-time-graph:hover{opacity:1;border-color:#ff660059}.frame-time-canvas{display:block;cursor:crosshair}.frame-time-graph-fill{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;background:#0000004d;overflow:hidden}.frame-time-graph-fill .frame-time-canvas{display:block;flex:1;min-height:0;width:100%;cursor:crosshair}.frame-time-zoom-controls{display:flex;align-items:center;gap:2px;padding:4px 8px;background:#0006;border-top:1px solid rgba(255,255,255,.04);flex-shrink:0}.frame-time-zoom-sep{width:1px;height:12px;margin:0 4px;background:#ffffff26}.frame-time-zoom-spacer{flex:1;min-width:8px}.frame-time-zoom-btn{padding:2px 8px;border:1px solid transparent;border-radius:3px;background:transparent;color:#fff6;font-size:10px;font-family:var(--font-mono);cursor:pointer;transition:all .12s}.frame-time-zoom-btn:hover{color:#fffc;background:#ffffff0f}.frame-time-zoom-btn.active{color:#f60;border-color:#ff66004d;background:#ff66001a}[data-theme=light] .frame-time-graph-fill{background:#ffffff80}[data-theme=light] .frame-time-zoom-controls{background:#ffffffb3;border-top-color:#00000014}[data-theme=light] .frame-time-zoom-sep{background:#00000026}[data-theme=light] .frame-time-zoom-btn{color:#00000080}[data-theme=light] .frame-time-zoom-btn:hover{color:#000c;background:#0000000f}[data-theme=light] .frame-time-zoom-btn.active{color:#c44000;border-color:#c4400059;background:#c440000f}.shader-viewport{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#000;position:relative;overflow:hidden;cursor:crosshair;touch-action:none}.shader-viewport-inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.shader-viewport-inner.scale-fill .shader-canvas{width:100%;height:100%;object-fit:cover}.shader-viewport-inner.scale-fit .shader-canvas{max-width:100%;max-height:100%;object-fit:contain}.shader-viewport-inner.scale-stretch .shader-canvas{width:100%;height:100%;object-fit:fill}.shader-canvas{display:block}.shader-canvas.interp-linear{image-rendering:auto}.shader-canvas.interp-nearest{image-rendering:pixelated}.shader-viewport-heatmap-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;image-rendering:pixelated}.shader-viewport-display-info{position:absolute;top:8px;left:8px;padding:4px 8px;font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:#ffffffe6;background:#00000080;border-radius:6px;z-index:5;opacity:0;pointer-events:none;transition:opacity .2s ease}.shader-display-wrapper.overlays-visible .shader-viewport-display-info{opacity:1}.shader-viewport-display-info-format{margin-left:6px;padding-left:6px;border-left:1px solid rgba(255,255,255,.35);color:#fffc}.shader-viewport-inspector-hint{position:absolute;bottom:10px;left:10px;padding:5px 10px;background:#000000d9;border:1px solid rgba(255,102,0,.2);border-radius:6px;font-size:11px;color:var(--fg-primary);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 12px #0006}.shader-viewport-inspector-hint code{font-weight:600}.shader-viewport-sampler-preview{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:#000000e6;z-index:20;pointer-events:none}.shader-viewport-sampler-preview-name{position:absolute;bottom:10px;left:10px;font-family:var(--font-mono);font-size:12px;color:var(--accent, #ff6600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 20px);padding:5px 10px;background:#000000d9;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent, #ff6600) 50%,transparent)}.shader-viewport-sampler-preview-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;border:1px solid var(--border, #444);flex:1;min-height:0}.shader-viewport-sampler-preview-img.shader-viewport-sampler-preview-img-1d{height:48px;min-height:48px;max-height:48px;object-fit:fill}.shader-viewport-compare-divider{position:absolute;top:0;bottom:0;width:6px;margin-left:-3px;cursor:col-resize;z-index:10;background:#ff6600d9;box-shadow:0 0 8px #00000080;transition:background .15s;touch-action:none}@media (max-width: 768px){.shader-viewport-compare-divider{width:16px;margin-left:-8px}}.shader-viewport-compare-divider:hover{background:#ff6600f2;box-shadow:0 0 12px #f603}.shader-viewport-compare-divider:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:40px;background:#ff6600e6;border-radius:2px;box-shadow:0 0 4px #00000080}.shader-viewport-compare-label{position:absolute;bottom:10px;padding:5px 10px;background:#000000eb;border:1px solid rgba(255,102,0,.2);border-radius:6px;font-size:11px;color:var(--fg-primary);box-shadow:0 4px 12px #0006}.shader-viewport-compare-label code{font-weight:600}.shader-viewport-compare-left{left:10px}.shader-viewport-compare-right{right:10px}.inspector-value-tooltip{position:fixed;pointer-events:none;z-index:100;padding:8px 10px;background:#000000eb;border:1px solid rgba(255,102,0,.4);border-radius:8px;display:flex;align-items:center;gap:10px;font-size:12px;box-shadow:0 4px 12px #00000080,0 0 20px #ff660014;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:left .06s ease-out,top .06s ease-out,transform .06s ease-out}.inspector-value-values{color:var(--fg-primary);font-variant-numeric:tabular-nums}.inspector-color-swatch{width:24px;height:24px;border-radius:4px;border:1px solid rgba(255,255,255,.3);flex-shrink:0}.inspector-color-values{display:flex;flex-direction:column;gap:2px;color:var(--fg-primary)}.inspector-color-values .inspector-color-rgba{font-size:10px;color:var(--text-dim)}.shader-viewport-context-lost{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:50}.shader-viewport-context-lost-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--fg-primary, #e0e0e0);font-size:14px;text-align:center}.shader-viewport-context-lost-content svg{color:#f60;opacity:.9}.shader-viewport-reload-btn{margin-top:4px;padding:8px 24px;border:1px solid rgba(255,102,0,.5);border-radius:8px;background:#ff66001f;color:#f60;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.shader-viewport-reload-btn:hover{background:#ff660038;border-color:#ff6600b3;box-shadow:0 0 12px #ff660026}.shader-viewport-reload-btn:active{background:#ff66004d}.save-modal{max-width:480px;width:90vw}.modal.box.save-modal{min-width:0;width:90vw;max-width:480px}.save-modal h3{font-size:18px;font-weight:700;margin:0 0 20px;background:linear-gradient(135deg,#ff8533,#f60);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.save-form{display:flex;flex-direction:column;gap:14px}.save-field{display:flex;flex-direction:column;gap:4px}.save-field label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.save-field input,.save-field textarea{padding:10px 12px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:13px;font-family:inherit;outline:none;resize:vertical;transition:border-color .2s ease}.save-field input:focus,.save-field textarea:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px var(--fg-glow-soft)}.save-field input::placeholder,.save-field textarea::placeholder{color:var(--text-dim);opacity:.5}.save-tags-section{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.save-tags-section:last-of-type{margin-bottom:0}.save-tags-label{font-size:10px;font-weight:500;color:var(--text-dim);opacity:.6;text-transform:uppercase;letter-spacing:.05em}.save-tags{display:flex;flex-wrap:wrap;gap:6px}.save-tag{padding:4px 12px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:20px;color:var(--text-dim);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s ease}.save-tag:hover{border-color:var(--fg-primary);color:var(--text)}.save-tag.active{background:#ff66001a;border-color:var(--fg-primary);color:var(--fg-primary)}.save-custom-tag{display:flex;gap:6px;margin-top:6px}.save-custom-tag input{flex:1;padding:6px 10px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:12px;font-family:inherit;outline:none;transition:border-color .2s ease}.save-custom-tag input:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px var(--fg-glow-soft)}.save-custom-tag input::placeholder{color:var(--text-dim);opacity:.5}.save-custom-tag .btn{padding:6px 12px;font-size:11px}.save-custom-tag-wrap{position:relative;margin-top:6px}.save-custom-tag-wrap .save-custom-tag{margin-top:0}.save-profile-search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;max-height:200px;overflow-y:auto;z-index:100}.save-profile-search-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;color:var(--text);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.save-profile-search-item:hover:not(:disabled){background:#ffffff0f}.save-profile-search-item:disabled{opacity:.6;cursor:default}.save-profile-search-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.save-profile-search-name{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-profile-search-username{font-size:12px;color:var(--text-dim);flex-shrink:0}.save-profile-search-added{font-size:11px;color:var(--text-dim);flex-shrink:0}.save-profile-search-loading,.save-profile-search-empty{padding:12px;font-size:12px;color:var(--text-dim)}.save-tag-error{margin-top:4px;font-size:11px;color:var(--error)}.save-visibility{display:flex;flex-wrap:wrap;gap:3px;background:var(--bg-dark);padding:3px;border-radius:8px}.save-vis-btn{flex:1;min-width:70px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-size:12px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .15s ease}.save-vis-btn:hover{color:var(--text);background:#ffffff0a}.save-vis-btn.active{background:var(--bg-elevated);color:var(--fg-primary);border-color:#ff660026}.save-license-select{padding:10px 32px 10px 12px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:13px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.save-license-select:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px var(--fg-glow-soft)}.save-license-select option{background:var(--bg-dark);color:var(--text);padding:8px}.save-license-hint{font-size:11px;color:var(--text-dim);line-height:1.4;margin-top:2px}.save-license-hint a{color:var(--fg-primary);text-decoration:none}.save-license-hint a:hover{text-decoration:underline}.save-error{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:var(--error);font-size:12px}.save-invite-hint{font-size:11px;color:var(--text-dim);margin:0 0 8px}.save-invites-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.save-invite-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:var(--bg-light);border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--text)}.save-invite-remove{padding:0 2px;background:transparent;border:none;color:var(--text-dim);font-size:16px;line-height:1;cursor:pointer;border-radius:2px}.save-invite-remove:hover{color:var(--text);background:#ffffff1a}.save-invite-search{position:relative}.save-invite-input{width:100%;padding:8px 12px;font-size:12px}.save-invite-dropdown{margin-top:4px}.editor{display:flex;flex-direction:column;height:100%}.editor-toolbar{display:flex;align-items:center;padding:8px 16px;background:var(--bg-mid);border-bottom:var(--border-width) solid var(--border);flex-wrap:wrap;gap:8px;position:relative}.toolbar-section{display:flex;align-items:center;gap:8px}.toolbar-divider{width:1px;height:28px;background:var(--border);margin:0 4px;flex-shrink:0}.toolbar-control{display:flex;align-items:center;gap:6px}.toolbar-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn{padding:6px 14px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:6px;color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:6px;color:var(--text-dim);font-size:15px;cursor:pointer;transition:all .2s ease}.btn-icon:hover{border-color:var(--fg-primary);color:var(--fg-primary);background:#ff66000f;box-shadow:0 0 12px #ff66001a}.btn-icon:active{transform:scale(.92);transition-duration:.08s}select{padding:6px 10px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:6px;color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s ease;outline:none}select:hover{border-color:var(--fg-primary);box-shadow:0 0 8px #ff66000f}select:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px #ff66001f,0 0 12px #ff66000f}.uniforms-menu,.display-menu,.record-menu,.format-menu,.time-menu{background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--popup-shadow);padding:4px 0;z-index:1000;overflow:hidden}.uniforms-menu-header,.display-menu-header,.record-menu-header,.format-menu-header,.time-menu-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-primary);border-bottom:var(--border-width) solid var(--border);background:var(--bg-dark)}.uniforms-menu-item:hover,.record-menu-item:hover,.format-menu-toggle:hover{background:var(--popup-item-hover)}.record-menu-divider,.format-menu-divider,.time-menu-divider{height:1px;background:var(--border)}.uniforms-dropdown{position:relative}.uniforms-menu{position:absolute;top:100%;left:0;margin-top:6px;min-width:320px;animation:slide-down .15s ease}.uniforms-menu-item,.record-menu-item,.format-menu-row,.format-menu-toggle,.time-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:12px;color:var(--text);transition:background .1s}.uniforms-menu-item{justify-content:space-between;border-bottom:var(--border-width) solid var(--border)}.uniforms-menu-item:last-child{border-bottom:none}.uniforms-menu-item code{color:var(--fg-primary);font-size:12px}.uniforms-menu-item span{font-family:var(--font-mono)}.code-box{flex:1;display:flex;flex-direction:column;min-height:0;border:var(--border-width) solid var(--border);border-top:none;background:var(--bg-dark);position:relative}.code-box-menus{flex-shrink:0;border-bottom:var(--border-width) solid var(--border);display:flex;flex-direction:column}.code-box-menus-headers{display:flex;flex-direction:row}.code-box-menus-headers .code-box-menu-header{flex:1;min-width:0}.code-box-menus-headers .code-box-menu-header+.code-box-menu-header{border-left:1px solid rgba(255,255,255,.07)}.code-box-menu-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 14px;background:var(--bg-mid);border:none;color:var(--text);font-size:12px;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color .15s,background .15s}.code-box-menu-header:hover{color:var(--fg-primary);background:#ffffff08}.code-box-menu-header-left{display:flex;align-items:center;gap:6px;min-width:0}.code-box-menu-icon{width:1.15em;height:1.15em;flex-shrink:0;opacity:.7}.code-box-menu-header:hover .code-box-menu-icon,.code-box-menu-header[aria-expanded=true] .code-box-menu-icon,.code-box-menu-header-toggle[aria-expanded=true] .code-box-menu-icon{opacity:1;color:var(--fg-primary)}.code-box-menu-chevron{font-size:22px;color:var(--fg-primary)}.code-box-menu-header-with-count{display:flex;align-items:center;gap:0}.code-box-menu-header-toggle{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;padding:0;margin:0;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.code-box-menu-header-with-count .code-box-menu-header-count{margin-left:0}.code-box-menu-header-count{display:inline-flex;align-items:center;gap:5px;margin-left:auto;margin-right:4px;font-size:12px;font-weight:600;color:#fff;background:transparent;border-radius:12px;padding:2px 8px;line-height:1.4;border:none;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.code-box-menu-header-count:hover{background:#ff660040;color:#f60}.code-box-menu-header-count-icon{width:1.1em;height:1.1em;flex-shrink:0}.code-box-menu-body{width:100%;background:var(--bg-dark);border-top:var(--border-width) solid var(--border);overflow:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.code-box-menu-body::-webkit-scrollbar{display:none}.code-box-menu-body-wrapper{flex-shrink:1;display:flex;flex-direction:column;min-height:80px;overflow:hidden;position:relative}.code-box-menu-body-wrapper .code-box-menu-body{flex:1;min-height:0}.uniforms-inline-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:var(--border-width) solid var(--border);flex-shrink:0}.uniforms-add-type-select{padding:4px 8px;min-width:72px;font-size:12px;font-family:var(--font-mono);background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);cursor:pointer}.uniforms-add-type-select:hover{border-color:var(--fg-primary)}.uniforms-add-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:var(--border-width) dashed var(--fg-primary);border-radius:4px;background:transparent;color:var(--fg-primary);font-size:18px;line-height:1;cursor:pointer;transition:color .15s,border-color .15s}.uniforms-add-btn:hover{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff660014}.code-box-menu-body.uniforms-menu-inline{display:flex;flex-direction:column;position:relative;overflow:hidden;padding:0}.code-box-menu-body.uniforms-menu-inline .uniforms-menu-header{border-bottom:var(--border-width) solid var(--border)}.uniforms-menu-item.uniforms-menu-custom{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;text-align:left;width:100%;padding:9px 14px;border-radius:4px;border:none;background:transparent;color:inherit;font:inherit}.uniforms-menu-item.uniforms-menu-custom:hover{background:var(--popup-item-hover)}.uniforms-menu-item.uniforms-menu-custom.active{background:#ff66001f;color:var(--fg-primary)}.uniforms-texture-row{display:flex;align-items:center;gap:6px;flex-shrink:0}.uniforms-sampler-label{font-family:var(--font-mono);font-size:inherit;color:var(--text)}.uniforms-texture-preview{width:20px;height:20px;border-radius:3px;object-fit:contain;background:var(--bg-mid);border:var(--border-width) solid var(--border);flex-shrink:0}.uniforms-texture-preview.uniforms-texture-placeholder{object-fit:none;background:var(--bg-mid)}.uniforms-texture-url{font-size:10px;color:var(--text-dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uniforms-custom-controls{display:flex;flex-wrap:wrap;gap:6px}.uniforms-custom-row{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.uniforms-custom-slider{flex:1;min-width:100px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-mid);border-radius:3px;outline:none}.uniforms-custom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--fg-primary);cursor:pointer;border:none}.uniforms-custom-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--fg-primary);cursor:pointer;border:none}.uniforms-custom-label{font-size:10px;color:var(--text-dim);min-width:12px}.uniforms-custom-input{width:52px;padding:2px 4px;font-size:11px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);font-family:inherit}.tuner-texture-picker{display:flex;flex-direction:column;gap:0;padding:0;-webkit-user-select:text;user-select:text;min-height:0;flex:1}.tuner-texture-content{display:flex;gap:12px;flex:1;min-height:0;align-items:center}.tuner-texture-left{flex-shrink:0;width:140px;display:flex;flex-direction:column;gap:8px;background:var(--bg-dark);z-index:1;border-right:var(--border-width) solid var(--border);box-shadow:2px 0 8px #00000026}.tuner-texture-right{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;align-self:stretch}.tuner-texture-right-scroll{flex:1;min-height:0;overflow:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.tuner-texture-right-scroll::-webkit-scrollbar{display:none}.tuner-sampler-bar{flex-shrink:0;padding:6px 0 0;margin-top:4px;border-top:var(--border-width) solid var(--border);background:var(--bg-dark)}.tuner-sampler-bar.tuner-proc-bar .tuner-proc-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.tuner-sampler-bar.tuner-proc-bar .tuner-proc-row{display:flex;align-items:center;gap:6px}.tuner-texture-preview-row{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:6px;overflow:hidden;width:140px;height:140px;cursor:zoom-in}.tuner-texture-preview-img,.tuner-texture-preview-video{width:100%;height:100%;object-fit:contain;transition:transform .1s ease-out;transform-origin:center center}.tuner-texture-preview-img.tuner-texture-preview-img-1d{object-fit:fill}.tuner-texture-preview-placeholder{color:var(--text-dim);font-size:12px;-webkit-user-select:none;user-select:none}.tuner-texture-clear-btn{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;border:none;background:#000000a6;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:1}.tuner-texture-preview-row:hover .tuner-texture-clear-btn{opacity:1}.tuner-texture-preview-play-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;background:#0009;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;cursor:pointer;z-index:1;transition:background .15s,border-color .15s}.tuner-texture-preview-play-btn:hover{background:#000c;border-color:var(--fg-primary)}.tuner-texture-preview-timeline{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);z-index:1}.tuner-texture-preview-timeline-row{display:flex;align-items:center;gap:6px}.tuner-texture-preview-mute-btn{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:12px;background:transparent;border:none;color:#ffffffe6;cursor:pointer;border-radius:4px;flex-shrink:0}.tuner-texture-preview-mute-btn:hover{background:#fff3}.tuner-texture-preview-timeline .tuner-video-time{font-size:10px;color:#ffffffe6}.tuner-texture-preview-timeline .tuner-video-seek{height:4px;background:#ffffff4d}.tuner-texture-preview-timeline .tuner-video-seek::-webkit-slider-thumb{width:10px;height:10px}.tuner-texture-preview-timeline .tuner-video-seek::-moz-range-thumb{width:10px;height:10px}.tuner-texture-zoom-badge{position:absolute;bottom:4px;right:4px;padding:1px 5px;font-size:10px;background:#0009;color:#fff;border-radius:3px;pointer-events:none;z-index:1}.tuner-texture-dims{display:block;min-height:1.2em;font-size:10px;color:var(--text-dim);text-align:center;font-variant-numeric:tabular-nums}.tuner-sampler-options{display:flex;flex-direction:column;gap:8px}.tuner-sampler-option{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--text-dim);cursor:pointer}.tuner-sampler-option input[type=checkbox]{accent-color:var(--fg-primary);width:14px;height:14px;cursor:pointer}.tuner-sampler-option .tuner-proc-select{max-width:84px}.tuner-video-timeline{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.tuner-video-timeline-controls{display:flex;align-items:center;gap:8px}.tuner-video-play-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);cursor:pointer}.tuner-video-play-btn:hover{background:var(--bg-hover);border-color:var(--fg-primary)}.tuner-video-time{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-dim)}.tuner-video-seek{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-dark);border-radius:3px;cursor:pointer}.tuner-video-seek::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--fg-primary);cursor:pointer}.tuner-video-seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--fg-primary);cursor:pointer;border:none}.tuner-texture-credit{font-size:10px;color:var(--text-dim)}.tuner-proc-controls{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center}.tuner-proc-row{display:flex;align-items:center;gap:6px}.tuner-proc-label{font-size:11px;color:var(--text-dim);min-width:48px;flex-shrink:0}.tuner-proc-input{width:52px;padding:3px 6px;font-size:11px;font-family:inherit;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);-moz-appearance:textfield}.tuner-proc-input::-webkit-inner-spin-button,.tuner-proc-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tuner-proc-input:focus{outline:none;border-color:var(--fg-primary)}.tuner-proc-select{padding:3px 6px;font-size:11px;font-family:inherit;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;min-width:52px}.tuner-proc-select:focus{outline:none;border-color:var(--fg-primary)}.tuner-proc-select option{background:var(--bg-dark);color:var(--text)}.tuner-proc-bar .tuner-proc-row:has(.tuner-proc-slider){flex:1 1 100%;min-width:140px}.tuner-proc-row .tuner-proc-slider{flex:1 1 0;min-width:48px}.tuner-proc-row .tuner-proc-input.tuner-range-input{width:52px;padding:3px 6px;font-size:11px}.tuner-texture-tabs{display:flex;gap:4px;min-width:0;overflow-x:auto;padding:2px 0 4px;margin-top:0;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.tuner-texture-tabs::-webkit-scrollbar{display:none}.tuner-texture-tab{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .12s,border-color .12s,background .12s}.tuner-texture-tab:hover{color:var(--text);background:var(--bg-mid)}.tuner-texture-tab.active{color:var(--fg-primary);border-color:#ff66004d;background:#ff660014}.tuner-texture-tab-icon{font-size:12px;line-height:1}.tuner-texture-tab-label{font-size:11px}.tuner-texture-tabs-wrap{position:relative;min-width:0}.tuner-texture-tabs-measure{position:absolute;left:-9999px;visibility:hidden;pointer-events:none}.tuner-texture-tabs-measure .tuner-texture-tab{cursor:default}.tuner-texture-tabs.cramped .tuner-texture-tab:not(.active) .tuner-texture-tab-label{display:none}.tuner-texture-tabs.cramped .tuner-texture-tab:not(.active){padding:4px 6px}.tuner-texture-tabs.cramped .tuner-texture-tab.active{padding:4px 8px}.tuner-texture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px}.tuner-texture-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.tuner-texture-item:hover{border-color:var(--fg-primary);background:var(--bg-mid);box-shadow:0 0 0 1px #ff660026}.tuner-texture-item:focus-visible{outline:2px solid var(--fg-primary);outline-offset:1px}.tuner-texture-thumb{width:48px;height:48px;object-fit:cover;border-radius:3px;background:var(--bg-mid)}.tuner-texture-thumb.tuner-texture-thumb-1d{object-fit:fill}.tuner-texture-thumb.tuner-texture-thumb-equirect{object-fit:cover}.tuner-texture-preview-img.tuner-texture-preview-equirect{object-fit:contain;max-height:100%}.tuner-texture-thumb-video{display:block;pointer-events:none}.tuner-texture-label{font-size:10px;color:var(--text-dim);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tuner-builtin-section,.tuner-custom-section{padding:8px;margin-bottom:6px;border-bottom:var(--border-width) solid var(--border)}.tuner-builtin-section:last-child,.tuner-custom-section:last-child{border-bottom:none}.tuner-builtin-section .tuner-uniform-row{cursor:default}.tuner-builtin-section .tuner-uniform-row:hover{background:transparent}.tuner-builtin-label,.tuner-custom-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.tuner-section-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:0;margin-bottom:6px;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left}.tuner-section-toggle:hover{color:var(--accent)}.tuner-section-chevron{font-size:10px;opacity:.8}.tuner-builtin-section.collapsed .tuner-section-toggle{margin-bottom:0}.tuner-builtin-row,.tuner-uniform-row-builtin,.tuner-uniform-row-custom{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:12px}.tuner-builtin-row .tuner-uniform-name,.tuner-uniform-row-builtin .tuner-uniform-name,.tuner-uniform-row-custom .tuner-uniform-name{font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tuner-uniform-thumb{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:4px;object-fit:contain;border:var(--border-width) solid var(--border);flex-shrink:0}.tuner-uniform-thumb.tuner-uniform-thumb-1d{object-fit:fill}.tuner-uniform-value-wrap video.tuner-uniform-thumb{display:block}.tuner-uniform-value-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0;min-width:0;margin-left:auto}.tuner-uniform-value-wrap .tuner-builtin-value{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tuner-builtin-value,.tuner-uniform-row-builtin .tuner-builtin-value,.tuner-uniform-row-custom .tuner-builtin-value{font-size:12px;color:var(--text-dim);font-family:var(--font-mono)}.tuner-uniform-row-unused .tuner-uniform-name,.tuner-uniform-row-unused .tuner-builtin-value{opacity:.45}.tuner-builtin-section .tuner-uniform-value-wrap{margin-left:auto}.tuner-custom-section .tuner-uniform-value-wrap{flex:1;min-width:0}.tuner-uniforms-list{display:flex;flex-direction:column;gap:1px;flex:1;min-height:0;overflow-y:auto}.tuner-uniform-row{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;font-size:12px;text-align:left;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text)}.tuner-uniform-row-custom:hover{background:var(--bg-hover)}.tuner-uniform-row-custom:not(.tuner-uniform-row-texture){cursor:default}.tuner-uniform-row.active{background:var(--bg-hover);color:var(--accent)}.tuner-uniform-name{font-family:var(--font-mono);font-size:11px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .1s}.tuner-uniform-name-clickable{cursor:pointer}.tuner-uniform-row-custom:hover .tuner-uniform-name{color:var(--fg-primary)}.tuner-uniform-type{font-size:10px;color:var(--text-dim);flex-shrink:0;white-space:nowrap}.tuner-uniform-row-texture{cursor:pointer}.tuner-uniform-row-preview-hover{background:color-mix(in srgb,var(--accent, #ff6600) 12%,var(--bg-hover, transparent))!important}.tuner-uniform-row-preview-hover .tuner-uniform-name{color:var(--accent, #ff6600)!important}.tuner-uniform-row-preview-hover .tuner-uniform-thumb{border-color:var(--accent, #ff6600);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #ff6600) 30%,transparent)}.tuner-uniform-inline-controls{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.tuner-slider-tooltip{position:fixed;z-index:10000;pointer-events:none;background:var(--bg-dark, #1e1e1e);color:var(--text, #ddd);border:1px solid var(--border, #444);border-radius:4px;padding:2px 6px;font-family:var(--font-mono);font-size:10px;white-space:nowrap;transform:translate(-50%);box-shadow:0 2px 8px #0006}.tuner-bool-toggle-inline{min-width:72px;min-height:24px;padding:1px}.tuner-bool-toggle-inline .tuner-bool-toggle-option{font-size:9px;padding:2px 4px}.tuner-inline-color-wrap{position:relative;display:flex;align-items:center}.tuner-inline-color-input{position:absolute;width:24px;height:24px;opacity:0;cursor:pointer}.tuner-inline-color-swatch{width:24px;height:24px;min-width:24px;border-radius:4px;border:var(--border-width) solid var(--border);cursor:pointer}.tuner-inline-slider{flex:1 1 0;min-width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-light);border-radius:2px;cursor:pointer}.tuner-inline-slider::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:var(--fg-primary);border-radius:50%;cursor:pointer}.tuner-inline-slider::-moz-range-thumb{width:10px;height:10px;background:var(--fg-primary);border-radius:50%;cursor:pointer;border:none}.tuner-inline-bvec{display:flex;align-items:center;gap:4px}.tuner-inline-bvec-label{display:flex;align-items:center;gap:2px;font-size:10px;cursor:pointer;color:var(--text-dim)}.tuner-inline-bvec-label input{width:12px;height:12px;cursor:pointer}.tuner-inline-slider-label{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.tuner-inline-slider-label .tuner-label{font-size:9px;min-width:10px;color:var(--text-dim)}.tuner-inline-vec-sliders{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.tuner-inline-slider-vec{flex:1 1 0;min-width:56px}.tuner-uniform-expand-btn{flex-shrink:0;width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-dim)}.tuner-uniform-expand-btn:hover{background:var(--bg-hover);color:var(--accent)}.tuner-uniform-value{font-size:11px;color:var(--text-dim);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uniforms-custom-input:focus{outline:none;border-color:var(--fg-primary)}.uniforms-custom-range-row{display:flex;align-items:center;gap:4px;margin-top:2px;padding-top:4px;border-top:var(--border-width) solid var(--border);width:100%}.uniforms-custom-range-input{width:40px}.uniforms-custom-range-sep{font-size:10px;color:var(--text-dim)}.code-box-menu-body.library-inline{display:flex;flex-direction:column;position:relative;overflow:hidden;container-type:inline-size;container-name:library-panel}.code-box-menu-body.library-inline:after,.code-box-menu-body.uniforms-menu-inline:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:48px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.015) 25%,rgba(255,255,255,.03) 50%,var(--bg-dark) 85%);pointer-events:none;z-index:1}.library-inline-header{display:flex;gap:6px;align-items:center;padding:5px 8px;border-bottom:var(--border-width) solid var(--border);flex-shrink:0}.library-inline-header .library-search{flex:1;min-width:0;padding:4px 8px;font-size:11px}.library-inline-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.library-inline-body .library-content-area{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}.library-inline-body .library-sidebar{width:110px;min-width:110px;flex-shrink:0;align-self:stretch;padding:4px 0;overflow-y:auto;border-right:var(--border-width) solid var(--border)}.library-cat-btn{display:block;width:100%;padding:4px 10px;font-size:10px;text-align:left;background:transparent;border:none;color:var(--text-dim);cursor:pointer;transition:all .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.library-cat-btn:hover{color:var(--text);background:#ffffff0a}.library-cat-btn.active{color:var(--fg-primary);background:#ff660014;font-weight:600}.library-inline-body .library-content{flex:1;min-height:0;overflow-y:auto;padding:3px 6px 6px}.library-snippets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px}.library-inline-body .library-snippet{display:flex;flex-direction:column;border-radius:var(--radius-md);border:var(--border-width) solid var(--border);padding:4px 8px 6px;background:#ffffff05;transition:background .1s;gap:2px;min-height:0}.library-inline-body .library-snippet:hover{background:#ffffff0d}.library-snippet-top{display:flex;align-items:center;gap:4px}.library-snippet-top .library-snippet-name{flex:1;min-width:0;font-size:11px;font-weight:600;line-height:1.2}.library-snippet-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.library-snippet-author-row{display:flex;align-items:baseline;gap:4px;min-width:0}.library-snippet-meta .library-snippet-author{font-size:10px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.library-snippet-meta .library-snippet-desc{min-width:0}.library-inline-body .library-snippet-desc{display:flex;align-items:flex-start;gap:4px;min-width:0;font-size:10px;color:var(--text-dim);line-height:1.35}.library-snippet-desc-text{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-width:0;white-space:normal}.library-snippet-desc-show{flex-shrink:0;background:none;border:none;padding:0;font:inherit;font-size:10px;color:var(--fg-primary);cursor:pointer;white-space:nowrap;opacity:.8}.library-snippet-desc-show:hover{opacity:1;text-decoration:underline}.library-snippet-bottom{display:flex;align-items:center;gap:3px;margin-top:auto;min-width:0;flex-wrap:wrap}.library-snippet-bottom .library-option-select{width:auto;min-width:0;max-width:120px;padding:1px 4px;font-size:10px;height:18px;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.library-snippet-actions-spacer{flex:1;min-width:0}.library-snippet-bottom .library-action-btn,.library-snippet-bottom .library-upvote-btn,.library-snippet-bottom .library-add-btn{flex-shrink:0}.library-remove-btn{font-size:14px!important;padding:0 4px!important;line-height:1;opacity:.4;transition:opacity .15s}.library-remove-btn:hover{opacity:1}.library-add-btn{flex-shrink:0}.library-snippet-added{opacity:.55}.library-snippet-added:hover{opacity:.8}.library-added-badge{flex-shrink:0;font-size:10px;font-weight:600;min-width:40px;padding:1px 6px;border-radius:var(--radius-md);background:#ffffff0f;color:var(--text-dim);pointer-events:none;border:none;cursor:default;text-align:center}.library-added-badge.removable{pointer-events:auto;cursor:pointer;position:relative}.library-added-badge.removable .library-added-badge-remove{display:none;font-size:10px;line-height:1;font-weight:600;color:var(--error, #e55)}.library-added-badge.removable:hover{background:#ff50501f;color:var(--error, #e55)}.library-added-badge.removable:hover .library-added-badge-label{display:none}.library-added-badge.removable:hover .library-added-badge-remove{display:inline}.library-snippet-opt-author{flex-shrink:0;font-size:10px;color:var(--text-dim);opacity:.7;white-space:nowrap}.library-tab-bar{display:flex;gap:0;flex-shrink:0}.library-tab-btn{padding:4px 10px;font-size:11px;font-weight:600;border:var(--border-width) solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s ease;white-space:nowrap}.library-tab-btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none}.library-tab-btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.library-tab-btn.active{background:var(--fg-primary);color:var(--bg-dark);border-color:var(--fg-primary)}.library-tab-btn:not(.active):hover{color:var(--text);background:#ffffff0a}.library-header-actions{display:flex;gap:6px;align-items:center;flex:1;min-width:0}.library-save-snippet-btn{flex-shrink:0;font-size:11px;padding:4px 8px}.library-inline-header{flex-wrap:wrap}.library-save-form-full{display:flex;flex-direction:column;gap:5px;padding:8px 10px;flex:1;min-height:0;overflow-y:auto}.library-save-form-title{font-size:12px;font-weight:700;color:var(--text);line-height:1.2}.library-save-input{width:100%;padding:4px 8px;font-size:11px;color:var(--text);background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);line-height:1.3}.library-save-input:focus{outline:none;border-color:var(--fg-primary)}.library-save-textarea{width:100%;padding:5px 8px;font-size:11px;font-family:var(--font-mono);color:var(--text);background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);resize:vertical;flex:1;min-height:60px;line-height:1.35}.library-save-textarea:focus{outline:none;border-color:var(--fg-primary)}.library-save-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.library-save-select{padding:3px 6px;font-size:11px;background:var(--bg-light);color:var(--text);border:var(--border-width) solid var(--border);border-radius:var(--radius-md)}.library-save-toggle{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-dim);cursor:pointer}.library-save-toggle input[type=checkbox]{accent-color:var(--fg-primary);width:13px;height:13px}.library-save-form-actions{display:flex;gap:6px;justify-content:flex-end;flex-shrink:0}.library-save-form-actions .btn{padding:4px 12px;font-size:11px}.library-save-options-list{display:flex;flex-direction:column;gap:5px;flex:1;min-height:0;overflow-y:auto}.library-save-option-item{display:flex;flex-direction:column;gap:3px;border:var(--border-width) solid var(--border);border-radius:var(--radius-md);padding:5px 6px;background:#ffffff04}.library-save-option-header{display:flex;gap:4px;align-items:center}.library-save-option-label{flex:1;min-width:0}.library-save-option-remove{flex-shrink:0;font-size:14px!important;padding:0 5px!important;line-height:1;height:20px;min-height:20px;opacity:.5}.library-save-option-remove:hover{opacity:1}.library-save-option-code{min-height:40px;flex:0 0 auto;resize:vertical}.library-save-add-option{align-self:flex-start;font-size:10px;padding:3px 8px}.library-snippet-author.official{color:var(--fg-primary);font-weight:600}.library-snippet-author-btn{background:none;border:none;padding:0;font:inherit;font-size:11px;color:var(--text-dim);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.library-snippet-author-btn:hover{color:var(--fg-primary);text-decoration:underline}.library-snippet-author-btn.official{color:var(--fg-primary);font-weight:600}.library-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 5px;font-size:9px;height:18px;min-height:18px;line-height:1;white-space:nowrap}.library-upvote-btn{display:flex;align-items:center;gap:2px;padding:1px 4px;font-size:9px;font-weight:600;background:transparent;border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer;transition:all .15s ease;height:18px}.library-upvote-btn:hover{color:var(--fg-primary);border-color:var(--fg-primary)}.library-upvote-btn.active{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff660014}.library-upvote-count{font-variant-numeric:tabular-nums}@container library-panel (max-width: 500px){.library-inline-body .library-content-area{flex-direction:column}.library-inline-body .library-sidebar{width:100%;min-width:0;flex-shrink:0;align-self:auto;padding:4px 6px;border-right:none;border-bottom:var(--border-width) solid var(--border);display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.library-inline-body .library-sidebar::-webkit-scrollbar{display:none}.library-inline-body .library-sidebar .library-cat-btn{width:auto;padding:4px 10px;flex:0 0 auto}.library-snippets-grid{grid-template-columns:1fr}.library-inline-header{padding:6px 8px;gap:6px}.library-tab-btn{padding:5px 10px;font-size:11px}}@container library-panel (min-width: 501px) and (max-width: 650px){.library-snippets-grid{grid-template-columns:1fr}}.pass-tab-badge{font-size:10px;padding:2px 6px;background:var(--bg-light);border-radius:10px;color:var(--text-dim);margin-left:4px}.history-tab-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.history-tab-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:var(--border-width) solid var(--border);flex-shrink:0;flex-wrap:wrap}.history-tab-hint{font-size:11px;color:var(--text-dim);flex:1;min-width:0}.history-tab-actions{display:flex;gap:8px;flex-shrink:0}.history-tab-body{flex:1;min-height:0;overflow:auto}.history-tab-empty{padding:24px 12px;text-align:center;color:var(--text-dim);font-size:12px}.history-tab-list{padding:8px 12px;display:flex;flex-direction:column;gap:8px}.code-box .shader-editor{flex:1;min-height:120px}.editor-content{flex:1;display:flex;flex-direction:row;min-height:0}.editor-content.layout-swapped{flex-direction:row-reverse}.editor-content.vertical-layout.layout-swapped{flex-direction:column}.editor-panel{display:flex;flex-direction:column;min-width:0;min-height:0}.editor-left{overflow:hidden}.editor-right{flex:1;overflow:hidden}.resize-handle{width:4px;cursor:col-resize;background:var(--border-subtle);flex-shrink:0;position:relative;z-index:10;transition:all .2s ease;touch-action:none}.resize-handle:hover{background:var(--fg-primary);box-shadow:0 0 8px #ff66004d}.resize-handle:active{background:var(--fg-primary);box-shadow:0 0 16px #ff660080}.shader-display-wrapper{display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.shader-fps-overlay{position:absolute;top:8px;right:8px;padding:4px 8px;font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:#ffffffe6;background:#00000080;border-radius:6px;z-index:5;opacity:0;pointer-events:none;transition:opacity .2s ease}.shader-fps-overlay.fps-below-cap{color:#f44}.shader-display-wrapper.overlays-visible .shader-fps-overlay{opacity:1}.shader-timeline-overlay{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:5}.shader-display-wrapper.overlays-visible .shader-timeline-overlay{opacity:1;pointer-events:auto}.shader-timeline-overlay .viewport-timeline{background:#00000080;border:none;border-radius:8px;width:100%;padding:0}.shader-timeline-overlay .timeline-play-reset-group{display:flex;align-items:center;gap:0}.shader-timeline-overlay .timeline-play-reset-group .btn-icon:first-child{border-radius:6px 0 0 6px}.shader-timeline-overlay .timeline-play-reset-group .btn-icon:last-child{border-radius:0 6px 6px 0}.shader-timeline-overlay .btn-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:none;color:#ffffffe6;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;font-size:16px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.5)}.shader-timeline-overlay .btn-icon:hover,.shader-timeline-overlay .btn-icon:focus,.shader-timeline-overlay .btn-icon:focus-visible{background:#ffffff26;color:#fff;border:none;box-shadow:none}.shader-timeline-overlay .btn-icon:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.shader-timeline-overlay .time-checkpoint{align-self:center}.shader-timeline-overlay .timeline-time-btn{background:transparent;border:none;border-radius:6px;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5);padding:0 10px;height:36px;min-height:36px;display:flex;align-items:center;cursor:pointer;transition:background .15s ease,color .15s ease}.shader-timeline-overlay .timeline-time-btn:hover,.shader-timeline-overlay .timeline-time-btn.active,.shader-timeline-overlay .timeline-time-btn:focus,.shader-timeline-overlay .timeline-time-btn:focus-visible{background:#ffffff26;color:#fff;box-shadow:none}.shader-timeline-overlay .timeline-time-btn:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.shader-timeline-overlay .timeline-slider{align-self:center;background:#fff3}.shader-timeline-overlay .timeline-slider::-webkit-slider-thumb{background:#fff;border:none;box-shadow:0 1px 4px #0000004d}.shader-timeline-overlay .timeline-slider::-webkit-slider-thumb:hover{box-shadow:0 1px 6px #0006}.shader-timeline-overlay .timeline-slider::-moz-range-thumb{background:#fff;border:none;box-shadow:0 1px 4px #0000004d}.viewport-resize-handle{height:6px;cursor:row-resize;background:var(--border-subtle);flex-shrink:0;position:relative;z-index:10;transition:all .2s ease;touch-action:none}.viewport-resize-handle:hover{background:var(--fg-primary);box-shadow:0 0 8px #ff66004d}.viewport-resize-handle:active{background:var(--fg-primary);box-shadow:0 0 16px #ff660080}.menu-panel-resize-handle{height:6px;cursor:row-resize;background:var(--border-subtle);flex-shrink:0;position:relative;z-index:10;transition:all .2s ease;touch-action:none}.menu-panel-resize-handle:hover{background:var(--fg-primary);box-shadow:0 0 8px #ff66004d}.menu-panel-resize-handle:active{background:var(--fg-primary);box-shadow:0 0 16px #ff660080}.viewport-controls-wrapper{display:flex;flex-direction:column;min-height:0;overflow:visible;position:relative;z-index:20}.editor-content.vertical-layout{flex-direction:column-reverse}.editor-content.vertical-layout .editor-panel{width:100%!important;min-height:0}.editor-content.vertical-layout>.resize-handle{width:100%;height:10px;cursor:row-resize;touch-action:none}@media (max-width: 768px){.resize-handle,.viewport-resize-handle,.menu-panel-resize-handle{height:6px;touch-action:none}.editor-content.vertical-layout>.resize-handle{height:6px}.shader-title-bar{padding:3px 8px;gap:3px;min-height:26px;flex-wrap:wrap}.shader-title-display,.shader-title-input{font-size:12px}.shader-title-actions{gap:3px}.shader-title-action-btn,.shader-title-save-btn{padding:3px 6px!important;font-size:11px!important;min-height:26px!important;gap:2px}.shader-title-actions.cramped .shader-title-action-btn,.shader-title-actions.cramped .shader-title-save-btn{padding-left:4px;padding-right:4px}.editor-toolbar{padding:4px 8px;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.toolbar-section{flex-shrink:0;gap:4px}.toolbar-divider{height:22px;margin:0 2px}.panel-footer{padding:2px 6px;gap:6px;flex-wrap:wrap;font-size:10px;min-height:24px}.panel-footer-actions{margin-left:auto;padding-left:6px;border-left:none;gap:4px}.panel-footer-actions .format-dropdown>.btn{padding:2px 5px;font-size:10px}.panel-footer-actions .format-opts-toggle{padding:2px 6px!important;font-size:10px!important}.footer-compile-group .footer-compile-auto{padding:0 3px}.footer-compile-group .footer-compile-btn{padding:2px 6px;font-size:10px}.panel-footer .btn-sm{min-height:22px}.viewport-controls{padding:4px 8px;gap:4px;flex-wrap:nowrap}.viewport-timeline{padding:4px 8px;gap:4px;flex-wrap:wrap}.btn-icon{width:36px;height:36px;min-width:36px;font-size:14px}.btn{min-height:30px;padding:5px 10px}.btn-sm{min-height:26px;padding:3px 6px}.viewport-dims-btn,.timeline-time-btn,.record-btn,.settings-btn{min-height:34px;height:34px}.settings-btn,.record-btn{width:34px;min-width:34px}.pass-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:1px}.pass-tab,.pass-tab-rename-input{padding:6px 10px;font-size:12px;white-space:nowrap}.pass-tab-delete{padding:5px 6px;font-size:13px}.pass-tab-settings{padding:4px 5px}.pass-tab.add{min-width:32px}.pass-tab.pass-tab-new{min-width:28px;padding:5px 6px;font-size:15px}.code-box-menus-headers{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.code-box-menu-header{min-width:0;min-height:26px;padding:4px 8px;font-size:11px}.inspector-header-toggle{min-height:36px;padding:6px 10px}.inspector-mode-btn{padding:4px 8px;font-size:11px;min-height:26px}.inspector-controls{padding:4px 8px;gap:4px}.inspector-curve-canvas{touch-action:none}.inspector-submode-tab{padding:5px 8px;min-height:30px}.inspector-submode-inline{gap:1px;padding:1px}.inspector-submode-inline .inspector-submode-tab{height:30px;padding:0 8px;font-size:10px}.inspector-error-check{padding:5px 8px;width:100px;min-width:100px}.tuner-plot-pad{touch-action:none;min-height:70px}.tuner-tuner{height:5px}.tuner-tuner::-webkit-slider-thumb{width:16px;height:16px}.tuner-tuner::-moz-range-thumb{width:16px;height:16px}.tuner-bool-toggle{min-height:34px}.tuner-mode-toggle{min-height:40px;padding:6px 10px}.timeline-slider{height:4px}.timeline-slider::-webkit-slider-thumb{width:14px;height:14px;border-width:1px}.timeline-slider::-moz-range-thumb{width:14px;height:14px;border-width:1px}.uniforms-custom-slider{height:5px}.uniforms-custom-slider::-webkit-slider-thumb{width:12px;height:12px}.uniforms-custom-slider::-moz-range-thumb{width:12px;height:12px}.inspector-highlight-out-of-range input,.inspector-range-animation input,.inspector-compare-mode input,.inspector-channel-toggle input,.format-menu-toggle input[type=checkbox]{width:16px;height:16px}.footer-compile-auto input[type=checkbox]{width:10px;height:10px}.fullscreen-exit-btn{width:40px;height:40px;font-size:18px}}@media (max-width: 480px){.panel-header{padding:2px 4px 0}.pass-tab,.pass-tab-rename-input{padding:4px 6px;font-size:10px}.pass-tab.add{min-width:24px;padding:4px 6px}.pass-tab.pass-tab-new{min-width:22px;padding:4px 6px;font-size:13px}.pass-tab-delete{padding:4px 6px;font-size:13px}.pass-tab-settings{padding:3px 4px}.pass-tab-settings svg{width:10px;height:10px}.panel-footer{padding:2px 4px;font-size:9px;gap:4px;min-height:20px}.panel-footer-actions .format-dropdown>.btn{padding:2px 4px;font-size:9px}.panel-footer-actions .format-opts-toggle{padding:2px 4px!important;font-size:9px!important}.footer-compile-group .footer-compile-auto{padding:0 2px}.footer-compile-group .footer-compile-btn{padding:2px 4px;font-size:9px}.footer-compile-auto input[type=checkbox]{width:8px;height:8px}.panel-footer .btn-sm{min-height:18px}.footer-instr-count{display:none}.viewport-controls,.viewport-timeline{padding:2px 4px;gap:2px}.code-box-menu-header{padding:3px 6px;font-size:10px;min-height:20px}.shader-title-bar{padding:2px 4px;gap:2px;min-height:20px}.shader-title-display{font-size:11px}.shader-title-actions{gap:2px}.shader-title-action-btn,.shader-title-save-btn{padding:2px 4px!important;font-size:10px!important;min-height:20px!important}.shader-title-actions.cramped .shader-title-action-btn,.shader-title-actions.cramped .shader-title-save-btn{padding-left:3px;padding-right:3px}.editor-toolbar{padding:3px 6px;gap:3px}.btn{min-height:28px;padding:4px 8px}.btn-sm{min-height:24px;padding:2px 5px}.inspector-header-toggle{min-height:32px;padding:5px 8px}.inspector-mode-btn{padding:3px 6px;min-height:24px}.inspector-controls{padding:3px 6px;gap:3px}.inspector-submode-tab{padding:4px 6px;min-height:28px}.inspector-submode-inline .inspector-submode-tab{height:28px;padding:0 6px}.tuner-mode-toggle{min-height:36px;padding:5px 8px}.resize-handle,.viewport-resize-handle,.menu-panel-resize-handle{height:5px}.editor-content.vertical-layout>.resize-handle{height:5px}.tuner-tuner{height:4px}.tuner-tuner::-webkit-slider-thumb{width:14px;height:14px}.tuner-tuner::-moz-range-thumb{width:14px;height:14px}.timeline-slider{height:3px}.timeline-slider::-webkit-slider-thumb{width:12px;height:12px;border-width:1px}.timeline-slider::-moz-range-thumb{width:12px;height:12px;border-width:1px}.uniforms-custom-slider{height:4px}.uniforms-custom-slider::-webkit-slider-thumb{width:10px;height:10px}.uniforms-custom-slider::-moz-range-thumb{width:10px;height:10px}}.shader-title-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 14px;background:var(--bg-mid);border-bottom:var(--border-width) solid var(--border);flex-shrink:0;min-height:36px}.shader-title-area{flex:1 1 0;min-width:0;display:flex;align-items:center}.shader-title-stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}.shader-title-display{display:flex;align-items:center;gap:8px;padding:4px 8px;margin:-4px -8px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;max-width:100%;min-width:0}.shader-title-display:hover{background:#ffffff0a;border-color:var(--border)}.shader-title-display:hover .shader-title-edit-icon{opacity:1}.shader-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shader-title-unsaved-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--warning, #f59e0b);margin-left:6px}.shader-title-edit-icon{flex-shrink:0;opacity:0;color:var(--text-dim);transition:opacity .15s ease;display:flex;align-items:center}.shader-title-author{font-size:12px;color:var(--text-dim);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color .15s ease}.shader-title-author:hover{color:var(--fg-primary)}.shader-title-author-wrap{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.shader-title-follow-btn{padding:2px 8px;font-size:11px;background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--text-dim);cursor:pointer;transition:all .15s ease}.shader-title-follow-btn:hover:not(:disabled){color:var(--fg-primary);border-color:#f606;background:#ff660014}.shader-title-follow-btn.following{color:var(--text-dim);border-color:var(--border)}.shader-title-follow-btn.following:hover:not(:disabled){color:#f87171;border-color:#f8717166;background:#f8717114}.shader-title-follow-btn:disabled{opacity:.6;cursor:default}.shader-title-like-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;margin-right:4px;background:transparent;border:var(--border-width) solid var(--border);border-radius:14px;color:var(--text-dim);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s ease;flex-shrink:0;white-space:nowrap;line-height:1}.shader-title-like-btn:hover:not(:disabled){color:#f46;border-color:#f466;background:#ff44660f}.shader-title-like-btn:active:not(:disabled){transform:scale(.95);transition-duration:.08s}.shader-title-like-btn.liked{color:#f46;border-color:#ff446659;background:#ff446614}.shader-title-like-btn.liked:hover:not(:disabled){background:#ff446624;border-color:#ff446680}.shader-title-like-btn:disabled{opacity:.4;cursor:default}.shader-title-like-btn svg{flex-shrink:0}.shader-title-input{flex:1;padding:4px 8px;background:var(--bg-dark);border:1px solid var(--fg-primary);border-radius:6px;color:var(--text);font-size:14px;font-weight:600;font-family:inherit;outline:none;transition:all .15s ease;box-shadow:0 0 0 2px #ff66001f,0 0 12px #ff66000f;min-width:0}.shader-title-input::placeholder{color:var(--text-dim);opacity:.5;font-weight:400}.shader-title-actions-wrap{position:relative;flex:0 1 auto;min-width:0;display:flex;justify-content:flex-end}.shader-title-actions-measure{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;white-space:nowrap}.shader-title-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.shader-title-actions.cramped .shader-title-action-label{display:none}.shader-title-actions.cramped .shader-title-action-btn,.shader-title-actions.cramped .shader-title-save-btn{padding-left:6px;padding-right:6px}.shader-title-action-btn,.shader-title-save-btn{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.shader-title-action-btn svg,.shader-title-save-btn svg{flex-shrink:0}.shader-title-save-btn.has-unsaved{box-shadow:0 0 0 1px #f59e0b66}.shader-title-save-btn:disabled{opacity:.7;cursor:default}.panel-header-group{display:flex;flex-direction:column;background:var(--bg-mid);border-bottom:var(--border-width) solid var(--border)}.inspector-section{border-bottom:var(--border-width) solid var(--border);container-type:inline-size;container-name:inspector}.inspector-section.submode-tuner{border-color:#60a5fa66;box-shadow:inset 0 1px #60a5fa26}.inspector-section.submode-inspect{border-color:#c084fc66;box-shadow:inset 0 1px #c084fc26}.inspector-section.submode-errors{border-color:#facc1566;box-shadow:inset 0 1px #facc1526}.inspector-section.submode-frames{border-color:#4ade8066;box-shadow:inset 0 1px #4ade8026}.inspector-section.submode-heatmap{border-color:#f8717166;box-shadow:inset 0 1px #f8717126}.inspector-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:var(--bg-mid);color:var(--text-dim);font-size:11px;font-family:inherit;-webkit-user-select:none;user-select:none}.inspector-header-toggle{flex:1;display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:transparent;border:none;color:inherit;font-size:inherit;font-family:inherit;cursor:pointer;transition:color .15s,background .15s}.inspector-header:hover .inspector-header-toggle{color:var(--text);background:#ffffff08}.inspector-header.active{color:var(--text);border-bottom:var(--border-width) solid var(--border)}.inspector-header .inspector-header-right{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 0}.inspector-header-left{display:flex;align-items:center;gap:8px}.inspector-chevron{font-size:22px;color:var(--fg-primary);flex-shrink:0;display:inline-block;width:22px;text-align:center}.inspector-title{text-transform:uppercase;letter-spacing:.05em;font-weight:500}.inspector-header-right{display:flex;align-items:center;gap:8px}.inspector-status{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:3px}.inspector-status.on{color:var(--fg-primary);background:#ff66001a;box-shadow:0 0 8px #ff66001a}.inspector-status.off{color:var(--text-dim);opacity:.5}.inspector-body{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-dark);overflow-y:auto}.inspector-controls{display:flex;align-items:center;gap:8px;padding:6px 12px;border-top:1px solid rgba(255,255,255,.04);flex-wrap:wrap;flex-shrink:0;min-width:0}.inspector-controls-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);opacity:.7;flex-shrink:0}.inspector-canvas-panel{flex:1;min-height:60px;position:relative;overflow:hidden;background:#0000004d}.inspector-canvas-panel:after{content:"";position:absolute;left:0;right:0;bottom:0;height:32px;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--fg-primary) 3%,transparent) 50%,color-mix(in srgb,var(--fg-primary) 8%,var(--bg-dark)) 100%)}.inspector-section.submode-tuner .inspector-canvas-panel:after{background:linear-gradient(to bottom,transparent 0%,rgba(96,165,250,.04) 50%,color-mix(in srgb,#60a5fa 8%,var(--bg-dark)) 100%)}.inspector-section.submode-inspect .inspector-canvas-panel:after{background:linear-gradient(to bottom,transparent 0%,rgba(192,132,252,.04) 50%,color-mix(in srgb,#c084fc 8%,var(--bg-dark)) 100%)}.inspector-section.submode-errors .inspector-canvas-panel:after{background:linear-gradient(to bottom,transparent 0%,rgba(250,204,21,.04) 50%,color-mix(in srgb,#facc15 8%,var(--bg-dark)) 100%)}.inspector-section.submode-frames .inspector-canvas-panel:after{background:linear-gradient(to bottom,transparent 0%,rgba(74,222,128,.04) 50%,color-mix(in srgb,#4ade80 8%,var(--bg-dark)) 100%)}.inspector-section.submode-heatmap .inspector-canvas-panel:after{background:linear-gradient(to bottom,transparent 0%,rgba(248,113,113,.04) 50%,color-mix(in srgb,#f87171 8%,var(--bg-dark)) 100%)}.inspector-curve-canvas{display:block;width:100%;height:100%}@container inspector (max-width: 280px){.inspector-controls{padding:4px 8px;gap:6px}.inspector-controls-label{width:100%;flex-basis:100%}.inspector-mode-btn{padding:4px 8px;font-size:9px}.inspector-highlight-out-of-range span,.inspector-compare-mode span,.inspector-range-animation span{font-size:10px}}@container inspector (max-width: 200px){.inspector-canvas-panel{min-height:48px}.inspector-controls{padding:3px 6px;gap:4px}.inspector-mode-buttons{flex-wrap:wrap;border-bottom:none}.inspector-mode-btn{padding:3px 6px;font-size:9px;border-bottom:none;margin-bottom:0;border:1px solid var(--border);border-radius:3px}.inspector-mode-btn.active{border-color:var(--fg-primary)}.inspector-section.submode-inspect .inspector-mode-btn.active{border-color:#c084fc}}.inspector-mode-buttons{display:flex;align-items:stretch;gap:0;flex-shrink:0;min-width:0;border-bottom:var(--border-width) solid var(--border)}.inspector-mode-btn{padding:5px 12px;border:none;border-bottom:2px solid transparent;margin-bottom:calc(-1 * var(--border-width));background:transparent;color:var(--text-dim);font-size:10px;font-family:inherit;cursor:pointer;transition:all .15s;text-transform:capitalize}.inspector-mode-btn:hover{color:var(--text)}.inspector-mode-btn.active{color:var(--fg-primary);border-bottom-color:var(--fg-primary)}.inspector-section.submode-inspect .inspector-mode-btn.active{color:#c084fc;border-bottom-color:#c084fc}.inspector-highlight-out-of-range{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-highlight-out-of-range input{cursor:pointer}.inspector-highlight-out-of-range span{white-space:nowrap}.inspector-compare-mode{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-compare-mode input{cursor:pointer}.inspector-compare-mode span{white-space:nowrap}.inspector-range-animation{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-range-animation input{cursor:pointer}.inspector-range-animation span{white-space:nowrap}.inspector-histogram-channels{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap}.inspector-channel-toggle{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--fg-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-channel-toggle input{cursor:pointer}.inspector-channel-toggle.unavailable{color:var(--text-dim);opacity:.5;cursor:not-allowed}.inspector-channel-toggle.unavailable span{color:#888}.inspector-var-label{font-size:11px;color:var(--fg-primary);flex-shrink:1;min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-var-label code{font-weight:600}.inspector-submode-tabs{display:flex;gap:0;background:var(--bg-mid);border-bottom:var(--border-width) solid var(--border);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.inspector-submode-tabs::-webkit-scrollbar{display:none}.inspector-submode-bar-wrap{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:1;overflow:hidden;position:relative;padding-left:10px;border-left:1px solid rgba(255,255,255,.08)}.inspector-submode-measure{position:absolute;left:-9999px;top:0;visibility:hidden;pointer-events:none}.inspector-submode-measure .inspector-submode-tab{cursor:default}.inspector-submode-inline{display:flex;align-items:center;gap:2px;flex-shrink:0;background:#0003;border-radius:5px;padding:0}.inspector-submode-inline.cramped .inspector-submode-tab:not(.active) .inspector-submode-label{display:none}.inspector-submode-inline.cramped .inspector-submode-tab{padding:0 10px}.inspector-submode-tab{display:flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-bottom:var(--border-width) solid transparent;background:transparent;color:var(--text-dim);font-size:10px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap;position:relative;flex-shrink:0}.inspector-submode-icon{flex-shrink:0;width:14px;height:14px}.inspector-submode-close-hint{margin-left:4px;font-size:14px;line-height:1;opacity:0;font-weight:500;transition:opacity .15s ease}.inspector-submode-tab:hover .inspector-submode-close-hint{opacity:.85}.inspector-submode-inline .inspector-submode-tab{height:32px;min-height:32px;padding:0 10px;border:var(--border-width) solid transparent;border-bottom:none;border-radius:3px}.inspector-submode-inline .inspector-submode-tab.submode-tuner{border-color:#60a5fa40;background:#60a5fa0f}.inspector-submode-inline .inspector-submode-tab.submode-inspect{border-color:#c084fc40;background:#c084fc0f}.inspector-submode-inline .inspector-submode-tab.submode-errors{border-color:#facc1540;background:#facc150f}.inspector-submode-inline .inspector-submode-tab.submode-frames{border-color:#4ade8040;background:#4ade800f}.inspector-submode-inline .inspector-submode-tab.submode-heatmap{border-color:#f8717140;background:#f871710f}.inspector-submode-tab:hover{color:var(--text);background:#ffffff08}.inspector-submode-inline .inspector-submode-tab:hover{background:#ffffff0f}.inspector-submode-inline .inspector-submode-tab.submode-tuner:hover{background:#60a5fa1f}.inspector-submode-inline .inspector-submode-tab.submode-inspect:hover{background:#c084fc1f}.inspector-submode-inline .inspector-submode-tab.submode-errors:hover{background:#facc151f}.inspector-submode-inline .inspector-submode-tab.submode-frames:hover{background:#4ade801f}.inspector-submode-inline .inspector-submode-tab.submode-heatmap:hover{background:#f871711f}.inspector-submode-tab.active{color:var(--fg-primary);border-bottom-color:var(--fg-primary);background:#ff66000d}.inspector-submode-inline .inspector-submode-tab.active{background:#ff660026;border-width:2px;border-color:#f606;border-bottom-color:#f606;font-weight:600}.inspector-submode-tab.submode-frames{color:#4ade80}.inspector-submode-tab.submode-frames:hover{color:#86efac}.inspector-submode-tab.submode-frames.active{color:#4ade80;border-bottom-color:#4ade80;background:#4ade8014}.inspector-submode-inline .inspector-submode-tab.submode-frames.active{background:#4ade8033;border-color:#4ade8066}.inspector-submode-tab.submode-heatmap{color:#f87171}.inspector-submode-tab.submode-heatmap:hover{color:#fca5a5}.inspector-submode-tab.submode-heatmap.active{color:#f87171;border-bottom-color:#f87171;background:#f8717114}.inspector-submode-inline .inspector-submode-tab.submode-heatmap.active{background:#f8717133;border-color:#f8717166}.inspector-submode-tab.submode-errors{color:#facc15}.inspector-submode-tab.submode-errors:hover{color:#fde047}.inspector-submode-tab.submode-errors.active{color:#facc15;border-bottom-color:#facc15;background:#facc1514}.inspector-submode-inline .inspector-submode-tab.submode-errors.active{background:#facc1533;border-color:#facc1566}.inspector-submode-tab.submode-tuner{color:#60a5fa}.inspector-submode-tab.submode-tuner:hover{color:#93c5fd}.inspector-submode-tab.submode-tuner.active{color:#60a5fa;border-bottom-color:#60a5fa;background:#60a5fa14}.inspector-submode-inline .inspector-submode-tab.submode-tuner.active{background:#60a5fa33;border-color:#60a5fa66}.inspector-submode-tab.submode-inspect{color:#c084fc}.inspector-submode-tab.submode-inspect:hover{color:#d8b4fe}.inspector-submode-tab.submode-inspect.active{color:#c084fc;border-bottom-color:#c084fc;background:#c084fc14}.inspector-submode-inline .inspector-submode-tab.submode-inspect.active{background:#c084fc33;border-color:#c084fc66}.inspector-submode-tab.has-errors{animation:submode-error-pulse 2s ease-in-out infinite}@keyframes submode-error-pulse{0%,to{color:var(--text-dim)}50%{color:#f44}}.inspector-submode-tab.active.has-errors{animation:none}.inspector-submode-icon{font-size:12px;line-height:1}.inspector-submode-label{text-transform:uppercase;letter-spacing:.04em;font-weight:500}.inspector-submode-tab:hover .inspector-submode-label{font-weight:600;color:inherit}.inspector-submode-badge{font-size:8px;font-weight:700;letter-spacing:.03em;padding:1px 4px;border-radius:4px;background:#f44;color:#fff;line-height:1.2;box-shadow:0 1px 4px #f446}.inspector-error-checks{display:flex;gap:10px;padding:10px 12px;flex-wrap:wrap}.inspector-error-check{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;transition:color .15s,border-color .15s,background .15s;-webkit-user-select:none;user-select:none;font-size:11px;color:var(--text-dim);border:1px solid color-mix(in srgb,var(--check-color, var(--text-dim)) 35%,transparent);border-radius:6px;background:#ffffff05;width:110px;min-width:110px;box-sizing:border-box}.inspector-error-check:hover{color:var(--text);border-color:color-mix(in srgb,var(--check-color, var(--fg-primary)) 50%,transparent);background:#ffffff0a}.inspector-error-check.enabled{color:var(--text);border-color:color-mix(in srgb,var(--check-color, var(--fg-primary)) 45%,transparent)}.inspector-error-check.enabled.detected{color:var(--check-color, var(--fg-primary));border-color:var(--check-color, var(--fg-primary));background:color-mix(in srgb,var(--check-color, var(--fg-primary)) 8%,transparent)}.inspector-error-check.disabled{opacity:.45}.inspector-error-check.hovered{color:var(--check-color, var(--fg-primary));border-color:var(--check-color, var(--fg-primary));box-shadow:0 0 8px color-mix(in srgb,var(--check-color, var(--fg-primary)) 25%,transparent)}.inspector-error-check input{width:14px;height:14px;margin:0;accent-color:var(--check-color, var(--fg-primary));cursor:pointer;flex-shrink:0}.inspector-error-check-label{font-weight:500}.inspector-error-check-count{font-size:10px;font-weight:700;font-family:var(--font-mono);opacity:.8;padding:0 4px;border-radius:3px;background:#0003;margin-left:2px;min-width:7ch;text-align:right;display:inline-block;flex-shrink:0}.inspector-error-check-count.empty{background:transparent;opacity:0}.inspector-error-detail{flex:1;min-height:0;padding:8px 12px;background:#0003;border-top:1px solid rgba(255,255,255,.04);overflow-y:auto}.inspector-error-detail-content{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--text-dim);line-height:1.5}.inspector-error-detail-icon{font-size:14px;flex-shrink:0;line-height:1;margin-top:1px}.inspector-error-detail-hint{opacity:.5;font-style:italic}.inspector-error-detail-list{flex-direction:column}.inspector-error-detail-list .inspector-error-detail-icon{display:none}.inspector-error-detail-warnings{display:flex;flex-direction:column;gap:4px;width:100%}.inspector-error-detail-warning{display:flex;gap:8px;padding:3px 6px;border-radius:4px;cursor:pointer;transition:background .12s;font-size:11px;color:var(--text-dim)}.inspector-error-detail-warning:hover{background:#ffffff0f;color:var(--text)}.inspector-error-detail-ln{font-family:var(--font-mono);font-size:10px;color:#c8f;white-space:nowrap;flex-shrink:0;min-width:40px}.inspector-error-detail-more{font-size:10px;color:var(--text-dim);opacity:.6;padding:2px 6px}.nan-source-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.nan-source-header{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.nan-source-title{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;display:flex;align-items:center;gap:6px}.nan-source-count{font-size:10px;font-weight:700;background:#ffffff14;color:var(--text);padding:1px 6px;border-radius:8px;min-width:18px;text-align:center}.nan-source-filters{display:flex;gap:3px;flex-wrap:wrap;margin-left:auto}.nan-source-filter-btn{background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:4px;color:var(--text-dim);font-size:10px;padding:2px 6px;cursor:pointer;display:flex;align-items:center;gap:3px;transition:all .15s;white-space:nowrap}.nan-source-filter-btn:hover{border-color:#ffffff26;color:var(--text);background:#ffffff0a}.nan-source-filter-btn.active{border-color:var(--filter-color, var(--fg-primary));color:var(--filter-color, var(--fg-primary));background:color-mix(in srgb,var(--filter-color, var(--fg-primary)) 10%,transparent)}.nan-source-filter-label{text-transform:capitalize}.nan-source-list{flex:1;min-height:0;overflow-y:auto;padding:4px 0}.nan-source-empty{padding:16px 12px;text-align:center;color:var(--text-dim);font-size:11px;opacity:.6;font-style:italic}.nan-source-item{display:flex;align-items:baseline;gap:8px;padding:4px 10px;font-size:11px;color:var(--text-dim);cursor:pointer;transition:background .1s;border-left:2px solid transparent}.nan-source-item-lock{display:flex;align-items:center;flex-shrink:0;cursor:pointer}.nan-source-item-lock input{width:12px;height:12px;margin:0;accent-color:var(--item-color, var(--fg-primary));cursor:pointer}.nan-source-item.locked{border-left-color:var(--item-color, var(--fg-primary))}.nan-source-item:hover,.nan-source-item.probing{background:#ffffff0a;color:var(--text);border-left-color:var(--item-color, var(--fg-primary))}.nan-source-item.probing{background:color-mix(in srgb,var(--item-color, var(--fg-primary)) 8%,transparent)}.nan-source-item-ln{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);opacity:.6;flex-shrink:0;min-width:36px}.nan-source-item-expr{font-family:var(--font-mono);font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.nan-source-item-reason{font-size:10px;color:var(--text-dim);opacity:.5;margin-left:auto;white-space:nowrap;flex-shrink:0;display:none}@media (min-width: 800px){.nan-source-item-reason{display:block}}.inspector-heatmap-option{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.inspector-heatmap-option-label{font-size:9px;color:#ffffff4d;text-transform:uppercase;letter-spacing:.03em}.inspector-heatmap-option input[type=checkbox]{cursor:pointer}.inspector-heatmap-panel{display:flex;flex-direction:column;gap:0;padding:6px 10px 8px;flex:1;min-height:0}.inspector-heatmap-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.inspector-heatmap-status{font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap;min-width:0}.inspector-heatmap-chunk-toggle{display:flex;gap:1px;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.inspector-heatmap-chunk-btn{padding:1px 6px;font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:#ffffff0a;color:var(--text-dim);border:none;cursor:pointer;transition:background .12s,color .12s;line-height:1.4}.inspector-heatmap-chunk-btn:hover{background:#ffffff1a;color:var(--fg-primary)}.inspector-heatmap-chunk-btn.active{background:#ff66002e;color:#f60;font-weight:600}.inspector-heatmap-slider{width:48px;height:3px;cursor:pointer;accent-color:var(--fg-primary);margin-left:auto}.inspector-heatmap-spectrum{flex:1;min-height:24px;display:flex;flex-direction:column}.inspector-heatmap-spectrum-row{display:flex;align-items:stretch;gap:6px;flex:1;min-height:0}.inspector-heatmap-spectrum-label{font-size:9px;font-family:var(--font-mono);color:#fff6;display:flex;align-items:center;white-space:nowrap;font-variant-numeric:tabular-nums}.inspector-heatmap-spectrum-label:last-child{text-align:right}.inspector-heatmap-spectrum-bar-wrap{flex:1;position:relative;min-height:18px;display:flex;align-items:flex-start}.inspector-heatmap-spectrum-bar{width:100%;height:100%;border-radius:3px;border:1px solid rgba(255,255,255,.06)}.inspector-heatmap-spectrum-marker{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;pointer-events:none;transform:translate(-50%);z-index:2;transition:left .06s ease-out}.inspector-heatmap-spectrum-marker-line{width:2px;height:100%;background:#fff;border-radius:1px;box-shadow:0 0 4px #ffffff80,0 0 2px #000000b3}.inspector-heatmap-spectrum-marker-triangle{width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.inspector-heatmap-hover-row{display:flex;align-items:center;gap:6px;min-height:16px;font-size:10px}.inspector-heatmap-hover-swatch{width:8px;height:8px;border-radius:2px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.inspector-heatmap-hover-chunk{color:#ffffff73;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.inspector-heatmap-hover-time{color:var(--fg-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.inspector-heatmap-hover-hint{color:#fff3;font-size:10px;font-style:italic}.panel-header{display:flex;align-items:stretch;gap:0;padding:6px 12px 0;margin-bottom:-1px;position:relative;z-index:10}.pass-tabs{display:flex;gap:0;flex-wrap:nowrap;align-items:stretch;flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:1px}.pass-tab-wrap{display:flex;align-items:center;gap:0;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;margin-right:2px}.pass-tab-wrap:first-of-type{margin-left:0}.pass-tab-wrap.active{background:var(--bg-dark);border-color:var(--border);border-bottom:2px solid var(--fg-primary);color:var(--fg-primary);z-index:1;box-shadow:0 2px 8px #ff660014}.pass-tab-wrap:not(.active){margin-bottom:1px;border-bottom:2px solid rgba(255,255,255,.4)}.pass-tab-wrap .pass-tab{border:none;border-radius:0;padding:8px 14px 9px;background:transparent}.pass-tab-rename-input{padding:8px 14px 9px;background:transparent;border:none;border-radius:0;color:inherit;font-size:11px;font-family:inherit;outline:1px solid var(--fg-primary);outline-offset:-1px;min-width:60px;flex:1}.pass-tab-wrap .pass-tab.active{border:none;color:inherit}.pass-tab-delete{padding:6px 8px;background:transparent;border:none;border-left:var(--border-width) solid var(--border);border-radius:0;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;transition:color .15s ease}.pass-tab-delete:hover{color:var(--fg-primary)}.pass-tab-wrap.active .pass-tab-delete{border-left-color:#ffffff14}.pass-tab-settings-wrap{position:relative;display:flex;align-items:center}.pass-tab-settings{padding:5px 6px;background:transparent;border:none;border-left:var(--border-width) solid var(--border);border-radius:0;color:var(--text-dim);font-size:12px;line-height:1;cursor:pointer;transition:color .15s ease;display:flex;align-items:center;justify-content:center;opacity:.5}.pass-tab-wrap:hover .pass-tab-settings,.pass-tab-settings.active,.pass-tab-settings.has-recursion{opacity:1}.pass-tab-settings:hover,.pass-tab-settings.active,.pass-tab-settings.has-recursion{color:var(--fg-primary)}.pass-tab-wrap.active .pass-tab-settings{border-left-color:#ffffff14}.pass-tab-recursion-badge{font-size:9px;font-weight:700;color:var(--fg-primary);margin-left:4px;opacity:.85}.pass-settings-popover{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);padding:10px 12px;z-index:100;min-width:180px;box-shadow:0 4px 16px #0006}.pass-settings-popover-portal{position:fixed;top:auto;left:auto;margin-top:0;transform:translate(-50%);z-index:10000}.pass-settings-row{display:flex;align-items:center;gap:8px}.pass-settings-label{font-size:11px;color:var(--text-dim);white-space:nowrap;min-width:42px}.pass-settings-slider{flex:1;min-width:80px;height:4px;accent-color:var(--fg-primary);cursor:pointer}.pass-settings-value{font-size:11px;font-weight:600;color:var(--fg-primary);min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.pass-settings-hint{margin-top:8px;padding-top:8px;border-top:var(--border-width) solid var(--border);font-size:10px;color:var(--text-dim);line-height:1.5}.pass-settings-hint code{background:#ffffff0f;padding:1px 4px;border-radius:3px;font-size:10px;color:var(--fg-primary)}.pass-settings-resolution-btn{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:8px;padding:6px 8px;font-size:11px;color:var(--text-dim);background:#ffffff0a;border:var(--border-width) solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.pass-settings-resolution-btn:hover{color:var(--text);background:#ffffff14;border-color:var(--fg-primary)}.pass-tab{padding:8px 14px 9px;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-dim);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s ease;margin-bottom:1px}.pass-tab:hover{color:var(--text);background:#ffffff0a}.pass-tab.active{color:var(--fg-primary);background:var(--bg-dark);border-color:var(--border);border-bottom:1px solid var(--bg-dark);margin-bottom:-1px}.pass-tab.add{color:var(--text-dim);border-style:dashed;min-width:32px;display:flex;align-items:center;justify-content:center;margin-left:2px;margin-bottom:1px}.pass-tab.add:hover{color:var(--fg-primary);border-color:var(--fg-primary)}.pass-tab.pass-tab-new{padding:6px 10px;min-width:44px;font-size:13px;font-weight:600;line-height:1;margin-right:8px;margin-bottom:1px;border-radius:var(--radius-md);border:var(--border-width) solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center}.pass-tab.pass-tab-new:hover{color:var(--fg-primary);border-color:var(--fg-primary)}.panel-footer{position:relative;padding:6px 14px;background:var(--bg-mid);border-top:var(--border-width) solid var(--border);font-size:11px;color:var(--text-dim);display:flex;gap:16px;align-items:center;flex-shrink:0}.panel-footer-actions{display:flex;flex-shrink:0;gap:8px;align-items:center;margin-left:auto;padding-left:16px;border-left:var(--border-width) solid var(--border)}.panel-footer-actions>*{flex-shrink:0}.panel-footer-actions .btn{border-radius:2px}.panel-footer-actions .format-dropdown{display:inline-flex;align-items:stretch;border:var(--border-width) solid var(--border);border-radius:2px;background:var(--bg-light)}.panel-footer-actions .format-dropdown>.btn{border:none;background:transparent}.panel-footer-actions .format-dropdown>.btn:first-child{border-radius:2px 0 0 2px}.panel-footer-actions .format-dropdown>.btn:hover{background:#ff66000f}.panel-footer-actions .format-dropdown .format-opts-toggle{border-left:var(--border-width) solid var(--border);border-radius:0 2px 2px 0!important}.panel-footer>span{opacity:.7}.hidden-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.footer-instr-count{cursor:help;white-space:nowrap;opacity:1;color:var(--text)}.footer-char-count{cursor:pointer;white-space:nowrap;opacity:1;color:var(--text)}.footer-compile-group{display:inline-flex;align-items:stretch;border:var(--border-width) solid var(--border);border-radius:2px;background:var(--bg-light)}.footer-compile-group .footer-compile-auto{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;border-right:var(--border-width) solid var(--border);border-radius:2px 0 0 2px}.footer-compile-group .footer-compile-auto input[type=checkbox]{accent-color:var(--fg-primary);width:12px;height:12px;cursor:pointer;margin:0}.footer-compile-group .footer-compile-btn{border:none;border-radius:0 2px 2px 0;background:transparent}.footer-compile-group .footer-compile-btn:hover{background:#ff66000f}.footer-compile-btn-highlight{animation:footer-compile-highlight .4s ease-out}@keyframes footer-compile-highlight{0%{box-shadow:0 0 0 0 var(--fg-glow)}50%{box-shadow:0 0 8px 2px var(--fg-glow)}to{box-shadow:0 0 0 0 transparent}}.footer-compile-btn{padding:2px 8px;font-size:10px}.auto-compile-toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:8px;box-shadow:0 6px 24px #0006;z-index:100;animation:auto-compile-toast-slide .25s ease-out;font-size:12px;color:var(--text)}@keyframes auto-compile-toast-slide{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.auto-compile-toast-dismiss{background:transparent;border:none;color:var(--text-dim);padding:2px 6px;font-size:14px;line-height:1;cursor:pointer}.auto-compile-toast-dismiss:hover{color:var(--text)}.library-undo-btn{color:var(--accent)!important;border-color:var(--accent)!important}.library-undo-btn:hover{background:var(--accent)!important;color:var(--bg)!important}.footer-error{color:var(--error)!important;opacity:1!important;font-weight:600}.footer-error-clickable{cursor:pointer}.footer-error-clickable:hover{text-decoration:underline}.footer-error-wrap{flex:1;min-width:0}.panel-footer .footer-error-banner{position:absolute;bottom:100%;left:0;right:0;margin-bottom:4px;width:100%;max-height:min(200px,50vh);overflow-x:hidden;overflow-y:auto;box-shadow:0 4px 16px #0006;border-radius:6px}.footer-warning{color:var(--warning)!important;opacity:1!important;font-weight:500}.footer-warning-clickable{cursor:pointer}.footer-warning-clickable:hover{text-decoration:underline}.error-panel{position:absolute;bottom:0;left:0;right:0;z-index:5;max-height:140px;overflow-y:auto;background:#1e1414eb;border-top:1px solid rgba(255,68,68,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding-right:32px}.error-panel-close{position:absolute;top:6px;right:8px;z-index:1;background:transparent;border:none;color:var(--text-dim);padding:2px 6px;font-size:18px;line-height:1;cursor:pointer;transition:color .15s}.error-panel-close:hover{color:var(--text)}.warning-panel .error-panel-close:hover{color:var(--warning)}.error-item{display:flex;gap:10px;padding:6px 14px;font-size:12px;border-bottom:1px solid rgba(255,68,68,.08);align-items:baseline}.warning-panel{background:#1e190feb;border-top-color:#f59e0b4d}.warning-panel .warning-item{border-bottom-color:#f59e0b14}.warning-panel .error-item-clickable:hover{background:#f59e0b1a}.warning-panel .error-line{color:var(--warning)}.warning-panel-actions{display:flex;justify-content:flex-end;padding:4px 10px 6px;border-top:1px solid rgba(245,158,11,.12)}.warning-fix-btn{background:#f59e0b26!important;color:var(--warning)!important;border:1px solid rgba(245,158,11,.3)!important;font-weight:600!important}.warning-fix-btn:hover{background:#f59e0b47!important;border-color:#f59e0b80!important}.footer-fix-btn{background:none;border:1px solid rgba(245,158,11,.35);color:var(--warning);font-size:10px;font-weight:600;padding:1px 7px;border-radius:4px;cursor:pointer;margin-left:4px;line-height:1.4;transition:background .15s,border-color .15s}.footer-fix-btn:hover{background:#f59e0b26;border-color:#f59e0b8c}.footer-fix-btn-error{border-color:#f446;color:#ff6b6b}.footer-fix-btn-error:hover{background:#ff444426;border-color:#f449}.error-panel-actions{display:flex;justify-content:flex-end;padding:4px 10px 6px;border-top:1px solid rgba(255,68,68,.1)}.error-fix-btn{background:#ff44441f!important;color:#ff6b6b!important;border:1px solid rgba(255,68,68,.3)!important;font-weight:600!important}.error-fix-btn:hover{background:#ff444438!important;border-color:#ff444480!important}.error-item-clickable{cursor:pointer;transition:background .15s}.error-item-clickable:hover{background:#ff44441a}.error-item:last-child{border-bottom:none}.error-line{color:var(--fg-primary);font-size:11px;font-weight:600;flex-shrink:0;min-width:40px}.error-msg{color:var(--text);min-width:0;overflow-wrap:break-word;word-break:break-word}.viewport-controls{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--bg-mid);border-top:var(--border-width) solid var(--border);flex-shrink:0;flex-wrap:nowrap}.viewport-inspector-btn{font-size:14px;opacity:.6;transition:opacity .15s,color .15s}.viewport-inspector-btn:hover{opacity:1}.viewport-inspector-btn.active{opacity:1;color:var(--fg-primary);text-shadow:0 0 6px rgba(255,102,0,.4)}.viewport-inspector-btn.nan-detected:not(.active){animation:nan-pulse 1.5s ease-in-out infinite;color:#f44;text-shadow:0 0 8px rgba(255,68,68,.5);opacity:1}.viewport-controls .viewport-diag-btn,.viewport-controls .viewport-controls-capture{margin-left:auto}.editor-right:fullscreen,.editor-right:-webkit-full-screen{width:100vw!important;height:100vh!important;display:flex!important;flex-direction:column!important;position:relative!important}.editor-right:fullscreen .viewport-controls,.editor-right:fullscreen .viewport-controls-wrapper,.editor-right:fullscreen .inspector-section,.editor-right:fullscreen .inspector-submode-tabs,.editor-right:fullscreen .viewport-resize-handle{display:none!important}.editor-right:fullscreen .shader-timeline-overlay .viewport-timeline{display:flex!important}.editor-right:fullscreen .shader-display-wrapper{flex:1!important;min-height:0!important}.editor-right:-webkit-full-screen .viewport-controls,.editor-right:-webkit-full-screen .viewport-controls-wrapper,.editor-right:-webkit-full-screen .inspector-section,.editor-right:-webkit-full-screen .inspector-submode-tabs,.editor-right:-webkit-full-screen .viewport-resize-handle{display:none!important}.editor-right:-webkit-full-screen .shader-timeline-overlay .viewport-timeline{display:flex!important}.editor-right:-webkit-full-screen .shader-display-wrapper{flex:1!important;min-height:0!important}.fullscreen-exit-btn{position:absolute;top:12px;right:12px;z-index:100;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text);background:#00000080;border:var(--border-width) solid var(--border);border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.fullscreen-exit-btn:hover{background:#f603;color:var(--fg-primary);border-color:var(--fg-primary)}.display-dropdown{position:relative;flex-shrink:0}.display-menu{position:absolute;bottom:100%;left:0;margin-bottom:6px;min-width:260px;padding:6px 0;animation:slide-up .15s ease}.display-menu-section{padding:8px 12px;border-top:var(--border-width) solid var(--border)}.display-menu-section:first-of-type{border-top:none}.display-menu-section-compact{padding:6px 12px}.display-menu-row,.display-menu-select-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.display-menu-row:last-child,.display-menu-select-row:last-child{margin-bottom:0}.display-menu-label{font-size:11px;font-weight:600;color:var(--text-dim);white-space:nowrap}.display-menu-inline{display:flex;gap:4px}.display-chip,.display-chip-sm{padding:4px 10px;font-size:11px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;cursor:pointer;transition:all .15s}.display-chip-sm{padding:4px 8px}.display-chip:hover,.display-chip-sm:hover{border-color:var(--fg-primary);color:var(--fg-primary)}.display-chip.active,.display-chip-sm.active{background:#ff66001a;color:var(--fg-primary);border-color:var(--fg-primary)}.display-menu-select,.display-menu input,.display-menu select{padding:5px 8px;font-size:12px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;outline:none}.display-menu-select{flex:1;min-width:0;cursor:pointer}.display-menu-select:hover,.display-menu-select:focus,.display-menu input:focus{border-color:var(--fg-primary)}.display-menu-res-inputs{display:flex;align-items:center;gap:6px;margin-top:4px;width:100%}.display-menu-res-inputs .duration-input{flex:1;min-width:0;text-align:center}.display-menu-res-inputs span{opacity:.7;flex-shrink:0}.editor-right .inspector-section.inspector-below-timeline{flex-shrink:0;border-top:var(--border-width) solid var(--border)}.editor-right .inspector-section.inspector-below-timeline.open{flex:1;min-height:0;display:flex;flex-direction:column}.editor-right .inspector-section.inspector-below-timeline.collapsed{flex:none;min-height:0;overflow:hidden}.editor-right .inspector-section.inspector-below-timeline.collapsed .inspector-body{display:none}.viewport-timeline{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-mid);border-top:var(--border-width) solid var(--border);flex-shrink:0;order:-1}.timeline-slider{flex:1;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,var(--bg-elevated),var(--bg-light));border-radius:10px;outline:none;cursor:pointer}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--fg-primary);border:2px solid rgba(255,255,255,.15);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #f606,0 0 20px #ff660026;transition:all .15s ease}.timeline-slider::-webkit-slider-thumb:hover{transform:scale(1.25);box-shadow:0 0 14px #ff660080,0 0 28px #f603}.timeline-slider::-moz-range-thumb{width:14px;height:14px;background:var(--fg-primary);border:2px solid rgba(255,255,255,.15);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #f606,0 0 20px #ff660026}.timeline-time{font-size:12px;color:var(--text-dim);min-width:56px;text-align:right;font-variant-numeric:tabular-nums}.time-checkpoint{position:relative;flex-shrink:0}.timeline-time-btn{min-width:56px}.time-menu{position:absolute;bottom:100%;right:0;margin-bottom:6px;min-width:220px;animation:slide-up .15s ease}.time-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;color:var(--text);font-size:13px}.time-menu-item span{font-size:12px}.time-menu-toggle{padding:6px 12px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .12s ease}.time-menu-toggle:hover{color:var(--text);border-color:#fff3}.time-menu-toggle.on{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff66001f}.time-loop-presets-row{flex-direction:column;align-items:stretch;gap:6px}.time-loop-presets{display:flex;gap:4px}.time-loop-preset-btn{flex:1;padding:6px 0;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;transition:all .12s ease;text-align:center}.time-loop-preset-btn:hover{color:var(--text);border-color:#ffffff26}.time-loop-preset-btn.active{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff660014}.time-menu-scale .time-scale-controls{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.time-scale-slider{flex:1;min-width:0;height:6px;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-light);border-radius:3px;outline:none;cursor:pointer}.time-scale-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--fg-primary);border:none;border-radius:50%;cursor:pointer}.time-scale-slider::-moz-range-thumb{width:12px;height:12px;background:var(--fg-primary);border:none;border-radius:50%;cursor:pointer}.time-scale-input{width:42px;min-width:42px;flex-shrink:0;height:24px;padding:0 4px;font-size:12px;box-sizing:border-box;line-height:22px;vertical-align:middle;color:var(--text);background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:4px;font-variant-numeric:tabular-nums;text-align:center;outline:none;font-family:inherit}.time-scale-input:focus{border-color:var(--fg-primary);background:var(--bg)}.record-dropdown{position:relative;flex-shrink:0;display:flex;align-items:center;gap:6px}.record-btn{position:relative}.recording-progress-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.recording-progress-bg{stroke:#f443}.recording-progress-fill{stroke:#f44;stroke-linecap:round;transition:stroke-dashoffset .15s ease-out}.record-menu{position:absolute;bottom:100%;right:0;margin-bottom:6px;width:260px;min-width:260px;animation:slide-up .15s ease}.record-menu-section{display:flex;flex-direction:column;gap:6px;padding:2px 0}.record-menu-section-header{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text);opacity:.5;padding:0 14px}.record-menu-item{width:100%;background:none;border:none;font-family:inherit;cursor:default;text-align:left}.record-menu-setting{display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:12px;color:var(--text)}.record-menu-setting select{width:100%;padding:5px 8px;font-size:12px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit}.record-menu-res-inputs{display:flex;align-items:center;gap:6px}.record-menu-res-inputs .duration-input{flex:1;min-width:0}.record-menu-res-x{color:var(--text);opacity:.4;font-size:12px;flex-shrink:0}.record-menu-alpha{cursor:pointer}.record-menu-alpha input[type=checkbox]{width:auto;padding:0}.record-menu-input-unit{display:flex;align-items:center;gap:4px}.record-menu-btn-row{display:flex;gap:6px;padding:2px 14px 4px}.record-menu-btn{flex:1;padding:7px 12px;box-sizing:border-box;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;text-align:center;transition:all .12s ease}.record-menu-btn:hover{border-color:var(--fg-primary);color:var(--fg-primary);background:var(--popup-item-hover)}.record-menu-duration-presets{display:flex;gap:4px;padding:0 14px 2px}.record-menu-preset-btn{flex:1;padding:4px 0;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:11px;font-family:inherit;cursor:pointer;text-align:center;transition:all .12s ease}.record-menu-preset-btn:hover{border-color:#fff3}.record-menu-preset-btn.active{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff66001a}.record-menu-fps-btns{display:flex;align-items:center;gap:4px}.record-menu-fps-btn{padding:3px 10px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:11px;font-family:inherit;cursor:pointer;transition:all .12s ease}.record-menu-fps-btn:hover{border-color:#fff3}.record-menu-fps-btn.active{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff66001a}.record-menu-fps-input{width:40px;text-align:center;font-size:11px;padding:3px 4px}.duration-input{width:62px;padding:4px 6px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:5px;color:var(--text);font-size:12px;font-family:inherit;text-align:right;outline:none;transition:border-color .15s ease;-moz-appearance:textfield}.duration-input::-webkit-inner-spin-button,.duration-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.duration-input:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px #ff660026}.duration-unit{color:var(--text);font-size:12px;opacity:.5}.format-dropdown{position:relative;display:flex;align-items:stretch}.format-dropdown>.btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.format-opts-toggle{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left:none!important;padding:5px 10px!important;font-size:12px!important;line-height:1}.format-menu{position:absolute;bottom:100%;right:0;margin-bottom:6px;min-width:250px;animation:slide-up .15s ease}.format-menu-row{justify-content:space-between}.format-menu-row select{min-width:90px}.format-menu-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.format-menu-section-label{padding:6px 12px 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);opacity:.7;-webkit-user-select:none;user-select:none}.format-menu-toggle input[type=checkbox]{accent-color:var(--fg-primary);width:14px;height:14px;cursor:pointer;margin:0}.format-menu-apply{display:block;width:100%;padding:10px 12px;background:none;border:none;color:var(--fg-primary);font-size:12px;font-family:inherit;font-weight:600;cursor:pointer;text-align:center}.format-menu-apply:hover{background:var(--popup-item-hover)}.uniforms-menu,.display-menu,.time-menu,.record-menu,.format-menu{max-width:calc(100vw - 16px);max-height:min(70vh,460px);overflow-y:auto}.welcome-modal{min-width:680px;max-width:780px;padding:32px 36px}@media (max-width: 768px){.modal.box{min-width:0;width:calc(100% - 24px);max-width:100%;margin:0 12px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.welcome-overlay{align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px}.welcome-modal{min-width:0;max-width:100%;padding:16px 14px;overflow-y:auto;max-height:none;margin:auto 0;width:calc(100% - 8px)}.export-modal{width:100%;min-width:0;max-width:100%}.export-modal .convert-preview{max-height:40vh;min-height:200px}.shortcuts-modal{width:calc(100% - 24px);min-width:0;max-width:360px}.shortcut-row{gap:10px}.shortcut-row span{font-size:12px}.library-modal{min-width:0;max-width:100%;width:calc(100% - 24px);max-height:80vh;max-height:80dvh}.library-body{flex-direction:column}.library-sidebar{width:100%;max-height:120px;border-right:none;border-bottom:var(--border-width) solid var(--border);overflow-y:auto;display:flex;flex-wrap:wrap;padding:4px}.library-cat-btn{padding:8px 12px;font-size:12px;flex:0 0 auto}.modal-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.modal-tabs button{padding:7px 12px;white-space:nowrap;flex-shrink:0}}.welcome-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.welcome-close{background:none;border:none;padding:6px;cursor:pointer;color:var(--text-dim);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s ease,background .15s ease}.welcome-close:hover{color:var(--text);background:#ffffff0f}.welcome-title{font-size:32px;font-weight:600;margin:0 0 8px;letter-spacing:-.03em;color:var(--fg-primary)}.welcome-tagline{margin:0;color:var(--text-dim);font-size:16px;font-weight:400;letter-spacing:.01em;line-height:1.5}.welcome-features{margin:0 0 28px;padding:0 0 0 24px;color:var(--text-dim);font-size:15px;line-height:1.7}.welcome-features li{margin-bottom:12px}.welcome-features li:last-child{margin-bottom:0}.welcome-feature-link{color:var(--fg-primary);text-decoration:none}.welcome-feature-link:hover{text-decoration:underline}.welcome-features strong{font-weight:600}.welcome-features code{font-size:.9em;padding:0 3px}.welcome-subtitle{margin:0 0 24px;color:var(--text-dim);font-size:14px;font-weight:500;letter-spacing:.02em}.welcome-templates{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.welcome-template-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:12px;color:var(--text);font-family:inherit;cursor:pointer;transition:all .25s ease;overflow:hidden;position:relative}.welcome-template-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:13px;background:linear-gradient(135deg,#ff660080,#f403,#f936);z-index:-1;opacity:0;transition:opacity .25s ease}.welcome-template-preview{width:100%;aspect-ratio:16 / 9;min-height:90px;background:#060608;flex-shrink:0;position:relative;overflow:hidden}.welcome-template-preview canvas{display:block;width:100%;height:100%}.welcome-template-card .welcome-template-body{padding:14px 16px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.welcome-template-card:hover{border-color:transparent;transform:translateY(-3px);box-shadow:0 8px 24px #0000004d,0 0 40px #ff660014}.welcome-template-card:hover:before{opacity:1}.welcome-template-card:active{transform:translateY(-1px);transition-duration:.08s}.welcome-template-name{font-size:14px;font-weight:700;color:var(--fg-primary);margin-bottom:4px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.welcome-template-desc{font-size:12px;color:var(--text-dim);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}.welcome-blank-preview{width:100%;aspect-ratio:16 / 9;min-height:90px;background:var(--bg-dark);flex-shrink:0;display:flex;align-items:center;justify-content:center;border-bottom:var(--border-width) solid var(--border)}.welcome-blank-preview svg{color:var(--text-dim);opacity:.5;transition:opacity .25s ease,color .25s ease}.welcome-template-blank:hover .welcome-blank-preview svg{opacity:1;color:var(--fg-primary)}.welcome-template-replace,.welcome-template-reset{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:6px;border:none;background:#000000a6;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease;z-index:2}.welcome-template-card:hover .welcome-template-replace,.welcome-template-card:hover .welcome-template-reset{opacity:1}.welcome-template-replace:hover{background:#ff6600d9;color:#fff}.welcome-template-reset:hover{background:#ffffff2e;color:#fff}.welcome-template-replaced .welcome-template-name{color:var(--text)}@media (max-width: 768px){.welcome-features{display:none}.welcome-templates{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.welcome-template-card{border-radius:10px}.welcome-template-card:before{border-radius:11px}.welcome-template-preview,.welcome-blank-preview{min-height:60px}.welcome-template-card .welcome-template-body{padding:10px 12px}.welcome-template-name{font-size:13px}.welcome-template-desc{font-size:11px;line-height:1.35;opacity:.7}.welcome-template-card:hover{transform:translateY(-1px)}.welcome-title{font-size:22px}.welcome-tagline{font-size:13px}.welcome-header{margin-bottom:12px}.welcome-subtitle{margin-bottom:10px;font-size:12px}}@media (max-width: 480px){.welcome-modal{padding:14px 12px}.welcome-templates{grid-template-columns:1fr;gap:8px}.welcome-template-preview,.welcome-blank-preview{min-height:50px}.welcome-template-card .welcome-template-body{padding:8px 10px}.welcome-template-name{font-size:12px}.welcome-template-desc{font-size:10px}.welcome-title{font-size:20px}.welcome-tagline{font-size:12px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(12px) saturate(.8);-webkit-backdrop-filter:blur(12px) saturate(.8);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .2s ease}.modal.box{background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-xl);padding:28px;min-width:720px;-webkit-user-select:text;user-select:text;max-width:95vw;width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080,0 0 0 1px #ffffff0a,0 0 80px #ff66000a;animation:scale-in .2s ease}@media (max-width: 768px){.modal.box{min-width:0;width:calc(100% - 24px);max-width:100%;margin:0 12px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}}.modal h3{margin:0 0 20px;background:linear-gradient(135deg,#ff8533,#f60);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:17px;font-weight:700}.modal-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--bg-dark);padding:3px;border-radius:8px;width:fit-content}.modal-tabs button{padding:7px 16px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-tabs button:hover{color:var(--text);background:#ffffff08}.modal-tabs button.active{color:var(--fg-primary);border-color:#f603;background:#ff660014;box-shadow:0 1px 4px #0003}.modal-input{width:100%;padding:10px 14px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;margin-bottom:12px;outline:none;transition:all .2s ease}.modal-input:focus{border-color:var(--fg-primary);box-shadow:0 0 0 3px #ff66001a,0 0 16px #ff66000f}.modal-input::placeholder{color:var(--text-dim);opacity:.6}.modal-error{color:var(--error);font-size:12px;margin:0 0 12px;padding:8px 12px;background:#ff444414;border:1px solid rgba(255,68,68,.2);border-radius:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.shortcuts-modal{width:360px;min-width:360px;max-width:360px}.uniforms-add-btn-expanded{flex-shrink:0;width:100%;padding:.75rem 1rem;margin-bottom:.5rem;border:var(--border-width) dashed var(--fg-primary);border-radius:.375rem;background:transparent;color:var(--fg-primary);font-size:clamp(.75rem,1.5vw,.875rem);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.uniforms-add-btn-expanded:hover{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff660014}.uniforms-add-form-expanded{flex:1;display:flex;flex-direction:column;padding:.75rem 1rem;gap:.75rem;min-height:0;min-width:0;overflow:auto}.uniforms-add-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.uniforms-add-datatype-row{flex-direction:row;flex-wrap:wrap;gap:.75rem}.uniforms-add-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;flex-shrink:0}.uniforms-add-submit-right{margin-left:auto}.uniforms-add-submit{padding:.4rem .85rem;font-size:.875rem}.uniforms-add-label{display:flex;flex-direction:column;gap:.3rem}.uniforms-add-label span{font-size:.8rem;font-weight:500;color:var(--text-dim)}.uniforms-add-presets{display:flex;flex-wrap:wrap;gap:.3rem}.uniforms-add-preset{padding:.3rem .55rem;font-size:.8rem;font-family:var(--font-mono);background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:.25rem;color:var(--text-dim);cursor:pointer;transition:border-color .15s,color .15s}.uniforms-add-preset:hover{border-color:var(--fg-primary);color:var(--text)}.uniforms-add-preset.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.uniforms-add-input{padding:.4rem .55rem;font-size:.85rem;font-family:var(--font-mono);background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:.25rem;color:var(--text);outline:none}.uniforms-add-input:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px #ff66001a}.uniforms-add-input::placeholder{color:var(--text-dim);opacity:.8}.uniforms-add-name{width:100%;max-width:16rem}.uniforms-add-select{padding:.4rem .55rem;font-size:.85rem;font-family:var(--font-mono);background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:.25rem;color:var(--text);cursor:pointer;outline:none}.uniforms-add-select:hover{border-color:var(--fg-primary)}.uniforms-add-select.uniforms-add-dim{min-width:4.5rem}.uniforms-add-select.uniforms-add-dim-grayed,.uniforms-add-dim-grayed{opacity:.5;cursor:default}@container (max-width: 320px){.uniforms-add-form-expanded{padding:.5rem .6rem;gap:.5rem}.uniforms-add-header-row{padding-bottom:.4rem;gap:.4rem}.uniforms-add-header-title{font-size:.8rem}.tuner-back-btn{padding:4px 8px;font-size:10px}.uniforms-add-preset{padding:.2rem .35rem;font-size:.7rem}.uniforms-add-label span{font-size:.7rem}.uniforms-add-input,.uniforms-add-select{padding:.3rem .4rem;font-size:.75rem}.uniforms-add-submit{padding:.3rem .6rem;font-size:.75rem}.uniforms-add-datatype-row{gap:.5rem}.uniforms-add-name{max-width:100%}}@container (min-width: 321px) and (max-width: 480px){.uniforms-add-form-expanded{padding:.6rem .75rem;gap:.6rem}.uniforms-add-preset{padding:.25rem .45rem;font-size:.75rem}.uniforms-add-label span{font-size:.75rem}.uniforms-add-input,.uniforms-add-select{padding:.35rem .5rem;font-size:.8rem}.uniforms-add-submit{padding:.35rem .7rem;font-size:.8rem}.uniforms-add-name{max-width:100%}}@container (min-width: 481px){.uniforms-add-form-expanded{padding:.75rem 1rem;gap:.75rem}.uniforms-add-preset{padding:.3rem .55rem;font-size:.8rem}.uniforms-add-name{max-width:16rem}}.uniforms-list{display:flex;flex-direction:column;overflow-y:auto;flex:1;min-height:0}.shortcuts-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.shortcut-row kbd{padding:4px 8px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:4px;font-size:12px;font-family:inherit;white-space:nowrap}.shortcut-row span{color:var(--text-dim);font-size:13px}.export-modal{width:720px;min-width:720px;max-width:720px}.export-modal-section{margin-bottom:20px}.export-modal-section:last-of-type{margin-bottom:0}.export-modal-section h4{margin:0 0 10px;color:var(--text);font-size:13px;font-weight:600}.export-modal-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.export-modal-row span{color:var(--text);font-size:13px;min-width:72px}.export-modal-row select{padding:6px 10px;font-size:13px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:6px;color:var(--text)}.export-modal-duration .duration-input-group{display:flex;align-items:center;gap:4px}.export-modal-buttons{display:flex;gap:8px;margin-top:12px}.export-modal-buttons .btn{flex:1}.export-modal .convert-preview{height:400px;min-height:400px;max-height:400px;overflow:auto;padding:14px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:8px;font-size:12px;white-space:pre-wrap;flex:1;margin:14px 0}.library-modal{min-width:700px;max-width:860px;width:80vw;max-height:80vh;display:flex;flex-direction:column;padding:0!important;overflow:hidden}.library-header{display:flex;align-items:center;gap:16px;padding:20px 24px 16px;border-bottom:var(--border-width) solid var(--border);flex-shrink:0}.library-header h3{margin:0;white-space:nowrap}.library-search{flex:1;padding:8px 14px;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:all .2s ease}.library-search:focus{border-color:var(--fg-primary);box-shadow:0 0 0 3px #ff66001a,0 0 16px #ff66000f}.library-search::placeholder{color:var(--text-dim);opacity:.6}.library-body{display:flex;flex:1;min-height:0;overflow:hidden}.library-sidebar{width:170px;flex-shrink:0;border-right:var(--border-width) solid var(--border);padding:8px 0;overflow-y:auto;background:#00000026}.library-cat-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 18px;background:none;border:none;color:var(--text);font-family:inherit;font-size:13px;cursor:pointer;text-align:left;transition:all .12s ease}.library-cat-btn:hover{color:var(--text);background:#ffffff08}.library-cat-btn.active{color:var(--fg-primary);background:#ff660014}.library-cat-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0;opacity:.7}.library-cat-btn.active .library-cat-icon{opacity:1}.library-content{flex:1;overflow-y:auto;padding:12px 20px 20px}.library-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-primary);padding:12px 0 6px;border-bottom:var(--border-width) solid var(--border);margin-bottom:8px}.library-snippet{margin-bottom:12px;border:var(--border-width) solid var(--border);border-radius:8px;overflow:hidden;transition:all .2s ease}.library-snippet:hover{border-color:#ff66004d;box-shadow:0 2px 12px #ff66000f}.library-snippet-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffffff05;gap:12px}.library-snippet-name{font-size:13px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-snippet-desc{font-size:12px;color:var(--text);margin-top:2px}.library-snippet-author{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.library-option-select{width:100%;padding:6px 10px;font-size:12px;font-family:inherit;background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;outline:none}.library-option-select:hover{border-color:#f606}.library-option-select:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px #ff660026}.library-snippets-wrap.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.library-snippets-wrap.library-grid .library-snippet{margin-bottom:0;display:flex;flex-direction:column}.library-snippets-wrap.library-grid .library-snippet-header{flex-direction:column;align-items:stretch;gap:6px;flex:1;min-height:0}.library-snippets-wrap.library-grid .library-snippet-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-snippet-actions{display:flex;gap:6px;align-items:center;flex-shrink:0;min-width:0;overflow:hidden}.library-snippet-actions .library-action-btn{flex-shrink:0}.library-snippet-actions .library-option-select,.library-snippet-actions .library-snippet-actions-spacer{flex:1;min-width:0}.library-snippet-actions .library-option-select{overflow:hidden;text-overflow:ellipsis}.library-snippets-wrap.library-grid .library-snippet-actions{margin-top:auto;align-self:stretch}.library-snippets-wrap.library-grid .library-action-btn{height:24px;min-height:24px}.library-code-view{display:flex;flex-direction:column;height:100%;min-height:0}.library-code-view-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 12px;border-bottom:var(--border-width) solid var(--border);margin-bottom:12px;flex-shrink:0}.library-code-view-header-left{display:flex;align-items:center;gap:12px;min-width:0}.library-back-btn{padding:6px 12px;font-size:12px;flex-shrink:0}.library-code-view-title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}.library-code-view-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-code-view-author{font-size:11px;color:var(--text-dim)}.library-code-view-author.clickable{background:none;border:none;padding:0;font:inherit;font-size:11px;color:var(--text-dim);cursor:pointer}.library-code-view-author.clickable:hover{color:var(--fg-primary);text-decoration:underline}.library-code-view-insert-btn{padding:6px 14px;font-size:12px;flex-shrink:0}.library-code-view-description{font-size:12px;color:var(--text-dim);line-height:1.5;margin-bottom:12px;padding:8px 0;white-space:pre-wrap;word-break:break-word}.library-code-view-code{flex:1;overflow:auto;margin:0;padding:12px;font-size:12px;font-family:var(--font-mono);background:var(--bg-dark);border:var(--border-width) solid var(--border);border-radius:6px;color:var(--text);white-space:pre-wrap;word-break:break-word}.library-code-view-code code{font-family:inherit}.library-code-view-code .library-code-view-highlighted{display:block;white-space:pre;font-family:inherit}.library-code-view-code .view-line{display:block;font-family:inherit}.library-empty{text-align:center;color:var(--text);padding:40px 20px;font-size:13px}.tuner-back-row{display:flex;padding:10px 0;margin-bottom:4px;border-bottom:var(--border-width) solid var(--border)}.tuner-back-row-bottom{margin-top:auto;margin-bottom:0;padding-top:10px;padding-bottom:0;border-bottom:none;border-top:var(--border-width) solid var(--border)}.tuner-texture-picker,.tuner-sliders-wrap{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow-x:hidden}.tuner-texture-picker .tuner-texture-content{flex:1;min-height:0;overflow-y:auto}.tuner-sliders-wrap>.tuner-tuners-section,.tuner-sliders-wrap>.tuner-mode-toggle-row{flex-shrink:0;width:100%;min-width:0}.uniforms-add-header-row{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding-bottom:.5rem;margin-bottom:.25rem;border-bottom:var(--border-width) solid var(--border);min-width:0}.uniforms-add-header-title{font-size:.875rem;font-weight:600;color:var(--fg-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.tuner-back-btn{padding:5px 12px;font-size:11px;font-weight:500;flex-shrink:0;letter-spacing:.01em}.tuner-menu-header{cursor:pointer;min-height:32px;padding:6px 12px}.tuner-menu-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.tuner-expression{font-size:12px;color:var(--fg-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tuner-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tuner-mode-toggle-row{display:flex;gap:clamp(6px,2cqw,12px);margin-bottom:12px;flex-wrap:wrap}.tuner-mode-toggle{padding:4px 10px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:transparent;color:var(--text-dim);font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .12s}.tuner-mode-toggle:hover{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff660014}.tuner-mode-toggle.active{color:var(--fg-primary);border-color:#ff66004d;background:#ff660014}.tuner-mode-toggle.color{color:var(--fg-primary);border-color:#ff66004d;background:#ff66000f}.tuner-plot-section{display:flex;flex-direction:column;gap:clamp(6px,2cqw,10px)}.tuner-plot-section-expand{flex:1;min-height:0}.tuner-plot-row{display:flex;flex-direction:column;gap:clamp(6px,2cqw,10px);flex:1;min-height:0;min-width:0}.tuner-plot-row-with-sliders:has(.tuner-plot-pad-square){flex:0 0 auto}.tuner-plot-row-with-sliders{flex-direction:row;align-items:flex-start}.tuner-plot-row-with-sliders .tuner-plot-pad:not(.tuner-plot-pad-square){flex:1;min-width:0}.tuner-plot-row-with-sliders .tuner-plot-extra-sliders{flex-shrink:0;min-width:100px;width:140px;justify-content:center}.tuner-plot-section-expand .tuner-plot-pad{flex:1;min-height:60px;max-height:140px}.tuner-plot-pad-square{aspect-ratio:1;width:200px;min-width:80px;max-width:200px;height:auto;flex:0 0 auto;align-self:flex-start}.tuner-plot-section-expand .tuner-plot-pad.tuner-plot-pad-square,.tuner-plot-row-with-sliders .tuner-plot-pad.tuner-plot-pad-square{flex:0 0 auto;max-height:none;min-height:0}.tuner-plot-pad{position:relative;border:var(--border-width) solid var(--border);border-radius:4px;background-color:#0000004d;background-image:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px);background-size:10% 10%;cursor:crosshair;touch-action:none}.tuner-plot-pad:hover{border-color:#ff66004d}.tuner-plot-extra-sliders{display:flex;flex-direction:column;gap:8px}.tuner-tuner-row-compact{gap:8px}.tuner-tuner-row-compact .tuner-label{min-width:18px;font-size:11px}.tuner-tuner-row-compact .tuner-value{min-width:52px;text-align:right}.tuner-label-z{color:#64b4ffe6}.tuner-plot-handle{position:absolute;width:12px;height:12px;border:2px solid rgba(255,102,0,.9);border-radius:50%;background:#ff660040;pointer-events:none}.tuner-plot-values{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;color:var(--text);font-family:var(--font-mono);padding:8px 0 0;flex-shrink:0;align-items:center}.tuner-plot-value-single{font-variant-numeric:tabular-nums}.tuner-plot-value-chip{font-variant-numeric:tabular-nums;white-space:nowrap}.tuner-plot-section .tuner-range-row{flex-shrink:0}.tuner-plot-range-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.tuner-plot-range-row .tuner-range-input{min-width:44px;width:56px;flex:0 1 56px}.tuner-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:3px;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;transition:all .12s}.tuner-close:hover{color:var(--text);background:#ffffff0f}.tuner-color-section,.tuner-tuners-section{display:flex;flex-direction:column;gap:clamp(6px,2cqw,10px)}.tuner-color-tuners-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(6px,2cqw,10px) clamp(10px,4cqw,20px)}.tuner-color-tuners-grid .tuner-tuner-row{min-width:0}.tuner-color-picker-label{display:flex;flex-direction:column;gap:4px}.tuner-color-picker-label span{font-size:11px;font-weight:500;color:var(--text-dim)}.tuner-color-row{display:flex;align-items:flex-end;gap:10px;margin-bottom:8px}.tuner-color-input{width:44px;height:clamp(28px,8cqw,36px);padding:0;border:var(--border-width) solid var(--border);border-radius:4px;cursor:pointer;background:transparent;flex-shrink:0}.tuner-color-input::-webkit-color-swatch-wrapper{padding:2px}.tuner-color-input::-webkit-color-swatch{border:none;border-radius:2px}.tuner-color-preview{flex:1;height:clamp(28px,8cqw,36px);min-height:0;border-radius:4px;border:var(--border-width) solid var(--border)}.code-box-menu-body.tuner-tuners-menu-body{container-type:inline-size;position:relative;padding:clamp(8px,2vw,12px) clamp(10px,2.5vw,16px) clamp(10px,2.5vw,14px);overflow:hidden;display:flex;flex-direction:column;min-height:0;min-width:0;-webkit-user-select:text;user-select:text}.code-box-menu-body.tuner-tuners-menu-body::-webkit-scrollbar{display:none}.inspector-tuner-body.tuner-tuners-menu-body{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}@container (max-width: 280px){.tuner-tuners-menu-body .tuner-builtin-section,.tuner-tuners-menu-body .tuner-custom-section,.tuner-tuners-menu-body .tuner-uniform-row{font-size:11px;padding:3px 0}.tuner-tuners-menu-body .uniforms-add-btn-expanded{padding:.5rem .6rem;font-size:.7rem}}@container (max-width: 320px){.tuner-tuners-menu-body .tuner-sliders-wrap .tuner-plot-row-with-sliders{flex-direction:column;align-items:flex-start}.tuner-tuners-menu-body .tuner-plot-row-with-sliders .tuner-plot-pad:not(.tuner-plot-pad-square){flex:0 0 auto;min-height:120px;max-height:160px}.tuner-tuners-menu-body .tuner-plot-row-with-sliders .tuner-plot-pad-square{width:min(200px,100%)}.tuner-tuners-menu-body .tuner-plot-row-with-sliders .tuner-plot-extra-sliders{width:100%;min-width:0}.tuner-tuners-menu-body .tuner-color-section,.tuner-tuners-menu-body .tuner-tuners-section{gap:8px}}@container (max-width: 280px){.tuner-tuners-menu-body .tuner-tuners-vec4,.tuner-tuners-menu-body .tuner-color-tuners-grid{grid-template-columns:1fr;gap:8px}.tuner-tuners-menu-body .tuner-color-row{flex-direction:column;align-items:flex-start}.tuner-tuners-menu-body .tuner-color-preview{width:100%;min-height:32px}.tuner-tuners-menu-body .tuner-value-input,.tuner-tuners-menu-body .tuner-tuner-row-compact .tuner-value{min-width:40px}}@container (max-width: 260px){.tuner-tuners-menu-body .tuner-mode-toggle{padding:4px 6px;font-size:10px}.tuner-tuners-menu-body .tuner-mode-toggle-row{gap:4px;margin-bottom:8px}}@container (max-width: 240px){.tuner-tuners-menu-body .tuner-plot-pad-square{min-width:60px;max-width:100%}}.code-box-menu-body.details-panel-body{padding:12px 16px;overflow:hidden;display:flex;flex-direction:column;gap:10px;min-height:0;-webkit-user-select:text;user-select:text}.details-panel-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:10px}.details-panel-scroll::-webkit-scrollbar{width:6px}.details-panel-scroll::-webkit-scrollbar-track{background:transparent}.details-panel-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.details-panel-about{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.details-panel-info{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.details-panel-info .details-panel-author-row{flex-shrink:0}.details-panel-shader-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.details-panel-author-row{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-dim);font-size:12px;transition:color .15s ease}.details-panel-author-row:hover{color:var(--fg-primary)}.details-panel-author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.details-panel-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.details-panel-dates{font-size:11px;color:var(--text-dim);flex-shrink:0}.details-panel-dates-sep{opacity:.7}.details-panel-description{font-size:12px;color:var(--text);line-height:1.6;white-space:pre-wrap;word-break:break-word}.details-panel-description-wrap{display:flex;flex-direction:column;gap:4px}.details-panel-description-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.details-panel-description-input{width:100%;min-height:60px;padding:8px 10px;font-size:12px;font-family:inherit;line-height:1.5;color:var(--text);background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:6px;resize:vertical;transition:border-color .15s ease}.details-panel-description-input:focus{outline:none;border-color:var(--fg-primary)}.details-panel-description-input::placeholder{color:var(--text-dim);opacity:.8}.details-panel-description-count{font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums}.details-panel-tags{display:flex;flex-wrap:wrap;gap:6px}.details-panel-tag{padding:2px 10px;font-size:11px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:12px;color:var(--text-dim);text-decoration:none;transition:all .15s ease}.details-panel-tag:hover{border-color:var(--fg-primary);color:var(--fg-primary)}.details-panel-divider{height:1px;background:var(--border);flex-shrink:0}.details-panel-discussion-header{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:4px;border-top:1px solid var(--border)}.details-panel-discussion-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.details-panel-discussion-count{font-size:10px;font-weight:600;color:var(--fg-muted);background:#ff66001a;border-radius:10px;padding:1px 7px;line-height:1.4}.details-panel-list{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.details-panel-comment{padding:10px 12px;background:var(--bg-light);border-radius:8px;border:var(--border-width) solid var(--border);display:flex;flex-direction:column;gap:6px}.details-panel-comment-header{display:flex;align-items:center;gap:8px}.details-panel-comment-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0}.details-panel-comment-time{font-size:11px;color:var(--text-dim);margin-left:auto}.details-panel-comment-footer{display:flex;justify-content:flex-end;margin-top:6px}.details-panel-comment-delete{flex-shrink:0;padding:2px 6px;font-size:14px;line-height:1;color:var(--text-dim);background:transparent;border:none;border-radius:4px;cursor:pointer;opacity:0;transition:color .15s,background .15s,opacity .15s}.details-panel-comment:hover .details-panel-comment-delete{opacity:1}.details-panel-comment-delete:hover:not(:disabled){color:var(--error, #e74c3c);background:#e74c3c14}.details-panel-comment-delete:disabled{cursor:default;opacity:.6}.details-panel-author{font-size:12px;font-weight:600;color:var(--fg-muted);text-decoration:underline;text-decoration-color:transparent;cursor:pointer;transition:text-decoration-color .15s}.details-panel-author:hover{text-decoration-color:currentColor}.details-panel-comment.anchored{border-left:3px solid rgba(96,165,250,.4)}.details-panel-comment-anchor-bar{display:flex;align-items:center;gap:6px;margin-bottom:2px}.details-panel-comment-line-ref{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-weight:600;font-family:var(--font-mono);color:#60a5fa;background:#60a5fa14;border:1px solid rgba(96,165,250,.2);border-radius:3px;cursor:pointer;transition:all .15s ease}.details-panel-comment-line-ref:hover{background:#60a5fa26;border-color:#60a5fa66}.details-panel-comment-outdated{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--warning, #f59e0b);background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:3px;padding:1px 5px;line-height:1.3;cursor:pointer;transition:background .15s,border-color .15s}.details-panel-comment-outdated:hover{background:#f59e0b2e;border-color:#f59e0b59}.details-panel-comment-outdated-static{cursor:default}.details-panel-code-block{position:relative}.details-panel-code-copy{position:absolute;top:6px;right:6px;padding:4px;color:var(--text-dim);background:#0003;border:none;border-radius:4px;cursor:pointer;opacity:.7;transition:opacity .15s,background .15s}.details-panel-code-copy:hover{opacity:1;background:#0000004d}.details-panel-comment-code-snapshot{margin:0;padding:6px 32px 6px 8px;font-size:10px;font-family:var(--font-mono);line-height:1.5;color:var(--text-dim);background:#00000026;border-radius:4px;overflow-x:auto;max-height:80px;white-space:pre}.details-panel-comment-code-snapshot code{font-family:inherit}.suggestion-card{border:1px solid rgba(96,165,250,.2);border-radius:6px;overflow:hidden;background:#0000001a}.suggestion-card-header{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;color:var(--text-dim);background:#60a5fa0f;border-bottom:1px solid rgba(96,165,250,.12)}.suggestion-card-header svg{opacity:.6}.suggestion-card-copy{margin-left:auto;padding:4px;color:var(--text-dim);background:transparent;border:none;border-radius:4px;cursor:pointer;opacity:.6;transition:opacity .15s,background .15s}.suggestion-card-copy:hover{opacity:1;background:#00000026}.suggestion-card-header .suggestion-card-copy svg{opacity:1}.suggestion-card-title{flex:1}.suggestion-card-line{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--text-dim);opacity:.85}.suggestion-card-applied-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#34d399;background:#34d3991a;border:1px solid rgba(52,211,153,.25);border-radius:3px;padding:1px 5px;line-height:1.3}.suggestion-card-diff{font-family:var(--font-mono);font-size:10px;line-height:1.65;overflow-x:auto}.suggestion-diff-line{display:flex;align-items:baseline;white-space:pre;padding:0 8px;min-height:17px}.suggestion-diff-line code{font-family:inherit}.suggestion-diff-prefix{flex-shrink:0;width:14px;text-align:center;-webkit-user-select:none;user-select:none;font-weight:700}.suggestion-diff-line.removed{background:#f851491a;color:#f87171}.suggestion-diff-line.removed .suggestion-diff-prefix{color:#f87171}.suggestion-diff-line.added{background:#34d3991a;color:#34d399}.suggestion-diff-line.added .suggestion-diff-prefix{color:#34d399}.suggestion-card-actions{padding:6px 10px;border-top:1px solid rgba(96,165,250,.12);display:flex;gap:6px}.suggestion-apply-btn{font-size:11px;font-weight:600;font-family:inherit;padding:4px 12px;border-radius:4px;border:none;cursor:pointer;color:#fff;background:#34d399;transition:background .15s}.suggestion-apply-btn:hover{background:#2cc58a}.suggestion-revert-btn{font-size:11px;font-weight:600;font-family:inherit;padding:4px 12px;border-radius:4px;border:1px solid rgba(248,113,113,.3);cursor:pointer;color:#f87171;background:#f8717114;transition:all .15s}.suggestion-revert-btn:hover{background:#f8717126;border-color:#f8717180}.suggestion-form-anchor-row{display:flex;align-items:center;gap:6px}.suggestion-form-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-family:inherit;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s}.suggestion-form-toggle:hover{color:var(--text);border-color:var(--text-dim)}.suggestion-form-diff{margin-top:8px;border:1px solid rgba(96,165,250,.2);border-radius:6px;overflow:hidden;background:#0000001a}.suggestion-form-diff-header{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;color:var(--text-dim);background:#60a5fa0f;border-bottom:1px solid rgba(96,165,250,.12)}.suggestion-form-diff-header svg{opacity:.6}.suggestion-form-diff .suggestion-card-diff{border-radius:0}.suggestion-form-replacement-edit{display:block;width:100%;font-family:var(--font-mono);font-size:10px;line-height:1.5;padding:6px 8px;border:none;border-top:1px solid rgba(96,165,250,.12);background:#34d3990a;color:var(--text);resize:vertical;min-height:36px;box-sizing:border-box}.suggestion-form-replacement-edit:focus{outline:none;background:#34d39912}.details-panel-comment-body{min-width:0;font-size:12px;color:var(--text);line-height:1.6;white-space:pre-wrap;word-break:break-word}.details-panel-loading,.details-panel-empty{font-size:12px;color:var(--text-dim);padding:8px 0}.details-panel-form{display:flex;flex-direction:column;gap:8px;flex-shrink:0;position:relative}.details-input-wrap{display:flex;flex-direction:column;gap:6px}.details-input-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.details-link-code-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;font-size:11px;font-family:inherit;color:var(--text-dim);background:transparent;border:var(--border-width) solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.details-link-code-btn:hover{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff66000f}.details-link-code-btn svg{flex-shrink:0}.details-anchor-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--fg-primary);background:#ff660014;border:1px solid rgba(255,102,0,.25);border-radius:4px;line-height:1.3}.details-anchor-badge svg{flex-shrink:0;opacity:.8}.details-anchor-badge-remove{padding:0 2px;margin-left:2px;font-size:13px;line-height:1;color:var(--text-dim);background:none;border:none;cursor:pointer;border-radius:2px;transition:color .15s}.details-anchor-badge-remove:hover{color:var(--error, #e74c3c)}.details-help-btn{width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-dim);background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:50%;cursor:help;margin-left:auto;transition:color .15s,border-color .15s}.details-help-btn:hover{color:var(--text);border-color:var(--fg-muted)}.details-post-btn{margin:0 auto;min-width:72px}.details-help-popover{position:absolute;bottom:calc(100% + 6px);right:0;padding:10px 12px;background:var(--bg-elevated);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--popup-shadow);font-size:11px;color:var(--text);max-width:260px;z-index:100}.details-help-popover-title{margin:0 0 6px;font-weight:600;font-size:12px}.details-help-popover-list{margin:0;padding-left:16px;line-height:1.5}.details-help-popover-list li{margin-bottom:4px}.details-help-popover-list li:last-child{margin-bottom:0}.details-help-popover code{padding:1px 4px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:4px;font-size:10px}.details-panel-input{width:100%;padding:8px 10px;font-size:12px;font-family:inherit;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:6px;color:var(--text);resize:vertical;min-height:48px}.details-panel-input:focus{outline:none;border-color:var(--fg-primary)}.linkified-username,.linkified-url{color:var(--fg-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.linkified-username{font-weight:500}.linkified-username:hover,.linkified-url:hover{opacity:.85}.linkified-image-wrap{display:inline-block;margin:4px 4px 4px 0;vertical-align:middle}.linkified-image{max-width:280px;max-height:200px;border-radius:6px;border:var(--border-width) solid var(--border);object-fit:contain;vertical-align:middle}.linkified-image-wrap:hover .linkified-image{border-color:var(--fg-muted)}.linkified-code-block{margin:8px 0;padding:10px 12px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:6px;font-size:11px;font-family:var(--font-mono);overflow-x:auto;white-space:pre}.linkified-code-block code{background:none;padding:0}.linkified-inline-code{padding:2px 6px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:4px;font-size:11px;font-family:var(--font-mono)}.linkified-line-ref{padding:1px 4px;background:#ff66001f;border:1px solid rgba(255,102,0,.3);border-radius:4px;font-size:inherit;font-family:inherit;color:var(--fg-primary);cursor:pointer;font-weight:500}.linkified-line-ref:hover:not(.linkified-line-ref-inert){background:#f603;border-color:#ff660080}.linkified-line-ref-inert{cursor:default;background:none;border-color:transparent}.tuner-tuners-empty{font-size:12px;color:var(--text);padding:10px 0}.uniforms-add-section-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.tuner-tuner-row{display:flex;align-items:center;gap:8px;min-width:0}.tuner-tuners-section.tuner-tuners-vec4{display:grid;grid-template-columns:1fr 1fr;gap:clamp(6px,2cqw,10px) clamp(10px,4cqw,20px)}.tuner-tuners-section.tuner-tuners-vec4 .tuner-tuner-row{min-width:0}.tuner-label{font-size:11px;font-weight:600;color:var(--text);width:22px;flex-shrink:0;text-align:right;text-transform:uppercase;letter-spacing:.04em}.tuner-label-r{color:#ff6b6b}.tuner-label-g{color:#51cf66}.tuner-label-b{color:#4dabf7}.tuner-label-a{color:var(--text)}.tuner-bool-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--text)}.tuner-bool-label input[type=checkbox]{cursor:pointer}.tuner-bool-toggle{display:flex;align-items:center;position:relative;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:6px;padding:2px;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:100px}.tuner-bool-toggle:focus-visible{outline:2px solid rgba(255,102,0,.5);outline-offset:2px}.tuner-bool-toggle-option{flex:1;text-align:center;font-size:11px;font-weight:500;padding:5px 8px;z-index:1;color:var(--text-dim);transition:color .15s}.tuner-bool-toggle-thumb{position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background:var(--fg-primary);border-radius:6px;transition:transform .15s ease;box-shadow:0 0 4px #ff66004d}.tuner-bool-toggle-thumb.on{transform:translate(calc(100% + 2px))}.tuner-bool-toggle-thumb.off{transform:translate(0)}.tuner-bool-toggle[aria-checked=false] .tuner-bool-toggle-option:first-child{color:var(--text)}.tuner-bool-toggle[aria-checked=false] .tuner-bool-toggle-option:last-child{color:var(--text-dim)}.tuner-bool-toggle[aria-checked=true] .tuner-bool-toggle-option:first-child{color:var(--text-dim)}.tuner-bool-toggle[aria-checked=true] .tuner-bool-toggle-option:last-child{color:var(--text)}.tuner-tuner{flex:1 1 0;min-width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-light);border-radius:2px;outline:none;cursor:pointer}.tuner-tuner::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--fg-primary);border:none;border-radius:50%;cursor:pointer;box-shadow:0 0 4px #ff66004d;transition:transform .1s}.tuner-tuner::-webkit-slider-thumb:hover{transform:scale(1.2)}.tuner-tuner::-moz-range-thumb{width:12px;height:12px;background:var(--fg-primary);border:none;border-radius:50%;cursor:pointer}.tuner-tuner.tuner-tuner-r{background:linear-gradient(to right,#1a1a1a,#f44)}.tuner-tuner.tuner-tuner-g{background:linear-gradient(to right,#1a1a1a,#4f4)}.tuner-tuner.tuner-tuner-b{background:linear-gradient(to right,#1a1a1a,#48f)}.tuner-value{font-size:11px;color:var(--text);font-family:var(--font-mono);min-width:52px;text-align:right;font-variant-numeric:tabular-nums}.tuner-value-input{min-width:44px;flex:0 1 52px;padding:3px 6px;font-size:11px;font-family:inherit;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);text-align:right;-moz-appearance:textfield}.tuner-value-input::-webkit-inner-spin-button,.tuner-value-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tuner-value-input:focus{outline:none;border-color:var(--fg-primary);box-shadow:0 0 0 2px #ff66001a}.tuner-range-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.tuner-range-label{font-size:11px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.tuner-range-input{width:56px;padding:3px 6px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:4px;color:var(--text);font-size:11px;font-family:inherit;text-align:right;outline:none;transition:border-color .15s;-moz-appearance:textfield}.tuner-range-input::-webkit-inner-spin-button,.tuner-range-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tuner-range-input:focus{border-color:var(--fg-primary);box-shadow:0 0 0 2px #ff66001a}.tuner-range-sep{font-size:11px;color:var(--text-dim);opacity:.5}.error-expand-item{cursor:pointer;padding:6px 10px;border-bottom:none;color:var(--text-dim);transition:background .15s,color .15s}.error-expand-item:hover{background:#ff444414;color:var(--text)}.error-expand-label{font-size:11px;font-style:italic}.viewport-diag-btn,.viewport-perf-btn{font-size:14px;opacity:.6;transition:opacity .15s,color .15s}.viewport-diag-btn:hover,.viewport-perf-btn:hover{opacity:1}.viewport-diag-btn.active{opacity:1;color:#f60;text-shadow:0 0 6px rgba(255,102,0,.4)}.viewport-diag-btn.nan-detected{opacity:1;animation:nan-pulse 1.5s ease-in-out infinite}.viewport-diag-btn.nan-detected:not(.active){color:#f44;text-shadow:0 0 8px rgba(255,68,68,.5)}@keyframes nan-pulse{0%,to{opacity:1}50%{opacity:.5}}.nan-badge{position:absolute;top:-4px;right:-6px;font-size:8px;font-weight:700;letter-spacing:.04em;padding:1px 4px;border-radius:4px;background:#f44;color:#fff;line-height:1.2;pointer-events:none;box-shadow:0 1px 4px #ff444480}.viewport-perf-btn.active{opacity:1;color:#4af;text-shadow:0 0 6px rgba(68,170,255,.4)}.local-history-item{background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:8px;padding:10px 12px;transition:border-color .15s}.local-history-item:hover{border-color:var(--fg-primary)}.local-history-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.local-history-label{font-size:13px;font-weight:600;color:var(--text);cursor:default}.local-history-label-editable{cursor:pointer}.local-history-time{font-size:11px;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.local-history-rename-input{background:var(--bg-dark);border:1px solid var(--fg-primary);border-radius:4px;color:var(--text);font-size:13px;padding:2px 6px;outline:none;flex:1}.local-history-preview{font-size:11px;color:var(--text-dim);margin:0 0 8px;padding:6px 8px;background:var(--bg-dark);border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:pre;max-height:52px;font-family:var(--font-mono)}.local-history-item-actions{display:flex;gap:6px}.btn-danger{color:#f44;border-color:#ff44444d}.btn-danger:hover{background:#ff44441a;border-color:#ff444480}.viewport-heatmap-btn{font-size:14px;opacity:.6;transition:opacity .15s,color .15s}.viewport-heatmap-btn:hover{opacity:1}.viewport-heatmap-btn.active{opacity:1;color:#f40;text-shadow:0 0 6px rgba(255,68,0,.4)}.tutorial-browser-modal{max-width:560px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.tutorial-browser-modal h3{margin:0 0 4px}.tutorial-browser-desc{font-size:13px;color:var(--text-dim);margin:0 0 16px}.tutorial-browser-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.tutorial-browser-item{background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:8px;padding:12px 14px;cursor:pointer;transition:border-color .15s,transform .1s}.tutorial-browser-item:hover{border-color:var(--fg-primary);transform:translateY(-1px)}.tutorial-browser-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.tutorial-browser-title{font-size:14px;font-weight:600;color:var(--text)}.tutorial-browser-difficulty{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:10px;font-weight:600}.tutorial-beginner{background:#00c86426;color:#0c6}.tutorial-intermediate{background:#ffaa0026;color:#fa0}.tutorial-advanced{background:#ff444426;color:#f64}.tutorial-browser-item-desc{font-size:12px;color:var(--text-dim);margin:0 0 4px;line-height:1.4}.tutorial-browser-steps{font-size:11px;color:var(--text-dim);opacity:.7}.tutorial-overlay{position:fixed;bottom:80px;left:16px;z-index:200;width:min(420px,40vw);background:var(--bg-mid);border:1px solid rgba(255,102,0,.3);border-radius:12px;box-shadow:0 8px 32px #00000080,0 0 20px #ff660014;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}.tutorial-overlay-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ff660014;border-bottom:var(--border-width) solid var(--border);-webkit-user-select:none;user-select:none}.tutorial-overlay-title{font-size:13px;font-weight:600;color:var(--fg-primary)}.tutorial-overlay-step{font-size:11px;color:var(--text-dim);margin-left:auto}.tutorial-overlay-close{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.tutorial-overlay-close:hover{color:var(--text)}.tutorial-overlay-body{padding:12px 14px}.tutorial-overlay-body h4{margin:0 0 6px;font-size:14px;color:var(--text)}.tutorial-overlay-body p{font-size:12px;color:var(--text-dim);line-height:1.5;margin:0 0 10px}.tutorial-overlay-body code{background:var(--bg-light);padding:1px 4px;border-radius:3px;font-size:11px;color:var(--fg-primary)}.tutorial-challenge{background:#ff66000f;border:1px solid rgba(255,102,0,.15);border-radius:6px;padding:8px 10px;font-size:12px;color:var(--text);margin-bottom:10px;line-height:1.4}.tutorial-challenge strong{color:var(--fg-primary)}.tutorial-overlay-nav{display:flex;gap:8px;justify-content:flex-end}@media (max-width: 768px){.tutorial-overlay{left:8px;right:8px;width:auto;bottom:72px}}.app{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.app-editor-wrap,.app-docs-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.app-loading{flex:1;display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted, #888)}:root{--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--fg-primary: #ff6600;--fg-secondary: #cc5200;--fg-muted: #996633;--fg-glow: rgba(255, 102, 0, .35);--fg-glow-soft: rgba(255, 102, 0, .12);--bg-dark: #09090b;--bg-mid: #111113;--bg-light: #19191d;--bg-elevated: #222226;--border: #27272a;--border-focus: #ff6600;--border-subtle: #1e1e22;--border-width: 2px;--grid: #1a1a1a;--text: #e8e8ed;--text-dim: #71717a;--error: #ef4444;--warning: #f59e0b;--success: #22c55e;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-glow: 0 0 20px rgba(255, 102, 0, .15), 0 0 60px rgba(255, 102, 0, .05);--popup-shadow: 0 4px 12px rgba(0, 0, 0, .4), 0 12px 40px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .03);--popup-item-hover: rgba(255, 255, 255, .04)}[data-theme=light]{--fg-primary: #c44000;--fg-secondary: #a33500;--fg-muted: #7a5530;--fg-glow: rgba(196, 64, 0, .2);--fg-glow-soft: rgba(196, 64, 0, .08);--bg-dark: #fafafa;--bg-mid: #f0f0f2;--bg-light: #e8e8ec;--bg-elevated: #dcdce0;--border: #d1d1d6;--border-focus: #c44000;--border-subtle: #e4e4e8;--border-width: 2px;--grid: #e8e8e8;--text: #18181b;--text-dim: #71717a;--error: #dc2626;--warning: #d97706;--success: #16a34a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(196, 64, 0, .08), 0 0 60px rgba(196, 64, 0, .03);--popup-shadow: 0 4px 12px rgba(0, 0, 0, .08), 0 12px 40px rgba(0, 0, 0, .16), 0 0 0 1px rgba(0, 0, 0, .04);--popup-item-hover: rgba(0, 0, 0, .04)}.btn{padding:6px 14px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative}.btn:hover{border-color:var(--fg-primary);color:var(--fg-primary);background:#ff66000f;box-shadow:0 0 16px #ff660014}.btn:active{transform:scale(.97);transition-duration:.08s}.btn.primary{background:linear-gradient(135deg,#ff7a1a 0%,var(--fg-primary) 50%,#e65c00 100%);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 2px 8px #ff660040}.btn.primary:hover{background:linear-gradient(135deg,#f83,#f72,#e65c00);border-color:transparent;box-shadow:0 4px 16px #ff660059,0 0 24px #ff660026;transform:translateY(-1px)}.btn.primary:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #ff66004d}.btn-sm{padding:4px 10px;font-size:11px}.btn.following{background:transparent;border-color:var(--border);color:var(--text-dim)}.btn.following:hover{border-color:var(--error);color:var(--error)}.page-wrap{flex:1;min-height:0;overflow-y:auto}.page-content{width:100%;margin:0 auto;padding:48px 32px 80px}.page-header{margin-bottom:48px}.page-title{font-size:32px;font-weight:800;color:var(--text);margin:0 0 10px;letter-spacing:-.02em}.page-intro{font-size:15px;color:var(--text-dim);line-height:1.65;margin:0}.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.filter-bar{display:flex;gap:4px;background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);padding:3px;flex-wrap:wrap}.filter-tab{padding:6px 14px;font-size:12px;font-weight:600;font-family:inherit;color:var(--text-dim);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-tab:hover{color:var(--text)}.filter-tab.active{color:var(--text);background:var(--bg-light)}.card{background:var(--bg-mid);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;color:var(--text-dim);font-size:14px;gap:12px}.page-footer{margin-top:48px;text-align:center}.divider{height:1px;background:var(--border);margin:24px 0}.label-muted{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}@media (max-width: 768px){.page-content{padding:28px 20px 60px}.page-title{font-size:24px}.page-intro{font-size:14px}}[data-theme=light] .grid-bg{background-image:radial-gradient(ellipse at 50% 0%,rgba(196,64,0,.04) 0%,transparent 60%),linear-gradient(rgba(196,64,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(196,64,0,.03) 1px,transparent 1px);background-size:100% 100%,36px 36px,36px 36px;background-repeat:no-repeat,repeat,repeat}[data-theme=light] ::-webkit-scrollbar-track{background:var(--bg-dark)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--border)}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}[data-theme=light] .inspector-mode-buttons{background:#0000000f}[data-theme=light] .inspector-canvas-panel{background:#fff9}[data-theme=light] .inspector-section.submode-inspect .inspector-canvas-panel{background:#ffffffb3}[data-theme=light] .inspector-controls{border-top-color:#00000014}[data-theme=light] .inspector-section.submode-inspect .inspector-mode-btn{background:#fff;border:1px solid var(--border);border-bottom:2px solid var(--border);margin-bottom:calc(-1 * var(--border-width));color:var(--text-dim)}[data-theme=light] .inspector-section.submode-inspect .inspector-mode-btn.active{color:#7c3aed;background:#fff;border-color:#7c3aed;border-bottom-color:#7c3aed}[data-theme=light] .tuner-tuner.tuner-tuner-r{background:linear-gradient(to right,#e0e0e0,#f44)}[data-theme=light] .tuner-tuner.tuner-tuner-g{background:linear-gradient(to right,#e0e0e0,#2a2)}[data-theme=light] .tuner-tuner.tuner-tuner-b{background:linear-gradient(to right,#e0e0e0,#48f)}[data-theme=light] .inspector-submode-bar-wrap{border-left-color:#0000001f}[data-theme=light] .inspector-submode-inline{background:#0000000f}[data-theme=light] .inspector-submode-inline .inspector-submode-tab{background:#fff;border:1px solid var(--border);color:var(--text-dim)}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-tuner{border-color:var(--border);color:#2563eb}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-inspect{border-color:var(--border);color:#7c3aed}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-errors{border-color:var(--border);color:#ca8a04}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-frames{border-color:var(--border);color:#16a34a}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-heatmap{border-color:var(--border);color:#dc2626}[data-theme=light] .inspector-submode-inline .inspector-submode-tab:hover{background:#fff;border-color:var(--border)}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-tuner:hover{color:#1d4ed8}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-inspect:hover{color:#6d28d9}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-errors:hover{color:#a16207}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-frames:hover{color:#15803d}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-heatmap:hover{color:#b91c1c}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-tuner.active{background:#fff;border-color:#2563eb;color:#2563eb}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-inspect.active{background:#fff;border-color:#7c3aed;color:#7c3aed}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-errors.active{background:#fff;border-color:#ca8a04;color:#ca8a04}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-frames.active{background:#fff;border-color:#16a34a;color:#16a34a}[data-theme=light] .inspector-submode-inline .inspector-submode-tab.submode-heatmap.active{background:#fff;border-color:#dc2626;color:#dc2626}[data-theme=light] .inspector-submode-tab.submode-tuner{color:#2563eb}[data-theme=light] .inspector-submode-tab.submode-tuner:hover{color:#1d4ed8}[data-theme=light] .inspector-submode-tab.submode-tuner.active{background:#fff;border-bottom-color:#2563eb;color:#2563eb;box-shadow:inset 0 -2px #2563eb}[data-theme=light] .inspector-submode-tab.submode-inspect{color:#7c3aed}[data-theme=light] .inspector-submode-tab.submode-inspect:hover{color:#6d28d9}[data-theme=light] .inspector-submode-tab.submode-inspect.active{background:#fff;border-bottom-color:#7c3aed;color:#7c3aed;box-shadow:inset 0 -2px #7c3aed}[data-theme=light] .inspector-submode-tab.submode-errors{color:#ca8a04}[data-theme=light] .inspector-submode-tab.submode-errors:hover{color:#a16207}[data-theme=light] .inspector-submode-tab.submode-errors.active{background:#fff;border-bottom-color:#ca8a04;color:#ca8a04;box-shadow:inset 0 -2px #ca8a04}[data-theme=light] .inspector-submode-tab.submode-frames{color:#16a34a}[data-theme=light] .inspector-submode-tab.submode-frames:hover{color:#15803d}[data-theme=light] .inspector-submode-tab.submode-frames.active{background:#fff;border-bottom-color:#16a34a;color:#16a34a;box-shadow:inset 0 -2px #16a34a}[data-theme=light] .inspector-submode-tab.submode-heatmap{color:#dc2626}[data-theme=light] .inspector-submode-tab.submode-heatmap:hover{color:#b91c1c}[data-theme=light] .inspector-submode-tab.submode-heatmap.active{background:#fff;border-bottom-color:#dc2626;color:#dc2626;box-shadow:inset 0 -2px #dc2626}[data-theme=light] .inspector-section.submode-tuner{border-color:#2563eb66;box-shadow:inset 0 1px #2563eb1f}[data-theme=light] .inspector-section.submode-inspect{border-color:#7c3aed66;box-shadow:inset 0 1px #7c3aed1f}[data-theme=light] .inspector-section.submode-errors{border-color:#ca8a0466;box-shadow:inset 0 1px #ca8a041f}[data-theme=light] .inspector-section.submode-frames{border-color:#16a34a66;box-shadow:inset 0 1px #16a34a1f}[data-theme=light] .inspector-section.submode-heatmap{border-color:#dc262666;box-shadow:inset 0 1px #dc26261f}[data-theme=light] .error-panel{background:#fef2f2f5;border-top-color:#dc262659;box-shadow:0 4px 16px #00000014}[data-theme=light] .error-item{border-bottom-color:#dc26261f}[data-theme=light] .error-item-clickable:hover{background:#dc262614}[data-theme=light] .error-panel-actions{border-top-color:#dc262626}[data-theme=light] .error-fix-btn{background:#dc262614!important;color:var(--error)!important;border-color:#dc262659!important}[data-theme=light] .error-fix-btn:hover{background:#dc262626!important;border-color:#dc262680!important}[data-theme=light] .warning-panel{background:#fefce8f5;border-top-color:#d9770659;box-shadow:0 4px 16px #00000014}[data-theme=light] .warning-panel .warning-item{border-bottom-color:#d977061f}[data-theme=light] .warning-panel .error-item-clickable:hover{background:#d9770614}[data-theme=light] .warning-panel-actions{border-top-color:#d9770626}[data-theme=light] .warning-fix-btn{background:#d9770614!important;color:var(--warning)!important;border-color:#d9770659!important}[data-theme=light] .warning-fix-btn:hover{background:#d9770626!important;border-color:#d9770680!important}[data-theme=light] .footer-fix-btn{border-color:#d9770666}[data-theme=light] .footer-fix-btn:hover{background:#d977061a;border-color:#d9770699}[data-theme=light] .footer-fix-btn-error{border-color:#dc262666;color:var(--error)}[data-theme=light] .footer-fix-btn-error:hover{background:#dc26261a;border-color:#dc262699}[data-theme=light] .footer-error-banner{box-shadow:0 4px 16px #0000001a}[data-theme=blackout]{--fg-primary: #ff6600;--fg-secondary: #cc5200;--fg-muted: #996633;--fg-glow: rgba(255, 102, 0, .4);--fg-glow-soft: rgba(255, 102, 0, .14);--bg-dark: #000000;--bg-mid: #050506;--bg-light: #0a0a0c;--bg-elevated: #0f0f12;--border: #333338;--border-focus: #ff6600;--border-subtle: #252528;--border-width: 2px;--grid: #0a0a0a;--text: #e4e4ea;--text-dim: #5c5c66;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .02);--shadow-glow: 0 0 20px rgba(255, 102, 0, .2), 0 0 60px rgba(255, 102, 0, .06);--popup-shadow: 0 4px 12px rgba(0, 0, 0, .6), 0 12px 40px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .02);--popup-item-hover: rgba(255, 255, 255, .03)}[data-theme=blackout] .grid-bg{background-image:radial-gradient(ellipse at 50% 0%,rgba(255,102,0,.05) 0%,transparent 60%),linear-gradient(rgba(255,102,0,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,102,0,.015) 1px,transparent 1px);background-size:100% 100%,36px 36px,36px 36px;background-repeat:no-repeat,repeat,repeat}.viewport-dims-btn,.timeline-time-btn,.record-btn,.settings-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;background:var(--bg-light);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;cursor:pointer;transition:all .2s ease;white-space:nowrap}.viewport-dims-btn:hover,.timeline-time-btn:hover,.record-btn:hover:not(.recording),.settings-btn:hover{border-color:var(--fg-primary);color:var(--fg-primary);background:#ff66000f;box-shadow:0 0 12px #ff66001a}.viewport-dims-btn:active,.timeline-time-btn:active,.record-btn:active:not(.recording),.settings-btn:active{transform:scale(.97);transition-duration:.08s}.viewport-dims-btn{padding:0 10px}.settings-btn,.record-btn{padding:0;width:32px;min-width:32px}.record-btn:not(.recording){background:#ff444414;border-color:#ff444459}.timeline-time-btn.active{color:var(--fg-primary);border-color:var(--fg-primary);background:#ff66001f}.record-btn{font-size:18px;color:#f44;text-shadow:0 0 8px rgba(255,68,68,.4)}.record-btn:hover:not(.recording){color:#f66;text-shadow:0 0 10px rgba(255,68,68,.5);background:#ff444426;border-color:#ff444480;box-shadow:0 0 12px #f443}.record-btn.recording{color:#f44!important;border-color:#f44!important;background:#ff44441a!important;font-size:10px!important;cursor:pointer}.record-btn.recording:hover{background:#ff444440!important;border-color:#f66!important}@keyframes record-pulse{0%,to{opacity:1;box-shadow:0 0 #f440}50%{opacity:.5;box-shadow:0 0 16px 4px #ff444426}}*,*:before,*:after{box-sizing:border-box}input,button,select,textarea,option{font-family:inherit}html,body,#root{margin:0;padding:0;height:100%;width:100%;font-family:var(--font-mono);background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s ease,color .3s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}@media (max-width: 768px){:root{--border-width: 1px}html{height:100dvh}body{position:fixed;width:100%;overflow:hidden}#root{overflow:hidden}:focus-visible{outline-width:1px;outline-offset:1px}}.grid-bg{background-image:radial-gradient(ellipse at 50% 0%,rgba(255,102,0,.06) 0%,transparent 60%),linear-gradient(rgba(255,102,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,102,0,.02) 1px,transparent 1px);background-size:100% 100%,36px 36px,36px 36px;background-repeat:no-repeat,repeat,repeat}::-webkit-scrollbar{width:7px;height:7px}@media (max-width: 768px){::-webkit-scrollbar{width:5px;height:5px}}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px;border:1px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted);border:1px solid transparent;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}:focus-visible{outline:2px solid var(--fg-primary);outline-offset:2px;border-radius:2px}.quick-input-widget{position:fixed!important;left:50%!important;transform:translate(-50%);margin-left:0!important;max-width:min(600px,calc(100vw - 16px))!important;width:min(600px,calc(100vw - 16px))!important;box-sizing:border-box}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 12px var(--fg-glow-soft)}50%{box-shadow:0 0 24px var(--fg-glow)}}
