:root{--text:#4b4a52;--text-h:#1a1a1f;--bg:#f6f5fb;--surface:#fff;--border:#e6e4ee;--accent:#5b3df6;--accent-hover:#4a2fe0;--accent-bg:#5b3df614;--shadow:#1e143c14 0 10px 30px -10px, #1e143c0d 0 4px 10px -4px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}h1,h2{font-family:var(--sans);color:var(--text-h);margin:0}p{margin:0}button{font-family:var(--sans)}.page{flex-direction:column;align-items:center;min-height:100svh;padding:32px 16px 48px;display:flex}.header{text-align:center;max-width:560px;margin-bottom:32px}.header h1{margin:0;line-height:0}.hero-logo{width:100%;max-width:340px;height:auto;margin:0 auto;display:block}.header p{color:var(--text);margin-top:8px;font-size:16px}.steps{flex-direction:column;gap:20px;width:100%;max-width:480px;display:flex}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:20px}.card h2{align-items:center;gap:10px;margin-bottom:16px;font-size:18px;font-weight:700;display:flex}.step-badge{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:inline-flex}.frame-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.frame-option{border:2px solid var(--border);background:var(--bg);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:border-color .15s,transform .15s;display:flex;position:relative}.frame-option:hover{transform:translateY(-2px)}.frame-option.selected{border-color:var(--accent);background:var(--accent-bg)}.frame-option img{aspect-ratio:1;object-fit:contain;width:100%}.frame-name{color:var(--text);text-align:center;font-size:12px}.check{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.canvas-wrap{aspect-ratio:1;border:1px solid var(--border);touch-action:none;background:repeating-conic-gradient(#f0eff6 0% 25%,#e8e7f0 0% 50%) 50%/24px 24px;border-radius:16px;width:100%;position:relative;overflow:hidden}.preview-canvas{width:100%;height:100%;display:block}.preview-canvas.has-photo{cursor:grab}.preview-canvas.dragging{cursor:grabbing}.placeholder{color:var(--text);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;display:flex;position:absolute;inset:0}.placeholder svg{color:var(--accent);margin-bottom:6px}.placeholder span{color:var(--text-h);font-size:15px;font-weight:600}.placeholder small{color:var(--text);font-size:13px}.loading-overlay{color:var(--text);background:#ffffffb3;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.controls{flex-direction:column;gap:14px;margin-top:16px;display:flex}.zoom-control{align-items:center;gap:12px;display:flex}.zoom-control label{color:var(--text);flex-shrink:0;font-size:13px}.zoom-control input[type=range]{accent-color:var(--accent);flex:1}.btn{cursor:pointer;border:none;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:700;transition:background .15s,opacity .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--accent-bg);color:var(--accent)}.btn-secondary:hover{background:#5b3df626}.footer{text-align:center;max-width:480px;margin-top:32px}.footer p{color:var(--text);font-size:13px}.mode-tabs{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;gap:6px;margin-bottom:20px;padding:5px;display:flex}.mode-tab{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 20px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:flex}.mode-tab.selected{background:var(--accent);color:#fff}.tab-badge{text-transform:uppercase;letter-spacing:.04em;color:#fff;background:#ff9500;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800}.video-card{padding:14px}.video-stage{touch-action:none;background:#1a1a1f;border-radius:16px;width:100%;position:relative;overflow:hidden}.video-stage .preview-canvas{width:100%;height:100%;display:block}.preview-canvas.locator-on{cursor:grab}.tool-rail{flex-direction:column;gap:10px;display:flex;position:absolute;top:12px;right:12px}.tool-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#14121e8c;border:none;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s,transform .15s;display:flex;position:relative}.tool-btn:hover{transform:scale(1.05)}.tool-btn.active{background:var(--accent)}.tool-btn.on:after{content:"";background:#ff9500;border-radius:999px;width:8px;height:8px;position:absolute;transform:translate(16px,-16px)}.recording-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff;text-align:center;background:#100e18d1;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.recording-overlay small{opacity:.75;font-size:12px}.rec-dot{background:#ff3b30;border-radius:999px;width:14px;height:14px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.rec-bar{background:#ffffff40;border-radius:999px;width:min(240px,80%);height:6px;overflow:hidden}.rec-bar-fill{background:#fff;height:100%;transition:width .2s linear}.tool-panel{background:var(--bg);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;margin-top:14px;padding:14px;display:flex}.tool-panel h3{color:var(--text-h);margin:0;font-size:14px;font-weight:800}.frame-strip{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.frame-strip .frame-option{flex:0 0 92px;padding:6px}.frame-strip .frame-name{font-size:10px}.music-list{flex-direction:column;gap:8px;display:flex}.music-item{border:2px solid var(--border);background:var(--surface);color:var(--text-h);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;font-weight:600;display:flex}.music-item.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.music-icon{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;display:flex}.slider-row{align-items:center;gap:12px;display:flex}.slider-row label{color:var(--text);flex:0 0 132px;font-size:13px}.slider-row input[type=range]{accent-color:var(--accent);flex:1}.text-input{border:2px solid var(--border);background:var(--surface);width:100%;font-family:var(--sans);color:var(--text-h);border-radius:12px;padding:12px 14px;font-size:15px}.text-input:focus{border-color:var(--accent);outline:none}.seg-group{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:6px;padding:4px;display:flex}.seg{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:9px 8px;font-size:13px;font-weight:600}.seg.selected{background:var(--accent);color:#fff}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.hint{color:var(--text);margin:0;font-size:12px}.alert{background:var(--accent-bg);color:var(--accent);border-radius:12px;margin:14px 0 0;padding:11px 14px;font-size:13px;font-weight:600}.alert.error{color:#c62b21;background:#ff3b301a}.privacy-note{color:var(--text);opacity:.8;text-align:center;margin-top:12px;font-size:11px;line-height:1.45}@media (width<=420px){.header h1{font-size:32px}.slider-row label{flex-basis:104px}}
