:root{color-scheme:dark;font-family:Inter,Pretendard,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Noto Sans KR,sans-serif;color:#f7f8fa;background:#05070a;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;--bg: #05070a;--panel: #10161b;--panel-2: #151b20;--panel-3: #1b2228;--line: #2a333b;--line-strong: #46525e;--text: #f7f8fa;--muted: #a8b0b8;--yellow: #ffd31a;--yellow-2: #cfa834;--green: #3ac66f;--red: #ec6a5e;--orange: #e7a338}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,textarea{font:inherit}button,a{text-decoration:none}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--bg)}.login-panel{width:min(430px,100%);border:1px solid var(--line);border-radius:8px;background:#0e1419f5;padding:30px}.login-panel.compact{min-height:160px;align-content:center}.login-brand{display:grid;gap:8px;margin-bottom:26px}.login-brand strong{color:var(--text);font-size:34px;line-height:1;font-weight:900}.login-brand span{color:var(--muted);font-size:14px;font-weight:700}.login-form{display:grid;gap:15px}.login-form label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.login-form input[type=text],.login-form input:not([type]),.login-form input[type=password]{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:8px;background:#0b1116;color:var(--text);padding:0 13px;outline:none}.login-form input:focus{border-color:var(--yellow)}.masked-text-input{-webkit-text-security:disc}.login-options{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}.login-options label{display:inline-flex;grid-template-columns:none;gap:8px;align-items:center;color:var(--text);font-size:13px;font-weight:800;cursor:pointer}.login-options input{width:18px;min-height:18px;height:18px;accent-color:var(--yellow);cursor:pointer}.login-form button,.primary-action,.download-action{min-height:50px;border-radius:8px;background:var(--yellow);color:#111417;font-weight:900;display:inline-flex;align-items:center;justify-content:center;padding:0 20px}.login-error,.inline-error,.upload-notice{margin:0;font-size:13px;font-weight:800}.login-error,.inline-error{color:#ff9a91}.upload-notice{color:var(--muted);text-align:center}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;gap:18px;padding:20px;background:var(--bg)}.app-header{display:grid;grid-template-columns:minmax(180px,260px) minmax(240px,1fr) auto;gap:18px;align-items:center;min-height:64px}.brand-block{display:grid;gap:5px}.brand-block strong{color:var(--text);font-size:28px;font-weight:900;line-height:1}.brand-block span{color:var(--muted);font-size:13px;font-weight:800}.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stepper span{min-height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffff09;color:var(--muted);font-size:13px;font-weight:900}.stepper span.active{border-color:var(--yellow);background:var(--yellow);color:#111417}.user-box{display:inline-flex;align-items:center;gap:8px;justify-self:end;border:1px solid var(--line);border-radius:8px;background:#ffffff09;padding:7px;color:var(--text);font-size:13px;font-weight:900}.user-box span{padding-left:6px}.user-box button,.ghost-action{min-height:36px;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--text);padding:0 12px;font-size:13px;font-weight:900}.upload-step,.focus-step{width:min(720px,100%);justify-self:center;align-self:center;display:grid;gap:26px;padding-bottom:8vh}.upload-copy{display:grid;gap:10px;text-align:center}.upload-copy span,.review-head span,.status-card span{color:var(--yellow);font-size:14px;font-weight:900}.upload-copy h1,.status-card h1,.review-head h1{margin:0;color:var(--text);font-size:clamp(32px,4vw,54px);line-height:1.05;font-weight:950}.upload-settings{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:12px}.setting-block{display:grid;gap:10px}.setting-block>span{color:var(--muted);font-size:13px;font-weight:900}.direction-buttons,.silence-buttons{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.direction-buttons button,.silence-buttons button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font-weight:950}.direction-buttons button.active,.silence-buttons button.active{border-color:var(--yellow);background:var(--yellow);color:#111417}.direction-buttons button{display:grid;gap:3px;place-items:center;padding:8px}.direction-buttons small{color:inherit;opacity:.72;font-size:11px;font-weight:900}.upload-button{min-height:260px;display:grid;place-items:center;border:2px dashed var(--line-strong);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer}.upload-button:hover{border-color:var(--yellow)}.upload-button.disabled{opacity:.6;pointer-events:none}.upload-button input{display:none}.upload-button strong{min-height:58px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--yellow);color:#111417;padding:0 28px;font-size:22px;font-weight:950}.status-card{min-height:340px;display:grid;justify-items:center;align-content:center;gap:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:34px;text-align:center}.status-card p{margin:0;color:var(--muted);font-weight:800}.status-filename{max-width:min(560px,100%);overflow-wrap:anywhere}.status-message{max-width:min(520px,100%);color:var(--text)!important;font-size:16px}.status-note{max-width:min(460px,100%);color:var(--muted)!important;font-size:13px;line-height:1.5}.progress-percent{color:var(--yellow);font-size:26px;font-weight:950;line-height:1}.progress-line{width:min(360px,100%);height:8px;overflow:hidden;border-radius:999px;background:var(--panel-3)}.progress-line i{display:block;width:0;height:100%;border-radius:inherit;background:var(--yellow);transition:width .35s ease}.progress-workflow{width:min(440px,100%);display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:6px}.progress-workflow span{min-height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:13px;font-weight:950}.progress-workflow span.active{border-color:#ffd32eb8;background:#ffd32e29;color:var(--yellow)}.progress-workflow span.done{border-color:#ffffff24;background:#ffffff14;color:var(--text)}.review-step{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px}.review-head{display:flex;align-items:end;justify-content:space-between;gap:18px}.review-head h1{font-size:clamp(30px,3.5vw,46px)}.decision-summary{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:8px}.decision-summary span{min-height:42px;display:grid;place-items:center;border-radius:8px;background:var(--panel);color:var(--text);font-size:14px;font-weight:900}.decision-summary .keep{color:var(--green)}.decision-summary .drop{color:var(--red)}.review-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(430px,100%)}.review-tabs button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:14px;font-weight:950}.review-tabs button.active{border-color:var(--yellow);background:var(--yellow);color:#111417}.review-grid{min-height:0;display:block}.segments-panel,.review-footer{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.decision-dot{display:inline-flex;border-radius:999px;padding:5px 10px;background:var(--panel-3);font-size:12px;font-weight:900}.decision-dot.keep{color:var(--green)}.decision-dot.drop{color:var(--red)}.segment-actions,.filter-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.filter-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.segment-actions button,.filter-buttons button{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:13px;font-weight:900}.segment-actions button.active.keep{border-color:#3ac66fb3;color:var(--green)}.segment-actions button.active.drop{border-color:#ec6a5eb3;color:var(--red)}.filter-buttons button.active{border-color:var(--yellow);color:var(--yellow)}.segments-panel{min-height:0;display:grid;grid-template-rows:auto 1fr;gap:10px;padding:10px}.segment-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:2px}.segment-row{overflow:hidden;border:1px solid var(--line);border-left-width:5px;border-radius:8px;background:var(--panel-2)}.segment-row.keep{border-left-color:var(--green)}.segment-row.drop{border-left-color:var(--red)}.segment-row.selected{border-color:var(--yellow)}.segment-row.playing{box-shadow:0 0 0 2px #ffd31a38}.segment-main{width:100%;display:grid;gap:12px;text-align:left;background:transparent;padding:18px}.segment-topline{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.segment-topline strong{color:var(--text);font-size:18px}.segment-topline em{margin-left:auto;color:var(--muted);font-size:13px;font-style:normal;font-weight:900}.segment-main p{margin:0;color:var(--text);font-size:17px;line-height:1.35}.segment-main ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.45}.segment-actions{border-top:1px solid var(--line);gap:1px}.segment-actions button{border:0;border-radius:0}.review-footer{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(280px,1fr) auto;gap:10px;padding:10px}.review-footer textarea{min-height:52px;max-height:120px;resize:vertical;border:1px solid var(--line-strong);border-radius:8px;background:#0b1116;color:var(--text);padding:13px;outline:none}.review-footer textarea:focus{border-color:var(--yellow)}.review-footer button{min-width:118px;min-height:52px;border-radius:8px;background:var(--panel-3);color:var(--text);font-weight:900}.finish-actions{display:grid;grid-template-columns:repeat(2,minmax(118px,auto));gap:8px}.finish-actions .primary-action{min-width:150px}.review-footer .primary-action{background:var(--yellow);color:#111417}.finish-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finish-summary strong,.finish-summary span{min-height:48px;display:grid;place-items:center;border-radius:8px;background:var(--panel-2);color:var(--text);font-weight:950}.finish-summary strong{color:var(--green)}.finish-summary span{color:var(--red)}.segment-audio-player{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.review-tab-panel{display:none}.review-tab-panel.active{display:grid}.review-footer.review-tab-panel.active{align-self:start}.download-action{min-width:220px;background:var(--green);color:#07110b}.toast{position:fixed;right:18px;bottom:18px;max-width:min(420px,calc(100vw - 36px));background:#7d1d18;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 14px;box-shadow:0 18px 40px #00000042;font-size:13px;font-weight:800}@media (min-width: 1101px){body{height:100vh;overflow:hidden}.app-shell{height:100vh}.review-step,.review-grid,.segments-panel,.review-tab-panel.active{overflow:hidden}}@media (max-width: 1100px){.app-header,.review-footer{grid-template-columns:1fr}.user-box{justify-self:start}.review-step{overflow:auto}}@media (max-width: 720px){.app-shell{gap:10px;padding:max(54px,env(safe-area-inset-top)) 10px 10px}.login-screen{min-height:100dvh;place-items:center;padding:max(92px,env(safe-area-inset-top)) 24px max(36px,env(safe-area-inset-bottom))}.login-panel{padding:22px}.login-panel:not(.compact){transform:translateY(clamp(-170px,-22dvh,-92px))}.app-header{position:sticky;top:max(42px,env(safe-area-inset-top));z-index:20;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0;padding-bottom:6px;background:#05070af5}.brand-block strong{font-size:22px}.brand-block{grid-column:1;grid-row:1}.brand-block span,.user-box span{display:none}.user-box{grid-column:2;grid-row:1;justify-self:end;align-self:center;border:0;background:transparent;padding:0}.stepper{grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:4px}.stepper span{min-height:30px;border:0;border-radius:6px;background:transparent;font-size:11px}.stepper span.active{background:var(--yellow);color:#111417}.user-box button,.ghost-action{min-height:34px;padding:0 10px;font-size:12px}.upload-step,.focus-step{align-self:start;gap:16px;padding-top:20px;padding-bottom:0;width:100%}.upload-copy{gap:4px;text-align:left}.upload-copy h1,.status-card h1,.review-head h1{font-size:30px}.upload-button{min-height:168px;border-style:solid}.upload-button strong{width:calc(100% - 34px);min-height:54px;font-size:18px}.status-card{min-height:310px;gap:16px;padding:22px}.review-head{display:grid;gap:10px}.review-head span{display:none}.review-step{grid-template-rows:auto auto minmax(0,1fr);gap:10px;overflow:visible}.decision-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.decision-summary span{min-height:34px;font-size:12px}.review-tabs{position:sticky;top:max(120px,calc(env(safe-area-inset-top) + 78px));z-index:15;gap:6px;padding:4px 0;background:#05070af5;width:100%}.review-tabs button{min-height:42px;font-size:14px}.review-grid{min-height:0}.segment-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.segments-panel,.segment-list{max-height:none}.segment-row{min-height:220px}.segment-main{padding:18px 16px}.segment-main p{font-size:17px;line-height:1.45}.review-footer{grid-template-columns:1fr;padding:10px}.review-footer textarea{min-height:110px}.review-footer button{width:100%}.finish-actions{grid-template-columns:1fr}}
