@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+SC:wght@300;400;500;600;700;900&family=Noto+Serif+SC:wght@400;600;700;900&display=swap";:root{--bg-primary: #eef4f4;--bg-secondary: #ffffff;--bg-tertiary: rgba(255, 255, 255, .82);--bg-glass: rgba(255, 255, 255, .62);--bg-deep: #eaf2f3;--bg-panel: #ffffff;--bg-surface: #f5f9f9;--text-primary: #0e2230;--text-secondary: #4f6b75;--text-tertiary: #8aa2ac;--border-subtle: rgba(13, 91, 110, .12);--border-glow: rgba(20, 184, 166, .18);--brand-blue: #1f7ae0;--brand-blue-deep: #155fbf;--brand-green: #15b8a6;--brand-green-deep: #0d9488;--neon-blue: #1f7ae0;--neon-blue-dim: rgba(31, 122, 224, .1);--neon-blue-glow: 0 0 12px rgba(31, 122, 224, .18);--accent-color: #1f7ae0;--accent-hover: #2f8af0;--accent-green: #15b8a6;--accent-gradient: linear-gradient(135deg, #1f7ae0 0%, #15b8a6 100%);--accent-gradient-soft: linear-gradient( 135deg, rgba(31, 122, 224, .12) 0%, rgba(21, 184, 166, .12) 100% );--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--shadow-sm: 0 2px 8px rgba(13, 91, 110, .04), 0 1px 2px rgba(13, 91, 110, .02);--shadow-md: 0 8px 24px rgba(13, 91, 110, .08), 0 2px 8px rgba(13, 91, 110, .04);--shadow-lg: 0 16px 48px rgba(13, 91, 110, .12), 0 4px 16px rgba(13, 91, 110, .06);--radius-sm: 7px;--radius-md: 9px;--radius-lg: 12px;--radius-full: 9999px;--font-sans: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Noto Serif SC", "楷体", "KaiTi", "STKaiti", serif;--font-mono: "JetBrains Mono", Consolas, monospace}:root[data-theme=dark]{--bg-primary: #07151c;--bg-secondary: #0f2630;--bg-tertiary: rgba(15, 38, 48, .82);--bg-glass: rgba(16, 40, 51, .6);--bg-deep: #051016;--bg-panel: #0f2630;--bg-surface: #16323e;--text-primary: #eaf6f6;--text-secondary: #9fc0c6;--text-tertiary: #5f8089;--border-subtle: rgba(120, 200, 210, .14);--border-glow: rgba(34, 211, 190, .22);--brand-blue: #4aa3ff;--brand-blue-deep: #2f8af0;--brand-green: #2dd4bf;--brand-green-deep: #14b8a6;--neon-blue: #4aa3ff;--neon-blue-dim: rgba(74, 163, 255, .16);--neon-blue-glow: 0 0 16px rgba(74, 163, 255, .34);--accent-color: #4aa3ff;--accent-hover: #6db6ff;--accent-green: #2dd4bf;--accent-gradient: linear-gradient(135deg, #4aa3ff 0%, #2dd4bf 100%);--accent-gradient-soft: linear-gradient( 135deg, rgba(74, 163, 255, .2) 0%, rgba(45, 212, 191, .2) 100% );--success-color: #2dd4bf;--warning-color: #fbbf24;--danger-color: #f87171;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .25);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6), 0 4px 16px rgba(0, 0, 0, .3)}*{transition:background-color .2s ease,border-color .2s ease,box-shadow .25s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeScaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.test-inputs-hidden{opacity:.01;position:absolute;top:0;left:0;z-index:-1}.app-root{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:transparent}.dynamic-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.dynamic-bg-orb{position:absolute;border-radius:50%;filter:blur(100px);will-change:transform}.dynamic-bg--light .dynamic-bg-orb--1{width:500px;height:500px;top:-12%;left:-8%;background:#1f7ae009;animation:bg-drift-1 25s ease-in-out infinite}.dynamic-bg--light .dynamic-bg-orb--2{width:400px;height:400px;bottom:-10%;right:-6%;background:#15b8a608;animation:bg-drift-2 30s ease-in-out infinite}.dynamic-bg--light .dynamic-bg-orb--3{width:350px;height:350px;top:40%;left:50%;background:#1f7ae005;animation:bg-drift-3 35s ease-in-out infinite}.dynamic-bg--dark .dynamic-bg-orb--1{width:500px;height:500px;top:-12%;left:-8%;background:#1f7ae012;animation:bg-drift-1 25s ease-in-out infinite}.dynamic-bg--dark .dynamic-bg-orb--2{width:400px;height:400px;bottom:-10%;right:-6%;background:#15b8a60d;animation:bg-drift-2 30s ease-in-out infinite}.dynamic-bg--dark .dynamic-bg-orb--3{width:350px;height:350px;top:40%;left:50%;background:#1f7ae00a;animation:bg-drift-3 35s ease-in-out infinite}@keyframes bg-drift-1{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(40px,-30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-3deg)}}@keyframes bg-drift-2{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-30px,25px) rotate(-4deg)}66%{transform:translate(25px,-15px) rotate(3deg)}}@keyframes bg-drift-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-40px,30px) scale(1.08)}}.top-bar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--bg-tertiary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);z-index:100;-webkit-user-select:none;user-select:none}.top-bar-left,.top-bar-center,.top-bar-right{display:flex;align-items:center;gap:12px}.top-bar-center{position:absolute;left:50%;transform:translate(-50%)}.window-controls{display:flex;gap:8px;margin-right:12px}.control-dot{width:12px;height:12px;border-radius:50%}.control-dot.close{background:#ff5f56}.control-dot.minimize{background:#ffbd2e}.control-dot.expand{background:#27c93f}.app-title{font-weight:600;font-size:13px;letter-spacing:.5px}.env-badge{font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--text-secondary);letter-spacing:.5px}:root[data-theme=dark] .env-badge{background:#ffffff1a}.engine-badge{font-size:11px;color:var(--text-tertiary)}.api-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--success-color)}.pulse-dot{width:8px;height:8px;background:var(--success-color);border-radius:50%;animation:pulseGlow 2s infinite}.divider{width:1px;height:16px;background:var(--border-subtle);margin:0 8px}.top-bar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.top-bar-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.app-shell{display:flex;flex:1;overflow:hidden;background:transparent}.workspace-rail{width:260px;background:var(--bg-tertiary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:10}.workspace-main{flex:1;position:relative;display:flex;flex-direction:column;overflow:hidden;background:transparent}.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:24px;padding:24px;flex:1;overflow:hidden}.editor-center{display:flex;flex-direction:column;gap:24px;overflow-y:auto;align-items:center}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%}.wide-panel{width:100%}.panel{background:var(--bg-glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;animation:fadeScaleIn .5s cubic-bezier(.16,1,.3,1) forwards;transition:box-shadow .3s ease,border-color .3s ease}.panel:hover{box-shadow:var(--shadow-md);border-color:var(--border-glow)}.panel-heading{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);background:#00000005}:root[data-theme=dark] .panel-heading{background:#ffffff05}.panel-heading>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.panel-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-color);font-weight:700;display:block;margin-bottom:2px}.panel-heading h2{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.panel-badge{margin-left:auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary)}.panel-badge--error{color:var(--danger-color);border-color:#ff3b304d;background:#ff3b301a}.btn-primary{background:var(--accent-color);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:8px;justify-content:center}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-subtle);padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:8px}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-tertiary)}.source-nodes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;padding:16px}.node-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:12px;padding:16px 8px;color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000005}.node-btn:hover{border-color:var(--neon-blue);color:var(--neon-blue);box-shadow:0 8px 16px #0000000d,var(--neon-blue-glow);transform:translateY(-2px);background:var(--bg-secondary)}.node-btn span{font-size:11px;font-weight:500}.assets-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 16px 16px}.asset-thumb{background:var(--bg-surface);border-radius:8px;overflow:hidden;position:relative;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.asset-thumb img{width:100%;height:100%;object-fit:cover;opacity:.8}.asset-thumb .waveform{color:var(--neon-blue);width:60%}.asset-label{font-size:10px;color:var(--text-tertiary);text-align:center;margin-top:6px;display:block;font-weight:500}.metrics-row{display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 16px 0}.metric-box{display:flex;flex-direction:column;align-items:center;gap:4px}.metric-val{font-size:22px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.metric-val.neon{color:var(--neon-blue);text-shadow:var(--neon-blue-glow)}.metric-lbl{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.chart-section{margin-bottom:16px;flex:1;display:flex;flex-direction:column;padding:0 16px}.chart-title{font-size:11px;color:var(--text-secondary);margin-bottom:12px;font-weight:500}.story-beats{display:flex;gap:8px;align-items:center}.beat-node{width:28px;height:28px;border-radius:8px;background:var(--bg-glass);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-secondary);font-family:var(--font-mono);transition:all .3s ease;box-shadow:var(--shadow-sm)}.beat-node.active{background:var(--neon-blue-dim);border-color:var(--neon-blue);color:var(--neon-blue);font-weight:600}.beat-arrow{color:var(--border-subtle);font-size:10px}.bar-chart{display:flex;align-items:flex-end;gap:3px;height:48px}.bar-col{flex:1;background:var(--neon-blue);opacity:.7;border-radius:2px 2px 0 0;transition:height .3s,opacity .2s;min-width:4px}.bar-col:hover{opacity:1;filter:brightness(1.2)}.project-assets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 12px;overflow-y:auto;padding:16px}.pa-item{display:flex;flex-direction:column;gap:8px;align-items:center;transition:transform .3s cubic-bezier(.16,1,.3,1);cursor:pointer}.pa-item:hover{transform:translateY(-4px)}.pa-thumb{width:100%;aspect-ratio:16/9;background:var(--bg-glass);border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-sm);transition:all .3s ease}.pa-item:hover .pa-thumb{border-color:var(--neon-blue);box-shadow:var(--shadow-md),var(--neon-blue-glow)}.pa-thumb img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity .3s}.pa-item:hover .pa-thumb img{opacity:1;transform:scale(1.05)}.pa-icon{color:var(--neon-blue)}.pa-label{font-size:10px;color:var(--text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-weight:500;transition:color .2s}.pa-item:hover .pa-label{color:var(--text-primary)}.pa-add-btn{background:#ffffff05;border:1px dashed var(--border-subtle);cursor:pointer;color:var(--text-secondary);border-radius:10px;width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;transition:all .2s}.pa-add-btn:hover{border-color:var(--neon-blue);color:var(--neon-blue);background:var(--neon-blue-dim)}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;margin:4px 12px;border-radius:10px;cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .2s ease;background:transparent;border:none;width:calc(100% - 24px);text-align:left}.nav-item:hover{color:var(--text-primary);background:#00000008}:root[data-theme=dark] .nav-item:hover{background:#ffffff0d}.nav-item.active{background:var(--bg-surface);color:var(--neon-blue);box-shadow:var(--shadow-sm);font-weight:600}.sidebar-title{font-size:11px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;padding:0 16px;margin-bottom:24px;display:flex;align-items:center;gap:8px}.sidebar-title .logo{color:var(--neon-blue)}.sidebar-section{margin-top:32px}.sidebar-section-title{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;padding:0 16px;margin-bottom:12px;letter-spacing:.5px}.timeline-panel{padding:16px}.timeline-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:12px;margin-bottom:12px}.tl-controls{display:flex;gap:16px;color:var(--text-secondary)}.tl-btn{background:none;border:none;color:inherit;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;transition:.2s}.tl-btn:hover{color:var(--neon-blue)}.tl-transport{display:flex;gap:20px;align-items:center}.tl-transport button{background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:.2s}.tl-transport button:hover{color:var(--text-primary);transform:scale(1.1)}.tl-transport .play{color:var(--text-primary)}.tl-transport .record{color:var(--danger-color)}.tl-timecode{font-family:var(--font-mono);font-size:16px;font-weight:600;letter-spacing:1px;color:var(--text-primary);background:#00000008;padding:4px 8px;border-radius:6px}:root[data-theme=dark] .tl-timecode{background:#ffffff0d}.tl-ruler{display:flex;justify-content:space-between;padding:0 40px 6px;font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono);margin-bottom:8px;border-bottom:1px solid var(--border-subtle);font-weight:500}.tl-tracks-container{display:flex;flex-direction:column;gap:6px;position:relative;overflow-x:auto;overflow-y:hidden;flex:1;min-height:120px}.tl-track{display:flex;align-items:center;height:56px;background:#00000005;border-radius:8px;position:relative;border:1px solid var(--border-subtle)}:root[data-theme=dark] .tl-track{background:#ffffff05}.tl-track-label{width:48px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-family:var(--font-mono);color:var(--text-secondary);border-right:1px solid var(--border-subtle);background:var(--bg-glass);height:100%;border-radius:8px 0 0 8px;z-index:2;font-weight:600}.tl-clips{flex:1;position:relative;height:100%;display:flex;align-items:center;gap:4px;padding:0 8px}.tl-clip{height:80%;background:var(--bg-surface);border:1px solid var(--neon-blue);border-radius:6px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:4px;flex-shrink:0;min-width:100px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.tl-clip:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),var(--neon-blue-glow)}.tl-clip.audio{border-color:var(--text-tertiary);box-shadow:none;align-items:center;justify-content:center}.tl-clip.audio:hover{box-shadow:var(--shadow-sm)}.tl-clip img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.6;z-index:0;transition:opacity .2s}.tl-clip:hover img{opacity:.8}.tl-clip .waveform-svg{width:100%;height:80%;z-index:1;color:var(--neon-blue)}.tl-clip.audio .waveform-svg{color:var(--text-secondary)}.tl-clip-label{position:relative;z-index:2;font-size:10px;font-weight:600;color:#fff;background:#0009;padding:2px 6px;border-radius:4px;text-shadow:0 1px 2px black;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.tl-playhead{position:absolute;top:-16px;bottom:-8px;width:2px;background:var(--accent-color);z-index:10;pointer-events:none;box-shadow:var(--neon-blue-glow)}.tl-playhead:before{content:"";position:absolute;top:0;left:-5px;width:12px;height:12px;border-radius:50%;background:var(--accent-color);box-shadow:var(--neon-blue-glow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dual-track-viewport{padding:24px;display:flex;flex-direction:column;gap:20px;overflow-x:auto}.dt-track{display:flex;align-items:center;gap:24px}.dt-track-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-align:right;width:80px;flex-shrink:0;line-height:1.2}.dt-nodes{display:flex;gap:16px;flex:1}.dt-node{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:16px;min-width:180px;max-width:260px;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.16,1,.3,1)}.dt-node:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.dt-node-slot{border-top:4px solid var(--text-tertiary)}.dt-node-scene{border-top:4px solid var(--accent-color);cursor:pointer}.dt-node-scene.is-selected{box-shadow:0 0 0 2px var(--accent-color),var(--shadow-md)}.dt-node-scene.has-gap{border-top-color:var(--warning-color)}.dt-node-header{display:flex;justify-content:space-between;margin-bottom:12px}.dt-node-index{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-tertiary)}.dt-node-role{font-size:13px;font-weight:600;color:var(--text-primary)}.dt-node-body p{font-size:12px;color:var(--text-secondary);margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-meta{display:flex;gap:6px}.dt-badge{font-size:10px;padding:2px 6px;border-radius:4px}.confidence-badge{background:#34c7591a;color:var(--success-color);display:flex;align-items:center;gap:4px;font-weight:500}.dt-node-footer{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.origin-tag{font-size:10px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-weight:500}.dt-connectors{position:relative;height:48px;margin:0 100px}.dt-connector-line{position:absolute;top:50%;left:0;right:0;height:2px;background:var(--border-subtle)}.dt-connector-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);padding:6px 16px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);font-weight:600;box-shadow:var(--shadow-sm)}.slot-list{padding:20px;display:flex;flex-direction:column;gap:12px}.slot-connector-wrap{position:relative}.slot-connector{display:flex;justify-content:center;padding:6px 0;color:var(--border-subtle)}.slot-row{display:flex;gap:16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:16px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.slot-row:hover{transform:translate(4px);box-shadow:var(--shadow-md);border-color:var(--border-glow)}.slot-row--active{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color),var(--shadow-md)}.slot-index{font-family:var(--font-mono);font-size:13px;color:var(--text-tertiary);font-weight:600;padding-top:2px}.slot-content h3{font-size:15px;color:var(--text-primary);margin:0 0 6px}.slot-content p{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.slot-meta{display:flex;gap:12px;font-size:12px}.slot-duration{background:#0000000a;padding:4px 8px;border-radius:6px;font-family:var(--font-mono);color:var(--text-secondary);font-weight:500}:root[data-theme=dark] .slot-duration{background:#ffffff1a}.slot-visual{color:var(--accent-color);font-weight:500}.gap-list{padding:20px;display:flex;flex-direction:column;gap:12px}.gap-row{display:flex;gap:16px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);border-left-width:4px;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.16,1,.3,1)}.gap-row:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.gap-row--error{border-left-color:var(--danger-color)}.gap-row--warn{border-left-color:var(--warning-color)}.gap-row--ok{border-left-color:var(--success-color)}.gap-row-icon{padding-top:2px}.gap-row--error .gap-row-icon{color:var(--danger-color)}.gap-row--warn .gap-row-icon{color:var(--warning-color)}.gap-row--ok .gap-row-icon{color:var(--success-color)}.gap-row-content strong{display:block;font-size:14px;color:var(--text-primary);margin-bottom:4px}.gap-row-content p{font-size:13px;color:var(--text-secondary);margin:0 0 8px;line-height:1.4}.gap-row-content span{font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;background:#0000000a;color:var(--text-secondary)}:root[data-theme=dark] .gap-row-content span{background:#ffffff1a}.gap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0;color:var(--success-color);gap:12px}.empty-note{font-size:14px;color:var(--text-secondary);font-weight:500}.materials-list{padding:16px;display:flex;flex-wrap:wrap;gap:10px}.material-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-size:13px;color:var(--text-primary);transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);cursor:pointer}.material-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-glow)}.material-pill:hover{background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.material-pill-type{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent-green)}.hint{font-size:12px;color:var(--text-tertiary);font-weight:500}.hidden-input{display:none}body{overflow:hidden}body.modal-open .page-canvas{overflow:hidden!important}.app-root:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(1100px 700px at 12% -8%,rgba(31,122,224,.16),transparent 60%),radial-gradient(900px 640px at 100% 0%,rgba(21,184,166,.16),transparent 58%),var(--bg-deep)}.top-bar{gap:24px;height:56px}.brand-mark{color:var(--accent-green)}.app-title{font-size:14px;font-weight:700;letter-spacing:.2px;margin:0}.step-wizard{display:flex;align-items:stretch;gap:8px;flex:1;justify-content:center;max-width:720px}.step-item{display:flex;align-items:center;gap:10px;padding:7px 14px;border-radius:var(--radius-full);text-decoration:none;color:var(--text-secondary);border:1px solid transparent;transition:all .22s cubic-bezier(.4,0,.2,1)}.step-item:hover{color:var(--text-primary);background:var(--bg-glass)}.step-index{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;font-family:var(--font-mono);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-tertiary)}.step-text{display:flex;flex-direction:column;line-height:1.15}.step-label{font-size:13px;font-weight:600}.step-desc{font-size:10px;color:var(--text-tertiary)}.step-item--done .step-index{background:var(--accent-green);color:#fff;border-color:transparent}.step-item--active{background:var(--accent-gradient-soft);border-color:var(--border-glow);color:var(--text-primary);box-shadow:var(--shadow-sm)}.step-item--active .step-index{background:var(--accent-gradient);color:#fff;border-color:transparent;box-shadow:var(--neon-blue-glow)}.top-bar-right{gap:8px}.api-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--accent-green);padding:4px 10px;border-radius:var(--radius-full);background:var(--accent-gradient-soft);max-width:220px}.api-status span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chrome-btn{display:inline-flex;align-items:center;gap:6px;height:34px;min-width:34px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--text-secondary);cursor:pointer;transition:all .2s}.chrome-btn:hover{color:var(--accent-color);border-color:var(--border-glow)}.chrome-btn-label{font-size:12px;font-weight:600}.page-canvas{flex:1;overflow-y:auto;padding:28px 32px 40px;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}.page{max-width:1320px;margin:0 auto}.page-hero{margin-bottom:24px}.page-kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:transparent;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;margin-bottom:8px}.page-title{font-size:26px;font-weight:700;margin:0 0 6px;letter-spacing:.5px;font-family:var(--font-display)}.page-desc{font-size:14px;color:var(--text-secondary);margin:0;max-width:720px}.page-grid{display:grid;gap:24px;align-items:start}.page-grid--parse{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.page-grid--imitate{grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.page-grid--edit{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}.page-col{display:flex;flex-direction:column;gap:24px;min-width:0}.page-footer-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.panel-heading{background:var(--accent-gradient-soft);border-bottom:1px solid var(--border-subtle)}.panel-kicker{color:var(--accent-green)}.panel-badge--warn{color:var(--warning-color);border-color:#f59e0b52;background:#f59e0b1f}.upload-zone{padding:20px;display:flex;flex-direction:column;gap:12px}.upload-zone .btn-primary{background:var(--accent-gradient);width:100%}.upload-current{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle)}.upload-current-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);font-weight:600}.upload-current-name{font-size:13px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);word-break:break-all}.sample-status-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;animation:fadeIn .2s ease}.sample-status--idle{background:var(--bg-surface);color:var(--text-secondary)}.sample-status--uploading{background:#3b82f61f;color:#60a5fa}.sample-status--uploading svg{animation:spin 1s linear infinite}.sample-status--analyzing{background:#a855f71f;color:#c084fc}.sample-status--analyzing svg{animation:spin 1s linear infinite}.sample-status--analyzed{background:#10b9811f;color:var(--success-color)}.sample-status--failed{background:#ef44441f;color:var(--error-color)}.sample-status--fallback{background:#f59e0b1f;color:var(--warning-color)}.sample-error-detail{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);font-size:11px;color:var(--error-color);background:#ef44440f}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.template-list{padding:16px;display:flex;flex-direction:column;gap:10px}.template-card{text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);transition:all .3s cubic-bezier(.16,1,.3,1);color:var(--text-secondary)}.template-card strong{font-size:14px;color:var(--text-primary)}.template-card span{font-size:12px;line-height:1.5}.template-card:hover{border-color:var(--border-glow);transform:translateY(-2px);box-shadow:var(--shadow-md)}.template-card--active{border-color:transparent;background:var(--accent-gradient-soft);box-shadow:0 0 0 1.5px var(--accent-color),var(--shadow-sm)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 20px}.stat-box{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle)}.stat-icon{color:var(--accent-color)}.stat-val{font-size:22px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.stat-lbl{font-size:11px;color:var(--text-tertiary);font-weight:600}.tone-row{display:flex;align-items:center;gap:12px;padding:0 20px 12px;flex-wrap:wrap}.tone-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.tone-tags{display:flex;gap:8px;flex-wrap:wrap}.tone-tag{font-size:12px;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);background:var(--accent-gradient-soft);color:var(--accent-green)}.sample-summary{padding:0 20px 20px;font-size:13px;line-height:1.6;color:var(--text-secondary)}.slot-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.slot-phase{font-size:10px;font-weight:700;letter-spacing:.4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--accent-gradient-soft);color:var(--accent-color)}.slot-meta{flex-wrap:wrap;align-items:center}.slot-duration{display:inline-flex;align-items:center;gap:4px}.slot-confidence{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-weight:600;color:var(--accent-green)}.slot-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.slot-tag{font-size:11px;padding:3px 9px;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary)}.rhythm-chart{display:flex;align-items:flex-end;gap:16px;padding:24px 20px;min-height:180px}.rhythm-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:130px;justify-content:flex-end}.rhythm-bar{width:100%;max-width:56px;border-radius:8px 8px 0 0;background:var(--accent-gradient);min-height:8px;box-shadow:var(--neon-blue-glow);transition:height .4s cubic-bezier(.4,0,.2,1)}.rhythm-note{font-size:11px;color:var(--text-secondary);text-align:center;line-height:1.3}.explain-list{padding:16px 20px 20px;margin:0;list-style:none;display:flex;flex-direction:column;gap:12px}.explain-list li{position:relative;padding-left:20px;font-size:13px;line-height:1.6;color:var(--text-secondary)}.explain-list li:before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--accent-gradient)}.coverage-meter{padding:16px 20px 4px;display:flex;flex-direction:column;gap:8px}.coverage-meter-head{display:flex;align-items:center;gap:6px;font-weight:700;font-family:var(--font-mono);color:var(--accent-green)}.coverage-track{height:8px;border-radius:var(--radius-full);background:var(--bg-surface);overflow:hidden;border:1px solid var(--border-subtle)}.coverage-fill{height:100%;background:var(--accent-gradient);border-radius:var(--radius-full);transition:width .5s ease}.brief-body{padding:24px 28px;display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.brief-title{font-size:16px;font-weight:700;margin:0;color:var(--text-primary);line-height:1.5;letter-spacing:.2px}.brief-field{display:flex;flex-direction:column;gap:8px}.brief-field:nth-child(n+5){grid-column:1 / -1}.brief-field-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-color)}.brief-field p{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary)}.brief-input{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:14px;font-family:inherit;border-radius:var(--radius-md);padding:12px 14px;width:100%;transition:all .3s cubic-bezier(.16,1,.3,1);resize:vertical;min-height:72px;line-height:1.6;box-sizing:border-box}.brief-input::placeholder{color:var(--text-tertiary)}.brief-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--neon-blue-dim),var(--shadow-sm)}.version-list{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.version-card{cursor:pointer;text-align:left;padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);font-size:14px;font-weight:600;color:var(--text-secondary);transition:all .2s}.version-card:hover{border-color:var(--border-glow);color:var(--text-primary)}.version-card--active{border-color:transparent;color:var(--text-primary);background:var(--accent-gradient-soft);box-shadow:0 0 0 1.5px var(--accent-color)}.generate-row{padding:0 20px 20px;display:flex;flex-direction:column;gap:8px}.generate-btn{background:var(--accent-gradient);width:100%}.generate-row .hint{text-align:center}.materials-grid{padding:16px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.material-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.material-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-glow)}.material-card-preview{position:relative;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient-soft);color:var(--accent-color)}.material-card-badge{position:absolute;bottom:6px;right:6px;font-size:10px;font-weight:600;font-family:var(--font-mono);padding:2px 6px;border-radius:4px;background:#00000073;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.material-card-info{padding:10px;display:flex;flex-direction:column;gap:2px}.material-card-type{font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--accent-green)}.material-card-label{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-card-size{font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono)}.material-upload-card{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-sm);border:1.5px dashed var(--border-subtle);color:var(--text-secondary);background:transparent;min-height:120px;transition:all .2s;padding:12px;text-align:center}.material-upload-card:hover{border-color:var(--accent-color);color:var(--accent-color);background:var(--neon-blue-dim)}.material-upload-card small{font-size:10px;color:var(--text-tertiary)}.upload-arrow{color:var(--accent-color)}.material-card-thumbnail{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.material-card-video-badge{position:absolute;top:6px;left:6px;display:flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;background:#0000008c;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.material-card-mime{font-size:9px;color:var(--text-tertiary);font-family:var(--font-mono)}.material-card-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.material-tag{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-subtle)}.material-card-analysis{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;margin-top:2px}.analysis--pending{color:var(--text-tertiary)}.analysis--analyzing{color:#c084fc}.analysis--analyzing svg{animation:spin 1s linear infinite}.analysis--ready{color:var(--success-color)}.analysis--error{color:var(--error-color)}.material-upload-status{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;border-radius:var(--radius-sm)}.material-upload-status--uploading{background:#3b82f61f;color:#60a5fa}.material-upload-status--uploaded{background:#10b9811f;color:var(--success-color)}.material-upload-status--partial-failed{background:#f59e0b1f;color:var(--warning-color)}.material-upload-status--failed{background:#ef44441f;color:var(--error-color)}.spin-icon{animation:spin 1s linear infinite}.material-upload-error{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:11px;color:var(--error-color);background:#ef44440f;border-radius:var(--radius-sm)}.material-upload-errors{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--radius-sm);background:#ef44440a}.material-upload-error-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--error-color)}.material-upload-error-item .error-filename{font-weight:600;font-family:var(--font-mono)}.material-upload-error-item .error-message{color:var(--text-secondary)}.icon-button{margin-left:auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--accent-color);cursor:pointer;transition:all .2s}.icon-button:hover{background:var(--accent-gradient);color:#fff;border-color:transparent}.mapping-legend{margin-left:auto;display:flex;gap:14px}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);font-weight:500}.legend-item .dot{width:10px;height:10px;border-radius:50%}.dot-slot{background:var(--text-tertiary)}.dot-scene{background:var(--accent-color)}.dot-gap{background:var(--warning-color)}.scene-script-trunc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.gap-badge{background:#f59e0b24;color:var(--warning-color);font-weight:600}.match-badge{background:#10b98124;color:var(--success-color);font-weight:600}.inspector-panel{position:sticky;top:0}.inspector-body{padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.inspector-empty{font-size:13px;color:var(--text-tertiary);padding:8px 0}.inspector-scene-head{display:flex;align-items:center;gap:10px}.inspector-scene-dur{font-size:11px;font-weight:700;font-family:var(--font-mono);padding:3px 10px;border-radius:var(--radius-full);background:var(--accent-gradient);color:#fff}.inspector-scene-head h3{font-size:15px;margin:0;color:var(--text-primary)}.inspector-block{display:flex;flex-direction:column;gap:10px}.inspector-block-title{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-green)}.inspector-script,.inspector-visual{margin:0;font-size:13px;line-height:1.65;color:var(--text-secondary)}.inspector-tags{display:flex;flex-wrap:wrap;gap:8px}.inspector-muted{color:var(--text-tertiary);margin:0}.gap-chip{align-self:flex-start;font-size:12px;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);background:var(--accent-gradient-soft);color:var(--accent-color)}.inspector-adjust{border-top:1px solid var(--border-subtle);padding-top:16px;display:flex;flex-direction:column;gap:14px}.adjust-group{display:flex;flex-direction:column;gap:8px}.adjust-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary)}.segmented{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle)}.segmented button{flex:1;padding:7px 12px;border:none;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.segmented button[aria-pressed=true]{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-sm)}.adjust-apply{width:100%;background:var(--accent-gradient);margin-top:4px}.adjust-apply:disabled{opacity:.6;cursor:not-allowed}.inspector-hint{font-size:11px;color:var(--text-tertiary)}.scene-edit-input{width:100%;box-sizing:border-box;resize:vertical;min-height:80px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:13px;line-height:1.6;font-family:inherit;transition:all .3s cubic-bezier(.16,1,.3,1)}.scene-edit-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-gradient-soft)}.plan-route-select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.plan-route-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-gradient-soft)}.voice-tone-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.voice-tone-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.segmented--sm{padding:3px}.segmented--sm button{padding:5px 10px;font-size:12px}.scene-actions{display:flex;gap:8px}.scene-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.scene-regen:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.packaging-tags{padding:16px 20px 8px;display:flex;flex-wrap:wrap;gap:8px}.packaging-tag{font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--radius-full);background:var(--accent-gradient-soft);color:var(--accent-color)}.validation-list{padding:8px 20px 20px;margin:0;list-style:none;display:flex;flex-direction:column;gap:10px}.validation-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;color:var(--text-secondary)}.validation-list li svg{color:var(--accent-green);flex-shrink:0;margin-top:3px}.timeline-panel{padding:0;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);overflow:hidden}.tl-clip{padding:6px 10px;flex-direction:column;align-items:flex-start;gap:3px;justify-content:center;background:var(--accent-gradient-soft);border-color:var(--accent-color);border-radius:var(--radius-md);overflow:hidden;min-width:0}.tl-clip.is-selected{box-shadow:0 0 0 2px var(--accent-color),var(--shadow-md)}.tl-clip.has-gap{border-color:var(--warning-color);border-style:dashed}.tl-clip-dur{position:relative;z-index:2;font-size:10px;font-family:var(--font-mono);color:var(--accent-color);font-weight:700}.tl-clip-label{position:relative;background:transparent;color:var(--text-primary);text-shadow:none;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none;font-weight:600;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tl-tracks-container{padding:16px 20px;display:flex;flex-direction:column;gap:6px}.panel{background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--accent-gradient);opacity:0;transition:opacity .3s ease}.panel:hover{box-shadow:var(--shadow-md)}.panel:hover:before{opacity:.55}:root[data-theme=dark] .panel{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.panel-heading{padding:15px 22px;background:transparent;border-bottom:1px solid var(--border-subtle)}.panel-heading>svg{color:var(--accent-color)}.panel-heading h2{font-size:15px;font-weight:650;letter-spacing:-.1px}.panel-kicker{font-size:10px;font-weight:700;letter-spacing:1.4px;background:none;-webkit-text-fill-color:currentColor;color:var(--text-tertiary)}.panel-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:var(--radius-full);background:var(--accent-gradient-soft);color:var(--accent-color);border:none}.page-hero{margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--border-subtle)}.page-title{font-size:28px;font-weight:700;letter-spacing:.5px;font-family:var(--font-display);color:var(--text-primary)}.page-kicker{letter-spacing:1.2px}.btn-primary{border-radius:var(--radius-sm);font-weight:600;letter-spacing:.2px;box-shadow:0 6px 16px -6px #1f7ae099}.btn-primary:hover{filter:brightness(1.04);box-shadow:0 10px 22px -8px #15b8a699;transform:translateY(-1px)}.btn-secondary{border-radius:var(--radius-sm);font-weight:600}.stat-box{position:relative;overflow:hidden;background:var(--bg-panel);transition:transform .2s,box-shadow .2s,border-color .2s}:root[data-theme=dark] .stat-box{background:var(--bg-surface)}.stat-box:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--accent-gradient);opacity:0;transition:opacity .25s}.stat-box:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--border-glow)}.stat-box:hover:after{opacity:1}.stat-val{letter-spacing:-.5px}.rhythm-chart{display:flex;align-items:stretch;gap:14px;padding:22px 24px 6px;min-height:auto}.rhythm-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:auto;justify-content:flex-end}.rhythm-val{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent-color)}.rhythm-bar-track{width:100%;max-width:70px;height:116px;display:flex;align-items:flex-end;padding:4px;border-radius:12px;background:var(--accent-gradient-soft);border:1px solid var(--border-subtle)}.rhythm-bar{width:100%;min-height:8px;border-radius:8px;background:var(--accent-gradient);box-shadow:var(--neon-blue-glow);transition:height .5s cubic-bezier(.34,1.2,.64,1)}.rhythm-sec{font-size:11px;font-family:var(--font-mono);color:var(--text-tertiary);font-weight:600}.rhythm-note{font-size:11px;color:var(--text-secondary);text-align:center;line-height:1.35;max-width:90px}.rhythm-caption{padding:4px 24px 18px;font-size:12px;color:var(--text-tertiary)}.slot-row{background:var(--bg-panel)}:root[data-theme=dark] .slot-row{background:var(--bg-surface)}.slot-row:hover{border-color:var(--border-glow)}.slot-content h3{font-size:15px;font-weight:650}.tl-tracks-container{overflow:hidden;gap:8px}.tl-clips{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tl-clip{min-width:76px}.tl-clip-label{font-size:11px;font-weight:600}.dual-track-viewport{padding:22px 24px;scrollbar-width:thin}.dt-node{min-width:156px;max-width:220px;border-radius:var(--radius-md)}.dt-node-scene{cursor:pointer}.dt-connector-icon{background:var(--bg-panel)}:root[data-theme=dark] .dt-connector-icon{background:var(--bg-surface)}.scene-list{padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px}.scene-row{display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);transition:all .18s}.scene-row:hover{border-color:var(--border-glow);transform:translate(2px)}.scene-row--active{border-color:transparent;background:var(--accent-gradient-soft);box-shadow:0 0 0 1.5px var(--accent-color)}.scene-row-index{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-tertiary);flex-shrink:0}.scene-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.scene-row-title{font-size:13px;font-weight:600;color:var(--text-primary)}.scene-row-script{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.scene-row-dur{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent-color)}.scene-row-tag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.scene-row-tag--ok{background:#10b98124;color:var(--success-color)}.scene-row-tag--gap{background:#f59e0b24;color:var(--warning-color)}.brief-body{background:transparent}.brief-field p{color:var(--text-secondary)}.coverage-track{height:10px}.coverage-fill{box-shadow:var(--neon-blue-glow)}.step-item{transition:all .22s cubic-bezier(.4,0,.2,1)}.inspector-panel{max-height:calc(100vh - 160px)}.inspector-body{max-height:calc(100vh - 220px)}.page-canvas{padding:20px 28px 30px}.page{max-width:1280px}.page-hero{margin-bottom:18px;padding-bottom:14px}.page-kicker{margin-bottom:6px}.page-title{font-size:23px;margin-bottom:4px}.page-desc{font-size:13px}.page-grid,.page-col{gap:18px}.page-footer-actions{margin-top:20px}.page-col--side,.page-col--inspector{position:sticky;top:8px;align-self:start}.panel-heading{padding:12px 18px}.slot-list{padding:14px;gap:10px}.slot-row{padding:13px 14px;gap:14px}.slot-content p{margin-bottom:10px}.slot-tags{margin-top:8px}.stat-grid{padding:14px 16px;gap:10px}.stat-box{padding:12px}.stat-val{font-size:20px}.tone-row{padding:0 16px 12px}.sample-summary{padding:0 16px 16px;font-size:12.5px}.gap-list{padding:14px;gap:10px}.gap-row{padding:13px 14px}.coverage-meter{padding:14px 18px 2px}.materials-grid{padding:14px;gap:10px}.brief-body{padding:14px 18px 16px;gap:10px}.version-list{padding:12px 16px;gap:8px}.version-card{padding:10px 14px}.generate-row{padding:0 16px 16px}.template-list{padding:14px;gap:8px}.template-card{padding:12px}.upload-zone{padding:14px 18px;gap:10px}.explain-list{padding:12px 18px 16px;gap:10px}.dual-track-viewport{padding:16px 18px;gap:16px}.inspector-body{padding:14px 18px 16px;gap:14px}.scene-list{padding:10px 14px 14px;gap:6px}.scene-row{padding:10px 12px}.packaging-tags{padding:14px 18px 6px}.validation-list{padding:6px 18px 16px}.rhythm-chart{padding:16px 18px 4px;gap:12px}.rhythm-bar-track{height:96px}.rhythm-caption{padding:2px 18px 14px}.admin-token-gate{display:flex;justify-content:center;padding:40px 20px}.admin-token-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);max-width:420px;width:100%;box-shadow:var(--shadow-lg)}.admin-token-icon{color:var(--accent-color);opacity:.6}.admin-token-field{display:flex;flex-direction:column;gap:6px;width:100%}.admin-token-field label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.admin-unlock-btn{width:100%}.admin-input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:var(--font-mono);transition:border-color .2s}.admin-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--neon-blue-dim)}.admin-input::placeholder{color:var(--text-tertiary);font-family:var(--font-sans)}.admin-select{cursor:pointer;appearance:auto}.admin-error{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;color:var(--error-color);background:#ef444414}.admin-error--banner{margin:0 20px 16px}.admin-providers{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));padding:0 20px 20px}.admin-provider-card{border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}.admin-provider-card:hover{transform:translateY(-2px);border-color:var(--border-glow);box-shadow:var(--shadow-sm)}.admin-provider-form{display:flex;flex-direction:column;gap:14px;padding:16px 20px 20px}.admin-field{display:flex;flex-direction:column;gap:4px}.admin-field label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.admin-field-hint{font-size:10px;color:var(--text-tertiary)}.admin-checkbox-field{flex-direction:row;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary)}.admin-checkbox-field input{width:16px;height:16px}.admin-key-masked{display:inline-block;font-size:11px;font-family:var(--font-mono);color:var(--success-color);padding:2px 6px;border-radius:3px;background:#10b98114;margin-bottom:2px}.admin-actions{display:flex;gap:8px;margin-top:4px}.admin-save-btn,.admin-test-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px}.admin-test-result{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.admin-test-result--ok{background:#10b9811a;color:var(--success-color)}.admin-test-result--fail{background:#ef444414;color:var(--error-color)}.admin-prompt-section{margin:0 20px 20px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.admin-prompt-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.admin-prompt-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.admin-prompt-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.admin-prompt-grid{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:16px;align-items:start}.admin-prompt-list{display:flex;flex-direction:column;gap:8px}.admin-prompt-item,.admin-prompt-version{width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);text-align:left;padding:12px 14px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.admin-prompt-item:hover,.admin-prompt-version:hover{transform:translate(2px);border-color:var(--border-glow)}.admin-prompt-item.is-active,.admin-prompt-version.is-active{border-color:var(--accent-color);background:var(--accent-gradient-soft)}.admin-prompt-item span,.admin-prompt-version span,.admin-prompt-item em,.admin-prompt-version em,.admin-prompt-meta span{color:var(--text-secondary);font-size:12px;font-style:normal}.admin-prompt-editor{display:flex;flex-direction:column;gap:12px;min-width:0}.admin-prompt-meta{display:flex;gap:8px;flex-wrap:wrap}.admin-prompt-meta span{border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px}.admin-textarea{min-height:120px;resize:vertical;font-family:var(--font-mono);line-height:1.6}.admin-prompt-versions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.chrome-btn--active{background:var(--accent-gradient-soft);border-color:var(--accent-color)}.page--admin{max-width:1200px;margin:0 auto}.page--admin .page-hero{padding:20px}@media(max-width:1100px){.page-grid--parse,.page-grid--imitate,.page-grid--edit{grid-template-columns:1fr}.step-desc{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.page-col--side,.page-col--inspector{position:static}}@media(max-width:720px){.page-canvas{padding:18px 16px 32px}.step-text,.app-title{display:none}.admin-prompt-grid{grid-template-columns:1fr}}.page--premium{opacity:0;transform:translateY(10px);transition:all .5s cubic-bezier(.16,1,.3,1)}.page--premium.is-visible{opacity:1;transform:translateY(0)}.premium-step-badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--bg-surface);border:1px solid var(--border-subtle);position:relative;overflow:hidden}.premium-step-badge:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1f7ae00d,#15b8a60d)}.premium-step-num{font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--brand-blue);font-family:var(--font-mono);position:relative;z-index:1}.premium-hero{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding-bottom:8px}.premium-hero .page-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.premium-hero .page-title{font-size:clamp(24px,4vw,34px);font-weight:700;letter-spacing:.5px;line-height:1.3;color:var(--text-primary);margin:0;font-family:var(--font-display)}.premium-hero .page-desc{font-size:14px;line-height:1.7;color:var(--text-secondary);margin:0;max-width:480px}.page-project-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--text-tertiary);letter-spacing:.01em;padding:4px 12px;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-hero--compact{gap:0;padding-bottom:4px}.page--upload-premium{opacity:0;transform:translateY(12px);transition:all .6s cubic-bezier(.16,1,.3,1)}.page--upload-premium.is-visible{opacity:1;transform:translateY(0)}.upload-premium-layout{max-width:680px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:40px;padding:40px 20px 60px;min-height:calc(100vh - 120px);justify-content:center}.upload-premium-hero{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.upload-step-badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--bg-surface);border:1px solid var(--border-subtle);position:relative;overflow:hidden}.upload-step-badge:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1f7ae00f,#15b8a60f)}.upload-step-num{font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--brand-blue);font-family:var(--font-mono);position:relative;z-index:1}.upload-headline{font-size:clamp(26px,4.5vw,38px);font-weight:700;letter-spacing:.5px;line-height:1.3;color:var(--text-primary);margin:0;font-family:var(--font-display)}.upload-subtitle{font-size:15px;line-height:1.7;color:var(--text-secondary);margin:0;max-width:440px}.upload-project-name{font-size:13px;font-weight:600;color:var(--text-tertiary);letter-spacing:.02em;padding:4px 12px;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle)}.upload-premium-zone-wrapper{width:100%;perspective:800px}.upload-premium-zone{position:relative;width:100%;min-height:280px;border-radius:20px;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.16,1,.3,1);background:var(--bg-card);transform-style:preserve-3d}.upload-premium-zone:hover{transform:translateY(-2px) scale(1.005);box-shadow:0 20px 60px -15px #1f7ae026}.upload-premium-zone:active{transform:translateY(0) scale(.995)}.upload-zone-border{position:absolute;inset:0;border-radius:20px;padding:2px;pointer-events:none;background:linear-gradient(135deg,#1f7ae04d,#15b8a64d,#1f7ae04d);background-size:300% 300%;animation:border-shift 6s ease-in-out infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;transition:opacity .3s}.upload-premium-zone:hover .upload-zone-border{opacity:1}.upload-premium-zone.is-dragover .upload-zone-border{opacity:1;animation-duration:2s;background:linear-gradient(135deg,#1f7ae099,#15b8a699,#1f7ae099)}@keyframes border-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.upload-premium-zone.is-dragover{background:#1f7ae008;transform:translateY(-4px) scale(1.01);box-shadow:0 24px 64px -16px #1f7ae033}.upload-zone-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;text-align:center;animation:content-enter .5s cubic-bezier(.16,1,.3,1) both}@keyframes content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-zone-icon-wrap{position:relative;color:var(--text-tertiary);transition:color .3s}.upload-premium-zone:hover .upload-zone-icon-wrap{color:var(--brand-blue)}.upload-zone-icon-glow{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,rgba(31,122,224,.08) 0%,transparent 70%);opacity:0;transition:opacity .4s}.upload-premium-zone:hover .upload-zone-icon-glow{opacity:1}.upload-zone-cta-text{font-size:18px;font-weight:600;color:var(--text-primary);transition:color .3s}.upload-premium-zone:hover .upload-zone-cta-text{color:var(--brand-blue)}.upload-zone-hint{font-size:13px;color:var(--text-tertiary)}.upload-zone-content--busy{gap:16px}.upload-processing-ring{position:relative;width:72px;height:72px}.upload-processing-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--border-subtle);stroke-width:3}.ring-fill{fill:none;stroke:var(--brand-blue);stroke-width:3;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;animation:ring-progress 2s ease-in-out infinite}@keyframes ring-progress{0%{stroke-dashoffset:264;transform:rotate(0)}50%{stroke-dashoffset:66}to{stroke-dashoffset:264;transform:rotate(360deg)}}.upload-processing-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--brand-blue);animation:icon-pulse 1.5s ease-in-out infinite}@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}.upload-processing-label{font-size:15px;font-weight:600;color:var(--text-secondary);animation:label-fade 1.5s ease-in-out infinite}.upload-processing-caption{max-width:360px;font-size:13px;line-height:1.6;color:var(--text-tertiary);text-align:center}@keyframes label-fade{0%,to{opacity:1}50%{opacity:.5}}.upload-progress-card{width:min(360px,100%);display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:12px;background:#ffffffb8;border:1px solid var(--border-subtle);box-shadow:0 12px 32px -24px #0f172a73}.upload-progress-topline,.upload-progress-file{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-progress-stage{font-size:13px;font-weight:700;color:var(--text-primary)}.upload-progress-percent{font-size:18px;line-height:1;color:var(--brand-blue)}.upload-progress-track{position:relative;height:8px;overflow:hidden;border-radius:var(--radius-full);background:#1f7ae01f}.upload-progress-fill{height:100%;min-width:8px;border-radius:inherit;background:linear-gradient(90deg,var(--brand-blue),var(--brand-green));transition:width .45s cubic-bezier(.16,1,.3,1)}.upload-progress-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.upload-progress-steps span{min-width:0;padding:5px 6px;border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-tertiary);font-size:11px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-progress-steps span.is-active{background:#1f7ae01f;color:var(--brand-blue)}.upload-progress-steps span.is-done{background:#10b9811f;color:var(--success-color)}.upload-progress-file{color:var(--text-tertiary);font-size:11px}.upload-progress-file strong{min-width:0;max-width:220px;overflow:hidden;color:var(--text-secondary);font-family:var(--font-mono);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.upload-zone-content--success{animation:success-pop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes success-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.upload-success-ring{width:64px;height:64px;border-radius:50%;background:#10b9811a;display:flex;align-items:center;justify-content:center;color:var(--success-color);animation:ring-glow-green 2s ease-in-out infinite}@keyframes ring-glow-green{0%,to{box-shadow:0 0 #10b98133}50%{box-shadow:0 0 0 12px #10b98100}}.upload-success-label{font-size:15px;font-weight:600;color:var(--success-color)}.upload-zone-content--error{animation:error-shake .5s ease both}@keyframes error-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.upload-error-ring{width:64px;height:64px;border-radius:50%;background:#ef444414;display:flex;align-items:center;justify-content:center;color:var(--error-color)}.upload-error-label{font-size:15px;font-weight:600;color:var(--error-color)}.upload-error-detail{font-size:12px;color:var(--text-tertiary);padding:8px 14px;border-radius:var(--radius-sm);background:#ef44440a;max-width:360px;text-align:center}.upload-result-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);width:100%;animation:result-enter .6s cubic-bezier(.16,1,.3,1) .2s both}@keyframes result-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.upload-result-cover{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#1f7ae014,#15b8a614);display:flex;align-items:center;justify-content:center;color:var(--brand-blue);flex-shrink:0}.upload-result-info{flex:1;min-width:0}.upload-result-name{font-size:15px;font-weight:700;margin:0 0 6px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-result-meta{display:flex;gap:8px;flex-wrap:wrap}.upload-result-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary);padding:3px 8px;border-radius:var(--radius-full);background:var(--bg-surface)}.upload-result-tag--accent{color:var(--success-color);background:#10b98114}.upload-result-action{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-full);border:none;cursor:pointer;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--brand-blue),var(--brand-green));transition:all .3s;flex-shrink:0;box-shadow:0 4px 16px -4px #1f7ae066}.upload-result-action:hover{transform:translateY(-1px);box-shadow:0 8px 24px -6px #1f7ae080}.upload-result-action:active{transform:translateY(0)}.upload-premium-hint{font-size:13px;color:var(--text-tertiary);text-align:center;margin:0;opacity:0;animation:fade-in .6s .4s both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.upload-premium-footer{margin-top:8px}.upload-back-btn{background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-tertiary);padding:8px 12px;border-radius:var(--radius-sm);transition:all .2s}.upload-back-btn:hover{color:var(--text-primary);background:var(--bg-surface)}@media(max-width:720px){.upload-premium-layout{padding:24px 16px 40px;gap:28px}.upload-premium-zone{min-height:220px;border-radius:16px}.upload-result-card{flex-direction:column;text-align:center}.upload-result-action{width:100%;justify-content:center}}.project-steps{display:flex;align-items:center;gap:4px}.project-name-badge{font-size:12px;font-weight:600;color:var(--brand-blue);padding:4px 10px;border-radius:7px;background:#1f7ae00f;border:1px solid rgba(31,122,224,.12);margin-right:8px;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.step-item--compact{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;color:var(--text-tertiary);text-decoration:none;transition:all .2s;border:1px solid transparent}.step-item--compact:hover{color:var(--text-secondary);background:var(--bg-surface)}.step-item--compact.step-item--active{color:var(--brand-blue);background:#1f7ae014;border-color:#1f7ae033}.step-item--compact.step-item--done{color:var(--success-color)}.step-item--compact .step-label{display:none}@media(min-width:1100px){.step-item--compact .step-label{display:inline}}.page--projects{max-width:1200px;margin:0 auto}.project-identity-gate{max-width:560px;margin:72px auto 0;padding:36px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-md)}.identity-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;border-radius:var(--radius-full);color:var(--accent-color);background:#1f7ae014;border:1px solid rgba(31,122,224,.16)}.identity-form{margin-top:24px}.field-label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:13px;font-weight:600}.identity-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.identity-input{min-width:0;height:42px;padding:0 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--bg-surface);font:inherit}.identity-input:focus{outline:2px solid rgba(31,122,224,.2);border-color:var(--accent-color)}.btn-primary:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.project-error,.projects-error{margin:14px 0 0;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,59,48,.22);color:var(--danger-color);background:#ff3b3014;font-size:13px}.projects-error{margin:0 0 16px}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 16px}.projects-user{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text-secondary);font-size:13px}.projects-user span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-text{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:none;border-radius:var(--radius-sm);color:var(--accent-color);background:transparent;cursor:pointer;font:inherit;font-size:12px}.btn-text:hover{background:#1f7ae014}.projects-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;gap:16px}.empty-illustration{width:80px;height:80px;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.empty-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.empty-desc{font-size:14px;color:var(--text-secondary);margin:0;max-width:400px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:0;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);overflow:hidden;position:relative}.project-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 16px 0}.project-card-cover{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.project-card-actions{position:relative}.project-context-menu{position:absolute;top:100%;right:0;z-index:10;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:140px;padding:4px;margin-top:4px}.context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;font-size:13px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s}.context-menu-item:hover{background:var(--bg-surface)}.context-menu-item--danger{color:var(--error-color)}.project-card-body{padding:12px 16px}.project-card-name{font-size:15px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.project-card-video-name{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.project-card-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 12px}.project-status-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.project-status--draft{background:#64748b1a;color:#64748b}.project-status--uploaded{background:#1f7ae01a;color:var(--brand-blue)}.project-status--analyzed{background:#10b9811a;color:var(--success-color)}.project-status--brief,.project-status--diagnosis{background:#f59e0b1a;color:var(--warning-color)}.project-status--plan-ready{background:#15b8a61a;color:var(--brand-green)}.project-status--generating{background:#1f7ae01a;color:var(--brand-blue)}.project-status--exported{background:#10b9811a;color:var(--success-color)}.project-status--failed{background:#ef444414;color:var(--error-color)}.project-card-coverage{font-size:11px;color:var(--text-tertiary)}.project-card-time{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-tertiary);margin-left:auto}.project-card-action{display:flex;align-items:center;gap:4px;justify-content:flex-end;padding:10px 16px;font-size:12px;font-weight:600;color:var(--brand-blue);border-top:1px solid var(--border-subtle)}.project-card--renaming{cursor:default}.project-rename-row{display:flex;align-items:center;gap:6px}.project-rename-input{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--text-primary);background:var(--bg-surface);border:1.5px solid var(--brand-blue);border-radius:var(--radius-sm);padding:5px 8px;outline:none;font-family:inherit;box-shadow:0 0 0 3px #1f7ae01f}.project-rename-confirm,.project-rename-cancel{width:26px;height:26px;border-radius:var(--radius-sm);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.project-rename-confirm{background:#10b9811a;color:var(--success-color)}.project-rename-confirm:hover{background:#10b98133}.project-rename-cancel{background:var(--bg-surface);color:var(--text-tertiary)}.project-rename-cancel:hover{background:var(--bg-primary);color:var(--text-secondary)}.upload-layout{display:flex;flex-direction:column;gap:20px;max-width:640px;margin:0 auto}.upload-zone-v2{border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);padding:48px 32px;text-align:center;transition:all .2s;background:var(--bg-card)}.upload-zone-v2:hover{border-color:var(--brand-blue);background:#1f7ae005}.upload-zone-v2--busy{opacity:.7;pointer-events:none}.upload-zone-inner{display:flex;flex-direction:column;align-items:center;gap:16px}.upload-zone-icon{color:var(--text-tertiary)}.upload-zone-text h3{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.upload-zone-text p{font-size:13px;color:var(--text-secondary);margin:0}.upload-zone-btn{margin-top:8px}.upload-status-panel{display:flex;justify-content:center}.upload-status-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px;width:100%;max-width:480px}.upload-status-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.upload-status-label{font-size:14px;font-weight:600}.sample-status--uploading .upload-status-label,.sample-status--analyzing .upload-status-label{color:var(--brand-blue)}.sample-status--analyzed .upload-status-label{color:var(--success-color)}.sample-status--failed .upload-status-label{color:var(--error-color)}.sample-status--fallback .upload-status-label{color:var(--warning-color)}.upload-video-info{display:flex;gap:12px;align-items:center;padding:12px;background:var(--bg-surface);border-radius:var(--radius-sm)}.upload-video-cover{width:56px;height:56px;border-radius:var(--radius-sm);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.upload-video-meta{display:flex;flex-direction:column;gap:4px}.upload-video-name{font-size:14px;font-weight:600;color:var(--text-primary)}.upload-video-detail{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.upload-error-detail{display:flex;align-items:center;gap:6px;padding:10px;background:#ef44440f;border-radius:var(--radius-sm);font-size:13px;color:var(--error-color);margin-top:8px}.upload-helper{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-tertiary);justify-content:center}.panel-body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:16px}.panel-body--tight{gap:12px;padding-top:16px}.panel-body--flush{padding:0;gap:0}.panel-body--flush .analysis-rhythm-stats,.panel-body--flush .analysis-tone-row,.panel-body--flush .analysis-packaging-row{padding-left:22px;padding-right:22px}.panel-body--flush .analysis-packaging-row:last-child,.panel-body--flush .analysis-tone-row:last-child{padding-bottom:22px}.page-content-stack{display:flex;flex-direction:column;gap:24px;margin-top:4px}.page-footer-actions{padding-top:24px;margin-top:32px;border-top:1px solid var(--border-subtle)}.analyze-layout{display:flex;flex-direction:column;gap:24px;max-width:1080px;margin:0 auto}.analysis-overview-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.analysis-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.analysis-highlight-card{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:all .3s cubic-bezier(.16,1,.3,1)}.analysis-highlight-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-md);transform:translateY(-3px)}.analysis-summary-card{padding:18px 20px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);max-height:320px;overflow:auto}.analysis-summary-card-head{display:flex;align-items:flex-start;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border-subtle)}.analysis-summary-card-head p{margin:3px 0 0;color:var(--text-tertiary);font-size:12px}.analysis-highlight-stack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.analysis-highlight-stack .analysis-highlight-card{flex-direction:row;gap:12px;padding:14px;min-height:118px}.analysis-highlight-title{display:block;margin-bottom:4px;color:var(--text-primary);font-size:12px;font-weight:700}.analysis-highlight-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:#1f7ae01a;display:flex;align-items:center;justify-content:center;color:var(--brand-blue);flex-shrink:0}.analysis-highlight-text{font-size:14px;color:var(--text-secondary);line-height:1.65;margin:0}.markdown-text{color:var(--text-secondary);font-size:13px;line-height:1.72}.markdown-text h3,.markdown-text h4,.markdown-text h5,.markdown-text h6{margin:14px 0 6px;color:var(--text-primary);font-size:14px;line-height:1.45}.markdown-text h3:first-child,.markdown-text h4:first-child,.markdown-text h5:first-child,.markdown-text h6:first-child{margin-top:0}.markdown-text p{margin:0 0 8px}.markdown-text ul{margin:0 0 10px;padding-left:18px}.markdown-text li{margin:3px 0}.markdown-text strong{color:var(--text-primary);font-weight:700}.analysis-summary-markdown{max-width:68ch}.analysis-highlight-text.markdown-text{font-size:12px;line-height:1.55}.analysis-highlight-text.markdown-text p:last-child,.analysis-summary-markdown p:last-child,.analysis-summary-markdown ul:last-child{margin-bottom:0}.analysis-structure-timeline{display:flex;flex-direction:column;gap:14px}.analysis-slot-card{display:flex;gap:14px;padding:16px 18px;background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:border-color .2s}.analysis-slot-card:hover{border-color:var(--border-glow)}.analysis-slot-index{width:28px;height:28px;border-radius:var(--radius-full);background:var(--accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.analysis-slot-content{flex:1;min-width:0}.analysis-slot-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.analysis-slot-header h3{font-size:14px;font-weight:600;margin:0}.analysis-slot-phase{font-size:11px;padding:1px 6px;border-radius:var(--radius-full);background:#1f7ae01a;color:var(--brand-blue)}.analysis-slot-beat{font-size:14px;color:var(--text-secondary);margin:0 0 8px;line-height:1.6}.analysis-slot-meta{display:flex;gap:12px;font-size:11px;color:var(--text-tertiary);margin-bottom:6px}.analysis-slot-meta span{display:flex;align-items:center;gap:3px}.analysis-slot-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.analysis-tag{font-size:10px;padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-primary);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.analysis-slot-transfer{font-size:12px;color:var(--brand-green);margin:0}.analysis-rhythm-stats{display:flex;gap:20px;padding:16px 0 12px;border-bottom:1px solid var(--border-subtle);margin-bottom:12px}.analysis-stat{display:flex;flex-direction:column;gap:2px}.analysis-stat-label{font-size:11px;color:var(--text-tertiary)}.analysis-stat-value{font-size:16px;font-weight:700;color:var(--text-primary)}.analysis-tone-row,.analysis-packaging-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.analysis-tone-label{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.analysis-tone-tags{display:flex;gap:4px;flex-wrap:wrap}.analysis-migration-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.analysis-migration-item{padding:16px;background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.analysis-migration-item h4{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;color:var(--text-tertiary)}.analysis-migration-item p,.analysis-migration-item ul{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.65}.analysis-migration-item ul{padding-left:18px;display:flex;flex-direction:column;gap:6px}@media(max-width:900px){.analysis-overview-grid{grid-template-columns:1fr}.analysis-summary-card{max-height:420px}.analysis-highlight-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}.brief-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;max-width:1080px;margin:0 auto}.brief-form-section{display:flex;flex-direction:column;gap:20px}.brief-checklist-section{position:sticky;top:80px}.brief-checklist{display:flex;flex-direction:column;gap:10px}.brief-checklist-item{display:flex;gap:12px;padding:16px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);transition:all .3s cubic-bezier(.16,1,.3,1);align-items:flex-start;box-shadow:var(--shadow-sm)}.brief-checklist-item:hover{transform:translate(4px);box-shadow:var(--shadow-md);border-color:var(--border-glow)}.brief-checklist-item--covered{background:#10b9810a;border-color:#10b98133}.brief-checklist-item--missing{background:#f59e0b0a;border-color:#f59e0b33}.brief-checklist-icon{width:24px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.brief-checklist-item--covered .brief-checklist-icon{color:var(--success-color)}.brief-checklist-item--missing .brief-checklist-icon{color:var(--warning-color)}.brief-checklist-content{flex:1;min-width:0}.brief-checklist-content strong{font-size:14px;display:block;margin-bottom:4px;line-height:1.4}.brief-checklist-content p{margin:4px 0 0;font-size:12px;color:var(--text-secondary);line-height:1.5}.brief-checklist-status{font-size:11px;font-weight:600;white-space:nowrap;padding:2px 6px;border-radius:var(--radius-full)}.brief-checklist-item--covered .brief-checklist-status{background:#10b9811a;color:var(--success-color)}.brief-checklist-item--missing .brief-checklist-status{background:#f59e0b1a;color:var(--warning-color)}.diagnosis-summary-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px 40px}.diagnosis-coverage{display:flex;flex-direction:column;align-items:center;gap:8px}.diagnosis-coverage-ring{width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--success-color) var(--coverage, 0%),var(--bg-surface) 0%);display:flex;align-items:center;justify-content:center;position:relative}.diagnosis-coverage-ring:before{content:"";position:absolute;width:60px;height:60px;border-radius:50%;background:var(--bg-card)}.diagnosis-coverage-value{position:relative;z-index:1;font-size:18px;font-weight:700;color:var(--text-primary)}.diagnosis-coverage-label{font-size:12px;color:var(--text-tertiary)}.diagnosis-summary-stats{display:flex;gap:20px}.diagnosis-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.diagnosis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto}.diagnosis-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.diagnosis-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-glow)}.diagnosis-status--covered{border-top:3px solid var(--success-color)}.diagnosis-status--weak{border-top:3px solid var(--warning-color)}.diagnosis-status--missing{border-top:3px solid var(--error-color)}.diagnosis-status--ai{border-top:3px solid var(--brand-blue)}.diagnosis-status--packaging{border-top:3px solid var(--brand-green)}.diagnosis-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.diagnosis-card-header h3{font-size:14px;font-weight:600;margin:0;flex:1}.diagnosis-card-status{font-size:11px;font-weight:600}.diagnosis-card-purpose{font-size:14px;color:var(--text-secondary);margin:4px 0 6px;line-height:1.6}.diagnosis-card-impact{font-size:13px;color:var(--text-tertiary);margin:0 0 12px;line-height:1.55}.diagnosis-card-suggestions{margin-bottom:12px;flex:1}.diagnosis-card-suggestions h4{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin:0 0 8px;color:var(--text-tertiary)}.diagnosis-card-suggestions ul{margin:0;padding-left:18px;font-size:13px;color:var(--text-secondary);line-height:1.65;display:flex;flex-direction:column;gap:6px}.diagnosis-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-subtle)}.btn--sm{padding:5px 10px;font-size:12px}.plan-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 300px;gap:20px;align-items:start;max-width:1400px;margin:0 auto}.plan-sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:80px;max-height:calc(100vh - 180px);overflow-y:auto;scrollbar-width:thin;padding-bottom:24px}.plan-sidebar::-webkit-scrollbar{width:3px}.plan-sidebar::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.plan-sidebar .panel-heading{padding:14px 14px 10px;gap:8px}.plan-sidebar .panel-heading h2{font-size:14px}.plan-sidebar .panel-kicker{font-size:10px}.plan-sidebar .panel-heading svg{width:15px;height:15px}.plan-sidebar .panel-badge{font-size:11px;padding:2px 8px}.plan-material-list{display:flex;flex-direction:column;gap:4px;padding:0 14px 10px}.plan-material-item{display:flex;align-items:center;gap:6px;padding:5px 8px;font-size:11px;color:var(--text-secondary);background:var(--bg-surface);border-radius:var(--radius-sm)}.plan-empty-hint{font-size:11px;color:var(--text-tertiary);padding:4px 14px 10px}.plan-structure-summary{display:flex;flex-direction:column;gap:2px;padding:0 14px 10px}.plan-structure-item{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:11px}.plan-structure-index{width:20px;height:20px;border-radius:var(--radius-full);background:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-tertiary);flex-shrink:0}.plan-structure-role{font-size:12px;color:var(--text-secondary)}.structure-experience-panel .panel-heading{margin-bottom:0}.plan-experience-note{margin:0;padding:6px 14px;font-size:11px;line-height:1.45;color:var(--text-tertiary)}.plan-experience-list{display:flex;flex-direction:column;gap:8px;padding:0 14px 20px}.plan-experience-card{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-glass);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #00000005}[data-theme=dark] .plan-experience-card{background:#1e293b59}.plan-experience-card:hover{box-shadow:var(--shadow-sm),0 4px 12px #1f7ae014;border-color:var(--border-glow);background:var(--bg-surface)}.plan-experience-card h3{margin:0 0 4px;font-size:12.5px;font-weight:600;color:var(--text-primary);line-height:1.35}.plan-experience-card p{margin:0 0 6px;font-size:11px;line-height:1.45;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plan-experience-meta{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.plan-experience-meta span{padding:2px 6px;border-radius:var(--radius-sm);background:#1f7ae00f;color:var(--brand-blue);font-size:10px;font-weight:500}.plan-experience-tip{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px;font-size:10.5px;line-height:1.4;color:var(--text-secondary);margin-top:5px}.plan-experience-tip strong{color:var(--text-tertiary);font-weight:600}.plan-center{display:flex;flex-direction:column;gap:14px;min-width:0}.plan-scene-list{display:flex;flex-direction:column;gap:14px}.plan-scene-card{background:#ffffff8c;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);padding:0;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000a}:root[data-theme=dark] .plan-scene-card{background:#1e293b99;border-color:#ffffff14}.plan-scene-card:hover{border-color:var(--border-glow);box-shadow:0 4px 24px #00000014;transform:translateY(-1px)}.plan-scene-card--active{border-color:var(--brand-blue);box-shadow:0 0 0 1px #1f7ae033,0 4px 20px #1f7ae014}.plan-scene-header{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#00000005;border-bottom:1px solid rgba(0,0,0,.04)}:root[data-theme=dark] .plan-scene-header{background:#ffffff08;border-bottom-color:#ffffff0d}.plan-scene-index{font-size:11px;font-weight:700;color:#fff;background:var(--accent-gradient);padding:2px 8px;border-radius:var(--radius-sm);flex-shrink:0}.plan-scene-time{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.3px}.plan-scene-route{font-size:10px;padding:2px 8px;border-radius:var(--radius-full);background:#1f7ae01a;color:var(--brand-blue);margin-left:auto;font-weight:600}.plan-scene-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.plan-scene-purpose{font-size:15px;font-weight:700;margin:0;line-height:1.4;color:var(--text-primary);letter-spacing:-.1px}.plan-scene-visual{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.7;word-break:break-word}.plan-scene-subtitle{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.65;font-style:italic;padding:10px 14px;background:var(--bg-surface);border-radius:var(--radius-md);border-left:3px solid var(--accent-color);word-break:break-word}.plan-scene-footer{display:flex;flex-wrap:wrap;gap:8px;padding:10px 20px 14px;border-top:1px solid var(--border-subtle)}.plan-scene-material,.plan-scene-ref{font-size:11px;color:var(--text-tertiary);padding:3px 10px;background:var(--bg-surface);border-radius:var(--radius-full);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.plan-scene-regenerating{position:absolute;inset:0;background:#00000080;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:13px;z-index:2}.plan-route-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 10px;border-radius:var(--radius-full);background:#1f7ae01a;color:var(--brand-blue)}.plan-mapping-btn{width:100%;margin-top:8px}.plan-inspector{position:sticky;top:80px}.plan-timeline-full{max-width:1400px;margin:24px auto 0}.plan-timeline-full .timeline-panel{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card);overflow:hidden;box-shadow:0 4px 20px #0000000a}.plan-timeline-full .tl-tracks-container{padding:18px 20px;overflow-x:hidden;position:relative}.plan-timeline-full .tl-ruler{display:flex;justify-content:space-between;padding:0 8px 6px 56px;font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono);margin-bottom:10px;border-bottom:1px solid var(--border-subtle);font-weight:500;position:relative}.plan-timeline-full .tl-ruler:after{content:"";position:absolute;bottom:0;left:56px;right:8px;height:6px;background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to right,var(--border-subtle) 1px,transparent 1px);background-size:5% 100%,1.25% 50%;background-repeat:repeat-x;opacity:.4;pointer-events:none}.plan-timeline-full .tl-playhead{position:absolute;top:0;bottom:18px;width:2px;background:var(--brand-blue);z-index:10;pointer-events:none;box-shadow:0 0 8px #1f7ae099}.plan-timeline-full .tl-playhead:before{content:"";position:absolute;top:0;left:-5px;width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-135deg);background:var(--brand-blue);box-shadow:0 2px 4px #00000026}.plan-timeline-full .tl-track{height:64px;border-radius:var(--radius-md);margin-bottom:8px}.plan-timeline-full .tl-track:last-child{margin-bottom:0}.plan-timeline-full .tl-track-label{background:#1f7ae00d;border-right-color:var(--border-subtle);color:var(--text-secondary);font-weight:600}.plan-timeline-full .tl-track:nth-child(3) .tl-track-label{background:#10b9810d}.plan-timeline-full .tl-clip{background:var(--bg-glass);border:1px solid var(--border-subtle);border-left:3.5px solid var(--brand-blue)!important;border-radius:var(--radius-md);box-shadow:0 2px 6px #00000005;height:84%;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.plan-timeline-full .tl-clip:hover{background:var(--bg-surface);border-color:var(--brand-blue);transform:translateY(-1px);box-shadow:0 4px 12px #1f7ae01f}.plan-timeline-full .tl-clip.is-selected{background:#1f7ae014;border-color:var(--brand-blue);box-shadow:0 0 0 1px var(--brand-blue),0 4px 12px #1f7ae026}.plan-timeline-full .tl-clip:before{content:"";position:absolute;top:3px;left:6px;right:6px;height:4px;background-image:radial-gradient(circle,var(--text-tertiary) 1.2px,transparent 1.2px);background-size:8px 4px;background-repeat:repeat-x;opacity:.25;pointer-events:none}.plan-timeline-full .tl-clip.audio{border-left-color:var(--brand-green)!important}.plan-timeline-full .tl-clip.audio:before{display:none}.plan-timeline-full .tl-clip.audio:hover{border-color:var(--brand-green);box-shadow:0 4px 12px #10b9811f}.plan-timeline-full .tl-clip.audio.is-selected{background:#10b98114;border-color:var(--brand-green);box-shadow:0 0 0 1px var(--brand-green),0 4px 12px #10b98126}.plan-timeline-full .tl-clip-dur{position:absolute;top:3px;right:6px;font-size:9px;font-family:var(--font-mono);color:var(--text-tertiary);font-weight:500;pointer-events:none}.plan-timeline-full .tl-clip-label{width:100%;text-align:left;padding:0 6px 4px;font-size:11px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;pointer-events:none;white-space:normal}.plan-timeline-full .waveform-svg{color:var(--brand-green);opacity:.4;transition:opacity .2s}.plan-timeline-full .tl-clip.audio:hover .waveform-svg{opacity:.8}.plan-timeline-full .tl-clips{overflow:hidden!important;scrollbar-width:none!important}.plan-timeline-full .tl-clips::-webkit-scrollbar{display:none!important}.generate-layout{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.generate-start-panel,.generate-progress-panel,.generate-success-panel,.generate-error-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px;gap:16px}.generate-start-icon,.generate-progress-icon,.generate-success-icon,.generate-error-icon{width:80px;height:80px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.generate-start-icon,.generate-progress-icon{background:#1f7ae01a;color:var(--brand-blue)}.generate-success-icon{background:#10b9811a;color:var(--success-color)}.generate-error-icon{background:#ef444414;color:var(--error-color)}.generate-summary{display:flex;gap:24px;padding:16px;background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.generate-summary-item{display:flex;flex-direction:column;gap:2px}.generate-summary-label{font-size:12px;color:var(--text-tertiary)}.generate-summary-value{font-size:20px;font-weight:700;color:var(--text-primary)}.generate-start-btn{margin-top:8px}.generate-progress-status{font-size:14px;color:var(--text-secondary)}.generate-progress-bar{width:100%;height:4px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden}.generate-progress-fill{height:100%;width:60%;background:var(--accent-gradient);border-radius:var(--radius-full);animation:progress-pulse 2s ease-in-out infinite}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.6}}.generate-progress-steps{display:flex;gap:20px;font-size:13px;color:var(--text-tertiary)}.generate-step{display:flex;align-items:center;gap:4px}.generate-step--done{color:var(--success-color)}.generate-step--active{color:var(--brand-blue);font-weight:600}.generate-preview{width:100%;aspect-ratio:16/9;background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center}.generate-preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-tertiary)}.generate-success-actions,.generate-error-actions{display:flex;gap:12px}.generate-error-message{font-size:14px;color:var(--error-color);padding:12px;background:#ef44440f;border-radius:var(--radius-sm);max-width:400px}.editor-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.editor-tracks{display:flex;flex-direction:column;gap:16px}.editor-track-layers{display:flex;gap:16px;padding:10px 14px;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.editor-track-layer{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.editor-track-count{font-size:11px;color:var(--text-tertiary);margin-left:4px}.editor-inspector{position:sticky;top:80px}.editor-packaging-tags{display:flex;gap:4px;flex-wrap:wrap}.packaging-tag{font-size:11px;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.drawer-overlay{position:fixed;inset:0;z-index:100;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end}.drawer{width:600px;max-width:90vw;height:100vh;background:var(--bg-card);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.drawer-title-row{display:flex;align-items:center;gap:8px}.drawer-title-row h2{font-size:16px;font-weight:600;margin:0}.drawer-close{background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:4px;border-radius:var(--radius-sm);transition:all .15s}.drawer-close:hover{background:var(--bg-surface);color:var(--text-primary)}.drawer-body{flex:1;overflow-y:auto;padding:20px}.mapping-dual-panel{display:grid;grid-template-columns:1fr 80px 1fr;gap:12px}.mapping-panel-title{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;margin:0 0 8px}.mapping-slot-card,.mapping-scene-card{padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);margin-bottom:8px;background:var(--bg-surface)}.mapping-slot-card--direct{border-left:3px solid var(--success-color)}.mapping-slot-card--gap{border-left:3px solid var(--warning-color)}.mapping-slot-card--partial{border-left:3px solid var(--brand-blue)}.mapping-slot-role{font-size:13px;font-weight:600;display:block;margin-bottom:2px}.mapping-slot-beat{font-size:12px;color:var(--text-secondary);margin:0}.mapping-scene-card--unmapped{opacity:.5}.mapping-scene-title{font-size:13px;font-weight:600;display:block;margin-bottom:2px}.mapping-scene-note{font-size:12px;color:var(--text-tertiary);margin:0}.mapping-scene-empty{font-size:12px;color:var(--text-tertiary);font-style:italic}.mapping-connections{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding-top:32px}.mapping-connection{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary);height:40px}.mapping-connection--direct{color:var(--success-color)}.mapping-connection--gap{color:var(--warning-color)}.mapping-connection--partial{color:var(--brand-blue)}.mapping-connection-label{display:none}@media(min-width:720px){.mapping-connection-label{display:inline}}.mapping-unmapped{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle)}.mapping-unmapped h3{font-size:13px;font-weight:600;margin:0 0 8px}.mapping-unmapped-item{display:flex;justify-content:space-between;padding:8px;background:var(--bg-surface);border-radius:var(--radius-sm);font-size:12px;margin-bottom:4px}.mapping-unmapped-reason{color:var(--text-tertiary)}@media(max-width:1100px){.brief-layout{grid-template-columns:1fr}.brief-checklist-section{position:static}.plan-layout{grid-template-columns:1fr}.plan-sidebar{position:static;flex-direction:row;overflow-x:auto}.plan-inspector{position:static}.editor-layout{grid-template-columns:1fr}.editor-inspector{position:static}.mapping-dual-panel{grid-template-columns:1fr}.mapping-connections{flex-direction:row;padding-top:0;height:auto}}@media(max-width:720px){.project-grid,.diagnosis-grid{grid-template-columns:1fr}.plan-scene-list{gap:12px}.analysis-highlight-grid,.analysis-highlight-stack{grid-template-columns:1fr}.project-steps{overflow-x:auto}}.cq-wrap{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000040;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);animation:cq-bg-in .35s ease both}@keyframes cq-bg-in{0%{opacity:0}to{opacity:1}}[data-theme=dark] .cq-wrap{background:#0000008c}.cq-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:18px;overflow:hidden;width:460px;max-width:100%;animation:cq-card-in .4s cubic-bezier(.16,1,.3,1) .05s both;box-shadow:0 0 0 1px #00000008,0 4px 12px #0000000f,0 20px 56px #0000001f}@keyframes cq-card-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .cq-card{box-shadow:0 0 0 1px #ffffff0f,0 8px 24px #0006,0 28px 72px #0000004d}.cq-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}.cq-head-left{display:flex;align-items:center;gap:7px;color:var(--brand-blue);font-size:13px;font-weight:600}.cq-head-left .cq-head-label{color:var(--text-primary)}.cq-head-right{display:flex;align-items:center;gap:10px}.cq-dots{display:flex;gap:5px}.cq-dot{width:6px;height:6px;border-radius:50%;background:var(--border-subtle);transition:all .3s}.cq-dot--active{width:18px;border-radius:3px;background:var(--brand-blue)}.cq-dot--done{background:var(--brand-blue);opacity:.4}.cq-x{background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:2px;border-radius:6px;transition:all .15s;display:flex;align-items:center;justify-content:center}.cq-x:hover{color:var(--text-secondary);background:var(--bg-surface)}.cq-body{padding:0 20px 20px;transition:opacity .15s ease,transform .15s ease}.cq-body--in{opacity:1;transform:translate(0)}.cq-body--out{opacity:0;transform:translate(-6px)}.cq-hint{font-size:11px;color:var(--text-tertiary);margin:0 0 10px;line-height:1.5;padding-left:2px}.cq-qq{font-size:17px;font-weight:700;line-height:1.5;color:var(--text-primary);margin:0 0 16px;font-family:var(--font-display);letter-spacing:.3px}.cq-opts{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.cq-opt{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:10px;background:var(--bg-surface);border:1px solid transparent;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s;text-align:left;font-family:inherit;animation:cq-opt-in .35s cubic-bezier(.16,1,.3,1) both}@keyframes cq-opt-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cq-opt:hover{color:var(--text-primary);border-color:var(--border-subtle)}.cq-opt--on{color:var(--text-primary);font-weight:600;border-color:var(--brand-blue);background:#1f7ae00a}.cq-radio{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--border-subtle);transition:all .25s cubic-bezier(.34,1.56,.64,1);position:relative}.cq-opt--on .cq-radio{border-color:var(--brand-blue);background:var(--brand-blue);box-shadow:inset 0 0 0 3.5px var(--bg-card);transform:scale(1.05)}.cq-opt-text{flex:1}.cq-free{margin-top:2px}.cq-free-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);font-size:14px;color:var(--text-primary);font-family:inherit;outline:none;transition:all .3s cubic-bezier(.16,1,.3,1);box-sizing:border-box;resize:vertical;min-height:72px;line-height:1.6}.cq-free-input:focus,.cq-free-input--on{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1f7ae014}.cq-free-input::placeholder{color:var(--text-tertiary)}.cq-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--border-subtle)}.cq-prev{width:32px;height:32px;border-radius:9px;background:none;border:1px solid var(--border-subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all .2s}.cq-prev:hover{color:var(--text-primary);border-color:var(--border-glow)}.cq-skip-text{font-size:12px;color:var(--text-tertiary);cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .15s}.cq-skip-text:hover{color:var(--text-secondary);background:var(--bg-surface)}.cq-go{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:10px;border:none;cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;color:#fff;background:var(--text-primary);transition:all .25s}.cq-go:hover{opacity:.88;transform:translate(1px)}.cq-go:active{transform:scale(.97)}.cq-go:disabled{opacity:.25;cursor:not-allowed;transform:none}@media(max-width:480px){.cq-wrap{padding:16px}.cq-card{border-radius:16px}.cq-qq{font-size:14px}}.analysis-source-badge{display:inline-flex;align-items:center;margin-top:8px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--brand-blue);background:#1f7ae01a;border:1px solid rgba(31,122,224,.2)}.analysis-source-badge--fallback{color:#d97706;background:#d977061a;border-color:#d9770640}.upload-result-tag--warn{color:#d97706;background:#d977061f}.generate-preview-video{width:100%;max-height:360px;border-radius:12px;background:#000}.generate-provider-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.generate-provider-badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--brand-blue);background:#1f7ae01a;border:1px solid rgba(31,122,224,.2)}.generate-provider-badge--fallback{color:#d97706;background:#d977061a;border-color:#d9770640}
