:root{--primary: #0ea5e9;--primary-hover: #38bdf8;--primary-muted: rgba(14, 165, 233, .15);--accent: #f59e0b;--accent-muted: rgba(245, 158, 11, .15);--background: #0c1222;--background-elevated: #111827;--surface: #1a2234;--surface-hover: #243044;--text: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--success: #10b981;--success-muted: rgba(16, 185, 129, .15);--border: rgba(148, 163, 184, .12);--border-strong: rgba(148, 163, 184, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--icon-filter: brightness(0) invert(1);--transition: .2s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;background:var(--background);color:var(--text);min-height:100vh;display:flex;flex-direction:column;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(14,165,233,.15),transparent),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(245,158,11,.05),transparent),radial-gradient(ellipse 60% 40% at 0% 80%,rgba(14,165,233,.05),transparent);pointer-events:none;z-index:0}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2.5rem 1.5rem;width:100%;max-width:960px;margin:0 auto;position:relative;z-index:1}#mobileNav{display:none}h1{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.5rem}h2{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:1.25rem;letter-spacing:-.01em}h3{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}#tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.375rem;background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;justify-content:center}.tab-button{background:transparent;color:var(--text-secondary);padding:.625rem 1rem;border-radius:var(--radius-md);border:none;font-size:.9rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}.tab-button:hover{background:var(--surface-hover);color:var(--text)}.tab-button.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.tabcontent{display:none;background:var(--surface);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-md)}.tabcontent.active{display:block}.input-group{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:flex-end}.input-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}input[type=file]{background:var(--background-elevated);color:var(--text);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);font-size:.9rem;cursor:pointer;transition:var(--transition);flex:1;min-width:180px}input[type=file]::file-selector-button{background:var(--primary);color:#fff;border:none;padding:.5rem .75rem;border-radius:var(--radius-sm);margin-right:.75rem;font-weight:500;cursor:pointer}input[type=file]:hover{border-color:var(--primary)}input[type=number],input[type=text]{background:var(--background-elevated);color:var(--text);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);font-size:.95rem;width:140px;transition:var(--transition)}input[type=number]:focus,input[type=text]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-muted)}select{background:var(--background-elevated);color:var(--text);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);font-size:.95rem;cursor:pointer;transition:var(--transition);min-width:180px}select:hover{border-color:var(--primary)}select:focus{outline:none;border-color:var(--primary)}button{background:var(--primary);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius-md);border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit}button:hover{background:var(--primary-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}canvas{border:1px solid var(--border);border-radius:var(--radius-md);margin:1.25rem 0;max-width:100%;background:var(--background-elevated)}a.download-link{background:var(--success);color:#fff;text-decoration:none;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition);margin-top:1rem;border:none}a.download-link:hover{background:#059669;transform:translateY(-1px)}.checkbox-group{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.checkbox-group label{cursor:pointer;font-size:.9rem;color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}#outputList{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}#outputList .download-link{margin-top:0}.audio-preview{margin-top:1.5rem;padding:1.5rem;background:var(--background-elevated);border-radius:var(--radius-md);border:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;align-items:center}.audio-preview audio{width:100%;max-width:480px;border-radius:var(--radius-md);height:48px}#audioProgress,#csvProgress{width:100%;display:flex;flex-direction:column;gap:.5rem}.palette-upload-section{margin-bottom:1.5rem}.upload-controls{display:flex;gap:.75rem;padding:1rem;background:var(--background-elevated);border-radius:var(--radius-md);border:1px solid var(--border)}.upload-controls input[type=file]{flex:1}.clear-btn{background:var(--surface);color:var(--text-secondary);padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border);font-size:1rem;cursor:pointer;transition:var(--transition);width:48px;height:48px;display:flex;align-items:center;justify-content:center}.clear-btn:hover{border-color:var(--primary);color:var(--text)}.file-info{color:var(--text-muted);font-size:.8rem;margin-top:.5rem}.palette-settings{margin-bottom:1.5rem;padding:1.5rem;background:var(--background-elevated);border-radius:var(--radius-md);border:1px solid var(--border)}.palette-selection{margin-bottom:1.25rem}.palette-preview h4{margin-bottom:.5rem;font-size:.875rem}.palette-colors{display:flex;flex-wrap:wrap;gap:.25rem;padding:1rem;background:var(--surface);border-radius:var(--radius-md);margin-top:.5rem;border:1px solid var(--border)}.palette-color{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);cursor:pointer;transition:var(--transition)}.palette-color:hover{transform:scale(1.15)}.palette-options{display:flex;gap:1rem;flex-wrap:wrap}.palette-comparison{margin-top:1.5rem;padding:1.5rem;background:var(--background-elevated);border-radius:var(--radius-md);border:1px solid var(--border)}.comparison-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.25rem}.image-container{text-align:center}.image-container h4{margin-bottom:.75rem;font-size:.9rem}.image-container canvas{max-width:100%;max-height:360px}textarea{font-family:DM Sans,system-ui,sans-serif;background:var(--background-elevated);color:var(--text);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);font-size:.95rem;resize:vertical;min-height:100px;transition:var(--transition)}textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-muted)}textarea[readonly]{font-family:JetBrains Mono,monospace;font-size:.85rem;cursor:default}.tabcontent{contain:layout style paint}.tabcontent:not(.active){contain:strict}#mobileNav{width:100%}#hamburger{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-weight:600;transition:var(--transition)}#hamburger:hover{border-color:var(--primary)}#mobileMenu{margin-top:.5rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.mobile-menu-item{width:100%;text-align:left;padding:.75rem 1rem;border:none;background:transparent;color:var(--text);font-size:.95rem;cursor:pointer;transition:var(--transition)}.mobile-menu-item:hover{background:var(--surface-hover)}.mobile-menu-item.active{background:var(--primary-muted);color:var(--primary)}.tabcontent>p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.25rem;line-height:1.5}.input-group-stack{flex-direction:column;align-items:stretch}.input-group-stack label{margin-bottom:.375rem}.input-group-stack select,.input-group-stack input[type=number],.input-group-stack input[type=text],.input-group-stack input[type=file]{width:100%}.button-row{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.button-row button{flex:1;min-width:120px}.min-h-120{min-height:120px}.min-h-200{min-height:200px}.font-mono{font-family:JetBrains Mono,Courier New,monospace;font-size:.875rem}.qrcode-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.25rem 0}.qrcode-preview{margin-top:1.5rem;padding:1.5rem;background:var(--background-elevated);border-radius:var(--radius-md);border:1px solid var(--border);text-align:center}.pagnai-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.value-display{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.mod-controls{margin-top:1rem;padding:1rem;background:var(--background-elevated);border-radius:var(--radius-md);border:1px solid var(--border)}.mod-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}input[type=color]{width:100%;height:44px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:2px;background:var(--background-elevated)}input[type=range]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-elevated);border-radius:999px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid white;box-shadow:var(--shadow-sm)}.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:1.25rem;margin-top:auto;width:100%}.footer-content{max-width:960px;margin:0 auto;display:flex;justify-content:center;align-items:center}.github-link{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--background-elevated);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;color:var(--text);font-weight:500;font-size:.9rem;transition:var(--transition)}.github-link:hover{background:var(--primary);border-color:var(--primary);color:#fff}.github-icon{width:20px;height:20px;filter:var(--icon-filter)}.github-link:hover .github-icon{filter:brightness(0) invert(1)}.progress-container{width:100%;display:flex;flex-direction:column;gap:.5rem}.progress-header{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.875rem}.progress-track{width:100%;height:8px;background:var(--background-elevated);border-radius:999px;overflow:hidden}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:999px;transition:width .3s ease}.image-result{text-align:center;margin-top:1.5rem}#tableImage{max-width:100%;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff}#pagnaiModControls{margin-top:1rem;padding:1rem;background:var(--background-elevated);border-radius:var(--radius-md);border:1px solid var(--border)}.notification{position:fixed;bottom:1.5rem;right:1.5rem;padding:.875rem 1.5rem;border-radius:var(--radius-md);color:#fff;font-weight:500;font-size:.9rem;z-index:1000;box-shadow:var(--shadow-lg);transition:var(--transition)}.notification.success{background:var(--success)}.notification.error{background:#ef4444}.notification.info{background:var(--primary)}#audioSpinningTab .audio-spinning-sub{color:var(--text-secondary);line-height:1.5;margin:-.5rem 0 1.5rem;max-width:52rem}#audioSpinningTab .audio-spinning-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}@media (max-width: 860px){#audioSpinningTab .audio-spinning-grid{grid-template-columns:1fr}}#audioSpinningTab .audio-spinning-panel{background:var(--background-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}#audioSpinningTab .audio-spinning-controls{display:grid;gap:1rem}#audioSpinningTab .audio-spinning-row{display:grid;gap:.5rem}#audioSpinningTab .audio-spinning-row label{font-weight:700;font-size:.875rem;letter-spacing:.02em;color:var(--text);margin:0}#audioSpinningTab .audio-spinning-checkbox-row .checkbox-group{margin:0}#audioSpinningTab .audio-spinning-checkbox-row .checkbox-group label{font-weight:500;font-size:.875rem;color:var(--text-secondary)}#audioSpinningTab .audio-spinning-row input[type=range],#audioSpinningTab .audio-spinning-row select{width:100%}#audioSpinningTab .audio-spinning-row input[type=range]{accent-color:var(--primary)}#audioSpinningTab .audio-spinning-value{color:var(--text-secondary);font-size:.8125rem}#audioSpinningTab .audio-spinning-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}@media (max-width: 520px){#audioSpinningTab .audio-spinning-buttons{grid-template-columns:repeat(2,1fr)}}#audioSpinningTab .audio-spinning-download-row{margin-top:.25rem}#audioSpinningTab .audio-spinning-download-row button{width:100%;padding:.75rem .875rem;border-radius:var(--radius-md);font-weight:700;font-size:.875rem}#audioSpinningTab .audio-spinning-download-row button.secondary{background:#ffffff14;border:1px solid var(--border-strong);color:var(--text)}#audioSpinningTab .audio-spinning-download-row button.secondary:hover{background:var(--surface-hover);color:var(--text)}#audioSpinningTab .audio-spinning-buttons button{padding:.75rem .875rem;border-radius:var(--radius-md);font-weight:700;font-size:.875rem}#audioSpinningTab .audio-spinning-buttons button.secondary{background:#ffffff14;border:1px solid var(--border-strong);color:var(--text)}#audioSpinningTab .audio-spinning-buttons button.secondary:hover{background:var(--surface-hover);color:var(--text)}#audioSpinningTab .audio-spinning-status{font-size:.875rem;color:var(--text-secondary);min-height:1.2em;margin:0}#audioSpinningTab .audio-spinning-tiny{font-size:.75rem;color:var(--text-muted);line-height:1.5;margin:0}#audioSpinningTab .audio-spinning-viz{display:grid;gap:1rem;align-content:start}#audioSpinningTab .audio-spinning-stage{aspect-ratio:1 / 1;width:100%;border-radius:var(--radius-xl);position:relative;background:radial-gradient(circle at center,rgba(80,120,255,.18) 0 12%,transparent 13%),radial-gradient(circle at center,transparent 0 24%,rgba(255,255,255,.08) 24.5% 25%,transparent 25.5%),radial-gradient(circle at center,transparent 0 39%,rgba(255,255,255,.08) 39.5% 40%,transparent 40.5%),radial-gradient(circle at center,transparent 0 54%,rgba(255,255,255,.08) 54.5% 55%,transparent 55.5%),radial-gradient(circle at center,#111827,#0b1220 60%,#060a11);border:1px solid var(--border);overflow:hidden}#audioSpinningTab .audio-spinning-crosshair-h,#audioSpinningTab .audio-spinning-crosshair-v{position:absolute;background:#ffffff14}#audioSpinningTab .audio-spinning-crosshair-h{height:1px;width:100%;top:50%;left:0;transform:translateY(-.5px)}#audioSpinningTab .audio-spinning-crosshair-v{width:1px;height:100%;top:0;left:50%;transform:translate(-.5px)}#audioSpinningTab .audio-spinning-listener,#audioSpinningTab .audio-spinning-source{position:absolute;border-radius:999px;transform:translate(-50%,-50%)}#audioSpinningTab .audio-spinning-listener{width:22px;height:22px;left:50%;top:50%;background:var(--text);box-shadow:0 0 0 10px #f1f5f914;z-index:2}#audioSpinningTab .audio-spinning-source{width:20px;height:20px;left:50%;top:16%;background:#60a5fa;box-shadow:0 0 24px #60a5facc;z-index:3}#audioSpinningTab .audio-spinning-trail{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#audioSpinningTab .audio-spinning-readout{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}#audioSpinningTab .audio-spinning-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem}#audioSpinningTab .audio-spinning-stat-k{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.08em}#audioSpinningTab .audio-spinning-stat-v{font-weight:700;font-size:1.125rem}#audioHamburgerTab .ah-tool{margin-top:1.5rem}#audioHamburgerTab .ah-intro{color:var(--text-secondary);font-size:.9375rem;line-height:1.55;max-width:52rem;margin-bottom:1.25rem}#audioHamburgerTab .ah-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:1.25rem;align-items:start}@media (max-width: 900px){#audioHamburgerTab .ah-layout{grid-template-columns:1fr}}#audioHamburgerTab .ah-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1rem 1.1rem}#audioHamburgerTab .ah-panel-viz{padding:1rem}#audioHamburgerTab .ah-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}#audioHamburgerTab .ah-row label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}#audioHamburgerTab .ah-value{font-size:.875rem;color:var(--text);min-width:3.5rem}#audioHamburgerTab .ah-hint{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem}#audioHamburgerTab .ah-transport{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 .5rem}#audioHamburgerTab .ah-status{font-size:.8125rem;color:var(--text-secondary);margin:.35rem 0 0}#audioHamburgerTab .ah-stage{position:relative;width:100%;aspect-ratio:1;max-width:300px;margin:0 auto;border-radius:var(--radius-md);background:radial-gradient(circle at 50% 45%,#1e293bf2,#0f172a);border:1px solid var(--border);overflow:hidden;touch-action:none}#audioHamburgerTab .ah-cross{position:absolute;background:#ffffff14;pointer-events:none}#audioHamburgerTab .ah-cross-h{height:1px;width:100%;top:50%;left:0;transform:translateY(-.5px)}#audioHamburgerTab .ah-cross-v{width:1px;height:100%;top:0;left:50%;transform:translate(-.5px)}#audioHamburgerTab .ah-front-axis{position:absolute;left:50%;top:8%;bottom:50%;width:2px;margin-left:-1px;background:linear-gradient(to top,#0ea5e926,#0ea5e98c);border-radius:1px;pointer-events:none;z-index:1}#audioHamburgerTab .ah-listener{position:absolute;width:26px;height:26px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle at 35% 35%,#f8fafc,#94a3b8 55%,#475569);box-shadow:0 0 0 8px #0ea5e91f,0 0 0 1px #0f172a66,inset 0 -2px 4px #0f172a59;z-index:2}#audioHamburgerTab .ah-listener-face{position:absolute;left:50%;top:2px;width:0;height:0;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:7px solid rgba(15,23,42,.85);filter:drop-shadow(0 1px 0 rgba(255,255,255,.25));pointer-events:none}#audioHamburgerTab .ah-dots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}#audioHamburgerTab .ah-dot{position:absolute;width:16px;height:16px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 16px #00000073;border:2px solid rgba(255,255,255,.4);pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}#audioHamburgerTab .ah-dot:focus-visible{outline:2px solid var(--primary);outline-offset:2px}#audioHamburgerTab .ah-dot.ah-dot-dragging{cursor:grabbing;z-index:50!important;border-color:#ffffffd9}#audioHamburgerTab .ah-viz-caption{font-size:.75rem;color:var(--text-secondary);text-align:center;margin:.5rem 0 0}#audioHamburgerTab .ah-two-track{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0 .25rem}#audioHamburgerTab .ah-two-track-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;font-weight:600;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}#audioHamburgerTab .ah-two-track-label input{width:1rem;height:1rem;accent-color:var(--primary)}#audioHamburgerTab .ah-two-track-hint{margin:0 0 .75rem}#audioHamburgerTab .ah-stage.ah-stage-sides-locked .ah-dot{pointer-events:none;cursor:default}#audioHamburgerTab .ah-queue-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:.75rem;max-height:220px;overflow:auto}#audioHamburgerTab .ah-queue-head{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}#audioHamburgerTab .ah-queue-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}#audioHamburgerTab .ah-queue-item{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;padding:.4rem .5rem;border-radius:var(--radius-sm);background:var(--background-elevated);border:1px solid var(--border);font-size:.8125rem;cursor:default}#audioHamburgerTab .ah-queue-item.drag-over{border-color:var(--primary);box-shadow:0 0 0 1px #0ea5e940}#audioHamburgerTab .ah-drag{cursor:grab;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:1rem;line-height:1;padding:.15rem .25rem;touch-action:none}#audioHamburgerTab .ah-drag:active{cursor:grabbing}#audioHamburgerTab .ah-queue-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}#audioHamburgerTab .ah-queue-actions{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}#audioHamburgerTab .ah-queue-actions button{padding:.25rem .45rem;font-size:.75rem;min-width:0}#creditsCrawlTab .credits-crawl-sub{color:var(--text-secondary);font-size:.9375rem;margin-bottom:1.25rem}#creditsCrawlTab .credits-crawl-sub em{color:var(--text);font-style:italic}#creditsCrawlTab .credits-crawl-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}#creditsCrawlTab .credits-crawl-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;align-items:end}#creditsCrawlTab .credits-crawl-font label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:.35rem}#creditsCrawlTab .credits-crawl-font select,#creditsCrawlTab .credits-crawl-category input[type=text],#creditsCrawlTab .credits-crawl-entry input[type=text]{width:100%;padding:.625rem .75rem;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--background-elevated);color:var(--text);outline:none}#creditsCrawlTab .credits-crawl-font select:focus,#creditsCrawlTab .credits-crawl-category input:focus,#creditsCrawlTab .credits-crawl-entry input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted)}#creditsCrawlTab .credits-crawl-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}#creditsCrawlTab .credits-crawl-actions button{font:inherit;padding:.625rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--background-elevated);color:var(--text);cursor:pointer;transition:background var(--transition),border-color var(--transition)}#creditsCrawlTab .credits-crawl-actions button:hover{background:var(--surface-hover)}#creditsCrawlTab .credits-crawl-actions button.primary{background:var(--primary);border-color:transparent;color:#0c1222;font-weight:600}#creditsCrawlTab .credits-crawl-actions button.primary:hover{background:var(--primary-hover)}#creditsCrawlTab .credits-crawl-note{font-size:.8125rem;color:var(--text-muted);margin-bottom:.75rem}#creditsCrawlTab .credits-crawl-category{margin-bottom:1rem;padding:.875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background-elevated)}#creditsCrawlTab .credits-crawl-category-header{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-bottom:.5rem;align-items:center}#creditsCrawlTab .credits-crawl-entry{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;margin-bottom:.5rem;align-items:center}#creditsCrawlTab .credits-crawl-icon-btn{padding:.5rem .65rem;min-width:2.25rem;font-size:1.125rem;line-height:1;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);cursor:pointer}#creditsCrawlTab .credits-crawl-icon-btn:hover{background:var(--surface-hover);color:var(--text)}#creditsCrawlTab .credits-crawl-add-entry{margin-top:.25rem;font:inherit;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(96,165,250,.35);background:#0ea5e91f;color:var(--primary-hover);cursor:pointer;width:100%}#creditsCrawlTab .credits-crawl-add-entry:hover{background:#0ea5e933}.credits-crawl-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000e0;justify-content:center;align-items:center;padding:1.5rem}.credits-crawl-preview-frame{position:relative;display:flex;flex-direction:column;gap:.75rem;align-items:center;max-width:100%}.credits-crawl-overlay #ccPreviewCanvas{border:1px solid var(--border-strong);max-width:100%;height:auto;border-radius:var(--radius-sm)}.credits-crawl-close{position:absolute;top:-.25rem;right:-.25rem;background:var(--text);color:var(--background);padding:.35rem .55rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:1.25rem;line-height:1}.credits-crawl-close:hover{background:var(--text-secondary)}.credits-crawl-preview-controls{display:flex;gap:.5rem}.credits-crawl-preview-controls button{font:inherit;padding:.625rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer}.credits-crawl-preview-controls button.primary{background:var(--primary);border-color:transparent;color:#0c1222;font-weight:600}.credits-crawl-preview-controls button.primary:hover:not(:disabled){background:var(--primary-hover)}.credits-crawl-preview-controls button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 768px){.main-content{padding:1.5rem 1rem}.comparison-container{grid-template-columns:1fr;gap:1rem}#mobileNav{display:block}#tabs{display:none}.tabcontent{padding:1.25rem}.input-group{gap:.75rem}h1{font-size:1.75rem}h2{font-size:1.125rem}.mobile-menu-item{padding:.875rem 1rem}#creditsCrawlTab .credits-crawl-toolbar{grid-template-columns:1fr}}.viewer360-hint{font-size:.875rem;color:var(--text-secondary);margin-top:.75rem;line-height:1.55}.viewer360-wrap{position:relative;width:100%;aspect-ratio:16 / 9;max-height:min(72vh,580px);min-height:280px;margin-top:1.25rem;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:#050810}.viewer360-wrap canvas{display:block;width:100%;height:100%;touch-action:none}
