:root{--canvas:#f3f1ea;--surface:#fffefa;--surface-muted:#f7f5ef;--ink:#112331;--ink-soft:#425564;--muted:#596873;--line:#d5d1c5;--line-soft:#e7e3d9;--primary:#145bdb;--primary-pressed:#0d429f;--primary-soft:#e9f0fd;--success:#177251;--success-soft:#e8f5ef;--warning:#8b5700;--warning-soft:#fff5dd;--danger:#a93632;--danger-soft:#fff0ef;--info:#166783;--info-soft:#eaf5f8;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Pretendard,Pretendard Variable,SUIT,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:var(--ink);background:#cfe0ff}.app-shell{min-height:100vh;overflow-x:clip}.site-header,main{width:min(1180px,100% - 40px);margin:0 auto}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:28px;min-height:76px;display:flex}.brand{flex:none;align-items:center;gap:11px;display:inline-flex}.brand-mark{color:#fff;letter-spacing:-.04em;background:#173d71;border-radius:10px;place-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:inline-grid}.brand>span:last-child{gap:1px;display:grid}.brand strong{letter-spacing:-.03em;font-size:18px;font-weight:700}.brand small{color:var(--muted);font-size:12px;font-weight:600}.header-nav{align-items:center;gap:28px;margin-left:auto;display:flex}.header-nav a{color:var(--muted);padding:26px 0;font-size:14px;font-weight:600}.header-nav a:hover,.header-nav a:focus-visible,.header-nav a.active{color:var(--ink)}.header-nav a.active{box-shadow:inset 0 -2px var(--primary)}.header-status{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background:#7b8790;border-radius:50%;width:8px;height:8px}.header-status.connected{color:var(--success);background:var(--success-soft);border-color:#b9dcca}.header-status.connected .status-dot{background:var(--success)}.task-masthead{grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);align-items:center;gap:48px;padding:48px 0 32px;display:grid}.product-context{color:var(--primary);margin:0 0 10px;font-size:13px;font-weight:700}.task-masthead h1{letter-spacing:-.055em;margin:0;font-size:clamp(34px,5vw,52px);line-height:1.08}.task-masthead>div:first-child>p:last-child{max-width:680px;color:var(--ink-soft);word-break:keep-all;margin:18px 0 0;font-size:16px;line-height:1.7}.connection-summary{border-left:1px solid var(--line);justify-content:flex-end;align-items:center;gap:20px;padding-left:28px;display:flex}.connection-summary p{gap:5px;min-width:0;margin:0;display:grid}.connection-summary strong{font-size:14px}.connection-summary span{color:var(--muted);font-size:12px;line-height:1.5}.primary-button,.secondary-button,.login-button,.course-start-state button,.load-more{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 17px;font-size:14px;font-weight:700;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.primary-button,.login-button{border:1px solid var(--primary);background:var(--primary);color:#fff}.primary-button:hover,.login-button:hover{border-color:var(--primary-pressed);background:var(--primary-pressed)}.secondary-button,.course-start-state button,.load-more{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft)}.secondary-button:hover,.course-start-state button:hover,.load-more:hover{background:var(--surface-muted);border-color:#aeb8bd}.notice,.dialog-notice,.storage-warning{border:1px solid;border-radius:10px;align-items:center;gap:10px;padding:13px 15px;font-size:14px;font-weight:600;line-height:1.5;display:flex}.notice{margin:0 0 20px}.notice-info,.dialog-notice.notice-info{background:var(--info-soft);color:var(--info);border-color:#b9dce6}.notice-success,.dialog-notice.notice-success{background:var(--success-soft);color:var(--success);border-color:#b9dcca}.notice-warning,.dialog-notice.notice-warning,.storage-warning{background:var(--warning-soft);color:var(--warning);border-color:#e3c985}.notice-error,.dialog-notice.notice-error{background:var(--danger-soft);color:var(--danger);border-color:#edc1bf}.notice button{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;margin:-9px -9px -9px auto;font-size:22px}.storage-warning{margin:0 0 20px}.readiness-summary{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 20px;padding:0;list-style:none;display:grid;overflow:hidden}.readiness-summary li{align-items:center;gap:12px;min-height:82px;padding:16px;display:flex;position:relative}.readiness-summary li+li{border-left:1px solid var(--line)}.readiness-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:9px;flex:none;place-items:center;display:grid}.readiness-summary p{gap:4px;margin:0;display:grid}.readiness-summary small{color:var(--muted);font-size:12px}.readiness-summary strong{font-size:14px}.readiness-summary em{color:#7b8790;font-size:12px;font-style:normal;font-weight:700;position:absolute;top:11px;right:12px}.workspace-section,.selection-section,.review-section,.guide-section{scroll-margin-top:24px}.workspace-section,.selection-main,.schedule-card,.schedule-preview,.result-preview{border:1px solid var(--line);background:var(--surface);border-radius:16px}.workspace-section{padding:32px}.section-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:22px;display:flex}.section-heading.compact{align-items:center;margin-bottom:20px}.section-heading h2,.schedule-card h2,.result-preview h2,.guide-section h2{letter-spacing:-.04em;margin:0;font-size:26px;line-height:1.25}.section-heading p,.result-preview>p,.guide-section>div>p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.search-box{border:1px solid var(--line);background:var(--surface);color:#71808c;border-radius:10px;flex:0 390px;align-items:center;gap:10px;min-height:48px;padding:0 13px;display:flex}.search-box:focus-within,.input-wrap:focus-within{border-color:#6f9ceb;outline:3px solid #145bdb1f}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.search-box kbd{border:1px solid var(--line);background:var(--surface-muted);color:var(--muted);border-radius:5px;padding:3px 6px;font-size:12px}.course-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.course-filters label{color:var(--muted);gap:6px;font-size:12px;font-weight:600;display:grid}.course-filters select{border:1px solid var(--line);background:var(--surface);min-width:170px;height:44px;color:var(--ink);border-radius:9px;padding:0 34px 0 12px;font-size:14px}.course-filters .filter-check{flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:0 8px;display:flex}.consent-check input,.filter-check input{width:18px;height:18px;accent-color:var(--primary)}.course-start-state{background:var(--surface-muted);border:1px dashed #bfc7c9;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;min-height:120px;padding:22px;display:flex}.course-start-state div{gap:6px;display:grid}.course-start-state strong{font-size:16px}.course-start-state span{color:var(--muted);font-size:14px}.search-status{min-height:20px;color:var(--muted);text-align:right;margin:0 0 12px;font-size:12px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.course-card{border:1px solid var(--line-soft);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) 142px;gap:7px 18px;min-width:0;padding:18px;display:grid}.course-card-topline,.course-card h3,.course-professor,.course-meta{grid-column:1}.course-card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-category,.course-code{color:var(--muted);font-size:12px;font-weight:600}.course-code{font-variant-numeric:tabular-nums}.course-card h3{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:17px;line-height:1.4;overflow:hidden}.course-professor{color:var(--ink-soft);margin:0;font-size:13px}.course-meta{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;line-height:1.5;display:flex}.course-meta span{align-items:center;gap:5px;min-width:0;display:inline-flex}.course-meta span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.course-status{border-radius:999px;grid-area:1/2;place-self:start end;padding:5px 8px;font-size:12px;font-weight:700}.course-status.open{color:var(--success);background:var(--success-soft)}.course-status.closed{color:var(--danger);background:var(--danger-soft)}.course-status.enrolled{color:var(--primary-pressed);background:var(--primary-soft)}.course-toggle{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-soft);cursor:pointer;border-radius:9px;grid-area:2/2/span 4;align-self:end;padding:0 12px;font-size:12px;font-weight:700}.course-toggle:hover{border-color:#8da0aa}.course-toggle.selected{background:var(--primary-soft);color:var(--primary-pressed);border-color:#9bbaf0}.empty-search{min-height:150px;color:var(--muted);grid-column:1/-1;align-content:center;place-items:center;gap:8px;display:grid}.empty-search strong{color:var(--ink)}.empty-search span{font-size:14px}.load-more{min-width:220px;margin:20px auto 0}.selection-section{grid-template-columns:minmax(0,1.55fr) minmax(300px,.55fr);gap:20px;margin-top:20px;display:grid}.selection-main{align-self:start;padding:30px}.selection-summary{background:var(--primary-soft);color:var(--ink-soft);border-radius:9px;padding:8px 11px;font-size:13px}.selection-summary strong{color:var(--ink);font-size:16px}.selection-list{gap:8px;display:grid}.selection-row{border:1px solid var(--line-soft);background:#fff;border-radius:10px;grid-template-columns:42px minmax(0,1fr) auto 140px;align-items:center;gap:12px;min-height:68px;padding:10px 12px;display:grid}.priority-number{background:var(--primary-soft);width:38px;height:38px;color:var(--primary-pressed);border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:grid}.selection-row>div{gap:4px;min-width:0;display:grid}.selection-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.selection-row>div span,.row-credit{color:var(--muted);font-size:12px}.row-actions{justify-content:flex-end;gap:8px;display:flex}.row-actions button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid}.row-actions button:hover{border-color:var(--line);background:var(--surface-muted);color:var(--primary)}.row-actions button:last-child:hover{color:var(--danger)}.empty-selection{min-height:96px;color:var(--primary);border:1px dashed #c8cecd;border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex}.empty-selection div{gap:5px;display:grid}.empty-selection strong{color:var(--ink);font-size:14px}.empty-selection span{color:var(--muted);font-size:13px}.schedule-card{color:#fff;background:#142c48;border-color:#1d3857;align-self:start;padding:28px;position:sticky;top:18px}.schedule-card h2{color:#fff;margin-bottom:20px}.server-clock{background:#1b395b;border:1px solid #ffffff2e;border-radius:10px;gap:4px;margin-bottom:18px;padding:13px;display:grid;position:relative}.server-clock small,.server-clock span{color:#b4c2d1;font-size:12px}.server-clock strong{font-variant-numeric:tabular-nums;font-size:24px}.server-clock span{position:absolute;top:13px;right:13px}.time-inputs{grid-template-columns:1fr auto 1fr auto 1fr;align-items:end;gap:7px;margin-bottom:12px;display:grid}.time-inputs label{gap:6px;display:grid}.time-inputs label span{color:#b4c2d1;font-size:12px;font-weight:600}.time-inputs input{color:#fff;text-align:center;font-variant-numeric:tabular-nums;background:#203f62;border:1px solid #ffffff38;border-radius:8px;width:100%;height:44px;font-size:17px;font-weight:700}.time-inputs b{color:#91a6bc;padding-bottom:12px}.countdown{text-align:center;background:#0d2035;border-radius:8px;gap:4px;margin-bottom:12px;padding:12px;display:grid}.countdown small{color:#b4c2d1;font-size:12px}.countdown strong{color:#a8ccff;font-variant-numeric:tabular-nums;font-size:26px}.operation-steps{margin:0;padding:0;list-style:none}.operation-steps li{grid-template-columns:30px 1fr;align-items:center;gap:10px;min-height:48px;display:grid;position:relative}.operation-steps li:not(:last-child):after{content:"";background:#ffffff2e;width:1px;position:absolute;top:38px;bottom:-10px;left:14px}.operation-steps li>span{color:#c5d0dc;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.operation-steps li.complete>span{color:#103329;background:#43cca8;border-color:#43cca8}.operation-steps p{gap:2px;margin:0;display:grid}.operation-steps small{color:#aebdcd;font-size:12px}.operation-steps strong{color:#fff;font-size:13px}.operation-buttons{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.schedule-card .operation-buttons button{color:#fff;cursor:pointer;border:1px solid #fff3;border-radius:8px;min-height:44px;margin:0;font-size:12px;font-weight:700}.schedule-card .schedule-button{background:#2566b8}.schedule-card .run-button{background:#18785f}.schedule-card .stop-button{background:#963b42;grid-column:1/-1}.schedule-card .sync-button{background:#203f62;grid-column:1/-1}.operation-warning{color:#b4c2d1;margin:12px 0 0;font-size:12px;line-height:1.55}.review-section{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:20px;margin-top:20px;display:grid}.schedule-preview,.result-preview{padding:30px}.credit-bar{border-top:1px solid var(--line-soft);grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:13px;margin-top:16px;padding-top:16px;display:grid}.credit-bar>span{color:var(--muted);font-size:13px}.credit-bar>div{background:#ebe8df;border-radius:6px;height:7px;overflow:hidden}.credit-bar i{border-radius:inherit;background:var(--primary);height:100%;transition:width .16s;display:block}.credit-bar strong{font-size:16px}.credit-bar small{color:var(--muted);font-size:12px}.result-preview>p{margin-bottom:18px}.result-preview ul{margin:0;padding:0;list-style:none}.result-preview li{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:14px;min-height:48px;padding:12px 0;display:flex}.result-preview li span{max-width:44%;color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.result-preview li span i{background:#8a959c;border-radius:50%;flex:none;width:7px;height:7px}.result-preview li strong{text-align:right;max-width:54%;font-size:13px;line-height:1.45}.result-empty{background:var(--surface-muted);color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:14px;font-size:13px;display:flex}.result-confirmed span i,.result-already-enrolled span i{background:var(--success)!important}.result-not-confirmed span i{background:var(--warning)!important}.result-unknown span i{background:var(--danger)!important}.activity-details{margin-top:16px}.activity-details summary{min-height:44px;color:var(--ink-soft);cursor:pointer;align-items:center;font-size:13px;font-weight:700;display:flex}.execution-log{color:#d9e5f0;background:#142c48;border-radius:9px;gap:7px;max-height:270px;padding:13px;display:grid;overflow:auto}.execution-log div{grid-template-columns:70px 1fr;gap:8px;font-size:12px;line-height:1.45;display:grid}.execution-log time{color:#9fb0c2;font-variant-numeric:tabular-nums}.execution-log .log-success span{color:#8ce4c7}.execution-log .log-warning span{color:#ffd18b}.execution-log .log-error span{color:#ffaaa7}.timetable{min-width:0}.timetable-scroll{padding:0 2px 10px;overflow-x:auto}.timetable-grid{background:#fff;border:1px solid #dfe5ec;border-radius:10px;align-items:start;min-width:630px;display:grid;overflow:hidden}.timetable-corner,.timetable-day-heading{height:44px;color:var(--ink-soft);background:#f4f7fa;border-bottom:1px solid #dfe5ec;grid-row:1;place-items:center;font-size:12px;font-weight:700;display:grid}.timetable-day-heading{border-left:1px solid #e2e7ec}.timetable-time-axis{background:#f8fafc;grid-area:2/1;position:relative}.timetable-time-label{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;position:absolute;right:9px;transform:translateY(-7px)}.timetable-day-column{border-left:1px solid #e2e7ec;grid-row:2;position:relative}.timetable-hour-line{border-top:1px solid #eef1f4;position:absolute;left:0;right:0}.timetable-course{z-index:2;border:1px solid;border-left-width:3px;border-radius:6px;min-height:22px;padding:5px 6px;position:absolute;left:4px;right:4px;overflow:hidden}.timetable-course strong,.timetable-course small{text-overflow:ellipsis;display:block;overflow:hidden}.timetable-course strong{white-space:nowrap;font-size:12px;line-height:1.25}.timetable-course small{opacity:.82;margin-top:2px;font-size:12px;line-height:1.25}.timetable-course-conflict{outline:2px solid var(--danger);outline-offset:-1px}.timetable-conflict-alert,.timetable-unsupported{border-radius:8px;margin:10px 0 0;padding:11px 12px;font-size:13px;font-weight:600;line-height:1.5}.timetable-conflict-alert{background:var(--danger-soft);color:var(--danger)}.timetable-unsupported{background:var(--warning-soft);color:var(--warning);border:1px solid #ecd39c}.timetable-unsupported ul{margin:7px 0 0;padding-left:18px}.timetable-empty{z-index:3;color:var(--muted);text-align:center;grid-area:2/2/auto/-1;place-self:center stretch;margin:0 24px;padding:14px;font-size:13px}.guide-section{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:48px;margin:48px 0 64px;padding:30px 0;display:grid}.guide-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.guide-steps li{border-left:2px solid var(--primary);align-content:start;gap:7px;padding-left:14px;display:grid}.guide-steps strong{font-size:14px}.guide-steps span{color:var(--muted);font-size:13px;line-height:1.6}footer{border-top:1px solid var(--line);background:var(--surface);min-height:92px;color:var(--muted);align-items:center;gap:18px;padding:0 max(20px,50vw - 590px);font-size:12px;display:flex}footer p{margin:0 0 0 auto}.compact-brand .brand-mark{width:32px;height:32px;font-size:12px}.compact-brand strong{font-size:15px}.mobile-operation-rail{display:none}.modal-dialog{border:1px solid var(--line);background:var(--surface);width:min(540px,100% - 32px);max-height:min(760px,100dvh - 32px);color:var(--ink);border-radius:16px;padding:24px;overflow:auto;box-shadow:0 24px 70px #1123313d}.modal-dialog::backdrop{background:#11233175}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.dialog-heading h2{letter-spacing:-.035em;margin:0;font-size:24px}.dialog-heading p{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.55}.dialog-close{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--muted);cursor:pointer;border-radius:9px;flex:none;font-size:22px}.dialog-notice{margin-bottom:16px}.login-form{gap:16px;display:grid}.login-form label{color:var(--ink-soft);gap:7px;font-size:13px;font-weight:700;display:grid}.input-wrap{border:1px solid var(--line);color:#71808c;background:#fff;border-radius:9px;align-items:center;gap:10px;min-height:48px;padding:0 13px;display:flex}.input-wrap input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.input-wrap input::placeholder{color:#8b979f}.key-symbol{letter-spacing:1px;width:19px;font-weight:700;overflow:hidden}.consent-check{flex-direction:row;align-items:center;min-height:44px;gap:9px!important;font-size:13px!important;font-weight:600!important;display:flex!important}.login-actions{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.login-button{width:100%}.disconnect-button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--muted);cursor:pointer;border-radius:9px;padding:0 13px;font-size:13px;font-weight:700}.security-note{color:var(--muted);align-items:center;gap:7px;margin:16px 0 0;font-size:12px;line-height:1.5;display:flex}.execution-summary{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;display:grid}.execution-summary div{border:1px solid var(--line-soft);border-radius:9px;gap:5px;padding:12px;display:grid}.execution-summary dt{color:var(--muted);font-size:12px}.execution-summary dd{margin:0;font-size:14px;font-weight:700}.confirm-course-list{border-top:1px solid var(--line);max-height:250px;margin:0;padding:0;list-style-position:inside;overflow:auto}.confirm-course-list li{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 2px;font-size:13px;display:grid}.confirm-course-list small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.confirmation-warning{background:var(--warning-soft);color:var(--warning);border-radius:9px;margin:16px 0;padding:12px;font-size:13px;line-height:1.5}.dialog-actions{grid-template-columns:auto minmax(0,1fr);gap:9px;display:grid}button:disabled,input:disabled,select:disabled{opacity:.52;cursor:not-allowed!important}:focus-visible{outline-offset:3px;outline:3px solid #145bdb52}.error-page{flex-direction:column;justify-content:center;align-items:flex-start;width:min(600px,100% - 40px);min-height:100vh;margin:0 auto;display:flex}.error-page h1{letter-spacing:-.05em;margin:20px 0 0;font-size:38px}.error-page p{color:var(--muted)}.error-link{margin-top:14px}.error-page pre{color:#d9e7f7;background:#15283f;border-radius:10px;max-width:100%;padding:16px;font-size:12px;overflow:auto}@media (width<=1000px){.header-nav{display:none}.task-masthead{grid-template-columns:minmax(0,1fr) minmax(290px,.7fr);gap:28px}.course-grid{grid-template-columns:1fr}}@media (width<=760px){.site-header,main{width:min(100% - 28px,620px)}.site-header{min-height:70px}.brand small{display:none}.header-status{margin-left:auto;padding:0 10px}.task-masthead{grid-template-columns:1fr;gap:22px;padding:32px 0 24px}.task-masthead h1{font-size:38px}.task-masthead>div:first-child>p:last-child{margin-top:14px;font-size:15px}.connection-summary{border-top:1px solid var(--line);border-left:0;flex-direction:column;align-items:stretch;gap:14px;padding:18px 0 0}.connection-summary .primary-button{width:100%}.readiness-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-summary li+li{border-left:0}.readiness-summary li:nth-child(2n){border-left:1px solid var(--line)}.readiness-summary li:nth-child(n+3){border-top:1px solid var(--line)}.workspace-section,.selection-main,.schedule-preview,.result-preview{padding:22px 18px}.section-heading{align-items:start;gap:16px;display:grid}.section-heading.compact{align-items:flex-start;display:flex}.search-box{width:100%;max-width:none}.course-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.course-filters label,.course-filters select{width:100%;min-width:0}.course-filters .filter-check{grid-column:1/-1;padding:0}.course-start-state{flex-direction:column;align-items:stretch}.course-start-state button{width:100%}.course-card{grid-template-columns:minmax(0,1fr) auto}.course-toggle{grid-area:auto/1/auto/-1;margin-top:6px}.selection-section,.review-section{grid-template-columns:1fr}.selection-row{grid-template-columns:38px minmax(0,1fr) auto}.row-credit{display:none}.row-actions{grid-column:2/-1;justify-content:flex-start}.schedule-card{padding:24px 20px;position:relative;top:auto}.operation-buttons{grid-template-columns:1fr}.schedule-card .operation-buttons button,.schedule-card .stop-button,.schedule-card .sync-button{grid-column:1}.timetable-grid{min-width:600px}.guide-section{grid-template-columns:1fr;gap:22px;margin:40px 0 48px}.guide-steps{grid-template-columns:1fr;gap:14px}footer{flex-direction:column;align-items:flex-start;gap:10px;min-height:170px;padding:28px 20px 96px}footer p{margin:0}.mobile-operation-rail{z-index:30;left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));color:#fff;background:#142c48;border:1px solid #2b415a;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:10px 11px 10px 16px;display:flex;position:fixed;box-shadow:0 -8px 24px #11233126}.mobile-operation-rail>span{gap:3px;display:grid}.mobile-operation-rail small{color:#b4c2d1;font-size:12px}.mobile-operation-rail strong{font-size:14px}.mobile-operation-rail button{color:#fff;background:#2566b8;border:1px solid #fff3;border-radius:9px;min-height:44px;padding:0 14px;font-size:12px;font-weight:700}.modal-dialog{width:min(100% - 20px,540px);max-height:calc(100dvh - 20px);padding:20px}.login-actions,.dialog-actions{grid-template-columns:1fr}.dialog-actions .secondary-button{order:2}}@media (width<=420px){.brand-mark{width:36px;height:36px}.task-masthead h1{font-size:34px}.readiness-summary li{min-height:76px;padding:13px}.readiness-icon{width:32px;height:32px}.course-filters{grid-template-columns:1fr}.course-filters .filter-check{grid-column:1}.course-card{grid-template-columns:minmax(0,1fr)}.course-status{grid-area:auto/1;justify-self:start}.course-toggle{grid-column:1}.section-heading.compact{flex-direction:column}.execution-summary,.confirm-course-list li{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
