.schedule-link{border-radius:4px;align-items:center;gap:.34rem;margin:.1rem 0;padding:.14rem .5rem;font-size:.8rem;font-weight:600;line-height:1.15;text-decoration:none;transition:transform .14s,background-color .14s,color .14s;display:inline-flex;&.schedule-link--place{border:1px solid #0000}&.schedule-link--place-default{color:color-mix(in srgb, var(--accent-strong) 86%, var(--text) 14%);background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 22%, var(--border));&:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);color:color-mix(in srgb, var(--accent-strong) 92%, var(--text) 8%)}}&.schedule-link--place-room{color:color-mix(in srgb, #8a5a10 80%, var(--text) 20%);border-color:color-mix(in srgb, #f2cd79 52%, var(--border));background:#f2cd794d;&:hover{color:color-mix(in srgb, #8a5a10 80%, var(--text) 40%);background:#f2cd7970}}&.schedule-link--place-lab{color:color-mix(in srgb, #125d8f 84%, var(--text) 16%);border-color:color-mix(in srgb, #86c8ef 52%, var(--border));background:#86c8ef47;&:hover{color:color-mix(in srgb, #125d8f 88%, var(--text) 32%);background:#86c8ef6b}}&.schedule-link--place-maker{color:color-mix(in srgb, #3423a6 84%, var(--text) 16%);border-color:color-mix(in srgb, #7180b9 52%, var(--border));background:#7180b947;&:hover{color:color-mix(in srgb, #3423a6 94%, var(--text) 26%);background:#3423a638}}}.ead-tag{color:color-mix(in srgb, var(--danger) 78%, var(--text) 22%);background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 26%, var(--border));letter-spacing:.03rem;border-radius:999px;margin-left:.3rem;padding:0 .35rem;font-size:.8rem;font-weight:700;display:inline}[data-theme=dark] .schedule-teachers{border-top-color:color-mix(in srgb, #5d6d86 40%, var(--border))}[data-theme=dark] .schedule-teacher-icon,[data-theme=dark] .schedule-link--teacher{color:var(--text-muted)}[data-theme=dark] .schedule-link{&.schedule-link--place-default{color:#c1e8cf;border-color:color-mix(in srgb, #95d5b2 60%, var(--border));background:#1b433238;&:hover{color:#cdecd8;background:#1b433299}}&.schedule-link--place-room{color:#ffd99a;border-color:color-mix(in srgb, #f2cd79 50%, var(--border));background:#9c6a2242;&:hover{color:#ffe4b7;background:#9c6a2280}}&.schedule-link--place-lab{color:#bce9ff;border-color:color-mix(in srgb, #86c8ef 72%, var(--border));background:#1f5e803d;&:hover{color:#d2f0ff;background:#1f5e8094}}&.schedule-link--place-maker{color:#c6c5f1;border-color:color-mix(in srgb, #7180b9 72%, var(--border));background:#3423a63d;&:hover{color:#d9d8f6;background:#3423a6b8}}}.schedule-link--teacher{color:var(--text-muted);padding:0;transition:color .14s;& svg{transition:color .24s}}.schedule-link-icon{flex-shrink:0;width:.85rem;height:.85rem}.schedule-teachers{border-top:1px dashed color-mix(in srgb, var(--accent) 22%, var(--border));gap:.28rem;margin-top:.08rem;padding-top:.28rem;display:grid}.schedule-teacher-item{justify-content:flex-start;align-items:center;gap:.35rem;display:flex}.schedule-teacher-icon{width:.92rem;height:.92rem;color:var(--text-muted);flex-shrink:0}.schedule-teacher-name{color:var(--text-muted);text-align:left;font-size:.8rem;font-weight:600}.schedule-link--teacher:hover{color:color-mix(in srgb, var(--accent) 54%, var(--text) 46%);& svg{color:color-mix(in srgb, var(--accent) 64%, var(--text) 36%)}}.day-class--current{& .schedule-card,& .mobile-class-card{background:color-mix(in srgb, var(--accent) 15%, transparent);border-color:color-mix(in srgb, var(--accent-strong) 66%, black);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 26%, transparent), 0 3px 6px color-mix(in srgb, var(--accent) 14%, transparent)}& .mobile-time-dot{transform:scale(1.2)}}.schedule-break-icon{width:.86rem;height:.86rem}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.mobile-day-tabs{scroll-snap-type:x mandatory;gap:.45rem;margin:0 0 .65rem;padding:0 0 .35rem;display:flex;overflow-x:auto}.mobile-day-tab{border:1px solid color-mix(in srgb, var(--border) 90%, var(--panel));background:var(--panel);color:var(--text-muted);scroll-snap-align:start;cursor:pointer;border-radius:999px;flex-shrink:0;padding:.5rem 1rem;font-size:.8rem;font-weight:800}.mobile-day-tab.is-active{background:color-mix(in srgb, var(--accent) 28%, var(--panel));color:color-mix(in srgb, var(--accent-strong) 84%, var(--text) 16%);border-color:color-mix(in srgb, var(--accent) 44%, var(--border));box-shadow:0 6px 14px color-mix(in srgb, var(--accent) 14%, transparent)}.mobile-day-panel{--mobile-rail-width:2rem;--mobile-rail-center:calc((var(--mobile-rail-width) / 2) - 1px);scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;width:100%;padding-bottom:.35rem;display:block;position:relative}.mobile-day-panels{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:1.5rem;display:flex;overflow-x:auto}.mobile-day-line{left:var(--mobile-rail-center);background:color-mix(in srgb, var(--border) 90%, var(--panel));border-radius:999px;width:2px;position:absolute;top:.65rem;bottom:.65rem}.mobile-day-stack{z-index:1;gap:.82rem;display:grid;position:relative}.mobile-class-row{align-items:stretch;gap:.75rem;display:flex}.slot-stack{flex:1}.mobile-time-rail{width:var(--mobile-rail-width);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.18rem;padding:0;display:flex;position:relative}.mobile-time-start,.mobile-time-end{color:var(--text);background:var(--panel-2);justify-content:center;align-items:center;padding:0 .16rem;font-size:.75rem;font-weight:800;display:inline-flex}.mobile-time-dot{background:color-mix(in srgb, var(--accent) 80%, var(--accent-strong) 20%);width:.64rem;height:.64rem;box-shadow:0 0 0 4px var(--panel-2);border-radius:999px}.mobile-class-card{background:var(--panel);border:1px solid color-mix(in srgb, var(--border) 90%, var(--panel));border-left:4px solid color-mix(in srgb, var(--accent) 76%, var(--accent-strong) 24%);border-radius:14px;flex:1;padding:.72rem}.mobile-class-label{text-transform:uppercase;letter-spacing:.07em;color:color-mix(in srgb, var(--accent-strong) 84%, var(--text) 16%);margin:0;font-size:.65rem;font-weight:800}.mobile-class-subject{margin:.32rem 0 .6rem;font-size:1rem;line-height:1.22}.mobile-class-meta{gap:.3rem;display:grid;& .schedule-link{width:fit-content}}.mobile-break-row{opacity:.86;align-items:center;gap:.62rem;padding:.05rem 0;display:flex}.mobile-time-rail--break{justify-content:center;gap:.08rem;& .mobile-time-start,& .mobile-time-end{color:var(--text-muted);background:var(--panel-2);font-size:.65rem;font-weight:800;line-height:1.1}}.mobile-break-divider{border-top:2px dashed color-mix(in srgb, var(--border) 92%, var(--panel));flex:1}.mobile-break-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--text-muted) 88%, var(--danger) 12%);background:color-mix(in srgb, var(--panel-2) 80%, var(--panel));border:1px solid color-mix(in srgb, var(--border) 90%, var(--panel));border-radius:999px;align-items:center;gap:.25rem;margin:0;padding:.2rem .48rem;font-size:.65rem;font-weight:800;display:inline-flex}[data-theme=dark] .mobile-day-tab{background:color-mix(in srgb, var(--panel) 86%, var(--panel-2));border-color:color-mix(in srgb, var(--border) 96%, var(--panel));color:var(--text-muted);&.is-active{background:color-mix(in srgb, #3f5f86 62%, var(--panel));color:color-mix(in srgb, #e5efff 90%, var(--text) 10%);border-color:color-mix(in srgb, #89aeda 62%, var(--border));box-shadow:0 6px 14px #23426859}}[data-theme=dark] .mobile-day-line{background:color-mix(in srgb, var(--border) 95%, var(--panel))}[data-theme=dark] .mobile-class-card{background:color-mix(in srgb, var(--panel) 90%, var(--panel-2));border-left:5px solid color-mix(in srgb, var(--accent) 96%, black 24%)}[data-theme=dark] .day-class--current{& .schedule-card,& .mobile-class-card{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent-strong) 66%, black);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 26%, transparent), 0 3px 6px color-mix(in srgb, var(--accent) 14%, transparent)}& .mobile-time-dot{transform:scale(1.2)}}[data-theme=dark] .mobile-class-label{color:color-mix(in srgb, #b7cff0 90%, var(--text) 10%)}[data-theme=dark] .mobile-break-divider{border-top-color:color-mix(in srgb, var(--border) 96%, var(--panel))}[data-theme=dark] .mobile-break-label{background:color-mix(in srgb, var(--panel-2) 88%, var(--panel));border-color:color-mix(in srgb, var(--border) 96%, var(--panel))}
