.oc{--strong:#fff;--app-bg:#0e0c27;--soft:rgba(255,255,255,0.08);--soft-line:rgba(255,255,255,0.2);--ok-text:#6ee7b7;--warn-text:#fcd34d;--bad-text:#fca5a5;--info-text:#a5f3fc;--violet-text:#c4b5fd;--surface:#17143d;--surface-2:#1d1a4a;--side-bg:#0e0c27;--hover:rgba(255,255,255,0.06);--shadow:0 18px 50px rgba(0,0,0,0.45)}html[data-theme=light] .oc{--paper:#f6f6fb;--card:#ffffff;--ink:#0f172a;--ink-2:#475569;--line:#e2e8f0}html[data-theme=dark] .oc{--paper:#100e28;--card:#18153d;--ink:#eef0ff;--ink-2:#a9abcb;--line:rgba(255,255,255,0.1)}html[data-theme=light] .oc .app,html[data-theme=light] .oc .modal,html[data-theme=light] .oc .portal{--strong:#0f172a;--app-bg:#ffffff;--soft:#f1f2f8;--soft-line:#cbd5e1;--on-night:#1e293b;--on-night-2:#64748b;--ok-text:#047857;--warn-text:#b45309;--bad-text:#b91c1c;--info-text:#0e7490;--violet-text:#6d28d9;--surface:#ffffff;--surface-2:#f8f9fc;--side-bg:#ffffff;--hover:#eef0f7;--shadow:0 12px 40px rgba(15,23,42,0.14)}html[data-theme=light]{color-scheme:light}html[data-theme=light] .oc .app{background:#f4f5fb;color:var(--on-night)}html[data-theme=light] .oc .portal{background:#f4f5fb}html[data-theme=light] .oc .portal .glow{opacity:.12}html[data-theme=light] .oc .portal-main h1{color:#0f172a}html[data-theme=light] .oc .topbar{background:rgba(255,255,255,.92);border-bottom-color:#e4e4f0}html[data-theme=light] .oc .topbar .logo{color:#0f172a}html[data-theme=light] .oc .tb-btn{color:#1e1b3a;border-color:#d4d6e4}html[data-theme=light] .oc .switch{background:#eef0f7;border-color:#e2e4ee}html[data-theme=light] .oc .switch a{color:#475569}html[data-theme=light] .oc .switch a.on-c{color:#fff}html[data-theme=light] .oc .branch{background:#fef3c7;border-color:#fcd34d;color:#92400e}html[data-theme=light] .oc .branch select{color:#92400e}html[data-theme=light] .oc .me{color:#475569}html[data-theme=light] .oc .side{border-right-color:#e4e4f0}html[data-theme=light] .oc .side a{color:#475569}html[data-theme=light] .oc .side a:hover{background:#eef0f7;color:#0f172a}html[data-theme=light] .oc .side a.cur{background:rgba(124,58,237,.12);color:#5b21b6}html[data-theme=light] .oc .app-lib .side a.cur{background:rgba(6,182,212,.14);color:#0e7490}html[data-theme=light] .oc .side .side-foot,html[data-theme=light] .oc .side .soon{color:#94a3b8}html[data-theme=light] .oc .content h1{color:#0f172a}html[data-theme=light] .oc .card{background:#fff;border-color:#e4e4f0;box-shadow:0 1px 2px rgba(15,23,42,.04),0 6px 20px rgba(15,23,42,.04)}html[data-theme=light] .oc .card .big,html[data-theme=light] .oc .card h3{color:#0f172a}html[data-theme=light] .oc .p-ok{background:#dcfce7;color:#166534}html[data-theme=light] .oc .p-due{background:#fef3c7;color:#92400e}html[data-theme=light] .oc .p-late{background:#fee2e2;color:#991b1b}html[data-theme=light] .oc .p-info{background:#cffafe;color:#155e75}html[data-theme=light] .oc .tbl th{color:#64748b;border-bottom-color:#e4e4f0}html[data-theme=light] .oc .tbl td{color:#1e293b;border-bottom-color:#eef0f6}html[data-theme=light] .oc .tbl tr.today td{background:rgba(124,58,237,.06)}html[data-theme=light] .oc .app .tbl a{color:#0f172a}html[data-theme=light] .oc .app .tbl tr.click:hover td{background:#f8f9fd}html[data-theme=light] .oc .sb-g{background:#f1f2f8;color:#1e1b3a;border-color:#d9dbe8}html[data-theme=light] .oc .sb-g:hover{background:#e8eaf4}html[data-theme=light] .oc .meter{background:#e8e9f2}html[data-theme=light] .oc .note-row{border-bottom-color:#eef0f6}html[data-theme=light] .oc .note-row b{color:#0f172a}html[data-theme=light] .oc .empty{border-color:#cbd5e1}html[data-theme=light] .oc .demo-flag{background:#fef3c7;color:#92400e}html[data-theme=light] .oc .badge{color:#fff}html[data-theme=light] .oc .app .check,html[data-theme=light] .oc .app .field label{color:#334155}html[data-theme=light] .oc .app .field input,html[data-theme=light] .oc .app .field select,html[data-theme=light] .oc .app .field textarea,html[data-theme=light] .oc .app .marks-in,html[data-theme=light] .oc .app .plan-row input,html[data-theme=light] .oc .app .toolbar select,html[data-theme=light] .oc .app input[type=date],html[data-theme=light] .oc .app select,html[data-theme=light] .oc .modal .field input,html[data-theme=light] .oc .modal .field select,html[data-theme=light] .oc .modal .field textarea,html[data-theme=light] .oc .search{background:#fff;border-color:#cbd5e1;color:#0f172a;color-scheme:light}html[data-theme=light] .oc .app .field input::placeholder,html[data-theme=light] .oc .search::placeholder{color:#94a3b8}html[data-theme=light] .oc .app .field .hint{color:#64748b}html[data-theme=light] .oc .app .field .err{color:#b91c1c}html[data-theme=light] .oc .app .days button,html[data-theme=light] .oc .app .mark button,html[data-theme=light] .oc .opts button{background:#f8fafc;border-color:#d9dbe8;color:#334155}html[data-theme=light] .oc .app .days button[aria-pressed=true]{background:var(--violet);border-color:var(--violet);color:#fff}html[data-theme=light] .oc .opts button[aria-pressed=true]{background:var(--cyan);border-color:var(--cyan);color:#042f2e}html[data-theme=light] .oc .app .mark button[aria-pressed=true]{color:#fff}html[data-theme=light] .oc .app .form-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}html[data-theme=light] .oc .app .form-ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}html[data-theme=light] .oc .app .form-ok b{color:#064e3b}html[data-theme=light] .oc .app .secret{background:#f1f5f9;color:#0f172a}html[data-theme=light] .oc .app .kv dd{color:#0f172a}html[data-theme=light] .oc .app .pick-list{border-color:#cbd5e1}html[data-theme=light] .oc .app .pick-list button{background:#fff;color:#0f172a;border-bottom-color:#eef0f6}html[data-theme=light] .oc .app .pick-list button:hover{background:rgba(124,58,237,.08)}html[data-theme=light] .oc .app .bar-row .lbl b,html[data-theme=light] .oc .app .course-card .nums b,html[data-theme=light] .oc .app .course-card h3,html[data-theme=light] .oc .app .lesson-list li b,html[data-theme=light] .oc .app .qcard h4,html[data-theme=light] .oc .app .sum-line b,html[data-theme=light] .oc .app .thread .msg b,html[data-theme=light] .oc .app .week .slot b,html[data-theme=light] .oc .bars .bar b{color:#0f172a}html[data-theme=light] .oc .app .course-card .code,html[data-theme=light] .oc .app .week .col h4{color:#64748b}html[data-theme=light] .oc .app .dots .PRESENT{background:#dcfce7;color:#166534}html[data-theme=light] .oc .app .dots .LATE{background:#fef3c7;color:#92400e}html[data-theme=light] .oc .app .dots .ABSENT{background:#fee2e2;color:#991b1b}html[data-theme=light] .oc .app .week .col{background:#fff;border-color:#e4e4f0}html[data-theme=light] .oc .app .week .col.today{background:rgba(124,58,237,.05)}html[data-theme=light] .oc .app .week .slot{background:rgba(124,58,237,.1);color:#1e293b}html[data-theme=light] .oc .app .diff-short,html[data-theme=light] .oc .app .no-t,html[data-theme=light] .oc .app .sum-line.bad b{color:#b91c1c}html[data-theme=light] .oc .app .diff-over{color:#b45309}html[data-theme=light] .oc .app .diff-ok,html[data-theme=light] .oc .app .ok-t{color:#047857}html[data-theme=light] .oc .lib-seats button{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}html[data-theme=light] .oc .lib-seats button.free{background:#cffafe;border-color:#22d3ee;color:#155e75}html[data-theme=light] .oc .lib-seats button.pick{border-color:#0e7490}html[data-theme=light] .oc .lib-seats .seat-off{background:transparent;color:#cbd5e1}html[data-theme=light] .oc .pay-methods label{border-color:#d9dbe8}html[data-theme=light] .oc .spinner{border-color:#7c3aed rgba(15,23,42,.15) rgba(15,23,42,.15)}html[data-theme=light] .oc .app .stars button,html[data-theme=light] .oc .app .stars i{color:#cbd5e1}html[data-theme=light] .oc .app .stars .on{color:#f59e0b}html[data-theme=light] .oc .app .lesson-list li{border-bottom-color:#eef0f6}html[data-theme=light] .oc .app .tick{border-color:#cbd5e1;color:#0f172a}html[data-theme=light] .oc .app .tick[aria-pressed=true]{color:#fff}html[data-theme=light] .oc .app .lesson-body,html[data-theme=light] .oc .app .notice{background:#f8fafc}html[data-theme=light] .oc .app .notice.unread{background:rgba(124,58,237,.07)}html[data-theme=light] .oc .app .qcard{border-color:#e4e4f0}html[data-theme=light] .oc .app .opt{border-color:#cbd5e1;color:#1e293b}html[data-theme=light] .oc .app .opt[aria-pressed=true]{background:rgba(124,58,237,.1);color:#3b0764}html[data-theme=light] .oc .app .timer{color:#0f172a;background:#f1f5f9}html[data-theme=light] .oc .app .timer.low{color:#b91c1c}html[data-theme=light] .oc .app .thread{border-left-color:#e2e8f0}html[data-theme=light] .oc .app .thread .msg.staff b{color:#6d28d9}html[data-theme=light] .oc .app .cal .day{border-color:#e2e8f0;background:#fff}html[data-theme=light] .oc .app .cal .day.off{background:#fffbeb}html[data-theme=light] .oc .app .cal .ev{color:#1e293b}html[data-theme=light] .oc .app .ev.CLASS{background:rgba(124,58,237,.16)}html[data-theme=light] .oc .app .ev.HOLIDAY{background:#fef3c7;color:#78350f}html[data-theme=light] .oc .app .ev.ASSIGNMENT{background:rgba(236,72,153,.16)}html[data-theme=light] .oc .app .ev.QUIZ{background:rgba(6,182,212,.18)}html[data-theme=light] .oc .app .ev.LIVE{background:rgba(16,185,129,.18)}html[data-theme=light] .oc .app .ev.EXAM{background:rgba(239,68,68,.16)}html[data-theme=light] .oc .modal{background:rgba(15,23,42,.45)}html[data-theme=light] .oc .modal-box{background:#fff;border-color:#e4e4f0;color:#1e293b}html[data-theme=light] .oc .modal-box h2{color:#0f172a}html[data-theme=light] .oc .x{background:#f1f2f8;color:#0f172a}.oc .theme-btn{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#e6e7f5;display:inline-grid;place-items:center;cursor:pointer}.oc .theme-btn svg{width:18px;height:18px}html[data-theme=light] .oc .theme-btn{border-color:#d4d6e4;color:#1e1b3a}.oc .strong{color:var(--strong)}html[data-theme=light] .oc .app .tab,html[data-theme=light] .oc .modal .tab{background:#fff;border-color:#d9dbe8;color:#334155}html[data-theme=light] .oc .app .tab[aria-pressed=true],html[data-theme=light] .oc .app .tab[aria-selected=true]{background:var(--violet);border-color:var(--violet);color:#fff}body:has(.oc .app){background:#0e0c27}html[data-theme=light] body:has(.oc .app){background:#f4f5fb}