:root{--monospace:Consolas,Menlo,Monaco,"Andale Mono","Ubuntu Mono",monospace;--base-fontsize:1.5rem;--header-scale:1.15;--bg:#1b1b1b;--fg:#fafafa;--fg-light:#5bb8e3;--fg-dark:#c6c6c6;--fg-darker:#aaaaaa;--aux-one:#18d7f7;--aux-two:#c157f1;--aux-three:#fb24ab;--aux-four:#00e89e;--aux-five:#ff8f00;--aux-six:#edc307;--aux-disabled:#5c94e8;--ohighlight:#00e89e;--accent:var(--fg-light);--text:var(--fg);--border:var(--fg-dark);--highlight:var(--ohighlight);--disabled:var(--aux-disabled)}*{font-family:var(--monospace)}body{background-color:var(--bg);color:var(--fg);font-size:var(--base-fontsize);margin:0 10vw}h1{font-size:calc(var(--base-fontsize)*var(--header-scale)*var(--header-scale)*var(--header-scale)*var(--header-scale));color:var(--aux-one)}h2{font-size:calc(var(--base-fontsize)*var(--header-scale)*var(--header-scale)*var(--header-scale));color:var(--aux-two)}h3{font-size:calc(var(--base-fontsize)*var(--header-scale)*var(--header-scale));color:var(--aux-three)}h4{font-size:calc(var(--base-fontsize)*var(--header-scale));color:var(--aux-four)}h5{font-size:var(--base-fontsize);color:var(--aux-five)}h6{font-size:var(--base-fontsize);color:var(--aux-six);margin:1.67em 0}p{font-size:var(--base-fontsize)}mark{background-color:var(--highlight)}a{color:var(--aux-one)}tr>td,tr>th{font-size:var(--base-fontsize);padding:calc(var(--base-fontsize)/2) calc(var(--base-fontsize)*2)}tr>th{font-size:calc(var(--base-fontsize)*var(--header-scale))}blockquote{margin:2rem 0 2rem 2rem;padding:.4rem .8rem;border-left:.35rem solid var(--aux-one);opacity:.8;font-style:italic;font-size:calc(var(--base-fontsize)*var(--header-scale))}cite{font-size:var(--base-fontsize);color:var(--text);font-style:normal}button,.button,[role="button"],input[type="submit"],input[type="reset"],input[type="button"]{border:none;border-radius:5px;background:var(--accent);font-size:1rem;color:var(--bg);padding:.7rem .9rem;margin:.5rem 0;transition:.4s;cursor:pointer}button:hover,.button:hover,[role="button"]:hover,input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{background:var(--fg);color:var(--bg)}button:active,.button:active,[role="button"]:active,input[type="submit"]:active,input[type="reset"]:active,input[type="button"]:active{background:var(--fg-dark);color:var(--bg)}button[disabled],.button[aria-disabled="true"],[role="button"][aria-disabled="true"],input[type="submit"][disabled],input[type="reset"][disabled],input[type="button"][disabled],input[type="checkbox"][disabled],input[type="radio"][disabled],select[disabled]{cursor:not-allowed;opacity:.5}input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;background-color:var(--disabled)}input[type="range"]{padding:0}textarea,select,input{font-size:inherit;font-family:inherit;padding:.5rem;margin-bottom:.5rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px;box-shadow:none;box-sizing:border-box;width:60%;appearance:none}select{background-image:linear-gradient(45deg,transparent 49%,var(--text) 51%),linear-gradient(135deg,var(--text) 51%,transparent 49%);background-position:calc(100% - 20px),calc(100% - 15px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}select[multiple]{background-image:none!important}input[type="checkbox"],input[type="radio"]{vertical-align:bottom;position:relative;width:auto}input[type="radio"]{border-radius:100%}input[type="checkbox"]:checked,input[type="radio"]:checked{background:var(--accent)}input[type="checkbox"]:checked::after{content:" ";width:.1em;height:.25em;border-radius:0;position:absolute;top:.05em;left:.18em;background:transparent;border-right:solid var(--bg) .08em;border-bottom:solid var(--bg) .08em;font-size:1.8em;transform:rotate(45deg)}input[type="radio"]:checked::after{content:" ";width:.25em;height:.25em;border-radius:100%;position:absolute;top:.125em;background:var(--bg);left:.125em;font-size:32px}textarea{width:80%}@media only screen and (max-width:720px){textarea,select,input{width:100%}}input[type="file"]{border:0}fieldset{border:0;padding:0;margin:0}form div{margin-bottom:.8rem}form label{display:block;margin-bottom:.3rem;color:var(--fg-light)}.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.service-card{border:1px solid var(--border);border-radius:8px;padding:1.5rem;transition:.3s;display:block;text-decoration:none}.service-card:hover{border-color:var(--aux-one);transform:translateY(-2px)}.service-card h3{margin:0 0 .5rem}.service-card p{margin:0;font-size:1rem;color:var(--fg-darker)}.nav-code{margin-left:auto}code{background-color:var(--fg-dark);color:var(--bg);display:inline-block}pre{overflow:auto;background-color:#16181b;font-family:var(--monospace);line-height:1.2;margin-top:15px;padding:15px}pre code{background-color:transparent;padding:0}table{overflow-x:auto;margin-top:1rem;margin-bottom:1rem;border:1px solid var(--fg);border-collapse:collapse;border-spacing:0;width:100%}table td,table th{border-bottom:1px solid var(--fg);padding:1rem;text-align:left}table th{font-weight:600}.table-container{overflow-x:auto}nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}nav a{font-size:calc(var(--base-fontsize)*var(--header-scale))}.nav-code{margin-left:auto}header h1{color:var(--aux-one)}header h4{color:var(--aux-one)}hr{color:var(--fg)}footer{display:inline-block;padding:1rem 2rem}.fg-aux-one{color:var(--aux-one)}.fg-aux-two{color:var(--aux-two)}.fg-aux-three{color:var(--aux-three)}.fg-aux-four{color:var(--aux-four)}.fg-aux-five{color:var(--aux-five)}.fg-aux-six{color:var(--aux-six)}.link-admin,.link-admin:hover{color:var(--aux-three)!important}img{width:100%;height:auto}
.heart-btn{background:none!important;border:none!important;color:var(--aux-three)!important;font-size:1.8rem;padding:0 .5rem;cursor:pointer;transition:.2s}.heart-btn:hover{transform:scale(1.3)}.heart-btn.faved{color:var(--aux-three)!important}.heart-btn[disabled]{opacity:1}.pagination{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.page-link{display:inline-block;padding:.3rem .6rem;border:1px solid var(--border);border-radius:4px;text-decoration:none;font-size:1rem;color:var(--fg);transition:.2s}.page-link:hover{border-color:var(--aux-one);color:var(--aux-one)}.page-link.active{border-color:var(--aux-four);color:var(--aux-four);font-weight:700}.audio-icon{font-size:1.2rem;margin-right:.4rem}.audio-icon.audio-ok{color:var(--aux-four)}.audio-icon.audio-end{color:var(--aux-six)}.audio-icon.audio-no{color:var(--aux-three)}.subject-link{color:var(--aux-one);text-decoration:underline}.subject-link:hover{color:var(--fg-light)}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:1000;align-items:center;justify-content:center}.modal-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:2rem;max-width:750px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.lecture-list{display:flex;flex-direction:column;gap:.5rem}.lecture-entry{display:grid;grid-template-columns:auto 1fr;gap:0 1rem;border-bottom:1px solid var(--border);padding:.6rem 0}.lecture-num{grid-row:span 2;font-size:2.2rem;font-weight:700;color:var(--aux-four);align-self:center;min-width:2.5rem;text-align:center}.lecture-body{grid-column:2}.lecture-date{font-size:1rem;font-weight:600;margin-bottom:.25rem}.lecture-info{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:var(--fg-aux)}.lecture-watch{font-size:1.4rem;font-weight:700;color:var(--aux-one);text-decoration:none;display:inline-flex;align-items:center}.lecture-watch:hover{color:var(--fg-light)}.lecture-na{font-size:1.4rem;font-weight:700;color:var(--fg-dark);display:inline-flex;align-items:center}.modal-loading{text-align:center;padding:3rem;font-size:1.4rem;color:var(--aux-four)}.modal-close{position:absolute;top:.5rem;right:1rem;background:none;border:none;color:var(--fg);font-size:2rem;cursor:pointer}.modal-close:hover{color:var(--aux-one)}

/* RU GetReg - Timetable & Selected */
.tt-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:2px;font-size:.75rem;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#111;}
.tt-header{font-weight:700;text-align:center;padding:6px 4px;font-size:.8rem;color:#000;}
.tt-time{padding:4px 6px;color:var(--fg-darker);text-align:right;font-size:.65rem;white-space:nowrap;background:#1a1a1a;}
.tt-cell{min-height:48px;padding:2px;position:relative;}
.tt-cell .tt-subj{font-size:.65rem;padding:2px 4px;margin:1px 0;border-radius:3px;cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#000;font-weight:600;}
.tt-empty{color:var(--fg-darker);font-size:.7rem;text-align:center;padding:2rem 0;}

.sel-table{width:100%;border-collapse:collapse;font-size:.85rem;}
.sel-table th{text-align:left;padding:.4rem .7rem;border-bottom:2px solid var(--border);color:var(--aux-two);white-space:nowrap;}
.sel-table td{padding:.4rem .7rem;border-bottom:1px solid var(--border);vertical-align:middle;}
.collision-badge{display:inline-block;background:var(--aux-three);color:#000;font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:3px;margin-left:4px;cursor:help;}

.add-btn{background:var(--aux-four);color:#000;border:none;border-radius:4px;font-size:.75rem;font-weight:700;padding:.2rem .6rem;cursor:pointer;min-width:26px;transition:.15s;line-height:1.4;}
.add-btn.active{background:var(--aux-three);}
.add-btn:hover{filter:brightness(1.3);transform:scale(1.05);}

.sec-toggle{display:inline-flex;align-items:center;margin-left:6px;}
.sec-toggle .add-btn{flex-shrink:0;}
.exam-warn{color:var(--aux-three);font-size:.6rem;margin-left:4px;cursor:help;}
.sec-entry{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.sec-daytime{font-weight:600;}
.sec-room{color:var(--fg-darker);font-size:.7rem;}

.exam-summary{background:#111;border:1px solid var(--border);border-radius:6px;padding:1rem;margin-bottom:1rem;}
.exam-summary h4{margin:0 0 .5rem;color:var(--aux-two);}
.exam-summary table{width:100%;border-collapse:collapse;font-size:.8rem;}
.exam-summary th{text-align:left;padding:.3rem .5rem;color:var(--aux-five);border-bottom:1px solid var(--border);}
.exam-summary td{padding:.3rem .5rem;border-bottom:1px solid var(--border);}

.reg-meta{display:flex;gap:1rem;align-items:center;font-size:1rem;}
.reg-meta button.small{font-size:.75rem;padding:.3rem .7rem;background:var(--aux-three);color:#000;}
.reg-meta button.small.danger{background:var(--aux-three);}
.reg-meta button.small:hover{filter:brightness(1.2);}
.reg-hr{border:none;border-top:1px dashed var(--fg-darker);margin:1rem 0;}
