/* MonMap-informed planner anatomy, implemented independently for the virtual case. */
:root{--bg:#f5f6f3;--ink:#292c31;--muted:#7b7f85;--border:#dedfdd;--blue:#1765dc;--shadow:0 1px 5px #00000006}
body{color:var(--ink);font-size:14px}.demo-strip{height:27px;background:#f0f2f5;border-color:#e5e7e9;color:#7c838d;font-size:10px;padding:0 20px}.demo-strip .strip-actions{gap:17px}.site-header{height:59px;border-bottom:1px solid #ddd;box-shadow:0 1px 4px #00000004}.header-inner{max-width:1600px;padding:0 20px}.brand img{width:83px;height:39px}.brand span{font-size:12px;color:#767b83}.nav{gap:25px}.nav-link{font-size:12px}.page{max-width:1600px;padding:17px 20px 35px}.workspace-context{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#82868c;gap:16px;margin-bottom:13px;min-height:21px}.workspace-context>div:first-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.context-school{display:flex;align-items:center;gap:8px;border:0;background:none;color:#575c65;padding:0;font-size:11px}.context-school>.icon{width:15px;height:15px}.context-school>.icon:last-child{width:11px;height:11px;transform:rotate(90deg)}.context-school>span{color:#bbb}.context-term{font-size:10px;color:#909399}.workspace-save{font-size:10px;display:flex;align-items:center;gap:6px;white-space:nowrap;color:#92969c}.workbench{grid-template-columns:minmax(0,1fr) 336px;gap:20px;margin-top:0}.main-region{background:#fff;border:1px solid #dedfdd;border-radius:10px;box-shadow:var(--shadow);overflow:visible}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:59px;padding:12px 16px}.planner-title{display:flex;align-items:center;gap:13px;min-width:0}.planner-title h1{font-size:16px;line-height:1.5;letter-spacing:0;white-space:nowrap}.board-state{display:flex;align-items:center;gap:4px;font-size:10px;background:white;border:1px solid #dcdedc;border-radius:5px;padding:4px 7px;color:#6f7b72;line-height:1.5;white-space:nowrap}.board-state>.icon{width:13px;height:13px}.board-state.pending{color:#9b7737;border-color:#e4dbca}.board-tools{display:flex;align-items:center;gap:5px;flex-shrink:0}.board-tools button{height:28px;min-width:27px;background:none;border:0;padding:4px 6px;display:flex;align-items:center;gap:5px;color:#82858a;border-radius:4px}.board-tools button:hover{background:#f1f2ef;color:#333}.board-tools button .icon{width:15px;height:15px}.board-tools button b{font-size:11px;font-weight:500}.board-tools>span{height:15px;width:1px;background:#e5e5e2;margin:0 5px}.main-tabs{min-height:36px;padding:0 16px;margin:0;gap:23px;border-top:1px solid #f0f0ed;border-bottom:0}.main-tab{font-size:11px;padding:8px 0 9px}.main-tab.active:after{height:2px}.version-select{font-size:10px;padding:3px 7px;margin:5px 0 5px auto;width:128px;height:25px;border-color:#dedfdd;background:#f9faf8;color:#737980}.academic-year{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#252525;color:white;min-height:42px;padding:11px 16px;font-size:10px;letter-spacing:.4px}.academic-year strong{font-weight:600}.academic-year strong>span{margin-left:8px;color:#aaa}.academic-year>span{font-size:9px;color:#999;letter-spacing:0}.semester-row{display:grid;grid-template-columns:119px minmax(0,1fr);min-height:151px;border-bottom:1px solid #e0e0dd}.semester-label{padding:21px 12px;background:#fcfcfb;border-right:1px solid #e5e5e2;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.semester-label strong{font-size:11px;font-weight:500;color:#565b61}.semester-label>span{font-size:9px;color:#96999e}.semester-label>small{font-size:9px;color:#8f9499}.semester-label>.row-status{font-size:9px;color:#b0b4b6;margin-top:4px}.semester-unit-area{padding:10px;min-width:0;transition:background .15s,box-shadow .15s}.semester-unit-area.drag-over{background:#f0f6ff;box-shadow:inset 0 0 0 2px #7ea8ed}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}.course-card.compact-unit{height:105px;border:1px solid #d9dad8;border-radius:5px;box-shadow:0 2px 3px #0000000a;display:flex;overflow:visible;position:relative;animation:none;background:white;transition:transform .15s,box-shadow .15s,border-color .15s;min-width:0}.course-card.compact-unit:before{display:none}.compact-unit:hover{transform:translateY(-1px);border-color:#bfc3cb;box-shadow:0 3px 8px #00000010}.compact-unit:has(.unit-menu){z-index:25}.compact-unit.dragging{opacity:.4}.subject-rail{flex:0 0 23px;border-radius:4px 0 0 4px;background:var(--course-color);display:flex;align-items:center;justify-content:center;color:white;overflow:hidden}.subject-rail span{font-size:9px;font-weight:700;letter-spacing:1px;transform:rotate(-90deg);white-space:nowrap}.unit-main{display:block;min-width:0;flex:1;position:relative;text-align:left;border:0;background:none;padding:10px 8px 8px 10px;cursor:pointer;color:#34363b}.unit-main:disabled{opacity:1;cursor:default}.unit-code-line{display:flex;align-items:center;gap:5px;padding-right:9px;white-space:nowrap;line-height:1.4}.unit-code{font-family:"Segoe UI",sans-serif;font-size:12px;font-weight:750;color:#303239;letter-spacing:.15px}.requirement-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:8px;line-height:1.4;border-radius:3px;padding:2px 4px;font-weight:700;letter-spacing:.2px;vertical-align:middle;background:#f1f2f0;color:#6f7873}.requirement-badge.mandatory{background:#ffe55b;color:#57470e}.requirement-badge.elective{background:#e8f0eb;color:#617367}.unit-main h3{font-size:12px;font-weight:400;line-height:1.45;height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:5px 0 6px}.unit-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:9px;line-height:1.5;color:#81868b;white-space:nowrap}.unit-state{font-size:8px;color:#a2a7ab;display:flex;align-items:center;gap:3px}.unit-state.unverified{color:#ab863f}.unit-state>.icon{width:10px;height:10px}.unit-menu-trigger{position:absolute;right:1px;top:4px;border:0;background:none;color:#8a8d91;width:20px;height:22px;display:grid;place-items:center;padding:3px;border-radius:3px}.unit-menu-trigger .icon{width:13px;height:13px}.unit-menu-trigger:hover{background:#f0f1ee;color:#333}.unit-menu{position:absolute;right:3px;top:28px;z-index:30;min-width:132px;background:#fff;border:1px solid #d9dbd8;border-radius:5px;padding:4px;box-shadow:0 5px 18px #0000001a}.unit-menu button{border:0;background:none;display:block;text-align:left;width:100%;padding:8px 10px;font-size:11px;color:#61666d;border-radius:3px}.unit-menu button:hover{background:#f1f3f7;color:#1765dc}.add-unit-tile{height:105px;border:1px dashed #e1e2de;border-radius:5px;background:#fdfefc;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;color:#9ca09f;cursor:pointer}.add-unit-tile:hover{border-color:#a7bbd9;background:#f7faff;color:#1765dc}.add-unit-tile span{font-size:25px;font-weight:300;line-height:1.2}.add-unit-tile b{font-size:9px;font-weight:400}.empty-map-hint{font-size:10px;color:#aaafae;margin:14px 0 3px}.structure-reference{padding:22px 18px 10px}.structure-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.structure-heading h2{font-size:11px;color:#666d76;font-weight:500}.structure-heading>span{font-size:9px;color:#a7abad}.structure-row{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid #f0f0ed}.structure-row:last-child{border-bottom:0}.structure-row>div{flex:1;min-width:0}.structure-row strong{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500;color:#4e555f}.structure-row p{font-size:10px;color:#9b9fa5;margin-top:5px;line-height:1.65}.structure-branch{width:12px;height:26px;border-left:1px solid #d9dcda;border-bottom:1px solid #d9dcda;flex-shrink:0;margin-left:2px;align-self:flex-start}.structure-count{font-size:11px;font-family:"Segoe UI",sans-serif;color:#8d959e;width:29px}.structure-row>button{display:flex;align-items:center;gap:3px;border:0;background:none;padding:5px 0;font-size:10px;color:#7e8ba0;white-space:nowrap}.structure-row>button .icon{width:12px;height:12px}.board-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-top:1px solid #eceeea;background:#fdfefd}.board-bottom>span{font-size:10px;color:#a2a7ab}.board-bottom>.btn{font-size:10px;min-height:30px;padding:5px 9px;color:#7e8790;background:white;border-color:#dedfdd}.board-bottom .icon{width:13px;height:13px}.board-note.subtle-note{margin:0;padding:10px 18px 14px;font-size:9px;color:#a4a9ae}.main-region>.notice{margin:11px 14px;font-size:10px;padding:9px 11px}.report-map-meta{padding:12px 16px;font-size:11px;color:#777d84;display:flex;justify-content:space-between;gap:10px}.report-map-meta>span{font-size:9px;color:#a4a8ad}.report-reason{margin:0;padding:14px 18px 19px;border-top:1px solid #ebede9}.report-reason h3{font-size:12px}.report-reason p{font-size:11px;color:#858b92}.report-reason details{font-size:10px}.report-reason summary{padding:5px 0;color:#7d8ca1}.aside{border-color:#dedfdd;border-radius:10px;top:14px;box-shadow:var(--shadow)}.aside-tabs{min-height:44px;padding:0;gap:0;border-color:#dedfdd}.aside-tab{font-size:12px;flex:1;border-right:1px solid #e6e7e3;color:#7a7d83}.aside-tab:last-child{border-right:0}.aside-tab.active{background:#ffeb70;color:#4c431e;font-weight:600}.aside-tab.active:after{display:none}.aside-body{padding:13px}.aside-footer{padding:12px 13px 11px;border-top-color:#e7e9e5}.aside-footer .btn.large{min-height:39px;font-size:12px;border-radius:5px;box-shadow:none}.aside-footer .footnote{font-size:9px;margin-top:6px;color:#a2a7ae}.context-program{background:#f9faf7;border:1px solid #e3e5de;border-radius:5px;padding:12px;margin-bottom:13px}.context-program-label{display:flex;justify-content:space-between;font-size:9px;color:#969b9f;margin-bottom:9px}.context-program small{font-size:10px;color:#8a8d91}.context-program strong{display:block;font-size:13px;color:#3c4148;line-height:1.8}.context-program p{font-size:10px;color:#a1a5a6}.context-program>div{display:flex;justify-content:space-between;border-top:1px solid #e4e6df;margin-top:11px;padding-top:8px;font-size:9px;color:#92999b}.next-card{padding:11px 12px;border-radius:5px;background:#fff8e8}.next-card strong{font-size:11px}.next-card p{font-size:10px}.aside-section{margin-top:18px}.aside-label{font-size:10px;margin-bottom:10px;color:#777e86}.aside-label .small{font-size:9px}.load-summary strong{font-size:30px;color:#41464c}.load-summary span{font-size:10px;color:#9ca2a9}.load-hint{font-size:9px;color:#a5abb0}.requirement-row{font-size:10px;margin:11px 0;color:#7b838e}.requirement-track{height:3px;background:#eeefeb}.requirement-track span{background:#d1d7dc}.check-row{font-size:10px;margin:11px 0;color:#8c939c}.check-row .text-btn{font-size:10px;color:#71879f}.check-row .small{font-size:9px}.section-source{font-size:9px;margin-top:17px;padding-top:12px}.panel-head h3{font-size:14px}.search-count{font-size:9px;margin:11px 0}.search-result{border:1px solid #dedfdd;border-radius:5px;margin:5px 0;padding:8px 33px 8px 12px;position:relative;min-height:72px;background:#fff;gap:5px}.search-result:first-child{padding-top:8px}.search-result:last-child{border-bottom:1px solid #dedfdd}.search-result:hover{border-color:#bfc6cd;background:#fdfefc}.result-rail{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--course-color);border-radius:4px 0 0 4px}.result-code-line{display:flex;align-items:center;gap:5px;line-height:1.5}.result-code-line>.course-code{font-size:11px;font-weight:700;color:#454950;letter-spacing:0}.result-code-line>span:nth-child(2){font-size:9px;color:#a6a9ae}.result-main strong{font-size:11px;font-weight:400;line-height:1.5;margin:3px 0}.result-meta{gap:6px;font-size:9px;color:#999fa5}.period-badge{display:inline-flex;align-items:center;justify-content:center;font-size:8px;line-height:1.4;padding:2px 4px;border-radius:3px;background:#ffe86b;color:#645218;font-weight:600;white-space:nowrap}.quick-add{position:absolute;right:6px;top:18px;width:24px;height:28px;min-width:24px;background:none;border:0;margin:0;color:#777c83}.quick-add .icon{width:14px;height:14px}.template-title{border-top:1px solid #e4e6e1;padding-top:17px;margin-top:19px;margin-bottom:10px;font-size:9px;color:#a2a7aa;letter-spacing:.4px}.unit-template{border:1px solid #e2e5de;border-radius:5px;padding:11px;display:flex;justify-content:space-between;gap:9px;align-items:center}.unit-template strong{display:flex;align-items:center;gap:6px;font-size:11px;color:#5b6169;font-weight:500}.unit-template>div>span{font-size:9px;color:#a4a9ae;display:block;margin-top:5px}.unit-template>button{display:flex;align-items:center;gap:5px;border:0;background:none;color:#6e7c91;padding:5px;font-size:10px}.unit-template>button .icon{height:13px;width:13px}.drag-help{font-size:9px;color:#a9afb3;margin-top:11px}.faculty-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#6e7379;background:#f1f3ef;border:1px solid #e8ebe4;border-radius:3px;padding:3px 6px}.faculty-badge i{height:6px;width:6px;border-radius:1px;background:var(--course-color)}
.drawer-backdrop{display:none}
.unit-code{font-size:14px}.unit-main h3{font-size:13px}.requirement-badge{font-size:9px}.result-code-line>.course-code{font-size:12px}
/* Target-semester selection dialog: candidates stay visible next to the preview. */
dialog.unit-picker{width:960px;max-width:calc(100vw - 42px);height:min(760px,86dvh);max-height:86dvh;border:1px solid #dfe1dc;border-radius:10px;box-shadow:0 22px 65px #20252233;overflow:hidden;padding:0}dialog.unit-picker[open]{display:flex;flex-direction:column}.picker-header{padding:14px 18px 13px;border-bottom:1px solid #e2e4de;background:#fff;flex-shrink:0}.picker-heading{display:flex;align-items:center;gap:12px}.picker-heading h2{font-size:14px;font-weight:600;line-height:1.5}.picker-heading h2>span{font-size:11px;color:#9da2a7;font-weight:400;margin-left:5px}.picker-heading>span{font-size:10px;color:#a7abad}.picker-heading .close-btn{margin-left:auto;width:27px;height:27px;border-radius:4px;background:#f5f6f2}.picker-header .search-wrap{margin:11px 0 0}.picker-header .input{font-size:13px;height:41px;min-height:41px;background:#fdfefb;border-color:#dadfd6;border-radius:5px}.picker-header .search-wrap>.icon{top:12px;width:16px;height:16px}.picker-content{display:grid;grid-template-columns:39% minmax(0,1fr);flex:1;min-height:0;background:#fff}.picker-list{padding:8px;border-right:1px solid #dedfda;overflow-y:auto;min-height:0;scrollbar-width:thin}.picker-filters{display:flex;gap:5px;align-items:center;padding:3px 2px 9px;border-bottom:1px solid #f0f1ec;margin-bottom:5px}.picker-filters>.filter{font-size:9px;padding:4px 8px;border-radius:4px}.picker-filters>span{margin-left:auto;font-size:9px;color:#b1b5b7}.picker-result{display:block;position:relative;border:1px solid transparent;border-radius:5px;background:#fff;text-align:left;width:100%;padding:11px 12px 9px 15px;min-height:87px;margin:3px 0;color:#4b5057}.picker-result:hover{background:#f7f8f4}.picker-result.selected{background:#eceee7;border-color:#e1e4d9}.picker-result-rail{position:absolute;top:8px;bottom:8px;left:3px;width:4px;border-radius:3px;opacity:.85}.picker-result-top{display:flex;align-items:center;gap:6px}.picker-result-top strong{font-size:11px;font-family:"Segoe UI",sans-serif;font-weight:750}.picker-result-top>span:last-child{margin-left:auto;color:#a2a6a6;font-size:9px}.picker-result-name{font-size:12px;margin-top:4px;line-height:1.7}.picker-result-meta{display:flex;align-items:center;gap:6px;margin-top:4px;color:#a3a8a6;font-size:8px}.picker-added{margin-left:auto;color:#6c9578}.picker-preview{min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin}.picker-fit{display:flex;align-items:center;gap:5px;background:#eff8ef;border-bottom:1px solid #dfe9dc;padding:9px 17px;font-size:10px;color:#648b6a;position:sticky;top:0;z-index:1}.picker-fit>.icon{width:13px;height:13px}.picker-fit>span{font-size:8px;color:#a3b0a2;margin-left:auto}.picker-preview-inner{padding:18px 20px 20px}.preview-code-line{display:flex;gap:7px;align-items:center;font-size:10px;color:#a6aaae}.preview-code-line>strong{font-size:16px;color:#383c43;font-family:"Segoe UI",sans-serif;letter-spacing:.1px}.preview-code-line .tag{padding:2px 5px;font-size:9px}.picker-preview-inner>h3{font-size:19px;margin:5px 0 3px;font-weight:500;color:#3e4249}.preview-en{font-size:11px;color:#999fa4}.preview-labels{display:flex;align-items:center;gap:5px;margin:13px 0 16px;flex-wrap:wrap}.preview-labels .tag{font-size:9px;border-radius:3px;padding:3px 6px}.picker-preview-inner>section{border-top:1px solid #e6e8e1;padding-top:15px;margin-top:15px}.picker-preview-inner h4{font-size:9px;letter-spacing:.5px;color:#9a9fa3;margin-bottom:8px;font-weight:400}.picker-preview-inner section>p{font-size:11px;color:#7e868d;line-height:1.95}.picker-preview-inner>.topics{margin-top:8px}.picker-preview-inner .topics span{font-size:9px;background:#f2f4ef;color:#8b928f;padding:3px 6px;border-radius:3px}.offering-line{display:flex;gap:15px;align-items:center;font-size:10px;color:#a1a7a7}.offering-line b{font-weight:400;font-size:10px;color:#7f8786;background:#f0f2ec;padding:3px 8px;border-radius:4px}.picker-preview-inner>small{display:block;font-size:9px;color:#b3b8b7;margin-top:17px}.picker-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #dfe2da;padding:12px 17px;background:#fff;flex-shrink:0}.picker-footer>span{font-size:9px;color:#a6acae;max-width:300px}.picker-footer>div{display:flex;gap:8px}.picker-footer .btn{font-size:11px;min-height:35px;border-radius:5px;padding:7px 12px}.label-guide-list{display:grid;gap:12px;margin:16px 0}.label-guide-list>div{display:flex;align-items:center;gap:12px}.label-swatch{width:7px;height:31px;border-radius:3px;flex-shrink:0}.label-guide-list p{font-size:12px;line-height:1.9}.guide-bar{margin:0 0 14px;padding:9px 13px;background:#f6f8fc;border-color:#e1e6ef;border-radius:5px}.guide-title{font-size:11px}.guide-desc{font-size:10px}.guide-bar+.workbench{margin-top:0}.guide-copy>.icon{width:17px;height:17px}.guide-action{font-size:10px}
@media(max-width:1170px) and (min-width:801px){.workbench{grid-template-columns:minmax(0,1fr) 310px;gap:15px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-toolbar{padding:10px 12px}.planner-title{gap:9px}.planner-title h1{font-size:14px}.board-state{font-size:9px;padding:3px 5px}.semester-row{grid-template-columns:100px minmax(0,1fr)}.semester-label{padding:16px 10px}.structure-row{gap:9px}}
@media(max-width:800px){.page{padding:13px 13px 97px}.demo-strip{height:27px;padding:0 13px;font-size:9px}.demo-strip .strip-actions{gap:10px}.demo-description{max-width:43%}.site-header{height:55px}.header-inner{padding:0 14px}.brand img{width:73px;height:35px}.nav{gap:16px}.nav-link{font-size:11px}.workspace-context{margin-bottom:11px;font-size:10px;gap:10px}.workspace-context>div:first-child{gap:3px 10px}.context-school{font-size:10px}.context-school>.icon{width:13px;height:13px}.context-term{font-size:9px;padding-left:21px}.workspace-save{font-size:8px;align-self:flex-start;margin-top:3px}.workbench{display:block;margin:0}.main-region{border-radius:7px}.planner-toolbar{min-height:51px;padding:10px}.planner-title{gap:7px}.planner-title h1{font-size:14px}.board-state{font-size:8px;padding:3px 5px;gap:3px}.board-state>.icon{width:11px;height:11px}.board-tools{gap:1px}.board-tools button{min-width:22px;width:22px;padding:3px}.board-tools button .icon{width:13px;height:13px}.board-tools button b,.board-tools>span{display:none}.main-tabs{min-height:35px;padding:0 10px;gap:18px}.main-tab{font-size:10px;padding:8px 0}.version-select{font-size:8px;width:98px;max-width:106px;height:24px}.academic-year{min-height:36px;padding:9px 11px;font-size:9px}.academic-year>span{font-size:8px}.semester-row{display:block}.semester-label{border-right:0;border-bottom:1px solid #eceee8;padding:11px 12px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px}.semester-label strong{font-size:10px}.semester-label>span:not(.row-status){display:none}.semester-label>small{font-size:9px}.semester-label>.row-status{margin:0 0 0 auto;font-size:8px}.semester-unit-area{padding:9px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-card.compact-unit{height:103px}.subject-rail{flex-basis:20px}.subject-rail span{font-size:8px}.unit-main{padding:10px 6px 7px 8px}.unit-code{font-size:11px}.unit-code-line{gap:4px;padding-right:8px}.requirement-badge{font-size:7px;padding:2px 3px}.unit-main h3{font-size:12px;height:34px;margin-top:6px}.unit-meta{font-size:9px}.unit-state{font-size:7px;gap:2px}.unit-state>.icon{width:9px;height:9px}.unit-menu-trigger{width:17px;right:0}.unit-menu-trigger .icon{width:11px;height:11px}.unit-menu{min-width:128px;top:28px;right:1px}.unit-menu button{font-size:12px;padding:10px}.add-unit-tile{height:103px}.empty-map-hint{font-size:9px;line-height:1.8}.structure-reference{padding:19px 11px 8px}.structure-heading h2{font-size:10px}.structure-heading>span{font-size:8px}.structure-row{gap:8px;padding:13px 0}.structure-row strong{font-size:10px;gap:5px}.structure-row p{font-size:9px}.structure-branch{width:9px;height:23px}.structure-count{font-size:10px;width:22px}.structure-row>button{font-size:9px}.board-bottom{padding:11px;gap:9px}.board-bottom>span{font-size:9px;line-height:1.8}.board-bottom>.btn{font-size:9px;white-space:nowrap}.board-note.subtle-note{font-size:8px;padding:8px 11px 12px;line-height:1.9}.main-region>.notice{margin:9px 10px;padding:10px;font-size:10px}.main-region>.notice .notice-title{font-size:10px}.report-map-meta{font-size:10px;padding:11px 10px}.report-map-meta>span{font-size:8px}.report-reason{padding:13px 11px}.report-reason h3{font-size:11px}.report-reason p{font-size:10px}.aside.open{inset:65px 0 0;max-height:none!important}.aside-body{padding:18px}.aside-tabs{min-height:46px}.aside-tab{font-size:13px}.aside-footer{padding:13px 18px max(14px,env(safe-area-inset-bottom))}.aside-footer .btn.large{min-height:43px;font-size:14px}.context-program strong{font-size:15px}.context-program-label{font-size:10px}.context-program small,.context-program p{font-size:11px}.context-program>div{font-size:10px}.next-card strong{font-size:13px}.next-card p{font-size:11px}.aside-label{font-size:12px}.aside .requirement-row{font-size:11px}.aside .check-row,.aside .check-row .text-btn{font-size:12px}.aside .check-row .small{font-size:10px}.aside .load-summary span,.aside .load-hint{font-size:11px}.search-result{min-height:80px;padding:10px 35px 10px 14px}.search-result:first-child{padding-top:10px}.result-main strong{font-size:13px}.result-code-line>.course-code{font-size:12px}.result-code-line>span:nth-child(2),.result-meta{font-size:10px}.search-result .requirement-badge{font-size:8px}.period-badge{font-size:8px}.quick-add{right:9px;top:22px}.unit-template strong{font-size:13px}.unit-template>div>span,.drag-help{font-size:10px}.unit-template>button{font-size:12px}.mobile-bottom{padding:10px 13px max(10px,env(safe-area-inset-bottom))}.mobile-bottom .btn{border-radius:6px}.mobile-bottom .btn.primary{font-size:13px}.mobile-bottom .btn:first-child{min-width:77px;font-size:11px}.setup-wrap{margin-top:6px}.setup-intro{padding-top:2px}.setup-form{border-color:#dedfdd}.guide-bar{margin:0 0 12px;padding:9px}.guide-copy>.icon{width:15px;height:15px}.guide-title{font-size:10px}.guide-desc{font-size:9px}dialog.unit-picker{width:calc(100vw - 18px);max-width:none;height:90dvh;max-height:90dvh;border-radius:8px}.picker-header{padding:11px 12px}.picker-heading{gap:6px}.picker-heading h2{font-size:13px}.picker-heading>span{display:none}.picker-header .input{font-size:16px;min-height:42px}.picker-content{display:flex;flex-direction:column}.picker-list{border-right:0;border-bottom:1px solid #dfe2da;max-height:208px;flex-shrink:0;padding:7px}.picker-filters{padding:0 2px 7px}.picker-result{min-height:76px;padding:8px 10px 7px 15px;margin:2px 0}.picker-result-top strong{font-size:12px}.picker-result-name{font-size:12px;margin-top:2px}.picker-result-meta{font-size:9px;margin-top:2px}.picker-preview{flex:1;min-height:0}.picker-fit{padding:8px 12px;font-size:10px}.picker-fit>span{font-size:7px}.picker-preview-inner{padding:13px}.preview-code-line>strong{font-size:15px}.picker-preview-inner>h3{font-size:18px}.picker-preview-inner section>p{font-size:12px}.picker-footer{padding:10px 11px;display:block}.picker-footer>span{display:block;font-size:8px;margin-bottom:8px;max-width:none}.picker-footer>div{justify-content:space-between;gap:8px}.picker-footer .btn{font-size:10px;padding:8px 10px}.picker-footer .btn.primary{flex:1}.picker-preview-inner h4{font-size:10px}.picker-preview-inner .topics span{font-size:9px}.offering-line,.offering-line b{font-size:10px}}

@media(max-width:800px){.drawer-backdrop{display:block}.demo-description{flex:1;min-width:0;max-width:40%}.unit-code{font-size:11px}.unit-main h3{font-size:12px}.requirement-badge{font-size:8px}}
@media(max-width:380px){.planner-title{flex-wrap:wrap;gap:3px 6px}.planner-title h1{font-size:13px}.board-state{font-size:7px;padding:2px 4px}.board-tools{gap:0}}
