#app-view #profile-view .profile-overview-grid{gap:calc(.75rem * var(--app-view-density));flex:1;grid-template-rows:1fr;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;min-height:0;display:grid}#app-view #profile-view .section-card{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);padding:calc(.9rem * var(--app-view-density));border-radius:.95rem;flex-direction:column;min-height:0;display:flex}#app-view #profile-view .section-card .kv-list{flex:none}#app-view #profile-view .section-card h3{margin:0 0 calc(.62rem * var(--app-view-density));letter-spacing:.01em;color:var(--theme-text-strong);text-align:center;font-size:1.02rem;font-weight:800}#app-view #profile-view .kv-list{gap:calc(.4rem * var(--app-view-density));align-content:start;display:grid}@media (width>=761px){#app-view #profile-view .section-card[data-profile-section=schedule-location] .kv-row{min-height:calc(3.3rem * var(--app-view-density))}}#app-view #profile-view .kv-row{align-items:center;gap:calc(.28rem * var(--app-view-density));padding:calc(.36rem * var(--app-view-density)) calc(.42rem * var(--app-view-density));background:color-mix(in oklab, var(--theme-surface-1) 92%, var(--theme-mix-base));border:1px solid var(--theme-chip-border);border-radius:.62rem;grid-template-columns:minmax(78px,90px) minmax(0,1fr);display:grid}#app-view #profile-view .section-card[data-profile-section=instructor] .kv-row{grid-template-columns:minmax(66px,82px) minmax(0,1fr)}#app-view #profile-view .kv-label{letter-spacing:.07em;text-transform:uppercase;opacity:.86;color:var(--theme-text-soft);padding-left:.5rem;font-size:.68rem;font-weight:800}[data-theme=dark] #app-view #profile-view .kv-label{color:color-mix(in oklab, var(--theme-on-bg) 88%, var(--theme-mix-base));opacity:1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #app-view #profile-view .kv-label{color:color-mix(in oklab, var(--theme-on-bg) 88%, var(--theme-mix-base));opacity:1}}#app-view #profile-view .section-card[data-profile-section=instructor] .kv-label{padding-left:.34rem}#app-view #profile-view .kv-value{color:var(--theme-text-strong);text-align:left;font-size:.9rem;font-weight:600;line-height:1.45}#app-view #profile-view .kv-value:has(.week-calendar){justify-content:flex-start;align-items:center;display:flex}#app-view #profile-view .instructor-name-value{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.34rem;max-width:100%;display:inline-flex}#app-view #profile-view .instructor-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#app-view #profile-view .instructor-name-value .inline-badge{flex:none;margin:0}#app-view #profile-view .asset-item-type.inline-badge--warning{color:#fff2e8;background:color-mix(in oklab, #f97316 34%, var(--theme-surface-1));border-color:oklab(70.4871% .125896 .137895/.7)}#app-view #profile-view .kv-row--office-hours .kv-label{white-space:normal;padding-right:.08rem;line-height:1.3}#app-view #profile-view .kv-row--office-hours{grid-template-columns:minmax(78px,90px) minmax(0,1fr)}#app-view #profile-view .kv-row--office-hours .kv-value{white-space:normal;text-overflow:clip;text-align:left;overflow:visible}#app-view #profile-view .kv-value--with-action{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;width:100%;display:grid}#app-view #profile-view .kv-value-text{text-align:left;justify-self:start;min-width:0}#app-view #profile-view .kv-copy-btn{border:1px solid var(--theme-button-secondary-border);background:var(--theme-button-secondary-bg);color:var(--theme-text-strong);cursor:pointer;width:2rem;height:2rem;transition:background-color var(--theme-transition), border-color var(--theme-transition), transform var(--theme-transition);border-radius:.6rem;justify-content:center;align-items:center;padding:0;display:inline-flex}#app-view #profile-view .kv-copy-btn:hover{background:color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 42%, var(--theme-mix-base));transform:translateY(-1px)}#app-view #profile-view .kv-copy-btn:focus-visible{outline:2px solid color-mix(in oklab, var(--theme-primary) 62%, #fff);outline-offset:2px}#app-view #profile-view .kv-copy-btn svg{pointer-events:none;width:1rem;height:1rem}#app-view #profile-view .kv-copy-btn .kv-copy-check{opacity:0;transition:opacity .14s,transform .14s;position:absolute;transform:scale(.82)}#app-view #profile-view .kv-copy-btn .kv-copy-icon{opacity:.94;transition:opacity .14s,transform .14s}#app-view #profile-view .kv-copy-btn .kv-copy-icon path,#app-view #profile-view .kv-copy-btn .kv-copy-check path{stroke-linecap:round;stroke-linejoin:round}#app-view #profile-view .kv-copy-btn--copied{background:color-mix(in oklab, #22c55e 18%, var(--theme-mix-base));border-color:color-mix(in oklab, #22c55e 42%, var(--theme-mix-base))}#app-view #profile-view .kv-copy-btn--failed{background:color-mix(in oklab, #ef4444 16%, var(--theme-mix-base));border-color:color-mix(in oklab, #ef4444 36%, var(--theme-mix-base))}#app-view #profile-view .kv-copy-btn--copied .kv-copy-icon{opacity:0;transform:scale(.82)}#app-view #profile-view .kv-copy-btn--copied .kv-copy-check{opacity:1;transform:scale(1)}#app-view #profile-view .office-hours-list{gap:.22rem;display:grid}#app-view #profile-view .office-hours-item{line-height:1.36;display:block}#app-view #profile-view .office-hours-calendar{gap:.5rem;width:100%;max-width:18.5rem;display:grid}#app-view #profile-view .week-calendar--office-hours{max-width:16.25rem}#app-view #profile-view .week-calendar-day--office{isolation:isolate;position:relative;overflow:hidden}#app-view #profile-view .week-calendar-day--office-lit{border-color:color-mix(in oklab, var(--theme-on-bg) 16%, transparent);color:#f8fafc}#app-view #profile-view .office-hours-day-letter{z-index:2;text-shadow:0 1px 2px oklab(0% none none/.28);position:relative}#app-view #profile-view .office-hours-day-fills{z-index:1;border-radius:.3rem;position:absolute;inset:2px;overflow:hidden}#app-view #profile-view .office-hours-day-chip{border-radius:inherit;background:var(--office-slot-color,color-mix(in oklab, var(--theme-primary) 65%, #22d3ee));opacity:.9;position:absolute;inset:0}#app-view #profile-view .office-hours-day-fills--diagonal .office-hours-day-chip:first-child{clip-path:polygon(0 0,100% 0,0 100%)}#app-view #profile-view .office-hours-day-fills--diagonal .office-hours-day-chip:nth-child(2){clip-path:polygon(100% 0,100% 100%,0 100%)}#app-view #profile-view .office-hours-day-overflow{z-index:3;border:1px solid color-mix(in oklab, var(--theme-on-bg) 24%, var(--theme-surface-elevated,var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 88%, var(--theme-mix-base));border-radius:999px;padding:.08rem .18rem;font-size:.56rem;font-weight:800;line-height:1;position:absolute;bottom:.12rem;right:.18rem}#app-view #profile-view .office-hours-legend{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.42rem .38rem;display:grid}#app-view #profile-view .office-hours-legend-group{align-content:start;gap:.22rem;display:grid}#app-view #profile-view .office-hours-legend-row{grid-template-columns:.76rem minmax(0,1fr);align-items:start;gap:.3rem;display:grid}#app-view #profile-view .office-hours-legend-swatch{border:1px solid color-mix(in oklab, var(--theme-on-bg) 22%, var(--theme-surface-subtle,var(--theme-mix-base)));background:var(--office-slot-color,color-mix(in oklab, var(--theme-primary) 60%, #22d3ee));border-radius:.24rem;width:.76rem;height:.76rem;margin-top:.08rem}#app-view #profile-view .office-hours-legend-copy{gap:.1rem;min-width:0;display:grid}#app-view #profile-view .office-hours-legend-time{font-size:.74rem;font-weight:800;line-height:1.25}#app-view #profile-view .office-hours-legend-badges{flex-wrap:wrap;gap:.2rem;display:inline-flex}#app-view #profile-view .office-hours-badge{border:1px solid color-mix(in oklab, var(--theme-primary) 24%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-mix-base));text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;padding:.08rem .34rem;font-size:.63rem;font-weight:700;line-height:1.15;display:inline-flex}#app-view #profile-view .kv-value-badge{border:1px solid color-mix(in oklab, var(--theme-primary) 22%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 12%, var(--theme-mix-base));letter-spacing:.01em;border-radius:999px;align-items:center;width:fit-content;padding:.22rem .5rem;font-size:.8rem;display:inline-flex}#app-view #profile-view .kv-row--title{padding:calc(.36rem * var(--app-view-density)) calc(.42rem * var(--app-view-density));grid-template-columns:minmax(78px,90px) minmax(0,1fr)}#app-view #profile-view .kv-row--title .kv-label{padding-left:.24rem}#app-view #profile-view .kv-row--title .kv-value-badge{white-space:nowrap;text-overflow:ellipsis;justify-content:flex-start;width:fit-content;min-width:0;max-width:100%;padding:.2rem .38rem;font-size:.78rem;display:inline-flex;overflow:hidden}#app-view #profile-view .policies-card,#app-view #profile-view .assets-card{margin-top:calc(.82rem * var(--app-view-density))}#app-view #profile-view .policy-accordion{gap:calc(.46rem * var(--app-view-density));display:grid}#app-view #profile-view .policy-item{border:1px solid var(--theme-border-subtle);background:color-mix(in oklab, var(--theme-surface-elevated) 92%, var(--theme-panel-inset-bg));border-radius:.92rem;overflow:clip}#app-view #profile-view .policy-summary{cursor:pointer;padding:calc(.62rem * var(--app-view-density)) calc(.68rem * var(--app-view-density));grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;list-style:none;display:grid}#app-view #profile-view .policy-summary::-webkit-details-marker{display:none}#app-view #profile-view .policy-summary-main{gap:.34rem;min-width:0;display:grid}#app-view #profile-view .policy-summary-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}#app-view #profile-view .policy-summary-label{color:var(--theme-text-strong);font-size:.9rem;font-weight:800;line-height:1.2}#app-view #profile-view .policy-badge--danger{border-color:color-mix(in oklab, #dc2626 50%, var(--theme-mix-base))!important;background:color-mix(in oklab, #dc2626 18%, var(--theme-surface-1))!important;color:inherit!important}#app-view #profile-view .policy-badge--warning{border-color:color-mix(in oklab, #ea580c 50%, var(--theme-mix-base))!important;background:color-mix(in oklab, #ea580c 18%, var(--theme-surface-1))!important;color:inherit!important}#app-view #profile-view .policy-badge--success{border-color:color-mix(in oklab, #16a34a 50%, var(--theme-mix-base))!important;background:color-mix(in oklab, #16a34a 18%, var(--theme-surface-1))!important;color:color-mix(in oklab, #16a34a 85%, var(--theme-on-bg))!important}#app-view #profile-view .policy-summary-description{text-overflow:ellipsis;white-space:nowrap;color:color-mix(in oklab, var(--theme-on-bg) 82%, var(--theme-mix-base));margin:0;font-size:.82rem;font-weight:600;line-height:1.45;overflow:hidden}#app-view #profile-view .policy-review-label{letter-spacing:.06em;text-transform:uppercase;color:var(--theme-text-muted);font-size:.68rem;font-weight:800}#app-view #profile-view .policy-summary-action{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base)));background:var(--theme-surface-subtle,var(--theme-chip-bg));color:var(--theme-text-strong);letter-spacing:.01em;border-radius:999px;align-items:center;gap:.32rem;padding:.28rem .52rem;font-size:.72rem;font-weight:800;display:inline-flex}#app-view #profile-view .policy-summary-caret{justify-content:center;align-items:center;width:1.1rem;height:1.1rem;transition:transform .15s;display:flex}#app-view #profile-view .policy-summary-caret svg{width:.7rem;height:.7rem;display:block}#app-view #profile-view .policy-item[open] .policy-summary-action{background:color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 28%, var(--theme-mix-base))}#app-view #profile-view .policy-item[open] .policy-summary-caret{transform:rotate(180deg)}#app-view #profile-view .policy-item--empty{padding:calc(.62rem * var(--app-view-density)) calc(.68rem * var(--app-view-density))}#app-view #profile-view .policy-content{padding:0 calc(.68rem * var(--app-view-density)) calc(.68rem * var(--app-view-density));opacity:.92;font-size:.86rem;line-height:1.48}#app-view #profile-view .policy-review-block{border-top:1px solid color-mix(in oklab, var(--theme-primary) 12%, var(--theme-mix-base));gap:.42rem;padding-top:.72rem;display:grid}#app-view #profile-view .policy-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--theme-text-strong);margin:0}#app-view #profile-view .policy-body.clamped{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#app-view #profile-view .policy-toggle{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 22%, var(--theme-mix-base)));background:var(--theme-surface-subtle,var(--theme-chip-bg));color:var(--theme-on-bg);cursor:pointer;border-radius:999px;align-self:flex-start;margin-top:.4rem;padding:.26rem .55rem;font-size:.75rem;font-weight:700}#app-view #profile-view .assets-list{gap:.7rem;margin-top:.5rem;display:grid}#app-view #profile-view .asset-item{background:var(--theme-surface-subtle,var(--theme-surface-1));border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base)));border-radius:.78rem;gap:.75rem;padding:.85rem .92rem;display:grid}#app-view #profile-view .asset-item--grouped{background:color-mix(in oklab, var(--theme-surface-1) 92%, var(--theme-primary) 8%)}#app-view #profile-view .asset-card-header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}#app-view #profile-view .asset-card-header-actions{flex-shrink:0;justify-content:flex-end;display:flex}#app-view #profile-view .asset-card-title-block{gap:.35rem;min-width:0;display:grid}#app-view #profile-view .asset-card-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.02rem;line-height:1.2;overflow:hidden}#app-view #profile-view .asset-card-subtitle{color:color-mix(in oklab, var(--theme-on-bg) 72%, var(--theme-mix-base));text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;overflow:hidden}#app-view #profile-view .asset-pill-row{flex-wrap:wrap;gap:.4rem;display:flex}#app-view #profile-view .asset-source-edit-btn,#app-view #profile-view .asset-source-save-btn,#app-view #profile-view .asset-source-cancel-btn{letter-spacing:.02em;cursor:pointer;border-radius:999px;font-size:.75rem;font-weight:800}#app-view #profile-view .asset-source-edit-btn{border:1px solid var(--theme-border-accent,color-mix(in oklab, var(--theme-primary) 30%, var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-primary) 12%, var(--theme-surface-subtle,var(--theme-surface-1)));color:var(--theme-on-bg);padding:.34rem .72rem}#app-view #profile-view .asset-source-editor{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.45rem;padding-top:.1rem;display:flex}#app-view #profile-view .asset-source-editor[hidden]{display:none}#app-view #profile-view .asset-source-input{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 22%, var(--theme-mix-base)));background:var(--theme-surface-elevated,color-mix(in oklab, var(--theme-bg) 92%, var(--theme-mix-base)));min-width:0;color:var(--theme-on-bg);border-radius:.58rem;flex:14rem;padding:.5rem .66rem}#app-view #profile-view .asset-source-save-btn{background:color-mix(in oklab, var(--theme-primary) 82%, #0ea5e9);color:var(--theme-on-primary);border:none;padding:.4rem .82rem}#app-view #profile-view .asset-source-cancel-btn{border:1px solid color-mix(in oklab, var(--theme-on-bg) 16%, var(--theme-surface-subtle,var(--theme-mix-base)));background:var(--theme-surface-elevated,transparent);color:color-mix(in oklab, var(--theme-on-bg) 78%, var(--theme-mix-base));padding:.38rem .78rem}#app-view #profile-view .asset-item-type{letter-spacing:.04em;text-transform:uppercase;border:1px solid color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base));opacity:.96;background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-1));border-radius:999px;align-items:center;padding:.16rem .48rem;font-size:.72rem;font-weight:700;display:inline-flex}#app-view #profile-view .asset-item-type--syllabus{background:color-mix(in oklab, #38bdf8 16%, var(--theme-surface-1));border-color:color-mix(in oklab, #38bdf8 36%, var(--theme-mix-base))}#app-view #profile-view .asset-item-type--textbook{background:color-mix(in oklab, #14b8a6 16%, var(--theme-surface-1));border-color:color-mix(in oklab, #14b8a6 34%, var(--theme-mix-base))}#app-view #profile-view .asset-item-type--other{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-1))}#app-view #profile-view .asset-item-type--saved-link{background:color-mix(in oklab, #38bdf8 14%, var(--theme-surface-1));border-color:color-mix(in oklab, #38bdf8 34%, var(--theme-mix-base))}#app-view #profile-view .asset-item-type--format{background:color-mix(in oklab, var(--theme-on-bg) 9%, var(--theme-surface-1));border-color:color-mix(in oklab, var(--theme-on-bg) 14%, transparent);padding-inline:.42rem;font-size:.66rem}#app-view #profile-view .asset-item-type--count{background:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-surface-1));border-color:color-mix(in oklab, var(--theme-primary) 28%, var(--theme-mix-base))}#app-view #profile-view .asset-source-list{gap:.46rem;display:grid}#app-view #profile-view .asset-source-row{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base)));background:var(--theme-surface-elevated,color-mix(in oklab, var(--theme-panel-inset-bg) 80%, var(--theme-mix-base)));border-radius:.7rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.7rem;padding:.7rem .78rem;display:grid}#app-view #profile-view .asset-source-copy{gap:.18rem;min-width:0;display:grid}#app-view #profile-view .asset-source-title-line{flex-wrap:wrap;align-items:center;gap:.42rem;min-width:0;display:flex}#app-view #profile-view .asset-source-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}#app-view #profile-view .asset-source-meta{color:color-mix(in oklab, var(--theme-on-bg) 66%, var(--theme-mix-base));text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;overflow:hidden}#app-view #profile-view .asset-source-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}#app-view #profile-view .asset-open-btn{border:1px solid color-mix(in oklab, var(--theme-primary) 34%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 15%, var(--theme-mix-base));min-height:2rem;color:var(--theme-on-bg);letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;padding:.38rem .78rem;font-size:.78rem;font-weight:800;text-decoration:none;transition:background .14s,border-color .14s;display:inline-flex}#app-view #profile-view .asset-open-btn:hover{background:color-mix(in oklab, var(--theme-primary) 24%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 52%, var(--theme-mix-base))}#app-view #profile-view .asset-delete-btn{border:1px solid color-mix(in oklab, #dc2626 26%, var(--theme-mix-base));background:color-mix(in oklab, #dc2626 7%, var(--theme-surface-1));color:color-mix(in oklab, #fca5a5 48%, var(--theme-on-bg));letter-spacing:.01em;cursor:pointer;border-radius:999px;padding:.34rem .7rem;font-size:.74rem;font-weight:700}#app-view #profile-view .asset-preview-list{gap:.55rem;display:grid}#app-view #profile-view .asset-preview{margin-top:0;padding-top:.12rem}#app-view #profile-view .asset-preview summary{cursor:pointer;color:color-mix(in oklab, var(--theme-on-bg) 76%, var(--theme-mix-base));font-size:.76rem;font-weight:700}#app-view #profile-view .asset-preview-frame-wrap{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 12%, var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-surface-inset) 90%, var(--theme-mix-base));border-radius:.84rem;width:min(100%,54rem);margin:.45rem auto 0;padding:.72rem}#app-view #profile-view .asset-preview-frame{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base)));background:color-mix(in oklab, #fff 92%, var(--theme-surface-elevated,var(--theme-surface-1)));border-radius:.62rem;width:100%;min-height:clamp(560px,78vh,1080px);display:block}#app-view #profile-view .asset-actions{grid-template-columns:minmax(0,1fr);justify-items:center;gap:.62rem;margin-top:.7rem;display:grid}#app-view #profile-view .asset-action-block{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base)));background:var(--theme-surface-subtle,var(--theme-surface-1));border-radius:.62rem;gap:.5rem;width:min(100%,42rem);padding:.82rem .92rem;display:grid}#app-view #profile-view .asset-action-details{gap:0;padding:0}#app-view #profile-view .asset-action-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.82rem .92rem;list-style:none;display:grid}#app-view #profile-view .asset-action-summary::-webkit-details-marker{display:none}#app-view #profile-view .asset-action-summary-main{gap:.2rem;display:grid}#app-view #profile-view .asset-action-chevron{width:1.5rem;height:1.5rem;color:var(--theme-text-muted,color-mix(in oklab, var(--theme-on-bg) 55%, var(--theme-mix-base)));justify-content:center;align-items:center;transition:transform .15s;display:flex}#app-view #profile-view .asset-action-chevron svg{width:.75rem;height:.75rem;display:block}#app-view #profile-view .asset-action-details[open] .asset-action-chevron{transform:rotate(180deg)}#app-view #profile-view .asset-action-form{gap:.5rem;padding:0 .92rem .82rem;display:grid}#app-view #profile-view .asset-action-title{letter-spacing:.01em;color:var(--theme-on-bg);font-size:.84rem;font-weight:800}#app-view #profile-view .asset-action-copy{color:color-mix(in oklab, var(--theme-on-bg) 74%, var(--theme-mix-base));margin:0;font-size:.76rem;line-height:1.45}#app-view #profile-view .asset-field{gap:.22rem;display:grid}#app-view #profile-view .asset-field-label{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in oklab, var(--theme-on-bg) 68%, var(--theme-mix-base));font-size:.68rem;font-weight:800}#app-view #profile-view .asset-actions input,#app-view #profile-view .asset-actions select{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 20%, var(--theme-mix-base)));background:var(--theme-surface-elevated,var(--theme-surface-1));width:100%;color:var(--theme-on-bg);border-radius:.45rem;padding:.45rem}#app-view #profile-view .asset-actions button{background:linear-gradient(135deg, color-mix(in oklab, var(--theme-primary) 90%, #0ea5e9), color-mix(in oklab, var(--theme-primary) 82%, #10b981));color:var(--theme-on-primary);letter-spacing:.02em;cursor:pointer;border:none;border-radius:999px;justify-self:center;min-width:min(14rem,100%);padding:.52rem 1.35rem;font-weight:800}#app-view #profile-view .muted{opacity:.75;letter-spacing:.03em;text-transform:uppercase;font-size:.8rem;font-weight:700}#app-view #profile-view .instructor-ta-tabs{justify-content:center;gap:.25rem;margin-bottom:.6rem;display:flex}#app-view #profile-view .instructor-ta-tab{border:1px solid color-mix(in oklab, var(--theme-primary) 24%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-bg) 92%, var(--theme-mix-base));color:var(--theme-on-bg);cursor:pointer;border-radius:.5rem;padding:.35rem .7rem;font-size:.8rem;font-weight:700;transition:background-color .15s,border-color .15s}#app-view #profile-view .instructor-ta-tab:hover:not(.instructor-ta-tab--disabled){background:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 40%, var(--theme-mix-base))}#app-view #profile-view .instructor-ta-tab--active{background:color-mix(in oklab, var(--theme-primary) 28%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 50%, var(--theme-mix-base));color:var(--theme-on-bg)}#app-view #profile-view .instructor-ta-tab--disabled{opacity:.5;cursor:not-allowed}#app-view #profile-view .instructor-ta-panels{position:relative}#app-view #profile-view .instructor-ta-panel{display:none}#app-view #profile-view .instructor-ta-panel--active{display:block}#app-view #profile-view .textbook-badge-list{flex-wrap:wrap;justify-content:flex-start;gap:.34rem .42rem;width:100%;display:flex}#app-view #profile-view .textbook-badge-empty{color:color-mix(in oklab, var(--theme-on-bg) 68%, var(--theme-mix-base));font-size:.84rem}#app-view #profile-view .textbook-badge-item{flex:0 auto;max-width:100%;position:relative}#app-view #profile-view .textbook-badge-item summary{list-style:none}#app-view #profile-view .textbook-badge-item summary::-webkit-details-marker{display:none}#app-view #profile-view .textbook-badge-trigger{border:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));background:linear-gradient(135deg, color-mix(in oklab, #0f766e 24%, var(--theme-surface-1)), color-mix(in oklab, #164e63 18%, var(--theme-surface-1)));max-width:min(100%,14.5rem);min-height:2.25rem;color:var(--theme-on-bg);cursor:pointer;transition:transform var(--theme-transition), border-color var(--theme-transition), background-color var(--theme-transition);border-radius:999px;align-items:center;gap:.28rem;padding:.26rem .58rem .26rem .7rem;display:inline-flex;box-shadow:inset 0 1px oklab(86.5073% -.102704 -.0525057/.12),0 4px 12px oklab(12.8802% -.003754 -.0404292/.12)}#app-view #profile-view .textbook-badge-trigger:hover{border-color:color-mix(in oklab, #14b8a6 42%, var(--theme-mix-base));background:linear-gradient(135deg, color-mix(in oklab, #0f766e 30%, var(--theme-surface-1)), color-mix(in oklab, #164e63 22%, var(--theme-surface-1)));transform:translateY(-1px)}#app-view #profile-view .textbook-badge-trigger:focus-visible{outline-offset:2px;outline:2px solid oklab(78.6702% -.0884888 -.00386739)}#app-view #profile-view .textbook-badge-trigger--recommended{border-color:color-mix(in oklab, #818cf8 28%, var(--theme-mix-base));background:linear-gradient(135deg, color-mix(in oklab, #4338ca 20%, var(--theme-surface-1)), color-mix(in oklab, #312e81 14%, var(--theme-surface-1)));box-shadow:inset 0 1px oklab(78.5298% .00855687 -.103783/.1),0 4px 12px oklab(12.8802% -.003754 -.0404292/.12)}#app-view #profile-view .textbook-badge-trigger--recommended:hover{border-color:color-mix(in oklab, #818cf8 42%, var(--theme-mix-base));background:linear-gradient(135deg, color-mix(in oklab, #4338ca 26%, var(--theme-surface-1)), color-mix(in oklab, #312e81 20%, var(--theme-surface-1)))}#app-view #profile-view .textbook-badge-trigger--recommended:focus-visible{outline-color:oklab(76.9681% .0137618 -.113144)}#app-view #profile-view .textbook-badge-label{white-space:nowrap;min-width:0;font-size:.72rem;font-weight:760;line-height:1.2;display:inline-block;overflow:hidden}#app-view #profile-view .textbook-badge-label--overflow{-webkit-mask-image:linear-gradient(90deg,#000 70%,#0000 100%);mask-image:linear-gradient(90deg,#000 70%,#0000 100%)}#app-view #profile-view .textbook-hidden-group{flex-wrap:wrap;gap:.34rem .42rem;width:100%;display:none}#app-view #profile-view .textbook-hidden-group--open{display:flex}#app-view #profile-view .textbook-hidden-toggle{color:color-mix(in oklab, var(--theme-on-bg) 60%, var(--theme-mix-base));cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-items:center;padding:.1rem .4rem;font-size:.66rem;font-weight:700;text-decoration:underline;display:inline-flex}#app-view #profile-view .textbook-hidden-toggle:hover{color:var(--theme-on-bg)}#app-view #profile-view .textbook-badge-list--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem .36rem;display:grid}#app-view #profile-view .textbook-badge-list--compact .textbook-hidden-toggle,#app-view #profile-view .textbook-badge-list--compact .textbook-hidden-group{grid-column:1/-1}#app-view #profile-view .textbook-badge-list--compact .textbook-badge-trigger{box-sizing:border-box;width:100%;max-width:100%}#app-view #profile-view .textbook-badge-caret{opacity:.56;font-size:.84rem;line-height:1;transition:transform .14s,opacity .14s}#app-view #profile-view .textbook-badge-item[open] .textbook-badge-caret{opacity:.9;transform:translate(1px)}#app-view #profile-view .textbook-hover-card{z-index:15;border:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-panel-bg) 95%, var(--theme-mix-base));width:min(17rem,100vw - 2rem);box-shadow:var(--theme-shadow-md);text-align:left;border-radius:.8rem;padding:.76rem .82rem;display:none;position:absolute;top:50%;left:100%;transform:translateY(-50%)}#app-view #profile-view .textbook-hover-card:before{content:"";border-left:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));border-bottom:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-panel-bg) 95%, var(--theme-mix-base));width:.72rem;height:.72rem;position:absolute;top:50%;left:-.38rem;transform:translateY(-50%)rotate(45deg)}#app-view #profile-view .textbook-badge-item[data-popover-side=left] .textbook-hover-card{left:auto;right:100%}#app-view #profile-view .textbook-badge-item[data-popover-side=left] .textbook-hover-card:before{border-bottom:none;border-left:none;border-right:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));border-top:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));left:auto;right:-.38rem}#app-view #profile-view .textbook-badge-item[data-popover-side=bottom] .textbook-hover-card{top:100%;left:0;right:auto;transform:none}#app-view #profile-view .textbook-badge-item[data-popover-side=bottom] .textbook-hover-card:before{border-bottom:none;border-right:none;border-left:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));border-top:1px solid color-mix(in oklab, #14b8a6 28%, var(--theme-mix-base));top:-.38rem;left:1.2rem;right:auto;transform:rotate(45deg)}#app-view #profile-view .textbook-badge-item[open] .textbook-hover-card{gap:.46rem;display:grid}#app-view #profile-view .textbook-hover-title{font-size:.82rem;font-weight:800;line-height:1.3}#app-view #profile-view .textbook-hover-meta{gap:.34rem;display:grid}#app-view #profile-view .textbook-hover-row{gap:.1rem;display:grid}#app-view #profile-view .textbook-hover-row--isbn{gap:.18rem}#app-view #profile-view .textbook-hover-label{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in oklab, var(--theme-on-bg) 64%, var(--theme-mix-base));font-size:.66rem;font-weight:800}#app-view #profile-view .textbook-hover-value{font-size:.82rem;line-height:1.3}#app-view #profile-view .textbook-hover-value--isbn{letter-spacing:.02em;font-family:Roboto Serif,ui-monospace,SFMono-Regular,Menlo,monospace}#app-view #profile-view .textbook-hover-copy{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.42rem;display:grid}#app-view #profile-view .textbook-hover-copy .kv-copy-btn{width:1.85rem;height:1.85rem}#app-view #profile-view .textbook-hover-empty{color:color-mix(in oklab, var(--theme-on-bg) 70%, var(--theme-mix-base));margin:0;font-size:.8rem}#app-view #profile-view .kv-row--textbooks .kv-value,#app-view #profile-view .kv-row--textbook .kv-value{text-align:left;justify-content:flex-start;display:flex;overflow:visible}#app-view #profile-view .week-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;width:100%;max-width:14rem;display:grid}#app-view #profile-view .week-calendar-day{aspect-ratio:1;border:1px solid color-mix(in oklab, var(--theme-on-bg) 14%, transparent);background:color-mix(in oklab, var(--theme-on-bg) 10%, var(--theme-mix-base));min-height:0;color:color-mix(in oklab, var(--theme-on-bg) 45%, var(--theme-mix-base));border-radius:.4rem;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}#app-view #profile-view .week-calendar-day--weekend{background:color-mix(in oklab, var(--theme-on-bg) 3%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-on-bg) 5%, transparent);color:color-mix(in oklab, var(--theme-on-bg) 18%, var(--theme-mix-base))}#app-view #profile-view .week-calendar-day--lit{color:#f8fafc;border-color:#0000}#app-view #profile-view .week-calendar-day--lit-mwf{background:color-mix(in oklab, #ec4899 88%, var(--theme-surface-1))!important;border-color:oklab(65.592% .210729 -.0210022/.6)!important}#app-view #profile-view .week-calendar-day--lit-tth{background:color-mix(in oklab, #22c55e 88%, var(--theme-surface-1))!important;border-color:oklab(72.2746% -.165574 .0972219/.6)!important}#app-view #profile-view .week-calendar-day--lit-weekend{background:color-mix(in oklab, #a78bfa 85%, var(--theme-surface-1))!important;border-color:oklab(70.8969% .0635732 -.145921/.55)!important}#app-view #profile-view .schedule-async-badge{border:1px solid color-mix(in oklab, #38bdf8 30%, var(--theme-mix-base));background:color-mix(in oklab, #0ea5e9 16%, var(--theme-mix-base));color:var(--theme-on-bg);border-radius:999px;align-items:center;padding:.22rem .58rem;font-size:.78rem;font-weight:700;display:inline-flex}#app-view #profile-view .empty-state{opacity:.72}[data-theme=dark] #app-view #profile-view .section-card,:root:not([data-theme=light]) #app-view #profile-view .section-card{background:var(--theme-surface-inset);border-color:var(--theme-border-subtle)}[data-theme=dark] #app-view #profile-view .kv-row,:root:not([data-theme=light]) #app-view #profile-view .kv-row{background:color-mix(in oklab, var(--theme-surface-2) 90%, var(--theme-bg));border-color:color-mix(in oklab, var(--theme-primary) 28%, var(--theme-mix-base))}[data-theme=dark] #app-view #profile-view .kv-value-badge,[data-theme=dark] #app-view #profile-view .textbook-badge-trigger,[data-theme=dark] #app-view #profile-view .textbook-badge-trigger--recommended,:root:not([data-theme=light]) #app-view #profile-view .kv-value-badge,:root:not([data-theme=light]) #app-view #profile-view .textbook-badge-trigger,:root:not([data-theme=light]) #app-view #profile-view .textbook-badge-trigger--recommended{background:linear-gradient(180deg, color-mix(in oklab, var(--theme-app-topbar-bg) 82%, var(--theme-primary) 18%), color-mix(in oklab, var(--theme-panel-bg) 74%, var(--theme-primary) 26%));border-color:color-mix(in oklab, var(--theme-primary) 46%, var(--theme-mix-base));color:var(--theme-on-bg);box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] #app-view #profile-view .policy-item,:root:not([data-theme=light]) #app-view #profile-view .policy-item{background:color-mix(in oklab, var(--theme-surface-elevated) 90%, var(--theme-bg))!important;border-color:var(--theme-border-subtle)!important}[data-theme=dark] #app-view #profile-view .asset-actions select,[data-theme=dark] #app-view #profile-view .asset-actions input,[data-theme=dark] #app-view #profile-view .asset-source-input,:root:not([data-theme=light]) #app-view #profile-view .asset-actions select,:root:not([data-theme=light]) #app-view #profile-view .asset-actions input,:root:not([data-theme=light]) #app-view #profile-view .asset-source-input{border-color:color-mix(in oklab, var(--theme-primary) 20%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-bg) 68%, var(--theme-surface-1))!important}@media (width<=980px){#app-view #profile-view .profile-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){#app-view #profile-view .profile-overview-grid{grid-template-columns:1fr}#app-view #profile-view .asset-source-actions{justify-content:flex-start}#app-view #profile-view .asset-source-row{grid-template-columns:1fr}#app-view #profile-view .asset-source-editor{align-items:stretch}#app-view #profile-view .asset-actions,#app-view #profile-view .policy-summary{grid-template-columns:1fr}#app-view #profile-view .asset-preview-frame-wrap{width:100%;padding:.58rem}#app-view #profile-view .asset-preview-frame{min-height:clamp(460px,70vh,820px)}#app-view #profile-view .textbook-badge-trigger,#app-view #profile-view .textbook-badge-list--compact .textbook-badge-trigger{max-width:100%}}#profile-view .profile-back-btn,#profile-view .profile-swipe-hint,#profile-view .profile-course-title{display:none}@media (width<=768px){@keyframes profileHintFadeOut{0%{opacity:1}60%{opacity:1}to{opacity:0;pointer-events:none}}#app-view #profile-view .profile-overview-grid{display:block!important}#profile-view .profile-back-btn{border:1px solid var(--theme-border-soft,var(--theme-chip-border));background:var(--theme-surface-secondary,var(--theme-chip-bg));color:var(--theme-text-strong);cursor:pointer;white-space:nowrap;transition:background-color var(--theme-transition,.15s ease), border-color var(--theme-transition,.15s ease);border-radius:999px;flex-shrink:0;align-items:center;gap:.2rem;padding:.28rem .68rem;font-size:.72rem;font-weight:700;display:inline-flex}#profile-view .profile-back-btn:active{background:color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base))}#profile-view .profile-swipe-hint{color:var(--theme-text-muted);text-align:center;pointer-events:none;margin:0 0 .5rem;font-size:.68rem;font-weight:600;animation:2.4s forwards profileHintFadeOut;display:block}#app-view #profile-view .profile-intro{box-shadow:none;background:0 0;border:none;flex-flow:row;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0;display:flex}#app-view #profile-view .profile-intro .profile-intro-copy{flex:1 1 0;min-width:0;display:block}#app-view #profile-view .profile-intro .profile-intro-copy h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;overflow:hidden}#app-view #profile-view .profile-intro .profile-intro-copy .panel-subtitle{display:none}#app-view #profile-view .profile-intro .mobile-course-chip-row{flex-shrink:0;justify-content:flex-end;padding:0}#app-view #profile-view .profile-header{display:none}#profile-view .profile-course-title{color:var(--theme-text-strong);text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0 0 .4rem;padding:0 .5rem;font-size:.82rem;font-weight:700;display:block;overflow:hidden}#app-view #profile-view .section-card{border-radius:1rem;max-height:calc(100dvh - 240px);transition:transform .22s ease-out,opacity .22s ease-out;overflow-y:auto;box-shadow:0 4px 20px #0000001f}#app-view #profile-view .section-card.is-card-exiting-left{opacity:0;pointer-events:none;transform:translate(-100%)scale(.96)}#app-view #profile-view .section-card.is-card-exiting-right{opacity:0;pointer-events:none;transform:translate(100%)scale(.96)}#app-view #profile-view .section-card.is-card-entering{opacity:0;transform:translate(100%)scale(.96)}#app-view #profile-view .section-card.is-card-entering-left{opacity:0;transform:translate(-100%)scale(.96)}#app-view #profile-view .section-card.is-card-entering-right{opacity:0;transform:translate(100%)scale(.96)}#app-view #profile-view .assets-card{order:10;margin-top:1rem}}
