:root{--bg: #0f1115;--panel: #1a1d26;--panel-2: #232734;--border: #2e3342;--text: #e6e8ee;--muted: #9aa0b0;--accent: #5b8cff;--accent-2: #7b5bff;--danger: #ff5b6e;--ok: #34d399;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.app__header{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.app__header h1{font-size:22px;margin:0}.app__header .tag{font-size:12px;color:var(--muted)}.app__sub{color:var(--muted);font-size:13px;margin:0 0 24px;line-height:1.6}.layout{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}@media (max-width: 900px){.layout{grid-template-columns:1fr}}.layout__right{align-self:stretch;min-width:0}.livepreview.sticky{position:sticky;top:12px;z-index:2}.livepreview__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.livepreview__head h2{margin:0}.livepreview__toggle{margin-bottom:0;font-size:12px;white-space:nowrap}.livepreview__body{display:flex;flex-direction:column;align-items:center;gap:8px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.panel h2{font-size:14px;margin:0 0 12px;letter-spacing:.02em}.tag-req,.tag-opt{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;margin-left:8px;vertical-align:middle;letter-spacing:.02em}.tag-req{background:#ff5b6e29;color:var(--danger);border:1px solid var(--danger)}.tag-opt{background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.panel h2 .step{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;background:var(--accent);color:#fff;border-radius:50%;font-size:12px;margin-right:8px}label{display:block;font-size:13px;margin-bottom:6px;color:var(--muted)}.row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.row>*{flex:1}.check{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;margin-bottom:10px}.check input{width:16px;height:16px;flex:0 0 auto}input[type=number],input[type=text],textarea,select{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit}textarea{resize:vertical}.field{margin-bottom:12px}.field>span{display:block;font-size:13px;margin-bottom:6px;color:var(--muted)}input[type=range]{width:100%}input[type=color]{width:100%;height:34px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:11px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:filter .15s ease}button:hover:not(:disabled){filter:brightness(1.1)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--panel-2);border:1px solid var(--border)}button.block{width:100%}.uploader{border:2px dashed var(--border);border-radius:12px;padding:28px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.uploader:hover,.uploader.drag{border-color:var(--accent);background:#5b8cff0f}.uploader input{display:none}.uploader .hint{color:var(--muted);font-size:13px;margin-top:6px}.filemeta{font-size:13px;color:var(--muted);margin-top:12px}.filemeta b{color:var(--text)}.cropstage{position:relative;width:100%;background:#000;border-radius:8px;overflow:hidden;line-height:0}.cropstage img{width:100%;display:block;opacity:.55}.cropbox{position:absolute;border:2px solid var(--accent);box-shadow:0 0 0 9999px #00000073;pointer-events:none}.cropbox .ratio{position:absolute;top:4px;left:4px;font-size:11px;background:var(--accent);color:#fff;padding:1px 6px;border-radius:4px;line-height:1.4}.progress{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden;margin:10px 0}.progress>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .2s ease}.jobmeta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 2px}.jobmeta .val{min-width:40px}.status{font-size:13px;color:var(--muted)}.status.err{color:var(--danger)}.status.ok{color:var(--ok)}.badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);margin-left:8px}.result video{width:100%;max-height:60vh;background:#000;border-radius:8px}.result .actions{display:flex;gap:10px;margin-top:12px}.result a.download{flex:1;text-align:center;text-decoration:none;background:var(--ok);color:#06231a;border-radius:8px;padding:11px 16px;font-weight:700}.note{font-size:12px;color:var(--muted);line-height:1.6;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-top:12px}.mini{font-size:12px;color:var(--muted)}.fontgallery{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.fontsample{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:400}.fontsample:hover:not(:disabled){border-color:var(--accent);filter:none}.fontsample.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.fontsample__meta{color:var(--muted)}.fontsample.sel .fontsample__meta{color:var(--accent)}.fontsample__rate{display:flex;align-items:center;gap:8px}.fontsample__stars{color:#f5c518;letter-spacing:1px}.fontsample__badge{font-size:11px;padding:1px 7px;border-radius:999px;background:#5b8cff26;border:1px solid var(--accent);color:var(--accent)}.fontsample__text{font-size:24px;line-height:1.35;width:100%;padding:6px 8px;border-radius:6px;background:#6b7280;word-break:break-word;paint-order:stroke fill}.fontsample__note{color:var(--muted)}.bgmpresets{display:flex;flex-direction:column;gap:6px}.bgmpreset{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.bgmpreset.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.bgmpreset.off{opacity:.7}.bgmpreset__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bgmpreset__title{font-size:14px;font-weight:600;color:var(--text)}.bgmpreset__audio{width:100%;height:32px;margin-top:4px}.bgmpreset__actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.panel a{color:var(--accent)}.panel a:hover{filter:brightness(1.15)}.note code,.panel code{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:12px}.val{color:var(--text);font-weight:600}.version{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;line-height:1.6}.version:hover{color:var(--text);border-color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal__head h2{margin:0;font-size:18px}.modal__close{background:transparent;border:none;color:var(--muted);font-size:24px;line-height:1;padding:0 4px;cursor:pointer}.modal__close:hover{color:var(--text)}.modal__body{padding:16px 20px 20px;overflow-y:auto}.changelog__entry{margin-bottom:20px}.changelog__entry:last-child{margin-bottom:0}.changelog__ver{display:flex;align-items:center;gap:8px;margin-bottom:8px}.changelog__ver .badge{margin-left:0;color:var(--text);border-color:var(--accent)}.changelog__list{margin:0;padding-left:20px;color:var(--text);font-size:14px;line-height:1.7}.changelog__list li{margin-bottom:4px}.mediarow{border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:12px;background:var(--panel-2)}.mediarow__head{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.mediarow__body{display:flex;gap:12px;margin-top:10px;align-items:flex-start}.mediarow__ctrl{flex:1;min-width:0}.mediarow__ctrl label{display:block;margin:8px 0 2px;font-size:12px;color:var(--muted)}.mediarow__ctrl input[type=range]{width:100%}button.mini-btn,.mini-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600;cursor:pointer}.mini-btn.wide{width:100%;margin-top:8px}.seg{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text)}.seg input{margin:0}.frameprev{border:1px solid var(--border)}.capedit{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:6px}.capedit__row{display:flex;align-items:center;gap:6px}.capedit__row.off{opacity:.5}.capedit__time{min-width:34px;text-align:right}.capedit__text{flex:1;min-width:0}.cappreview{display:flex;gap:12px;align-items:flex-start}@media (max-width: 480px){.cappreview{flex-direction:column;align-items:center}}.cappreview__stageWrap{flex:0 0 auto}.cappreview__stage{position:relative;background:#000;border-radius:6px;overflow:hidden;flex:0 0 auto;border:1px solid var(--border)}.cappreview__stage .cappreview__tc{position:absolute;left:4px;bottom:2px;background:#0000008c;padding:0 4px;border-radius:4px;color:var(--muted)}.cappreview__empty{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;color:#888}.cappreview__list{flex:1;min-width:0;max-height:428px;overflow:auto;display:flex;flex-direction:column;gap:6px}.cappreview__row{display:flex;align-items:center;gap:6px;padding:3px 6px;border:1px solid transparent;border-radius:6px;cursor:pointer}.cappreview__row:hover{background:var(--panel-2)}.cappreview__row.sel{border-color:var(--accent);background:var(--panel-2)}.cappreview__row.off{opacity:.5}.cappreview__row .cappreview__tc{min-width:44px;text-align:right;flex:0 0 auto}.cappreview__text{flex:1;min-width:0}
