.zm-course { --zm-ink:#241f19; --zm-earth:#6f3d20; --zm-moss:#46513a; --zm-sand:#efe6d4; --zm-paper:#fbf7ef; --zm-line:rgba(36,31,25,.16); color:var(--zm-ink); font-family:inherit; max-width:1160px; margin:0 auto; padding:40px 22px 72px; }
.zm-course * { box-sizing:border-box; }
.zm-course__hero { background:linear-gradient(135deg,#2f251c,#4c3322 58%,#34402e); color:#fff8ea; padding:clamp(32px,7vw,78px); border-radius:28px; overflow:hidden; position:relative; }
.zm-course-page .entry-header { display:none; }
.zm-course__hero h1 { color:#fff8ea; }
.zm-course__hero:after { content:""; position:absolute; width:300px; height:300px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-90px; top:-120px; box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 76px rgba(255,255,255,.025); }
.zm-course__eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:.75rem; font-weight:700; margin:0 0 12px; opacity:.75; }
.zm-course h1 { font-size:clamp(2.5rem,7vw,5.8rem); line-height:.94; margin:0 0 22px; letter-spacing:-.04em; }
.zm-course__lead { max-width:720px; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.6; margin:0; position:relative; z-index:1; }
.zm-course__hero.is-student { padding:clamp(30px,5vw,58px); }
.zm-progress { height:8px; max-width:520px; background:rgba(255,255,255,.15); border-radius:99px; margin-top:30px; overflow:hidden; }
.zm-progress span { display:block; height:100%; background:#d6b679; border-radius:inherit; }
.zm-course__progress-text { font-size:.88rem; margin:9px 0 0; opacity:.78; }
.zm-access-card { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; background:var(--zm-sand); margin:24px 0 42px; border-radius:20px; padding:28px; }
.zm-access-card.is-account { border:1px solid rgba(70,81,58,.2); background:linear-gradient(135deg,#e9edde,#f4ead8); }
.zm-access-card.is-account .zm-course__eyebrow { color:var(--zm-moss); opacity:1; }
.zm-access-card h2 { margin:0 0 8px; font-size:1.55rem; }
.zm-access-card p { margin:0; line-height:1.55; max-width:680px; }
.zm-access-card__actions { display:flex; gap:10px; flex-wrap:wrap; }
.zm-student-dashboard { position:relative; z-index:2; margin:-20px 22px 42px; border:1px solid rgba(36,31,25,.1); border-radius:22px; background:#fffdf8; box-shadow:0 18px 45px rgba(45,34,24,.12); overflow:hidden; }
.zm-dashboard-user { display:grid; grid-template-columns:64px 1fr auto; gap:15px; align-items:center; padding:20px 24px; border-bottom:1px solid var(--zm-line); }
.zm-dashboard-user img { display:block; width:64px; height:64px; border-radius:50%; object-fit:cover; border:3px solid #eee3cf; }
.zm-dashboard-user p { margin:0 0 2px; color:#807468; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
.zm-dashboard-user h2 { margin:0; font-size:1.45rem; }
.zm-dashboard-user__actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-wrap:wrap; }
.zm-dashboard-user__actions>a { color:var(--zm-earth); font-size:.82rem; font-weight:750; text-decoration:none; }
.zm-dashboard-user.zm-student-profile { margin:0; padding:20px 24px; border:0; border-bottom:1px solid var(--zm-line); border-radius:0; background:transparent; }
.zm-dashboard-profile-form { grid-column:1/-1; grid-template-columns:minmax(220px,1fr) minmax(220px,1fr); width:100%; }
.zm-dashboard-profile-form>div,.zm-dashboard-profile-form>.zm-form-status { grid-column:1/-1; }
.zm-dashboard-overview { display:grid; grid-template-columns:130px minmax(220px,.8fr) minmax(330px,1.5fr); gap:24px; align-items:center; padding:26px; }
.zm-progress-ring { display:grid; place-items:center; width:116px; height:116px; border-radius:50%; background:conic-gradient(#8e6b3e calc(var(--zm-progress) * 1%),#e9e2d5 0); }
.zm-progress-ring:before { content:""; grid-area:1/1; width:88px; height:88px; border-radius:50%; background:#fffdf8; }
.zm-progress-ring>span { grid-area:1/1; z-index:1; display:grid; text-align:center; line-height:1.05; }
.zm-progress-ring strong { font-size:1.65rem; }
.zm-progress-ring small { margin-top:5px; color:#807468; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.zm-dashboard-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.zm-dashboard-stats div { min-width:0; padding:14px 10px; border-radius:13px; background:#f4efe6; text-align:center; }
.zm-dashboard-stats strong,.zm-dashboard-stats span { display:block; }
.zm-dashboard-stats strong { color:var(--zm-earth); font-size:1.08rem; }
.zm-dashboard-stats span { margin-top:3px; color:#807468; font-size:.7rem; }
.zm-continue-card { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; min-height:142px; padding:24px; border-radius:18px; background:linear-gradient(135deg,#263124,#48533b); color:#fff9eb; box-shadow:0 12px 26px rgba(42,52,37,.16); }
.zm-continue-card p { margin:0 0 5px; color:#d9c89f; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.zm-continue-card>div>span { color:#c4cbbd; font-size:.78rem; }
.zm-continue-card h3 { margin:5px 0 0; color:#fff; font-size:clamp(1.05rem,2vw,1.35rem); line-height:1.25; }
.zm-continue-card .zm-button { gap:8px; align-self:end; border-color:#d7b875; background:#d7b875; color:#2b261f!important; white-space:nowrap; }
.zm-button,.zm-complete-button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--zm-earth); background:var(--zm-earth); color:#fff!important; border-radius:999px; padding:12px 20px; text-decoration:none!important; font-weight:700; cursor:pointer; }
.zm-button--ghost { background:transparent; color:var(--zm-earth)!important; }
.zm-button--small { padding:10px 17px; font-size:.84rem; white-space:nowrap; }
.zm-modules { display:grid; gap:18px; margin-top:36px; }
.zm-module { background:var(--zm-paper); border:1px solid var(--zm-line); border-radius:22px; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.zm-module[open] { border-color:rgba(111,61,32,.28); box-shadow:0 12px 30px rgba(50,36,24,.07); }
.zm-module__heading { display:flex; gap:18px; align-items:center; min-height:108px; margin:0; padding:24px 28px; cursor:pointer; list-style:none; user-select:none; }
.zm-module__heading::-webkit-details-marker { display:none; }
.zm-module__heading>span { display:grid; place-items:center; width:52px; height:52px; flex:0 0 52px; border-radius:50%; background:var(--zm-moss); color:white; font-weight:800; }
.zm-module__heading p { margin:0 0 2px; color:#74685b; font-size:.82rem; }
.zm-module__heading h2 { margin:0; font-size:clamp(1.35rem,3vw,2rem); }
.zm-module__summary-progress { display:grid; grid-template-columns:auto 94px; gap:10px; align-items:center; margin-left:auto; color:var(--zm-moss); font-size:.78rem; white-space:nowrap; }
.zm-module__summary-progress>span { width:94px; height:7px; border-radius:99px; background:#e2ddd2; overflow:hidden; }
.zm-module__summary-progress i { display:block; height:100%; border-radius:inherit; background:var(--zm-moss); }
.zm-module__chevron { width:12px; height:12px; margin-left:4px; border-right:2px solid #817569; border-bottom:2px solid #817569; transform:rotate(45deg); transition:transform .2s; }
.zm-module[open] .zm-module__chevron { transform:rotate(225deg); }
.zm-lessons { list-style:none; margin:0; padding:0 28px 24px; border-top:1px solid var(--zm-line); }
.zm-lesson-row { display:grid; grid-template-columns:40px 1fr auto; gap:14px; align-items:center; padding:15px 0; border-bottom:1px solid var(--zm-line); }
.zm-lesson-row__state { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--zm-line); font-size:.82rem; font-weight:700; }
.zm-lesson-row.is-done { margin-inline:-12px; padding-inline:12px; border-radius:12px; background:#eef1e8; }
.zm-lesson-row.is-done .zm-lesson-row__state,.zm-lesson-row.is-preview.is-done .zm-lesson-row__state { border-color:var(--zm-moss); background:var(--zm-moss); color:#fff; }
.zm-lesson-row.is-done a,.zm-lesson-row.is-done>div>span { color:var(--zm-moss); }
.zm-lesson-row.is-done .zm-lesson-row__lock { color:var(--zm-moss); font-weight:800; }
.zm-lesson-row p { margin:0 0 2px; font-size:.73rem; color:#7e7164; text-transform:uppercase; letter-spacing:.05em; }
.zm-lesson-row a,.zm-lesson-row>div>span { color:var(--zm-ink); text-decoration:none!important; font-weight:650; line-height:1.35; }
.zm-lesson-row a:hover { color:var(--zm-earth); text-decoration:underline; }
.zm-lesson-row__lock { display:inline-flex; align-items:center; justify-content:center; justify-self:end; min-height:30px; padding:5px 10px; border-radius:999px; background:#eee8dc; color:#6f655a; font-size:.76rem; font-weight:700; white-space:nowrap; }
.zm-lesson-row.is-preview { grid-template-columns:58px 1fr auto; gap:20px; margin:18px 0; padding:24px; border:1px solid rgba(111,61,32,.28); border-radius:18px; background:linear-gradient(135deg,#f2e4c8,#fbf5e9 62%,#e7ecdf); box-shadow:0 12px 28px rgba(50,36,24,.08); }
.zm-lesson-row.is-preview.is-done { border-color:rgba(70,81,58,.45); background:linear-gradient(135deg,#e3ead9,#f5f4e9 62%,#e8eddf); }
.zm-lesson-row.is-preview .zm-lesson-row__state { width:48px; height:48px; border:0; background:var(--zm-earth); color:#fff; font-size:1rem; }
.zm-lesson-row.is-preview p { color:var(--zm-earth); font-weight:800; }
.zm-lesson-row.is-preview a:not(.zm-button) { display:block; font-size:clamp(1.15rem,2.4vw,1.5rem); line-height:1.25; }
.zm-lesson-row small { display:block; margin-top:7px; color:#6f655a; font-size:.86rem; line-height:1.45; }
.zm-auth-is-open { overflow:hidden; }
.zm-auth-modal[hidden] { display:none; }
.zm-auth-modal { position:fixed; inset:0; z-index:999999; display:grid; place-items:center; padding:20px; }
.zm-auth-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(24,20,16,.68); backdrop-filter:blur(4px); cursor:pointer; }
.zm-auth-card { position:relative; z-index:1; width:min(100%,540px); max-height:calc(100vh - 40px); overflow:auto; padding:clamp(24px,5vw,40px); border-radius:24px; background:var(--zm-paper); box-shadow:0 28px 80px rgba(0,0,0,.3); }
.zm-auth-card h2 { margin:0 52px 8px 0; font-size:clamp(1.7rem,4vw,2.4rem); }
.zm-auth-intro { margin:0 46px 22px 0; color:#6f655a; line-height:1.55; }
.zm-auth-card__close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:40px; height:40px; margin:0; padding:0; border:0; border-radius:50%; background:#eee5d6; color:var(--zm-ink); cursor:pointer; appearance:none; }
.zm-auth-card__close span,.zm-auth-card__close span:after { display:block; width:17px; height:2px; border-radius:2px; background:currentColor; transform:rotate(45deg); content:""; }
.zm-auth-card__close span:after { transform:rotate(90deg); }
.zm-auth-card__close:hover { background:#e3d5bf; }
.zm-auth-card__close:focus-visible { outline:3px solid rgba(111,61,32,.3); outline-offset:2px; }
.zm-auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:5px; margin-bottom:22px; border-radius:14px; background:#eee5d6; }
.zm-auth-tabs button { border:0; padding:11px 10px; border-radius:10px; background:transparent; color:#6d6256; font:inherit; font-weight:750; cursor:pointer; }
.zm-auth-tabs button.is-active { background:#fff; color:var(--zm-earth); box-shadow:0 2px 9px rgba(50,36,24,.08); }
.zm-auth-form { display:none; }
.zm-auth-form.is-active { display:grid; gap:15px; }
.zm-auth-form>label:not(.zm-auth-check) { display:grid; gap:6px; color:#544b42; font-size:.88rem; font-weight:700; }
.zm-auth-form label em { color:#8a7d70; font-size:.76rem; font-style:normal; font-weight:500; }
.zm-auth-form input[type="text"],.zm-auth-form input[type="email"],.zm-auth-form input[type="password"] { width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--zm-line); border-radius:11px; background:#fff; color:var(--zm-ink); font:inherit; }
.zm-auth-form input:focus { outline:2px solid rgba(111,61,32,.25); border-color:var(--zm-earth); }
.zm-password-field { position:relative; display:block; }
.zm-password-field input { padding-right:88px!important; }
.zm-password-field button { position:absolute; top:50%; right:8px; transform:translateY(-50%); min-height:34px; padding:4px 8px; border:0; border-radius:7px; background:transparent; color:var(--zm-earth); font:inherit; font-size:.76rem; font-weight:750; cursor:pointer; }
.zm-password-field button:hover { background:#f3ecdf; }
.zm-auth-check { display:flex; gap:9px; align-items:flex-start; color:#665c52; font-size:.8rem; line-height:1.45; }
.zm-auth-check input { margin-top:3px; }
.zm-auth-check a { color:var(--zm-earth); }
.zm-auth-form .zm-button { width:100%; margin-top:2px; }
button.zm-auth-link { justify-self:center; min-height:0; border:0!important; padding:2px 6px!important; background:transparent!important; box-shadow:none!important; color:var(--zm-earth)!important; font:inherit; font-size:.84rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.zm-auth-panel-copy { margin:0 0 3px; color:#6f655a; line-height:1.55; }
.zm-auth-panel-copy strong { color:var(--zm-ink); font-size:1.15rem; }
.zm-auth-form .zm-form-status { margin:0; text-align:center; font-size:.86rem; }
.zm-auth-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.zm-auth-note { margin:20px 0 0; padding-top:17px; border-top:1px solid var(--zm-line); color:#786d62; font-size:.8rem; line-height:1.5; }
.zm-lesson-page { max-width:940px; }
.zm-lesson-page__nav { margin-bottom:18px; }
.zm-lesson-page__nav a { color:var(--zm-earth); font-weight:700; text-decoration:none; }
.zm-lesson-card { background:var(--zm-paper); border:1px solid var(--zm-line); border-radius:28px; padding:clamp(24px,6vw,64px); }
.zm-lesson-card h1 { font-size:clamp(2rem,5vw,4rem); line-height:1.05; }
.zm-lesson-content { font-size:1.08rem; line-height:1.75; }
.zm-lesson-content h2 { margin-top:2.2em; line-height:1.2; }
.zm-lesson-photo { margin:34px 0; }
.zm-lesson-photo img { display:block; width:100%; max-height:680px; object-fit:cover; border-radius:18px; box-shadow:0 14px 34px rgba(37,29,22,.12); }
.zm-lesson-photo--portrait img { width:min(100%,620px); margin-inline:auto; max-height:760px; object-position:center; }
.zm-video { aspect-ratio:16/9; margin:28px 0; background:#111; border-radius:16px; overflow:hidden; }
.zm-video iframe { width:100%; height:100%; border:0; }
.zm-lesson-videos { margin-top:42px; }
.zm-lesson-video + .zm-lesson-video { margin-top:46px; padding-top:38px; border-top:1px solid var(--zm-line); }
.zm-lesson-video h2 { margin-bottom:10px; font-size:clamp(1.45rem,3vw,2.2rem); }
.zm-complete-button { margin-top:32px; }
.zm-complete-button.is-complete { background:var(--zm-moss); border-color:var(--zm-moss); }
.zm-complete-button:disabled { opacity:.55; cursor:wait; }
.zm-completion-notice { display:none; grid-template-columns:42px 1fr auto; gap:14px; align-items:center; margin-top:16px; padding:18px; border:1px solid rgba(70,81,58,.28); border-radius:16px; background:#e9edde; }
.zm-completion-notice.is-visible { display:grid; }
.zm-completion-notice>span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--zm-moss); color:#fff; font-size:1.15rem; font-weight:800; }
.zm-completion-notice strong { color:var(--zm-moss); }
.zm-completion-notice p { margin:3px 0 0; color:#5f6956; font-size:.88rem; line-height:1.45; }
.zm-completion-notice a { color:var(--zm-earth); font-weight:750; white-space:nowrap; }
.zm-learning-section { margin-top:42px; padding-top:38px; border-top:1px solid var(--zm-line); }
.zm-section-heading { display:grid; grid-template-columns:1fr minmax(220px,360px); gap:24px; align-items:end; margin-bottom:24px; }
.zm-section-heading h2 { margin:0; font-size:clamp(1.55rem,3vw,2.25rem); }
.zm-discussion .zm-section-heading h2 { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.zm-section-heading h2 .zm-discussion-count { display:inline-grid; place-items:center; min-width:30px; height:30px; padding:0 8px; margin:0; border-radius:99px; background:var(--zm-sand); font-size:.8rem; line-height:1; }
.zm-section-heading>p { margin:0; color:#74685b; line-height:1.5; }
.zm-empty { padding:24px; border:1px dashed var(--zm-line); border-radius:14px; color:#74685b; }
.zm-comment { display:grid; grid-template-columns:44px 1fr; gap:12px; margin:0 0 18px; margin-left:calc(var(--depth) * 38px); }
.zm-comment__avatar img,.zm-student-profile__summary img { border-radius:50%; display:block; object-fit:cover; }
.zm-comment__body { padding:14px 16px; background:#fff; border:1px solid var(--zm-line); border-radius:4px 16px 16px; }
.zm-comment.is-author .zm-comment__body { background:#f3ead8; border-color:rgba(111,61,32,.3); }
.zm-comment__body header { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; }
.zm-comment__body time { color:#887b6e; font-size:.76rem; }
.zm-comment__body p { margin:8px 0; line-height:1.55; }
.zm-comment__image { display:block; margin:12px 0; width:min(100%,520px); }
.zm-comment__image img { display:block; width:100%; max-height:480px; object-fit:cover; border-radius:12px; }
.zm-comment__actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:10px; }
.zm-comment__action { border:0!important; padding:0!important; background:transparent!important; box-shadow:none!important; color:var(--zm-earth)!important; font:inherit; font-size:.82rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.zm-comment__action.is-delete { color:#9b3b31!important; }
.zm-comment-edit textarea { width:100%; margin:10px 0; padding:12px; border:1px solid var(--zm-line); border-radius:10px; font:inherit; resize:vertical; }
.zm-comment-edit>div { display:flex; align-items:center; gap:14px; }
.zm-discussion-form,.zm-homework-form { margin-top:22px; padding:20px; border-radius:18px; background:#fff; border:1px solid var(--zm-line); }
.zm-discussion-form textarea,.zm-homework-form textarea { width:100%; border:1px solid var(--zm-line); border-radius:12px; padding:14px; margin:0 0 12px; font:inherit; resize:vertical; }
.zm-replying { color:var(--zm-earth); font-size:.86rem; }
.zm-replying button { border:0; background:none; text-decoration:underline; cursor:pointer; }
.zm-discussion-form__footer { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.zm-discussion-image { display:flex; flex-direction:column; align-items:flex-start; gap:2px; color:var(--zm-earth); font-size:.86rem; font-weight:700; cursor:pointer; }
.zm-discussion-image input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.zm-discussion-image small { color:#887b6e; font-size:.72rem; font-weight:500; }
.zm-student-profile { margin-top:24px; padding:16px 18px; border:1px solid var(--zm-line); border-radius:16px; background:#f5eddf; }
.zm-student-profile__summary { display:flex; align-items:center; gap:12px; }
.zm-student-profile__summary div { display:grid; gap:2px; }
.zm-student-profile__summary span { color:#796e62; font-size:.78rem; }
.zm-student-profile>.zm-comment__action { margin:10px 0 0 60px; }
.zm-profile-form { display:grid; gap:13px; margin-top:16px; padding-top:16px; border-top:1px solid var(--zm-line); }
.zm-profile-form[hidden] { display:none; }
.zm-profile-form label { display:grid; gap:6px; color:#544b42; font-size:.86rem; font-weight:700; }
.zm-profile-form input[type="text"] { min-height:46px; padding:10px 12px; border:1px solid var(--zm-line); border-radius:10px; font:inherit; }
.zm-profile-form small { color:#887b6e; font-weight:500; }
.zm-profile-form>div { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.zm-form-status { display:inline-block; margin:0 0 0 12px; font-weight:700; }
.zm-form-status.is-error { color:#a72f2f; }
.zm-form-status.is-success { color:#2f6d42; }
.zm-homework__instructions { padding:22px; background:var(--zm-sand); border-radius:16px; line-height:1.65; }
.zm-homework__instructions p:first-child { margin-top:0; }
.zm-homework__instructions p:last-child { margin-bottom:0; }
.zm-homework-form>label>strong { display:block; margin-bottom:8px; }
.zm-upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:10px 0 18px; }
.zm-upload { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:16px; border:1px dashed var(--zm-line); border-radius:14px; }
.zm-upload input { max-width:100%; }
.zm-upload span { color:#807366; font-size:.78rem; }
.zm-record { border:1px solid var(--zm-earth); background:transparent; color:var(--zm-earth); border-radius:99px; padding:8px 13px; cursor:pointer; font-weight:700; }
.zm-record.is-recording { background:#9b2c2c; color:white; border-color:#9b2c2c; }
.zm-confirm { display:flex; gap:9px; align-items:flex-start; margin:0 0 18px; line-height:1.4; }
.zm-submission { margin:18px 0; padding:20px; border-radius:16px; background:#fff; border:1px solid var(--zm-line); }
.zm-submission.is-accepted { border-color:rgba(47,109,66,.45); box-shadow:inset 4px 0 #2f6d42; }
.zm-submission.is-needs_revision { border-color:rgba(167,47,47,.45); box-shadow:inset 4px 0 #a72f2f; }
.zm-submission header { display:flex; justify-content:space-between; gap:12px; }
.zm-submission time { color:#807366; font-size:.8rem; }
.zm-submission__answer { margin-top:14px; }
.zm-submission__files { display:flex; gap:10px; flex-wrap:wrap; }
.zm-submission__files a { color:var(--zm-earth); font-weight:700; }
.zm-submission__notice { margin-top:14px; padding:10px 12px; background:#f7f0df; border-radius:8px; font-size:.87rem; }
.zm-feedback { margin-top:16px; padding:15px; border-radius:12px; background:#edf3e9; }
.zm-feedback strong { display:block; margin-bottom:5px; }
.zm-quiz-result { display:flex; justify-content:space-between; gap:16px; padding:16px; margin-bottom:20px; background:#f7e7e4; border-radius:12px; }
.zm-quiz-result.is-passed { background:#e8f1e5; }
.zm-question { margin:0 0 20px; padding:20px; border:1px solid var(--zm-line); border-radius:16px; }
.zm-question legend { display:flex; gap:10px; align-items:flex-start; padding:0 8px; font-weight:800; font-size:1.05rem; }
.zm-question legend span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:var(--zm-moss); color:#fff; font-size:.75rem; }
.zm-question label { display:flex; gap:10px; margin:10px 0; padding:10px 12px; border-radius:10px; background:#fff; cursor:pointer; }
.zm-question input { margin-top:4px; }
@media (max-width:980px) and (min-width:701px) { .zm-dashboard-overview { grid-template-columns:130px 1fr; } .zm-continue-card { grid-column:1/-1; } }
@media (max-width:700px) { .zm-course { padding:22px 14px 52px; } .zm-course__hero.is-student { padding:28px 22px 44px; } .zm-access-card { grid-template-columns:1fr; } .zm-access-card__actions,.zm-access-card__actions .zm-button { width:100%; } .zm-student-dashboard { margin:-18px 8px 30px; } .zm-dashboard-user,.zm-dashboard-user.zm-student-profile { grid-template-columns:48px 1fr; padding:16px; } .zm-dashboard-user img { width:48px; height:48px; } .zm-dashboard-user h2 { font-size:1.15rem; } .zm-dashboard-user__actions { grid-column:1/-1; justify-content:flex-start; padding-left:63px; } .zm-dashboard-profile-form { grid-template-columns:1fr; padding-top:14px; } .zm-dashboard-profile-form>div,.zm-dashboard-profile-form>.zm-form-status { grid-column:1; } .zm-dashboard-overview { grid-template-columns:1fr; gap:16px; padding:18px; } .zm-progress-ring { justify-self:center; width:88px; height:88px; } .zm-progress-ring:before { width:66px; height:66px; } .zm-progress-ring strong { font-size:1.22rem; } .zm-dashboard-stats { width:100%; grid-template-columns:repeat(3,1fr); } .zm-dashboard-stats div { padding:11px 5px; } .zm-dashboard-stats span { white-space:nowrap; } .zm-continue-card { grid-column:1/-1; grid-template-columns:1fr; min-height:0; padding:19px; } .zm-continue-card .zm-button { width:100%; } .zm-module__heading { align-items:center; min-height:92px; padding:18px; } .zm-module__heading>span { width:44px; height:44px; flex-basis:44px; } .zm-module__heading h2 { font-size:1.12rem; } .zm-module__summary-progress { display:none; } .zm-lessons { padding:0 16px 18px; } .zm-lesson-row { grid-template-columns:34px 1fr; } .zm-lesson-row__lock { grid-column:2; justify-self:start; } .zm-lesson-row.is-preview { grid-template-columns:44px 1fr; padding:18px; gap:13px; } .zm-lesson-row.is-preview .zm-lesson-row__state { width:40px; height:40px; } .zm-lesson-row.is-preview .zm-button { grid-column:2; justify-self:start; } .zm-completion-notice { grid-template-columns:42px 1fr; } .zm-completion-notice a { grid-column:2; } .zm-auth-modal { padding:0; align-items:end; } .zm-auth-card { width:100%; max-height:92dvh; padding:26px 20px 24px; border-radius:22px 22px 0 0; } .zm-auth-card__close { top:12px; right:12px; } .zm-auth-intro { margin-right:36px; } .zm-lesson-card { border-radius:20px; } .zm-lesson-photo { margin:26px 0; } }
@media (max-width:700px) { .zm-section-heading,.zm-upload-grid { grid-template-columns:1fr; } .zm-comment { margin-left:calc(var(--depth) * 8px); grid-template-columns:34px 1fr; } .zm-comment__avatar img { width:34px; height:34px; } .zm-submission header,.zm-quiz-result,.zm-discussion-form__footer { flex-direction:column; align-items:stretch; } .zm-discussion-form__footer .zm-button { width:100%; } .zm-discussion-image { padding:9px 0; } .zm-form-status { display:block; margin:10px 0 0; } }
