:root{--tech-blue:#1557c2;--tech-blue-deep:#104cae;--tech-blue-soft:#6388ca;--tech-cyan:#38bee2;--ink:#242321;--muted:#625f5b;--paper:#f6f5f4;--panel:#fff;--input:#fff;--subtle:#faf9f8;--line:#e4e2df;--cell:#fff;--week1:#f3f7fd;--week2:#f8f5ef;--shadow:0 1px 3px rgba(29,27,24,.04)}*{box-sizing:border-box}html{scrollbar-gutter:auto;overflow-y:overlay}body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}button,input,select{font:inherit}.page-shell{width:min(1480px,calc(100% - 48px));margin:0 auto;padding:0 0 56px}.masthead{min-height:124px;display:grid;grid-template-columns:270px 1fr auto;align-items:center;grid-gap:28px;gap:28px;padding:20px 30px;background:var(--tech-blue);color:#fff;box-shadow:0 2px 7px rgba(16,61,143,.2)}.brand-lockup{display:flex;align-items:center;gap:14px;min-width:0}.tech-logo{display:block;width:54px;max-height:64px;object-fit:contain}.tech-wordmark{display:grid;line-height:.82;letter-spacing:-.04em;font-size:20px;font-weight:700}.tech-wordmark span{font-size:15px;white-space:nowrap}.tech-wordmark strong{font-size:19px;white-space:nowrap}.masthead-title .eyebrow{color:#a9dff1}.masthead h1{color:#fff}.theme-toggle{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:6px;padding:0;color:#fff;background:transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.header-actions>.theme-toggle{margin-top:19px}.theme-toggle svg{width:17px;height:17px;stroke-width:2.25}.theme-toggle:hover{border-color:#fff;background:rgba(255,255,255,.13);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:3px solid #8de0f1;outline-offset:2px}.eyebrow,.step{margin:0 0 5px;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--tech-blue)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,4vw,42px);letter-spacing:-.045em;line-height:1}h2{margin-bottom:4px;font-size:20px;letter-spacing:-.025em}.header-actions{display:flex}.header-note{white-space:pre-line;margin:0;color:#dbe9ff;text-align:right;font-size:12px;line-height:1.45}.language-dropdown{width:92px}.language-dropdown .dropdown-label{color:#dbe9ff;font-size:11px;letter-spacing:.08em}.language-dropdown .dropdown-trigger{min-height:33px;border-color:rgba(255,255,255,.52);color:#fff;background:transparent;padding:6px 8px}.language-dropdown .dropdown-trigger:hover:not(:disabled),.language-dropdown.is-open .dropdown-trigger{border-color:#fff;box-shadow:none}.language-dropdown .dropdown-chevron{color:#fff}.language-dropdown .dropdown-menu{left:auto;min-width:92px}.language-dropdown .dropdown-options{max-height:none}.customizer,.preview,.selection-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.selection-panel{margin-top:26px;padding:25px;border-top:4px solid var(--tech-blue)}.section-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}.section-heading p:not(.step){margin-bottom:0}.step{padding-top:5px;color:var(--tech-cyan)}.selection-refresh-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:13px 0 0;font-size:11px;line-height:1.35}.selection-refresh-badge{display:inline-flex;align-items:center;border:1px solid #a5c7e8;border-radius:999px;padding:2px 7px;color:#174b81;background:#edf6ff;font-size:9px;letter-spacing:.045em;text-transform:uppercase}.selection-refresh-badge.is-archived{border-color:#d7b36a;color:#875a04;background:#fff6df}.select-grid{display:grid;grid-template-columns:1.2fr .9fr 1.5fr .75fr .65fr;grid-gap:12px;gap:12px;align-items:start}.custom-dropdown{position:relative;min-width:0}.dropdown-label{display:block;margin-bottom:6px;font-weight:700}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;border:1px solid var(--line);border-radius:5px;padding:9px 11px;color:var(--ink);background:var(--input);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.custom-dropdown.is-open .dropdown-trigger,.dropdown-trigger:hover:not(:disabled){border-color:var(--tech-blue-soft)}.custom-dropdown.is-open .dropdown-trigger{box-shadow:0 0 0 3px rgba(56,190,226,.22)}.dropdown-trigger:disabled{cursor:not-allowed;color:var(--muted);background:#f5f7fa}.dropdown-placeholder,.dropdown-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-placeholder{color:#8999aa}.dropdown-chevron{flex:0 0 auto;color:var(--tech-blue);font-size:18px;line-height:.8;transform:translateY(-2px);transition:transform .15s}.is-open .dropdown-chevron{transform:rotate(180deg) translateY(2px)}.dropdown-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;overflow:hidden;border:1px solid #b9cbe2;border-radius:6px;background:#fff;box-shadow:0 14px 28px rgba(28,67,112,.2)}.dropdown-search{padding:8px;border-bottom:1px solid var(--line);background:#f5f9fe}.dropdown-search input{width:100%;border:1px solid var(--line);border-radius:4px;padding:8px;color:var(--ink);background:#fff}.dropdown-options{max-height:245px;overflow-y:auto;padding:4px}.dropdown-options button{display:block;width:100%;border:0;border-radius:4px;padding:9px 8px;color:var(--ink);background:transparent;text-align:left;font-size:13px;cursor:pointer}.dropdown-options button:focus-visible,.dropdown-options button:hover{background:#e8f3ff;outline:none}.dropdown-options button.is-selected{color:var(--tech-blue-deep);background:#dceeff;font-weight:700}.dropdown-empty{margin:0;padding:12px 8px;color:var(--muted);font-size:13px}.customizer fieldset select{width:100%;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:11px 30px 11px 11px;background:var(--input)}.customizer fieldset select:focus,button:focus-visible,input:focus-visible{outline:3px solid #8de0f1;outline-offset:2px}.status{padding:28px;text-align:center;color:var(--muted)}.status.error{color:#b43335}.empty-state{margin:28px auto;min-height:210px;display:grid;place-content:center;text-align:center}.empty-state span{font-size:26px}.empty-state p{margin:8px 0}.schedule-area{display:grid;grid-template-columns:290px minmax(0,1fr);grid-gap:20px;gap:20px;margin-top:20px;align-items:start}.customizer{padding:22px;position:-webkit-sticky;position:sticky;top:18px;border-top:4px solid var(--tech-blue-soft)}.compact{margin-bottom:15px}.compact h2{font-size:18px}.customizer fieldset,.customizer-dropdown{border:0;border-top:1px solid var(--line);padding:16px 0;margin:0}.customizer legend{padding:0;font-size:12px;font-weight:700;color:var(--muted)}.check-list{display:grid;grid-gap:10px;gap:10px;max-height:260px;overflow:auto;padding-top:11px}.check-list.inline{grid-template-columns:1fr 1fr}.custom-checkbox{position:relative;display:flex;gap:9px;align-items:flex-start;color:var(--ink);font-size:13px;line-height:1.3;cursor:pointer}.custom-checkbox input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.custom-checkbox-box{display:grid;flex:0 0 17px;width:17px;height:17px;place-items:center;margin-top:0;border:1.5px solid #9ab0ca;border-radius:3px;color:#fff;background:#fff;transition:background .14s,border-color .14s,transform .14s}.custom-checkbox-box svg{width:13px;height:13px;opacity:0;transform:scale(.55);transition:opacity .12s,transform .12s}.custom-checkbox input:checked+.custom-checkbox-box{border-color:var(--tech-blue);background:var(--tech-blue)}.custom-checkbox input:checked+.custom-checkbox-box svg{opacity:1;transform:scale(1)}.custom-checkbox input:focus-visible+.custom-checkbox-box{outline:3px solid #8de0f1;outline-offset:2px}.custom-checkbox:hover .custom-checkbox-box{border-color:var(--tech-blue)}.custom-checkbox.is-disabled{cursor:not-allowed;opacity:.5}.custom-checkbox-label{min-width:0}.export-button{cursor:pointer;width:100%;border:0;border-radius:5px;padding:13px;background:var(--tech-blue);color:#fff;font-weight:700;box-shadow:0 3px 0 var(--tech-blue-deep);transition:background .15s,transform .15s}.export-button:hover:not(:disabled){transform:translateY(-1px)}.export-button:disabled{opacity:.45;cursor:not-allowed}.export-button span{font-weight:400;opacity:.85}.export-help{color:var(--muted);font-size:11px;line-height:1.45;margin:12px 0 0}.schedule-loading{display:grid;grid-template-columns:290px minmax(0,1fr);grid-gap:20px;gap:20px;min-height:560px;margin-top:20px}.loading-panel{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.loading-customizer{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:26px 22px;border-top:4px solid var(--tech-blue-soft)}.loading-preview{padding:23px;border-top:4px solid var(--tech-cyan)}.loading-preview-heading{display:grid;grid-gap:8px;gap:8px;margin-bottom:24px}.loading-calendar-toolbar{display:flex;justify-content:space-between;padding:12px;border:1px solid #dbe5ef;background:#f8fbff}.loading-calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:395px;border:1px solid #dbe5ef;border-top:0}.loading-calendar-day{display:grid;align-content:start;grid-gap:12px;gap:12px;min-width:0;padding:13px 9px;border-right:1px solid #dbe5ef}.loading-calendar-day:last-child{border-right:0}.preview{padding:23px;overflow:hidden;border-top:4px solid var(--tech-cyan)}.preview-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.preview-heading h2{margin:0}.preview-heading>p{margin:0;font-size:12px;color:var(--muted)}.timetable-wrap{overflow-x:auto;padding-bottom:3px}.timetable{min-width:850px;display:grid;grid-template-columns:76px repeat(5,minmax(145px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.day-cell,.day-head,.time-head,.time-label{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.day-head,.time-head{padding:11px;background:#f0f5fc;color:var(--tech-blue);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.day-head{text-align:center;color:var(--ink)}.time-label{padding:12px 8px;background:var(--subtle);font-size:11px;color:var(--muted);display:grid;align-content:start;grid-gap:2px;gap:2px}.time-label strong{color:var(--ink)}.day-cell{padding:5px;min-height:138px;background:var(--cell)}.lesson-card{border-radius:4px;margin-bottom:5px;padding:10px;font-size:11px;line-height:1.35;border-left:4px solid var(--tech-blue);background:#edf4ff}.lesson-card.week-one{background:var(--week1);border-color:var(--tech-blue)}.lesson-card.week-two{background:var(--week2);border-color:var(--tech-cyan)}.lesson-card:last-child{margin-bottom:0}.lesson-card h3{font-size:12px;line-height:1.2;margin:0 0 5px}.lesson-card p{margin:2px 0}.lesson-time,.week-badge{font-weight:700}.week-badge{display:inline-block;margin-top:6px;font-size:10px;color:var(--tech-blue)}.no-lessons{padding:42px 18px;text-align:center;background:var(--subtle);color:var(--muted);border:1px dashed var(--line);border-radius:5px}@media (max-width:900px){.masthead{grid-template-columns:240px 1fr}.header-actions{grid-column:1/-1;justify-content:space-between}.header-note{text-align:left}.select-grid{grid-template-columns:repeat(2,1fr)}.schedule-area,.schedule-loading{grid-template-columns:1fr}.customizer{position:static}.check-list{max-height:180px}.preview{padding:16px}.loading-customizer{display:none}}@media (max-width:620px){.page-shell{width:100%;padding-bottom:32px}.masthead{grid-template-columns:1fr auto;gap:16px;min-height:0;padding:19px 18px}.tech-logo{width:43px;max-height:52px}.tech-wordmark{font-size:17px}.tech-wordmark span{font-size:14px}.tech-wordmark strong{font-size:16px}.masthead-title{grid-column:1/-1}.masthead h1{font-size:30px}.header-actions{grid-column:1/-1}.header-note{display:none}.selection-panel{margin:16px 14px 0;padding:18px}.select-grid{grid-template-columns:1fr}.schedule-area{margin:16px 14px 0}.preview-heading{align-items:flex-start;gap:8px;flex-direction:column}.timetable{min-width:780px}.day-cell{min-height:125px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.subscription-box{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.subscription-button{cursor:pointer;width:100%;border:0;border-radius:5px;padding:13px;background:#2b7aa8;color:#fff;font-weight:700;box-shadow:0 3px 0 #1f5f84;transition:background .15s,transform .15s}.subscription-button:hover:not(:disabled){background:#1f5f84;transform:translateY(-1px)}.subscription-button:disabled{opacity:.45;cursor:not-allowed}.subscription-box p{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.subscription-box .subscription-message{color:var(--tech-blue-deep);font-weight:700}.subscription-url{width:100%;margin-top:10px;border:1px solid var(--line);border-radius:4px;padding:8px;color:var(--ink);background:#f7fbff;font-size:11px}.timetable-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px;color:var(--muted);font-size:11px}.legend-label{color:var(--ink);font-weight:700}.legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.legend-item i{display:block;width:13px;height:13px;border-radius:3px;border-left:4px solid}.legend-every i{border-color:#315f9d;background:#edf4ff}.legend-week-one i{background:#e6f1ff}.legend-week-two i{border-color:#1591b0;background:repeating-linear-gradient(-45deg,#e2f7fb 0 3px,#c7edf4 3px 6px)}.legend-type-note{margin-left:auto;color:#7a8ea4}.lesson-card{position:relative;border-left-width:5px;background:#f6f9fe;box-shadow:inset 0 0 0 1px rgba(38,84,141,.06)}.lesson-card.every-week{border-color:#315f9d;background:#f1f6fe}.lesson-card.week-one{background:#e8f2ff}.lesson-card.week-two{border-color:#1591b0;background:repeating-linear-gradient(-45deg,#e7f8fb 0 7px,#ddf5f9 7px 14px)}.lesson-card-tags{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}.lesson-type-badge,.week-badge{display:inline-flex;align-items:center;min-height:19px;margin:0;border-radius:999px;padding:3px 6px;font-size:9px;line-height:1.1;font-weight:800;letter-spacing:.035em}.lesson-type-badge{max-width:calc(100% - 62px);overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#536f90}.week-badge{flex:0 0 auto;color:#24466b;background:rgba(255,255,255,.78);border:1px solid rgba(36,70,107,.16)}.type-lecture .lesson-type-badge{background:#1557c2}.type-practice .lesson-type-badge{background:#087f93}.type-lab .lesson-type-badge{background:#6b4fb3}.type-seminar .lesson-type-badge{background:#a35d00}.type-consultation .lesson-type-badge{background:#547088}.lesson-card h3{color:#1f4269;margin-bottom:6px}.lesson-card p{color:#3d5e80}.lesson-time{color:#153e6e!important}.lesson-room:before{display:inline-block;width:13px;color:#6b86a4;font-weight:700;content:"⌂"}@media (max-width:620px){.legend-type-note{width:100%;margin-left:0}.timetable-legend{margin-bottom:12px}}.legend-every i{border-color:#566b84;background:#edf0f4}.legend-week-one i{border-color:#1557c2;background:repeating-linear-gradient(-45deg,#e8f1ff 0 3px,#d7e8ff 3px 6px)}.legend-week-two i{border-color:#c56808;background:repeating-linear-gradient(-45deg,#fff0d8 0 3px,#ffe3b7 3px 6px)}.lesson-card.every-week{border-color:#566b84;background:#f1f3f6}.lesson-card.week-one{border-color:#1557c2;background:repeating-linear-gradient(-45deg,#eaf3ff 0 7px,#e0edff 7px 14px)}.lesson-card.week-two{border-color:#c56808;background:repeating-linear-gradient(-45deg,#fff3df 0 7px,#ffead0 7px 14px)}.every-week .week-badge{color:#465a72;border-color:rgba(70,90,114,.25)}.week-one .week-badge{color:#104fae;border-color:rgba(21,87,194,.25);background:#f7fbff}.week-two .week-badge{color:#a45400;border-color:rgba(197,104,8,.28);background:#fffaf2}.recent-timetables{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.recent-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.recent-heading h3{margin:0;color:var(--muted);font-size:12px}.recent-heading button{border:0;padding:2px;color:var(--tech-blue);background:transparent;font-size:12px;font-weight:700;cursor:pointer}.recent-heading button:hover{text-decoration:underline}.recent-list{display:flex;flex-wrap:wrap;gap:8px}.recent-timetable{display:grid;max-width:280px;grid-gap:2px;gap:2px;border:1px solid #cbd9e9;border-radius:5px;padding:8px 10px;color:var(--ink);background:#f6faff;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.recent-timetable:hover{border-color:var(--tech-blue);background:#e9f3ff;transform:translateY(-1px)}.recent-timetable:focus-visible{outline:3px solid #8de0f1;outline-offset:2px}.recent-timetable span{font-size:12px;font-weight:700}.recent-timetable small,.recent-timetable span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-timetable small{color:var(--muted);font-size:10px}.clear-selection-button{flex:0 0 auto;border:1px solid #c7d6e7;border-radius:4px;padding:7px 9px;color:#496884;background:#f8fbff;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.clear-selection-button:hover:not(:disabled){border-color:#6f93bb;color:var(--tech-blue-deep);background:#edf5ff}.clear-selection-button:disabled{opacity:.48;cursor:not-allowed}@media (max-width:620px){.selection-actions{width:100%;justify-content:stretch;margin-bottom:10px}.selection-actions .clear-selection-button,.selection-actions .favorite-selection-button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);min-width:0;justify-content:center;padding:8px;font-size:11px;line-height:1.2;text-align:center;white-space:normal}.clear-selection-button{margin-bottom:0}}.lesson-room{margin:3px 0!important}.lesson-room:before{display:none}.auditorium-button{display:inline-flex;align-items:center;gap:4px;max-width:100%;border:0;padding:0;color:#315f8d;background:transparent;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:rgba(49,95,141,.35);text-decoration-color:rgba(49,95,141,.35);text-underline-offset:3px}.auditorium-button:hover{color:var(--tech-blue);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.auditorium-button:focus-visible{outline:3px solid #8de0f1;outline-offset:2px;border-radius:2px}.auditorium-button span{flex:0 0 auto;color:#6b86a4}.map-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(15,43,78,.48);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.campus-modal{width:min(540px,100%);max-height:min(760px,calc(100vh - 40px));margin:auto;border:0;border-radius:10px;padding:22px;color:var(--ink);background:#fff;box-shadow:0 24px 70px rgba(10,42,82,.35)}.campus-modal-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.campus-modal-heading p{margin:0 0 4px;color:var(--tech-blue);font-size:10px;font-weight:800;letter-spacing:.1em}.campus-modal-heading h2{margin:0}.map-close{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:#fff;font-size:23px;line-height:1;cursor:pointer}.map-close:hover{color:var(--tech-blue);border-color:#9cb8d6}.campus-location-summary{display:flex;gap:11px;align-items:center;margin:18px 0 14px;padding:12px;border-radius:6px;background:#eff6ff}.facility-code{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:5px;color:#fff;background:var(--tech-blue);font-weight:800}.campus-location-summary strong{font-size:14px}.campus-location-summary p{margin:3px 0 0;color:var(--muted);font-size:12px}.campus-building-guide{position:relative;overflow:hidden;margin-bottom:14px;padding:16px 16px 13px;border:1px solid #cfdeed;border-radius:6px;background:#f7fbff}.campus-road{display:block;margin-bottom:12px;color:#6e86a2;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.facility-grid{display:flex;flex-wrap:wrap;gap:7px}.facility-grid span{display:grid;min-width:43px;min-height:33px;place-items:center;border:1px solid #b8cae0;border-radius:4px;color:#496884;background:#fff;font-size:12px;font-weight:800}.facility-grid span.is-current{border-color:var(--tech-blue);color:#fff;background:var(--tech-blue);box-shadow:0 0 0 3px rgba(56,190,226,.28)}.campus-map{display:block;width:100%;height:235px;border:1px solid var(--line);border-radius:6px;background:#edf2f8}.map-directions{display:flex;justify-content:center;gap:7px;margin-top:14px;border-radius:5px;padding:11px;color:#fff;background:var(--tech-blue);font-size:13px;font-weight:700;text-decoration:none}.map-directions:hover{background:var(--tech-blue-deep)}@media (max-width:620px){.map-backdrop{padding:10px}.campus-modal{max-height:calc(100vh - 20px);padding:18px}.campus-map{height:205px}}.map-backdrop{background:rgba(20,21,24,.5)}.campus-modal{box-shadow:0 24px 70px rgba(14,15,18,.28)}html[data-theme=dark] .map-backdrop{background:rgba(0,0,0,.58)}.sauletekis-map-wrap{margin-bottom:14px;overflow:hidden;border:1px solid #cfdeed;border-radius:6px;background:#f8fbff}.sauletekis-map{display:block;width:100%;padding:8px;background:linear-gradient(135deg,#f8fbff,#edf5ff)}.map-road-line{fill:none;stroke:#cbd5e1;stroke-width:14;stroke-linecap:round}.map-walkway{fill:none;stroke:#d6e2ef;stroke-width:5;stroke-dasharray:5 5}.map-road-label{fill:#7b8fa7;font-size:13px;font-weight:700;letter-spacing:.08em}.map-building{cursor:pointer;outline:none}.map-building path{fill:#b8c6d5;stroke:#53677f;stroke-width:3;transition:fill .14s,stroke .14s}.map-building text{fill:#1557c2;font-size:25px;font-weight:800;text-anchor:middle;pointer-events:none}.map-building:focus path,.map-building:hover path{fill:#d6e8ff;stroke:#1557c2}.map-building.is-active path{fill:#1557c2;stroke:#0c3f92}.map-building.is-active text{fill:#fff}.map-building:focus path{stroke-width:5}.map-you-are-here circle{fill:#38bee2;stroke:#fff;stroke-width:4}.map-you-are-here path{fill:#1557c2}.sauletekis-building-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;border-top:1px solid #cfdeed;background:#cfdeed}.sauletekis-building-list button{display:flex;gap:7px;align-items:baseline;border:0;padding:9px 10px;color:#526e8d;background:#fff;text-align:left;font-size:11px;cursor:pointer}.sauletekis-building-list button:hover{color:#1557c2;background:#f0f7ff}.sauletekis-building-list button.is-active{color:#fff;background:#1557c2}.sauletekis-building-list strong{font-size:12px}.sauletekis-active-building{margin:0!important;padding:9px 12px;color:#315f8d!important;background:#eaf4ff;font-size:12px!important}@media (max-width:620px){.sauletekis-building-list{grid-template-columns:1fr}.sauletekis-map{min-height:310px}}.linkmenu-map-wrap{margin-bottom:14px;overflow:hidden;border:1px solid #cfdeed;border-radius:6px;background:#f8fbff}.linkmenu-map{display:block;width:100%;max-height:410px;padding:8px;background:#f1f6fb}.linkmenu-road-line{fill:none;stroke:#d2dae2;stroke-width:14;stroke-linecap:round}.linkmenu-water{fill:#91b9d2;opacity:.95}.linkmenu-road-label{fill:#718396;font-weight:700;letter-spacing:.07em}.linkmenu-building path{fill:#697486;stroke:#4d5969}.linkmenu-building text{font-size:19px}.linkmenu-building:focus path,.linkmenu-building:hover path{fill:#829bb6}.linkmenu-building-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;border-top:1px solid #cfdeed;background:#cfdeed}.linkmenu-building-list button{display:grid;grid-gap:2px;gap:2px;border:0;padding:8px;color:#526e8d;background:#fff;text-align:left;font-size:10px;cursor:pointer}.linkmenu-building-list button:hover{color:#1557c2;background:#f0f7ff}.linkmenu-building-list button.is-active{color:#fff;background:#1557c2}.linkmenu-building-list strong{font-size:12px}@media (max-width:620px){.linkmenu-building-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.linkmenu-map{max-height:450px;padding:0;background:#edf3ea}.linkmenu-park{fill:#e3f0dc}.linkmenu-highway{fill:#f4b09e}.linkmenu-highway-divider{fill:none;stroke:#fff4df;stroke-width:4;stroke-dasharray:16 10}.linkmenu-street{fill:none;stroke:#e7e9e9;stroke-width:23}.linkmenu-access-road{fill:none;stroke:#fff;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.linkmenu-access-road+.linkmenu-footpath{fill:none;stroke:#e98c7a;stroke-width:2;stroke-dasharray:5 5}.linkmenu-water{fill:#9dcee2;stroke:#7eb6cf;stroke-width:1}.linkmenu-road-label{fill:#525c65;font-size:11px;font-weight:800;letter-spacing:.025em}.linkmenu-site-label{fill:#71866f;font-size:10px;font-weight:800;letter-spacing:.12em;text-anchor:middle}.linkmenu-building path{fill:#78818d;stroke:#4c5764;stroke-width:1.5;transition:fill .16s ease,stroke .16s ease,filter .16s ease}.linkmenu-building text{fill:#fff;font-size:18px;font-weight:800;text-anchor:middle;pointer-events:none}.linkmenu-building:focus path,.linkmenu-building:hover path{fill:#527fae;stroke:#1557c2;filter:drop-shadow(0 2px 2px rgba(27,62,97,.25))}.linkmenu-building.is-active path{fill:#1557c2;stroke:#0c3f92;filter:drop-shadow(0 3px 4px rgba(21,87,194,.34))}.linkmenu-map-key rect{fill:rgba(255,255,255,.92);stroke:#c5d3d9}.linkmenu-map-key circle{fill:#1557c2}.linkmenu-map-key text{fill:#5d6d75;font-size:8px;font-weight:700}@media (prefers-reduced-motion:reduce){.linkmenu-building path{transition:none}}.map-navigation-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:14px}.map-navigation-actions .map-directions,.waze-directions{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:0;border-radius:5px;padding:11px;font-size:12px;font-weight:700;text-align:center;text-decoration:none}.map-navigation-actions img{width:17px;height:17px;flex:0 0 auto;object-fit:contain}.map-navigation-actions .map-directions{border:1px solid #278c45;color:#fff;background:#278c45}.map-navigation-actions .map-directions:hover{border-color:#1f7137;background:#1f7137}.waze-directions{border:1px solid #0099ff;color:#fff;background:#0099ff}.waze-directions:hover{border-color:#007acc;color:#fff;background:#007acc}.map-navigation-actions .map-directions:focus-visible,.waze-directions:focus-visible{outline:3px solid #b7e8ff;outline-offset:2px}.waze-directions strong{font-weight:800;letter-spacing:-.02em}@media (max-width:420px){.map-navigation-actions{grid-template-columns:1fr}}.header-data-status{display:grid;grid-gap:3px;gap:3px}.header-updated{margin:0;color:#a9dff1;text-align:right;font-size:10px;line-height:1.3}.interactive-calendar{border:1px solid #d7e2ef;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(24,66,112,.06);animation:calendar-enter .22s cubic-bezier(.22,.8,.32,1) both}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #dbe5ef;background:#f8fbff}.calendar-mode-switch{display:flex;gap:2px;padding:3px;border-radius:5px;background:#e8f0fa}.calendar-mode-switch button{border:0;border-radius:3px;padding:7px 11px;color:#55718e;background:transparent;font-size:12px;font-weight:800;cursor:pointer}.calendar-mode-switch button:hover{color:#174b81}.calendar-mode-switch button.is-active{color:#fff;box-shadow:0 1px 3px rgba(18,69,150,.24)}.calendar-navigation{display:flex;align-items:center;gap:6px}.calendar-arrow,.calendar-today{border:1px solid #c6d6e7;border-radius:4px;color:#315a85;font-weight:800;cursor:pointer}.calendar-arrow{width:30px;height:30px;font-size:24px;line-height:1}.calendar-today{padding:7px 10px;font-size:11px}.calendar-arrow:hover,.calendar-today:hover{border-color:#6c9ccd;color:#0f4ea8;background:#f2f8ff}.calendar-period-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 18px 13px}.calendar-period-heading h3{margin:0;color:#173f6d;font-size:20px}.calendar-period-heading p{margin:0;color:#7388a0;font-size:11px;white-space:nowrap}.calendar-day-view{padding:0 18px 18px}.calendar-day-heading{display:flex;align-items:baseline;gap:8px;padding:9px 0 13px;border-bottom:2px solid #b9d5ee;color:#587591;text-transform:capitalize}.calendar-day-heading strong{color:#1557c2;font-size:27px;line-height:1}.calendar-day-events{display:grid;grid-gap:10px;gap:10px;padding-top:13px}.calendar-no-events{margin:15px 0 0;border:1px dashed #cbd8e5;border-radius:6px;padding:24px 15px;color:#71859a;text-align:center;font-size:13px}.calendar-month-wrap,.calendar-week-wrap{overflow-x:auto}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));min-width:960px;border-top:1px solid #dbe5ef}.calendar-week-day{min-height:410px;border-right:1px solid #dbe5ef;background:#fff}.calendar-week-day:last-child{border-right:0}.calendar-week-day.is-today{background:#f8fbff}.calendar-date-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #dbe5ef;padding:10px 11px;color:#55718e;background:transparent;text-align:left;cursor:pointer}.calendar-date-button:hover{background:#edf6ff}.calendar-date-button span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.calendar-date-button strong{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;font-size:13px}.is-today .calendar-date-button strong{color:#fff;background:#1557c2}.calendar-week-events{display:grid;align-content:start;grid-gap:7px;gap:7px;padding:8px}.calendar-event{position:relative;overflow:hidden;border:1px solid #dce5ef;border-left:5px solid #566b84;border-radius:5px;padding:8px;color:#1c4977;background:#f6f8fb;text-align:left}.calendar-event.week-one{border-left-color:#1557c2;background:repeating-linear-gradient(-45deg,#eff5ff,#eff5ff 9px,#e5efff 0,#e5efff 17px)}.calendar-event.week-two{border-left-color:#c56808;background:repeating-linear-gradient(-45deg,#fff8eb,#fff8eb 9px,#fff0d8 0,#fff0d8 17px)}.calendar-event.every-week{border-left-color:#566b84;background:#f4f6f8}.calendar-event-top{display:flex;justify-content:space-between;gap:6px;color:#4b6d91;font-size:10px;font-weight:800}.calendar-week-events .calendar-event-top>time{font-size:12px;font-weight:900;letter-spacing:-.01em;line-height:1.15}.calendar-event-markers>span{overflow:hidden;max-width:82px;padding:2px 4px;border:1px solid rgba(82,111,142,.24);border-radius:10px;color:#496887;background:rgba(255,255,255,.72);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.calendar-event h4{margin:7px 0 3px;color:#173f6d;font-size:13px;line-height:1.25}.calendar-event-type{margin:0;color:#566f89;font-size:10px;font-weight:700}.calendar-event.type-lecture .calendar-event-type{color:#1557c2}.calendar-event.type-practice .calendar-event-type{color:#008898}.calendar-event.type-lab .calendar-event-type{color:#6946b7}.calendar-event.type-seminar .calendar-event-type{color:#a05b00}.calendar-event.is-detailed{padding:13px 14px;border-left-width:6px}.calendar-event.is-detailed h4{font-size:16px}.calendar-event.is-detailed .calendar-event-type{margin-top:5px}.calendar-event-room{margin:7px 0 0;color:#4b6f93;font-size:12px}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px;border-top:1px solid #dbe5ef}.calendar-month-weekday{padding:9px 8px;border-right:1px solid #dbe5ef;border-bottom:1px solid #dbe5ef;color:#496a8d;background:#f3f7fc;font-size:10px;font-weight:800;text-align:center;text-transform:uppercase}.calendar-month-weekday:nth-child(7){border-right:0}.calendar-month-day{min-height:114px;display:flex;flex-direction:column;align-items:stretch;border:0;border-right:1px solid #dbe5ef;border-bottom:1px solid #dbe5ef;padding:7px;color:inherit;background:#fff;text-align:left;cursor:pointer}.calendar-month-day:nth-child(7n){border-right:0}.calendar-month-day:hover{background:#f4f9ff}.calendar-month-day.is-outside{background:#fafbfd}.calendar-month-day.is-outside .calendar-month-number{color:#a9b8c7}.calendar-month-day.is-today .calendar-month-number{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;color:#fff;background:#1557c2}.calendar-month-number{margin-bottom:5px;color:#476988;font-size:12px;font-weight:800}.calendar-month-events{display:grid;align-content:start;grid-gap:3px;gap:3px}.calendar-month-event{display:block;overflow:hidden;border-left:3px solid #566b84;border-radius:2px;padding:3px 4px;color:#315675;background:#eef2f6;font-size:9px;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.calendar-month-event.week-one{border-left-color:#1557c2;background:#edf4ff}.calendar-month-event.week-two{border-left-color:#c56808;background:#fff3e1}.calendar-month-event b{margin-right:4px;font-weight:800}.calendar-month-more{color:#416a96;font-size:9px;font-weight:800}.calendar-arrow:focus-visible,.calendar-date-button:focus-visible,.calendar-mode-switch button:focus-visible,.calendar-month-day:focus-visible,.calendar-today:focus-visible{outline:3px solid #8de0f1;outline-offset:-2px}@media (max-width:620px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-navigation{width:100%;justify-content:flex-end}.calendar-period-heading{align-items:flex-start;flex-direction:column;gap:4px}.calendar-period-heading h3{font-size:18px}.calendar-day-view{padding:0 12px 12px}.calendar-event.is-detailed h4{font-size:15px}}.calendar-day-heading .calendar-today-label{margin-left:auto}.calendar-week-day{position:relative}.calendar-month-today-label,.calendar-today-label{display:inline-flex;align-items:center;width:max-content;border-radius:10px;padding:3px 6px;color:#0e4c9d;background:#d9ecff;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.calendar-week-day>.calendar-today-label{position:absolute;top:40px;left:9px;z-index:1}.calendar-week-day.is-today .calendar-week-events{padding-top:29px}.calendar-month-day{position:relative;box-shadow:inset 0 0 0 0 transparent}.calendar-month-day.is-today{box-shadow:inset 0 0 0 2px #1557c2;background:#f4f9ff}.calendar-month-today-label{position:absolute;top:8px;right:7px;font-size:8px}.calendar-month-day.is-today .calendar-month-number{box-shadow:0 0 0 3px rgba(83,177,231,.2)}.calendar-week-day.is-today{background:linear-gradient(180deg,#d6ebff,#e9f5ff 38%,#f8fbff);box-shadow:inset 4px 0 0 #1557c2,inset -2px 0 0 #75c9ed}.calendar-week-day.is-today .calendar-date-button{color:#fff;background:#1557c2;box-shadow:inset 0 -3px 0 #0d438f}.calendar-week-day.is-today .calendar-date-button:hover{background:#0f4da9}.calendar-week-day.is-today .calendar-date-button span{color:#dcefff}.calendar-week-day.is-today .calendar-date-button strong{color:#1557c2;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.16)}.calendar-week-day>.calendar-today-label{color:#fff;background:#0e4d9f;box-shadow:0 2px 5px rgba(16,75,150,.2)}.calendar-week-grid.is-five-day{grid-template-columns:repeat(5,minmax(170px,1fr));min-width:850px}@keyframes calendar-enter{0%{opacity:.38;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.interactive-calendar{animation:none}}.selection-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:7px}.favorite-selection-button{display:inline-flex;align-items:center;gap:5px;border:1px solid #a9c5e1;border-radius:4px;padding:7px 9px;color:#315f8d;background:#f8fbff;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.favorite-selection-button span{color:#cf8b15;font-size:15px;line-height:.8}.favorite-selection-button:hover:not(:disabled){border-color:#cf9b38;color:#775100;background:#fff8e8}.favorite-selection-button.is-saved{border-color:#e2b55c;color:#775100;background:#fff8e7}.favorite-selection-button:disabled{opacity:.48;cursor:not-allowed}.favorite-timetables{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.favorite-list{display:flex;flex-wrap:wrap;gap:8px}.favorite-timetable{display:flex;max-width:300px;border:1px solid #e1c588;border-radius:5px;background:#fffaf0}.favorite-timetable .recent-timetable{max-width:calc(100% - 31px);border:0;border-radius:5px 0 0 5px}.favorite-timetable .recent-timetable:hover{background:#fff3d8;transform:none}.favorite-remove-button{width:31px;flex:0 0 auto;border:0;border-left:1px solid #ecd6a5;border-radius:0 5px 5px 0;color:#9a6d17;background:transparent;font-size:20px;line-height:1;cursor:pointer}.favorite-remove-button:hover{color:#6f4700;background:#ffedc7}.favorite-remove-button:focus-visible,.favorite-selection-button:focus-visible{outline:3px solid #8de0f1;outline-offset:2px}@media (max-width:620px){.favorite-timetable{max-width:100%}}.auditorium-button svg{width:14px;height:14px;flex:0 0 auto;color:#6b86a4;stroke-width:1.9}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:19px 26px;color:#fff;background:var(--tech-blue);box-shadow:0 -1px 5px rgba(16,61,143,.13)}.footer-data-status{display:grid;grid-gap:3px;gap:3px}.footer-data-status p{margin:0;color:#dbe9ff;font-size:11px;line-height:1.4;white-space:pre-line}.footer-data-status p+p{color:#a9dff1;font-size:10px}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.footer-placeholder{border:1px solid rgba(255,255,255,.42);border-radius:4px;padding:7px 9px;color:#dbe9ff;background:transparent;font-size:11px;font-weight:700}.footer-placeholder:disabled{cursor:not-allowed;opacity:.72}@media (max-width:620px){.site-footer{align-items:flex-start;flex-direction:column;gap:14px;margin-top:18px;padding:17px 18px}.footer-links{justify-content:flex-start}}.page-shell{padding-bottom:0}.site-footer{width:100vw;margin:26px 0 0 50%;padding:19px clamp(18px,3vw,52px);transform:translateX(-50%)}@media (max-width:620px){.site-footer{margin-top:18px;padding:17px 18px}}.header-actions{align-items:center;gap:22px}.header-schedule-status{display:grid;justify-items:end;min-width:240px;grid-gap:4px;gap:4px;text-align:right}.header-schedule-status time{color:#9bc9ef;font-size:17px;font-weight:500;letter-spacing:.01em;line-height:1.1}.header-schedule-status p{display:flex;align-items:baseline;justify-content:flex-end;gap:7px;width:100%;margin:0;border-top:1px solid rgba(211,232,255,.72);padding-top:4px;color:#fff;font-size:17px;line-height:1.2}.header-schedule-status strong{font-weight:500}.header-schedule-status span{color:#9bc9ef;font-weight:400}@media (max-width:620px){.header-schedule-status{justify-items:start;min-width:0;text-align:left}.header-schedule-status time{font-size:16px}.header-schedule-status p{justify-content:flex-start;flex-wrap:wrap;font-size:16px}.header-actions{align-items:flex-end;gap:9px}.header-schedule-status{flex:1 1 auto}.header-actions>.theme-toggle{width:32px;height:32px;margin-top:0}.language-dropdown{width:82px}.language-dropdown .dropdown-menu{min-width:82px}}.calendar-event-markers{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.calendar-event-status{display:inline-flex;align-items:center;gap:3px;border-radius:9px;padding:2px 5px;font-size:8px;font-weight:900;letter-spacing:.02em;white-space:nowrap}.calendar-event-status i{display:grid;width:10px;height:10px;place-items:center;border-radius:50%;font-size:8px;font-style:normal;line-height:1}.calendar-event.is-completed h4{color:#7c8fa4;text-decoration:line-through;-webkit-text-decoration-color:rgba(73,101,130,.5);text-decoration-color:rgba(73,101,130,.5)}.calendar-event.is-completed .auditorium-button,.calendar-event.is-completed .auditorium-button span,.calendar-event.is-completed .auditorium-button svg,.calendar-event.is-completed .calendar-event-markers>span,.calendar-event.is-completed .calendar-event-room,.calendar-event.is-completed .calendar-event-top>time,.calendar-event.is-completed .calendar-event-type{color:#8094aa}.calendar-event.is-current{z-index:1;border-color:#00a7bf;box-shadow:0 0 0 2px rgba(0,167,191,.24),0 5px 13px rgba(0,125,160,.18)}.calendar-event.is-current .calendar-event-status{color:#006d7b;background:#c9f4f4}.calendar-event.is-current .calendar-event-status i{position:relative;background:#00a7bf}.calendar-event.is-current .calendar-event-status i:after{content:"";width:4px;height:4px;border-radius:50%;background:#fff}.calendar-event.is-current .calendar-event-top time{color:#007c90}.calendar-event.is-current .calendar-event-status i{animation:calendar-live-pulse 1.6s ease-in-out infinite}@keyframes calendar-live-pulse{50%{box-shadow:0 0 0 4px rgba(0,167,191,.12)}}@media (prefers-reduced-motion:reduce){.calendar-event.is-current .calendar-event-status i{animation:none}}.calendar-toolbar{padding:13px 16px;border-bottom:1px solid #e1e9f2;background:#fbfdff}.calendar-mode-switch{gap:3px;padding:4px;border:1px solid #e0e9f4;border-radius:8px;background:#f1f6fc}.calendar-mode-switch button{min-height:32px;border-radius:5px;padding:7px 12px}.calendar-mode-switch button.is-active{background:#1557c2;box-shadow:0 2px 5px rgba(18,69,150,.22)}.calendar-navigation{gap:5px}.calendar-arrow,.calendar-today{min-height:34px;border-color:#d4e1ef;border-radius:6px;box-shadow:0 1px 2px rgba(33,70,111,.04)}.calendar-arrow{display:grid;width:34px;height:34px;place-items:center;font-size:0}.calendar-arrow svg{width:18px;height:18px;stroke-width:2.7}.calendar-today{padding:7px 12px;color:#1557c2;background:#eef6ff}.calendar-arrow:hover,.calendar-today:hover{border-color:#8bb7e3;background:#e3f1ff}.calendar-period-heading{align-items:center;padding:19px 20px 17px;border-bottom:1px solid #e6edf5;background:#fff}.calendar-period-copy{display:grid;grid-gap:3px;gap:3px;min-width:0}.calendar-period-copy>p{margin:0;color:#6382a2;font-size:10px;font-weight:800;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}.calendar-period-heading h3{font-size:clamp(19px,2.3vw,25px)}.calendar-day-view{padding:14px 20px 20px}.calendar-day-status{display:inline-flex;margin:0 0 10px;border-radius:999px;padding:4px 8px;color:#0d539f;background:#e5f2ff;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.calendar-day-events{padding-top:0}.calendar-no-events{margin-top:0}@media (max-width:620px){.calendar-toolbar{align-items:center;flex-direction:row;justify-content:space-between;gap:6px;padding:11px 12px}.calendar-mode-switch{flex:1 1 auto;min-width:0}.calendar-mode-switch button{flex:1 1;min-width:0;padding:7px 5px;font-size:11px}.calendar-navigation{width:auto;flex:0 0 auto;gap:4px}.calendar-arrow{width:30px;height:32px;min-height:32px}.calendar-arrow svg{width:17px;height:17px}.calendar-today{min-height:32px;padding:7px 8px;font-size:11px}.calendar-period-heading{align-items:flex-start;padding:16px 14px}.calendar-period-heading h3{font-size:20px}.calendar-day-view{padding:12px 14px 14px}}.calendar-day-view{min-height:500px}.calendar-day-events{grid-auto-rows:min-content;align-content:start}.calendar-event.is-detailed{display:grid;grid-template-columns:110px minmax(0,1fr) auto;grid-template-areas:"time subject badge" "time type badge" "time room room";grid-column-gap:10px;column-gap:10px;grid-row-gap:4px;row-gap:4px;min-height:0;padding:15px 18px}.calendar-event.is-detailed .calendar-event-top{display:contents}.calendar-event.is-detailed .calendar-event-top>time{position:relative;display:grid;grid-area:time;grid-template-rows:auto 1fr;align-self:stretch;width:100%;min-height:0;padding:2px 0 2px 12px;color:#174f88;font-size:14px;font-weight:900;letter-spacing:-.01em}.calendar-event.is-detailed .calendar-event-top>time:before{content:"";position:absolute;top:5px;bottom:5px;left:0;width:3px;border-radius:999px;background:#84b8e7}.calendar-event.is-detailed .calendar-event-top>time span{position:relative;z-index:1;line-height:1.15}.calendar-event.is-detailed .calendar-event-top>time span+span{align-self:end;border-top:1px solid #c9dff2;padding-top:7px;color:#5e7e9f}.calendar-event.is-detailed .calendar-event-markers{grid-area:badge;align-self:start;gap:6px}.calendar-event.is-detailed .calendar-event-markers>span{max-width:none;padding:4px 8px;border-radius:999px;font-size:11px;line-height:1.2}.calendar-event.is-detailed .calendar-event-status{padding:4px 8px;border-radius:999px;font-size:10px}.calendar-event.is-detailed .calendar-event-status i{width:12px;height:12px}.calendar-event.is-detailed h4{grid-area:subject;margin:0;font-size:18px;line-height:1.25}.calendar-event.is-detailed .calendar-event-type{grid-area:type;margin:0;font-size:12px}.calendar-event.is-detailed .calendar-event-room{align-self:center;margin:0;border-top:1px solid rgba(122,151,184,.2);padding-top:8px;font-size:13px;grid-area:room}@media (max-width:720px){.calendar-event.is-detailed{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"time badge" "subject subject" "type type" "room room";column-gap:12px}.calendar-event.is-detailed .calendar-event-top>time{font-size:12px}.calendar-event.is-detailed h4{font-size:16px}}@media (max-width:520px){.calendar-event.is-detailed{display:block;padding:13px 14px}.calendar-event.is-detailed .calendar-event-top{display:flex}.calendar-event.is-detailed h4{margin:7px 0 3px}.calendar-event.is-detailed .calendar-event-type{margin-top:5px}.calendar-event.is-detailed .calendar-event-room{border-top:0;padding-top:0;margin-top:7px}.calendar-event.is-detailed .calendar-event-top{flex-wrap:wrap}.calendar-event.is-detailed .calendar-event-top>time{flex:1 1 90px;width:auto}.calendar-event.is-detailed .calendar-event-markers{flex:0 0 auto;min-width:max-content}}@media (max-width:620px){.calendar-day-view{min-height:540px}}.interactive-calendar.is-today-view{border-color:#9ac9ef;box-shadow:0 10px 28px rgba(34,116,190,.11)}.interactive-calendar.is-today-view .calendar-period-heading{border-bottom-color:#a9d8f5;background:linear-gradient(100deg,#edf8ff,#fff 68%)}.calendar-period-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.calendar-period-today{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;color:#fff;background:#1557c2;box-shadow:0 2px 5px rgba(21,87,194,.22);font-size:9px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.interactive-calendar.is-today-view .calendar-period-copy>p{color:#1557c2}@media (max-width:620px){.calendar-period-title-line{align-items:flex-start;gap:7px}.calendar-period-today{margin-top:2px}}.mobile-collapsible-toggle{display:none}@media (max-width:620px){.customizer.is-mobile-collapsible,.selection-panel.is-mobile-collapsible{overflow:hidden;padding:0}.customizer.is-mobile-collapsible{position:static}.mobile-collapsible-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:0;padding:17px 18px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.customizer.is-mobile-collapsible .mobile-collapsible-toggle{background:#fbfdff}.mobile-collapsible-toggle>span{display:flex;align-items:center;gap:11px;min-width:0}.mobile-collapsible-toggle>span>b{color:var(--tech-cyan);font-size:11px;letter-spacing:.12em}.mobile-collapsible-toggle>span>span{display:grid;grid-gap:3px;gap:3px;min-width:0}.mobile-collapsible-toggle strong{color:var(--ink);font-size:16px;line-height:1.15}.mobile-collapsible-toggle small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.mobile-collapsible-toggle svg{flex:0 0 auto;width:19px;height:19px;color:var(--tech-blue);transition:transform .18s ease}.mobile-collapsible-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.mobile-collapsible-toggle:focus-visible{outline:3px solid #8de0f1;outline-offset:-3px}.mobile-collapsible-content{display:grid;grid-template-rows:0fr;overflow:hidden;border-top:1px solid transparent;padding:0 18px;opacity:0;visibility:hidden;transition:grid-template-rows .24s ease,padding .24s ease,border-color .24s ease,opacity .16s ease,visibility 0s linear .24s}.mobile-collapsible-inner{min-height:0;overflow:hidden}.mobile-collapsible-content.is-open{grid-template-rows:1fr;border-top-color:#e3ebf3;padding:0 18px 18px;opacity:1;visibility:visible;transition:grid-template-rows .24s ease,padding .24s ease,border-color .24s ease,opacity .18s ease,visibility 0s}.selection-panel .mobile-collapsible-content.is-open{padding-top:15px}.customizer.is-mobile-collapsible:has(.custom-dropdown.is-open),.mobile-collapsible-content.is-open:has(.custom-dropdown.is-open),.mobile-collapsible-inner:has(.custom-dropdown.is-open),.selection-panel.is-mobile-collapsible:has(.custom-dropdown.is-open){overflow:visible}}.dropdown-menu{transform-origin:top center;animation:dropdown-menu-enter .16s cubic-bezier(.22,.8,.32,1) both}@keyframes dropdown-menu-enter{0%{opacity:0;transform:translateY(-4px) scaleY(.97)}to{opacity:1;transform:translateY(0) scaleY(1)}}@media (prefers-reduced-motion:reduce){.mobile-collapsible-content,.mobile-collapsible-toggle svg{transition:none}.dropdown-menu{animation:none}}.page-shell{display:flex;flex-direction:column;min-height:100dvh}.site-footer{margin-top:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton{position:relative;display:block;overflow:hidden;border-radius:5px;background:#e6eef7;contain:paint}.skeleton:after{content:"";position:absolute;inset:0;transform:translate3d(-110%,0,0);background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.82) 50%,transparent 75%);animation:skeleton-shimmer 1.65s ease-in-out infinite;will-change:transform}.skeleton:nth-child(3n):after{animation-delay:.13s}.skeleton:nth-child(4n):after{animation-delay:.26s}@keyframes skeleton-shimmer{to{transform:translate3d(110%,0,0)}}.skeleton-title{width:66%;height:20px}.skeleton-copy{width:88%;height:11px}.skeleton-rule{width:100%;height:1px;margin:8px 0 1px}.skeleton-check{width:92%;height:17px}.skeleton-check.is-short{width:68%}.skeleton-button{width:100%;height:44px;margin-top:10px;background:#d7e6f8}.skeleton-overline{width:92px;height:9px}.skeleton-heading{width:min(180px,62%);height:23px}.skeleton-tabs{width:132px;height:29px}.skeleton-navigation{width:106px;height:29px}.skeleton-date{width:38px;height:13px}.skeleton-event{width:100%;height:105px;background:#edf3fb}.skeleton-event.is-short{height:76px}.page-loading-shell{padding-bottom:0}.loading-masthead .skeleton{background:rgba(210,233,255,.27)}.loading-brand{display:flex;align-items:center;gap:12px}.loading-brand-mark{width:42px;height:42px;border-radius:6px}.loading-brand-line{width:124px;height:12px;margin:3px 0}.loading-brand-line.is-short{width:92px}.loading-hero-line{width:min(460px,78%);height:34px}.loading-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:17px}.loading-status-line{width:180px;height:34px}.loading-language{width:92px;height:38px;border:1px solid rgba(255,255,255,.3);background:transparent!important}.loading-selection{display:grid;grid-gap:13px;gap:13px}.loading-selection-fields{display:grid;grid-template-columns:1.2fr .9fr 1.5fr .75fr .65fr;grid-gap:12px;gap:12px}.loading-selection-field{height:42px}.page-loading-timetable{margin-bottom:26px}.campus-map-frame{position:relative;height:235px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#edf2f8}.campus-map-frame .campus-map{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;opacity:0;transition:opacity .22s ease}.campus-map-frame .campus-map.is-loaded{opacity:1}.map-loading-skeleton{position:absolute;inset:0;overflow:hidden;background:linear-gradient(145deg,#edf5fc,#dfeaf5)}.map-loading-skeleton:before{content:"";position:absolute;inset:12% 9%;border:1px solid rgba(99,136,202,.14);border-radius:45% 40% 50% 36%}.map-loading-skeleton .skeleton{position:absolute;background:#cdddeb}.map-loading-road{opacity:.8}.map-loading-road.is-vertical{top:-8%;bottom:-8%;left:47%;width:11%;transform:rotate(14deg)}.map-loading-road.is-horizontal{top:50%;left:-8%;width:116%;height:8%;transform:rotate(-7deg)}.map-loading-building{border-radius:3px;background:#aebfd3!important}.map-loading-building.building-one{top:23%;left:18%;width:18%;height:23%}.map-loading-building.building-two{right:17%;bottom:20%;width:22%;height:17%}.map-loading-building.building-three{top:20%;right:29%;width:13%;height:28%}.map-loading-water{right:10%;bottom:8%;width:23%;height:31%;border-radius:48% 52% 46% 54%!important;background:#b6d9eb!important}@media (max-width:900px){.loading-selection-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.page-loading-shell{padding-bottom:0}.loading-masthead{gap:16px}.loading-hero-line{grid-column:1/-1;width:86%;height:30px}.loading-header-actions{grid-column:1/-1;justify-content:space-between}.loading-status-line{width:174px}.loading-selection{margin:16px 14px 0;padding:18px}.loading-selection-fields{grid-template-columns:1fr;gap:10px}.loading-selection-field:nth-child(n+3){display:none}.schedule-loading{min-height:420px;margin:16px 14px 18px;gap:0}.loading-preview{padding:14px}.loading-preview-heading{margin-bottom:17px}.loading-calendar-toolbar{padding:10px}.skeleton-tabs{width:116px}.skeleton-navigation{width:82px}.loading-calendar-grid{grid-template-columns:1fr;min-height:0}.loading-calendar-day{min-height:292px;padding:14px}.loading-calendar-day:not(:first-child){display:none}.skeleton-event{height:96px}.skeleton-event.is-short{height:78px}.campus-map-frame{height:205px}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}html[data-theme=dark]{color-scheme:dark;--tech-blue:#1557c2;--tech-blue-deep:#104cae;--tech-blue-soft:#6388ca;--tech-cyan:#5bd7ee;--ink:#eef1f5;--muted:#b7bec8;--paper:#0b0d10;--panel:#15191f;--input:#101419;--subtle:#1b2027;--line:#343c46;--cell:#171c22;--week1:#1c222a;--week2:#202328;--shadow:0 12px 28px rgba(0,0,0,.36)}html[data-theme=dark] body{color:var(--ink);background-color:var(--paper);background-image:linear-gradient(112deg,transparent 42%,rgba(72,80,90,.12) 50%,transparent 58%),radial-gradient(ellipse at 82% 18%,rgba(21,87,194,.05),transparent 46%);background-repeat:no-repeat;background-size:220% 100%,150% 150%;background-position:-120% 0,100% 0;animation:dark-surface-shimmer 20s cubic-bezier(.4,0,.2,1) infinite alternate}html[data-theme=dark] ::selection{color:#fff;background:var(--tech-blue-deep)}@keyframes dark-surface-shimmer{0%{background-position:-120% 0,100% 0}to{background-position:120% 0,0 100%}}@media (prefers-reduced-motion:reduce){html[data-theme=dark] body{animation:none;background-position:50% 0,50% 50%}}html[data-theme=dark] .campus-modal,html[data-theme=dark] .customizer,html[data-theme=dark] .interactive-calendar,html[data-theme=dark] .loading-panel,html[data-theme=dark] .preview,html[data-theme=dark] .selection-panel{background:var(--panel);border-color:var(--line)}html[data-theme=dark] .customizer,html[data-theme=dark] .interactive-calendar,html[data-theme=dark] .loading-panel,html[data-theme=dark] .preview,html[data-theme=dark] .selection-panel{box-shadow:0 10px 28px rgba(0,0,0,.22)}html[data-theme=dark] .customizer fieldset select,html[data-theme=dark] .dropdown-menu,html[data-theme=dark] .dropdown-search,html[data-theme=dark] .dropdown-search input,html[data-theme=dark] .dropdown-trigger{color:var(--ink);background:var(--input);border-color:var(--line)}html[data-theme=dark] .dropdown-options button{color:var(--ink)}html[data-theme=dark] .dropdown-options button:focus-visible,html[data-theme=dark] .dropdown-options button:hover{background:#262d35}html[data-theme=dark] .dropdown-options button.is-selected{color:#eef1f5;background:#303b48}html[data-theme=dark] .dropdown-trigger:disabled{color:#a4afbb;background:#1d232a}html[data-theme=dark] .dropdown-placeholder{color:#a4afbb}html[data-theme=dark] .dropdown-chevron{color:#899db2}html[data-theme=dark] .custom-dropdown .dropdown-autocomplete:focus-within,html[data-theme=dark] .custom-dropdown.is-open .dropdown-trigger{box-shadow:0 0 0 3px rgba(99,136,202,.14)}html[data-theme=dark] .theme-toggle{color:#f8fbff;border-color:rgba(214,234,255,.55);background:rgba(9,26,49,.25)}html[data-theme=dark] .theme-toggle:hover{border-color:#fff;background:rgba(255,255,255,.14)}html[data-theme=dark] .theme-toggle:focus-visible{outline-color:#8de0f1}html[data-theme=dark] .language-dropdown .dropdown-chevron,html[data-theme=dark] .language-dropdown .dropdown-label,html[data-theme=dark] .language-dropdown .dropdown-trigger{color:#fff}html[data-theme=dark] .language-dropdown .dropdown-trigger{border-color:rgba(255,255,255,.52);background:transparent}html[data-theme=dark] .language-dropdown .dropdown-trigger:hover:not(:disabled),html[data-theme=dark] .language-dropdown.is-open .dropdown-trigger{border-color:#fff;background:rgba(255,255,255,.13);box-shadow:none}html[data-theme=dark] .loading-calendar-day,html[data-theme=dark] .loading-calendar-grid,html[data-theme=dark] .loading-calendar-toolbar{border-color:var(--line)}html[data-theme=dark] .loading-calendar-toolbar{background:#1a1f25}html[data-theme=dark] .skeleton{background:#29313b}html[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent 25%,rgba(111,124,140,.3) 50%,transparent 75%)}html[data-theme=dark] .loading-masthead .skeleton{background:rgba(210,233,255,.27)}html[data-theme=dark] .loading-masthead .skeleton:after{background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.42) 50%,transparent 75%)}html[data-theme=dark] .customizer.is-mobile-collapsible .mobile-collapsible-toggle,html[data-theme=dark] .mobile-collapsible-toggle{color:var(--ink);background:var(--panel)}html[data-theme=dark] .mobile-collapsible-content{border-top-color:transparent}html[data-theme=dark] .mobile-collapsible-content.is-open{border-top-color:var(--line)}html[data-theme=dark] .clear-selection-button,html[data-theme=dark] .favorite-selection-button,html[data-theme=dark] .recent-timetable{color:#bed8f2;border-color:#385773;background:#14283e}html[data-theme=dark] .clear-selection-button:hover:not(:disabled),html[data-theme=dark] .recent-timetable:hover{color:#fff;border-color:#6da8e5;background:#1d3a59}html[data-theme=dark] .favorite-selection-button.is-saved{color:#ffe0a2;border-color:#a87c2c;background:#3b2c13}html[data-theme=dark] .favorite-timetable{border-color:#8c6b31;background:#2b2417}html[data-theme=dark] .favorite-timetable .recent-timetable:hover{background:#392f1d}html[data-theme=dark] .favorite-remove-button{color:#f0c66f;border-color:#70572b}html[data-theme=dark] .favorite-remove-button:hover{color:#fff;background:#553b13}html[data-theme=dark] .selection-refresh-status{color:#b7bec8}html[data-theme=dark] .selection-refresh-badge{border-color:#42617f;color:#c6e0fa;background:#172c42}html[data-theme=dark] .selection-refresh-badge.is-archived{border-color:#806633;color:#f1cf89;background:#332915}html[data-theme=dark] .custom-checkbox-box{border-color:#62819f;background:#0c1929}html[data-theme=dark] .custom-checkbox input:checked+.custom-checkbox-box{border-color:var(--tech-blue);background:var(--tech-blue-deep)}html[data-theme=dark] .calendar-no-events,html[data-theme=dark] .empty-state,html[data-theme=dark] .status{color:var(--muted)}html[data-theme=dark] .calendar-no-events{border-color:#3d5873;background:#112238}html[data-theme=dark] .calendar-period-heading,html[data-theme=dark] .calendar-toolbar{border-color:var(--line);background:#102034}html[data-theme=dark] .calendar-mode-switch{border-color:#314b66;background:#0b1828}html[data-theme=dark] .calendar-mode-switch button{color:#b6c9dd}html[data-theme=dark] .calendar-mode-switch button.is-active{color:#fff;background:#2d74dc}html[data-theme=dark] .calendar-arrow,html[data-theme=dark] .calendar-today{color:#c3dcf7;border-color:#3a5875;background:#122842}html[data-theme=dark] .calendar-arrow:hover,html[data-theme=dark] .calendar-today:hover{color:#fff;border-color:#71b6ed;background:#1a3b5f}html[data-theme=dark] .calendar-event h4,html[data-theme=dark] .calendar-period-heading h3{color:var(--ink)}html[data-theme=dark] .calendar-period-copy>p{color:#9fc6ed}html[data-theme=dark] .calendar-date-button,html[data-theme=dark] .calendar-month-day,html[data-theme=dark] .calendar-month-grid,html[data-theme=dark] .calendar-month-weekday,html[data-theme=dark] .calendar-week-day,html[data-theme=dark] .calendar-week-grid{border-color:var(--line)}html[data-theme=dark] .calendar-month-day,html[data-theme=dark] .calendar-week-day{background:#102137}html[data-theme=dark] .calendar-week-day.is-today{background:linear-gradient(180deg,#193b62,#112b45 42%,#102137)}html[data-theme=dark] .calendar-week-day.is-today .calendar-date-button{background:#2d74dc}html[data-theme=dark] .calendar-date-button{color:#b6cbe1}html[data-theme=dark] .calendar-date-button:hover,html[data-theme=dark] .calendar-month-day:hover{background:#183451}html[data-theme=dark] .calendar-month-weekday{color:#bad1e9;background:#142942}html[data-theme=dark] .calendar-month-day.is-outside{background:#0d1929}html[data-theme=dark] .calendar-month-number{color:#b6cbe1}html[data-theme=dark] .calendar-month-event{color:#c9dcef;background:#1b3049}html[data-theme=dark] .calendar-month-event.week-one{background:#193b62}html[data-theme=dark] .calendar-month-event.week-two{background:#3b2b19}html[data-theme=dark] .calendar-event{color:#d8e7f5;border-color:#34516f #34516f #34516f #72879d;background:#15263a}html[data-theme=dark] .calendar-event.every-week{border-left-color:#71869d;background:#16283b}html[data-theme=dark] .calendar-event.week-one{border-left-color:#4c93ff;background:repeating-linear-gradient(-45deg,#172f4e,#172f4e 9px,#142944 0,#142944 17px)}html[data-theme=dark] .calendar-event.week-two{border-left-color:#e39a3b;background:repeating-linear-gradient(-45deg,#3b2b18,#3b2b18 9px,#302213 0,#302213 17px)}html[data-theme=dark] .auditorium-button,html[data-theme=dark] .calendar-event-room,html[data-theme=dark] .calendar-event-top,html[data-theme=dark] .calendar-event-type{color:#b9cde2}html[data-theme=dark] .calendar-event.is-detailed .calendar-event-room{border-top-color:#29435f}html[data-theme=dark] .calendar-event-markers>span,html[data-theme=dark] .week-badge{color:#c5d9ec;border-color:#415b76;background:rgba(8,22,39,.54)}html[data-theme=dark] .calendar-event.is-completed{opacity:.64}html[data-theme=dark] .interactive-calendar.is-today-view{border-color:#438ed9;box-shadow:0 10px 28px rgba(0,0,0,.32)}html[data-theme=dark] .interactive-calendar.is-today-view .calendar-period-heading{background:linear-gradient(100deg,#132f4c,#102034 68%);border-bottom-color:#2b6da9}html[data-theme=dark] .campus-location-summary{background:#162e49}html[data-theme=dark] .facility-grid span,html[data-theme=dark] .linkmenu-building-list button,html[data-theme=dark] .sauletekis-building-list button{color:#c3d8ec;background:#14283e}html[data-theme=dark] .linkmenu-building-list button:hover,html[data-theme=dark] .sauletekis-building-list button:hover{background:#1c3a59}html[data-theme=dark] .linkmenu-map-wrap,html[data-theme=dark] .sauletekis-map-wrap{border-color:#375571}html[data-theme=dark] .map-close{color:#c0d2e3;border-color:#395672;background:#12233a}html[data-theme=dark] .campus-building-guide{border-color:#365574;background:#11243a}html[data-theme=dark] .calendar-mode-switch button.is-active,html[data-theme=dark] .calendar-week-day.is-today .calendar-date-button{background:var(--tech-blue)}html[data-theme=dark] .calendar-event.week-one{border-left-color:var(--tech-blue)}html[data-theme=dark] .interactive-calendar.is-today-view{border-color:var(--tech-blue)}html[data-theme=dark] .calendar-mode-switch{border-color:#3b424c;background:#101419}html[data-theme=dark] .calendar-arrow,html[data-theme=dark] .calendar-today{color:#d6dde5;border-color:#3b424c;background:#1a1f25}html[data-theme=dark] .calendar-arrow:hover,html[data-theme=dark] .calendar-today:hover{border-color:#52606d;background:#242a31}html[data-theme=dark] .calendar-period-copy>p{color:#b7bec8}html[data-theme=dark] .calendar-month-day,html[data-theme=dark] .calendar-week-day{background:#171c22}html[data-theme=dark] .calendar-week-day.is-today{background:linear-gradient(180deg,#242a31,#1c2127 42%,#171c22);box-shadow:inset 3px 0 0 var(--tech-blue)}html[data-theme=dark] .calendar-week-day.is-today .calendar-date-button{background:#2d3540}html[data-theme=dark] .calendar-date-button{color:#c5ccd5}html[data-theme=dark] .calendar-date-button:hover,html[data-theme=dark] .calendar-month-day:hover{background:#232931}html[data-theme=dark] .calendar-month-weekday{color:#c5ccd5;background:#1d2229}html[data-theme=dark] .calendar-month-day.is-outside{background:#11151a}html[data-theme=dark] .calendar-month-number{color:#c5ccd5}html[data-theme=dark] .calendar-month-event,html[data-theme=dark] .calendar-month-event.week-one{color:#d5dce5;background:#222830}html[data-theme=dark] .calendar-event,html[data-theme=dark] .calendar-event.every-week{border-color:#3b4652;background:#1d232a}html[data-theme=dark] .calendar-event.week-one{border-left-color:var(--tech-blue-soft);background:repeating-linear-gradient(-45deg,#20262d,#20262d 9px,#1c2229 0,#1c2229 17px)}html[data-theme=dark] .interactive-calendar.is-today-view{border-color:#3b424c;box-shadow:inset 3px 0 0 var(--tech-blue),0 10px 28px rgba(0,0,0,.32)}html[data-theme=dark] .interactive-calendar.is-today-view .calendar-period-heading{background:linear-gradient(100deg,#20262d,#1a1f25 68%);border-bottom-color:#3b424c}html[data-theme=dark] .calendar-week-day.is-today{background:linear-gradient(180deg,#263647,#1e2935 40%,#171c22)}html[data-theme=dark] .calendar-week-day.is-today .calendar-date-button{color:#fff;background:#1b5cc4;box-shadow:inset 0 -3px 0 #104cae}html[data-theme=dark] .calendar-week-day.is-today .calendar-date-button span{color:#e2efff}html[data-theme=dark] .calendar-week-day.is-today .calendar-date-button strong{color:#1557c2;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.32)}html[data-theme=dark] .calendar-week-day>.calendar-today-label{color:#fff;background:#1557c2;box-shadow:0 2px 7px rgba(0,0,0,.28)}html[data-theme=dark] .calendar-month-day.is-today .calendar-month-number{color:#1557c2;background:#fff;box-shadow:0 0 0 3px rgba(21,87,194,.34)}.page-shell{width:min(1480px,calc(100% - 64px))}.masthead{min-height:144px;border-radius:0 0 14px 14px;padding:24px 36px;box-shadow:none}.masthead h1{font-size:clamp(30px,3vw,42px);font-weight:700;letter-spacing:-.035em;line-height:1.06}.header-schedule-status span,.header-schedule-status time{color:#d8e7ff}.customizer,.interactive-calendar,.loading-panel,.preview,.selection-panel{border-color:var(--line);border-radius:12px;box-shadow:none}.selection-panel{margin-top:18px;padding:30px 32px 32px}.customizer,.preview,.selection-panel{border-top-width:1px}.customizer{padding:25px 24px}.preview{padding:25px}.section-heading{align-items:center;gap:12px}.section-heading h2{color:var(--ink);font-size:25px;font-weight:700;letter-spacing:-.035em;line-height:1.16}.section-heading p:not(.step){color:var(--muted);font-size:14px;line-height:1.5}.section-heading.compact h2{font-size:20px}.step{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;margin:0;border-radius:8px;padding:0;color:var(--tech-blue);background:#edf3fc;font-size:12px;letter-spacing:0}.select-grid{gap:14px}.dropdown-label{margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:600}.dropdown-trigger{min-height:46px;border-radius:8px;padding:10px 13px}.dropdown-trigger:hover:not(:disabled){border-color:#a6a39f}.custom-dropdown .dropdown-autocomplete:focus-within,.custom-dropdown.is-open .dropdown-trigger{border-color:var(--tech-blue);box-shadow:0 0 0 3px rgba(21,87,194,.12)}.dropdown-trigger:disabled{color:#77736d;background:#f7f6f4}.dropdown-chevron,.dropdown-placeholder{color:#77736d}.dropdown-trigger .dropdown-chevron{width:16px;height:16px;transform:none}.custom-dropdown.is-open .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{border-color:var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(27,26,24,.1)}.dropdown-search{background:var(--subtle)}.dropdown-options button:focus-visible,.dropdown-options button:hover{background:#f4f3f1}.dropdown-options button.is-selected{color:var(--tech-blue);background:#edf3fc}.clear-selection-button,.favorite-selection-button,.recent-timetable{border-color:var(--line);border-radius:8px;color:var(--ink);background:#fff;font-weight:600}.clear-selection-button:hover:not(:disabled),.favorite-selection-button:hover:not(:disabled),.recent-timetable:hover{border-color:#bcb9b4;color:var(--ink);background:#faf9f8}.favorite-selection-button.is-saved{border-color:#d9c39a;color:#5f4a25;background:#fcf8ef}.favorite-timetable{border-color:#d9c39a;border-radius:8px;background:#fcf8ef}.favorite-timetable .recent-timetable{background:transparent}.recent-heading h3{color:var(--ink);font-size:13px;font-weight:700}.recent-timetable small{font-size:11px}.selection-refresh-status{color:var(--muted)}.selection-refresh-badge{border-color:#d8e3f2;color:var(--tech-blue);background:#f4f8fd}.schedule-area{gap:18px;margin:18px 0 24px}@media (min-width:901px){.schedule-area{align-items:stretch}.schedule-area>.customizer{align-self:start}.schedule-area>.preview{display:flex;flex-direction:column}.schedule-area .interactive-calendar{display:flex;flex:1 1;flex-direction:column}.schedule-area .calendar-month-wrap,.schedule-area .calendar-week-wrap{display:flex;flex:1 1}.schedule-area .calendar-day-view,.schedule-area .calendar-month-grid,.schedule-area .calendar-week-grid{flex:1 1}}.preview-heading h2{color:var(--ink);font-size:27px;letter-spacing:-.035em}.eyebrow{color:var(--muted);letter-spacing:.04em}.export-button{border-radius:8px;box-shadow:none}.export-button:hover:not(:disabled){background:var(--tech-blue-deep)}.empty-state{min-height:180px;color:var(--muted)}.empty-state span{color:var(--tech-blue)}.interactive-calendar{border-color:var(--line)}.calendar-period-heading,.calendar-toolbar{border-color:var(--line);background:#fff}.calendar-mode-switch{border-color:var(--line);background:#f4f3f1}.calendar-mode-switch button{color:#5f5c58;font-weight:600}.calendar-mode-switch button.is-active{background:var(--tech-blue);box-shadow:none}.calendar-arrow,.calendar-today{border-color:var(--line);color:var(--ink);background:#fff;box-shadow:none}.calendar-arrow:hover,.calendar-today:hover{border-color:#bcb9b4;color:var(--ink);background:#f7f6f4}.calendar-period-heading h3{color:var(--ink);font-weight:700;letter-spacing:-.035em}.calendar-period-copy>p{color:var(--muted)}.calendar-date-button,.calendar-month-day,.calendar-month-grid,.calendar-month-weekday,.calendar-week-day,.calendar-week-grid{border-color:var(--line)}.calendar-month-day,.calendar-week-day{background:#fff}.calendar-date-button,.calendar-month-number{color:var(--muted)}.calendar-month-weekday{color:var(--muted);background:#faf9f8}.calendar-month-day.is-outside{background:#faf9f8}.calendar-event,.calendar-event.every-week{border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#faf9f8}.calendar-event.week-one{border-color:#dbe5f4;background:#f6f9fe}.calendar-event.week-two{border-color:#e9e3d7;background:#fbf9f5}.calendar-event h4{color:var(--ink)}.calendar-event-room,.calendar-event-top{color:var(--muted)}.lesson-details-card{position:relative;isolation:isolate}.calendar-event.lesson-details-card.is-expanded,.calendar-event.lesson-details-card:focus-within,html[data-theme=dark] .lesson-details-card.is-expanded,html[data-theme=dark] .lesson-details-card:focus-within{opacity:1}.lesson-details-toggle{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;border-radius:inherit;padding:0;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}.lesson-details-toggle:focus-visible{outline:2px solid var(--tech-blue);outline-offset:-3px}html[data-theme=dark] .lesson-details-toggle:focus-visible{outline-color:var(--tech-blue-soft)}.lesson-details-card .auditorium-button,.lesson-details-region{position:relative;z-index:2}.lesson-details-region{display:grid;grid-template-rows:0fr;min-width:0;opacity:0;pointer-events:none;transition:grid-template-rows .18s ease-out,opacity .18s ease-out}.lesson-details-inner{min-height:0;overflow:hidden}.lesson-details-content{border-top:1px solid var(--line);margin-top:10px;padding-top:12px}.lesson-details-card.is-expanded .lesson-details-region{grid-template-rows:1fr;opacity:1;pointer-events:auto}.calendar-event.is-detailed .lesson-details-region{grid-column:2/-1}.shared-class-peers{color:var(--ink);font-size:12px;line-height:1.5}.shared-class-peers h5{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:500}.shared-class-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.shared-class-tag{max-width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;padding:3px 7px;background:var(--panel);color:var(--ink);font-size:11px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-detail-facts{margin:12px 0 0;font-size:12px;line-height:1.5}.lesson-detail-facts:first-child{margin-top:0}.lesson-detail-facts div+div{margin-top:8px}.lesson-detail-facts dt{margin:0 0 3px;color:var(--muted);font-weight:400}.lesson-detail-facts dd{margin:0;color:var(--ink)}.shared-class-notice{margin:0;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}@media (max-width:720px){.calendar-event.is-detailed .lesson-details-region{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.lesson-details-region{transition:none}}@media (forced-colors:active){.lesson-details-toggle:focus-visible{outline-color:Highlight}.shared-class-tag{border-color:CanvasText}}.calendar-event.is-detailed{border-left-width:1px}.calendar-week-day.is-today{background:linear-gradient(180deg,#f0f5fd,#fff 34%);box-shadow:inset 2px 0 0 var(--tech-blue)}.calendar-week-day.is-today .calendar-date-button{background:var(--tech-blue);box-shadow:none}.site-footer{border-top:1px solid var(--line);background:var(--paper);box-shadow:none}.footer-data-status p,.footer-data-status p+p,.site-footer{color:var(--muted)}.footer-placeholder{border-color:var(--line);border-radius:8px;color:var(--muted)}html[data-theme=dark] .customizer,html[data-theme=dark] .interactive-calendar,html[data-theme=dark] .loading-panel,html[data-theme=dark] .preview,html[data-theme=dark] .selection-panel{box-shadow:none}html[data-theme=dark] .step{color:#c7d9f7;background:#202b3b}html[data-theme=dark] .clear-selection-button,html[data-theme=dark] .favorite-selection-button,html[data-theme=dark] .recent-timetable{color:var(--ink);border-color:var(--line);background:#1b2027}html[data-theme=dark] .clear-selection-button:hover:not(:disabled),html[data-theme=dark] .favorite-selection-button:hover:not(:disabled),html[data-theme=dark] .recent-timetable:hover{color:var(--ink);border-color:#606872;background:#252b33}html[data-theme=dark] .favorite-selection-button.is-saved,html[data-theme=dark] .favorite-timetable{border-color:#75623e;background:#2a251a}html[data-theme=dark] .favorite-timetable .recent-timetable{background:transparent}html[data-theme=dark] .calendar-period-heading,html[data-theme=dark] .calendar-toolbar{background:#1a1f25}html[data-theme=dark] .calendar-mode-switch{border-color:var(--line);background:#11151a}html[data-theme=dark] .calendar-week-day.is-today{box-shadow:inset 2px 0 0 var(--tech-blue)}html[data-theme=dark] .calendar-event,html[data-theme=dark] .calendar-event.every-week,html[data-theme=dark] .calendar-event.week-one,html[data-theme=dark] .calendar-event.week-two{border:1px solid #3b4652;border-radius:8px;background:#1d232a}html[data-theme=dark] .calendar-event h4,html[data-theme=dark] .calendar-event.is-detailed h4{color:var(--ink)}html[data-theme=dark] .site-footer{border-top-color:var(--line);color:var(--muted);background:var(--paper)}html[data-theme=dark] .footer-data-status p,html[data-theme=dark] .footer-data-status p+p{color:var(--muted)}html[data-theme=dark] .footer-placeholder{border-color:var(--line);color:var(--muted)}@media (max-width:900px){.page-shell{width:min(100% - 40px,1480px)}.masthead{padding:22px 26px}}@media (max-width:620px){.page-shell{width:100%}.masthead{border-radius:0;padding:20px 18px}.masthead h1{font-size:30px}.selection-panel{margin:18px 14px 0;padding:0}.selection-panel .mobile-collapsible-content.is-open{padding-top:16px}.schedule-area{margin:18px 14px 24px}.customizer{padding:0}.preview{padding:18px}.customizer.is-mobile-collapsible .mobile-collapsible-toggle,.mobile-collapsible-toggle{background:var(--panel)}.dropdown-trigger{min-height:46px}.site-footer{padding:20px 18px}}.header-preferences{--header-control-height:34px;display:flex;align-items:flex-end;gap:22px;flex:0 0 auto}.header-preferences .theme-toggle{width:var(--header-control-height);height:var(--header-control-height);margin:0}.header-preferences .language-dropdown .dropdown-trigger{height:var(--header-control-height);min-height:var(--header-control-height)}.recent-heading{min-height:24px}.timetable-shortcut{position:relative;display:flex;width:min(280px,100%);min-height:52px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.timetable-shortcut .recent-timetable{flex:1 1 auto;min-width:0;width:100%;max-width:none;border:0;border-radius:0;padding-right:52px;background:transparent}.timetable-shortcut .recent-timetable:hover{border:0;background:transparent;transform:none}.timetable-shortcut .recent-timetable:hover span{text-decoration:underline;text-underline-offset:2px}.timetable-favorite-toggle{position:absolute;top:50%;right:4px;display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:6px;padding:0;color:#69655e;background:transparent;cursor:pointer;transform:translateY(-50%);transition:color .15s,background .15s,opacity .15s}.timetable-favorite-toggle svg{width:19px;height:19px;stroke-width:1.9}.timetable-favorite-toggle:hover{color:#896017;background:#f8f1e5}.timetable-favorite-toggle:focus-visible{outline:3px solid #8de0f1;outline-offset:-3px}.timetable-shortcut.is-favorite{border-color:#d9c39a;background:#fcf8ef}.timetable-shortcut.is-favorite .timetable-favorite-toggle{color:#926619}.timetable-shortcut.is-favorite .timetable-favorite-toggle:hover{color:#684403;background:#f7edda}html[data-theme=dark] .timetable-shortcut{border-color:var(--line);background:#1b2027}html[data-theme=dark] .timetable-shortcut .recent-timetable{border:0;background:transparent}html[data-theme=dark] .timetable-favorite-toggle{color:#b5b1aa}html[data-theme=dark] .timetable-favorite-toggle:hover{color:#f0c66f;background:#332d23}html[data-theme=dark] .timetable-shortcut.is-favorite{border-color:#75623e;background:#2a251a}html[data-theme=dark] .timetable-shortcut.is-favorite .timetable-favorite-toggle{color:#f0c66f}html[data-theme=dark] .timetable-shortcut.is-favorite .timetable-favorite-toggle:hover{background:#3b301e}@media (min-width:901px) and (hover:hover) and (pointer:fine){.timetable-favorite-toggle{opacity:0;pointer-events:none}.timetable-shortcut:focus-within .timetable-favorite-toggle,.timetable-shortcut:hover .timetable-favorite-toggle{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.timetable-favorite-toggle{transition:none}}html[data-theme=dark] .calendar-event.is-detailed .calendar-event-top>time{color:#c1ddff}html[data-theme=dark] .calendar-event.is-detailed .calendar-event-top>time span+span{color:#b8cde2;border-top-color:#586a7d}html[data-theme=dark] .calendar-event.is-detailed .calendar-event-top>time:before{background:#a6c7ea}html[data-theme=dark] .campus-building-guide,html[data-theme=dark] .campus-location-summary{background:#242a31;border-color:var(--line)}html[data-theme=dark] .campus-road{color:#b7c5d3}html[data-theme=dark] .facility-grid span{color:#dce6ef;border-color:#4a5663;background:#2d3540}html[data-theme=dark] .facility-grid span.is-current{color:#fff;border-color:var(--tech-blue);background:var(--tech-blue)}html[data-theme=dark] .map-close{color:var(--ink);border-color:var(--line);background:#242a31}html[data-theme=dark] .linkmenu-map-wrap,html[data-theme=dark] .sauletekis-map-wrap{border-color:var(--line);background:#20262d}html[data-theme=dark] .sauletekis-map{background:#20262d}html[data-theme=dark] .map-building path{fill:#526171;stroke:#9aafc2}html[data-theme=dark] .map-building text{fill:#eff5fc}html[data-theme=dark] .map-building:focus path,html[data-theme=dark] .map-building:hover path{fill:#657e98;stroke:#c0d7ee}html[data-theme=dark] .map-building.is-active path{fill:var(--tech-blue);stroke:#9dc5ff}html[data-theme=dark] .map-building.is-active text{fill:#fff}html[data-theme=dark] .linkmenu-map{background:#1d2928}html[data-theme=dark] .linkmenu-park{fill:#26382d}html[data-theme=dark] .linkmenu-highway{fill:#60473f}html[data-theme=dark] .linkmenu-highway-divider{stroke:#c1ada1}html[data-theme=dark] .linkmenu-street{stroke:#424b4d}html[data-theme=dark] .linkmenu-access-road{stroke:#68747a}html[data-theme=dark] .linkmenu-access-road+.linkmenu-footpath{stroke:#cb8e78}html[data-theme=dark] .linkmenu-water{fill:#31566a;stroke:#638fa4}html[data-theme=dark] .linkmenu-road-label{fill:#d4dfe3}html[data-theme=dark] .linkmenu-site-label{fill:#b0c9b4}html[data-theme=dark] .linkmenu-map-key rect{fill:#252e32;stroke:#75868d}html[data-theme=dark] .linkmenu-map-key text{fill:#e0e9ec}html[data-theme=dark] .campus-modal .linkmenu-building-list,html[data-theme=dark] .campus-modal .sauletekis-building-list{border-color:var(--line);background:var(--line)}html[data-theme=dark] .linkmenu-building-list button,html[data-theme=dark] .sauletekis-building-list button{color:#dce6ef;background:#242a31}html[data-theme=dark] .linkmenu-building-list button:hover,html[data-theme=dark] .sauletekis-building-list button:hover{color:#fff;background:#354252}html[data-theme=dark] .linkmenu-building-list button.is-active,html[data-theme=dark] .sauletekis-building-list button.is-active{color:#fff;background:var(--tech-blue)}html[data-theme=dark] .campus-map-frame{border-color:var(--line);background:#20262d}html[data-theme=dark] .campus-map-frame .campus-map{filter:invert(.92) hue-rotate(180deg) saturate(.8)}html[data-theme=dark] .map-loading-skeleton{background:linear-gradient(145deg,#202a34,#182029)}html[data-theme=dark] .map-loading-skeleton .skeleton{background:#394957}html[data-theme=dark] .map-loading-building{background:#4b5a67!important}html[data-theme=dark] .map-loading-water{background:#3a6176!important}.selection-refresh-badge.is-pending,html[data-theme=dark] .selection-refresh-badge.is-pending{border-color:var(--line);color:var(--muted);background:var(--subtle)}@media (min-width:761px) and (max-width:1224px){.masthead{grid-template-columns:240px minmax(0,1fr)}.header-actions{grid-column:1/-1;justify-content:space-between}}@media (min-width:901px) and (max-width:939px){.masthead h1{min-height:2.12em}}@media (min-width:621px) and (max-width:760px){.masthead{grid-template-columns:1fr;gap:14px}.header-actions,.masthead-title{grid-column:1}}@media (max-width:380px){.header-schedule-status p{min-height:51px;align-content:start}}@media (max-width:340px){.masthead h1{min-height:3.18em}}@media (max-width:620px){.header-preferences{gap:9px}.selection-actions .clear-selection-button{flex-basis:100%}}.preview{padding:0;scroll-margin-top:18px}.preview>.interactive-calendar,.preview>.interactive-calendar.is-today-view,html[data-theme=dark] .preview>.interactive-calendar.is-today-view{border:0;border-radius:0;background:transparent;box-shadow:none}.calendar-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name controls" "period controls";align-items:center;grid-column-gap:24px;column-gap:24px;grid-row-gap:4px;row-gap:4px;border-bottom:1px solid var(--line);padding:16px 25px}.calendar-header .preview-heading{grid-area:name;margin:0;padding:0}.calendar-header .preview-heading h2{font-size:26px;line-height:1.1}.calendar-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}.calendar-name-row .calendar-period-today{margin:0;padding:6px 10px;font-size:10px;box-shadow:none}.calendar-header .calendar-period-heading{grid-area:period;display:block;border:0;padding:0;background:transparent}.calendar-header .calendar-period-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px}.calendar-header .calendar-period-heading h3{font-size:16px;line-height:1.25}.calendar-header .calendar-toolbar{grid-area:controls;border:0;padding:0;background:transparent}.preview .interactive-calendar.is-today-view .calendar-header .calendar-period-heading{border:0;background:transparent}.interactive-calendar.is-today-view .calendar-header{border-bottom-color:var(--line);background:linear-gradient(180deg,#f0f5fd,#fff)}.interactive-calendar.is-today-view .calendar-name-row h2{color:var(--tech-blue)}html[data-theme=dark] .calendar-header .calendar-period-heading,html[data-theme=dark] .calendar-header .calendar-toolbar,html[data-theme=dark] .interactive-calendar.is-today-view .calendar-header .calendar-period-heading{background:transparent}html[data-theme=dark] .interactive-calendar.is-today-view .calendar-name-row h2{color:#bcd4ff}html[data-theme=dark] .interactive-calendar.is-today-view .calendar-header{background:linear-gradient(180deg,#263647,#1a1f25)}html[data-theme=dark] .calendar-no-events{border-color:#4b525b;color:#c6ced8;background:#22282f}.preview .calendar-day-view{padding-inline:25px}.preview .calendar-month-grid,.preview .calendar-week-grid{border-top:0}.customizer fieldset:first-of-type{border-top:0;padding-top:0}@media (max-width:1100px){.calendar-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "period" "controls";row-gap:8px;padding:16px 20px}.calendar-header .calendar-toolbar{justify-content:space-between;margin-top:4px}}@media (max-width:620px){.calendar-header{padding:16px 18px}.calendar-header .preview-heading h2{font-size:23px}.calendar-header .calendar-period-copy>p{display:none}.calendar-header .calendar-toolbar{margin-top:0}.preview .calendar-day-view{min-height:clamp(520px,75dvh,680px);padding-inline:18px}.favorite-list,.recent-list{display:grid;grid-template-columns:minmax(0,1fr)}.timetable-shortcut{width:100%}.customizer.is-mobile-collapsible .mobile-collapsible-content.is-open{padding-top:20px}}.campus-modal{width:min(660px,100%);max-height:calc(100dvh - 40px);overflow:auto}.campus-location-summary{min-height:72px;margin:16px 0 14px}.campus-locator{display:grid;grid-template-columns:minmax(0,1fr) 180px;height:340px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#f7fbff}.campus-map-view{min-width:0;min-height:0;overflow:hidden}.campus-map-view .linkmenu-map,.campus-map-view .sauletekis-map{width:100%;height:100%;max-height:none;min-height:0;padding:0}.campus-map-view .campus-map-frame{width:100%;height:100%;border:0;border-radius:0}.campus-facilities{display:flex;min-width:0;min-height:0;flex-direction:column;border-left:1px solid var(--line);background:var(--panel)}.campus-facilities .campus-road{flex:0 0 auto;margin:0;padding:11px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.25}.campus-facility-list{min-height:0;overflow-y:auto}.campus-facility-list button{display:flex;width:100%;min-height:39px;align-items:center;gap:7px;border:0;border-bottom:1px solid var(--line);padding:7px 9px;color:var(--ink);background:var(--panel);text-align:left;cursor:pointer}.campus-facility-list button:last-child{border-bottom:0}.campus-facility-list button:hover{background:#eaf3ff}.campus-facility-list button.is-active{color:#fff;background:var(--tech-blue)}.campus-facility-list strong{flex:0 0 24px;font-size:12px}.campus-facility-list span{min-width:0;font-size:11px;line-height:1.2}.campus-facility-list button:focus-visible{position:relative;z-index:1;outline:3px solid #8de0f1;outline-offset:-3px}html[data-theme=dark] .campus-locator{border-color:var(--line);background:#20262d}html[data-theme=dark] .campus-facilities{border-color:var(--line);background:var(--panel)}html[data-theme=dark] .campus-facility-list button{border-color:var(--line);color:var(--ink);background:var(--panel)}html[data-theme=dark] .campus-facility-list button:hover{background:#354252}html[data-theme=dark] .campus-facility-list button.is-active{color:#fff;background:var(--tech-blue)}@media (max-width:620px){.campus-modal{max-height:calc(100dvh - 20px)}.campus-locator{grid-template-columns:minmax(0,1fr) 122px;height:310px}.campus-facility-list button{gap:5px;padding:6px}.campus-facility-list strong{flex-basis:21px;font-size:11px}.campus-facility-list span{font-size:10px}}@media (max-width:360px){.campus-locator{grid-template-columns:minmax(0,1fr);height:auto}.campus-map-view{height:190px}.campus-facilities{border-left:0;border-top:1px solid var(--line)}.campus-facility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:120px}.campus-facility-list button{border-right:1px solid var(--line)}.campus-facility-list button:nth-child(2n){border-right:0}}.selection-panel.selection-disclosure{overflow:hidden;padding:0}.selection-disclosure .mobile-collapsible-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:0;padding:24px 30px;color:var(--ink);background:var(--panel);text-align:left;cursor:pointer}.selection-disclosure .mobile-collapsible-toggle:hover{background:var(--subtle)}.selection-disclosure .mobile-collapsible-toggle>span{display:flex;align-items:center;gap:12px;min-width:0}.selection-disclosure .mobile-collapsible-toggle>span>b{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:8px;color:var(--tech-blue);background:#edf3fc;font-size:12px;letter-spacing:0}.selection-disclosure .mobile-collapsible-toggle>span>span{display:grid;grid-gap:4px;gap:4px;min-width:0}.selection-disclosure .mobile-collapsible-toggle strong{font-size:25px;font-weight:700;letter-spacing:-.035em;line-height:1.16}.selection-disclosure .mobile-collapsible-toggle small{color:var(--muted);font-size:14px;line-height:1.4}.selection-disclosure .mobile-collapsible-toggle svg{width:20px;height:20px;flex:0 0 auto;color:var(--tech-blue);transition:transform .2s cubic-bezier(.16,1,.3,1)}.selection-disclosure .mobile-collapsible-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.selection-disclosure .mobile-collapsible-toggle:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--tech-blue-soft)}.selection-disclosure .mobile-collapsible-content.is-open .mobile-collapsible-inner{overflow:visible}.selection-disclosure .mobile-collapsible-content{display:grid;grid-template-rows:0fr;overflow:hidden;border-top:1px solid transparent;padding:0 30px;opacity:0;visibility:hidden;transition:grid-template-rows .22s cubic-bezier(.16,1,.3,1),padding .22s cubic-bezier(.16,1,.3,1),border-color .22s ease,opacity .14s ease,visibility 0s linear .22s}.selection-disclosure .mobile-collapsible-inner{min-height:0;overflow:hidden}.selection-disclosure .mobile-collapsible-content.is-open{grid-template-rows:1fr;border-top-color:var(--line);padding:18px 30px 30px;opacity:1;visibility:visible;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1),padding .28s cubic-bezier(.16,1,.3,1),border-color .28s ease,opacity .2s ease,visibility 0s}.selection-disclosure .selection-actions{justify-content:flex-end;margin-bottom:8px}.selection-disclosure .selection-actions .clear-selection-button{border:0;padding:3px 0;color:var(--muted);background:transparent;font-size:11px}.selection-disclosure .selection-actions .clear-selection-button:hover:not(:disabled){color:var(--tech-blue);background:transparent;text-decoration:underline}.selection-disclosure .mobile-collapsible-content.is-open:has(.custom-dropdown.is-open),.selection-disclosure .mobile-collapsible-inner:has(.custom-dropdown.is-open),.selection-disclosure:has(.custom-dropdown.is-open){overflow:visible}html[data-theme=dark] .selection-disclosure .mobile-collapsible-toggle>span>b{color:#bcd4ff;background:#263647}@media (max-width:620px){.selection-disclosure .mobile-collapsible-toggle{padding:17px 18px}.selection-disclosure .mobile-collapsible-toggle>span>b{display:block;width:auto;height:auto;flex:0 0 auto;border-radius:0;background:transparent;font-size:11px;letter-spacing:.12em}.selection-disclosure .mobile-collapsible-toggle>span>span{gap:3px}.selection-disclosure .mobile-collapsible-toggle strong{font-size:16px;letter-spacing:0;line-height:1.15}.selection-disclosure .mobile-collapsible-toggle small{font-size:11px;line-height:1.3}.selection-disclosure .mobile-collapsible-content{padding-inline:18px}.selection-disclosure .mobile-collapsible-content.is-open{padding:16px 18px 18px}.selection-disclosure .selection-actions{justify-content:stretch;margin-bottom:10px}.selection-disclosure .selection-actions .clear-selection-button{border:1px solid var(--line);padding:8px;color:var(--muted);background:var(--panel);font-size:11px}.selection-disclosure .selection-actions .clear-selection-button:hover:not(:disabled){border-color:var(--tech-blue-soft);color:var(--tech-blue);background:var(--subtle);text-decoration:none}}@media (prefers-reduced-motion:reduce){.selection-disclosure .mobile-collapsible-content,.selection-disclosure .mobile-collapsible-toggle svg{transition:none}}.group-search{max-width:740px;margin-bottom:18px}.dropdown-menu.is-viewport-aware{display:flex;flex-direction:column}.dropdown-menu.is-viewport-aware .dropdown-search,.dropdown-result-status{flex-shrink:0}.dropdown-menu.is-viewport-aware .dropdown-options{min-height:0;overscroll-behavior:contain;scrollbar-color:var(--tech-blue-soft) var(--subtle)}.dropdown-result-status{margin:0;padding:8px 12px;color:var(--muted);font-size:12px;line-height:1.5}.group-search .dropdown-options button{min-height:62px;padding:10px 8px}.group-search .dropdown-options small,.group-search .dropdown-options strong{display:block;overflow-wrap:anywhere;line-height:1.4}.group-search .dropdown-options strong{font-size:14px}.group-search .dropdown-options small{margin-top:4px;color:var(--muted);font-size:12px}.dropdown-options button.is-active{background:var(--subtle);outline:2px solid var(--tech-blue-soft);outline-offset:-2px}.dropdown-autocomplete{cursor:text}.dropdown-autocomplete .dropdown-query{flex:1 1;min-width:0;width:100%;border:0;border-radius:0;padding:0;color:var(--ink);background:transparent;font:inherit;line-height:1.5;caret-color:var(--tech-blue);outline:none}.dropdown-query::placeholder{color:var(--muted);opacity:1}.dropdown-search-icon{flex:0 0 auto;width:18px;height:18px;color:var(--muted)}.custom-dropdown.is-disabled .dropdown-autocomplete{color:var(--muted);background:var(--subtle);cursor:not-allowed}.group-search-help,.group-search-manual{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.group-search-manual{margin-top:20px}.group-search ::selection{color:#fff;background:var(--tech-blue)}@media (forced-colors:active){.dropdown-autocomplete:focus-within{outline:2px solid Highlight;outline-offset:2px}.selection-disclosure .mobile-collapsible-toggle:focus-visible{outline:2px solid Highlight;outline-offset:-2px}}@media (max-width:620px){.group-search .dropdown-query{font-size:16px}.group-search .dropdown-trigger{min-height:44px}}.data-status-banner{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;color:var(--muted);background:var(--panel);font-size:13px;line-height:1.5}.data-status-banner p{margin:0;max-width:80ch}.data-status-banner svg{flex:0 0 auto;width:16px;height:16px;margin-top:2px}.data-status-banner.is-stale,.data-status-banner.is-unknown{color:#4a3800;background:#fff5d6;border-color:#efd48a}.data-status-banner.is-stale svg,.data-status-banner.is-unknown svg{color:#8a6400}html[data-theme=dark] .data-status-banner.is-stale,html[data-theme=dark] .data-status-banner.is-unknown{color:#f3e2b0;background:#332a10;border-color:#5e4c1c}html[data-theme=dark] .data-status-banner.is-stale svg,html[data-theme=dark] .data-status-banner.is-unknown svg{color:#e8c766}.data-status-banner+.selection-panel{margin-top:16px}@media (max-width:620px){.data-status-banner{margin:12px 14px 0;padding:10px 14px}.data-status-banner+.selection-panel{margin-top:12px}}.customization-memory{display:grid;grid-gap:6px;gap:6px;margin:0 0 20px}.customization-memory p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.customization-memory button{justify-self:start;min-height:32px;border:0;padding:4px 0;color:var(--tech-blue);background:transparent;font-size:12px;font-weight:600;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.customization-memory button:disabled{color:var(--muted);cursor:default;text-decoration:none}.customization-memory button:focus-visible{outline:2px solid var(--tech-blue-soft);outline-offset:2px}html[data-theme=dark] .customization-memory button:not(:disabled){color:#a8c9ff}@media (max-width:620px){.customization-memory button{min-height:44px}}.calendar-event.is-completed h4{color:#4f5d6b;text-decoration:none}.calendar-event.is-completed .auditorium-button,.calendar-event.is-completed .auditorium-button span,.calendar-event.is-completed .auditorium-button svg,.calendar-event.is-completed .calendar-event-markers>span,.calendar-event.is-completed .calendar-event-room,.calendar-event.is-completed .calendar-event-top>time,.calendar-event.is-completed .calendar-event-type{color:#5f6b78}html[data-theme=dark] .calendar-event.is-completed{opacity:1}html[data-theme=dark] .calendar-event.is-completed h4{color:#b7bec8}html[data-theme=dark] .calendar-event.is-completed .auditorium-button,html[data-theme=dark] .calendar-event.is-completed .auditorium-button span,html[data-theme=dark] .calendar-event.is-completed .auditorium-button svg,html[data-theme=dark] .calendar-event.is-completed .calendar-event-markers>span,html[data-theme=dark] .calendar-event.is-completed .calendar-event-room,html[data-theme=dark] .calendar-event.is-completed .calendar-event-top>time,html[data-theme=dark] .calendar-event.is-completed .calendar-event-type{color:#98a2ae}.calendar-event.is-detailed .calendar-event-room{border-top:0;padding-top:2px}.shared-class-tag{padding:2px 7px;font-size:12px;font-feature-settings:normal;font-variant-numeric:normal;letter-spacing:0}.lesson-details-content{margin-top:12px}@media (min-width:721px){.calendar-event.is-detailed .lesson-detail-facts>div,.calendar-event.is-detailed .shared-class-peers{display:grid;grid-template-columns:10.5rem minmax(0,1fr);grid-column-gap:16px;column-gap:16px;align-items:baseline}.calendar-event.is-detailed .lesson-detail-facts dt,.calendar-event.is-detailed .shared-class-peers h5{margin:0;color:var(--muted);font-size:12px;font-weight:500}.calendar-event.is-detailed .shared-class-tags{gap:5px}.calendar-event.is-detailed .lesson-detail-facts{margin-top:10px}.calendar-event.is-detailed .lesson-detail-facts:first-child{margin-top:0}.calendar-event.is-detailed .lesson-detail-facts dd{font-size:13px}}.page-shell .customizer .section-heading .step,.page-shell .mobile-collapsible-toggle>span>b{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;margin:0;border-radius:8px;padding:0;color:var(--tech-blue);background:#edf3fc;font-size:12px;font-weight:700;letter-spacing:0;line-height:1}html[data-theme=dark] .page-shell .customizer .section-heading .step,html[data-theme=dark] .page-shell .mobile-collapsible-toggle>span>b{color:#bcd4ff;background:#263647}@media (max-width:620px){.page-shell .mobile-collapsible-toggle>span>b{width:26px;height:26px;flex-basis:26px;border-radius:7px;font-size:11px}}.page-shell .mobile-collapsible-toggle{border-top-left-radius:inherit;border-top-right-radius:inherit}.page-shell .mobile-collapsible-toggle[aria-expanded=false]{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mobile-collapsible-toggle[data-quiet-focus]:focus-visible{outline:none;box-shadow:none}.page-shell .language-dropdown.is-open .dropdown-trigger{border-color:#fff;background:rgba(255,255,255,.13);box-shadow:none}@media (max-width:620px){.page-shell .schedule-area{margin-top:12px;row-gap:12px;gap:12px}.page-shell .data-status-banner+.selection-panel,.page-shell .masthead+.selection-panel{margin-top:12px}}