:root{color:#24485d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5fbfe;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}#root{width:100%;min-height:100svh}button,input{font:inherit}button:focus-visible,input:focus-visible,label:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #5db9dc61}.fatal-error{box-sizing:border-box;text-align:center;background:#f5fbfe;place-items:center;min-height:100vh;padding:24px;display:grid}.fatal-error>div{box-sizing:border-box;background:#fff;border:1px solid #d7eaf2;border-radius:22px;width:min(460px,100%);padding:42px 28px;box-shadow:0 20px 55px #347d9e1f}.fatal-error strong{color:#3688b4;letter-spacing:.15em}.fatal-error h1{color:#204e67;margin:16px 0 8px;font-size:28px}.fatal-error p{color:#6c8391}.fatal-error pre{color:#9c3434;text-align:left;background:#fff4f4;border-radius:8px;margin:16px 0 0;padding:10px;font:12px/1.45 ui-monospace,Consolas,monospace;overflow:auto}.fatal-error button{color:#fff;cursor:pointer;background:#3688b4;border:0;border-radius:12px;margin-top:22px;padding:12px 18px;font-weight:800}.brand-logo{color:#204e67;letter-spacing:.18em;align-items:center;gap:12px;font-size:15px;font-weight:900;text-decoration:none;display:inline-flex}.brand-mark{box-sizing:border-box;color:#fff;background:linear-gradient(150deg,#a3e0f5 0%,#5db9dc 50%,#3688b4 100%);border-radius:12px;place-items:center;width:42px;height:42px;padding:6px;display:grid;box-shadow:inset 0 0 0 1px #fff3,0 8px 20px #2786c93d}.brand-mark svg{width:100%;height:100%;overflow:visible}.brand-mark .bass-pickup{fill:#e1f6ff;stroke:#20516a2e;stroke-width:.8px}.brand-mark .bass-poles{fill:#347d9e;stroke:none}.brand-mark .bass-string{stroke:currentColor;opacity:.98}.brand-mark .bass-string-one{stroke-width:.95px}.brand-mark .bass-string-two{stroke-width:1.08px}.brand-mark .bass-string-three{stroke-width:1.22px}.brand-mark .bass-string-four{stroke-width:1.36px}.ad-rail-layout{background:#f5fbfe;min-height:100svh}.ad-rail-content{min-width:0}.ad-rail{display:none}@media (width>=1600px){.ad-rail-layout{grid-template-columns:160px minmax(0,1fr) 160px;gap:16px;padding-inline:16px;display:grid}.ad-rail{color:#6c8391;flex-direction:column;align-items:center;gap:8px;margin-top:150px;font-size:12px;display:flex}.ad-rail-label{letter-spacing:.08em}.ad-rail-placeholder{box-sizing:border-box;background:#fafdff;border:1px dashed #bdd9e6;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:160px;height:600px;display:flex}.ad-rail-placeholder small{font-size:10px}}@media print{.ad-rail-layout{padding:0;display:block}.ad-rail{display:none}}.analytics-consent{box-sizing:border-box;color:#284f64;background:#f6fbfe;border:1px solid #cce3ee;border-radius:16px;width:min(720px,100% - 24px);margin:16px auto 0;padding:14px 18px;font-size:13px;line-height:1.55}.analytics-consent p{margin:0 0 8px}.analytics-consent-title{color:#173f55}.analytics-consent-title span{background:#e1f0f8;border-radius:999px;margin-inline-start:5px;padding:2px 7px;font-size:11px}.analytics-consent-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.analytics-consent-actions .quiet-button{min-height:36px;font-size:inherit;padding-inline:13px}.analytics-consent-actions a{color:inherit;text-underline-offset:3px}.analytics-consent p:last-child{margin-bottom:0}.analytics-consent+.service-footer{margin-top:18px}:root{--sky-950:#204e67;--sky-800:#347d9e;--sky-700:#3688b4;--sky-600:#4ca7ca;--sky-500:#5db9dc;--sky-400:#86d0e9;--sky-200:#caeaf6;--sky-100:#e1f6ff;--sky-50:#f5fbfe;--ink:#24485d;--muted:#6c8391;--line:#d7eaf2;--paper:#fff}.public-app{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 82% 4%,#5db9dc38,#0000 27rem),radial-gradient(circle at 5% 38%,#a3e0f545,#0000 24rem),linear-gradient(#fbfeff 0%,#eff9fd 65%,#fbfdff 100%)}.public-app--result{height:100svh;min-height:0;overflow:hidden}.public-header{justify-content:space-between;align-items:center;width:min(1480px,100% - 40px);height:86px;margin:0 auto;display:flex}.hero-section{text-align:center;width:min(1020px,100% - 40px);margin:0 auto;padding:70px 0 96px}.hero-copy h1{color:var(--sky-950);letter-spacing:-.055em;margin:0;font-size:clamp(42px,6vw,72px);font-weight:820;line-height:1.12}.hero-copy h1 span{color:var(--sky-600)}.workflow-card{box-sizing:border-box;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #b3daeecc;border-radius:28px;width:min(720px,100%);margin:42px auto 0;padding:20px;box-shadow:0 26px 70px #256f9b21,0 2px 5px #33759b0d}.upload-panel{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.drop-zone{box-sizing:border-box;background:linear-gradient(#f7fdfff0,#edf9ffd1);border:1.5px dashed #a9d9ef;border-radius:20px;justify-content:center;align-items:center;min-height:250px;padding:28px;transition:border-color .16s,background .16s,transform .16s;display:flex;position:relative}.drop-zone.is-dragging{border-color:var(--sky-500);background:var(--sky-100);transform:scale(1.008)}.drop-zone:focus-within{border-color:var(--sky-600);outline-offset:3px;outline:3px solid #3eb2e833}.drop-zone.has-file{background:var(--sky-50);border-style:solid;justify-content:flex-start;gap:18px;min-width:0;min-height:118px}.drop-zone input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.empty-upload{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:190px;display:flex}.upload-icon,.file-icon{color:var(--sky-600);background:#fff;place-items:center;display:grid;box-shadow:0 10px 28px #3892c224}.upload-icon{border:1px solid #d8effa;border-radius:20px;width:62px;height:62px;margin-bottom:18px}.upload-icon svg{width:28px}.empty-upload strong{color:var(--sky-950);margin-bottom:7px;font-size:18px}.empty-upload small{color:var(--sky-700);background:#e2f5fd;border-radius:10px;margin-top:14px;padding:5px 10px;font-size:11px;font-weight:800}.upload-notices{width:fit-content;max-width:calc(100% - 8px);color:var(--ink);text-align:left;word-break:keep-all;margin:4px auto 0;font-size:12px;line-height:1.7}.upload-notices p{align-items:flex-start;gap:8px;margin:0;display:flex}.upload-notices p:before{content:"";background:currentColor;border-radius:50%;flex:0 0 4px;height:4px;margin-top:calc(.85em - 2px)}.upload-notices p+p{margin-top:4px}.service-footer{color:#8095a1;justify-content:center;align-items:center;gap:18px;width:min(1020px,100% - 40px);margin:-44px auto 0;padding:0 0 32px;font-size:11px;display:flex}.service-footer nav{align-items:center;gap:14px;display:flex}.service-footer-social{align-items:center;gap:5px;display:inline-flex}.service-footer-contacts{align-items:center;gap:20px;margin-inline-start:24px;display:flex}.service-footer a{color:#627f90;font-weight:700;text-decoration:none}.service-footer a:hover,.service-footer a:focus-visible{color:var(--sky-700);text-underline-offset:3px;text-decoration:underline}.file-icon{border-radius:18px;flex:none;width:58px;height:58px}.file-icon svg{width:27px}.file-copy{text-align:left;flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.file-copy strong{color:var(--sky-950);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.file-copy span{overflow-wrap:anywhere;color:#71879a;font-size:13px}.change-file{white-space:nowrap;border:1px solid var(--line);color:var(--sky-700);cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:9px 13px;font-size:13px;font-weight:800}.primary-button,.secondary-button,.quiet-button{font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--sky-500), var(--sky-700));border-radius:16px;min-height:58px;padding:0 22px;box-shadow:0 13px 28px #3688b43d}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px #3688b44d}.primary-button:disabled{color:#91a8b8;box-shadow:none;cursor:not-allowed;background:#e9f0f4}.primary-button svg,.secondary-button svg,.quiet-button svg{width:19px;height:19px}.analyze-button{width:100%;font-size:16px}.analyze-button svg:last-child{margin-left:auto}.primary-button.compact{border-radius:12px;min-height:44px;padding:0 17px;font-size:14px}.secondary-button,.quiet-button{min-height:44px;color:var(--sky-800);background:#ffffffd1;border:1px solid #d4e5ef;border-radius:12px;padding:0 17px}.secondary-button:hover,.quiet-button:hover{background:#fff;box-shadow:0 8px 18px #356c8d1a}.progress-panel{text-align:left;padding:16px 16px 10px}.progress-topline{color:var(--sky-950);justify-content:space-between;align-items:center;font-size:16px;font-weight:850;display:flex}.progress-topline>div{align-items:center;gap:9px;display:inline-flex}.progress-topline>strong{color:var(--sky-600);font-size:22px}.live-dot{background:#3eb2e8;border-radius:50%;width:9px;height:9px;animation:1.6s ease-in-out infinite pulse-dot;box-shadow:0 0 0 6px #3eb2e81f}.progress-file{color:#7b8e9d;text-overflow:ellipsis;white-space:nowrap;max-width:75%;margin:8px 0 16px;font-size:12px;overflow:hidden}.overall-progress{background:#e5f2f8;border-radius:999px;height:8px;overflow:hidden}.overall-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--sky-400), var(--sky-600));height:100%;transition:width .26s;display:block;box-shadow:0 0 16px #3aa7e859}.action-steps{margin-top:28px}.action-step{grid-template-columns:32px minmax(0,1fr) auto;gap:14px;min-height:62px;display:grid}.step-rail{justify-content:center;display:flex;position:relative}.step-marker{z-index:1;box-sizing:border-box;color:#8da0ad;background:#fff;border:1px solid #cfdee7;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.step-marker svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.action-step.done .step-marker{color:#fff;background:var(--sky-500);border-color:#72c7ed}.check-icon{stroke-width:3.1px!important}.action-step.active .step-marker{border-color:var(--sky-400);color:var(--sky-600);background:#fff;box-shadow:0 0 0 5px #46b0e41f}.spinner-track{opacity:.22;stroke-width:2.8px!important}.spinner-head{stroke-width:3.2px!important}.pending-dot{background:#b6c5ce;border-radius:50%;width:6px;height:6px}.step-line{background:#dbe8ef;width:1.5px;position:absolute;top:30px;bottom:-1px}.action-step.done .step-line{background:#91d2ee}.step-copy{flex-direction:column;gap:4px;padding-top:2px;display:flex}.step-copy strong{color:#53697b;font-size:14px}.action-step.active .step-copy strong{color:var(--sky-950)}.action-step.done .step-copy strong{color:var(--sky-700)}.step-state{color:#9cabb5;padding-top:4px;font-size:11px;font-weight:800}.action-step.active .step-state{color:var(--sky-600)}.action-step.done .step-state{color:#54a8cd}.spinner{animation:1s linear infinite spin}.error-panel{text-align:center;padding:50px 24px 38px}.error-icon{color:#b95959;background:#fff0f0;border-radius:18px;place-items:center;width:54px;height:54px;margin:0 auto 18px;font-size:24px;font-weight:900;display:grid}.error-panel h2{color:var(--sky-950);margin:0 0 8px;font-size:22px}.error-panel p{color:var(--muted);margin-bottom:24px;font-size:14px}.error-panel>div{justify-content:center;gap:10px;display:flex}.result-page{box-sizing:border-box;grid-template-rows:auto minmax(0,1060px);align-content:start;width:min(1480px,100% - 40px);height:calc(100svh - 86px);margin:0 auto;padding:12px 0 20px;display:grid}.result-toolbar{z-index:2;grid-template-columns:minmax(220px,470px) minmax(0,960px);justify-content:space-between;align-items:center;gap:20px;width:100%;margin:0 auto 16px;display:grid;position:relative}.result-title{text-align:left;min-width:0;margin:0}.result-title h1{max-width:100%;color:var(--sky-950);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(23px,2.5vw,33px);line-height:1.2;overflow:hidden}.mixer-card{box-sizing:border-box;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafeffe6;border:1px solid #bce0eeeb;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0;padding:10px 12px;display:grid;box-shadow:0 12px 30px #347d9e1f}.mixer-main{align-items:center;gap:16px;display:flex}.play-button{color:#fff;background:linear-gradient(145deg, var(--sky-500), var(--sky-700));cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 20px #3688b43d}.play-button svg{width:19px}.mixer-timeline{flex:1;min-width:0}.mixer-timeline span{color:#7f919e;font-size:11px}.timeline-row{grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;display:grid}.timeline-row input,.stem-controls input{width:100%;accent-color:var(--sky-600)}.stem-mixer{position:relative}.stem-mixer summary{box-sizing:border-box;border:1px solid var(--line);min-height:36px;color:var(--sky-800);cursor:pointer;background:#fff;border-radius:11px;align-items:center;padding:0 13px;font-size:12px;font-weight:850;list-style:none;display:inline-flex}.stem-mixer summary::-webkit-details-marker{display:none}.stem-mixer[open] summary{background:var(--sky-100)}.stem-controls{z-index:3;box-sizing:border-box;border:1px solid var(--line);background:#fffffffa;border-radius:14px;grid-template-columns:repeat(2,1fr);gap:10px 18px;width:min(420px,100vw - 44px);padding:16px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 42px #204e672b}.stem-controls label{gap:6px;display:grid}.stem-controls label>span{color:var(--sky-800);justify-content:space-between;font-size:11px;display:flex}.stem-controls small{color:#8a9ba7;font-weight:700}.stem-controls audio{display:none}.tab-paper{z-index:1;background:var(--paper);border:1px solid #dce9ef;border-radius:22px;min-height:0;position:relative;overflow:hidden;box-shadow:0 22px 60px #21597a1c}.tab-renderer-loading{min-height:180px;color:var(--sky-800);place-items:center;margin:0;font-weight:700;display:grid}.tab-paper .grid-vexflow-tab{padding:10px 0 20px;margin-top:0!important}.tab-paper .grid-vexflow-tab--playback{box-sizing:border-box;flex-direction:column;height:100%;display:flex;position:relative}.tab-paper .grid-vexflow-tab__scroll{scrollbar-color:#b6ddeb #f0f8fb;scrollbar-width:thin;justify-content:flex-start!important}.tab-paper .grid-vexflow-tab__scroll--playback{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;min-height:0;overflow-y:auto}.tab-paper .grid-vexflow-tab__canvas{margin:0 auto}.tab-paper .grid-vexflow-tab__active-measure{fill:#6fcbed1f;stroke:#3097c438;stroke-width:1.5px}.tab-paper .grid-vexflow-tab__playhead{stroke:#259dce;stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 0 4px #259dce57)}.tab-paper .grid-vexflow-tab__measure-target{cursor:pointer;stroke:none;outline:none}.tab-paper .grid-vexflow-tab__measure-target:focus{stroke:#259dceb8;stroke-width:2px;stroke-dasharray:7 5}.public-app button svg,.public-app .brand-mark svg,.public-app .upload-icon svg,.public-app .file-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:.75;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.public-app *,.public-app :before,.public-app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.public-app .spinner{animation-duration:1s!important;animation-iteration-count:infinite!important}}@media (width<=860px){.hero-section{padding-top:42px}.result-toolbar{grid-template-columns:minmax(160px,260px) minmax(0,1fr);gap:12px}}@media (width<=600px){.public-header{width:min(100% - 28px,1180px);height:70px}.public-header .quiet-button{padding:0 12px;font-size:12px}.hero-section{width:min(100% - 24px,1020px);padding:38px 0 60px}.hero-copy h1{margin-top:13px;font-size:41px}.workflow-card{border-radius:22px;margin-top:32px;padding:12px}.drop-zone{min-height:226px;padding:18px}.drop-zone.has-file{gap:12px;min-height:105px}.file-icon{border-radius:15px;width:48px;height:48px}.change-file{padding:8px 10px}.progress-panel{padding:12px 8px 4px}.action-step{grid-template-columns:30px minmax(0,1fr)}.step-state{display:none}.result-page{width:min(100% - 20px,1480px);height:calc(100svh - 70px);padding:10px 0 14px}.result-toolbar{margin-bottom:12px;display:block;position:static}.result-title{margin-bottom:14px}.result-title h1{font-size:24px}.mixer-card{width:100%;padding:8px 10px;top:8px}.stem-controls{grid-template-columns:1fr 1fr}.tab-paper{border-radius:16px}.service-footer{flex-direction:column;gap:9px;width:calc(100% - 24px);margin-top:-28px}.service-footer nav{gap:10px}.service-footer-contacts{margin:5px 0 0}}@media print{.public-header,.result-toolbar{display:none!important}.public-app,.result-page{background:#fff;width:100%;padding:0}.tab-paper{box-shadow:none;border:0}}.legal-page{color:#24485d;background:radial-gradient(circle at 86% 0,#5db9dc33,#0000 28rem),linear-gradient(#fbfeff 0%,#f1fafe 100%);min-height:100vh}.legal-header{justify-content:space-between;align-items:center;width:min(1480px,100% - 40px);height:86px;margin:0 auto;display:flex}.legal-home-link{box-sizing:border-box;color:#347d9e;background:#ffffffd1;border:1px solid #d4e5ef;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 17px;font-size:13px;font-weight:800;text-decoration:none;transition:box-shadow .15s,background .15s;display:inline-flex}.legal-home-link:hover,.legal-home-link:focus-visible{background:#fff;box-shadow:0 8px 18px #356c8d1a}.legal-document{box-sizing:border-box;background:#fffffff0;border:1px solid #d7eaf2;border-radius:28px;width:min(860px,100% - 40px);margin:20px auto 80px;padding:clamp(30px,5vw,62px);box-shadow:0 24px 70px #256f9b1c}.legal-tabs{flex-wrap:wrap;gap:8px;margin-bottom:48px;display:flex}.legal-tabs a{color:#6c8391;background:#f4f9fb;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:750;text-decoration:none}.legal-tabs a[aria-current=page]{color:#204e67;background:#e1f6ff}.legal-kicker{color:#4ca7ca;letter-spacing:.12em;margin:0 0 10px;font-size:11px;font-weight:900}.legal-document h1{color:#204e67;letter-spacing:-.045em;margin:0;font-size:clamp(34px,6vw,52px)}.legal-summary{color:#567080;max-width:680px;margin:20px 0 0;font-size:16px;line-height:1.8}.legal-effective-date{color:#7c919e;margin:18px 0 0;font-size:12px}.legal-sections{margin-top:52px}.legal-sections section{border-top:1px solid #e4f0f5;padding:30px 0}.legal-sections h2{color:#24485d;letter-spacing:-.025em;margin:0 0 14px;font-size:19px}.legal-sections p,.legal-sections li{color:#536d7c;font-size:14px;line-height:1.85}.legal-sections p{margin:8px 0}.legal-sections ul{margin:8px 0 0;padding-left:20px}.legal-sections li+li{margin-top:7px}.legal-sections a{color:#347d9e;font-weight:750}.legal-contact-missing{color:#a35445;font-weight:800}.legal-cache-controls{margin-top:18px}.legal-cache-actions{flex-wrap:wrap;gap:10px;display:flex}.legal-cache-actions button{color:#24485d;min-height:44px;font:inherit;cursor:pointer;background:#f4f9fb;border:1px solid #d4e5ef;border-radius:10px;padding:8px 14px;font-size:13px}.legal-cache-actions button:focus-visible{outline-offset:3px;outline:2px solid #347d9e}.legal-cache-actions button:disabled{opacity:.6;cursor:wait}.legal-cache-controls [role=status]:empty{display:none}@media (width<=600px){.legal-header{width:calc(100% - 28px);height:70px}.legal-home-link{padding:0 12px;font-size:12px}.legal-document{border-radius:22px;width:calc(100% - 24px);margin-top:8px;padding:26px 20px 34px}.legal-tabs{margin-bottom:38px}.legal-sections{margin-top:40px}}
