@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto+Flex:opsz,wdth,wght@8..144,25..151,100..1000&display=swap";:root,[data-theme=dark]{color-scheme:dark;--c-bg: #0a0d12;--c-surface: #11161e;--c-surface-2: #1a2230;--c-border: #232b39;--c-border-strong: #2f3a4d;--c-text: #e6edf3;--c-text-dim: #8b95a7;--c-accent: #7aa2f7;--c-accent-strong: #a4c0fb;--c-danger: #f7768e;--c-toast-bg: #1f2733;--c-toast-text: #e6edf3}[data-theme=light]{color-scheme:light;--c-bg: #f7f7f8;--c-surface: #ffffff;--c-surface-2: #f0f1f4;--c-border: #e1e3e8;--c-border-strong: #cdd0d6;--c-text: #1a1d23;--c-text-dim: #6b7280;--c-accent: #3b82f6;--c-accent-strong: #2563eb;--c-danger: #ef4444;--c-toast-bg: #1a1d23;--c-toast-text: #f7f7f8}:root{--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--radius-1: 4px;--radius-2: 8px;--radius-3: 12px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Pretendard", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace;--motion-fast: .12s cubic-bezier(.2, 0, 0, 1);--motion-base: .2s cubic-bezier(.2, 0, 0, 1);--shadow-toast: 0 10px 30px rgba(0, 0, 0, .25)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.4;background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font:inherit;color:inherit}canvas{display:block}h1,h2,h3,h4,p{margin:0}.app-shell{display:grid;grid-template-columns:320px 1fr;height:100vh}.app-sidebar{display:flex;flex-direction:column;background:var(--c-surface);border-right:1px solid var(--c-border);overflow:hidden;min-width:0}.app-sidebar-header{padding:var(--s-4);border-bottom:1px solid var(--c-border);display:flex;flex-direction:column;gap:var(--s-2)}.app-back{font-size:12px;color:var(--c-text-dim);text-decoration:none;transition:color var(--motion-fast)}.app-back:hover{color:var(--c-text)}.app-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.app-controls{flex:1;overflow-y:auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.app-actions{padding:var(--s-3) var(--s-4);border-top:1px solid var(--c-border);display:flex;gap:var(--s-2)}.app-stage{position:relative;overflow:hidden;background:var(--c-bg);display:flex;align-items:center;justify-content:center}.stage-canvas{width:100%;height:100%}.stage-canvas[data-fit=letterbox]{width:auto;height:auto;max-width:100%;max-height:100%;background:var(--c-surface);box-shadow:0 0 0 1px var(--c-border)}@media (max-width: 720px){.app-shell{grid-template-columns:1fr;grid-template-rows:1fr auto}.app-sidebar{border-right:none;border-top:1px solid var(--c-border);grid-row:2;max-height:50vh}}.custom-tool-page{display:grid;grid-template-rows:auto 1fr;height:100vh;min-height:0}.custom-tool-header{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-border);background:var(--c-surface)}.custom-tool-body{min-height:0;overflow:hidden}.control-panel{display:flex;flex-direction:column;gap:var(--s-3)}.ctrl{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s-1) var(--s-2);font-size:12px}.ctrl-label{color:var(--c-text-dim)}.ctrl-value{font-family:var(--font-mono);color:var(--c-text);font-size:11px;text-align:right}.ctrl input[type=range],.ctrl input[type=color],.ctrl input[type=number],.ctrl input[type=text],.ctrl select{grid-column:1 / -1;width:100%;height:28px;padding:0 var(--s-2);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text);font:inherit;outline:none;transition:border-color var(--motion-fast)}.ctrl input[type=range]{padding:0;-webkit-appearance:none;appearance:none;background:transparent;border:none;height:24px}.ctrl input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--c-surface-2);border-radius:2px}.ctrl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--c-accent);border-radius:50%;margin-top:-5px}.ctrl input[type=range]::-moz-range-track{height:4px;background:var(--c-surface-2);border-radius:2px}.ctrl input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--c-accent);border-radius:50%;border:none}.ctrl input[type=color]{padding:2px;cursor:pointer}.ctrl input:focus,.ctrl select:focus{border-color:var(--c-accent)}.ctrl-value-input{width:64px;height:18px;padding:0 var(--s-1);background:transparent;border:1px solid transparent;border-radius:var(--radius-1);color:var(--c-text);font-family:var(--font-mono);font-size:11px;text-align:right;outline:none;transition:border-color var(--motion-fast),background var(--motion-fast);-moz-appearance:textfield}.ctrl-value-input::-webkit-outer-spin-button,.ctrl-value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ctrl-value-input:hover,.ctrl-value-input:focus{border-color:var(--c-border);background:var(--c-surface-2)}.ctrl-value-input:focus{border-color:var(--c-accent)}.ctrl-range-bounds-toggle{margin-left:var(--s-1);padding:0 4px;height:16px;line-height:14px;background:transparent;border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text-dim);font-family:var(--font-mono);font-size:10px;cursor:pointer;vertical-align:middle;transition:border-color var(--motion-fast),color var(--motion-fast)}.ctrl-range-bounds-toggle:hover{border-color:var(--c-accent);color:var(--c-text)}.ctrl-range-bounds{grid-column:1 / -1;display:flex;align-items:center;gap:var(--s-1);margin-top:calc(var(--s-1) * -1)}.ctrl-range-bound-input{flex:1;height:22px;padding:0 var(--s-2);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text-dim);font-family:var(--font-mono);font-size:10px;outline:none;transition:border-color var(--motion-fast),color var(--motion-fast)}.ctrl-range-bound-input:focus{border-color:var(--c-accent);color:var(--c-text)}.ctrl-range-bound-sep{color:var(--c-text-dim);font-family:var(--font-mono);font-size:11px}.ctrl-toggle{grid-template-columns:1fr auto}.ctrl-toggle input[type=checkbox]{width:36px;height:20px;accent-color:var(--c-accent)}.ctrl-seed .ctrl-row{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:var(--s-2)}.ctrl-btn{height:28px;padding:0 var(--s-3);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text);cursor:pointer;font-family:var(--font-mono);font-size:11px;transition:border-color var(--motion-fast),background var(--motion-fast)}.ctrl-btn:hover{border-color:var(--c-accent);background:var(--c-surface)}.ctrl-text{grid-template-columns:1fr}.ctrl-textarea,.ctrl-textinput{grid-column:1 / -1;width:100%;padding:var(--s-2);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text);font:inherit;font-family:inherit;resize:vertical;outline:none;transition:border-color var(--motion-fast)}.ctrl-textinput{height:28px;padding:0 var(--s-2)}.ctrl-textarea:focus,.ctrl-textinput:focus{border-color:var(--c-accent)}.ctrl-file{grid-template-columns:1fr}.ctrl-file-row{grid-column:1 / -1;display:flex;align-items:center;gap:var(--s-2)}.ctrl-file-thumb{width:36px;height:36px;object-fit:cover;border-radius:var(--radius-1);border:1px solid var(--c-border)}.ctrl-file-clear{font-size:11px;padding:0 var(--s-2)}.ctrl-size{grid-template-columns:1fr}.ctrl-size-row{grid-column:1 / -1;display:flex;align-items:center;gap:var(--s-1)}.ctrl-size-input{flex:1;height:28px;padding:0 var(--s-2);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text);font:inherit;font-family:var(--font-mono);outline:none}.ctrl-size-input:focus{border-color:var(--c-accent)}.ctrl-size-x{color:var(--c-text-dim);font-family:var(--font-mono);font-size:12px}.ctrl-size-presets{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--s-1)}.ctrl-size-preset{flex:1 1 auto;font-size:10px;padding:0 var(--s-2);height:24px;min-width:0}.gallery{max-width:1100px;margin:0 auto;padding:var(--s-7) var(--s-5)}.gallery-header{margin-bottom:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}.gallery-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.gallery-header h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.gallery-header p{color:var(--c-text-dim);font-size:13px}.chip-row{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-2)}.chip{height:28px;padding:0 var(--s-3);background:var(--c-surface);border:1px solid var(--c-border);border-radius:999px;color:var(--c-text-dim);cursor:pointer;font-size:11px;letter-spacing:.02em;transition:border-color var(--motion-fast),color var(--motion-fast),background var(--motion-fast)}.chip:hover{border-color:var(--c-border-strong);color:var(--c-text)}.chip-active{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.chip-active:hover{border-color:var(--c-accent-strong);color:#fff}.gallery-empty{padding:var(--s-6);border:1px dashed var(--c-border);border-radius:var(--radius-2);color:var(--c-text-dim);text-align:center}.gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3)}.gallery-card{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-2);text-decoration:none;color:var(--c-text);transition:border-color var(--motion-fast),transform var(--motion-fast)}.gallery-card:hover{border-color:var(--c-accent);transform:translateY(-2px)}.gallery-card-name{font-weight:600;font-size:14px}.gallery-card-id{font-family:var(--font-mono);font-size:11px;color:var(--c-text-dim)}.gallery-card-desc{font-size:12px;color:var(--c-text-dim);margin-top:var(--s-1);line-height:1.5}.not-found{padding:var(--s-7);text-align:center;color:var(--c-text-dim)}.not-found a{color:var(--c-accent)}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--s-5)}.auth-card{width:100%;max-width:360px;padding:var(--s-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-3);display:flex;flex-direction:column;gap:var(--s-4)}.auth-title{font-size:20px;font-weight:700;letter-spacing:-.01em}.auth-warn{padding:var(--s-3);background:var(--c-surface-2);border:1px dashed var(--c-border-strong);border-radius:var(--radius-2);color:var(--c-text-dim);font-size:12px;line-height:1.6}.auth-warn code{font-family:var(--font-mono);font-size:11px;color:var(--c-text)}.auth-form{display:flex;flex-direction:column;gap:var(--s-3)}.auth-field{display:flex;flex-direction:column;gap:var(--s-1);font-size:12px;color:var(--c-text-dim)}.auth-field input{height:36px;padding:0 var(--s-3);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text);font:inherit;outline:none;transition:border-color var(--motion-fast)}.auth-field input:focus{border-color:var(--c-accent)}.auth-field input:disabled{opacity:.6;cursor:not-allowed}.auth-error{padding:var(--s-2) var(--s-3);background:color-mix(in srgb,var(--c-danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--c-danger) 40%,transparent);border-radius:var(--radius-1);color:var(--c-danger);font-size:12px;line-height:1.5}.auth-submit{height:38px;background:var(--c-accent);border:1px solid var(--c-accent);border-radius:var(--radius-1);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background var(--motion-fast)}.auth-submit:hover:not(:disabled){background:var(--c-accent-strong);border-color:var(--c-accent-strong)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-oauth-btn{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text);font:inherit;font-weight:500;cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast)}.auth-oauth-btn:hover:not(:disabled){border-color:var(--c-accent)}.auth-oauth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-oauth-icon{width:16px;height:16px;flex:none}.auth-divider{display:flex;align-items:center;gap:var(--s-2);font-size:11px;color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--c-border)}.auth-switch,.auth-back{font-size:12px;color:var(--c-text-dim);text-align:center}.auth-switch a,.auth-back a{color:var(--c-accent);text-decoration:none}.auth-switch a:hover,.auth-back a:hover{text-decoration:underline}.gallery-user{display:flex;align-items:center;gap:var(--s-2);font-size:12px;color:var(--c-text-dim)}.gallery-user-email{font-family:var(--font-mono);color:var(--c-text)}.gallery-auth-link{height:28px;padding:0 var(--s-3);display:inline-flex;align-items:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-1);color:var(--c-text);text-decoration:none;font-size:12px;transition:border-color var(--motion-fast)}.gallery-auth-link:hover{border-color:var(--c-accent)}.toast-stack{position:fixed;bottom:var(--s-5);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--s-2);pointer-events:none;z-index:1000}.toast{background:var(--c-toast-bg);color:var(--c-toast-text);padding:var(--s-2) var(--s-4);border-radius:var(--radius-2);font-size:12px;box-shadow:var(--shadow-toast);animation:toast-in var(--motion-base)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pcs-app{--pcs-panel: #121417;--pcs-line: #20242c;--pcs-text: #f5f7fb;--pcs-muted: #8c93a3;--pcs-accent: #ff7a45;--pcs-shadow: 0 12px 30px rgba(0, 0, 0, .28);display:grid;grid-template-rows:64px 1fr;height:100%;background:linear-gradient(180deg,#0b0c0f,#101216);color:var(--pcs-text);overflow:hidden}.pcs-app.pcs-light{--pcs-panel: #fff;--pcs-line: #d8dfe8;--pcs-text: #0f1724;--pcs-muted: #5f6776;--pcs-accent: #ff6d2d;--pcs-shadow: 0 10px 24px rgba(44, 57, 88, .12);background:linear-gradient(180deg,#eef2f7,#f7f9fc)}.pcs-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--pcs-line);background:#00000014}.pcs-app.pcs-light .pcs-toolbar{background:#ffffff8c}.pcs-toolbar-group{display:flex;gap:10px;align-items:center}.pcs-tool{min-width:58px;height:44px;border:1px solid var(--pcs-line);background:var(--pcs-panel);color:var(--pcs-text);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;box-shadow:var(--pcs-shadow);padding:0 10px;font-family:inherit}.pcs-tool.active{outline:2px solid rgba(255,255,255,.14);background:#1a1e25}.pcs-app.pcs-light .pcs-tool.active{background:#eef3fb;outline:2px solid rgba(0,0,0,.08)}.pcs-tool b{font-size:14px}.pcs-tool span{font-size:11px;color:var(--pcs-muted)}.pcs-main{display:grid;grid-template-columns:200px 1fr 220px;min-height:0}.pcs-sidebar,.pcs-inspector{border-right:1px solid var(--pcs-line);padding:14px 8px;background:#00000014;min-height:0;position:relative;display:flex;flex-direction:column}.pcs-inspector{border-left:1px solid var(--pcs-line);border-right:0}.pcs-section-title{font-size:11px;color:var(--pcs-muted);text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center;margin:8px 0 10px;padding:0 4px}.pcs-icon-btn{width:22px;height:22px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--pcs-text);cursor:pointer;font-family:inherit}.pcs-palette-list{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:4px;flex:1}.pcs-palette-item{border:1px solid transparent;border-radius:8px;padding:10px;background:transparent;font-weight:600;color:var(--pcs-text);text-align:left;cursor:pointer;font-family:inherit}.pcs-palette-item.active{background:#ffffff14;border-color:var(--pcs-line)}.pcs-app.pcs-light .pcs-palette-item.active{background:#fff}.pcs-canvas-wrap{padding:14px 18px 18px;overflow:auto;min-height:0}.pcs-stage{height:100%;min-height:540px;background:var(--pcs-panel);border:1px solid var(--pcs-line);border-radius:18px;box-shadow:var(--pcs-shadow);position:relative;overflow:hidden}.pcs-stripes{position:absolute;inset:0;display:grid}.pcs-stripe{position:relative;cursor:pointer}.pcs-stripe.active:after{content:"";position:absolute;inset:-8px;border:2px solid rgba(255,255,255,.12);border-radius:14px;pointer-events:none}.pcs-app.pcs-light .pcs-stripe.active:after{border-color:#0c121c24}.pcs-overlay{position:absolute;inset:0;pointer-events:none}.pcs-curve-svg{width:100%;height:100%;display:block}.pcs-curve-line{fill:none;stroke:#111;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.pcs-app.pcs-light .pcs-curve-line{stroke:#162032}.pcs-handle{cursor:pointer;pointer-events:all}.pcs-handle .pcs-outer{fill:#111}.pcs-handle .pcs-inner{fill:#f2f2f2;stroke:#111;stroke-width:1.8}.pcs-axis-label{font-size:14px;font-weight:800;fill:#fff;paint-order:stroke;stroke:#00000061;stroke-width:3px;stroke-linejoin:round}.pcs-app.pcs-light .pcs-axis-label{fill:#162032;stroke:#ffffffb3}.pcs-inspector-content{padding:0 8px 16px;overflow:auto;flex:1}.pcs-field{margin-bottom:12px}.pcs-field label{display:block;font-size:12px;color:var(--pcs-muted);margin-bottom:6px}.pcs-input{width:100%;background:var(--pcs-panel);border:1px solid var(--pcs-line);color:var(--pcs-text);border-radius:8px;min-height:38px;padding:8px 10px;font-family:inherit;font-size:13px}.pcs-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pcs-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 16px}.pcs-chip{background:var(--pcs-panel);border:1px solid var(--pcs-line);border-radius:10px;padding:10px}.pcs-chip b{display:block;font-size:12px;color:var(--pcs-muted);margin-bottom:4px}.pcs-chip span{font-size:14px;font-weight:700;word-break:break-all}.pcs-contrast{width:100%;border-collapse:collapse;font-size:13px}.pcs-contrast td,.pcs-contrast th{padding:7px 4px;border-bottom:1px solid var(--pcs-line);text-align:left}.pcs-contrast td:last-child,.pcs-contrast th:last-child,.pcs-contrast td:nth-child(2),.pcs-contrast th:nth-child(2){text-align:center}.pcs-ok{color:#8ee59c;font-weight:700}.pcs-bad{color:#ff8f8f;font-weight:700}.pcs-danger{margin-top:18px;width:100%;height:42px;border:1px solid #573030;background:#261616;color:#ffd1d1;border-radius:10px;cursor:pointer;font-family:inherit}.pcs-app.pcs-light .pcs-danger{background:#fff2f2;color:#8d1c1c;border-color:#f1caca}.pcs-footer-toggle{margin-top:8px}.pcs-footer-toggle button{width:100%;height:42px;border-radius:10px;border:1px solid var(--pcs-line);background:var(--pcs-panel);color:var(--pcs-text);cursor:pointer;font-family:inherit}.render-text-tool{display:grid;grid-template-columns:280px 1fr;height:100%;min-height:0;background:var(--c-bg);color:var(--c-text);overflow:hidden}.render-text-tool.rt-dark{--rt-stage-bg: #226143}.render-text-tool .rt-sidebar{border-right:1px solid var(--c-border);background:var(--c-surface);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4);overflow-y:auto;min-height:0}.render-text-tool .rt-section{display:flex;flex-direction:column;gap:var(--s-2)}.render-text-tool .rt-label{font-size:12px;color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.06em;display:flex;justify-content:space-between;align-items:baseline}.render-text-tool .rt-num{color:var(--c-text);font-family:var(--font-mono);text-transform:none;letter-spacing:0;font-size:11px}.render-text-tool .rt-textarea,.render-text-tool .rt-input{width:100%;background:var(--c-surface-2);border:1px solid var(--c-border);color:var(--c-text);border-radius:var(--radius-2);padding:8px 10px;font-family:inherit;font-size:13px;resize:vertical}.render-text-tool .rt-textarea{min-height:64px;font-family:var(--font-mono)}.render-text-tool .rt-textarea:focus,.render-text-tool .rt-input:focus{outline:none;border-color:var(--c-accent)}.render-text-tool .rt-hint{font-size:11px;color:var(--c-text-dim)}.render-text-tool .rt-season-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.render-text-tool .rt-season{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;border-radius:var(--radius-2);background:var(--c-surface-2);border:1px solid var(--c-border);color:var(--c-text);cursor:pointer;font-family:inherit;font-size:12px;text-align:left;transition:border-color var(--motion-fast),background var(--motion-fast)}.render-text-tool .rt-season:hover{border-color:var(--c-border-strong)}.render-text-tool .rt-season.active{border-color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 10%,var(--c-surface-2))}.render-text-tool .rt-swatches{display:flex;gap:3px}.render-text-tool .rt-swatch-dot{width:12px;height:12px;border-radius:999px;border:1px solid rgba(0,0,0,.18)}.render-text-tool .rt-season-name{font-weight:600}.render-text-tool input[type=range]{width:100%;accent-color:var(--c-accent)}.render-text-tool .rt-toggle-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.render-text-tool .rt-toggle{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-2);font-size:13px;cursor:pointer}.render-text-tool .rt-toggle input{accent-color:var(--c-accent)}.render-text-tool .rt-btn{width:100%;height:38px;border-radius:var(--radius-2);border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:background var(--motion-fast),border-color var(--motion-fast)}.render-text-tool .rt-btn:hover{border-color:var(--c-border-strong)}.render-text-tool .rt-btn-primary{margin-top:6px;background:var(--c-accent);border-color:var(--c-accent);color:#0a0d12}.render-text-tool .rt-btn-primary:hover{background:var(--c-accent-strong);border-color:var(--c-accent-strong)}.render-text-tool .rt-info{font-size:12px;color:var(--c-text-dim);gap:6px}.render-text-tool .rt-info-row{display:flex;align-items:center;gap:8px}.render-text-tool .rt-info-color{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--c-border)}.render-text-tool .rt-mono{font-family:var(--font-mono);font-size:11px;color:var(--c-text)}.render-text-tool .rt-stage-wrap{position:relative;padding:var(--s-4);min-width:0;min-height:0;overflow:hidden;background:var(--c-bg)}.render-text-tool .rt-stage{position:relative;width:100%;height:100%;border-radius:var(--radius-3);border:1px solid var(--c-border);background:repeating-conic-gradient(var(--c-surface) 0% 25%,var(--c-surface-2) 0% 50%) 50% / 24px 24px;overflow:hidden;display:flex;align-items:center;justify-content:center}.render-text-tool .rt-canvas{display:block;width:100%;height:100%}@media (max-width: 720px){.render-text-tool{grid-template-columns:1fr;grid-template-rows:1fr auto}.render-text-tool .rt-sidebar{border-right:none;border-top:1px solid var(--c-border);grid-row:2;max-height:50vh}}.ascii-art-tool{--aa-panel: var(--c-surface);--aa-panel-2: var(--c-surface-2);--aa-line: var(--c-border);--aa-text: var(--c-text);--aa-muted: var(--c-text-dim);--aa-accent: var(--c-accent);display:grid;grid-template-columns:320px 1fr;height:100%;min-height:0;background:var(--c-bg);color:var(--aa-text);overflow:hidden;font-family:var(--font-sans)}.ascii-art-tool .aa-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--aa-line);background:var(--aa-panel);overflow-y:auto;min-height:0}.ascii-art-tool .aa-group{padding:var(--s-4);border-bottom:1px solid var(--aa-line);display:flex;flex-direction:column;gap:var(--s-3)}.ascii-art-tool .aa-group:last-child{border-bottom:0}.ascii-art-tool .aa-group-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--aa-muted)}.ascii-art-tool .aa-field{display:flex;flex-direction:column;gap:var(--s-2)}.ascii-art-tool .aa-field-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--aa-text)}.ascii-art-tool .aa-value{font-family:var(--font-mono);font-size:11px;color:var(--aa-muted);font-variant-numeric:tabular-nums}.ascii-art-tool .aa-input,.ascii-art-tool .aa-select,.ascii-art-tool .aa-textarea{width:100%;background:var(--aa-panel-2);color:var(--aa-text);border:1px solid var(--aa-line);border-radius:var(--radius-2);padding:8px 10px;font-family:inherit;font-size:13px;outline:none}.ascii-art-tool .aa-textarea{font-family:var(--font-mono);font-size:12px;resize:vertical;min-height:60px}.ascii-art-tool .aa-input:focus,.ascii-art-tool .aa-select:focus,.ascii-art-tool .aa-textarea:focus{border-color:var(--aa-accent)}.ascii-art-tool .aa-range{width:100%;accent-color:var(--aa-accent)}.ascii-art-tool .aa-range-row{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:var(--s-2)}.ascii-art-tool .aa-bound{width:100%;background:var(--aa-panel-2);color:var(--aa-text);border:1px solid var(--aa-line);border-radius:var(--radius-2);padding:4px 6px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.ascii-art-tool .aa-bound::-webkit-outer-spin-button,.ascii-art-tool .aa-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ascii-art-tool .aa-bound:focus{border-color:var(--aa-accent)}.ascii-art-tool .aa-checkbox-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.ascii-art-tool .aa-checkbox{display:flex;align-items:center;gap:var(--s-2);padding:8px 10px;border-radius:var(--radius-2);background:var(--aa-panel-2);border:1px solid var(--aa-line);cursor:pointer;font-size:12px;user-select:none}.ascii-art-tool .aa-checkbox input{accent-color:var(--aa-accent)}.ascii-art-tool .aa-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.ascii-art-tool .aa-btn{appearance:none;border:1px solid var(--aa-line);background:var(--aa-panel-2);color:var(--aa-text);border-radius:var(--radius-2);padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast)}.ascii-art-tool .aa-btn:hover{border-color:var(--aa-accent)}.ascii-art-tool .aa-btn.aa-primary{background:var(--aa-accent);border-color:var(--aa-accent);color:#fff}.ascii-art-tool .aa-btn.aa-primary:hover{background:var(--c-accent-strong);border-color:var(--c-accent-strong)}.ascii-art-tool .aa-btn.aa-danger{color:var(--c-danger);border-color:var(--c-danger);background:transparent}.ascii-art-tool .aa-stage{display:grid;grid-template-rows:auto 1fr;min-height:0;min-width:0;overflow:hidden}.ascii-art-tool .aa-topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--aa-line);background:var(--aa-panel);flex-wrap:wrap}.ascii-art-tool .aa-badges{display:flex;gap:var(--s-2);flex-wrap:wrap}.ascii-art-tool .aa-badge{font-size:11px;padding:4px 10px;border-radius:999px;background:var(--aa-panel-2);border:1px solid var(--aa-line);color:var(--aa-muted);font-variant-numeric:tabular-nums}.ascii-art-tool .aa-output-wrap{overflow:auto;background:#05070f;min-height:0}.ascii-art-tool .aa-output{margin:0;padding:var(--s-4);white-space:pre;font-family:var(--font-mono);letter-spacing:0;color:#fff;background:#05070f;display:inline-block;min-width:100%}[data-theme=light] .ascii-art-tool .aa-output-wrap,[data-theme=light] .ascii-art-tool .aa-output{background:#0b1020}.ascii-art-tool .aa-hint{font-size:11px;color:var(--aa-muted);line-height:1.5}@media (max-width: 880px){.ascii-art-tool{grid-template-columns:1fr;grid-template-rows:auto 1fr}.ascii-art-tool .aa-sidebar{border-right:0;border-bottom:1px solid var(--aa-line);max-height:50vh}}.pattern-datacard-tool{display:grid;grid-template-columns:280px 1fr;height:100%;min-height:0;background:var(--c-bg, #0f1014);color:var(--c-text, #f2f4f8);overflow:hidden;font-family:inherit}.pattern-datacard-tool .pdc-sidebar{border-right:1px solid var(--c-border, #2f3445);background:var(--c-surface, #0d0f15);padding:18px;overflow:auto}.pattern-datacard-tool .pdc-sidebar h1{font-size:18px;margin:0 0 6px;font-weight:800;letter-spacing:-.03em}.pattern-datacard-tool .pdc-sidebar p{margin:0 0 16px;color:var(--c-text-dim, #b1b7c8);font-size:12px;line-height:1.5}.pattern-datacard-tool .pdc-pattern-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pattern-datacard-tool .pdc-thumb{cursor:pointer;border:1px solid transparent;border-radius:14px;padding:8px;background:transparent;color:inherit;text-align:left;transition:.18s ease;font-family:inherit}.pattern-datacard-tool .pdc-thumb:hover{background:#ffffff0a}.pattern-datacard-tool .pdc-thumb.active{border-color:var(--c-accent, #7b8dff);background:#7b8dff14}.pattern-datacard-tool .pdc-thumb canvas{width:100%;aspect-ratio:1 / 1;border-radius:10px;display:block;background:#111;box-shadow:inset 0 0 0 1px #ffffff0a}.pattern-datacard-tool .pdc-thumb-title{margin-top:6px;font-size:12px;font-weight:700}.pattern-datacard-tool .pdc-main{display:grid;grid-template-rows:auto 1fr;min-height:0;overflow:hidden;padding:16px;gap:12px;background:linear-gradient(180deg,#12141a,#0f1014)}.pattern-datacard-tool .pdc-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--c-surface, #171923);border:1px solid var(--c-border, #2f3445);border-radius:14px;flex-wrap:wrap}.pattern-datacard-tool .pdc-swatches{display:inline-flex;gap:8px}.pattern-datacard-tool .pdc-swatch{width:26px;height:26px;border-radius:999px;border:2px solid rgba(255,255,255,.15);cursor:pointer;padding:0;box-shadow:0 3px 12px #00000040}.pattern-datacard-tool .pdc-swatch.active{outline:2px solid rgba(255,255,255,.85);outline-offset:1px}.pattern-datacard-tool .pdc-actions{display:inline-flex;gap:8px}.pattern-datacard-tool .pdc-btn{border-radius:10px;border:1px solid var(--c-border, #2f3445);background:#11151f;color:inherit;padding:8px 12px;cursor:pointer;font-weight:700;font-size:12px;font-family:inherit}.pattern-datacard-tool .pdc-btn:hover{transform:translateY(-1px)}.pattern-datacard-tool .pdc-btn.primary{background:#fff;color:#111}.pattern-datacard-tool .pdc-layout{display:grid;grid-template-columns:340px 1fr;gap:12px;min-height:0;overflow:hidden}.pattern-datacard-tool .pdc-panel,.pattern-datacard-tool .pdc-preview{background:var(--c-surface, #171923);border:1px solid var(--c-border, #2f3445);border-radius:14px;box-shadow:0 18px 40px #00000052;overflow:hidden;display:flex;flex-direction:column;min-height:0}.pattern-datacard-tool .pdc-panel{padding:14px;overflow:auto}.pattern-datacard-tool .pdc-panel h2{margin:0 0 12px;font-size:14px}.pattern-datacard-tool .pdc-panel h2.pdc-h2-mt{margin-top:18px}.pattern-datacard-tool .pdc-controls{display:grid;gap:10px}.pattern-datacard-tool .pdc-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pattern-datacard-tool .pdc-field label{display:block;font-size:11px;color:var(--c-text-dim, #b1b7c8);margin-bottom:4px}.pattern-datacard-tool .pdc-field input[type=text],.pattern-datacard-tool .pdc-field input[type=number],.pattern-datacard-tool .pdc-field select{width:100%;border:1px solid var(--c-border, #2f3445);background:#10131b;color:inherit;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit}.pattern-datacard-tool .pdc-field input[type=range]{width:100%}.pattern-datacard-tool .pdc-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--c-text-dim, #b1b7c8)}.pattern-datacard-tool .pdc-section{margin-top:6px;padding:10px;border:1px solid var(--c-border, #2f3445);border-radius:10px;background:#ffffff05;display:grid;gap:8px}.pattern-datacard-tool .pdc-section-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700}.pattern-datacard-tool .pdc-mini{border-radius:8px;border:1px solid var(--c-border, #2f3445);background:#11151f;color:inherit;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}.pattern-datacard-tool .pdc-mini.danger{background:#2a1414;border-color:#5a2424;color:#ffd1d1}.pattern-datacard-tool .pdc-field-row{grid-template-columns:1fr 1fr 28px;align-items:center;gap:6px}.pattern-datacard-tool .pdc-field-row input{border:1px solid var(--c-border, #2f3445);background:#10131b;color:inherit;border-radius:8px;padding:6px 8px;font-size:12px;font-family:inherit}.pattern-datacard-tool .pdc-preview{padding:14px}.pattern-datacard-tool .pdc-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.pattern-datacard-tool .pdc-preview-title{font-weight:800;font-size:16px}.pattern-datacard-tool .pdc-preview-sub{font-size:11px;color:var(--c-text-dim, #b1b7c8)}.pattern-datacard-tool .pdc-preview-wrap{flex:1;min-height:0;border-radius:12px;background:#ddd;padding:16px;display:grid;place-items:center;overflow:auto}.pattern-datacard-tool .pdc-preview-wrap canvas{display:block;background:#fff;border-radius:4px;box-shadow:0 10px 30px #0000002e;max-width:100%}@media (max-width: 1180px){.pattern-datacard-tool{grid-template-columns:1fr}.pattern-datacard-tool .pdc-sidebar{border-right:0;border-bottom:1px solid var(--c-border, #2f3445)}.pattern-datacard-tool .pdc-layout{grid-template-columns:1fr}}.perspective-typography-tool{--pt-panel: rgba(17, 22, 30, .94);--pt-line: var(--c-border);--pt-text: var(--c-text);--pt-muted: var(--c-text-dim);--pt-btn: #111;--pt-btn2: #2a313e;display:grid;grid-template-columns:1fr 360px;height:100%;min-height:0;background:var(--c-bg);color:var(--pt-text);overflow:hidden;font-family:var(--font-sans)}.perspective-typography-tool .pt-stage-wrap{position:relative;overflow:hidden}.perspective-typography-tool .pt-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.perspective-typography-tool .pt-camera{transform-style:preserve-3d;will-change:transform}.perspective-typography-tool .pt-text-stack{position:relative;transform-style:preserve-3d;white-space:pre;user-select:none;filter:drop-shadow(0 18px 30px rgba(0,0,0,.18))}.perspective-typography-tool .pt-layer{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-rendering:geometricPrecision;transform-origin:center center;white-space:pre;pointer-events:none}.perspective-typography-tool .pt-panel{background:var(--c-surface);border-left:1px solid var(--pt-line);overflow:auto;padding:18px 16px 22px;min-height:0}.perspective-typography-tool .pt-title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-bottom:14px}.perspective-typography-tool .pt-section{border-top:1px solid var(--pt-line);padding-top:14px;margin-top:14px}.perspective-typography-tool .pt-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.perspective-typography-tool .pt-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--pt-muted);margin-bottom:10px;font-weight:700}.perspective-typography-tool .pt-row{margin-bottom:12px}.perspective-typography-tool .pt-row>.pt-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:13px;color:var(--pt-text)}.perspective-typography-tool .pt-value{color:var(--pt-muted);font-size:12px;min-width:52px;text-align:right}.perspective-typography-tool input[type=text],.perspective-typography-tool textarea,.perspective-typography-tool select{width:100%;border:1px solid var(--pt-line);background:var(--c-surface-2);color:var(--pt-text);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit}.perspective-typography-tool textarea{min-height:84px;resize:vertical}.perspective-typography-tool input[type=range]{width:100%;accent-color:var(--c-accent);cursor:pointer}.perspective-typography-tool .pt-range-row{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:8px}.perspective-typography-tool .pt-bound{width:100%;background:var(--c-surface-2);color:var(--pt-text);border:1px solid var(--pt-line);border-radius:8px;padding:5px 7px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.perspective-typography-tool .pt-bound::-webkit-outer-spin-button,.perspective-typography-tool .pt-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.perspective-typography-tool .pt-bound:focus{border-color:var(--c-accent)}.perspective-typography-tool input[type=color]{width:100%;height:42px;padding:0;border:1px solid var(--pt-line);border-radius:10px;background:var(--c-surface-2);cursor:pointer}.perspective-typography-tool .pt-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.perspective-typography-tool button{appearance:none;border:0;border-radius:999px;padding:12px 14px;font-size:13px;font-weight:700;cursor:pointer;background:var(--c-accent);color:#0b0c0f;font-family:inherit}.perspective-typography-tool button.pt-secondary{background:var(--pt-btn2);color:var(--pt-text)}@media (max-width: 980px){.perspective-typography-tool{grid-template-columns:1fr;grid-template-rows:1fr auto}.perspective-typography-tool .pt-panel{border-left:0;border-top:1px solid var(--pt-line);max-height:50vh}}.kinetic-typography-tool{display:grid;grid-template-columns:1fr 340px;height:100%;min-height:0;background:var(--c-bg);color:var(--c-text);overflow:hidden;font-family:var(--font-sans)}.kinetic-typography-tool .kt-stage-wrap{position:relative;overflow:hidden;min-width:0;min-height:0}.kinetic-typography-tool .kt-stage{position:absolute;inset:0;display:block}.kinetic-typography-tool .kt-canvas{width:100%;height:100%;display:block;background:#000}.kinetic-typography-tool .kt-stage-pill{position:absolute;top:12px;left:12px;z-index:5;background:#0f0f0fb3;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 12px;font-size:11px;letter-spacing:.06em;color:var(--c-text-dim);pointer-events:none}.kinetic-typography-tool .kt-panel{background:var(--c-surface);border-left:1px solid var(--c-border);overflow:auto;padding:18px 16px 22px;min-height:0}.kinetic-typography-tool .kt-title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-bottom:14px}.kinetic-typography-tool .kt-section{border-top:1px solid var(--c-border);padding-top:14px;margin-top:14px}.kinetic-typography-tool .kt-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.kinetic-typography-tool .kt-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--c-text-dim);margin-bottom:10px;font-weight:700}.kinetic-typography-tool .kt-row{margin-bottom:12px}.kinetic-typography-tool .kt-row>.kt-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:13px;color:var(--c-text)}.kinetic-typography-tool .kt-value{color:var(--c-text-dim);font-size:12px;min-width:52px;text-align:right}.kinetic-typography-tool input[type=text],.kinetic-typography-tool textarea,.kinetic-typography-tool select{width:100%;border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit}.kinetic-typography-tool textarea{min-height:64px;resize:vertical}.kinetic-typography-tool input[type=range]{width:100%;accent-color:var(--c-accent);cursor:pointer}.kinetic-typography-tool .kt-range-row{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:8px}.kinetic-typography-tool .kt-bound{width:100%;background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border);border-radius:8px;padding:5px 7px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.kinetic-typography-tool .kt-bound::-webkit-outer-spin-button,.kinetic-typography-tool .kt-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.kinetic-typography-tool .kt-bound:focus{border-color:var(--c-accent)}.kinetic-typography-tool input[type=color]{width:100%;height:38px;padding:0;border:1px solid var(--c-border);border-radius:10px;background:var(--c-surface-2);cursor:pointer}.kinetic-typography-tool .kt-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kinetic-typography-tool .kt-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kinetic-typography-tool button{appearance:none;border:0;border-radius:999px;padding:11px 14px;font-size:13px;font-weight:700;cursor:pointer;background:var(--c-accent);color:#0b0c0f;font-family:inherit}.kinetic-typography-tool button.kt-secondary{background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border)}@media (max-width: 980px){.kinetic-typography-tool{grid-template-columns:1fr;grid-template-rows:1fr auto}.kinetic-typography-tool .kt-panel{border-left:0;border-top:1px solid var(--c-border);max-height:50vh}}.overlay-effect-tool{display:grid;grid-template-columns:340px 1fr;height:100%;min-height:0;background:var(--c-bg);color:var(--c-text);overflow:hidden;font-family:var(--font-sans)}.overlay-effect-tool .ofx-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--c-border);background:var(--c-surface);overflow-y:auto;min-height:0}.overlay-effect-tool .ofx-group{padding:var(--s-4);border-bottom:1px solid var(--c-border);display:flex;flex-direction:column;gap:var(--s-3)}.overlay-effect-tool .ofx-group:last-child{border-bottom:0}.overlay-effect-tool .ofx-group-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-dim)}.overlay-effect-tool .ofx-group-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-2)}.overlay-effect-tool .ofx-field{display:flex;flex-direction:column;gap:var(--s-2)}.overlay-effect-tool .ofx-field-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--c-text)}.overlay-effect-tool .ofx-value{font-family:var(--font-mono);font-size:11px;color:var(--c-text-dim);font-variant-numeric:tabular-nums}.overlay-effect-tool .ofx-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.overlay-effect-tool .ofx-input,.overlay-effect-tool .ofx-select,.overlay-effect-tool .ofx-textarea{width:100%;background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--radius-2);padding:8px 10px;font-family:inherit;font-size:13px;outline:none}.overlay-effect-tool .ofx-textarea{font-family:var(--font-mono);font-size:12px;resize:vertical;min-height:60px}.overlay-effect-tool .ofx-input:focus,.overlay-effect-tool .ofx-select:focus,.overlay-effect-tool .ofx-textarea:focus{border-color:var(--c-accent)}.overlay-effect-tool .ofx-input[type=color]{padding:4px;height:36px;cursor:pointer}.overlay-effect-tool .ofx-range{width:100%;accent-color:var(--c-accent)}.overlay-effect-tool .ofx-range-row{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:var(--s-2)}.overlay-effect-tool .ofx-bound{width:100%;background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--radius-2);padding:4px 6px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.overlay-effect-tool .ofx-bound::-webkit-outer-spin-button,.overlay-effect-tool .ofx-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.overlay-effect-tool .ofx-bound:focus{border-color:var(--c-accent)}.overlay-effect-tool .ofx-checkbox{display:flex;align-items:center;gap:var(--s-2);padding:8px 10px;border-radius:var(--radius-2);background:var(--c-surface-2);border:1px solid var(--c-border);cursor:pointer;font-size:12px;user-select:none}.overlay-effect-tool .ofx-checkbox input{accent-color:var(--c-accent)}.overlay-effect-tool .ofx-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.overlay-effect-tool .ofx-btn{appearance:none;border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);border-radius:var(--radius-2);padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast)}.overlay-effect-tool .ofx-btn:hover{border-color:var(--c-accent)}.overlay-effect-tool .ofx-btn.ofx-primary{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.overlay-effect-tool .ofx-btn.ofx-primary:hover{background:var(--c-accent-strong);border-color:var(--c-accent-strong)}.overlay-effect-tool .ofx-btn.ofx-danger{color:var(--c-danger);border-color:var(--c-danger);background:transparent}.overlay-effect-tool .ofx-mini{appearance:none;border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);border-radius:var(--radius-1);padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer}.overlay-effect-tool .ofx-mini:hover{border-color:var(--c-accent)}.overlay-effect-tool .ofx-mini.ofx-danger{color:var(--c-danger);border-color:var(--c-danger);background:transparent}.overlay-effect-tool .ofx-mini[disabled]{opacity:.4;cursor:not-allowed}.overlay-effect-tool .ofx-layer{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--c-border);border-radius:var(--radius-2);background:#ffffff05}.overlay-effect-tool .ofx-layer-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-2)}.overlay-effect-tool .ofx-layer-head .ofx-checkbox{flex:1;font-weight:700;font-size:12px}.overlay-effect-tool .ofx-stage{display:grid;grid-template-rows:auto 1fr;min-height:0;min-width:0;overflow:hidden;background:var(--c-bg)}.overlay-effect-tool .ofx-topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-border);background:var(--c-surface);flex-wrap:wrap}.overlay-effect-tool .ofx-badges{display:flex;gap:var(--s-2);flex-wrap:wrap}.overlay-effect-tool .ofx-badge{font-size:11px;padding:4px 10px;border-radius:999px;background:var(--c-surface-2);border:1px solid var(--c-border);color:var(--c-text-dim);font-variant-numeric:tabular-nums}.overlay-effect-tool .ofx-canvas-wrap{overflow:auto;display:grid;place-items:center;padding:var(--s-5);background:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.04) 75%),linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.04) 75%);background-size:22px 22px;background-position:0 0,11px 11px;background-color:var(--c-bg);min-height:0}.overlay-effect-tool .ofx-canvas-wrap canvas{display:block;background:transparent;box-shadow:0 18px 40px #00000052;border-radius:var(--radius-2);max-width:100%}@media (max-width: 1100px){.overlay-effect-tool{grid-template-columns:1fr;grid-template-rows:auto 1fr}.overlay-effect-tool .ofx-sidebar{border-right:0;border-bottom:1px solid var(--c-border);max-height:50vh}}.pattern-image-text-tool{--pit-panel: var(--c-surface);--pit-panel-2: var(--c-surface-2);--pit-line: var(--c-border);--pit-text: var(--c-text);--pit-muted: var(--c-text-dim);--pit-accent: var(--c-accent);display:grid;grid-template-columns:340px 1fr;height:100%;min-height:0;background:var(--c-bg);color:var(--pit-text);overflow:hidden;font-family:var(--font-sans)}.pattern-image-text-tool .pit-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--pit-line);background:var(--pit-panel);overflow-y:auto;min-height:0}.pattern-image-text-tool .pit-header{padding:var(--s-4);border-bottom:1px solid var(--pit-line)}.pattern-image-text-tool .pit-header h1{margin:0 0 6px;font-size:16px;font-weight:800;letter-spacing:-.02em}.pattern-image-text-tool .pit-header p{margin:0;font-size:12px;line-height:1.5;color:var(--pit-muted)}.pattern-image-text-tool .pit-group{padding:var(--s-4);border-bottom:1px solid var(--pit-line);display:flex;flex-direction:column;gap:var(--s-3)}.pattern-image-text-tool .pit-group:last-child{border-bottom:0}.pattern-image-text-tool .pit-group-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pit-muted)}.pattern-image-text-tool .pit-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.pattern-image-text-tool .pit-tab{appearance:none;border:1px solid var(--pit-line);background:var(--pit-panel-2);color:var(--pit-text);border-radius:var(--radius-2);padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.pattern-image-text-tool .pit-tab.active{background:var(--pit-accent);border-color:var(--pit-accent);color:#fff}.pattern-image-text-tool .pit-field{display:flex;flex-direction:column;gap:var(--s-2);font-size:12px}.pattern-image-text-tool .pit-field>span{color:var(--pit-text);font-weight:600}.pattern-image-text-tool .pit-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.pattern-image-text-tool .pit-row-between{display:flex;justify-content:space-between;align-items:center}.pattern-image-text-tool .pit-value{font-family:var(--font-mono);font-size:11px;color:var(--pit-muted);font-variant-numeric:tabular-nums;font-weight:500}.pattern-image-text-tool input[type=text],.pattern-image-text-tool input[type=number],.pattern-image-text-tool select,.pattern-image-text-tool textarea{width:100%;background:var(--pit-panel-2);color:var(--pit-text);border:1px solid var(--pit-line);border-radius:var(--radius-2);padding:8px 10px;font-family:inherit;font-size:13px;outline:none}.pattern-image-text-tool textarea{resize:vertical;min-height:56px;line-height:1.4}.pattern-image-text-tool input:focus,.pattern-image-text-tool select:focus,.pattern-image-text-tool textarea:focus{border-color:var(--pit-accent)}.pattern-image-text-tool input[type=range]{width:100%;accent-color:var(--pit-accent)}.pattern-image-text-tool .pit-range-row{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:8px}.pattern-image-text-tool .pit-bound{width:100%;background:var(--pit-panel-2);color:var(--pit-text, inherit);border:1px solid var(--pit-line);border-radius:var(--radius-2);padding:4px 6px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.pattern-image-text-tool .pit-bound::-webkit-outer-spin-button,.pattern-image-text-tool .pit-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pattern-image-text-tool .pit-bound:focus{border-color:var(--pit-accent)}.pattern-image-text-tool input[type=color]{width:100%;height:36px;padding:2px;background:var(--pit-panel-2);border:1px solid var(--pit-line);border-radius:var(--radius-2);cursor:pointer}.pattern-image-text-tool .pit-checkbox{display:flex;align-items:center;gap:var(--s-2);padding:8px 10px;border-radius:var(--radius-2);background:var(--pit-panel-2);border:1px solid var(--pit-line);cursor:pointer;font-size:12px;user-select:none}.pattern-image-text-tool .pit-checkbox input{accent-color:var(--pit-accent)}.pattern-image-text-tool .pit-pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.pattern-image-text-tool .pit-pattern-card{appearance:none;border:1px solid var(--pit-line);background:var(--pit-panel-2);color:var(--pit-text);border-radius:var(--radius-2);padding:10px 6px;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}.pattern-image-text-tool .pit-pattern-card.active{background:var(--pit-accent);border-color:var(--pit-accent);color:#fff}.pattern-image-text-tool .pit-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.pattern-image-text-tool .pit-swatch{width:100%;aspect-ratio:1;border:1px solid rgba(0,0,0,.18);border-radius:var(--radius-1, 4px);cursor:pointer;padding:0}.pattern-image-text-tool .pit-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.pattern-image-text-tool .pit-btn{appearance:none;border:1px solid var(--pit-line);background:var(--pit-panel-2);color:var(--pit-text);border-radius:var(--radius-2);padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast)}.pattern-image-text-tool .pit-btn:hover{border-color:var(--pit-accent)}.pattern-image-text-tool .pit-btn.primary{background:var(--pit-accent);border-color:var(--pit-accent);color:#fff}.pattern-image-text-tool .pit-btn.primary:hover{background:var(--c-accent-strong);border-color:var(--c-accent-strong)}.pattern-image-text-tool .pit-hint{margin:0;font-size:11px;color:var(--pit-muted);line-height:1.5}.pattern-image-text-tool .pit-stage{display:grid;place-items:center;min-height:0;min-width:0;overflow:hidden;padding:var(--s-4)}.pattern-image-text-tool .pit-canvas{display:block;box-shadow:0 20px 60px #00000059;max-width:100%;max-height:100%}@media (max-width: 980px){.pattern-image-text-tool{grid-template-columns:1fr;grid-template-rows:auto 1fr}.pattern-image-text-tool .pit-sidebar{border-right:0;border-bottom:1px solid var(--pit-line);max-height:50vh}}.variable-font-editor-tool{display:grid;grid-template-columns:360px 1fr;height:100%;min-height:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);overflow:hidden}.variable-font-editor-tool .vfe-sidebar{background:var(--c-surface);border-right:1px solid var(--c-border);overflow:auto;padding:18px 16px 24px;min-height:0}.variable-font-editor-tool .vfe-title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.variable-font-editor-tool .vfe-hint{margin:0 0 14px;font-size:12px;color:var(--c-text-dim);line-height:1.5}.variable-font-editor-tool code{font-family:var(--font-mono);font-size:.9em;background:var(--c-surface-2);padding:1px 5px;border-radius:4px}.variable-font-editor-tool .vfe-section{border-top:1px solid var(--c-border);padding-top:14px;margin-top:14px}.variable-font-editor-tool .vfe-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.variable-font-editor-tool .vfe-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--c-text-dim);margin-bottom:10px;font-weight:700}.variable-font-editor-tool .vfe-row{margin-bottom:12px}.variable-font-editor-tool .vfe-row:last-child{margin-bottom:0}.variable-font-editor-tool .vfe-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.variable-font-editor-tool .vfe-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}.variable-font-editor-tool .vfe-value{color:var(--c-text-dim);font-size:12px;font-variant-numeric:tabular-nums;min-width:52px;text-align:right}.variable-font-editor-tool .vfe-sub{font-size:12px;color:var(--c-text-dim);line-height:1.5;margin-top:6px}.variable-font-editor-tool .vfe-warn{background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-2);padding:8px 10px;margin-top:10px}.variable-font-editor-tool .vfe-textarea,.variable-font-editor-tool .vfe-input{width:100%;border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);border-radius:var(--radius-2);padding:10px 12px;font-size:14px;font-family:inherit}.variable-font-editor-tool .vfe-textarea{min-height:84px;resize:vertical;line-height:1.45}.variable-font-editor-tool input[type=range]{width:100%;accent-color:var(--c-accent);cursor:pointer}.variable-font-editor-tool .vfe-range-row{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:8px}.variable-font-editor-tool .vfe-bound{width:100%;background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border);border-radius:8px;padding:5px 7px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.variable-font-editor-tool .vfe-bound::-webkit-outer-spin-button,.variable-font-editor-tool .vfe-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.variable-font-editor-tool .vfe-bound:focus{border-color:var(--c-accent)}.variable-font-editor-tool .vfe-color-field{display:grid;gap:6px;font-size:12px;color:var(--c-text-dim)}.variable-font-editor-tool input[type=color]{width:100%;height:38px;padding:0;border:1px solid var(--c-border);border-radius:var(--radius-2);background:var(--c-surface-2);cursor:pointer}.variable-font-editor-tool .vfe-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.variable-font-editor-tool .vfe-btn{appearance:none;border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);border-radius:999px;padding:11px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform var(--motion-fast),background var(--motion-fast)}.variable-font-editor-tool .vfe-btn:hover{transform:translateY(-1px)}.variable-font-editor-tool .vfe-btn.vfe-primary{background:var(--c-accent);color:#0b0c0f;border-color:transparent}.variable-font-editor-tool .vfe-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:32px}.variable-font-editor-tool .vfe-preview{text-align:center;word-break:break-word;white-space:pre-wrap;font-feature-settings:"kern" 1;text-rendering:geometricPrecision;user-select:text;max-width:100%}.variable-font-editor-tool .vfe-preview>div{min-height:1em}.variable-font-editor-tool .vfe-meta{position:absolute;left:16px;bottom:14px;display:flex;gap:8px;align-items:center;font-size:11px;color:var(--c-text-dim);background:#00000052;border:1px solid var(--c-border);padding:6px 10px;border-radius:999px;font-family:var(--font-mono);max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 980px){.variable-font-editor-tool{grid-template-columns:1fr;grid-template-rows:auto 1fr}.variable-font-editor-tool .vfe-sidebar{border-right:0;border-bottom:1px solid var(--c-border);max-height:50vh}}.ribbon-3d-tool{--r3-line: var(--c-border);--r3-text: var(--c-text);--r3-muted: var(--c-text-dim);display:grid;grid-template-columns:340px 1fr;height:100%;min-height:0;background:var(--c-bg);color:var(--r3-text);overflow:hidden;font-family:var(--font-sans)}.ribbon-3d-tool .r3-panel{background:var(--c-surface);border-right:1px solid var(--r3-line);overflow:auto;padding:18px 16px 22px;min-height:0}.ribbon-3d-tool .r3-title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.ribbon-3d-tool .r3-desc{font-size:12px;color:var(--r3-muted);line-height:1.45;margin-bottom:14px}.ribbon-3d-tool .r3-section{border-top:1px solid var(--r3-line);padding-top:14px;margin-top:14px}.ribbon-3d-tool .r3-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.ribbon-3d-tool .r3-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--r3-muted);margin-bottom:10px;font-weight:700}.ribbon-3d-tool .r3-row{margin-bottom:12px}.ribbon-3d-tool .r3-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:13px;color:var(--r3-text)}.ribbon-3d-tool .r3-value{color:var(--r3-muted);font-size:12px;min-width:54px;text-align:right;font-variant-numeric:tabular-nums}.ribbon-3d-tool select{width:100%;border:1px solid var(--r3-line);background:var(--c-surface-2);color:var(--r3-text);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit}.ribbon-3d-tool input[type=range]{width:100%;accent-color:var(--c-accent);cursor:pointer}.ribbon-3d-tool .r3-range-row{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:8px}.ribbon-3d-tool .r3-bound{width:100%;background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border);border-radius:8px;padding:5px 7px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.ribbon-3d-tool .r3-bound::-webkit-outer-spin-button,.ribbon-3d-tool .r3-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ribbon-3d-tool .r3-bound:focus{border-color:var(--c-accent)}.ribbon-3d-tool input[type=color]{width:100%;height:38px;padding:0;border:1px solid var(--r3-line);border-radius:10px;background:var(--c-surface-2);cursor:pointer}.ribbon-3d-tool .r3-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ribbon-3d-tool .r3-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ribbon-3d-tool button{appearance:none;border:0;border-radius:999px;padding:12px 14px;font-size:13px;font-weight:700;cursor:pointer;background:var(--c-accent);color:#0b0c0f;font-family:inherit}.ribbon-3d-tool button.r3-secondary{background:var(--c-surface-2);color:var(--r3-text);border:1px solid var(--r3-line)}.ribbon-3d-tool .r3-stage{position:relative;min-width:0;min-height:0;overflow:hidden}.ribbon-3d-tool .r3-canvas{width:100%;height:100%;display:block;cursor:grab}.ribbon-3d-tool .r3-canvas.dragging{cursor:grabbing}.ribbon-3d-tool .r3-hud{position:absolute;top:14px;left:14px;background:#0c0f169e;border:1px solid rgba(255,255,255,.08);padding:8px 12px;border-radius:12px;font-size:11px;line-height:1.4;color:#cfd6e4;pointer-events:none;backdrop-filter:blur(10px)}@media (max-width: 980px){.ribbon-3d-tool{grid-template-columns:1fr;grid-template-rows:auto 1fr}.ribbon-3d-tool .r3-panel{border-right:0;border-bottom:1px solid var(--r3-line);max-height:50vh}}.sound-sync-tool{--ss-line: var(--c-border);--ss-text: var(--c-text);--ss-muted: var(--c-text-dim);--ss-btn2: #2a313e;display:grid;grid-template-columns:1fr 360px;height:100%;min-height:0;background:var(--c-bg);color:var(--ss-text);overflow:hidden;font-family:var(--font-sans)}.sound-sync-tool .ss-stage-wrap{position:relative;overflow:hidden;min-height:0}.sound-sync-tool .ss-canvas{display:block;width:100%;height:100%}.sound-sync-tool .ss-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#00000052;pointer-events:none}.sound-sync-tool .ss-overlay>*{pointer-events:auto}.sound-sync-tool .ss-start{appearance:none;border:0;border-radius:999px;padding:14px 28px;font-size:14px;font-weight:700;letter-spacing:.06em;background:var(--c-accent);color:#0b0c0f;cursor:pointer;font-family:inherit}.sound-sync-tool .ss-hint{margin:0;color:#ffffffc7;font-size:12px;letter-spacing:.04em}.sound-sync-tool .ss-panel{background:var(--c-surface);border-left:1px solid var(--ss-line);overflow:auto;padding:18px 16px 22px;min-height:0}.sound-sync-tool .ss-title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-bottom:14px}.sound-sync-tool .ss-section{border-top:1px solid var(--ss-line);padding-top:14px;margin-top:14px}.sound-sync-tool .ss-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.sound-sync-tool .ss-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ss-muted);margin-bottom:10px;font-weight:700}.sound-sync-tool .ss-row{margin-bottom:12px}.sound-sync-tool .ss-row>.ss-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:13px;color:var(--ss-text)}.sound-sync-tool .ss-value{color:var(--ss-muted);font-size:12px;min-width:52px;text-align:right;font-variant-numeric:tabular-nums}.sound-sync-tool select{width:100%;border:1px solid var(--ss-line);background:var(--c-surface-2);color:var(--ss-text);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit}.sound-sync-tool input[type=range]{width:100%;accent-color:var(--c-accent);cursor:pointer}.sound-sync-tool .ss-range-row{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:8px}.sound-sync-tool .ss-bound{width:100%;background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border);border-radius:8px;padding:5px 7px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.sound-sync-tool .ss-bound::-webkit-outer-spin-button,.sound-sync-tool .ss-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sound-sync-tool .ss-bound:focus{border-color:var(--c-accent)}.sound-sync-tool input[type=color]{width:100%;height:42px;padding:0;border:1px solid var(--ss-line);border-radius:10px;background:var(--c-surface-2);cursor:pointer}.sound-sync-tool .ss-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sound-sync-tool button{appearance:none;border:0;border-radius:999px;padding:12px 14px;font-size:13px;font-weight:700;cursor:pointer;background:var(--c-accent);color:#0b0c0f;font-family:inherit}.sound-sync-tool button.ss-secondary{background:var(--ss-btn2);color:var(--ss-text)}@media (max-width: 980px){.sound-sync-tool{grid-template-columns:1fr;grid-template-rows:1fr auto}.sound-sync-tool .ss-panel{border-left:0;border-top:1px solid var(--ss-line);max-height:50vh}}
