*{box-sizing:border-box;margin:0;padding:0}body{background:#080808}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#333;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#ff6b35}input[type=number]::-webkit-inner-spin-button{opacity:.35}input[type=number]::-webkit-outer-spin-button{opacity:.35}@keyframes rowIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes jumpGlow{0%{background:#ff6b352e}to{background:0 0}}@keyframes spin{to{transform:rotate(360deg)}}.marker-row{transition:background .1s}.header-container{z-index:1;width:100%;max-width:860px;margin-bottom:36px;position:relative}.header-title-container{align-items:baseline;gap:14px;margin-bottom:4px;display:flex}.header-mark{letter-spacing:-.5px;color:#fff;font-family:Syne,sans-serif;font-size:26px;font-weight:800}.header-subtitle{letter-spacing:4px;color:#ff6b35;font-family:Syne,sans-serif;font-size:26px;font-weight:400}.header-divider{background:#ff6b35;width:32px;height:2px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#111;border:1px solid #333;border-radius:8px;width:90%;max-width:400px;padding:24px;animation:.15s scaleIn;box-shadow:0 10px 30px #00000080}.modal-title{color:#fff;letter-spacing:1px;margin-bottom:12px;font-family:Syne,sans-serif;font-size:18px;font-weight:700}.modal-message{color:#aaa;margin-bottom:24px;font-size:13px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-btn{cursor:pointer;border-radius:4px;padding:8px 16px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:all .15s}.modal-btn-cancel{color:#aaa;background:0 0;border:1px solid #444}.modal-btn-cancel:hover{color:#ccc;border-color:#666}.modal-btn-confirm{color:#000;background:#ff6b35;border:1px solid #ff6b35;font-weight:600}.modal-btn-confirm:hover{background:#ff8c5a;border-color:#ff8c5a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dropzone-container{text-align:center;cursor:pointer;background:#0e0e0e;border:1.5px dashed #333;border-radius:8px;padding:64px 32px;transition:all .2s}.dropzone-container.drag-over{background:#ff6b350d;border-color:#ff6b35}.dropzone-loading{flex-direction:column;align-items:center;gap:12px;display:flex}.dropzone-spinner{border:2px solid #333;border-top-color:#ff6b35;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.dropzone-loading-text{color:#666;letter-spacing:2px;font-size:12px}.dropzone-icon{opacity:.25;margin-bottom:12px;font-size:36px}.dropzone-title{color:#777;letter-spacing:3px;margin-bottom:6px;font-size:12px}.dropzone-subtitle{color:#444;letter-spacing:2px;font-size:11px}.dropzone-input{display:none}.file-info-container{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.file-info-details{align-items:center;gap:10px;display:flex}.file-info-status-dot{width:7px;height:7px;box-shadow:none;background:#444;border-radius:50%;transition:all .25s}.file-info-status-dot.playing{background:#ff6b35;box-shadow:0 0 7px #ff6b35}.file-info-name{color:#aaa;letter-spacing:1px;font-size:12px}.file-info-separator{color:#666;font-size:11px}.file-info-duration{color:#888;letter-spacing:1px;font-size:11px}.file-info-unload-btn{color:#aaa;letter-spacing:2px;cursor:pointer;background:0 0;border:1px solid #3a3a3a;border-radius:3px;padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:all .15s}.file-info-unload-btn:hover{color:#ff6b35;border-color:#ff6b35}.time-ruler-container{width:100%;height:14px;margin-bottom:4px;position:relative}.time-ruler-label{color:#777;letter-spacing:0;font-size:9px;position:absolute;top:0;transform:translate(-50%)}.time-ruler-label:first-child{transform:translate(0)}.time-ruler-label:last-child{transform:translate(-100%)}.transport-container{background:#0e0e0e;border:1px solid #1e1e1e;border-radius:6px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.transport-btn,.transport-btn-stop{cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;transition:all .12s;display:flex}.transport-btn{font-weight:700}.transport-btn.playing{color:#ff6b35;background:#1e1e1e;border:1px solid #333}.transport-btn.paused{color:#000;background:#ff6b35;border:none}.transport-btn-stop{color:#ccc;background:0 0;border:1px solid #3a3a3a}.transport-btn-stop:hover{color:#ff6b35;border-color:#ff6b35}.transport-current-time{letter-spacing:.5px;color:#ff6b35;flex-shrink:0;min-width:120px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500}.transport-scrubber{cursor:pointer;background:#1e1e1e;border-radius:3px;flex:1;height:5px;position:relative;overflow:hidden}.transport-scrubber-fill{background:#ff6b35;border-radius:3px;height:100%}.transport-total-time{color:#aaa;letter-spacing:1px;flex-shrink:0;font-size:11px}.transport-speed-select{color:#ccc;letter-spacing:1px;cursor:pointer;background:#111;border:1px solid #3a3a3a;border-radius:3px;flex-shrink:0;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:11px}.mark-button-container{align-items:stretch;gap:10px;margin-bottom:24px;display:flex}.mark-button-main{letter-spacing:6px;cursor:pointer;border-radius:6px;flex:1;padding:16px 0;font-family:Syne,sans-serif;font-size:19px;font-weight:800;transition:all .1s}.mark-button-main.flashing{color:#000;background:#ff6b35;border:1.5px solid #ff6b35;box-shadow:0 0 28px #ff6b3566}.mark-button-main.idle{color:#ff6b35;box-shadow:none;background:#141414;border:1.5px solid #2e2e2e}.mark-button-hint{color:#555;letter-spacing:2px;text-align:center;background:#0e0e0e;border:1px solid #1e1e1e;border-radius:6px;flex-direction:column;justify-content:center;padding:0 14px;font-size:9px;line-height:2.3;display:flex}.markers-list-container{background:#0c0c0c;border:1px solid #2a2a2a;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0006}.markers-list-header{letter-spacing:1.5px;color:#bbb;border-bottom:1px solid #2a2a2a;grid-template-columns:38px 46px 1fr 126px 108px 58px;align-items:center;padding:10px 14px;font-size:11px;font-weight:600;display:grid}.markers-list-header-dbl{color:#ff6b35dc}.markers-list-content{max-height:360px;overflow-y:auto}.markers-list-empty{text-align:center;color:#aaa;letter-spacing:1.5px;padding:38px;font-size:13px;font-weight:500}.marker-row{cursor:default;-webkit-user-select:none;user-select:none;border-bottom:1px solid #1a1a1a;grid-template-columns:38px 46px 1fr 126px 108px 58px;align-items:center;padding:8px 14px;transition:background .15s;display:grid}.marker-row:hover{background:#151515}.marker-row.jumping{animation:.7s forwards jumpGlow}.marker-row.new{animation:.15s rowIn}.marker-idx{color:#888;font-size:12px}.marker-order{color:#ff8357cc;font-size:11px;font-weight:700}.marker-input{color:#fff;letter-spacing:.5px;cursor:text;-webkit-user-select:text;user-select:text;background:0 0;border:none;border-bottom:1px solid #444;outline:none;width:80%;padding:3px 4px;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:600;transition:border-color .15s}.marker-input:focus{background:#ff6b350d;border-bottom-color:#ff6b35}.marker-time{color:#aaa;font-size:12px;font-weight:500}.marker-play-hint{letter-spacing:1.5px;font-size:10px;transition:color .2s}.marker-play-hint.jumping{color:#ff6b35}.marker-play-hint.idle{color:#777}.marker-btn{color:#aaa;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;transition:all .1s}.marker-btn:hover{color:#eee;border-color:#eee}.marker-btn-del:hover{color:#ff4747;border-color:#ff4747}.markers-list-footer{background:#0f0f0f;border-top:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.markers-list-count{color:#aaa;letter-spacing:1px;font-size:12px;font-weight:500}.markers-list-footer-actions{gap:10px;display:flex}.marker-btn-clear{color:#bbb;letter-spacing:1.5px;padding:5px 14px}.marker-btn-clear:hover{color:#ff4747;border-color:#ff4747}.marker-btn-export{color:#111;letter-spacing:1.5px;cursor:pointer;background:#ff6b35;border:none;border-radius:4px;padding:5px 18px;font-family:Syne,sans-serif;font-size:11px;font-weight:800;transition:all .15s}.marker-btn-export:hover{background:#ff8c5a;transform:translateY(-1px)}.app-container{color:#f7f7f7;background:#0c0c0c;flex-direction:column;align-items:center;min-height:100vh;padding:32px 20px 60px;font-family:IBM Plex Mono,monospace;display:flex;position:relative}.app-grid-bg{pointer-events:none;z-index:0;background-image:linear-gradient(#ff6b350d 1px,#0000 1px),linear-gradient(90deg,#ff6b350d 1px,#0000 1px);background-position:50%;background-size:50px 50px;position:fixed;inset:0}.app-content{z-index:1;width:100%;max-width:900px;position:relative}.waveform-wrapper{background:#050505;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;padding:6px;position:relative;box-shadow:0 4px 20px #0009}.waveform-loading{color:#ff6b35;letter-spacing:2px;font-size:12px;font-weight:700;position:absolute;bottom:8px;right:12px}.hotkey-legend{color:#888;letter-spacing:1px;text-align:center;margin-top:18px;font-size:12px;line-height:2.2}.light-mode .app-container{color:#5a5a5a;background:#f7f7f7}.light-mode .app-grid-bg{background-image:linear-gradient(#ff6b351a 1px,#0000 1px),linear-gradient(90deg,#ff6b351a 1px,#0000 1px)}.light-mode .header-mark{color:#5a5a5a}.light-mode .waveform-wrapper{background:#eaeaea;border-color:#d0d0d0;box-shadow:0 4px 20px #0000001a}.light-mode .markers-list-container{background:#fbfbfb;border-color:#d0d0d0;box-shadow:0 4px 12px #0000001a}.light-mode .markers-list-header{color:#888;border-bottom-color:#d0d0d0}.light-mode .marker-row{border-bottom-color:#eaeaea}.light-mode .marker-row:hover{background:#f1f1f1}.light-mode .marker-input{color:#5a5a5a;border-bottom-color:#ccc}.light-mode .markers-list-footer{background:#f4f4f4;border-top-color:#d0d0d0}.light-mode .marker-btn{color:#7a7a7a;border-color:#ccc}.light-mode .marker-btn:hover{color:#5a5a5a;border-color:#5a5a5a}.light-mode .time-ruler-container{border-color:#d0d0d0}.light-mode .playback-input-container input{color:#5a5a5a;background:#fff;border-color:#ccc}.theme-toggle{z-index:100;position:absolute;top:16px;right:20px}.theme-toggle button{color:#aaa;cursor:pointer;background:0 0;border:1px solid #7a7a7a;border-radius:4px;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:11px}.light-mode .theme-toggle button{color:#666;border-color:#ccc}.light-mode .mark-button-main.flashing{color:#fff}.light-mode .mark-button-main.idle{color:#ff6b35;background:#fdfdfd;border-color:#d0d0d0}.light-mode .mark-button-hint{color:#777;background:#eaeaea;border-color:#d0d0d0}.light-mode .transport-container{background:#fdfdfd;border-color:#d0d0d0}.light-mode .transport-btn.paused{color:#fff}.light-mode .transport-btn.playing{background:#f0f0f0;border-color:#ccc}.light-mode .transport-btn-stop{color:#777;border-color:#ccc}.light-mode .transport-scrubber{background:#dcdcdc}.light-mode .transport-total-time{color:#777}.light-mode .transport-speed-select{color:#5a5a5a;background:#fff;border-color:#ccc}.light-mode .file-info-container{background:#fdfdfd;border-color:#ccc}.light-mode .file-name{color:#5a5a5a}.light-mode .file-hz{color:#888;background:#eaeaea}.light-mode .dropzone-container{background:#f9f9f9;border-color:#ccc}.light-mode .dropzone-container:hover{background:#f4f4f4;border-color:#ff6b35}.light-mode .hotkey-legend{color:#7a7a7a}
