@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=M+PLUS+Rounded+1c:wght@500;700;800&family=Noto+Sans+JP:wght@400;500;700&family=Roboto:wght@400;500;700;900&family=Shippori+Mincho:wght@600;700;800&display=swap";:root{--primary: #5bcef7;--primary-dark: #217ea7;--secondary: #ff9eba;--accent: #ffe082;--bg: #f4fafe;--surface: #ffffff;--surface-2: #fff5fa;--border: #d6eefb;--text: #2d3d5c;--muted: #66738d;--success: #2bb98a;--danger: #d94367}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f4fafe,#fff5fa);color:var(--text);font-family:Inter,Noto Sans JP,system-ui,sans-serif}h1,h2,strong,b{font-family:"M PLUS Rounded 1c",system-ui,sans-serif}.page-shell{max-width:1280px;margin:0 auto;padding:0 24px}.app-hero{text-align:center;padding:20px 0 26px}.app-hero h1{margin:0;font:800 clamp(28px,4.5vw,46px) / 1.15 "M PLUS Rounded 1c",system-ui,sans-serif;letter-spacing:-.02em}.app-hero h1 em{color:#fff;font-style:normal;-webkit-text-stroke:1px #57bfe7;paint-order:stroke fill;text-shadow:3px 3px 0 var(--secondary)}.hero-sub{margin:10px auto 0;color:var(--muted);font-size:14px}main{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.25fr) minmax(240px,.78fr);gap:20px;align-items:start}.col{display:grid;gap:20px;min-width:0;align-content:start}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 4px 14px #5bcef72e;min-width:0}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-heading .step{width:28px;height:28px;display:grid;place-items:center;color:#fff;border-radius:9px;background:var(--primary-dark);font-weight:700}.section-heading h2{margin:0;font-size:18px}.hint{color:var(--muted);font-size:12px;margin:0 0 10px}.drop-zone{min-height:120px;display:grid;place-items:center;position:relative;overflow:hidden;border:3px dashed var(--primary);border-radius:22px;background:linear-gradient(180deg,#f4fafe,#fff5fa);transition:.18s ease-out;margin-bottom:8px}.drop-zone .drop-copy{cursor:pointer}.drop-zone:hover{border-color:var(--secondary)}.drop-zone.filled{min-height:0;padding:0}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.drop-image{width:100%;max-height:240px;object-fit:cover;border-radius:19px;display:block}.audio-filled{width:100%;padding:14px 16px;display:grid;gap:8px}.audio-filled .track-name{font-size:12px;font-weight:700;color:var(--primary-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-filled audio{width:100%}.rechoose{position:absolute;top:8px;right:8px;background:#ffffffeb;border:1px solid var(--border);border-radius:999px;padding:5px 13px;font-size:11px;font-weight:700;color:var(--primary-dark);cursor:pointer;min-height:32px}.rechoose input{position:absolute;width:1px;height:1px;opacity:0}.drop-copy{text-align:center;display:grid;gap:4px;padding:14px}.drop-copy .upload-icon{margin:0 auto 4px;width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--primary-dark);box-shadow:0 4px 12px #5bcef740;font-size:24px}.drop-copy small{color:var(--muted);font-size:11px}.selected-meta{position:absolute;bottom:6px;font-size:11px;color:var(--success)}.preview-audio{width:100%;margin:6px 0}.sample-label{color:var(--muted);font-size:11px;margin:12px 0 7px}.samples{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 8px;min-width:0}.samples button{flex:0 0 108px;border:0;border-radius:12px;padding:6px;background:#f4fafe;color:var(--muted);cursor:pointer;display:grid;gap:4px;justify-items:center}.samples button span:last-child{max-width:100%;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sample-note{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--primary-dark);font-size:18px}.sample-thumb{width:96px;height:54px;object-fit:cover;border-radius:8px}.field{display:grid;gap:6px;margin-bottom:14px}.field>label{font-size:13px;font-weight:700}.field input[type=text],.field input:not([type]){padding:9px 12px;border:1px solid var(--border);border-radius:10px;font:inherit}.bpm-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bpm-input{width:88px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font:inherit}.segmented{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:3px;flex-wrap:wrap}.seg{min-width:44px;min-height:40px;border:0;border-radius:999px;padding:0 14px;background:transparent;color:var(--primary-dark);font-weight:700;cursor:pointer}.seg.selected{background:var(--primary-dark);color:#fff}.effects-panel{display:grid;gap:8px}.effect-row{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface-2)}.effect-row.on{border-color:var(--primary)}.effect-head{display:flex;align-items:center;gap:8px}.effect-toggle{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;cursor:pointer}.effect-info{margin-left:auto;position:relative;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#e8f7fe;color:var(--primary-dark);font-size:11px;font-weight:700;cursor:help}.effect-tip{display:none;position:absolute;top:24px;right:0;z-index:20;width:210px;padding:9px 11px;border-radius:10px;background:var(--text);color:#fff;font-size:11px;font-weight:500;line-height:1.5;box-shadow:0 6px 18px #2d3d5c47}.effect-info:hover .effect-tip,.effect-info:focus .effect-tip{display:block}.effect-toggle .badge{margin-left:auto;font-size:10px;color:var(--primary-dark);background:#e8f7fe;border-radius:999px;padding:2px 8px}.effect-param{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;margin-top:8px}.effect-param small{color:var(--muted);font-size:11px}.effect-param input[type=range]{width:100%}.preview-canvas{width:100%;aspect-ratio:16 / 9;border-radius:14px;background:#0b0b16;border:1px solid var(--border);display:block}.generate{width:100%;min-height:54px;margin-top:16px;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));font-weight:800;font-size:16px;box-shadow:0 8px 20px #ff9eba54;cursor:pointer;transition:.18s ease-out}.generate:hover:not(:disabled){transform:translateY(-2px)}.generate:disabled{opacity:.5;cursor:not-allowed}.disabled-reason{text-align:center;color:var(--muted);font-size:11px;margin:8px 0 0}.progress-card{background:var(--surface-2);border:1px solid #ffe0ea;border-radius:14px;padding:14px;margin-top:14px}.progress-row>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.progress{height:9px;background:#fff;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .3s ease-out}.form-error{margin-top:12px;padding:10px;border-radius:10px;background:#fff0f4;color:var(--danger);font-size:13px}.result{margin-top:16px;display:grid;gap:10px}.result-video{width:100%;border-radius:12px;background:#000}.download{min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;font-weight:700;border:2px solid var(--primary-dark);color:var(--primary-dark)}.result-meta{color:var(--muted);font-size:11px;margin:0}footer{margin:28px 0 40px;padding:20px 0;border-top:1px solid var(--border);color:var(--muted);font-size:11px}footer p{margin:2px 0}@media(max-width:1160px){main{grid-template-columns:minmax(280px,1fr) minmax(0,1.2fr)}}@media(max-width:820px){main{grid-template-columns:1fr}}
