:root{font-family:'Pretendard Variable',Arial,sans-serif;font-size:16px;color:#182720;background:#f5f7f5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#fff;color:#182720;border:1px solid #cdd8d0;border-radius:7px;padding:10px 14px;font-size:13px;font-weight:600}button:disabled{opacity:.45;cursor:default}button:hover:enabled{border-color:#00663a}.primary{background:#00663a;color:white;border-color:#00663a}header{background:white;border-bottom:1px solid #dfe5e1;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}a{color:inherit}header a{text-decoration:none}.brand{font-size:18px;font-weight:800}.brand span{color:#00663a}main{max-width:1800px;margin:auto;padding:28px}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:28px;align-items:start}.panel{background:white;border:1px solid #dfe5e1;padding:24px}.panel h1{margin:0;font-size:24px}.panel h2{font-size:13px}.secondary{color:#67796e;font-size:13px;line-height:1.7}.google-status{margin:18px 0}.mode{display:flex;margin:14px 0}.mode button{flex:1}.mode .active{background:#e6f9ed;color:#00663a}label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}input,textarea,select{width:100%;border:1px solid #cdd8d0;border-radius:6px;background:white;padding:11px;font-size:13px;color:#182720}input:focus,textarea:focus,select:focus{outline:2px solid #00a563;outline-offset:1px}small{display:block;font-size:12px;line-height:1.65;color:#6d7c72;margin-top:7px}.optional{font-weight:400;color:#839188;font-size:11px;margin-left:4px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.actions button{flex:1}details{margin-top:22px}summary{cursor:pointer;font-size:13px}.rules{font-size:12px;line-height:1.9;color:#52665a;padding-left:18px}.toolbar,.review-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.toolbar h2,.review-heading h2{font-size:18px;margin:0}.stage{font-size:11px;background:#e8efea;border:1px solid #d4e0d7;color:#506858;border-radius:5px;padding:7px 10px;white-space:nowrap}.lesson-list{border:1px solid #dfe5e1;border-radius:10px;background:white;margin:16px 0 28px;max-height:320px;overflow:auto}.lesson-entry{padding:16px;border-bottom:1px solid #edf1ed;display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) auto;gap:12px;align-items:center}.lesson-entry:last-child{border-bottom:0}.lesson-entry.selected{background:#f0f8f2}.lesson-name{font-size:13px;font-weight:650;overflow-wrap:anywhere}.lesson-name small{font-weight:400}.empty{padding:50px 20px;text-align:center;color:#88968b;font-size:13px;line-height:1.9}.table-wrap{overflow:auto;background:white;border:1px solid #dfe5e1;border-radius:10px;margin-top:14px}table{width:100%;min-width:1160px;border-collapse:collapse;text-align:left;font-size:12px}th{padding:13px 12px;background:#eef2ef;font-size:12px;font-weight:650;white-space:nowrap}td{padding:12px;vertical-align:top;border-top:1px solid #e7ece8}td textarea{width:100%;min-height:90px;resize:vertical;line-height:1.75;font-size:13px;padding:9px}td:nth-child(1){min-width:160px;width:160px}td:nth-child(2){width:120px}td:nth-child(3){width:125px}td:nth-child(4),td:nth-child(5){min-width:300px;width:30%}td:nth-child(6){width:100px}td input{padding:7px;min-width:68px}td select{font-size:11px;padding:8px}.unused .full-text{text-decoration:line-through;color:#8c948d}.uncertain{background:#fffaf0}.rt-edit{display:flex;gap:5px;align-items:center}.play{margin-top:8px;padding:5px 8px;font-size:11px}.source-info{font-size:11px;margin-top:8px;line-height:1.6;max-width:150px;max-height:160px;overflow:auto}.source-info p{white-space:pre-wrap}#status,#route,#saved{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:16px}#status.error{color:#a43838}#saved a{color:#00663a}#player{width:100%;max-height:260px;background:#141d17;margin-top:16px}.footer-note{font-size:12px;color:#77867a;line-height:1.8;margin:16px 0}button:focus-visible,a:focus-visible{outline:2px solid #00a563;outline-offset:3px}[hidden]{display:none!important}@media(max-width:950px){main{padding:16px}.workspace{grid-template-columns:300px minmax(0,1fr);gap:16px}.panel{padding:18px}}@media(max-width:760px){header{padding:16px;flex-wrap:wrap}.workspace{grid-template-columns:1fr}.lesson-entry{grid-template-columns:1fr auto}.lesson-entry input{grid-column:1/-1;grid-row:2}.toolbar{align-items:flex-start}.stage{font-size:10px}.review-heading h2{font-size:16px}}
.workspace>*{min-width:0}.lesson-card{padding:14px;border-bottom:1px solid #e6ece7;display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,1fr) auto;align-items:center;gap:12px}.lesson-card.selected{background:#f0f8f2}.lesson-card button{text-align:left;overflow-wrap:anywhere}.lesson-card a{font-size:12px;color:#00663a}@media(max-width:760px){.lesson-card{grid-template-columns:1fr auto}.lesson-card input{grid-column:1/-1;grid-row:2}}
.permission-note{display:flex;gap:10px;align-items:flex-start;background:#eff6f1;border:1px solid #dce9df;border-radius:8px;padding:12px 13px;margin-top:18px}.permission-note p{font-size:12px;line-height:1.65;margin:0;color:#476251}.permission-icon{font-size:13px;color:#00663a;margin-top:1px}.request-summary{white-space:pre-wrap;overflow-wrap:anywhere;color:#7a6750;font-size:12px;line-height:1.7;margin-top:12px}.match-ok{color:#00663a}.match-warning{color:#956c27}.audio-match{min-width:0}.manual-review{margin-top:24px!important}.request-dialog-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.request-dialog-header h2{font-size:21px;letter-spacing:-.4px;margin:0}.request-dialog-header button{padding:7px 10px;background:#f5f7f5;border:0}.dialog-note{font-size:12px;color:#63766a;margin:10px 0 18px;line-height:1.7}#request-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #dce5df;border-radius:16px;padding:28px;color:#182720;box-shadow:0 20px 80px #14281e30}#request-dialog::backdrop{background:#172b2266}#request-text{height:310px;resize:vertical;font-size:12px;line-height:1.8;background:#f8faf8;border-color:#e1e8e2}.request-dialog-footer{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:20px}#copy-feedback{font-size:12px;line-height:1.8;color:#476251;flex:1}#request-copy{flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){#request-dialog{padding:22px}.request-dialog-footer{flex-direction:column;align-items:stretch;gap:12px}#request-text{height:260px}.permission-note{margin-top:16px}}
.review-preview{margin-top:20px;border:1px solid #dfe5e1;border-radius:10px;background:#fff;padding:16px}.review-preview>summary{font-size:13px;font-weight:600;color:#617568}.review-preview .review-heading{margin-top:20px}.lesson-card button{line-height:1.6}.request-summary:empty{display:none}

.folder-example{margin:16px 0 18px;padding:14px 15px;background:#f8faf8;border:1px solid #e2e9e3;border-radius:8px}.folder-example h3{font-size:12px;font-weight:650;color:#4c6355;margin:0 0 10px}.folder-example pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.75;color:#536b5b;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.folder-example p{font-size:12px;line-height:1.7;color:#52685a;margin:12px 0 0;padding-top:11px;border-top:1px solid #e6ece7}.folder-example strong{font-weight:650;color:#00663a}.folder-example small{font-size:11px!important;color:#829087;line-height:1.75}

.lesson-card{grid-template-columns:90px minmax(0,1fr) minmax(160px,220px);gap:10px 16px}.lesson-card .include-expression{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap;font-size:12px}.lesson-card .include-expression input{width:16px;height:16px;margin:0;flex:none}.expression-info{min-width:0}.expression-info button{width:100%}.expression-info>small{display:block;font-size:11px;color:#718078;margin-top:5px;overflow-wrap:anywhere}.lesson-card>a,.lesson-card>.excluded-reason{grid-column:2/-1}.lesson-card.excluded{background:#f7f8f7}.excluded-reason{font-size:12px;color:#718078}@media(max-width:760px){.lesson-card{grid-template-columns:70px minmax(0,1fr)}.lesson-card .audio-match{grid-column:2}.lesson-card .audio-match select{width:100%}}

#load-progress:not([hidden]){display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px 10px;margin:14px 0;padding:14px;background:#eef5f0;border:1px solid #d9e6dc;border-radius:8px;font-size:13px}#load-progress small{grid-column:2}.load-spinner{width:16px;height:16px;border:2px solid #c7dacb;border-top-color:#00663a;border-radius:50%;animation:load-spin 1s linear infinite}@keyframes load-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.load-spinner{animation:none}}
/* One PPT per card, with its expressions and audio shown together. */
.socra-tool #lessons{border:0;background:transparent;max-height:760px;padding:0 6px 0 0;overflow:auto;border-radius:0}
.course-group+.course-group{margin-top:24px}.course-group-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;padding:0 2px;gap:12px}.course-group-heading h3{font-size:15px;margin:0;font-weight:700;overflow-wrap:anywhere}.course-group-heading>span{font-size:12px;color:var(--ui-muted,#67796e);white-space:nowrap}
.ppt-card{background:var(--ui-white,#fff);border:1px solid var(--ui-line,#dfe5e1);border-radius:10px;overflow:hidden;margin-bottom:12px}.ppt-card.selected{border-color:var(--ui-green,#00663a)}.ppt-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;background:#fafcfb;border-bottom:1px solid var(--ui-line,#dfe5e1)}.ppt-card-title{display:flex;align-items:baseline;gap:10px;min-width:0}.lecture-number{font-size:12px;white-space:nowrap;color:var(--ui-green,#00663a);font-weight:700}.ppt-card h4{margin:0;font-size:14px;line-height:1.6;font-weight:650;overflow-wrap:anywhere}.connection-state{flex-shrink:0;font-size:11px;white-space:nowrap;color:#856727;padding:4px 8px;border-radius:5px;background:#f8f2e6}.connection-state.complete{color:#00663a;background:#eaf4ee}.ppt-card.excluded .connection-state{background:#edf0ee;color:#64756a}
.expression-row{display:grid;grid-template-columns:122px 16px minmax(130px,1fr) auto;align-items:center;gap:12px;padding:12px 18px}.expression-row+.expression-row{border-top:1px solid #edf1ee}.expression-row.excluded{background:#f8faf9}.expression-row.selected{box-shadow:inset 3px 0 #00663a}.expression-part{display:flex;flex-direction:column;gap:1px}.socra-tool .expression-include{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;min-height:28px;margin:0;cursor:pointer}.socra-tool .expression-include input{width:16px;height:16px;min-width:16px;margin:0;padding:0;accent-color:#00663a}.page-range{font-size:11px;color:var(--ui-muted,#67796e);padding-left:24px}.connection-arrow{color:#89998f;font-size:15px}.expression-audio{min-width:0}.socra-tool .expression-audio select{width:100%;font-size:13px;min-height:42px;padding:9px 30px 9px 11px;line-height:1.5;text-overflow:ellipsis}.expression-audio small{font-size:11px!important;line-height:1.5}.expression-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.socra-tool .expression-actions a,.socra-tool .expression-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;font-size:12px;padding:8px;color:#00663a;text-decoration:none}.socra-tool .expression-actions button{background:transparent;border:0;color:#617568}.expression-actions a:hover{text-decoration:underline}.socra-tool .expression-actions button:hover{background:#edf4ef}
@media(max-width:1100px){.expression-row{grid-template-columns:100px minmax(100px,1fr) auto;gap:8px;padding:12px}.connection-arrow{display:none}.ppt-card-heading{padding:14px 12px}.ppt-card-title{display:block}.lecture-number{display:block;margin-bottom:2px}}@media(max-width:600px){.expression-row{grid-template-columns:1fr auto;gap:6px 10px}.expression-part{flex-direction:row;align-items:center;gap:12px}.page-range{padding-left:0}.expression-audio{grid-column:1/-1;grid-row:2}.expression-actions{grid-column:2;grid-row:1}.socra-tool #lessons{max-height:none;overflow:visible;padding:0}.ppt-card-heading{gap:8px}.ppt-card h4{font-size:13px}}
.missing-audio-notice{border:1px solid #d9c9a4;background:#fffcf4;border-radius:10px;padding:14px 16px;margin:0 0 20px}.missing-audio-notice h3{margin:0 0 8px;font-size:14px;color:#785d24}.socra-tool .missing-audio-confirm{display:flex;align-items:center;gap:9px;min-height:36px;font-size:13px;margin:0;cursor:pointer}.socra-tool .missing-audio-confirm input{width:17px;height:17px;padding:0;margin:0;accent-color:#00663a}.missing-audio-notice details{margin:8px 0 0}.missing-audio-notice summary{font-size:12px}.missing-audio-notice ul{font-size:12px;line-height:1.9;color:#6e6045;padding-left:18px;max-height:180px;overflow:auto}
.socra-tool details.ppt-card{padding:0;margin:0 0 8px;border-top:1px solid var(--ui-line,#dfe5e1)}.ppt-card>summary.ppt-card-heading{list-style:none;cursor:pointer;min-height:48px;border-bottom:0}.ppt-card>summary.ppt-card-heading::-webkit-details-marker{display:none}.ppt-card[open]>summary.ppt-card-heading{border-bottom:1px solid #dfe5e1}.ppt-card-badge{display:flex;gap:14px;align-items:center;flex-shrink:0}.card-chevron{width:7px;height:7px;border:solid #617568;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 3px 4px}.ppt-card[open] .card-chevron{transform:rotate(225deg);margin-top:6px}

#load-progress:not([hidden]){position:static;margin:0 0 16px;grid-template-columns:20px minmax(0,1fr);max-width:none}#load-meter{grid-column:1/-1;width:100%;height:8px;accent-color:#00663a}#load-percent{grid-column:2;font-size:13px;color:#00663a;font-weight:700}#load-progress[data-state=success]{border-color:#72b68c;background:#e8f6ed}#load-progress[data-state=error]{border-color:#d7b67d;background:#fff8ed}#load-progress[data-state=error] #load-meter{display:none}#load-progress .load-spinner[hidden]{display:none}
#load-progress:not([hidden]){grid-template-columns:20px minmax(0,1fr) auto;align-items:center}#load-progress .load-spinner{grid-column:1;grid-row:1}#load-phase{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}#load-percent{grid-column:3;grid-row:1;white-space:nowrap}#load-meter{grid-column:1/-1;grid-row:2}#load-progress #load-elapsed{grid-column:2/-1;grid-row:3;margin-top:0}@media(max-width:600px){#load-progress:not([hidden]){grid-template-columns:20px minmax(0,1fr)}#load-percent{grid-column:2;grid-row:2}#load-meter{grid-row:3}#load-progress #load-elapsed{grid-row:4}}

#load-progress:not([hidden]){grid-template-columns:20px minmax(0,1fr) auto auto}#load-progress #stop-load{grid-column:4;grid-row:1;min-height:36px;padding:6px 12px;font-size:12px}#load-progress[data-state=stopped]{background:#f3f5f4;border-color:#aebeb4}#load-progress[data-state=stopped] #load-meter{display:none}@media(max-width:600px){#load-progress:not([hidden]){grid-template-columns:20px minmax(0,1fr) auto}#load-progress #stop-load{grid-column:3;grid-row:1}#load-percent{grid-column:2/-1}}

.request-dialog-footer{flex-wrap:wrap;gap:12px}#copy-feedback{flex-basis:100%}#request-length{margin:12px 0 0}#request-download{flex-shrink:0}

#request-inbox{width:min(800px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #dce5df;border-radius:16px;padding:24px;color:#182720}#request-inbox::backdrop{background:#172b2266}#request-inbox-list details{border:1px solid #dce5df;border-radius:10px;padding:14px;margin-top:12px}#request-inbox-list summary{cursor:pointer;overflow-wrap:anywhere}#request-inbox-list textarea{width:100%;height:220px;margin:12px 0}#request-inbox-list a{display:block;margin:8px 0}#request-inbox-list p{overflow-wrap:anywhere}

.selection-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:12px 16px;background:#fff;border:1px solid #dce5df;border-radius:10px}.selection-toolbar label{display:flex;align-items:center;gap:9px;font-weight:600;margin:0}.selection-count{font-size:12px;color:#63766a}.ppt-card-heading>input{flex:none;width:18px;height:18px;margin:0 12px 0 0;accent-color:#00683e}.ppt-card-title{flex:1;min-width:0}.selection-toolbar input{accent-color:#00683e;width:18px;height:18px}

.course-group-select{display:flex;align-items:center;gap:9px;margin:0;font-weight:700;font-size:15px;min-width:0}.course-group-select input{width:18px;height:18px;accent-color:#00683e;flex:none}.course-group-heading{flex-wrap:wrap;gap:8px}
