:root{font-family:system-ui,-apple-system,Roboto,"Segoe UI",sans-serif;color:#eff7ff;background:#071a32;font-synthesis:none;font-size:16px}*{box-sizing:border-box}html{min-height:100%;background:#071a32}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -100px,#123c6c 0,transparent 50%),#071a32}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7ccaff;outline-offset:3px}a{color:#7ad3ff}.app{width:min(100%,780px);margin:auto;padding:0 18px;min-height:100vh}.header{min-height:100px;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.identity{display:flex;gap:13px;align-items:center}.brand-icon{border-radius:15px;box-shadow:0 8px 22px #00122970}.brand-kicker{font-size:11px;font-weight:800;letter-spacing:2.8px;color:#69bcf8}.identity h1{margin:2px 0 0;font-size:24px;letter-spacing:-.7px;line-height:1.05}.identity h1 span{color:#74d0ff}.header-actions{display:flex;gap:10px;align-items:center}#language,.icon-button{height:42px;background:#122c4c;border:1px solid #325172;color:#fff;border-radius:12px;padding:0 12px;font-weight:700}.icon-button{width:44px;display:grid;place-items:center}.icon-button svg{width:22px;height:22px}.hero{padding:20px 2px 24px;text-align:center}.mini-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #2a5c7f;background:#123453b3;border-radius:24px;color:#ade0ff;font-size:12px;font-weight:800;padding:8px 13px}.dot{width:8px;height:8px;border-radius:50%;background:#4fe0a8;box-shadow:0 0 0 4px #4fe0a81c}.hero h2{font-size:clamp(27px,7vw,42px);letter-spacing:-1.4px;line-height:1.12;margin:18px 0 10px}.hero p{color:#a4bbd1;margin:0 auto;max-width:460px;line-height:1.6}.panel{background:linear-gradient(140deg,#112b49,#0b213c);border:1px solid #294a6c;border-radius:21px;box-shadow:0 9px 35px #0000001c;margin:14px 0;padding:19px}.picker{text-align:center;min-height:304px;border:2px dashed #497fa6;padding:26px 18px;background:linear-gradient(135deg,#13375c,#0d2441)}.picker.drag-over{border-color:#9bddff;background:#214973}.picker-graphic{width:80px;height:80px;margin:0 auto 12px;display:grid;place-items:center;background:#194970;color:#88d7ff;border-radius:23px}.picker-graphic svg{width:55px}.picker h3{font-size:23px;margin:8px 0}.muted{color:#a4bed4}.picker .muted{font-size:14px;margin:10px 0 21px}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;font-weight:800;min-height:53px;padding:12px 18px;transition:transform .1s ease,filter .1s ease}.btn:active{transform:scale(.98)}.btn-primary{background:#2c9df3;color:#001d38;box-shadow:0 8px 24px #005ea061}.btn-symbol{font-size:26px;font-weight:500;line-height:18px}.drop-note{font-size:12px;color:#7fa5c4;margin:18px 0 2px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-head h3{font-size:17px;margin:0}.text-button{background:transparent;border:0;color:#82d3ff;font-weight:800;padding:8px}.preview-layout{display:flex;gap:16px;align-items:center}.video-shell{position:relative;flex:0 0 180px;max-width:41%;border:1px solid #2b4e6f;overflow:hidden;background:#06172b;border-radius:14px;aspect-ratio:16 / 10;display:grid;place-items:center}.video-shell video{width:100%;height:100%;object-fit:contain}.video-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:#071a32;font-size:32px;color:#82d3ff}.file-info{min-width:0;flex:1}.file-name{font-weight:800;font-size:17px;overflow-wrap:anywhere}.file-sub{color:#96b7d3;font-size:13px;margin:6px 0}.queue{color:#a0c7e0;font-size:12px;margin-top:8px;max-height:78px;overflow:auto;white-space:pre-line}.field-label{display:block;color:#bdd6e8;font-size:14px;font-weight:750;margin-bottom:9px}.field{width:100%;height:49px;border-radius:12px;border:1px solid #3d6283;background:#091b32;color:#f0faff;padding:0 13px;outline:0;appearance:auto}.field:focus{border-color:#83c9ff}.quality-tag{background:#204a68;color:#c5efff;border-radius:10px;font-size:12px;font-weight:850;padding:6px 10px}.settings-panel details{border-top:1px solid #2c4764;margin-top:19px;padding-top:14px}.settings-panel summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:750;font-size:14px;color:#b3d7f3;gap:8px}.settings-panel summary::-webkit-details-marker{display:none}.settings-panel summary svg{width:20px;height:20px;transition:transform .2s}.settings-panel details[open] summary svg{transform:rotate(180deg)}.hint{color:#849fba;font-size:12px;line-height:1.55;margin:11px 0}.time-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.time-fields label{display:block;color:#afc8dc;margin-bottom:8px;font-size:13px}.convert-actions{display:flex;gap:12px;margin:18px 0}.btn-convert{background:linear-gradient(110deg,#54c3ff,#83d5ff);color:#05223c;box-shadow:0 8px 28px #00a1fe36;flex:1;min-height:60px;font-size:17px}.btn-cancel{background:#3f2e42;color:#ffd2d7;border:1px solid #89576f}.progress-panel{border-color:#467994}.meter{height:11px;background:#092139;border-radius:20px;overflow:hidden;margin:16px 0}.meter-fill{width:0;height:100%;background:linear-gradient(90deg,#3aa4ff,#7eecce);border-radius:20px;transition:width .2s}.progress-panel #percentage{color:#88dbff;font-weight:850;font-variant-numeric:tabular-nums}.progress-panel p{margin:9px 0;overflow-wrap:anywhere}.result-item{border-top:1px solid #2c4a66;padding:14px 0}.result-item:first-child{border-top:0;padding-top:0}.result-title{font-size:14px;font-weight:800;overflow-wrap:anywhere;margin-bottom:8px}.result-audio{width:100%;height:38px;margin:4px 0 12px}.result-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}.result-download,.result-share{border:1px solid #5dbce4;border-radius:10px;color:#05223c;background:#7bd4ff;padding:9px 15px;display:inline-flex;gap:7px;text-decoration:none;font-weight:800;font-size:13px;min-height:40px;align-items:center}.result-share{color:#c6edff;background:#153a59}.result-size{color:#9cb8ce;font-size:12px}.result-error{border-left:3px solid #ffa0a0;padding:8px 12px;color:#ffcbcb;font-size:13px;background:#51303f40;overflow-wrap:anywhere}.privacy-note{display:flex;gap:12px;align-items:flex-start;margin:25px 2px;color:#a2bed1}.privacy-note svg{width:22px;height:22px;flex:0 0 22px;color:#73c1ed}.privacy-note strong{font-size:13px;color:#b9d9ed}.privacy-note p{font-size:12px;line-height:1.5;margin:5px 0}footer{text-align:center;font-size:12px;color:#80a0bc;padding:22px 0 30px}footer a{text-decoration:none;font-weight:800}footer .footer-sep{margin:0 7px}.toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),490px);padding:15px;border-radius:14px;background:#f9d8dd;color:#541d2b;box-shadow:0 8px 35px #0006;z-index:20;font-size:14px;font-weight:700;white-space:pre-wrap}[hidden]{display:none!important}@media (max-width:520px){.app{padding:0 14px}.header{min-height:88px}.hero{padding:12px 0 20px}.panel{border-radius:17px;padding:15px}.picker{padding:24px 12px}.preview-layout{align-items:flex-start;gap:11px}.video-shell{flex:0 0 130px}.file-name{font-size:14px}.file-sub{font-size:12px}.result-actions{gap:8px}.convert-actions{flex-wrap:wrap}.btn-cancel{width:100%}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
/* v2: large video preview, precise trim tools, private music archive */
.selected-panel .preview-layout{flex-direction:column;align-items:stretch;gap:14px}
.selected-panel .video-shell{flex:0 0 auto;width:100%;max-width:none;aspect-ratio:16 / 9;max-height:420px;border-radius:16px;background:#000}
.selected-panel .video-shell video{display:block;object-fit:contain;width:100%;height:100%}
.selected-panel .file-info{width:100%}
.selected-panel .queue{max-height:none;display:flex;gap:8px;flex-wrap:wrap;white-space:normal}
.queue-choice{border:1px solid #39648d;background:#132e4a;color:#bedbef;border-radius:9px;padding:8px 11px;font-size:12px;max-width:100%;overflow-wrap:anywhere;text-align:left}
.queue-choice.queue-active{border-color:#7acfff;background:#244d73;color:#fff}
.video-editor{border-top:1px solid #305576;margin-top:15px;padding-top:17px}
.editor-line,.editor-controls,.selection-summary,.folder-actions,.archive-tools,.song-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.editor-line{justify-content:space-between;margin-bottom:12px}
.editor-line strong{color:#d7ecff;font-size:16px}
.time-readout{font-size:12px;color:#86d6ff;font-weight:850;font-variant-numeric:tabular-nums}
.editor-controls{margin:11px 0;gap:11px}
.editor-controls label{font-size:13px;color:#bed7e9}
.edit-btn,.edit-select{background:#183d5c;color:#ddf2ff;border:1px solid #417698;border-radius:11px;font-weight:760;padding:10px 12px;min-height:42px;font-size:13px}
.edit-btn:active{transform:scale(.98)}
.edit-btn.edit-primary{background:#277bc1;border-color:#4aa9ee;color:#fff}
.edit-select{font-weight:800;font-variant-numeric:tabular-nums;min-width:89px}
.jump-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 17px}
.jump-controls .edit-btn{padding:10px 5px;font-variant-numeric:tabular-nums;font-size:14px}
.cut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cut-box{border:1px solid #315b7a;border-radius:13px;padding:12px;background:#102944;min-width:0}
.cut-box>label{display:block;color:#cce8fb;margin-bottom:8px;font-weight:850}
.time-input{font-size:15px!important;font-variant-numeric:tabular-nums;font-weight:850;padding:0 8px!important}
.mark-btn{width:100%;margin:10px 0 9px;background:#155983;border-color:#379cce;font-size:12px;padding:8px 4px}
.cut-adjust{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.cut-adjust button{border:1px solid #376789;background:#102b47;color:#cae7ff;border-radius:8px;min-height:35px;font-size:12px;padding:4px}
.trim-visual{position:relative;margin:18px 3px 15px;height:12px;border-radius:6px;background:#203d58;overflow:visible}
#trimHighlight{position:absolute;top:0;left:0;width:100%;height:100%;background:#42c6d9;border-radius:6px}
#trimCursor{position:absolute;top:-4px;left:0;width:3px;height:20px;border-radius:3px;background:#ffcf62;box-shadow:0 0 0 2px #10273b}
.selection-summary{justify-content:flex-start;gap:9px}
.selection-summary>span{flex:1 1 100%;color:#d7efff;font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}
.selection-summary .edit-btn{flex:1}
.archive-intro{font-size:13px;line-height:1.5;margin:8px 0 16px}

.folder-block>strong{font-size:14px;color:#c8eaff}


.checkbox-line{display:flex;align-items:center;gap:10px;font-size:13px;color:#d7e9f6;margin-top:13px;line-height:1.4}
.checkbox-line input{width:19px;height:19px;flex-shrink:0;accent-color:#36b2f1}
.archive-tools{margin:14px 0}
.archive-tools .field{flex:1;min-width:140px}
.archive-list{border-top:1px solid #305575;padding-top:6px}
.song-item{padding:15px 0;border-bottom:1px solid #2b4f6d}
.song-info{display:flex;gap:5px;flex-direction:column;margin-bottom:11px;overflow-wrap:anywhere}
.song-info strong{font-size:14px}
.song-info span{color:#9fb9cd;font-size:12px}
.song-controls{gap:8px}
.song-controls button{min-height:38px;padding:7px 11px}
.edit-btn.edit-delete{color:#ffcad1;border-color:#a35b6f;background:#47283a}
.saved-audio{display:block;width:100%;margin:10px 0 0;height:42px}
.save-state{width:100%;color:#8ce3c0;font-size:12px}
@media(max-width:520px){
 .selected-panel .video-shell{max-height:290px}
 .editor-line{gap:8px}
 .time-readout{font-size:11px}
 .cut-grid{gap:8px}
 .cut-box{padding:9px}
 .mark-btn{font-size:11px}
 
 .archive-tools .edit-btn{flex:1 0 100%}
 .selection-summary .edit-btn{padding-left:7px;padding-right:7px}
}


.tag-card{margin-top:18px;padding-top:16px;border-top:1px solid #2c4764}
.tag-head{margin-bottom:12px}
.tag-head h4{margin:0;font-size:15px}
.tag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px}
.cover-tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.cover-tools .edit-btn{flex:1 1 170px}
.cover-preview-box{display:flex;gap:12px;align-items:center;min-height:92px;padding:10px 0}
.cover-preview{width:78px;height:78px;border-radius:14px;border:1px solid #3b6487;object-fit:cover;background:#091b32;box-shadow:0 8px 18px #0000002a}
.song-row-top{display:flex;gap:12px;align-items:flex-start}
.song-cover{width:54px;height:54px;border-radius:12px;border:1px solid #345b7c;object-fit:cover;background:#0a1b30;flex:0 0 54px}
.song-meta{min-width:0;flex:1}
.song-meta strong,.song-meta div,.song-meta span{display:block;overflow-wrap:anywhere}
.song-file{color:#84aac8;font-size:12px;margin-top:2px}
.result-sub{color:#9ec9dd;font-size:12px;margin:-4px 0 8px}
@media(max-width:520px){
 .tag-grid{grid-template-columns:1fr;gap:10px}
 .cover-preview-box{align-items:flex-start}
 .song-row-top{gap:10px}
}

/* v4: comfortable typing, linked titles and clear separation of server/app folders */
.tag-link-row{margin:9px 0 0!important;font-size:12px!important}

.path-info>span{display:block;margin-bottom:6px;font-weight:800}


.cover-preview-box .cover-preview{width:96px;height:96px}

/* v5: tangible folder validation and independent local archive deletion */



.song-extra input{width:17px;height:17px;accent-color:#60c4ff}



.folder-actions .checkbox-line{margin-top:0;flex:1 1 100%}
