:root{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:#292337;background:#f8f6fb;font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:default}input,select,textarea{border:1px solid #e7e0ed;background:#fff;color:#292337;border-radius:9px;padding:9px 10px;min-height:38px;outline:0;width:100%;min-width:0}input:focus,textarea:focus,select:focus{border-color:#9874c9;box-shadow:0 0 0 2px #9470c61c}textarea{resize:vertical}button:focus-visible{outline:2px solid #9576c7;outline-offset:2px}.app{max-width:860px;min-height:100dvh;margin:0 auto;padding:17px 13px calc(85px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.app-header h1{font-size:21px;letter-spacing:-.6px;margin:0;font-weight:800}.app-header small{color:#9990a4;font-size:10px}.header-actions{display:flex;gap:5px;align-items:center}.genre-select{font-size:12px;width:128px;height:34px;min-height:34px;padding:5px 7px}.tiny-icon,.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;color:#7c6b96;flex-shrink:0;width:32px;height:34px;border-radius:8px}.tiny-icon:hover,.icon-button:hover{background:#f0ebf6}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.metrics>div{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;padding:13px 5px;border:1px solid #f0ecf3;border-radius:11px;min-height:69px}.metrics b{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}.metrics b span{font-size:11px;color:#aaa0b3;font-weight:500}.metrics small{font-size:10px;color:#897f96;margin-top:3px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:21px 0 9px}.section-title h2,.section-title h3{font-size:15px;margin:0;font-weight:750}.small-primary,.primary{display:flex;gap:6px;align-items:center;justify-content:center;border:0;background:#8565b6;color:#fff;border-radius:9px;font-weight:650}.small-primary{height:31px;padding:0 10px;font-size:12px}.primary{padding:11px;min-height:39px;width:100%}.secondary{border:0;background:#eee7f6;color:#7252a2;padding:10px 12px;border-radius:9px;display:flex;justify-content:center;align-items:center;gap:7px;font-weight:650;min-height:36px}.secondary.compact{font-size:11px;padding:6px 9px;min-height:29px}.soft-panel{background:#fff;border-radius:11px;border:1px solid #eee8f4;padding:2px 12px}.action-line{display:flex;width:100%;align-items:center;gap:10px;background:none;border:0;border-bottom:1px solid #f2eef5;padding:13px 3px;text-align:left}.action-line:last-child{border-bottom:0}.action-line>strong{margin-left:auto;color:#8162ae;font-size:12px}.action-line>svg:first-child{color:#896fb3}.line-row{display:flex;align-items:center;min-height:55px;padding:6px 2px;gap:5px;border-bottom:1px solid #eae6ed}.line-main{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;text-align:left;justify-content:center;border:0;background:transparent;padding:6px 2px;gap:5px}.line-main strong,.bookmark-text strong,.choreo-title strong{font-size:13px;font-weight:680;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.line-main small,.bookmark-text small,.choreo-title small{font-size:11px;color:#958b9f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.row-actions{display:flex;align-items:center}.link-button,.text-button{border:0;background:transparent;color:#825eaf;font-size:12px}.subtabs{display:flex;gap:5px;background:#eee8f4;border-radius:10px;padding:4px;margin-bottom:13px}.subtabs button{width:50%;background:transparent;border:0;border-radius:7px;padding:8px;font-size:12px;color:#86749e}.subtabs button.selected{background:#fff;color:#72509f;box-shadow:0 1px 3px #38214712;font-weight:700}.small-select{width:auto;min-height:30px;font-size:11px;padding:5px 4px;border:0;background:#f1eaf8;color:#7452a4}.filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.filters select{height:36px;min-height:36px;font-size:12px}.stack-list{margin-top:7px}.bookmark-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-bottom:1px solid #e9e4ef;padding:9px 0}.bookmark-image{width:92px;height:57px;border:0;background:#ebe7f1;border-radius:8px;overflow:hidden;flex:none;padding:0;display:grid;place-items:center;color:#8973a9}.bookmark-image img{width:100%;height:100%;object-fit:cover}.bookmark-text{flex:1;min-width:0;text-align:left;border:0;background:none;display:flex;flex-direction:column;gap:6px;padding:4px 0}.bookmark-details{flex:0 0 100%;padding:0 0 6px 101px}.bookmark-details p{font-size:12px;color:#62576c}.choreo-card{background:#fff;border:1px solid #eee8f2;border-radius:11px;padding:12px;margin:9px 0;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.choreo-title{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;text-align:left;border:0;background:none}.progress-count{font-size:11px;color:#7553aa}.bar{width:100%;height:5px;border-radius:10px;background:#eee9f3;overflow:hidden;margin:7px 0}.bar div{height:100%;background:#9371c4;border-radius:10px}.mini-segments{width:100%;display:flex;gap:5px;overflow-x:auto}.mini-segments button{background:#f4eff8;border:0;border-radius:7px;padding:7px 8px;font-size:11px;min-width:64px;white-space:nowrap}.mini-segments small{display:block;color:#91859c;margin-top:5px;font-size:10px}.empty{padding:22px 10px;text-align:center;font-size:12px;color:#9d93a8}.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;background:#fff;display:flex;align-items:center;justify-content:center;gap:0;border-top:1px solid #ece6f2;padding:6px max(12px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom));box-shadow:0 -5px 17px #43236208}.bottom-nav button{width:20%;max-width:145px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;background:none;border:0;font-size:10px;color:#9a90a3;padding:5px 2px;min-height:48px}.bottom-nav button.active{color:#7956ad;font-weight:750}.veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e13264c;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:0;overflow:hidden}.modal{width:100%;max-width:560px;max-height:min(91dvh,850px);background:#fff;border-radius:17px 17px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 45px #26133328}.modal-head{height:50px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0edf3;padding:0 14px}.modal-head strong{font-size:15px}.modal-body{overflow-y:auto;overscroll-behavior:contain;padding:15px 14px max(20px,env(safe-area-inset-bottom));min-width:0}.form-stack{display:flex;flex-direction:column;gap:12px;min-width:0}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field span{font-size:11px;color:#887c93;font-weight:650}.field input,.field select,.field textarea{font-size:16px}@media(min-width:750px){.field input,.field select,.field textarea{font-size:13px}.modal{border-radius:15px;max-height:86dvh}.veil{align-items:center;padding:20px}.app{padding:24px 25px 100px}}.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.inline{display:flex;gap:7px}.inline>.primary{width:auto}.section-title h3{font-size:13px}.segment-strip{display:flex;overflow-x:auto;gap:5px}.segment-strip button{padding:9px;min-width:72px;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;border-radius:8px;background:#f2edf7;white-space:nowrap}.segment-strip button.selected{background:#e3d4f2;color:#6d499f;font-weight:700}.segment-strip small{color:#9684a6}.segment-editor{padding:12px;background:#faf8fc;border-radius:10px;display:flex;flex-direction:column;gap:11px}.editor-tools{display:flex;justify-content:flex-end;gap:6px}.editor-tools button,.step-bottom button{border:0;border-radius:6px;background:#ece5f3;padding:8px;display:grid;place-items:center}.step-editor{background:#f9f7fb;padding:9px;border-radius:9px;display:flex;flex-direction:column;gap:7px}.step-bottom{display:flex;gap:5px}.step-bottom input{width:64px}.step-bottom select{flex:1}.video-area{display:flex;flex-direction:column;gap:7px;max-width:100%}.video-thumb{position:relative;padding:0;border:0;background:#211b29;border-radius:10px;overflow:hidden;aspect-ratio:16/9;width:100%;max-width:375px}.video-thumb img{width:100%;height:100%;object-fit:cover}.video-thumb svg{position:absolute;left:calc(50% - 14px);top:calc(50% - 14px);color:#fff;filter:drop-shadow(0 1px 5px #000)}iframe{width:100%;max-width:375px;aspect-ratio:16/9;border:0;border-radius:10px}.text-link{display:flex;align-items:center;gap:4px;color:#7753ae;text-decoration:none;font-size:12px}.hint{font-size:12px;color:#988ba2;line-height:1.6;margin:0}.divider{height:1px;background:#eee8f4}.file-label{cursor:pointer}.danger-text{border:0;background:none;color:#79578e;display:flex;gap:6px;align-items:center;justify-content:center;padding:8px}.toast{position:fixed;z-index:40;bottom:calc(78px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);max-width:90vw;background:#30293d;color:#fff;border-radius:9px;padding:11px 16px;text-align:center;box-shadow:0 4px 15px #0002;font-size:12px}@media(max-width:749px){.modal input:not([type=checkbox]):not([type=range]),.modal select,.modal textarea{font-size:16px!important}}html,body,#root{max-width:100%;overflow-x:hidden}.veil,.modal,.modal-body,.form-stack,.seq-studio,.studio-root{min-width:0;max-width:100%}.modal-body{overflow-x:hidden}.cols>*,.step-bottom>*,.seq-step-controls>*{min-width:0}.tap-bpm{position:relative;flex:none}.tap-toggle{height:38px;min-width:67px;border:1px solid #d6c7e9;border-radius:9px;background:#f4eff9;color:#7553a4;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px}.tap-toggle.selected{background:#e6daf4}.tap-panel{position:absolute;z-index:5;right:0;top:43px;width:min(270px,calc(100vw - 54px));padding:12px;background:#fff;box-shadow:0 8px 28px #30204130;border:1px solid #eee6f3;border-radius:11px;display:flex;flex-direction:column;align-items:stretch;gap:10px}.tap-heading{display:flex;align-items:center;justify-content:space-between}.tap-heading strong{font-size:12px}.tap-heading button{display:flex;align-items:center;gap:3px;border:0;background:transparent;font-size:11px;color:#8668ae}.tap-reading{display:flex;align-items:baseline;justify-content:center;gap:8px;color:#7651ac}.tap-reading b{font-size:30px}.tap-reading span,.tap-panel small{font-size:11px;color:#91869e;text-align:center}.tap-pad,.tap-apply{border:0;border-radius:8px;padding:11px 6px;font-weight:700}.tap-pad{background:#865fb9;color:#fff;min-height:58px}.tap-apply{background:#eee7f7;color:#7957ad}.tap-apply:disabled{opacity:.4}.studio-bpm-row,.seq-bpm-row{display:flex;align-items:flex-end;gap:7px;min-width:0}.studio-bpm-row>.field,.seq-bpm-row>.field{flex:1;min-width:0}.music-library{min-width:0}.music-form{display:flex;flex-direction:column;gap:10px;border:1px solid #eee7f4;background:#fff;border-radius:10px;padding:12px;margin:10px 0}.music-preview{display:flex;align-items:center;gap:8px}.music-preview img{width:92px;aspect-ratio:16/9;object-fit:cover;border-radius:7px}.music-preview small{font-size:11px;color:#92869e}.music-bpm-row{display:flex;align-items:flex-end;gap:7px}.music-bpm-row>.field{flex:1;min-width:0}.music-check{display:flex;align-items:center;gap:7px;font-size:12px}.music-check input{width:16px;height:16px;min-height:16px;accent-color:#8565b6}.music-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-bottom:1px solid #eae5ee;padding:9px 0}.music-art{width:88px;height:52px;flex:none;border:0;background:#ede7f4;border-radius:8px;display:grid;place-items:center;overflow:hidden;color:#8264a6;padding:0}.music-art img{width:100%;height:100%;object-fit:cover}.music-info{flex:1;min-width:0;border:0;background:none;text-align:left;display:flex;flex-direction:column;gap:5px}.music-info strong,.music-info small{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.music-info strong{font-size:13px}.music-info small{font-size:11px;color:#91859e}.music-expanded{flex:0 0 100%;min-width:0}.music-expanded iframe{width:100%;max-width:100%;aspect-ratio:16/9;border:0;border-radius:8px}.music-expanded p{font-size:12px}.music-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.music-actions button,.music-actions a{display:flex;align-items:center;gap:4px;border:0;background:#eee8f5;border-radius:7px;color:#7957a6;padding:8px;text-decoration:none;font-size:11px}.music-form input,.music-form textarea{font-size:16px!important}.studio-root{display:flex;flex-direction:column;gap:11px;min-width:0}.studio-modes{display:flex;background:#eee8f4;padding:4px;gap:4px;border-radius:9px}.studio-modes button{flex:1;border:0;background:transparent;padding:9px 6px;border-radius:7px;font-size:12px;color:#806c9b}.studio-modes button.active{background:#fff;color:#7150a3;font-weight:750;box-shadow:0 1px 3px #38214712}.studio-video-frame{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:10px;background:#17151c}.studio-video-mount,.studio-video-frame iframe{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important}.studio-video-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#ded7e8;font-size:12px}.studio-external{color:#7554a4;text-decoration:none;display:flex;gap:5px;align-items:center;font-size:11px}.studio-controls{display:flex;align-items:center;gap:6px}.studio-controls button{display:flex;justify-content:center;align-items:center;gap:5px;border:0;background:#eee8f4;color:#7250a3;border-radius:8px;padding:9px 8px;white-space:nowrap;font-size:11px;min-height:36px}.studio-controls button.active{background:#e0d2f0}.studio-controls button:disabled{opacity:.4}.studio-controls select{width:74px;margin-left:auto;font-size:12px;min-height:36px}.studio-hint{font-size:11px;color:#988ba2;margin:3px 0;line-height:1.5}.studio-edit{display:flex;flex-direction:column;gap:10px}.studio-heading,.studio-segment-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-heading strong{font-size:13px}.studio-strip{min-height:45px}.studio-segment{background:#faf8fc;border-radius:10px;padding:11px;display:flex;flex-direction:column;gap:10px;min-width:0}.studio-segment-title span{font-size:11px;color:#887996}.studio-steps{display:flex;flex-direction:column;gap:5px;font-size:12px}.studio-save{margin-top:5px}.studio-root .field input,.studio-root .field select{font-size:16px}@media(min-width:750px){.studio-root .field input,.studio-root .field select{font-size:13px}}.studio-count-panel{display:flex;flex-direction:column;gap:9px;min-width:0}.studio-count-edit{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#77618f}.studio-count-edit label{display:flex;align-items:center;gap:7px;font-size:11px}.studio-count-edit input{width:70px;min-width:0;font-size:16px!important}.studio-music-picker{background:#f8f5fb;padding:9px;border-radius:9px;display:flex;flex-direction:column;gap:7px;min-width:0}.studio-music-results{display:flex;flex-direction:column;max-height:220px;overflow-y:auto}.studio-music-result{border:0;border-bottom:1px solid #eae3f1;background:transparent;text-align:left;padding:8px 4px;display:flex;flex-direction:column;gap:3px;min-width:0}.studio-music-result strong{font-size:12px}.studio-music-result small{font-size:11px;color:#8d7a9c}.studio-music-picker input{font-size:16px!important}.coach-root{display:flex;flex-direction:column;gap:10px;min-width:0}.coach-upload{display:flex;gap:6px;align-items:center;background:#eee7f5;color:#7956ac;border-radius:8px;padding:10px;font-size:12px;font-weight:700;cursor:pointer}.coach-upload input{display:none}.coach-track{display:flex;align-items:center;gap:7px;min-width:0}.coach-track strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-player{display:flex;align-items:center;gap:8px}.coach-player button{border:0;border-radius:8px;padding:9px;background:#e9def5;color:#7550a8;white-space:nowrap;font-size:12px}.coach-player input{flex:1;min-width:0}.coach-player small{font-size:11px;color:#887b96}.coach-guide{display:flex;flex-direction:column;align-items:center;gap:7px;background:#f5f0fa;padding:13px;border-radius:10px}.coach-guide-head{width:100%;display:flex;justify-content:space-between;gap:8px}.coach-guide-head strong{font-size:12px}.coach-guide small{font-size:11px;color:#8c7d9a}.coach-current{font-size:22px;color:#7350a6}.coach-dots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;width:100%;margin-top:6px}.coach-dots span{aspect-ratio:1;border-radius:50%;background:#e2d6ee;color:#8a79a0;display:grid;place-items:center;font-size:12px}.coach-dots span.active{background:#865fb7;color:#fff}.coach-settings{display:flex;flex-direction:column;gap:9px}.coach-choices{display:flex;background:#eee8f4;border-radius:9px;padding:3px;gap:4px}.coach-choices button{flex:1;padding:7px 4px;border:0;border-radius:7px;background:transparent;color:#795e9e;font-size:11px}.coach-choices button.active{background:#fff;font-weight:700}.coach-settings>label{display:flex;align-items:center;gap:7px;font-size:12px}.coach-settings input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:#815caf}.coach-volume span{min-width:65px}.coach-volume input{flex:1}.coach-volume small{width:32px;text-align:right;font-size:10px;color:#8f849d}.seq-studio{display:flex;flex-direction:column;gap:11px;min-width:0}.seq-modes{display:flex;background:#eee8f4;border-radius:9px;padding:4px;gap:4px}.seq-modes button{flex:1;border:0;background:transparent;color:#806c9b;padding:9px 6px;border-radius:7px;font-size:12px}.seq-modes button.active{background:#fff;color:#7150a3;font-weight:750;box-shadow:0 1px 3px #38214712}.seq-stage{background:#f4eff9;border-radius:11px;padding:24px 10px;min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;text-align:center}.seq-stage span,.seq-stage small{font-size:11px;color:#83738f}.seq-stage strong{font-size:23px;overflow-wrap:anywhere}.seq-stage b{font-size:19px;color:#805bb5}.seq-player-buttons{display:flex;gap:7px}.seq-player-buttons .primary{flex:1}.seq-player-buttons .secondary{flex:0 0 auto}.seq-options{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px;align-items:center}.seq-options label{font-size:11px;display:flex;gap:6px;align-items:center}.seq-options input[type=checkbox]{width:15px;height:15px;min-height:0;accent-color:#8260b5}.seq-options input[type=range]{padding:0;min-height:25px;accent-color:#8260b5}.seq-practice-list{display:flex;flex-direction:column;gap:3px}.seq-practice-item{display:flex;justify-content:space-between;gap:6px;padding:9px;border-radius:7px;font-size:12px}.seq-practice-item.active{background:#e8def5;color:#7450a6;font-weight:700}.seq-practice-item small{color:#8e8299}.seq-edit-header{display:flex;justify-content:space-between;align-items:center}.seq-step{background:#faf8fc;padding:9px;border-radius:9px;display:flex;flex-direction:column;gap:7px}.seq-step-controls{display:flex;gap:5px}.seq-step-controls>input{width:64px;flex-shrink:0}.seq-step-controls>select{flex:1}.seq-step-controls button{border:0;background:#ece5f3;border-radius:6px;padding:8px;display:grid;place-items:center}.seq-studio .field input,.seq-studio .field select{font-size:16px}@media(min-width:750px){.seq-studio .field input,.seq-studio .field select{font-size:13px}}.seq-step{min-width:0;max-width:100%;overflow:hidden}.seq-step>select{min-width:0;max-width:100%}.seq-step-controls{min-width:0;max-width:100%;display:grid;grid-template-columns:minmax(55px,70px) minmax(0,1fr) repeat(3,34px);gap:5px}.seq-step-controls>input{width:100%;min-width:0}.seq-step-controls>select{width:100%;min-width:0}.seq-step-controls button{min-width:0;padding:6px}@media(max-width:390px){.seq-step-controls{grid-template-columns:minmax(48px,60px) minmax(0,1fr) repeat(3,31px);gap:4px}}
