:root{--color-black-100: #282627;--color-dark-gray: #3e3b39;--color-white-100: #ffffff;--color-primary-100: #aa7a47;--color-primary-60: rgba(178, 133, 85, .6);--color-primary-30: rgba(178, 133, 85, .3);--color-primary-20: rgba(178, 133, 85, .2);--color-primary-10: rgba(178, 133, 85, .1);--color-secondary-100: #857c6d;--color-secondary-20: rgba(133, 124, 109, .2);--color-secondary-10: rgba(133, 124, 109, .1);--color-red-100: #f04f52;--color-red-20: rgba(240, 79, 82, .2);--color-red-10: rgba(240, 79, 82, .1);--color-blue-100: #4e82f2;--color-orange: #ef5d36;--color-background-default: #f5f2ed;--color-primary-dark: #8c6131;--color-text-inverse-warm: #fffaf3;--color-student-card: #ede7e0;--color-curriculum-overlay: rgba(237, 231, 224, .8);--color-text-support: #4f4943;--color-avatar-highlight: #f6c3a0;--color-avatar-mid: #d88765;--color-avatar-start: #ead8c7;--color-avatar-end: #c8d2bd;--color-avatar-border: #efe4d8;--color-curriculum-stripe: rgba(182, 129, 67, .05);--color-curriculum-bg: #f3eadf;--color-track-bg: #fffaf5;--color-track-rest: #e0dbd3;--color-track-alert: #ef4f5c;--color-track-pin: #e83d45;--color-timeline-glass: rgba(255, 255, 255, .48);--color-timeline-muted-text: #9b9189;--color-timeline-done: #dfd1c2;--color-timeline-current: #d9bfa2;--color-progress-track: #e8ded2;--color-mission-tag: #9f7f5c;--color-mission-bar-rest: #e3d8cc;--color-notice-neutral: #82786f;--color-quote-bg: #2a2826;--color-promo-bg: #3c3128;--color-side-promo-bg: #17130a;--color-side-promo-top: rgba(62, 50, 26, .12);--color-side-promo-bottom: rgba(23, 19, 10, .18);--color-insight-image-bg: #d8d0c4;--color-answer-ring: #d8d3ca;--overlay-dark-strong: rgba(0, 0, 0, .72);--overlay-dark-soft: rgba(0, 0, 0, .2);--overlay-dark-subtle: rgba(0, 0, 0, .08);--overlay-dark-chip: rgba(0, 0, 0, .26);--overlay-light-quote: rgba(255, 255, 255, .34);--overlay-light-divider: rgba(255, 255, 255, .1);--overlay-light-hover-subtle: rgba(255, 255, 255, .06);--overlay-promo-glow: rgba(226, 179, 127, .72);--effect-shadow-color: rgba(78, 60, 41, .09);--effect-track-shadow: rgba(139, 92, 44, .24);--effect-pin-shadow: rgba(0, 0, 0, .5);--effect-menu-shadow: rgba(40, 38, 39, .2);--effect-card-shadow: rgba(94, 78, 60, .2);--effect-action-shadow: rgba(140, 97, 49, .28);--focus-ring: rgba(170, 122, 71, .45);--font-family-base: Pretendard, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--type-heading-1-size: 24px;--type-heading-1-weight: 600;--type-heading-1-line-height: 1;--type-heading-1-letter-spacing: 0;--type-heading-2-size: 18px;--type-heading-2-weight: 600;--type-heading-2-line-height: 1;--type-heading-2-letter-spacing: 0;--type-heading-3-size: 16px;--type-heading-3-weight: 600;--type-heading-3-line-height: 1;--type-heading-3-letter-spacing: 0;--type-body-size: 14px;--type-body-weight: 400;--type-body-line-height: 1.4;--type-body-letter-spacing: 0;--type-label-size: 12px;--type-label-weight: 600;--type-label-line-height: 1;--type-label-letter-spacing: 0;--type-caption-size: 11px;--type-caption-weight: 400;--type-caption-line-height: 1;--type-caption-letter-spacing: 0;--type-display-size: 28px;--type-display-weight: 600;--type-display-line-height: 1;--type-card-heading-size: 25px;--type-card-heading-line-height: 1.22;--type-banner-heading-size: 20px;--type-banner-heading-line-height: 1.25;--type-section-title-size: 19px;--type-list-title-size: 17px;--type-support-size: 13px;--type-action-size: 15px;--type-peer-size: 16px;--type-strong-weight: 900;--type-data-weight: 750;--type-page-line-height: 1.45;--type-relaxed-line-height: 1.25;--page: var(--color-white-100);--surface: var(--color-background-default);--surface-strong: var(--color-white-100);--ink: var(--color-black-100);--muted: var(--color-secondary-100);--line: var(--color-secondary-10);--accent: var(--color-primary-100);--accent-dark: var(--color-primary-dark);--accent-soft: var(--color-primary-20);--rose: var(--color-red-20);--dark: var(--color-black-100);--shadow: 0 18px 42px var(--effect-shadow-color)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--page);color:var(--ink);font-family:var(--font-family-base);line-height:var(--type-page-line-height)}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100vh;max-width:240px;padding:48px 32px 32px;background:var(--color-white-100)}.brand{display:flex;justify-content:center;width:100%}.brand img{display:block;width:72px;height:auto}.sidebar-top{display:flex;flex-direction:column;align-items:center;gap:48px;width:100%}.nav-list{display:grid;gap:2px;width:100%;margin-top:0}.nav-item{display:flex;align-items:center;gap:16px;width:100%;min-height:56px;max-height:56px;padding:16px 24px 16px 20px;border-radius:16px;color:var(--color-black-100);font-size:var(--type-heading-2-size);font-weight:var(--type-heading-2-weight);letter-spacing:var(--type-heading-2-letter-spacing);line-height:var(--type-heading-2-line-height);transition:background .16s ease,color .16s ease,transform .16s ease}.nav-item.active{background:var(--color-black-100);color:var(--color-white-100)}.nav-item:hover,.nav-item:focus-visible{transform:translate(2px)}.nav-item:not(.active):hover,.nav-item:not(.active):focus-visible{background:var(--color-primary-10);color:var(--accent-dark)}.nav-item.active:hover,.nav-item.active:focus-visible{background:var(--color-dark-gray)}.nav-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.nav-icon{width:24px;height:24px;flex:0 0 auto;object-fit:contain;transition:filter .16s ease,opacity .16s ease}.nav-item.active .nav-icon{filter:brightness(0) invert(1)}.nav-item:not(.active):hover .nav-icon,.nav-item:not(.active):focus-visible .nav-icon{filter:brightness(0) saturate(100%) invert(40%) sepia(18%) saturate(1117%) hue-rotate(351deg) brightness(91%) contrast(89%);opacity:1}.sidebar-status{display:grid;justify-items:center;gap:16px;width:100%}.sidebar-progress{position:relative;display:grid;width:162px;justify-items:center;margin:0}.sidebar-progress-graph{display:block;width:162px;height:78px;margin-bottom:-24px;overflow:visible}.sidebar-progress-copy{display:grid;justify-items:center;gap:2px}.sidebar-progress-copy strong{color:var(--color-black-100);font-size:var(--type-display-size);font-weight:var(--type-display-weight);letter-spacing:var(--type-heading-1-letter-spacing);line-height:var(--type-display-line-height)}.sidebar-progress-copy span{color:var(--color-black-100);font-size:var(--type-body-size);font-weight:var(--type-body-weight);letter-spacing:var(--type-body-letter-spacing);line-height:var(--type-body-line-height)}.student-info-card{display:grid;gap:2px;width:100%;padding:16px;border-radius:12px;background:var(--color-student-card);color:var(--color-black-100)}.student-info-card strong{font-size:var(--type-heading-2-size);font-weight:var(--type-heading-2-weight);letter-spacing:var(--type-heading-2-letter-spacing);line-height:var(--type-heading-2-line-height);margin-top:2px}.student-info-card p{margin:0;color:var(--color-black-100);font-size:var(--type-support-size);font-weight:var(--type-body-weight);letter-spacing:var(--type-body-letter-spacing);line-height:var(--type-body-line-height)}.workspace{min-width:0;padding:32px 32px 32px 0}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;width:100%;min-height:56px;margin:0}.student-greeting{display:flex;align-items:center;gap:16px}.avatar{position:relative;width:56px;height:56px;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 50% 34%,var(--color-avatar-highlight) 0 20%,transparent 21%),radial-gradient(circle at 48% 60%,var(--color-avatar-mid) 0 24%,transparent 25%),linear-gradient(135deg,var(--color-avatar-start),var(--color-avatar-end))}.avatar img{position:absolute;left:-22.48%;top:-23.21%;display:block;width:145.7%;height:145.7%;object-fit:cover}.topbar h1{margin:0;font-size:var(--type-heading-1-size);font-weight:var(--type-heading-1-weight);letter-spacing:var(--type-heading-1-letter-spacing);line-height:var(--type-heading-1-line-height)}.topbar p{margin:4px 0 0;color:var(--color-text-support);font-size:var(--type-support-size)}.topbar-actions{position:relative;display:flex;align-items:center;gap:16px}.notification-menu{position:relative;display:flex;align-items:center}.icon-button{display:flex;align-items:center;justify-content:center;padding:6px;border:0;border-radius:999px;background:transparent;cursor:pointer;transition:background .16s ease,transform .16s ease}.icon-button img{transition:filter .16s ease,opacity .16s ease}.icon-button:hover,.icon-button:focus-visible{background:var(--color-primary-10);transform:translateY(-1px)}.icon-button:hover img,.icon-button:focus-visible img{filter:saturate(1.12);opacity:.82}.icon-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.notification-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:20;display:grid;gap:12px;width:min(340px,calc(100vw - 44px));padding:16px;border:1px solid var(--color-secondary-10);border-radius:16px;background:var(--color-white-100);box-shadow:0 18px 42px var(--effect-card-shadow)}.notification-panel:before{position:absolute;top:-7px;right:18px;width:14px;height:14px;content:"";border-top:1px solid var(--color-secondary-10);border-left:1px solid var(--color-secondary-10);background:var(--color-white-100);transform:rotate(45deg)}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-panel-header h2{margin:0;color:var(--color-black-100);font-size:var(--type-heading-2-size);font-weight:var(--type-heading-2-weight);line-height:var(--type-heading-2-line-height)}.notification-panel-header span{flex-shrink:0;padding:8px;border-radius:4px;background:var(--color-primary-10);color:var(--accent-dark);font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-line-height)}.notification-list{display:grid;gap:8px;max-height:264px;padding:0;margin:0;overflow-y:auto;list-style:none}.notification-item{border-radius:10px;background:var(--color-secondary-10)}.notification-item.is-unread{background:var(--color-primary-10)}.notification-item-button{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px;width:100%;padding:12px;border:0;border-radius:inherit;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,transform .16s ease}.notification-item-button:hover,.notification-item-button:focus-visible{background:var(--color-primary-10);transform:translateY(-1px)}.notification-item-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.notification-item-button:active{transform:translateY(0)}.notification-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:transparent}.notification-item.is-unread .notification-dot{background:var(--accent)}.notification-item-copy{display:block;min-width:0}.notification-item-copy>span,.notification-empty p{display:block;margin:0;color:var(--color-black-100);font-size:var(--type-support-size);line-height:var(--type-body-line-height)}.notification-item:not(.is-unread) .notification-item-copy>span{color:var(--color-secondary-100)}.notification-item-copy time{display:block;margin-top:6px;color:var(--color-secondary-100);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height)}.notification-empty{padding:18px 12px;border-radius:10px;background:var(--color-secondary-10);text-align:center}.course-select{position:relative;z-index:20;display:flex}.course-select>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.course-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px;padding:16px 16px 16px 20px;width:100%;border:0;border-radius:12px;background:var(--color-black-100);color:var(--color-text-inverse-warm);font-size:16px;font-weight:600;letter-spacing:-.32px;line-height:1;cursor:pointer;transition:background .16s ease,transform .16s ease}.course-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-trigger:after,.course-menu-head:after{width:12px;height:8px;flex:0 0 auto;content:"";background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='8'%20viewBox='0%200%2010%208'%20fill='none'%3e%3cpath%20d='M5.80183%206.93333C5.40183%207.46667%204.60183%207.46667%204.20183%206.93333L0.201831%201.6C-0.292596%200.940763%200.177786%200%201.00183%200L9.00183%200C9.82588%200%2010.2963%200.940763%209.80183%201.6L5.80183%206.93333Z'%20fill='white'/%3e%3c/svg%3e") center / contain no-repeat}.course-trigger:hover,.course-trigger:focus-visible{background:var(--color-dark-gray);transform:translateY(-1px)}.course-trigger:focus-visible,.course-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.course-trigger:disabled{cursor:not-allowed;opacity:.6}.course-menu{position:absolute;top:0;right:0;width:100%;min-width:100%;max-width:min(320px,calc(100vw - 48px));overflow:hidden;border-radius:12px;background:var(--color-black-100);box-shadow:0 16px 32px var(--effect-menu-shadow)}.course-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px;padding:16px 16px 16px 20px;color:var(--color-text-inverse-warm);font-size:16px;font-weight:600;letter-spacing:-.32px;line-height:1;white-space:nowrap}.course-option-group{display:flex;flex-direction:column;align-items:stretch;background:var(--color-dark-gray)}.course-option{width:100%;height:52px;padding:16px 16px 16px 20px;border:0;border-bottom:1px solid var(--overlay-light-divider);background:transparent;color:var(--color-text-inverse-warm);font-size:var(--type-body-size);font-weight:var(--type-body-weight);letter-spacing:-.28px;line-height:var(--type-body-line-height);text-align:left;white-space:nowrap;cursor:pointer}.course-option:last-child{border-bottom:0}.course-option:hover,.course-option:focus-visible,.course-option.is-selected{background:var(--overlay-light-hover-subtle)}.student-dashboard{min-width:0}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;min-height:calc(100vh - 64px);align-items:stretch}.home-main{display:grid;grid-template-rows:56px auto minmax(306px,1fr) 154px;gap:16px;min-width:0;height:auto;overflow:visible}.curriculum-track,.primary-card,.notice-list,.quote-banner,.promo-banner,.insight-panel,.quiz-panel,.empty-state{border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.curriculum-track{position:relative;display:grid;align-content:center;gap:16px;padding:32px 0;overflow:hidden;background:linear-gradient(var(--color-curriculum-overlay),var(--color-curriculum-overlay)),url(/assets/track-background-Cm95fyWS.jpg) 50% / cover no-repeat,var(--color-student-card);background-blend-mode:normal,multiply,normal;box-shadow:none}.curriculum-track>*{position:relative;z-index:1}.track-line{margin-left:32px}.track-line--middle,.track-line--back{margin-left:0}.track-line--middle .track-bar{border-radius:0}.track-line--back .track-bar{border-radius:0 999px 999px 0}.track-bar{display:flex;align-items:center;padding:8px 0;background:var(--color-white-100);border-radius:999px 0 0 999px}.track-line--middle .track-bar:before,.track-line--back .track-bar:before{width:32px;height:16px;flex:0 0 auto;content:"";background:var(--color-primary-20)}.track-segment{position:relative;display:flex;align-items:center;flex:1 1 0;min-width:1px}.track-segment--first{padding-left:8px}.track-segment--last{padding-right:8px}.track-half{flex:1 0 0;height:16px;min-width:1px;background:var(--color-primary-20)}.track-half--filled{background:var(--color-primary-60)}.track-half--white{background:var(--color-white-100)}.track-segment--first .track-half:first-child{border-radius:999px 0 0 999px}.track-segment--last .track-half:last-child{border-radius:0 999px 999px 0}.track-gap{flex-shrink:0;width:8px;height:16px;background:var(--color-primary-20)}.track-gap--white{background:var(--color-white-100)}.track-tail{flex-shrink:0;width:32px;height:16px;background:var(--color-white-100)}.track-point{position:absolute;left:50%;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:28px;height:28px;transform:translate(-50%,-50%)}.track-point img{display:block;flex-shrink:0}.track-point--miss{top:-6px;transform:translate(-50%)}.track-pin{position:absolute;top:-23px;left:5px;width:26px;height:38px;filter:drop-shadow(0px 4px 4px var(--effect-pin-shadow));pointer-events:none}@keyframes timeline-slide-left{0%{transform:translate(48px)}to{transform:translate(0)}}@keyframes timeline-slide-right{0%{transform:translate(-48px)}to{transform:translate(0)}}.timeline-content{display:flex;flex-direction:column;gap:16px;will-change:transform}.timeline-grid{position:relative;display:flex;align-items:flex-start;gap:0;padding:0}.timeline-grid--with-start-space{padding-left:32px}.timeline-grid--with-end-space{padding-right:32px}.timeline-slot{display:flex;flex:1 1 0;flex-direction:column;gap:16px;min-width:0}.timeline-slot-bar{position:relative;display:flex;align-items:center;flex-shrink:0;width:100%;padding:8px 0;background:var(--color-white-100)}.timeline-slot-bar--first{border-radius:999px 0 0 999px}.timeline-slot-bar--last{border-radius:0 999px 999px 0}.timeline-track-gap{display:flex;flex:0 0 8px;align-items:center;height:32px;padding:8px 0;background:var(--color-white-100);pointer-events:none}.timeline-track-gap--tail,.timeline-track-gap--lead{flex-basis:32px}.timeline-track-gap-fill{width:100%;height:16px;background:var(--color-primary-20)}.timeline-track-gap-fill--white{background:var(--color-white-100)}.timeline-content--slide-left{animation:timeline-slide-left .28s cubic-bezier(.25,.46,.45,.94) both}.timeline-content--slide-right{animation:timeline-slide-right .28s cubic-bezier(.25,.46,.45,.94) both}.timeline-card{position:relative;display:grid;align-content:start;flex:0 0 auto;width:auto;height:149px;min-width:0;padding:16px;border:0;border-radius:16px;background:transparent;color:inherit;cursor:pointer;font:inherit;isolation:isolate;text-align:left;transition:transform .16s ease}.timeline-card-surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:var(--color-primary-30);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.timeline-card-content{position:relative;z-index:1;display:grid;align-content:start;gap:8px;height:100%;min-width:0;transition:opacity .16s ease}.timeline-card-body{display:grid;gap:4px;min-width:0}.timeline-card:before{position:absolute;top:-10px;left:50%;z-index:0;width:0;height:0;content:"";border-right:7.5px solid transparent;border-bottom:10px solid var(--color-primary-30);border-left:7.5px solid transparent;transform:translate(-50%)}.timeline-card--default,.timeline-card--default-off{background:transparent}.timeline-card--default:before{border-bottom-color:var(--color-primary-30)}.timeline-card--default-off:before{border-bottom-color:var(--color-primary-10)}.timeline-card--default-off,.timeline-card--miss-off,.timeline-card--scheduled-off{opacity:1}.timeline-card--default .timeline-card-surface{background:var(--color-primary-30)}.timeline-card--default-off .timeline-card-surface{background:var(--color-primary-10)}.timeline-card--default-off .timeline-card-content,.timeline-card--miss-off .timeline-card-content,.timeline-card--scheduled-off .timeline-card-content{opacity:.4}.timeline-card--miss,.timeline-card--miss-off{background:transparent}.timeline-card--miss .timeline-card-surface{background:var(--color-red-20)}.timeline-card--miss-off .timeline-card-surface{background:var(--color-red-10)}.timeline-card--miss:before{border-bottom-color:var(--color-red-20)}.timeline-card--miss-off:before{border-bottom-color:var(--color-red-10)}.timeline-card--scheduled,.timeline-card--scheduled-off{background:transparent}.timeline-card--scheduled .timeline-card-surface{background:var(--color-secondary-20)}.timeline-card--scheduled-off .timeline-card-surface{background:var(--color-secondary-10)}.timeline-card--scheduled:before{border-bottom-color:var(--color-secondary-20)}.timeline-card--scheduled-off:before{border-bottom-color:var(--color-secondary-10)}.timeline-card:hover,.timeline-card:focus-visible,.timeline-card--selected{opacity:1}.timeline-card:hover .timeline-card-content,.timeline-card:focus-visible .timeline-card-content,.timeline-card--selected .timeline-card-content{opacity:1}.timeline-card:hover{transform:translateY(-2px)}.timeline-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.timeline-card--default-off:hover .timeline-card-surface,.timeline-card--default-off:focus-visible .timeline-card-surface{background:var(--color-primary-20)}.timeline-card--miss-off:hover .timeline-card-surface,.timeline-card--miss-off:focus-visible .timeline-card-surface{background:var(--color-red-20)}.timeline-card--scheduled-off:hover .timeline-card-surface,.timeline-card--scheduled-off:focus-visible .timeline-card-surface{background:var(--color-secondary-20)}.week-label{display:inline-flex;align-items:center;width:fit-content;padding:6px 8px;border-radius:6px;background:var(--accent);color:var(--color-white-100);font-size:var(--type-label-size);font-weight:600;letter-spacing:-.24px}.timeline-card--miss .week-label,.timeline-card--miss-off .week-label{background:var(--color-red-100)}.timeline-card--scheduled .week-label,.timeline-card--scheduled-off .week-label{background:var(--color-secondary-100)}.timeline-nav{position:absolute;top:54%;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:999px;background:var(--color-secondary-20);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:background .16s ease,transform .16s ease;transform:translateY(-50%)}.timeline-nav:hover,.timeline-nav:focus-visible,.timeline-nav:active{background:var(--color-secondary-100)}.timeline-nav:hover,.timeline-nav:focus-visible{transform:translateY(-50%) scale(1.05)}.timeline-nav:active{transform:translateY(-50%) scale(.96)}.timeline-nav:focus-visible{outline:2px solid var(--color-white-100);outline-offset:2px}.timeline-prev{left:18px;padding-right:2px}.timeline-next{right:18px;padding-left:2px}.timeline-nav:before{content:"";display:block;width:24px;height:24px;background:var(--color-white-100);-webkit-mask:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%2015L12.5%2010L7.5%205'%20stroke='%23282627'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center / contain no-repeat;mask:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%2015L12.5%2010L7.5%205'%20stroke='%23282627'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center / contain no-repeat}.timeline-prev:before{transform:rotate(180deg)}.timeline-card small{overflow:hidden;color:var(--color-primary-100);font-size:var(--type-label-size);font-weight:600;letter-spacing:-.24px;text-overflow:ellipsis;white-space:nowrap}.timeline-card--miss small,.timeline-card--miss-off small{color:var(--color-red-100)}.timeline-card--scheduled small,.timeline-card--scheduled-off small{color:var(--color-secondary-100)}.timeline-card h3{min-width:0;margin:0;overflow:hidden;color:var(--color-black-100);font-size:var(--type-heading-2-size);font-weight:var(--type-heading-2-weight);letter-spacing:-.36px;line-height:var(--type-heading-2-line-height);text-overflow:ellipsis;white-space:nowrap}.timeline-card p{margin:0;color:var(--color-secondary-100);font-size:var(--type-body-size);letter-spacing:-.28px;line-height:var(--type-body-line-height)}.study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.primary-card{display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-width:0;padding:32px}.section-link{display:inline-flex;align-items:center;gap:4px;width:fit-content;color:var(--ink);font-size:var(--type-heading-2-size);font-weight:var(--type-heading-2-weight);letter-spacing:-.36px;line-height:var(--type-heading-2-line-height);text-decoration:none;transition:color .16s ease,transform .16s ease}.section-link>span:last-child,.text-arrow{width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%2015L12.5%2010L7.5%205'%20stroke='%23282627'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center / contain no-repeat;mask:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%2015L12.5%2010L7.5%205'%20stroke='%23282627'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center / contain no-repeat;transition:transform .16s ease}.section-link:hover,.section-link:focus-visible{color:var(--color-primary-100)}.section-link:hover>span:last-child,.section-link:focus-visible>span:last-child{transform:translate(2px)}.section-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.lesson-card-main{display:flex;flex-direction:column;gap:24px;width:100%;min-width:0}.lesson-card-detail{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}.lesson-meta,.mission-tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.lesson-meta{gap:8px}.lesson-meta span,.mission-tags span,.notice-list strong{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:6px;background:var(--accent);color:var(--color-text-inverse-warm);font-size:var(--type-label-size);font-weight:var(--type-label-weight)}.lesson-meta span{min-height:auto;padding:6px 8px;line-height:var(--type-label-line-height);letter-spacing:-.24px}.lesson-meta strong{color:var(--accent);font-size:var(--type-heading-3-size);font-weight:var(--type-heading-3-weight);letter-spacing:-.32px;line-height:var(--type-heading-3-line-height)}.primary-card h2{margin:0;font-size:var(--type-heading-1-size);font-weight:var(--type-heading-1-weight);letter-spacing:-.48px;line-height:var(--type-heading-1-line-height)}.primary-card p{margin:0;color:var(--muted);font-size:var(--type-body-size);font-weight:var(--type-body-weight);letter-spacing:-.28px;line-height:var(--type-body-line-height)}.lesson-facts{display:flex;flex-wrap:wrap;gap:16px;color:var(--ink);font-size:var(--type-body-size);font-weight:var(--type-body-weight);letter-spacing:-.28px;line-height:var(--type-body-line-height)}.lesson-fact{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.lesson-fact-icon{width:20px;height:20px;flex-shrink:0}.inline-progress{height:10px;overflow:hidden;border-radius:999px;background:var(--color-progress-track)}.inline-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.primary-action{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:59px;padding:0 18px;border-radius:12px;background:var(--accent);color:var(--color-text-inverse-warm);font-size:var(--type-peer-size);font-weight:var(--type-heading-3-weight);transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.primary-action:hover,.primary-action:focus-visible{background:var(--accent-dark);box-shadow:0 12px 24px var(--effect-action-shadow);transform:translateY(-2px)}.primary-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.primary-action:active{transform:translateY(0)}.mission-card{justify-content:flex-start;gap:24px;background:var(--surface)}.mission-card .section-link{flex-shrink:0}.mission-card-detail{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}.mission-card-bottom{display:flex;flex-direction:column;gap:24px;width:100%;min-width:0;margin-top:auto}.mission-tags span{background:var(--color-mission-tag)}.mission-tags{align-items:flex-start;gap:4px}.mission-tags span{min-height:auto;padding:6px 8px;line-height:var(--type-label-line-height);letter-spacing:-.24px}.mission-tags span:first-child{background:var(--accent)}.mission-tags span:last-child{background:var(--color-secondary-100)}.mission-deadline{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-size:var(--type-body-size);font-weight:var(--type-body-weight);letter-spacing:-.28px;line-height:var(--type-body-line-height);white-space:nowrap}.mission-deadline-icon{width:20px;height:20px;flex-shrink:0}.mission-peer{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0}.mission-progress{display:flex;flex-shrink:0;gap:2px}.mission-progress span{width:8px;height:20px;border-radius:4px;background:var(--color-primary-20)}.mission-progress span.is-filled{background:var(--accent)}.peer-note{flex-shrink:0;color:var(--ink);font-size:var(--type-heading-3-size);font-weight:var(--type-heading-3-weight);letter-spacing:-.32px;line-height:var(--type-heading-3-line-height);text-align:right;white-space:nowrap}.home-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.notice-list,.quote-banner,.promo-banner{display:grid;align-content:start;gap:16px;min-width:0;padding:32px}.notice-list,.quote-banner{height:154px}.primary-card,.notice-list,.quote-banner{background:var(--color-background-default);box-shadow:none}.notice-list p{margin:0;color:var(--ink);font-size:var(--type-body-size);font-weight:var(--type-body-weight);letter-spacing:-.28px;line-height:var(--type-body-line-height)}.notice-items{display:flex;flex-direction:column;gap:8px;min-width:0}.notice-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0}.notice-link{border-radius:6px;color:inherit;text-decoration:none}.notice-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.notice-link:hover p{text-decoration:underline;text-underline-offset:3px}.notice-label{display:inline-flex;align-items:center;justify-content:center;min-height:auto;min-width:48px;padding:6px 8px;border-radius:6px;color:var(--color-text-inverse-warm);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:-.24px;line-height:var(--type-label-line-height)}.notice-label--primary{background:var(--accent)}.notice-label--secondary{background:var(--color-secondary-100)}.notice-item p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-banner{position:relative;align-content:center;overflow:hidden;padding:0;background:linear-gradient(90deg,var(--overlay-dark-strong),var(--overlay-dark-soft)),radial-gradient(circle at 82% 50%,var(--overlay-light-quote),transparent 24%),var(--color-quote-bg);color:var(--color-text-inverse-warm)}.quote-banner:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:var(--quote-banner-image) center / cover}.quote-banner:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,var(--overlay-dark-soft),transparent 72%)}.quote-banner>*{position:relative;z-index:1}.quote-banner-copy{display:grid;align-content:center;gap:8px;height:100%;padding:0 32px}.quote-banner h2,.promo-banner h2{margin:0;font-size:var(--type-banner-heading-size);line-height:var(--type-banner-heading-line-height)}.quote-banner p,.promo-banner small,.promo-banner span{margin:0;font-size:var(--type-label-size)}.promo-banner{min-height:154px;background:linear-gradient(90deg,var(--overlay-dark-strong),var(--overlay-dark-subtle)),radial-gradient(circle at 82% 58%,var(--overlay-promo-glow),transparent 30%),var(--color-promo-bg);color:var(--color-text-inverse-warm)}.promo-banner span{display:inline-flex;width:fit-content;min-height:26px;align-items:center;padding:0 10px;border-radius:4px;background:var(--overlay-dark-chip)}.home-side-panel{display:grid;grid-template-rows:minmax(0,1fr) 154px;gap:16px;min-width:0;height:100%;overflow:hidden}.side-learning-stack{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;border-radius:16px;background:var(--color-background-default)}.insight-panel,.quiz-panel{display:grid;align-content:start;min-width:0;padding:32px;border-radius:0;background:transparent;box-shadow:none}.insight-panel{gap:16px;border-bottom:4px solid var(--color-secondary-10)}.side-learning-stack .section-link{display:flex;justify-self:stretch;width:100%;align-items:center;justify-content:flex-start;gap:4px;color:var(--color-black-100);font-size:var(--type-heading-2-size);font-weight:var(--type-heading-2-weight);letter-spacing:var(--type-heading-2-letter-spacing);line-height:var(--type-heading-2-line-height)}.side-learning-stack .section-link>span:last-child{width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%2015L12.5%2010L7.5%205'%20stroke='%23282627'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center / contain no-repeat;mask:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%2015L12.5%2010L7.5%205'%20stroke='%23282627'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") center / contain no-repeat}.insight-tabs{display:flex;align-items:center;width:100%;height:32px;border-bottom:1px solid var(--color-primary-20);color:var(--color-secondary-100);font-size:var(--type-body-size);font-weight:var(--type-body-weight);letter-spacing:var(--type-body-letter-spacing);line-height:var(--type-body-line-height)}.insight-tabs button{display:flex;flex:1 0 0;align-items:center;justify-content:center;min-width:0;height:32px;padding:6px 8px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;transition:color .16s ease,background .16s ease}.insight-tabs button:hover,.insight-tabs button:focus-visible{color:var(--color-primary-100)}.insight-tabs button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.insight-tabs .active{border-bottom:2px solid var(--color-primary-100);color:var(--color-primary-100);font-weight:var(--type-label-weight);box-shadow:none}.insight-image{position:relative;width:100%;height:140px;overflow:hidden;border-radius:12px;background:var(--color-insight-image-bg)}.insight-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.insight-link{display:grid;gap:12px;color:inherit;text-decoration:none;border-radius:12px;transition:transform .18s ease,color .18s ease}.insight-link:hover,.insight-link:focus-visible{transform:translateY(-2px)}.insight-link:hover .insight-image img,.insight-link:focus-visible .insight-image img{transform:scale(1.02)}.insight-link:hover .insight-copy h2,.insight-link:focus-visible .insight-copy h2{color:var(--color-primary-100)}.insight-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.insight-image span{position:absolute;left:8px;top:8px;z-index:1;padding:6px 10px;border-radius:6px;background:var(--insight-label-bg, var(--color-orange));color:var(--color-white-100);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-letter-spacing);line-height:var(--type-label-line-height)}.insight-copy{display:grid;gap:8px;min-width:0}.insight-copy h2{margin:0;overflow:hidden;color:var(--color-black-100);font-size:var(--type-heading-3-size);font-weight:var(--type-heading-3-weight);letter-spacing:var(--type-heading-3-letter-spacing);line-height:var(--type-relaxed-line-height);text-overflow:ellipsis;white-space:nowrap}.insight-copy p,.quiz-paper p,.quiz-paper small{margin:0;color:var(--color-black-100);font-size:var(--type-body-size);letter-spacing:var(--type-body-letter-spacing);line-height:var(--type-body-line-height)}.insight-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.insight-empty{display:grid;min-height:140px;align-items:center;border-radius:12px;background:var(--color-secondary-10);text-align:center}.insight-empty p{margin:0;color:var(--color-secondary-100)}.quiz-panel{align-content:start;gap:16px;min-height:0}.quiz-cards{position:relative;justify-self:center;width:231.842px;height:262.955px;overflow:hidden}.quiz-card-back{position:absolute;left:50%;top:50%;width:180px;height:224px;border-radius:16px;object-fit:cover;transform:translate(-50%,-50%) rotate(15deg)}.quiz-paper{position:absolute;left:calc(50% - .27px);top:calc(50% - 4.48px);display:flex;flex-direction:column;justify-content:space-between;width:180px;height:224px;margin:0;padding:24px;border-radius:16px;background:var(--surface-strong);filter:drop-shadow(0 4px 8px var(--effect-card-shadow));transform:translate(-50%,-50%)}.side-promo-banner{position:relative;min-height:154px;overflow:hidden;border-radius:16px;background:var(--color-side-promo-bg)}.side-promo-banner:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:"";background:linear-gradient(to bottom,var(--color-side-promo-top),var(--color-side-promo-bottom))}.side-promo-banner img{display:block;width:117.89%;height:100%;margin-left:-4.55%;object-fit:cover}.quiz-copy{display:flex;flex-direction:column;justify-content:center;width:100%;gap:8px;line-height:var(--type-heading-2-line-height)}.quiz-paper strong{width:100%;color:var(--color-black-100);font-size:var(--type-heading-2-size);font-weight:var(--type-heading-2-weight);letter-spacing:var(--type-heading-2-letter-spacing);line-height:var(--type-relaxed-line-height)}.quiz-paper p{overflow:hidden;width:100%;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-letter-spacing);line-height:var(--type-label-line-height);text-overflow:ellipsis}.quiz-paper--default p{color:var(--accent)}.quiz-paper--correct p{color:var(--color-blue-100)}.quiz-paper--wrong p{color:var(--color-red-100)}.quiz-paper small{display:-webkit-box;overflow:hidden;width:100%;color:var(--color-secondary-100);font-size:var(--type-caption-size);letter-spacing:var(--type-caption-letter-spacing);line-height:var(--type-caption-line-height);-webkit-box-orient:vertical;-webkit-line-clamp:2}.quiz-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:0}.answer{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:0;border-radius:8px;cursor:pointer;transition:background .16s ease,transform .16s ease}.answer:hover,.answer:focus-visible{transform:translateY(-1px)}.answer:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.answer:active{transform:translateY(0)}.answer--o,.answer--x{background:var(--color-primary-20)}.quiz-paper--wrong .answer--o{background:var(--color-red-20)}.quiz-paper--correct .answer--o{background:var(--color-secondary-20)}.quiz-paper--correct .answer--x,.quiz-paper--wrong .answer--x{background:var(--color-blue-100)}.answer--o:before{width:18px;height:18px;content:"";border:2px solid var(--accent);border-radius:50%}.quiz-paper--wrong .answer--o:before{border-color:var(--color-red-100)}.quiz-paper--correct .answer--o:before{border-color:var(--color-answer-ring)}.answer--x:before,.answer--x:after{position:absolute;left:50%;top:50%;width:21px;height:2px;content:"";border-radius:999px;background:var(--accent)}.quiz-paper--correct .answer--x:before,.quiz-paper--correct .answer--x:after,.quiz-paper--wrong .answer--x:before,.quiz-paper--wrong .answer--x:after{background:var(--color-white-100)}.answer--x:before{transform:translate(-50%,-50%) rotate(45deg)}.answer--x:after{transform:translate(-50%,-50%) rotate(-45deg)}.empty-state{padding:40px}@media (max-width: 1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.home-layout{grid-template-columns:1fr}.home-side-panel{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}}@media (max-width: 920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:22px;max-width:none}.brand{justify-content:flex-start}.sidebar-top{align-items:flex-start;gap:24px}.brand img{width:64px}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.sidebar-status{display:none}.workspace{padding:22px}}@media (max-width: 760px){.topbar,.topbar-actions,.student-greeting{align-items:stretch;flex-direction:column}.course-select{width:100%}.course-menu{left:0;right:auto;width:100%;max-width:none}.home-main{grid-template-rows:none}.timeline-grid,.study-grid,.home-bottom-grid,.home-side-panel{grid-template-columns:1fr}.curriculum-track,.primary-card,.notice-list,.promo-banner,.insight-panel,.quiz-panel{padding:22px}.quote-banner{padding:0}.quote-banner-copy{padding:0 22px}.nav-list{grid-template-columns:1fr}}
