.class-picker{position:relative;min-width:220px}.class-picker--full{width:100%;min-width:0}.class-picker__trigger{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .9rem;border-radius:.75rem;border:1px solid var(--border);background:rgba(var(--bg-deep-tint),.55);color:var(--text);cursor:pointer;font-weight:500;transition:border-color .15s ease,background-color .15s ease}.class-picker__trigger:hover{border-color:rgba(var(--primary-tint),.5);background:rgba(var(--bg-deep-tint),.72)}.class-picker__trigger:focus-visible{outline:var(--input-focus-outline);outline-offset:0;border-color:var(--primary);background:rgba(var(--bg-deep-tint),.72);box-shadow:none}.class-picker__trigger:disabled{opacity:.6;cursor:not-allowed}.class-picker__trigger-content{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.class-picker__value{display:inline-flex;align-items:baseline;gap:.35rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-picker__value-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-picker__value-code{font-size:.78rem;color:var(--muted);white-space:nowrap}.class-picker__trigger-dot{width:.65rem;height:.65rem;border-radius:999px;border:1px solid rgba(var(--bg-tint),.2);flex-shrink:0}.class-picker__menu{position:fixed;left:0;top:0;right:auto;width:100%;max-height:360px;background:var(--bg);border:1px solid var(--border);border-radius:.85rem;box-shadow:0 16px 30px rgba(var(--bg-tint),.45);padding:.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:10050;overflow:hidden}.class-picker__search{display:flex;gap:.4rem;align-items:center;padding:.15rem .15rem .35rem}.class-picker__search-icon{color:var(--muted)}.class-picker__search-input{width:100%;border-radius:.6rem;border:1px solid var(--border);background:rgba(var(--bg-deep-tint),.55);color:var(--text);padding:.45rem .6rem;font-size:.85rem;transition:border-color .15s ease,background-color .15s ease}.class-picker__search-input:focus-visible{outline:var(--input-focus-outline);outline-offset:0;border-color:rgba(var(--primary-tint),.5);background:rgba(var(--bg-deep-tint),.72);box-shadow:none}.class-picker__list{display:flex;flex-direction:column;gap:.45rem;overflow-y:auto;flex:1;padding-right:.2rem;scrollbar-width:none}.class-picker__semester{display:flex;flex-direction:column;gap:.35rem}.class-picker__semester-toggle{border:none;background:rgba(var(--bg-tint),.35);color:var(--text);padding:.45rem .65rem;border-radius:.65rem;display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.class-picker__semester-toggle:hover,.class-picker__semester-toggle:focus-visible{background:rgba(var(--primary-tint),.18)}.class-picker__semester-meta{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.75rem;font-weight:500}.class-picker__semester-count{padding:.1rem .4rem;border-radius:999px;background:rgba(var(--bg-tint),.4);color:var(--muted)}.class-picker__semester-groups{display:flex;flex-direction:column;gap:.45rem;padding-left:.15rem}.class-picker__list::-webkit-scrollbar{width:0;height:0}.class-picker__standalone{display:flex;flex-direction:column;gap:.2rem}.class-picker__group{display:flex;flex-direction:column;gap:.3rem}.class-picker__group-header{display:flex;align-items:center;width:100%}.class-picker__group-label-text{flex:1;display:flex;align-items:center;padding:.4rem .6rem;font-size:.8rem;letter-spacing:.01em;text-transform:uppercase;color:var(--muted);font-weight:600;min-width:0}.class-picker__group-label-btn{flex:1;display:flex;align-items:center;padding:.4rem .6rem;font-size:.8rem;letter-spacing:.01em;text-transform:uppercase;color:var(--muted);background:transparent;border:none;cursor:pointer;text-align:left;border-radius:.6rem;transition:background-color .15s,color .15s;min-width:0;font-weight:600}.class-picker__group-label-btn:hover{background:rgba(var(--primary-tint),.12);color:var(--text)}.class-picker__group-toggle{border:none;background:transparent;color:var(--muted);padding:.4rem .5rem;border-radius:.6rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .15s ease,color .15s ease}.class-picker__group-toggle:hover,.class-picker__group-toggle:focus-visible{background:rgba(var(--primary-tint),.12);color:var(--text)}.class-picker__group-meta{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;flex:1;justify-content:space-between;min-width:0}.class-picker__group-count{font-size:.7rem;color:var(--muted);font-weight:500}.class-picker__group-options{display:flex;flex-direction:column;gap:.2rem;padding-left:.2rem}.class-picker__option{border:none;background:transparent;color:var(--text);padding:.55rem .7rem;border-radius:.7rem;display:flex;align-items:center;gap:.6rem;text-align:left;cursor:pointer;font-weight:500;transition:background-color .15s ease,border-color .15s ease;border:1px solid transparent}.class-picker__option:hover,.class-picker__option:focus-visible{background:rgba(var(--primary-tint),.12)}.class-picker__option.is-selected{background:rgba(var(--primary-tint),.18);border:1px solid rgba(var(--primary-tint),.35)}.class-picker__option-dot{width:.6rem;height:.6rem;border-radius:999px;border:1px solid rgba(var(--bg-tint),.2);flex-shrink:0}.class-picker__option-text{display:inline-flex;align-items:baseline;gap:.35rem;min-width:0}.class-picker__option-label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-picker__option-code{font-size:.78rem;color:var(--muted);white-space:nowrap}.class-picker__empty{padding:.7rem .6rem;color:var(--muted);font-size:.85rem}.theme-light .class-picker__trigger{background:var(--white)}.theme-light .class-picker__trigger:hover,.theme-light .class-picker__trigger:focus-visible{background:var(--bg)}.theme-light .class-picker__search-input{background:var(--white)}.theme-light .class-picker__search-input:focus-visible{background:var(--bg)}.theme-light .class-picker__semester-toggle{background:rgba(var(--bg-tint),.06)}.theme-light .class-picker__semester-toggle:hover,.theme-light .class-picker__semester-toggle:focus-visible{background:rgba(var(--primary-700-tint),.12)}.theme-light .class-picker__semester-count{background:rgba(var(--bg-tint),.08)}@media(max-width:720px){.class-picker{width:100%}}
