@font-face{font-family:Pretendard;src:url('assets/PretendardVariable.woff2?v=9599f12fd42fc0bce1cd50b47a0c022e108d7aa64dd0d1bb0ed44f3282d900b4') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Kyobo2019;src:url('assets/KyoboHandwriting2019.woff2?v=a4c91863d21976936968914f2dff9839c877563e6dc59bdea7fcc2662e9f1092') format('woff2');font-weight:400;font-display:swap}
:root{--bg:oklch(.985 .002 260);--surface:oklch(1 0 0);--rail:oklch(.965 .005 260);--ink:oklch(.25 .02 260);--muted:oklch(.46 .025 260);--line:oklch(.88 .012 260);--softline:oklch(.93 .005 260);--violet:oklch(.43 .16 302);--violet-bg:oklch(.966 .018 302);--forest:oklch(.39 .075 160);--forest-bg:oklch(.962 .022 161);--navy:oklch(.39 .08 255);--navy-bg:oklch(.962 .022 255);--synthesis-bg:oklch(.968 .009 10);--synthesis-ink:oklch(.36 .028 10);--annotation-ink:oklch(.31 .055 255);--warn:oklch(.4 .075 67);--warn-bg:oklch(.974 .018 78);--z-sticky:10;--z-menu:20;--z-toast:30;font-family:Pretendard,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--navy);text-underline-offset:.2em}button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:.55rem .85rem;transition:background-color .15s,border-color .15s}button:hover{background:var(--rail)}button:active{background:var(--softline)}button:disabled{cursor:wait;opacity:.5}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
/* Native controls follow shadcn/ui's ghost, outline, icon and selected-state patterns. */
.icon{display:block;width:18px;height:18px;flex:none;pointer-events:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);flex:none;text-decoration:none}.icon-button:hover{background:var(--rail);color:var(--ink)}.icon-button:active{background:var(--softline)}.primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.primary:hover{background:var(--navy);color:white}.compact-tools{display:flex;align-items:center;gap:7px;flex:none}.compact-tools a{font-size:.74rem}.edit{color:inherit;opacity:.8}.edit:hover{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:var(--z-toast)}.skip:focus{top:10px}
h1,h2,h3{line-height:1.4;text-wrap:balance;letter-spacing:-.025em}h1{font-size:1.9rem;margin:0 0 .7rem;font-weight:700}h2{font-size:1.25rem;margin:0 0 .65rem}h3{font-size:1rem;margin:0 0 .5rem}p{margin:0 0 .8em;line-height:1.85;text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}.muted{color:var(--muted)}small{font-size:.8rem}
.topbar{height:68px;display:flex;align-items:center;gap:28px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:var(--z-sticky)}.wordmark{border:0;background:none;padding:0;text-align:left;white-space:nowrap;font-size:1.08rem;font-weight:740;line-height:1.2}.wordmark:hover{background:none}.wordmark span{font-weight:450;margin-left:4px}.subject-picker{min-width:0;max-width:310px;flex:1}.subject-picker select{width:100%;height:36px;border:1px solid var(--line);border-radius:6px;padding:0 28px 0 12px;background:var(--surface);color:var(--ink);font-size:.84rem}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}#saveState{color:var(--muted);display:flex;align-items:center;margin-right:8px}#saveState .icon{width:15px;height:15px}#menuToggle{display:none}
.calendar-bar{display:flex;gap:10px;align-items:center;padding:5px 28px;border-bottom:1px solid var(--softline);background:var(--surface)}.calendar-bar p{font-size:.74rem;color:var(--muted);margin:0;line-height:1.6}.calendar-bar #syncReport{margin-left:auto}button[hidden]{display:none!important}.is-loading .icon{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.shell{display:grid;grid-template-columns:285px minmax(0,1fr);min-height:calc(100vh - 115px)}aside{position:sticky;top:68px;height:calc(100dvh - 68px);overflow:auto;padding:26px 18px 28px 22px;background:var(--rail);border-right:1px solid var(--line)}main{min-width:0;max-width:1040px;width:100%;padding:36px 48px 60px;margin:0 auto}.home-layout aside{display:none}.home-layout .shell{display:block}.home-layout main{max-width:1100px}.toc-head{font-size:.9rem;font-weight:650;margin-bottom:5px}.toc-info{font-size:.74rem;color:var(--muted);margin-bottom:18px}.toc-search{width:100%;height:36px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 10px;border-radius:6px;font-size:.8rem;margin-bottom:15px}.toc-search::placeholder{color:var(--muted)}.toc-entry{width:100%;border:0;border-radius:6px;padding:11px 8px;background:none;text-align:left;margin-bottom:2px;display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px}.toc-entry:hover{background:var(--surface)}.toc-entry.active{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.toc-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem;padding-top:2px}.toc-number .icon{width:15px;height:15px}.toc-title{font-size:.81rem;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.toc-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:6px;font-size:.72rem;color:var(--muted)}.scope-caption{font-size:.74rem;font-weight:600;color:var(--muted);padding:18px 8px 7px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:21px;padding:0 5px;font-size:.68rem;font-weight:650;line-height:1;border-radius:4px;white-space:nowrap}.badge .icon{width:13px;height:13px}.violet{color:var(--violet);background:var(--violet-bg)}.forest{color:var(--forest);background:var(--forest-bg)}.navy{color:var(--navy);background:var(--navy-bg)}
.home-heading{display:flex;justify-content:space-between;gap:30px;align-items:baseline;margin:16px 0 32px}.home-heading h1{font-size:2rem}.home-heading .year{font-size:1rem;color:var(--muted);font-weight:400}.subject-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.subject-row{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:23px 0;display:flex;align-items:center;gap:18px;text-align:left;background:none;width:100%}.subject-row:hover{background:none}.subject-row:hover .subject-name{color:var(--violet)}.subject-name{font-weight:620;font-size:1rem;line-height:1.45}.subject-meta{font-size:.76rem;color:var(--muted);line-height:1.6;margin-top:7px}.subject-row .arrow{margin-left:auto;color:var(--muted)}.credit{font-size:.75rem;font-weight:400;color:var(--muted);white-space:nowrap;margin-left:9px}.home-note{margin-top:32px;font-size:.84rem}.omitted-row{padding:18px 0;border-bottom:1px solid var(--softline)}.omission-proof{font-size:.8rem}.source-links{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:.75rem;margin-top:16px}.source-links a{white-space:nowrap}.section-title .source-links{margin-top:0}
.document-head{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:.8rem;color:var(--muted);margin-bottom:20px}.breadcrumb button{border:0;padding:0;background:none;color:var(--muted);font-size:inherit}.heading-credit{font-size:.8rem;font-weight:400;color:var(--muted);white-space:nowrap}.lecture-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.76rem;color:var(--muted)}.lecture-number{font-weight:430}.lecture-prof{font-size:.89rem;color:var(--muted);margin:0}.schedule-line{display:flex;align-items:center;gap:5px 10px;flex-wrap:wrap;margin-top:9px;font-size:.8rem;color:var(--muted);line-height:1.65}.schedule-line small{font-size:.74rem;flex-basis:100%}.duty-tag{font-size:.7rem;border:1px solid var(--line);border-radius:4px;padding:1px 6px;background:var(--surface)}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title h2,.section-title h3{margin:0}.synthesis{background:var(--synthesis-bg);color:var(--synthesis-ink);border-radius:9px;padding:21px 24px}.digest{margin:0 0 32px}.digest-text{font-family:Pretendard,sans-serif;font-weight:500;font-size:.96rem;line-height:1.85;letter-spacing:-.012em;max-width:74ch;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}.digest-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.digest-tools>.compact-tools{margin-left:auto}.digest-tools .icon-button:hover{background:oklch(.94 .015 10)}.review-dot{color:var(--warn);display:flex}.review-dot .icon{width:15px;height:15px}.jbl-row{display:flex;align-items:center;gap:10px;font-size:.72rem;color:var(--synthesis-ink)}.jbl-label{font-weight:550;letter-spacing:.02em} .jbl-options{--item-size:40px;--item-gap:4px;--selected:0;position:relative;display:grid;grid-template-columns:repeat(3,var(--item-size));gap:var(--item-gap);padding:4px;border:0;border-radius:13px;background:oklch(.93 .013 10);isolation:isolate}.jbl-options[data-value="X"]{--selected:1}.jbl-options[data-value="?"]{--selected:2}.jbl-options::before{content:"";position:absolute;top:4px;left:4px;width:var(--item-size);height:36px;border-radius:9px;background:var(--surface);box-shadow:0 1px 3px oklch(.35 .02 10/.16);transform:translateX(calc(var(--selected)*(var(--item-size) + var(--item-gap))));transition:transform .2s cubic-bezier(.2,.8,.2,1);z-index:-1;pointer-events:none}.jbl-options button{display:flex;align-items:center;justify-content:center;width:var(--item-size);height:36px;padding:0;border:0;border-radius:9px;background:transparent;font-size:1rem;transition:background-color .15s,transform .15s}.jbl-options button>span{display:block;line-height:1;filter:grayscale(.9);opacity:.7;transform:scale(.88);transition:filter .18s,opacity .18s,transform .18s}.jbl-options button:hover{background:oklch(1 0 0/.3)}.jbl-options button:hover>span{opacity:.8}.jbl-options button[aria-pressed=true]>span{filter:none;opacity:1;transform:scale(1)}.jbl-options button:active{transform:scale(.94)}.jbl-options button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.jbl-options button:disabled{opacity:.7}
.common-points{margin:0 0 30px;padding:6px 24px}.common-point{padding:18px 0;border-bottom:1px solid oklch(.9 .012 10)}.common-point:last-child{border-bottom:0}.common-point .section-title{margin-bottom:5px}.common-point h3{font-size:.83rem;font-weight:600;letter-spacing:0}.common-point p{font-family:Pretendard,sans-serif;font-weight:450;font-size:.93rem;line-height:1.85;letter-spacing:-.01em;max-width:74ch;margin-bottom:0}.common-point .source-links{margin-top:9px;font-size:.71rem}.record-heading{font-size:.84rem;font-weight:400;letter-spacing:0;color:var(--muted);margin:0 0 12px;line-height:1.6}
.evidence{--evidence-ink:var(--violet);--evidence-bg:var(--violet-bg);margin:0 0 23px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}.forest-block{--evidence-ink:var(--forest);--evidence-bg:var(--forest-bg)}.navy-block{--evidence-ink:var(--navy);--evidence-bg:var(--navy-bg)}.evidence>header{padding:10px 20px;background:var(--evidence-bg);color:var(--evidence-ink)}.source-label{font-size:.84rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px}.year-actions{display:flex;gap:6px}.year-tag{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:600;line-height:1;white-space:nowrap;border-radius:4px;padding:5px 7px}.year-edit{height:32px;padding:0 8px;color:var(--evidence-ink);background:transparent;border:1px solid transparent}.year-edit:hover{border-color:currentColor;background:var(--surface)}.year-edit .icon{width:12px;height:12px;opacity:.7}.year-tag.year-2025{background:color-mix(in oklch,var(--evidence-ink,var(--violet)) 8%,white);color:var(--evidence-ink,var(--violet))}.year-tag.year-2023{background:var(--surface);color:var(--evidence-ink,var(--violet));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--evidence-ink,var(--violet)) 22%,white)}.evidence-content{padding:22px 24px}.evidence-meta{font-size:.77rem;color:var(--muted);line-height:1.7;margin-bottom:15px;word-break:keep-all;overflow-wrap:anywhere}.evidence-meta .year-tag{margin-right:7px}.prose{font-size:.94rem;line-height:1.9;white-space:pre-line;max-width:74ch;word-break:keep-all;overflow-wrap:anywhere}.merged-prose{white-space:normal}.merged-prose p{margin-bottom:12px;line-height:1.95}.merged-prose p:last-child{margin-bottom:0}.year-part{border-radius:3px;padding:2px 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.year-part.year-2025{background:var(--evidence-bg)}.year-part.year-2023{background:color-mix(in oklch,var(--evidence-bg) 50%,white);text-decoration:underline;text-decoration-color:color-mix(in oklch,var(--evidence-ink) 24%,white);text-underline-offset:4px}.inline-year{display:inline-block;color:var(--evidence-ink);font-size:.61rem;font-weight:650;vertical-align:1px;margin-right:5px;line-height:1;font-family:Pretendard,sans-serif}.annotation{border-top:1px solid var(--softline);margin-top:22px;padding-top:18px}.annotation .section-title{margin-bottom:8px;color:var(--muted)}.cf{display:inline-flex;align-items:center;gap:7px;font-family:Pretendard,sans-serif;font-size:.76rem;line-height:1.3;color:var(--annotation-ink);font-weight:700;letter-spacing:.025em}.cf strong{font-weight:inherit}.cf .quote-mark{font-size:.88rem;font-weight:400;letter-spacing:0;line-height:1}.annotation .prose{font-family:Kyobo2019,cursive;font-weight:400;font-size:.94rem;line-height:1.85;letter-spacing:0;color:var(--annotation-ink)}.annotation .source-links{margin-top:9px}.note-area{margin:28px 0;padding:0 8px}.note-area .section-title{justify-content:flex-end}.note-area .prose{margin:0}.warning{background:var(--warn-bg);color:var(--warn);padding:14px 18px;border-radius:7px;margin:18px 0;font-size:.82rem}
.pagination{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:34px}.pagination button{display:flex;align-items:center;gap:12px;max-width:48%;text-align:left;line-height:1.6;font-size:.8rem;border:0;background:none;padding:8px}.pagination button:last-child{margin-left:auto;text-align:right}.pagination button:hover{background:var(--rail)}.pagination .icon{width:16px;height:16px}.editor{margin:12px 0 8px}.evidence>.editor{margin:18px 24px}.editor textarea{display:block;width:100%;min-height:180px;resize:vertical;border:1px solid var(--navy);border-radius:6px;background:var(--surface);color:var(--ink);padding:14px;line-height:1.8;font-size:.92rem}.editor-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.editor-status{font-size:.78rem;color:var(--muted);line-height:1.6}.editor-status.error{color:oklch(.42 .13 25)}details{border-top:1px solid var(--line);padding:15px 0;margin-top:18px}summary{cursor:pointer;font-size:.85rem;font-weight:500;line-height:1.6}details[open]>summary{margin-bottom:18px}.original-row{padding:18px 0;border-top:1px solid var(--softline)}.original-row .prose{font-size:.88rem}.original-row.annotation .prose,.original-row .annotation .prose{font-size:.88rem}.original-row .prose p{margin-bottom:1.1em}.original-heading{font-size:.83rem;font-weight:550;margin:18px 0 10px}.old-schedule .prose{font-size:.8rem;color:var(--muted)}.archive{margin-top:25px}.archive details{margin-top:8px}.source-image{width:100%;height:auto;max-width:750px}.tabrow{display:flex;gap:8px;margin:18px 0}.empty,.loading{padding:35px 0;color:var(--muted);font-size:.84rem}.current-timetable{margin:28px 0}.schedule-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.8rem}.schedule-table th,.schedule-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:top;overflow-wrap:anywhere}.schedule-table th{font-weight:500;color:var(--muted)}.schedule-table th:first-child{width:48px}.schedule-table th:nth-child(2){width:44%}.schedule-table button{border:0;background:none;padding:0;text-align:left;font-size:inherit;line-height:1.6}.schedule-table small{display:block;color:var(--muted);margin-top:5px}.schedule-table .schedule-line{margin:0;font-size:.76rem}dialog{width:min(650px,calc(100vw - 36px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:28px;color:var(--ink);background:var(--surface)}dialog::backdrop{background:oklch(.25 .01 260/.35)}dialog p{font-size:.88rem}dialog>button{margin-top:12px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:min(90vw,650px);background:var(--ink);color:white;border-radius:6px;font-size:.82rem;padding:11px 17px;z-index:var(--z-toast);pointer-events:none;opacity:0;transition:opacity .16s}#toast.visible{opacity:1}
@media(min-width:1600px){.shell{grid-template-columns:315px minmax(0,1fr)}main{padding-left:60px;padding-right:60px}}
@media(max-width:1150px){.shell{grid-template-columns:250px minmax(0,1fr)}main{padding:30px}.topbar{gap:20px;padding:0 22px}aside{padding:24px 12px}#saveState{display:none}}
@media(max-width:820px){.topbar{height:64px;padding:0 16px;gap:16px}.wordmark{font-size:.95rem}.subject-picker select{font-size:.8rem}.top-actions{gap:4px}#menuToggle{display:inline-flex}.shell{display:block}aside{display:none;position:fixed;top:64px;left:0;width:min(350px,88vw);height:calc(100dvh - 64px);z-index:var(--z-menu);box-shadow:6px 0 8px oklch(.3 .01 260/.08)}.toc-open aside{display:block}main{padding:28px 24px 45px}.home-layout main{padding:32px 24px}.home-heading h1{font-size:1.65rem}h1{font-size:1.65rem}.calendar-bar{padding:4px 16px}.evidence-content{padding:20px}.evidence>header{padding:10px 18px}.icon-button{width:40px;height:40px}.digest-tools .compact-tools{gap:4px}}
@media(max-width:520px){.topbar{gap:9px;padding:0 12px}.wordmark{font-size:.82rem}.wordmark span{margin-left:0}.subject-picker select{padding-left:8px;height:34px;font-size:.75rem}.top-actions{gap:0}.icon-button{width:38px;height:40px}.top-actions .icon-button{width:34px}.calendar-bar{padding:3px 12px}.calendar-bar p{font-size:.7rem}.subject-list{grid-template-columns:1fr}.subject-row{padding:20px 0}main{padding:24px 18px 40px}h1{font-size:1.45rem}.breadcrumb{margin-bottom:17px}.document-head{padding-bottom:20px}.lecture-prof{font-size:.82rem}.schedule-line{font-size:.74rem}.synthesis{padding:18px}.digest-text{font-size:.93rem}.digest-tools{gap:5px}.jbl-row{gap:7px}.common-points{padding:0 18px}.common-point p{font-size:.9rem}.prose{font-size:.91rem}.evidence-content{padding:18px 16px}.evidence>header{padding:8px 15px}.evidence{border-radius:7px}.annotation .prose{font-size:.91rem}.source-label{font-size:.82rem}.source-links{gap:8px 13px}.record-heading{font-size:.79rem}.schedule-table th:first-child{width:35px}.schedule-table th:nth-child(2){width:43%}.schedule-table th,.schedule-table td{padding:11px 5px}.schedule-table{font-size:.73rem}.schedule-table .schedule-line{font-size:.7rem}.pagination button{font-size:.73rem;gap:7px}.heading-credit{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.topbar,.calendar-bar,aside,.edit,.year-edit .icon,.pagination,.editor,.jbl-options button:not([aria-pressed=true]),#toast,.skip,.compact-tools{display:none!important}.shell{display:block}main{max-width:none;padding:0}.evidence{break-inside:avoid}body{background:white}.archive{display:none}.evidence>header,.synthesis,.year-part{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.common-evidence{--evidence-ink:var(--muted);--evidence-bg:var(--rail)}.common-evidence>header{display:flex;justify-content:flex-end}.common-original{margin:24px 0 30px}.common-original .merged-prose{font-size:.9rem}.inline-year{margin-right:6px}
.common-exams{margin-top:26px;padding-top:20px;border-top:1px solid var(--softline)}.common-exams h3{font-size:.8rem;font-weight:550;margin-bottom:12px}.common-exams .merged-prose{font-size:.82rem}.common-exams .merged-prose p{margin-bottom:6px}
.common-evidence .annotation .prose{font-size:.9rem}

.professor-links{display:block;margin-top:15px;padding-top:10px;border-top:1px solid var(--softline);font-size:.74rem;line-height:2.05;word-break:keep-all;overflow-wrap:anywhere}
.professor-links a{display:inline;padding:3px 0;margin-right:15px;border-radius:4px;color:var(--muted);font-size:inherit;text-decoration:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.professor-links a:hover{background:var(--rail);color:var(--navy)}
.professor-links .icon{display:inline-block;width:12px;height:12px;margin-right:5px;vertical-align:-1px;color:var(--navy)}
.related-subject{font-weight:550;color:var(--navy);margin-right:3px}
.semester-courses{margin-top:8px;font-size:.72rem;line-height:2.05;color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}
.semester-label{display:inline-block;font-size:.65rem;font-weight:650;color:var(--navy);background:var(--navy-bg);border-radius:4px;padding:0 5px;margin-right:8px;vertical-align:1px}
.semester-course{margin-right:14px}
.semester-evidence .source-label{display:flex;align-items:center;gap:9px}
.semester-evidence .year-tag{font-size:.72rem;font-weight:650}
.exam-emphasis{font-weight:680;color:var(--navy)}
.change-emphasis{font-weight:680;color:var(--violet)}

.related-lead{white-space:nowrap}

:root{--semester-ink:oklch(.45 .15 14);--semester-bg:oklch(.966 .012 14);--attendance-ink:#ad2634}
.semester-evidence{--evidence-ink:var(--semester-ink);--evidence-bg:var(--semester-bg)}
.semester-label,.semester-badge{background:var(--semester-bg);color:var(--semester-ink)}
.semester-courses .related-subject,.semester-evidence .source-links a,.semester-evidence .edit{color:var(--semester-ink)}
.lecture-schedule-row{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:18px;row-gap:5px}
.attendance-note{display:flex;flex-wrap:wrap;gap:5px 14px;max-width:100%;font-size:.75rem;line-height:1.7;color:var(--attendance-ink);word-break:keep-all;overflow-wrap:anywhere}
.attendance-note strong,.attendance-emphasis{color:var(--attendance-ink);font-weight:700}
.attendance-source{font-size:.66rem;margin-right:5px}

/* Shared search keeps the same query when moving between guide and timetable. */
.guide-search{display:flex;align-items:center;gap:7px;background:var(--rail);border-radius:7px;padding:0 9px;width:220px;min-width:120px;height:32px;flex:none;color:var(--muted)}.guide-search>svg{flex:none}.guide-search:focus-within{outline:2px solid var(--navy);outline-offset:1px}#globalSearch{font-size:.79rem;border:0;background:none;outline:none;width:100%;min-width:0;color:var(--ink);padding:4px 0}#globalSearch::placeholder{color:var(--muted)}#globalSearch::-webkit-search-cancel-button{display:none}.guide-search .icon-button{width:24px;height:24px}.guide-search .icon{width:15px;height:15px}#globalSearchPanel{padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--softline)}#globalSearchPanel[hidden]{display:none}#globalResultCount{font-size:.74rem;color:var(--muted);margin-bottom:7px}#globalSearchResults{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 24px;max-height:260px;overflow:auto;overscroll-behavior:contain}.guide-result{display:grid;grid-template-columns:1fr auto 16px;gap:3px 8px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--softline);text-decoration:none;background:none;font-size:.8rem}.guide-result:hover{background:var(--rail)}.guide-result-subject{font-weight:650;grid-column:1}.guide-result-title{grid-column:1;grid-row:2;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}.guide-result-prof{grid-column:2;grid-row:1/3;font-weight:400;white-space:nowrap}.guide-result>.icon{grid-column:3;grid-row:1/3;width:15px;height:15px}
@media(max-width:1100px){.topbar{height:auto;min-height:68px;gap:8px 12px;flex-wrap:wrap;padding:10px 14px}.subject-picker{max-width:none}.top-actions{margin-left:0}.guide-search{width:170px}.topbar .wordmark{font-size:1rem}}
@media(max-width:700px){.topbar{display:grid;grid-template-columns:auto 1fr auto;padding:8px 12px;gap:7px 10px}.topbar .wordmark{grid-column:1;grid-row:1}.subject-picker{grid-column:2/4;grid-row:1}.top-actions{grid-column:1/3;grid-row:2;gap:3px}.guide-search{grid-column:3;grid-row:2;width:190px;max-width:48vw}.top-actions .icon-button{width:30px;height:30px}#saveState{margin-right:2px}#globalSearchPanel{padding:12px}#globalSearchResults{grid-template-columns:1fr;max-height:230px}}
