:root{font-family:'DM Sans','Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;color:#252723;background:#fbfbfa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit}button:focus-visible{outline:3px solid #608577;outline-offset:3px}svg{display:block;width:100%;height:100%}.app-shell{min-height:100vh;display:flex}.sidebar{width:260px;flex-shrink:0;background:#f3f4f1;border-right:1px solid #e5e8e1;padding:32px 17px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:1px 10px 51px}.brand strong{display:block;font-size:19px;letter-spacing:-.8px}.brand small{display:block;color:#818980;font-size:10px;letter-spacing:.05em;margin-top:3px}.brand-mark{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:3px;transform:rotate(-10deg);padding:4px}.brand-mark span{background:#4d7666;border-radius:2px 5px 2px 5px}.brand-mark span:nth-child(2),.brand-mark span:nth-child(3){background:#9dbab0}.nav-group+.nav-group{margin-top:33px}.group-toggle{width:100%;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;color:#858b83;font-size:12px;font-weight:700;letter-spacing:.03em;text-align:left;cursor:pointer}.group-chevron{width:15px;height:15px;transition:transform .2s}.group-chevron.open{transform:rotate(90deg)}.nav-items{display:grid;gap:4px;margin-top:5px}.nav-items[hidden]{display:none}.nav-item{border:0;width:100%;background:transparent;color:#656d65;text-align:left;display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}.nav-item:hover{background:#e8ebe5;color:#354b40}.nav-item.active{color:#315e4a;background:#e1eae3}.nav-icon{width:19px;height:19px;flex:none}.nav-arrow{width:15px;height:15px;margin-left:auto;opacity:.65}.sidebar-footer{margin-top:auto;padding:17px 10px 0;border-top:1px solid #dfe3dc;display:flex;align-items:flex-start;gap:9px}.sidebar-footer strong,.sidebar-footer small{display:block}.sidebar-footer strong{font-size:12px;color:#5b655d}.sidebar-footer small{font-size:11px;color:#929a91;margin-top:4px}.status-dot{width:7px;height:7px;background:#84a894;border-radius:50%;margin-top:4px}.main-wrap{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:74px;border-bottom:1px solid #ebede8;display:flex;align-items:center;justify-content:space-between;padding:0 6.2%;color:#858c84;font-size:13px}.topbar-left{display:flex;align-items:center;gap:14px}.topbar strong{color:#424942;font-weight:600}.crumb-separator{margin:0 12px;color:#c4cbc2}.top-label,.eyebrow,.section-kicker{font-size:10px;font-weight:700;letter-spacing:.14em}.top-label{color:#a1aaa0}.content{max-width:1240px;margin:0 auto;padding:0 7% 90px}.page-heading{min-height:245px;position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;border-bottom:1px solid #e8ebe5}.eyebrow{color:#638775;margin:0 0 16px;display:flex;align-items:center;gap:8px}.eyebrow span{width:7px;height:7px;background:#87ac96;border-radius:50%}h1{font-size:clamp(30px,3vw,42px);letter-spacing:-.06em;margin:0;font-weight:700;line-height:1.25}.page-description{color:#818b80;margin:13px 0 0;font-size:15px;line-height:1.7}.heading-illustration{height:160px;width:160px;position:relative;display:grid;place-items:center;color:#8da999;font-size:47px;margin-right:5%;opacity:.75}.orbit{position:absolute;border:1px solid #d8e3d9;border-radius:50%}.orbit-one{inset:17px}.orbit-two{inset:0;transform:scaleX(.72) rotate(35deg)}.section{margin-top:49px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.section-kicker{color:#91a195}h2{font-size:20px;letter-spacing:-.045em;margin:8px 0 0}.section-heading p{font-size:13px;color:#8a9389;margin:8px 0 0}.empty-state{min-height:215px;background:#f5f7f2;border:1px solid #e8ede5;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px}.empty-icon{width:43px;height:43px;background:#e7eee6;color:#789984;border-radius:13px;padding:11px}.empty-state h3{font-size:15px;letter-spacing:-.03em;margin:16px 0 0}.empty-state p{font-size:13px;line-height:1.7;color:#8b968a;margin:7px 0 0}.explore-section{margin-top:57px}.segmented{display:inline-flex;background:#f1f3ef;padding:4px;border-radius:9px;margin-bottom:17px;gap:2px}.segmented button{border:0;background:transparent;border-radius:6px;padding:8px 15px;font-size:12px;font-weight:600;color:#818b80;cursor:pointer}.segmented button[aria-pressed=true]{background:white;color:#365f4b;box-shadow:0 1px 5px #263a2814}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feature-card{border:1px solid #e9ede7;border-radius:11px;background:#fff;padding:21px;min-height:152px}.feature-top{display:flex;align-items:center;justify-content:space-between}.feature-icon{height:34px;width:34px;padding:8px;border-radius:9px;background:#f0f5ef;color:#71927d}.feature-number{font-size:10px;color:#bdc8bd;letter-spacing:.06em}.feature-card h3{font-size:14px;letter-spacing:-.03em;margin:20px 0 7px}.feature-card p{font-size:12px;line-height:1.7;color:#8a9489;margin:0}.footer{margin-top:auto;padding:22px 6.2%;border-top:1px solid #eff1ed;display:flex;justify-content:space-between;color:#a7aea5;font-size:11px}.icon-button{padding:6px;width:34px;height:34px;background:transparent;border:0;cursor:pointer;color:#566357}.menu-button{display:none}
@media(max-width:850px){.sidebar{width:220px}.content{padding-left:6%;padding-right:6%}.features{grid-template-columns:repeat(2,minmax(0,1fr))}.heading-illustration{margin-right:0}}
@media(max-width:620px){.app-shell{display:block}.sidebar{display:none;position:fixed;top:62px;left:0;width:min(300px,90vw);height:calc(100dvh - 62px);z-index:5;box-shadow:12px 12px 30px #26392b1a}.sidebar.mobile-open{display:flex}.brand{padding-bottom:30px}.topbar{height:62px;padding:0 20px;position:sticky;top:0;background:#fbfbfaf5;z-index:6}.menu-button{display:block}.top-label{display:none}.content{padding:0 22px 65px}.page-heading{min-height:200px}.heading-illustration{width:85px;height:85px;font-size:28px;flex-shrink:0}.orbit-one{inset:9px}.page-description{font-size:14px}.section{margin-top:36px}.features{grid-template-columns:1fr}.feature-card{min-height:130px}.footer{padding:20px 22px;gap:10px;flex-wrap:wrap}.empty-state{min-height:190px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Classroom-inspired navigation and surfaces */
:root{color:#202124;background:#f7f9fc}.sidebar{background:#f7f9fc;border-right:0;padding:28px 12px 22px;width:260px}.brand{padding:1px 12px 46px}.brand strong{font-size:20px;font-weight:600;color:#3c4043}.brand-mark span{background:#1a73e8}.brand-mark span:nth-child(2),.brand-mark span:nth-child(3){background:#8ab4f8}.group-toggle{color:#5f6368;font-size:13px}.nav-item{color:#3c4043;border-radius:999px;min-height:48px;font-weight:500}.nav-item:hover{background:#e8eaed;color:#202124}.nav-item.active{background:#c2e7ff;color:#004a77;font-weight:700}.sidebar-footer{border-color:#e1e3e6}.status-dot{background:#1a73e8}.topbar{background:#f7f9fc;border-bottom:0;height:72px;color:#5f6368}.topbar strong{color:#3c4043}.main-wrap{background:#f7f9fc}main{background:#fff;border-radius:26px 0 0 0;flex:1}.content{max-width:1120px}.page-heading{min-height:205px;border:0;margin-top:24px;padding:32px 36px;border-radius:16px;background:#e8f0fe}.eyebrow{color:#1967d2}.eyebrow span{background:#1a73e8}h1{color:#202124;font-weight:600}.page-description{color:#536778}.heading-illustration{color:#669df6}.orbit{border-color:#c5d8f8}.section-kicker{color:#6685a2}.empty-state{background:#fff;border:1px solid #dadce0;border-radius:12px}.empty-icon{background:#e8f0fe;color:#1a73e8}.segmented{background:#f1f3f4}.segmented button[aria-pressed=true]{color:#174ea6}.feature-card{border-color:#dadce0}.feature-icon{background:#e8f0fe;color:#1a73e8}.footer{background:#fff;border:0}.nav-arrow{opacity:.6}button:focus-visible{outline-color:#1a73e8}@media(max-width:620px){.sidebar{width:min(300px,90vw)}.topbar{background:#f7f9fc}.page-heading{padding:26px 24px;margin-top:18px;min-height:190px}main{border-radius:20px 20px 0 0}}
.course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:38px 0 22px}.course-toolbar h2{margin:0}.primary-button,.secondary-button{border:0;border-radius:999px;padding:11px 20px;font-size:14px;font-weight:600;cursor:pointer}.primary-button{background:#c2e7ff;color:#004a77}.primary-button:hover{background:#a8d7fa}.primary-button:disabled{opacity:.6;cursor:wait}.secondary-button{background:transparent;color:#1967d2}.course-status{color:#5f6368;padding:30px 0;font-size:14px}.course-status.error,.form-error{color:#b3261e}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.course-card{border:1px solid #dadce0;border-radius:12px;overflow:hidden;background:white}.course-banner{background:#e8f0fe;color:#174ea6;padding:22px;min-height:120px}.course-banner h3{margin:0;font-size:20px}.course-banner p{margin:10px 0 0;font-size:14px}.course-body{padding:18px 22px;font-size:13px;color:#5f6368}.course-body strong{display:block;font-size:20px;color:#202124;letter-spacing:.12em;margin-top:6px}dialog{width:min(460px,calc(100% - 32px));border:0;border-radius:22px;padding:26px;color:#202124;box-shadow:0 12px 45px #20212444}dialog::backdrop{background:#20212480}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.dialog-heading h2{margin:0;font-size:21px}.close-dialog:not(.secondary-button){border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#5f6368}dialog label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}dialog label span{font-weight:400;color:#5f6368}dialog input{width:100%;height:48px;border:1px solid #858b93;border-radius:6px;padding:0 12px;font:inherit}dialog p{font-size:14px;color:#5f6368;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.form-error:empty{display:none}.form-error{font-size:13px}
/* Motion follows the user's reduced-motion preference. */
.nav-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 280ms cubic-bezier(.2,0,0,1),opacity 200ms ease;overflow:hidden}.nav-panel.is-open{grid-template-rows:1fr;opacity:1}.nav-panel>.nav-items{min-height:0;overflow:hidden;margin-top:0;padding-top:0;transition:padding-top 280ms cubic-bezier(.2,0,0,1)}.nav-panel.is-open>.nav-items{padding-top:5px}.group-chevron{transition:transform 280ms cubic-bezier(.2,0,0,1)}.nav-item,.primary-button,.secondary-button,.icon-button{transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease}.page-enter{animation:page-enter 220ms ease both}@keyframes page-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}dialog[open]{animation:dialog-enter 240ms cubic-bezier(.2,0,0,1) both}dialog[open]::backdrop{animation:backdrop-enter 240ms ease both}dialog.is-closing::backdrop{animation:backdrop-exit 170ms ease both}@keyframes dialog-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-enter{from{background:transparent}to{background:#20212480}}@keyframes backdrop-exit{from{background:#20212480}to{background:transparent}}@media(max-width:620px){.sidebar{display:flex;visibility:hidden;opacity:0;transform:translateX(-20px);transition:transform 260ms cubic-bezier(.2,0,0,1),opacity 220ms ease,visibility 0s linear 260ms;pointer-events:none}.sidebar.mobile-open{visibility:visible;opacity:1;transform:translateX(0);transition:transform 260ms cubic-bezier(.2,0,0,1),opacity 220ms ease,visibility 0s;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.nav-panel,.nav-panel>.nav-items,.group-chevron,.nav-item,.primary-button,.secondary-button,.icon-button,.sidebar{transition:none!important}.page-enter,dialog[open],dialog[open]::backdrop,dialog.is-closing::backdrop{animation:none!important}}

/* Give each transition enough time and distance to remain perceptible. */
.nav-panel{transition:grid-template-rows 520ms cubic-bezier(.22,1,.36,1),opacity 420ms ease}
.nav-panel>.nav-items{transform:translateX(-16px);transition:padding-top 520ms cubic-bezier(.22,1,.36,1),transform 520ms cubic-bezier(.22,1,.36,1)}
.nav-panel.is-open>.nav-items{transform:translateX(0)}
.group-chevron{transition:transform 520ms cubic-bezier(.22,1,.36,1)}
.page-enter{animation:page-enter-visible 420ms cubic-bezier(.22,1,.36,1) both}
@keyframes page-enter-visible{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
dialog[open]{animation:dialog-enter-visible 440ms cubic-bezier(.22,1,.36,1) both}
dialog[open]::backdrop{animation:backdrop-enter 440ms ease both}
dialog.is-closing::backdrop{animation:backdrop-exit 320ms ease both}
@keyframes dialog-enter-visible{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:620px){.sidebar{transform:translateX(-36px);transition:transform 440ms cubic-bezier(.22,1,.36,1),opacity 380ms ease,visibility 0s linear 440ms}.sidebar.mobile-open{transition:transform 440ms cubic-bezier(.22,1,.36,1),opacity 380ms ease,visibility 0s}}
@media(prefers-reduced-motion:reduce){.nav-panel,.nav-panel>.nav-items,.group-chevron,.sidebar{transition:none!important}.page-enter,dialog[open],dialog[open]::backdrop,dialog.is-closing::backdrop{animation:none!important}}
.code-toggle{border:0;background:transparent;color:#1967d2;font:inherit;font-weight:600;padding:7px 0;cursor:pointer}.code-toggle:hover{color:#174ea6;text-decoration:underline}.code-toggle:disabled{opacity:.6;cursor:wait}.code-result:empty{display:none}.code-result{min-height:1em}.code-result strong{margin-top:6px}
/* Teacher course space */
.course-open{display:block;width:100%;border:0;text-align:left;font:inherit;cursor:pointer;transition:background-color 180ms ease}.course-open:hover{background:#d9e8ff}.course-name,.course-subtitle,.course-open-hint{display:block}.course-name{font-size:20px;font-weight:600;line-height:1.35}.course-subtitle{font-size:14px;margin-top:8px}.course-open-hint{font-size:12px;font-weight:600;margin-top:22px}.course-detail{padding-top:28px}.course-back{border:0;background:transparent;color:#1967d2;font:inherit;font-size:14px;font-weight:600;padding:10px 0;margin-bottom:14px;cursor:pointer}.course-back:hover{text-decoration:underline}.course-hero{min-height:192px;padding:32px 36px;background:#dbeafe;border-radius:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#174ea6}.course-hero h1{color:#174ea6}.course-hero p{margin:9px 0 0}.course-hero .course-hero-label{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.04em}.hero-code{background:#ffffffcf;border-radius:12px;padding:8px 16px;flex-shrink:0}.course-tabs{display:flex;gap:4px;border-bottom:1px solid #dadce0;overflow-x:auto;margin-top:18px}.course-tabs button{position:relative;border:0;background:transparent;padding:17px 20px;color:#5f6368;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.course-tabs button:hover{background:#f3f6fb}.course-tabs button[aria-current=page]{color:#1967d2}.course-tabs button[aria-current=page]::after{content:"";position:absolute;bottom:0;left:10px;right:10px;height:3px;background:#1a73e8;border-radius:3px 3px 0 0}.teacher-section{max-width:840px;margin:38px auto}.teacher-section-heading{padding-bottom:20px;border-bottom:1px solid #dadce0}.teacher-section-heading h2{margin:0;font-size:24px;font-weight:500;color:#1967d2}.teacher-section-heading p{margin:10px 0 0;color:#5f6368;font-size:14px;line-height:1.6}.teacher-items{display:grid;gap:12px;margin-top:22px}.teacher-item{display:flex;gap:18px;align-items:flex-start;padding:20px 22px;border:1px solid #dadce0;border-radius:12px}.teacher-item-icon{width:40px;height:40px;padding:10px;flex:none;background:#e8f0fe;color:#1967d2;border-radius:50%}.teacher-item h3{font-size:15px;margin:1px 0 6px}.teacher-item p{font-size:13px;color:#5f6368;line-height:1.6;margin:0}.feature-pending{display:inline-block;font-size:12px;color:#5f6368;background:#f1f3f4;border-radius:999px;padding:4px 9px;margin-top:12px}@media(max-width:620px){.course-detail{padding-top:18px}.course-hero{padding:24px;min-height:180px;align-items:flex-start;flex-direction:column}.course-tabs{margin-right:-8%;margin-left:-8%;padding-left:5%}.course-tabs button{padding:15px}.teacher-section{margin-top:28px}.teacher-item{padding:17px}}

/* Soft blue gradients echo the rest of the classroom interface. */
.course-card{border-color:#dce3ee;box-shadow:0 2px 8px #3c404308;transition:box-shadow 220ms ease,border-color 220ms ease}
.course-card:focus-within,.course-card:hover{border-color:#b9cce6;box-shadow:0 5px 18px #3c404315}
.course-banner{position:relative;overflow:hidden;min-height:148px;background:linear-gradient(125deg,#eef4ff 0%,#e5efff 55%,#dbeafe 100%)}
.course-banner h3,.course-name{max-width:100%;overflow-wrap:anywhere;position:relative}
.course-open:hover{background:linear-gradient(125deg,#e7f0ff 0%,#deebff 55%,#d1e4ff 100%)}
.course-open:focus-visible{outline:3px solid #1a73e8;outline-offset:-4px}
@media(prefers-reduced-motion:reduce){.course-card{transition:none}}
.profile-button{width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:#e8f0fe;color:#5f7fa7;padding:10px;flex:none}.profile-button svg{width:20px;height:20px}.profile-button:disabled{cursor:default;opacity:1}
/* Distinct, legible color with a separate information control. */
.course-card{position:relative}
.course-banner{background:linear-gradient(125deg,#e1edff 0%,#bed9ff 55%,#8ebeff 100%);padding-right:68px}
.course-open:hover{background:linear-gradient(125deg,#d9e8ff 0%,#b2d2ff 55%,#7fb4f7 100%)}
.course-info{position:absolute;z-index:1;top:14px;right:14px;width:38px;height:38px;border:1px solid #174ea640;border-radius:50%;background:#ffffffad;color:#174ea6;font:600 17px Georgia,serif;cursor:pointer;transition:background-color 180ms ease,box-shadow 180ms ease}
.course-info:hover{background:#fff;box-shadow:0 2px 8px #174ea625}
.course-details{margin:0}.course-details>div{padding:16px 0;border-bottom:1px solid #e8eaed}.course-details dt{font-size:13px;color:#5f6368;margin-bottom:6px}.course-details dd{margin:0;color:#202124;font-size:16px;font-weight:600;overflow-wrap:anywhere}.course-details .info-code{letter-spacing:.1em}.course-details .info-code.error{color:#b3261e;letter-spacing:normal;font-size:14px}
@media(prefers-reduced-motion:reduce){.course-info{transition:none}}
.course-back{width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:23px;line-height:1}.course-back:hover{background:#e8f0fe;text-decoration:none}
.brand{width:100%;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.brand:focus-visible{border-radius:8px}
/* Gentle, selectable course gradients. */
[data-gradient="blue"]{--course-gradient:linear-gradient(125deg,#f0f5ff,#d4e5fc)}
[data-gradient="mint"]{--course-gradient:linear-gradient(125deg,#eef8f6,#cfeae4)}
[data-gradient="sage"]{--course-gradient:linear-gradient(125deg,#f3f7ed,#dcebd2)}
[data-gradient="lavender"]{--course-gradient:linear-gradient(125deg,#f6f2fc,#e5daf6)}
[data-gradient="peach"]{--course-gradient:linear-gradient(125deg,#fff5f0,#f9dfd1)}
[data-gradient="sand"]{--course-gradient:linear-gradient(125deg,#fbf7ed,#f0e4c9)}
.course-card .course-banner,.course-card .course-open:hover{background:var(--course-gradient)}
.course-card .course-open:hover{filter:brightness(.985)}
.gradient-picker{border:0;margin:22px 0 0;padding:0;min-width:0}.gradient-picker legend{font-size:14px;font-weight:600;color:#3c4043;margin-bottom:12px}.gradient-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.gradient-choice{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;margin:0;font-weight:400}.gradient-choice input{position:absolute;opacity:0;width:1px;height:1px}.gradient-swatch{display:block;width:100%;height:34px;border:1px solid #d4dae2;border-radius:9px;background:var(--course-gradient)}.gradient-choice input:checked+.gradient-swatch{outline:2px solid #1967d2;outline-offset:2px}.gradient-choice input:focus-visible+.gradient-swatch{outline:3px solid #174ea6;outline-offset:3px}.gradient-label{font-size:11px;color:#5f6368;white-space:nowrap}.gradient-note{font-size:12px;color:#5f6368;margin:12px 0 0}
dialog label.gradient-choice{display:flex;margin:0;font-size:inherit;font-weight:400}
/* Each course uses one restrained palette throughout its workspace. */
[data-gradient="blue"]{--course-accent:#174ea6;--course-tint:#e8f0fe}
[data-gradient="mint"]{--course-accent:#176354;--course-tint:#e1f2ee}
[data-gradient="sage"]{--course-accent:#486329;--course-tint:#ebf3e5}
[data-gradient="lavender"]{--course-accent:#67448a;--course-tint:#f0eafa}
[data-gradient="peach"]{--course-accent:#95503b;--course-tint:#fcece6}
[data-gradient="sand"]{--course-accent:#715621;--course-tint:#f7f0e0}
.course-card,.course-card:hover,.course-card:focus-within{border:0;box-shadow:none}
.course-card .course-banner,.course-card .course-banner h3,.course-card .course-name{color:var(--course-accent)}
.course-card .course-info{color:var(--course-accent);border-color:transparent}
.course-card .course-info:hover{box-shadow:none}
.course-detail .course-hero{background:var(--course-gradient);color:var(--course-accent)}
.course-detail .course-hero h1,.course-detail .course-back,.course-detail .code-toggle,.course-detail .course-tabs button[aria-current=page],.course-detail .teacher-section-heading h2,.course-detail .teacher-item-icon{color:var(--course-accent)}
.course-detail .course-tabs button[aria-current=page]::after{background:var(--course-accent)}
.course-detail .teacher-item-icon,.course-detail .course-back:hover{background:var(--course-tint)}
.course-detail .code-toggle:hover{color:var(--course-accent);filter:brightness(.8)}
.course-detail .course-hero{position:relative;padding-right:72px}.course-detail .course-hero .course-info{color:var(--course-accent);border-color:transparent}.course-detail .course-hero .course-info:hover{box-shadow:none}
/* Keep top-level page headings simple and aligned with the content below. */
.page-heading{background:transparent;min-height:0;margin-top:0;padding:48px 0 0;border-radius:0}
@media(max-width:620px){.page-heading{min-height:0;margin-top:0;padding:32px 0 0}}
.breadcrumb-link{border:0;background:transparent;padding:5px 0;color:inherit;font:inherit;cursor:pointer}.breadcrumb-link:hover{color:#174ea6;text-decoration:underline;text-underline-offset:3px}.breadcrumb-link:focus-visible{border-radius:3px}
.course-detail .course-hero{min-height:126px;align-items:center;padding-top:26px;padding-bottom:26px}
.profile-wrap{position:relative;flex:none}.profile-button{cursor:pointer}.profile-button:hover{background:#d9e8ff}.profile-popup{position:absolute;z-index:10;top:calc(100% + 10px);right:0;width:180px;padding:18px 20px;border-radius:14px;background:#fff;box-shadow:0 4px 22px #20212424;color:#5f6368;font-size:13px;transform-origin:top right;animation:profile-open 200ms ease-out both}.profile-popup[hidden]{display:none}@keyframes profile-open{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.profile-popup{animation:none}}
@media(max-width:620px){.course-detail .course-hero{min-height:112px;padding:24px 72px 24px 24px}.breadcrumb-link{font-size:inherit}}
.info-actions .delete-link{margin-right:auto}.delete-link,.delete-button{border:0;border-radius:999px;padding:11px 18px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.delete-link{color:#b3261e;background:transparent}.delete-link:hover{background:#fceeed}.delete-button{color:#fff;background:#b3261e}.delete-button:hover{background:#8c1d18}.delete-button:disabled,.cancel-delete:disabled{opacity:.6;cursor:wait}
.student-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:54px 20px 38px}.student-empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;padding:12px;background:var(--course-tint);color:var(--course-accent)}.student-empty h3{font-size:15px;margin:18px 0 8px;color:#3c4043}.student-empty p{max-width:430px;margin:0;color:#5f6368;font-size:13px;line-height:1.7}.student-empty .reference-note{margin-top:8px}.coaching-tabs{display:flex;gap:8px;margin-top:24px}.coaching-tabs button{border:0;border-radius:999px;padding:10px 16px;background:#f1f3f4;color:#5f6368;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.coaching-tabs button[aria-current=page]{background:var(--course-tint);color:var(--course-accent)}.coaching-tabs button:hover{filter:brightness(.97)}
