:root{color-scheme:dark;--bg: #050607;--bg-2: #0d1114;--shell: rgba(13, 17, 21, .92);--panel: rgba(22, 28, 34, .72);--cell: rgba(34, 43, 51, .62);--cell-alt: rgba(22, 29, 36, .74);--line: rgba(219, 230, 238, .15);--line-strong: rgba(228, 238, 246, .25);--text: #f8f8f7;--muted: #aab2b9;--faint: #737e87;--current-accent: #61c2ff;--teal: rgba(89, 218, 172, .6);--teal-line: rgba(164, 255, 222, .84);--blue: rgba(103, 175, 255, .56);--blue-line: rgba(174, 216, 255, .86);--pink: rgba(255, 135, 188, .62);--pink-line: rgba(255, 191, 221, .88);--raspberry: rgba(224, 73, 143, .66);--raspberry-line: rgba(255, 158, 205, .9);--focus: #77adff;--shadow: 0 28px 70px rgba(0, 0, 0, .42);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 24%),radial-gradient(circle at 8% 0%,rgba(255,255,255,.06),transparent 26%),linear-gradient(145deg,var(--bg),var(--bg-2) 46%,#070808);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}svg{width:18px;height:18px;stroke-width:2}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.app-frame{width:min(1600px,calc(100vw - 24px));height:calc(100dvh - 24px);margin:12px auto;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 170px),var(--shell);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:50px;padding:9px 16px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:0 12px 30px #00000040}.title-block h1{margin:0;font-size:clamp(1.05rem,1.45vw,1.32rem);line-height:1;letter-spacing:.08em;text-transform:uppercase}.title-block span{display:block;margin-top:4px;color:var(--muted);font-size:.82rem;font-weight:760}.filter-group,.view-switch,.theme-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.icon-button,.text-button,.filter-chip,.view-switch button,.theme-switch button,.primary-button{min-height:40px;border:1px solid var(--line-strong);border-radius:6px;color:var(--text);background:linear-gradient(180deg,#ffffff17,#ffffff08),#0d1217bd;box-shadow:inset 0 1px #ffffff17,0 8px 18px #0000003d}.icon-button{width:40px;display:grid;place-items:center}.text-button,.filter-chip,.view-switch button,.theme-switch button,.primary-button{padding:0 13px;font-weight:720}.toolbar{display:flex;justify-content:space-between;gap:12px;padding:16px 0}.workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:stretch;margin-top:12px;flex:1;min-height:0}.side-panel{position:sticky;top:12px;display:flex;flex-direction:column;gap:12px;align-self:stretch;max-height:100%;min-height:0;overflow:auto;padding-right:2px}.side-panel section{border:1px solid var(--line);border-radius:8px;padding:12px;background:linear-gradient(180deg,#ffffff0e,#ffffff05),#0c1014c2;box-shadow:0 14px 30px #00000040}.side-panel h2{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#e9edf0;font-size:.82rem;font-weight:850;text-transform:uppercase}.side-panel .filter-group{display:grid;grid-template-columns:1fr;gap:14px}.side-panel .view-switch,.side-panel .theme-switch{display:grid;grid-template-columns:1fr;gap:8px}.side-panel .filter-chip,.side-panel .view-switch button,.side-panel .theme-switch button{justify-content:flex-start;width:100%}.pg-filter-block{display:grid;gap:7px}.pg-semester-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 0 0 8px;margin-left:10px;border-left:1px solid rgba(151,207,255,.18)}.pg-semester-filters .filter-chip{min-height:34px;justify-content:center;padding:0 8px;font-size:.82rem}.side-panel .theme-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.view-panel{margin-top:auto}.design-panel{display:none}.filter-chip,.view-switch button,.theme-switch button{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.filter-chip.active,.view-switch button.active,.theme-switch button.active{color:var(--text);border-color:#ffffff52;background:linear-gradient(180deg,#ffffff24,#ffffff0d),#232c34b8}.filter-chip[data-label="UG BM"].active{box-shadow:inset 0 0 0 1px #6fffcc5c,0 0 22px #4fd5aa29}.filter-chip[data-label="PG PM"].active{box-shadow:inset 0 0 0 1px #7dbcff61,0 0 22px #539bff29}.pg-semester-filters .filter-chip.active{border-color:#97cfff5c;box-shadow:inset 0 0 0 1px #7dbcff3d,0 0 16px #539bff1a}.filter-chip[data-label=Induction].active{box-shadow:inset 0 0 0 1px #ff89c257,0 0 22px #e74e9726}.filter-chip[data-label=Assessment].active{box-shadow:inset 0 0 0 1px #e0e7eb42,0 0 18px #bbc8ce1a}.theme-hud{--hud-sans: "Helvetica Neue", "SF Pro Display", Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;--hud-mono: Menlo, Monaco, "SF Mono", "SFMono-Regular", "Roboto Mono", ui-monospace, monospace;--line: rgba(235, 239, 232, .16);--line-strong: rgba(245, 248, 242, .3);--text: #f7f7f0;--muted: rgba(218, 222, 216, .58);--faint: rgba(218, 222, 216, .38);--current-accent: #eaff00;--cell: rgba(21, 25, 25, .62);--cell-alt: rgba(15, 18, 19, .72);position:relative;border-color:transparent;border-radius:0;background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 42%),#07090aad;box-shadow:none;-webkit-backdrop-filter:blur(28px) saturate(.86);backdrop-filter:blur(28px) saturate(.86);font-family:var(--hud-sans)}.theme-hud:before{content:none}.theme-hud .app-header,.theme-hud .side-panel section,.theme-hud .calendar-shell,.theme-hud .admin-shell,.theme-hud .admin-gate,.theme-hud .run-card,.theme-hud .admin-actions{border-color:var(--line);border-radius:0;background:linear-gradient(180deg,#ffffff09,#ffffff02),#080a0a80;box-shadow:none;-webkit-backdrop-filter:blur(18px) saturate(.82);backdrop-filter:blur(18px) saturate(.82)}.theme-hud .app-header{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#080a0a75}.theme-hud .title-block h1,.theme-hud .calendar-month-title{color:var(--text);font-family:var(--hud-sans);font-weight:650;text-shadow:none}.theme-hud .title-block h1{font-weight:520;letter-spacing:.12em}.theme-hud .calendar-month-title{letter-spacing:-.015em}.theme-hud .side-panel h2,.theme-hud .weekday-row>span,.theme-hud .filter-chip,.theme-hud .view-switch button,.theme-hud .theme-switch button,.theme-hud .form-grid label,.theme-hud .admin-gate-form label,.theme-hud .toggle{color:var(--muted);font-family:var(--hud-mono);font-weight:500;letter-spacing:.08em}.theme-hud .filter-chip,.theme-hud .view-switch button,.theme-hud .theme-switch button,.theme-hud .primary-button,.theme-hud input,.theme-hud select{border-color:#f5f8f22e;border-radius:0;color:#f7f7f0db;background:#f5f8f20e;box-shadow:none}.theme-hud .theme-switch button{justify-content:center;white-space:nowrap;font-size:.76rem}.theme-hud .filter-chip.active,.theme-hud .view-switch button.active,.theme-hud .theme-switch button.active{color:var(--text);border-color:#f5f8f25c;background:#f5f8f21f}.theme-hud .filter-chip[data-label="UG BM"].active,.theme-hud .filter-chip[data-label="PG PM"].active,.theme-hud .filter-chip[data-label=Induction].active{box-shadow:none}.theme-hud .calendar-month-rail{border-bottom-color:var(--line);background:#090c0c75}.theme-hud .rail-button{border-color:#f5f8f242;border-radius:0;background:#f5f8f20e;box-shadow:none}.theme-hud .weekday-row{border-bottom-color:var(--line);background:#f5f8f209}.theme-hud .weekday-row>span{color:#fffffaf0;letter-spacing:.14em}.theme-hud .week-row{container-type:size;border-bottom-color:#f5f8f221;background:#ffffff02}.theme-hud .day-cell{border-right-color:#f5f8f21f;background:linear-gradient(180deg,#2a2d2d52,#08090aeb),#0a0b0cfa}.theme-hud .day-cell.weekend{background:linear-gradient(180deg,#ffffff03,#ffffff01),#0f101194}.theme-hud .day-number{color:#fbfbf7}.theme-hud .weekend .day-number{color:#a6aeb0bd}.theme-hud .outside-month .day-number{color:#89919485}.theme-hud .week-row.current{--current-neon-core: rgba(255, 255, 246, 1);--current-neon-edge: rgba(191, 255, 0, 0);--current-neon-bloom: rgba(255, 255, 246, .1);--current-rim-core: .25px;--current-rim-offset: .25px;--current-bloom-depth: 10cqh;--current-spark-depth: 4.8cqh;--current-spark-length: 100px;--current-spark-half: 50px;background:#ffffff01;box-shadow:none}.theme-hud .week-row.current:before{content:none}.theme-hud .week-row.current:after{content:"";position:absolute;inset:0;width:auto;height:auto;border-radius:0;pointer-events:none;z-index:8;background:linear-gradient(180deg,var(--current-neon-bloom),rgba(191,255,0,0)) left top / 100% var(--current-bloom-depth) no-repeat,linear-gradient(0deg,var(--current-neon-bloom),rgba(191,255,0,0)) left bottom / 100% var(--current-bloom-depth) no-repeat,linear-gradient(90deg,var(--current-neon-bloom),rgba(191,255,0,0)) left top / var(--current-bloom-depth) 100% no-repeat,linear-gradient(270deg,var(--current-neon-bloom),rgba(191,255,0,0)) right top / var(--current-bloom-depth) 100% no-repeat,linear-gradient(var(--current-neon-core),var(--current-neon-core)) left top / 100% var(--current-rim-core) no-repeat,linear-gradient(var(--current-neon-edge),var(--current-neon-edge)) left var(--current-rim-offset) top var(--current-rim-offset) / calc(100% - .5px) var(--current-rim-core) no-repeat,linear-gradient(var(--current-neon-core),var(--current-neon-core)) left bottom / 100% var(--current-rim-core) no-repeat,linear-gradient(var(--current-neon-edge),var(--current-neon-edge)) left var(--current-rim-offset) bottom var(--current-rim-offset) / calc(100% - .5px) var(--current-rim-core) no-repeat,linear-gradient(var(--current-neon-core),var(--current-neon-core)) left top / var(--current-rim-core) 100% no-repeat,linear-gradient(var(--current-neon-edge),var(--current-neon-edge)) left var(--current-rim-offset) top var(--current-rim-offset) / var(--current-rim-core) calc(100% - .5px) no-repeat,linear-gradient(var(--current-neon-core),var(--current-neon-core)) right top / var(--current-rim-core) 100% no-repeat,linear-gradient(var(--current-neon-edge),var(--current-neon-edge)) right var(--current-rim-offset) top var(--current-rim-offset) / var(--current-rim-core) calc(100% - .5px) no-repeat;box-shadow:inset 0 0 .85px #fffff642,inset 0 0 1.8px #fffff61f}.week-spark-layer{display:none}.theme-hud .week-row.current .week-spark-layer{position:absolute;inset:-12px;z-index:9;display:block;overflow:visible;pointer-events:none}.theme-hud .week-row.current .week-spark-canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen}.theme-hud .week-row.current .week-main{z-index:1}@media(prefers-reduced-motion:reduce){.theme-hud .week-row.current .week-spark-canvas{display:none}}.calendar-shell{height:100%;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff0d,#ffffff03),#0c1014bd;box-shadow:0 20px 46px #0000004d}.calendar-board{--week-count: 5;min-width:0;height:100%;display:grid;grid-template-rows:clamp(44px,6.5vh,58px) clamp(20px,3vh,24px) repeat(var(--week-count),minmax(0,1fr))}.calendar-month-rail{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;min-height:0;padding:clamp(5px,1vh,8px) 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#ffffff0f,#ffffff05),#090d1094}.calendar-month-title{justify-self:center;color:#f6f7f8;font-size:clamp(1.2rem,2.2vw,2rem);font-weight:860;letter-spacing:0;text-align:center;text-shadow:0 1px 18px rgba(255,255,255,.1)}.rail-button{width:clamp(34px,4.5vh,40px);height:clamp(34px,4.5vh,40px);display:grid;place-items:center;border:1px solid rgba(228,238,246,.24);border-radius:6px;color:#f8f8f7e6;background:linear-gradient(180deg,#ffffff14,#ffffff06),#0d121794;box-shadow:inset 0 1px #ffffff14,0 8px 18px #0003}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:24px;align-items:center;border-bottom:1px solid var(--line);background:#ffffff05}.week-row{display:block}.weekday-row>span{display:grid;place-items:center;font-size:.68rem;font-weight:820;color:#d8dde2;text-transform:uppercase}.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-row{position:relative;min-height:0;border-bottom:1px solid var(--line);background:#ffffff03}.week-row:last-child{border-bottom:0}.week-row.current{background:linear-gradient(90deg,#57a2ff1f,#57a2ff0b 45%,#ffffff05);box-shadow:inset 0 0 0 1px #77acfff2,inset 0 0 30px #4c96ff33,0 0 26px #5490ff47;z-index:2}.week-row.current:before{content:none;position:absolute;left:8px;top:50%;width:7px;height:7px;border-radius:999px;background:#61c2ff;box-shadow:0 0 16px #61c2ff;z-index:5}.week-main{position:relative;height:100%;min-width:0}.days-grid{position:absolute;inset:0}.day-cell{min-width:0;padding:clamp(5px,.85vh,10px) 10px;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--cell),rgba(9,13,16,.4))}.day-cell:last-child{border-right:0}.day-cell.weekend{background:linear-gradient(180deg,var(--cell-alt),rgba(7,10,13,.46))}.day-cell.outside-month{opacity:.43}.day-number{display:inline-flex;align-items:center;color:#f5f6f7;font-size:clamp(.92rem,1.5vw,1.42rem);line-height:1;font-weight:760}.day-cell.today .day-number:after{content:"";width:6px;height:6px;margin-left:7px;border-radius:50%;background:var(--current-accent);box-shadow:0 0 10px color-mix(in srgb,var(--current-accent) 72%,transparent)}.weekend .day-number{color:#ecf0f3c7}.outside-month .day-number{color:#ecf0f38f}.ribbon-layer{position:absolute;left:14px;right:calc((100% - 28px) * 2 / 7 + 14px);top:clamp(31px,34%,44px);bottom:clamp(6px,7%,10px);height:auto;pointer-events:none}.ribbon{--label-offset: calc(40% + 6px) ;--accent: rgba(255, 255, 255, .78);--accent-line: rgba(255, 255, 255, .26);--accent-glow: rgba(255, 255, 255, .16);--accent-wash: rgba(255, 255, 255, .08);--organza-thread: rgba(255, 255, 255, .035);--surface: rgba(28, 34, 39, .78);--surface-deep: rgba(14, 18, 22, .74);position:absolute;left:0;right:0;top:var(--ribbon-top);min-width:0;display:flex;align-items:center;height:var(--ribbon-height);padding:0 12px 0 var(--label-offset);border:1px solid var(--accent-line);border-left:5px solid var(--accent);border-radius:5px;color:#f9fbfc;font-size:.78rem;line-height:1;font-weight:820;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(180deg,#ffffff21,#ffffff04 42%,#0000000f),repeating-linear-gradient(115deg,var(--organza-thread) 0 1px,transparent 1px 8px),linear-gradient(90deg,var(--accent-wash) 0%,var(--surface) 13%,var(--surface-deep) 100%),#0c1013b3;box-shadow:inset 0 1px #ffffff1f,inset 1px 0 #ffffff29,0 6px 18px #00000038;text-shadow:0 1px 7px rgba(0,0,0,.58);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:top .36s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1),font-size .36s cubic-bezier(.22,1,.36,1),padding-top .36s cubic-bezier(.22,1,.36,1),padding-bottom .36s cubic-bezier(.22,1,.36,1),opacity .26s ease;animation:ribbon-enter .26s ease-out}.ribbon.expanded{font-size:clamp(.86rem,1.25cqh,.98rem)}.ribbon:before,.ribbon:after{content:"";position:absolute;top:0;bottom:0;pointer-events:none}.ribbon:before{left:0;width:22px;background:linear-gradient(90deg,var(--accent-glow),transparent 72%),linear-gradient(90deg,rgba(255,255,255,.18),transparent 45%)}.ribbon:after{right:0;width:14px;background:linear-gradient(270deg,var(--accent-glow),transparent 76%)}.ribbon span{position:relative;z-index:1;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}@keyframes ribbon-enter{0%{opacity:0;transform:scaleY(.9)}to{opacity:1;transform:scaleY(1)}}.ribbon.ug{--accent: rgba(70, 255, 195, .98);--accent-line: rgba(122, 255, 214, .46);--accent-glow: rgba(61, 255, 193, .24);--accent-wash: rgba(45, 210, 153, .28);--surface: rgba(25, 62, 52, .58);--surface-deep: rgba(16, 33, 32, .58);--organza-thread: rgba(169, 255, 224, .045)}.ribbon.pg{--accent: rgba(103, 179, 255, .98);--accent-line: rgba(151, 207, 255, .46);--accent-glow: rgba(92, 171, 255, .23);--accent-wash: rgba(61, 134, 226, .26);--surface: rgba(27, 53, 81, .58);--surface-deep: rgba(16, 29, 46, .6);--organza-thread: rgba(181, 218, 255, .043)}.ribbon.assessment{color:#ecf1f3e6;font-weight:800;background:linear-gradient(180deg,#ffffff1a,#ffffff03 42%,#00000014),repeating-linear-gradient(115deg,var(--organza-thread) 0 1px,transparent 1px 10px),linear-gradient(90deg,var(--accent-wash) 0%,var(--surface) 13%,var(--surface-deep) 100%),#0e1011d1;box-shadow:inset 0 1px #ffffff1a,0 3px 14px #00000029;text-shadow:0 1px 5px rgba(0,0,0,.66),0 0 5px rgba(255,255,255,.05)}.ribbon.assessment.ug{--accent: rgba(143, 188, 173, .76);--accent-line: rgba(177, 206, 196, .28);--accent-glow: rgba(92, 150, 132, .07);--accent-wash: rgba(83, 130, 114, .11);--surface: rgba(34, 48, 45, .42);--surface-deep: rgba(18, 24, 25, .66);--organza-thread: rgba(210, 226, 220, .025)}.ribbon.assessment.pg{--accent: rgba(145, 174, 202, .76);--accent-line: rgba(181, 202, 220, .28);--accent-glow: rgba(98, 136, 174, .07);--accent-wash: rgba(82, 111, 150, .1);--surface: rgba(34, 44, 55, .44);--surface-deep: rgba(18, 25, 35, .66);--organza-thread: rgba(210, 222, 235, .025)}.ribbon.induction.ug{--accent: rgba(255, 144, 202, .98);--accent-line: rgba(255, 178, 218, .48);--accent-glow: rgba(255, 104, 180, .24);--accent-wash: rgba(218, 82, 154, .28);--surface: rgba(73, 34, 55, .58);--surface-deep: rgba(42, 22, 35, .6);--organza-thread: rgba(255, 207, 230, .045)}.ribbon.induction.pg{--accent: rgba(255, 76, 166, .98);--accent-line: rgba(255, 126, 194, .48);--accent-glow: rgba(255, 66, 159, .26);--accent-wash: rgba(203, 49, 130, .3);--surface: rgba(76, 28, 54, .6);--surface-deep: rgba(45, 20, 35, .62);--organza-thread: rgba(255, 190, 222, .048)}.admin-shell{height:100%;min-height:0;overflow-y:auto;padding:22px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff0d,#ffffff03),#0c1014bd}.admin-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-intro-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.admin-intro h2{margin:0 0 6px;font-size:1.6rem}.admin-intro p{max-width:760px;margin:0;color:var(--muted)}code{color:#e9eef4}.run-list{display:grid;gap:14px}.run-card{padding:18px;border:1px solid var(--line);border-radius:8px;background:#ffffff09}.run-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.run-card h3{margin:0;font-size:1.1rem}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid label,.admin-gate-form label,.toggle{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:740}.toggle{display:flex;align-items:center}input,select{width:100%;min-height:40px;border:1px solid var(--line-strong);border-radius:6px;padding:0 10px;color:var(--text);background:#080c10a8}input[type=checkbox]{width:18px;min-height:18px}.exception-toggle{margin-top:14px}.admin-actions{position:sticky;bottom:12px;display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#0a0e12db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-gate-shell{display:grid;place-items:center}.admin-gate{width:min(430px,100%);display:grid;gap:18px;padding:24px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff0b,#ffffff03),#0a0d0ea3}.admin-gate h2{margin:0 0 6px;font-size:1.45rem;line-height:1.08}.admin-gate p{margin:0;color:var(--muted);line-height:1.35}.admin-gate-form{display:grid;gap:14px}.admin-gate-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:2px}.dialog-button{width:104px;min-height:42px;border:1px solid rgba(245,248,242,.24);border-radius:0;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;color:#f7f7f0e6;background:#f5f8f20b;box-shadow:none;font-weight:720;line-height:1}.dialog-button.primary{border-color:#f5f8f27a;color:#f7f7f0;background:#f5f8f224}.dialog-button:hover{border-color:#f5f8f275;background:#f5f8f21a}.dialog-button.primary:hover{border-color:#f5f8f2ad;background:#f5f8f22e}.dialog-button:disabled{cursor:default;opacity:.56}.dialog-button:focus-visible{outline:none;border-color:#f5f8f2b3;box-shadow:0 0 0 1px #f5f8f261,0 0 16px #f5f8f214}.theme-hud .dialog-button{font-family:var(--hud-mono);letter-spacing:.08em}.theme-hud .admin-gate input:focus{outline:none;border-color:#f5f8f2a3;box-shadow:0 0 0 1px #f5f8f26b,0 0 18px #f5f8f214}.form-error{color:#ffd1d1;font-size:.86rem;font-weight:720}.primary-button{border-color:#6de1b97a;background:linear-gradient(180deg,#68e8bb40,#68e8bb1a),#101a17e6}@media(max-width:980px){body{overflow:auto}.app-frame{width:min(100vw - 12px,760px);height:auto;min-height:calc(100dvh - 12px);margin:6px auto;padding:10px}.app-header,.admin-intro{align-items:stretch;flex-direction:column}.admin-intro-actions{width:100%;flex-wrap:wrap}.admin-intro-actions button{flex:1 1 150px;justify-content:center}.workspace{grid-template-columns:1fr;align-items:start}.side-panel{display:contents;position:static;max-height:none;overflow:visible;padding-right:0}.filters-panel{order:1;display:flex;align-items:center;gap:9px;overflow:hidden;padding:8px 10px}.filters-panel h2{flex:0 0 auto;margin:0;font-size:.66rem;letter-spacing:.16em}.calendar-shell,.admin-shell{order:2}.view-panel{order:3;margin-top:0}.design-panel{order:4}.side-panel .filter-group{display:flex;flex:1 1 auto;grid-template-columns:none;gap:7px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.side-panel .filter-group::-webkit-scrollbar{display:none}.side-panel .filter-chip{flex:0 0 auto;width:auto;min-height:34px;padding:0 11px;font-size:.72rem;letter-spacing:.08em}.pg-filter-block{display:flex;flex:0 0 auto;align-items:center;gap:6px;grid-column:auto}.pg-semester-filters{display:flex;flex:0 0 auto;gap:5px;margin:0;padding:0;border-left:0}.pg-semester-filters .filter-chip{min-width:42px;min-height:34px;justify-content:center;padding:0 8px}.weekday-row>span{font-size:.62rem}.week-row{min-height:88px}.day-cell{padding:7px 6px}.day-number{font-size:clamp(1.05rem,5vw,1.55rem);margin-top:3px}.ribbon-layer{left:7px;right:calc((100% - 14px) * 2 / 7 + 7px);top:36px;bottom:6px;height:auto;gap:5px}.ribbon{--label-offset: calc(40% + 4px) ;padding-left:var(--label-offset);font-size:.68rem}.ribbon.expanded{font-size:clamp(.74rem,2.5vw,.86rem)}.form-grid{grid-template-columns:1fr}}
