.callout{border:none;border-radius:0;gap:16px;margin:32px 0;padding:22px 24px;display:flex;position:relative;overflow:hidden}.callout:before{content:"";border-radius:2px 0 0 2px;width:4px;position:absolute;top:0;bottom:0;left:0}.callout-icon{width:34px;height:34px;font-family:var(--font-mono);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 8px #0000001f}.callout[data-tone=info]{background:linear-gradient(135deg,#eef0fc 0%,#f2f3fb 100%)}.callout[data-tone=info]:before{background:linear-gradient(#010485,#4f46e5)}.callout[data-tone=info] .callout-icon{background:var(--brand-gradient);color:#fff}.callout[data-tone=warn]{background:linear-gradient(135deg,#fdf4e3 0%,#fbf2df 100%)}.callout[data-tone=warn]:before{background:linear-gradient(#c07a00,#a8680a)}.callout[data-tone=warn] .callout-icon{background:var(--warn);color:#fff}.callout[data-tone=success]{background:linear-gradient(135deg,#e8f5ee 0%,#e6f4ec 100%)}.callout[data-tone=success]:before{background:linear-gradient(#0aad60,#0b8a4c)}.callout[data-tone=success] .callout-icon{background:var(--success);color:#fff}.block-style-wrap[data-block-bg="1"]>.callout{background:0 0}.callout-title{margin-bottom:6px;font-size:18px;font-weight:700}.callout-body{font-size:18px;line-height:1.65}.callout-body p:last-child{margin-bottom:0}.keyterm{border:1px solid var(--brand-ink-soft);background:linear-gradient(135deg, var(--bg-elev) 0%, var(--brand-ink-softer) 100%);box-shadow:var(--shadow-sm);border-radius:0;margin:28px 0;padding:24px 28px 24px 36px;position:relative;overflow:hidden}.keyterm:before{content:"";background:linear-gradient(#010485,#4f46e5,#7c3aed);border-radius:3px 0 0 3px;width:5px;position:absolute;top:0;bottom:0;left:0}.keyterm-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-ink);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.keyterm-label:before{content:"◆";opacity:.6;font-size:8px}.keyterm-term{letter-spacing:-.01em;margin-bottom:10px;font-size:23px;font-weight:800}.keyterm-def{color:var(--text);font-size:19px;line-height:1.65}.gloss{border-bottom:1px dotted var(--brand-ink);cursor:help;color:var(--brand-ink);font-weight:500;position:relative}.gloss-pop{color:#fff;width:260px;box-shadow:var(--shadow-lg);z-index:20;opacity:0;pointer-events:none;background:#0a0a14;border-radius:8px;padding:10px 12px;font-size:16px;font-weight:400;line-height:1.5;transition:opacity .16s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.gloss-pop:after{content:"";border:6px solid #0000;border-top-color:#0a0a14;position:absolute;top:100%;left:50%;transform:translate(-50%)}.gloss:hover .gloss-pop,.gloss:focus .gloss-pop{opacity:1}.image-block{margin:28px 0}.image-frame{border-radius:var(--mialo-image-radius,0);position:relative;overflow:hidden}.image-block-img{border-radius:inherit;object-fit:var(--mialo-image-fit,cover);width:100%;height:auto;display:block}.image-ph{aspect-ratio:16/9;border-radius:inherit;background:var(--brand-gradient-soft);font-family:var(--font-mono);letter-spacing:.06em;color:var(--brand-ink);opacity:.85;text-align:center;border:none;justify-content:center;align-items:center;padding:20px;font-size:13px;display:flex;position:relative;overflow:hidden}.image-ph:before{content:"";background-image:linear-gradient(#0104850f 1px,#0000 1px),linear-gradient(90deg,#0104850f 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0}.image-ph>*{position:relative}.image-caption{z-index:2;box-sizing:border-box;max-width:calc(100% - (var(--mialo-image-caption-margin,16px) * 2));max-height:calc(100% - (var(--mialo-image-caption-margin,16px) * 2));overflow-wrap:anywhere;word-break:normal;background:var(--mialo-image-caption-bg,transparent);box-shadow:var(--mialo-image-caption-shadow,none);color:var(--text);text-align:center;border-radius:0;padding:0;font-size:15px;font-style:normal;line-height:1;position:absolute;overflow:auto}.image-caption .rt-body,.image-caption .rt-body :is(p,ul,ol){margin:0;padding:0;line-height:1}.image-caption .rt-body :is(ul,ol){text-align:left;padding-left:1.2em}.image-caption[data-placement=top]{top:var(--mialo-image-caption-margin,16px);right:var(--mialo-image-caption-margin,16px);left:var(--mialo-image-caption-margin,16px)}.image-caption[data-placement=bottom]{right:var(--mialo-image-caption-margin,16px);bottom:var(--mialo-image-caption-margin,16px);left:var(--mialo-image-caption-margin,16px)}.image-caption[data-placement=left]{top:50%;left:var(--mialo-image-caption-margin,16px);width:max-content;max-width:calc(100% - (var(--mialo-image-caption-margin,16px) * 2));text-align:left;transform:translateY(-50%)}.image-caption[data-placement=right]{top:50%;right:var(--mialo-image-caption-margin,16px);width:max-content;max-width:calc(100% - (var(--mialo-image-caption-margin,16px) * 2));text-align:right;transform:translateY(-50%)}.image-caption[data-placement=center]{width:max-content;max-width:calc(100% - (var(--mialo-image-caption-margin,16px) * 2));top:50%;left:50%;transform:translate(-50%,-50%)}.data-table{border-collapse:collapse;width:100%;font-family:inherit;font-size:var(--mialo-table-font-size,18px);border:1px solid var(--mialo-table-border-color,var(--border));box-shadow:var(--shadow-sm);border-radius:0;margin:32px 0;overflow:hidden}.block-style-wrap>.data-table-wrap>.data-table{margin:0}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--mialo-table-border-color,var(--border));border-right:1px solid var(--mialo-table-border-color,var(--border));padding:13px 16px}.data-table th:last-child,.data-table td:last-child{border-right:none}.data-table td{background:var(--mialo-table-cell-bg,transparent)}.data-table th{background:var(--mialo-table-header-bg,linear-gradient(90deg, var(--bg-sunken) 0%, #f0f0f4 100%));font-weight:700;font-size:var(--mialo-table-header-font-size,12px);text-transform:uppercase;letter-spacing:.07em;color:var(--mialo-table-header-color,var(--text-muted));font-family:inherit}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:nth-child(2n) td{background:var(--mialo-table-stripe-bg,var(--mialo-table-cell-bg,transparent))}.data-table tbody tr:hover td{background:var(--brand-ink-softer)}.em-table-editor{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}.em-table-edit{border-collapse:collapse;width:100%;font-size:15px}.em-te-row-gutter{background:var(--bg-sunken);border-right:1px solid var(--border);text-align:center;vertical-align:middle;width:28px;padding:0}.em-te-del-row{color:var(--text-faint);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 5px;font-size:13px;line-height:1}.em-te-del-row:hover{background:var(--danger-soft);color:var(--danger)}.em-te-th{background:var(--brand-ink);vertical-align:middle;border:1px solid #ffffff26;padding:0}.em-te-head-wrap{align-items:center;display:flex}.em-te-head-input{color:#fff;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;background:0 0;border:none;outline:none;width:100%;min-width:80px;padding:10px;font-size:12px;font-weight:700}.em-te-head-input::placeholder{color:#ffffff59}.em-te-head-input:focus{background:#ffffff1a}.em-te-del-col{color:#fff6;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 8px;font-size:14px;line-height:1}.em-te-del-col:hover{color:#fff}.em-te-add-col-cell{background:var(--brand-ink);border:1px solid #fff3;width:40px;padding:0}.em-te-add-col-btn{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:100%;min-height:38px;font-size:22px;font-weight:700;transition:background .12s;display:flex}.em-te-add-col-btn:hover{background:#ffffff2e}tbody .em-te-add-col-cell{background:var(--bg-sunken);border-color:var(--border)}tbody .em-te-add-col-cell .em-te-add-col-btn{color:var(--brand-ink);font-size:20px}tbody .em-te-add-col-cell .em-te-add-col-btn:hover{background:var(--brand-ink-softer)}.em-te-td{border:1px solid var(--border);vertical-align:top;padding:0}.em-te-input{background:0 0;border:none;outline:none;width:100%}.em-te-cell-anchor{position:relative}.em-te-th .em-rich-wrap,.em-te-td .em-rich-wrap{display:block}.em-te-th .em-rich-editor{color:#fff;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;background:0 0;border:none;outline:none;min-width:80px;min-height:38px;padding:10px;font-size:12px;font-weight:700}.em-te-th .em-rich-editor:focus{background:#ffffff1a}.em-te-th .em-rich-editor:empty:before{color:#ffffff59}.em-te-td .em-rich-editor{color:var(--text);background:0 0;border:none;outline:none;min-width:80px;min-height:36px;padding:9px 10px;font-size:15px}.em-te-td .em-rich-editor:focus{background:var(--brand-ink-softer)}.em-te-td .em-rich-editor:empty:before{color:var(--text-faint);content:attr(data-placeholder)}.em-table-edit tbody tr:hover .em-te-td{background:var(--brand-ink-softer)}.em-table-edit tbody tr:hover .em-te-cell-input:focus{background:var(--brand-ink-soft)}.em-te-add-row-tr td{background:var(--bg-sunken);border:none;padding:6px 8px}.em-te-add-row-btn{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;padding:6px 12px;font-size:13px;transition:background .12s,border-color .12s,color .12s}.em-te-add-row-btn:hover{background:var(--bg-elev);border-color:var(--brand-ink);color:var(--brand-ink)}.empty-course-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:480px;margin:0 auto;padding:80px 40px;display:flex}.empty-course-icon{border-radius:var(--radius-xl);background:var(--brand-gradient-soft);border:1px solid var(--brand-ink-soft);width:80px;height:80px;color:var(--brand-ink);box-shadow:var(--shadow-brand);justify-content:center;align-items:center;margin-bottom:28px;display:flex}.empty-course-title{letter-spacing:-.02em;margin:0 0 12px;font-size:28px;font-weight:800}.empty-course-sub{color:var(--text-muted);margin:0 0 32px;font-size:18px;line-height:1.6}.empty-course-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.flip-grid{gap:var(--mialo-flip-gap,14px);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:24px 0;display:grid}.flip-card{aspect-ratio:4/3;cursor:pointer;position:relative}.flip-inner{width:100%;height:100%;position:relative}.flip-face{border:1px solid var(--mialo-flip-border-color,var(--border));border-radius:var(--mialo-flip-radius,var(--radius));text-align:center;flex-direction:column;justify-content:center;padding:16px;transition:opacity .3s,transform .3s;display:flex;position:absolute;inset:0}.flip-front{background:var(--mialo-flip-front-bg,var(--bg-elev));box-shadow:var(--shadow-sm);opacity:1;z-index:2;transform:scale(1)}.flip-front:hover{box-shadow:var(--shadow-md)}.flip-back{background:var(--mialo-flip-back-bg,var(--brand-gradient-vivid));color:var(--mialo-flip-back-color,white);opacity:0;z-index:1;border-color:#0000;transform:scale(.96)}.flip-card[data-flipped=true] .flip-front{opacity:0;z-index:1;transform:scale(.96)}.flip-card[data-flipped=true] .flip-back{opacity:1;z-index:2;transform:scale(1)}.flip-front-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase;margin-bottom:6px;font-size:12px}.flip-front-title{font-weight:700;font-size:var(--mialo-flip-title-size,20px)}.flip-hint{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.08em;margin-top:10px;font-size:12px}.flip-back-content{font-size:var(--mialo-flip-back-size,17px);line-height:1.5}.accordion{border:1px solid var(--mialo-accordion-border-color,var(--border));border-radius:var(--mialo-accordion-radius,10px);background:var(--bg-elev);margin:20px 0;overflow:hidden}.acc-item+.acc-item{border-top:1px solid var(--mialo-accordion-border-color,var(--border))}.acc-heading{display:contents}.acc-head{text-align:left;background:var(--mialo-accordion-header-bg,#f6f6f1);width:100%;color:var(--mialo-accordion-header-color,var(--brand-ink));transition:background var(--transition-fast), color var(--transition-fast);border:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;font-size:18px;font-weight:600;display:flex}.acc-head:hover{filter:brightness(.985)}.acc-item[data-open=true] .acc-head{background:var(--mialo-accordion-header-bg,#f6f6f1);color:var(--mialo-accordion-header-color,var(--brand-ink))}.acc-icon{width:20px;height:20px;color:var(--text-faint);flex-shrink:0;transition:transform .22s cubic-bezier(.4,0,.2,1),color .22s}.acc-item[data-open=true] .acc-icon{color:var(--brand-ink);transform:rotate(45deg)}.acc-body{grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.4,0,.2,1);display:grid}.acc-body[hidden]{display:none}.acc-item[data-open=true] .acc-body{grid-template-rows:1fr}.acc-body-inner{font-size:var(--mialo-accordion-body-size,18px);padding:0 20px;line-height:1.65;overflow:hidden}.acc-item[data-open=true] .acc-body-inner{padding-top:4px;padding-bottom:20px}.tabs{margin:24px 0}.tab-list{background:0 0;border-radius:0;align-items:flex-end;gap:6px;width:100%;margin-bottom:0;padding:0;display:flex;overflow-x:auto}.tab-btn{border:1px solid var(--mialo-tabs-inactive-title-border,var(--mialo-tabs-border-color,var(--border)));box-sizing:border-box;background:var(--mialo-tabs-inactive-title-bg,var(--mialo-tab-bg,var(--bg-sunken)));min-width:0;height:75px;font-size:var(--mialo-tabs-title-size,16px);font-weight:var(--mialo-tabs-title-weight,600);color:var(--text-muted);text-align:center;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);box-shadow:none;border-bottom:0;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;padding:8px 14px;display:inline-flex;overflow:hidden}.tab-btn-label{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:100%;line-height:1.15;display:-webkit-box;overflow:hidden}.tab-btn:hover{color:var(--text);filter:brightness(.985)}.tab-btn[data-active=true]{border-color:var(--mialo-tabs-border-color,var(--border));color:var(--brand-ink);background:var(--mialo-tab-bg,var(--bg-elev));font-weight:var(--mialo-tabs-title-weight,600);box-shadow:none;z-index:2;margin-bottom:0;position:relative}.tab-panel{font-size:var(--mialo-tabs-content-size,18px);background:var(--mialo-tab-bg,var(--bg-elev));border:1px solid var(--mialo-tabs-border-color,var(--border));box-shadow:var(--shadow-sm);border-top:0;border-radius:0;padding:22px 24px;line-height:1.65}.tab-panel-content p:last-child{margin-bottom:0}.tab-panel-img{object-fit:contain;width:100%;max-height:360px;margin-top:18px;display:block}.quiz{border:1px solid var(--border);background:var(--bg-elev);box-shadow:var(--shadow-sm);border-radius:0;margin:28px 0;padding:28px}.quiz-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink);align-items:center;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.quiz-eyebrow-tag{background:var(--brand-ink);color:#fff;border-radius:4px;padding:2px 8px;font-size:9px}.quiz-q{margin-bottom:18px;font-size:18px;font-weight:600;line-height:1.4}.quiz-options{flex-direction:column;gap:8px;display:flex}.quiz-opt{border:1px solid var(--border);background:var(--bg-elev);text-align:left;color:var(--text);border-radius:0;align-items:center;gap:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:18px;transition:border-color .12s,background .12s;display:flex}.quiz-opt:hover:not([disabled]){border-color:var(--brand-ink);background:var(--brand-ink-softer)}.quiz-opt[data-state=selected]{border-color:var(--brand-ink);background:var(--brand-ink-soft)}.quiz-opt[data-state=correct]{border-color:var(--success);background:var(--success-soft);color:var(--success)}.quiz-opt[data-state=wrong]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.quiz-opt[data-state=missed]{border-color:var(--success);background:var(--success-soft);opacity:.7}.quiz-opt-marker{border:1.5px solid var(--border-strong);width:22px;height:22px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-elev);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.quiz[data-kind=multi] .quiz-opt-marker{border-radius:4px}.quiz[data-kind=single] .quiz-opt-marker{border-radius:50%}.quiz-opt[data-state=selected] .quiz-opt-marker,.quiz-opt[data-state=correct] .quiz-opt-marker{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}.quiz-opt[data-state=correct] .quiz-opt-marker{background:var(--success);border-color:var(--success)}.quiz-opt[data-state=wrong] .quiz-opt-marker{background:var(--danger);border-color:var(--danger);color:#fff}.quiz-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.em-quiz-opt-row{align-items:center;gap:8px}.em-quiz-opt-check{width:17px;height:17px;accent-color:var(--brand-ink);cursor:pointer;flex-shrink:0}.btn{background:var(--brand-gradient);color:#fff;border-radius:var(--radius);transition:box-shadow var(--transition-fast), transform var(--transition-fast), background var(--transition-fast);border:none;padding:11px 22px;font-size:16px;font-weight:600;box-shadow:0 4px 14px #01048547}.btn:hover{background:var(--brand-gradient-vivid);transform:translateY(-1px);box-shadow:0 6px 20px #01048566}.btn:active{transform:scale(.98)translateY(0);box-shadow:0 2px 8px #01048540}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--text);border:1.5px solid var(--border-strong);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--bg-sunken);box-shadow:none;transform:none}.quiz-feedback{border-radius:var(--radius);margin-top:14px;padding:12px 14px;font-size:17px;line-height:1.5}.quiz-feedback[data-kind=correct]{background:var(--success-soft);color:var(--success)}.quiz-feedback[data-kind=wrong]{background:var(--danger-soft);color:var(--danger)}.sort-game{border:1px solid var(--border);background:var(--bg-elev);border-radius:0;margin:28px 0;padding:22px}.sort-title{margin-bottom:14px;font-size:17px;font-weight:700}.sort-pool{background:var(--bg-sunken);border-radius:0;flex-wrap:wrap;gap:8px;min-height:60px;margin-bottom:16px;padding:14px;display:flex}.sort-chip{background:var(--bg-elev);border:1px solid var(--border-strong);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:0;padding:8px 16px;font-size:16px;transition:transform .12s,box-shadow .12s}.sort-chip:active{cursor:grabbing;box-shadow:var(--shadow-md);transform:scale(1.04)}.sort-chip[data-dragging=true]{opacity:.4}.sort-bins{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.sort-bin{border:2px dashed var(--border-strong);border-radius:0;min-height:140px;padding:14px;transition:border-color .12s,background .12s}.sort-bin[data-over=true]{border-color:var(--brand-ink);background:var(--brand-ink-softer);border-style:solid}.sort-bin-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:8px;font-size:12px}.sort-bin-items{flex-wrap:wrap;gap:6px;display:flex}.sort-game[data-graded=true] .sort-chip[data-result=correct]{border-color:var(--success);background:var(--success-soft);cursor:default}.sort-game[data-graded=true] .sort-chip[data-result=incorrect]{border-color:var(--danger);background:var(--danger-soft);cursor:default}.sort-result{border:1px solid var(--border-strong);margin-top:14px;padding:12px 16px;font-size:16px;font-weight:600}.sort-result[data-pass=true]{border-color:var(--success);background:var(--success-soft);color:var(--success)}.sort-result[data-pass=false]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.sort-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.sort-submit,.sort-review,.sort-reset{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border-strong);cursor:pointer;background:var(--bg-elev);border-radius:0;padding:10px 18px;font-size:13px;transition:background .12s,border-color .12s,color .12s}.sort-submit{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}.sort-submit:hover:not(:disabled){background:var(--brand-ink-hover);border-color:var(--brand-ink-hover)}.sort-submit:disabled{opacity:.45;cursor:not-allowed}.sort-review[aria-pressed=true],.sort-review:hover,.sort-reset:hover{border-color:var(--brand-ink);color:var(--brand-ink)}.hotspot-root{margin:24px 0}.hotspot-wrap{border:1px solid var(--border);aspect-ratio:16/9;background:repeating-linear-gradient(-45deg, var(--bg-elev) 0 10px, var(--bg-sunken) 10px 20px);border-radius:0;position:relative;overflow:hidden}.hotspot-wrap[data-has-img=true]{width:min(100%, calc(600px * var(--hs-ar,1.7778)));aspect-ratio:var(--hs-ar,1.7778);background:0 0;max-height:600px;margin:0 auto}.hotspot-bg-img{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.hotspot-label{font-family:var(--font-mono);color:var(--text-muted);z-index:1;background:#ffffffb3;border-radius:20px;padding:2px 8px;font-size:13px;position:absolute;top:10px;left:12px}.hotspot-pin{left:var(--pin-x,50%);top:var(--pin-y,50%);background:var(--pin-color,var(--brand-gradient));color:#fff;cursor:pointer;z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:box-shadow .15s,transform .15s,filter .15s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #01048566}.hotspot-pin:after{content:"";pointer-events:none;will-change:transform, opacity;background:#01048573;border-radius:50%;animation:2.2s ease-out infinite pulse;position:absolute;inset:0}.hotspot-pin:hover,.hotspot-pin[data-active=true]{filter:brightness(1.12)saturate(1.15);transform:translate(-50%,-50%)scale(1.08);box-shadow:0 0 0 6px #01048533,0 4px 12px #01048566}.hotspot-pin:hover:after,.hotspot-pin[data-active=true]:after{opacity:0;animation:none}@keyframes pulse{0%{opacity:.5;transform:scale(1)}70%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}.hotspot-callout{top:var(--hc-top,200px);left:var(--hc-left,400px);z-index:9999;background:var(--bg-elev);width:530px;max-height:875px;box-shadow:var(--shadow-xl);border-radius:0;flex-direction:column;display:flex;position:fixed;overflow:visible}.hotspot-callout:before{content:"";top:var(--hc-aw,50px);z-index:1;border:10px solid #0000;width:0;height:0;position:absolute;transform:translateY(-50%)}.hotspot-callout[data-arrow=left]:before{border-right:10px solid var(--bg-elev);border-left:none;left:-10px}.hotspot-callout[data-arrow=right]:before{border-left:10px solid var(--bg-elev);border-right:none;right:-10px}.hotspot-callout-inner{flex:1;min-height:0;padding:24px 24px 16px;overflow-y:auto}.hotspot-callout-close{background:var(--bg-sunken);cursor:pointer;width:28px;height:28px;color:var(--text-muted);z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:13px;transition:background .15s;display:flex;position:absolute;top:12px;right:12px}.hotspot-callout-close:hover{background:var(--border);color:var(--text)}.hotspot-callout-title{margin-bottom:10px;padding-right:32px;font-size:18px;font-weight:700;line-height:1.3}.hotspot-callout-body{color:var(--text-muted);margin-bottom:12px;font-size:15px;line-height:1.65}.hotspot-callout-media{border-radius:var(--radius);margin-top:10px;overflow:hidden}.hotspot-callout-img{border-radius:var(--radius);width:100%;height:auto;display:block}.hotspot-callout-video{border-radius:var(--radius);width:100%}.hotspot-callout-bar{background:var(--brand-gradient);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0;height:5px}.hs-ed-upload-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hs-ed-img-name{color:var(--text-muted);font-size:13px;font-family:var(--font-mono)}.hs-ed-remove-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:#a8213b;cursor:pointer;background:0 0;padding:4px 10px;font-size:12px}.hs-ed-remove-btn:hover{background:#fae8ec}.hs-ed-stage{border:2px dashed var(--border-strong);border-radius:var(--radius);-webkit-user-select:none;user-select:none;cursor:crosshair;background:var(--bg-sunken);min-height:200px;position:relative;overflow:hidden}.hs-ed-stage[data-has-img=true]{background:var(--bg-sunken);width:min(100%, calc(600px * var(--hs-ed-ar,1.7778)));aspect-ratio:var(--hs-ed-ar,1.7778);border-style:solid;max-height:600px}.hs-ed-bg{pointer-events:none;object-fit:fill;width:100%;height:100%;display:block}.hs-ed-empty{min-height:200px;color:var(--text-faint);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex}.hs-ed-hint{color:#ffffffe6;white-space:nowrap;pointer-events:none;background:#00000080;border-radius:20px;padding:3px 12px;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.hs-ed-pin{left:var(--pin-x,50%);top:var(--pin-y,50%);background:var(--pin-color,var(--brand-gradient));color:#fff;cursor:grab;z-index:5;touch-action:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #01048566}.hs-ed-pin:active{cursor:grabbing}.hs-ed-pin[data-selected=true]{outline-offset:2px;box-shadow:0 0 0 5px var(--brand-ink), 0 2px 12px #01048580;outline:3px solid #fff}.hs-ed-pin-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);flex-direction:column;gap:10px;padding:16px;display:flex}.hs-ed-pin-panel-hdr{justify-content:space-between;align-items:center;display:flex}.hs-ed-pin-num{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:12px;font-weight:600}.hs-ed-pin-hdr-btns{align-items:center;gap:6px;display:flex}.hs-ed-pin-accept{border-radius:var(--radius-sm);color:#0b8a4c;cursor:pointer;background:0 0;border:1px solid #0b8a4c;padding:3px 8px;font-size:12px}.hs-ed-pin-accept:hover{background:#e6f4ec}.hs-ed-pin-del{border:1px solid var(--border);border-radius:var(--radius-sm);color:#a8213b;cursor:pointer;background:0 0;padding:3px 8px;font-size:12px}.hs-ed-pin-del:hover{background:#fae8ec}.hs-ed-desc-row{align-items:stretch;gap:8px;display:flex}.hs-ed-desc-text{resize:vertical;flex:1;min-width:0}.hs-ed-desc-html{flex-shrink:0;align-items:stretch;width:170px;display:flex}.hs-ed-html-upload{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-sunken);width:100%;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);cursor:pointer;text-align:center;transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 6px;display:flex}.hs-ed-html-upload:hover{border-color:var(--brand-ink);background:var(--brand-ink-softer)}.hs-ed-html-stored{border-radius:var(--radius);text-align:center;color:#0b8a4c;background:#e6f4ec;border:1.5px solid #0b8a4c;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 6px;font-size:12px;display:flex}.hs-ed-html-name{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--text);font-size:11px;overflow:hidden}.hs-ed-html-remove{cursor:pointer;color:#a8213b;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.hs-ed-html-remove:hover{color:#7a1228}.hotspot-callout-html{border:none;width:100%;min-height:120px;margin-top:12px;display:block;overflow:hidden}.hotspot-callout-audio{border-radius:var(--radius);width:100%;margin-top:12px;display:block}.hs-ed-media-trio{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.hs-ed-media-slot{flex-direction:column;gap:4px;display:flex}.hs-ed-slot-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);text-align:center;font-size:10px}.hs-ed-slot-upload{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-sunken);min-height:80px;color:var(--text-muted);font-size:11px;font-family:var(--font-mono);cursor:pointer;text-align:center;transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;display:flex}.hs-ed-slot-upload:hover{border-color:var(--brand-ink);background:var(--brand-ink-softer)}.hs-ed-slot-preview{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-height:80px;padding:8px 4px;display:flex}.hs-ed-slot-thumb{object-fit:cover;border-radius:4px;max-width:100%;max-height:56px}.hs-ed-slot-name{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text);font-size:10px;overflow:hidden}.hs-ed-slot-remove{cursor:pointer;color:var(--danger);background:0 0;border:none;padding:0;font-size:12px;line-height:1}.hs-ed-slot-remove:hover{color:#7a1228}.hs-guide-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-top:2px;overflow:hidden}.hs-guide-toggle{background:var(--bg-sunken);cursor:pointer;width:100%;font-family:var(--font-mono);color:var(--brand-ink);text-align:left;border:none;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.hs-guide-toggle:hover{background:var(--brand-ink-softer)}.hs-guide-chevron{transition:transform var(--transition-fast);margin-left:auto}.hs-guide-chevron[data-open=true]{transform:rotate(180deg)}.hs-guide-body{background:var(--bg-elev);border-top:1px solid var(--border);padding:12px}.hs-guide-desc{color:var(--text-muted);margin-bottom:10px;font-size:12px;line-height:1.5}.hs-guide-desc code{font-family:var(--font-mono);background:var(--bg-sunken);border-radius:3px;padding:1px 4px;font-size:11px}.hs-guide-code-wrap{position:relative}.hs-guide-copy{background:var(--brand-ink);color:#fff;border-radius:var(--radius-sm);font-size:11px;font-family:var(--font-mono);cursor:pointer;border:none;padding:3px 8px;position:absolute;top:6px;right:6px}.hs-guide-copy:hover{background:var(--brand-ink-hover)}.hs-guide-code{color:#cdd6f4;font-family:var(--font-mono);border-radius:var(--radius);white-space:pre;background:#1e1e2e;max-height:320px;padding:10px 12px;font-size:11px;line-height:1.55;overflow:auto}.hs-ed-section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-top:4px;font-size:11px}.hs-ed-marker-style-row{align-items:flex-start;gap:12px;display:flex}.hs-ed-marker-grid{flex-wrap:wrap;flex:1;gap:6px;display:flex}.hs-ed-undo-col{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.hs-ed-undo-btn{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s,border-color .12s}.hs-ed-undo-btn:hover{background:var(--brand-ink-softer);border-color:var(--brand-ink-soft);color:var(--brand-ink)}.hs-ed-undo-all-btn{color:var(--text-faint);border-style:dashed}.hs-ed-undo-all-btn:hover{color:var(--danger);background:var(--danger-soft);border-style:solid;border-color:var(--danger)}.hs-ed-marker-btn{border:2px solid var(--border);background:var(--bg-sunken);width:36px;height:36px;color:var(--brand-ink);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .1s,background .1s,color .1s;display:flex}.hs-ed-marker-btn[data-selected=true]{border-color:var(--brand-ink);background:var(--brand-gradient);color:#fff}.hs-ed-marker-btn:hover:not([data-selected=true]){border-color:var(--brand-ink);background:var(--brand-ink-softer)}.hs-ed-media-preview{flex-direction:column;gap:6px;display:flex}.hs-ed-media-thumb{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-sunken);width:100%;max-height:160px}.hs-ed-color-row{flex-wrap:wrap;gap:7px;display:flex}.hs-ed-color-swatch{background:var(--sw-color,#010485);cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:26px;height:26px;padding:0;transition:transform .1s,box-shadow .1s}.hs-ed-color-swatch[data-selected=true]{box-shadow:0 0 0 2px var(--bg-elev), 0 0 0 4px var(--text);transform:scale(1.18)}.hs-ed-color-swatch:hover:not([data-selected=true]){box-shadow:0 0 0 2px var(--bg-elev), 0 0 0 3px var(--border-strong);transform:scale(1.12)}.hs-ed-hex-row{align-items:center;gap:8px;margin-top:2px;display:flex}.hs-ed-hex-preview{border-radius:var(--radius-sm);border:1px solid var(--border);flex-shrink:0;width:28px;height:28px}.hs-ed-hex-input{width:110px;font-family:var(--font-mono);font-size:14px!important}.hs-ed-hex-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-size:11px}.hs-ed-color-picker-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.em-color-clear-btn{margin-top:4px}.hs-ed-color-reset{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;padding:3px 8px;font-size:12px}.hs-ed-color-reset:hover{background:var(--bg-sunken)}.compare{aspect-ratio:16/9;border-radius:var(--mialo-compare-radius,10px);border:1px solid var(--border);-webkit-user-select:none;user-select:none;touch-action:none;margin:24px 0;position:relative;overflow:hidden}.compare-pane{font-size:var(--mialo-compare-text-size,18px);justify-content:center;align-items:center;padding:28px;line-height:1.5;display:flex;position:absolute;inset:0}.compare-a{background:var(--mialo-compare-a-bg,#0a0a20);color:var(--mialo-compare-a-color,white)}.compare-b{background:var(--mialo-compare-b-bg,var(--brand-ink-softer));color:var(--mialo-compare-b-color,var(--text));clip-path:inset(0 0 0 var(--compare-pos,50%))}.compare-handle{top:0;bottom:0;left:var(--compare-pos,50%);background:var(--mialo-compare-handle-color,white);cursor:ew-resize;z-index:3;width:2px;position:absolute;transform:translate(-1px)}.compare-handle-knob{background:var(--mialo-compare-handle-color,white);width:40px;height:40px;box-shadow:var(--shadow-md);color:var(--brand-ink);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compare-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;z-index:2;border-radius:4px;padding:4px 8px;font-size:10px;position:absolute;top:12px}.compare-label-a{color:#fff;background:#0a0a128c;left:12px}.compare-label-b{background:var(--brand-ink);color:#fff;right:12px}.code-sandbox{border:1px solid var(--border);background:#0a0a14;border-radius:0;margin:24px 0;overflow:hidden}.code-header{color:#9ea0b8;font-family:var(--font-mono);background:#0f0f1c;border-bottom:1px solid #1f1f2e;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.code-dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.code-dot-red{background:#ff5f56}.code-dot-yellow{background:#ffbd2e}.code-dot-green{background:#27c93f}.code-lang-label{margin-left:8px}.code-editor{color:#e4e6f1;width:100%;font-family:var(--font-mono);resize:vertical;background:#0a0a14;border:none;outline:none;min-height:140px;padding:18px;font-size:16px;line-height:1.65}.code-actions{background:#0f0f1c;border-top:1px solid #1f1f2e;gap:10px;padding:10px 14px;display:flex}.code-output{color:#d4ecff;font-family:var(--font-mono);white-space:pre-wrap;background:#050510;border-top:1px solid #1f1f2e;max-height:220px;padding:16px 18px;font-size:16px;line-height:1.6;overflow:auto}.video-ph{aspect-ratio:16/9;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#06051a 0%,#0a0a22 50%,#12073a 100%);border-radius:0;justify-content:center;align-items:center;margin:24px 0;display:flex;position:relative;overflow:hidden}.video-ph:before{content:"";background:radial-gradient(#2c0fa84d 0%,#0000 70%),repeating-linear-gradient(45deg,#ffffff05 0 2px,#0000 2px 16px);position:absolute;inset:0}.video-play{width:72px;height:72px;color:var(--brand-ink);z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 0 40px #fff3,0 4px 20px #0006}.video-ph:hover .video-play{transform:scale(1.08);box-shadow:0 0 60px #ffffff4d,0 8px 28px #0006}.video-label{font-family:var(--font-mono);color:#fff9;z-index:1;font-size:11px;position:absolute;bottom:16px;left:18px}.ml-demo{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elev);box-shadow:var(--shadow-md);margin:28px 0;padding:24px;overflow:hidden}.ml-demo-title{margin-bottom:4px;font-size:20px;font-weight:700}.ml-demo-desc{color:var(--text-muted);margin-bottom:16px;font-size:17px}.ml-plot{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);aspect-ratio:4/3;width:100%;max-height:360px}.ml-controls{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}@media (max-width:600px){.ml-controls{grid-template-columns:1fr}}.ml-control label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:13px;display:block}.ml-control-row{align-items:center;gap:10px;display:flex}.ml-control input[type=range],.ml-control .lk-slider{flex:1}.ml-mse-val[data-mse-band=good]{color:var(--success)}.ml-mse-val[data-mse-band=ok]{color:var(--warn)}.ml-mse-val[data-mse-band=poor]{color:var(--danger)}.ml-control-val{font-family:var(--font-mono);text-align:right;min-width:52px;color:var(--brand-ink);font-size:15px;font-weight:600}.ml-stat{border-top:1px solid var(--border);font-family:var(--font-mono);gap:20px;margin-top:12px;padding:10px 0;font-size:12px;display:flex}.ml-stat-item{color:var(--text-muted)}.ml-stat-item b{color:var(--text);font-weight:700}.lesson-footer{border-top:1px solid var(--border);margin-top:72px;padding-top:32px}.takeaways{background:var(--brand-gradient-soft);border:1px solid var(--brand-ink-soft);border-radius:0;margin-bottom:32px;padding:28px 32px;position:relative;overflow:hidden}.takeaways:after{content:"";background:linear-gradient(90deg,#7c3aed 0%,#4f46e5 50%,#010485 100%);height:3px;position:absolute;bottom:0;left:0;right:0}.takeaways h3{font-size:11px;font-family:var(--font-mono);color:var(--brand-ink);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-weight:700}.takeaways ul{margin:0;padding-left:0;list-style:none}.takeaways li{align-items:flex-start;gap:10px;margin-bottom:10px;font-size:18px;line-height:1.55;display:flex}.takeaways li:before{content:"✓";color:var(--brand-ink);flex-shrink:0;margin-top:2px;font-size:14px;font-weight:700}.resources-heading{margin-top:32px}.resource-item-title{flex:1}.next-cta{border:1.5px solid var(--border);background:var(--bg-elev);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);border-radius:0;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.next-cta-link{color:inherit;margin-top:32px;text-decoration:none;display:block}.next-cta:hover{border-color:var(--brand-ink);background:var(--brand-gradient-soft);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.next-cta-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:11px}.next-cta-title{letter-spacing:-.01em;font-size:19px;font-weight:700}.next-cta-arrow{color:var(--brand-ink);background:var(--brand-ink-softer);width:40px;height:40px;transition:background var(--transition-fast), transform var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.next-cta:hover .next-cta-arrow{background:var(--brand-ink);color:#fff;transform:translate(4px)}.complete-btn{background:var(--bg-elev);border:1.5px solid var(--border-strong);color:var(--text);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border-radius:99px;align-items:center;gap:8px;margin-top:16px;padding:11px 20px;font-size:15px;font-weight:600;display:inline-flex}.complete-btn:hover{border-color:var(--brand-ink);color:var(--brand-ink);background:var(--brand-ink-softer)}.complete-btn[data-done=true]{background:var(--brand-gradient);color:#fff;border-color:#0000;box-shadow:0 4px 14px #0104854d}.complete-btn[data-done=true]:hover{transform:translateY(-1px);box-shadow:0 6px 18px #01048566}.resources{gap:8px;margin-top:24px;display:grid}.resource-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);align-items:center;gap:12px;padding:12px 14px;font-size:17px;display:flex}.resource-item:hover{border-color:var(--brand-ink)}.resource-kind{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;background:var(--bg-sunken);letter-spacing:.05em;border-radius:4px;padding:2px 6px;font-size:12px}.tutor-fab{z-index:50;background:var(--brand-gradient-vivid);color:#fff;box-shadow:var(--shadow-brand), 0 2px 8px #0000001a;border:none;border-radius:99px;align-items:center;gap:8px;padding:12px 18px 12px 14px;font-size:14px;font-weight:600;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex;position:fixed;bottom:24px;right:24px}.tutor-fab:hover{box-shadow:var(--shadow-brand), 0 4px 12px #0000001f;transform:translateY(-3px)scale(1.02)}.tutor-fab-icon{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;box-shadow:0 0 0 1px #ffffff26}.tutor-panel{background:var(--bg-elev);border-left:1px solid var(--border);width:min(420px,100vw);box-shadow:var(--shadow-lg);z-index:60;flex-direction:column;transition:transform .28s cubic-bezier(.2,.8,.25,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.tutor-panel[data-open=true]{transform:translate(0)}.tutor-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.tutor-title{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.tutor-badge{background:var(--brand-ink);color:#fff;font-family:var(--font-mono);letter-spacing:.08em;border-radius:4px;padding:3px 7px;font-size:10px}.tutor-sub{font-family:var(--font-mono);color:var(--text-muted);margin-top:2px;font-size:11px}.tutor-messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.tutor-msg{border-radius:var(--radius);white-space:pre-wrap;max-width:88%;padding:12px 14px;font-size:14px;line-height:1.5}.tutor-msg[data-role=user]{background:var(--brand-ink);color:#fff;align-self:flex-end}.tutor-msg[data-role=assistant]{background:var(--bg-sunken);color:var(--text);align-self:flex-start}.tutor-msg[data-role=system]{background:var(--warn-soft);color:var(--warn);font-size:12px;font-family:var(--font-mono);align-self:center}.tutor-suggestions{flex-wrap:wrap;gap:6px;padding:0 20px 10px;display:flex}.tutor-suggestion{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:99px;padding:6px 10px;font-family:inherit;font-size:12px}.tutor-suggestion:hover{border-color:var(--brand-ink);color:var(--brand-ink)}.tutor-input-wrap{border-top:1px solid var(--border);padding:14px 16px 18px}.tutor-input-row{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);align-items:flex-end;gap:8px;padding:4px 4px 4px 12px;transition:border-color .12s;display:flex}.tutor-input-row:focus-within{border-color:var(--brand-ink)}.tutor-input{color:var(--text);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:120px;padding:8px 0;font-family:inherit;font-size:14px;line-height:1.5}.tutor-send{background:var(--brand-ink);color:#fff;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.tutor-send[disabled]{opacity:.4;cursor:not-allowed}.tutor-footer{color:var(--text-faint);text-align:center;font-size:11px;font-family:var(--font-mono);padding:0 20px 14px}.note-block{border-left:4px solid var(--warn);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fdf4e3 0%,#fbf2df 100%);border-radius:0;margin:4px 0;padding:18px 22px}.note-block-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--warn);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.note-block-title:before{content:"⚑";font-style:normal}.note-block-body{font-size:18px;line-height:1.65}.note-block-body p{margin:0}.block-style-wrap[data-block-bg="1"]>.note-block{background:0 0}.block-style-wrap[data-block-font-color="1"]>.note-block :is(.note-block-title,.note-block-body,.note-block-body .rt-body,.note-block-body .rt-body :is(p,li,h1,h2,h3)){color:inherit}.statement-block{margin:8px 0;padding:40px 28px;position:relative}.statement-block:before,.statement-block:after{content:"";background:linear-gradient(90deg,#010485 0%,#4f46e5 50%,#7c3aed 100%);border-radius:2px;height:3px;position:absolute;left:0;right:0}.statement-block:before{top:0}.statement-block:after{bottom:0}.statement-block[data-align=center]{text-align:center}.statement-block[data-align=right]{text-align:right}.statement-text{letter-spacing:-.02em;color:var(--brand-ink);background:linear-gradient(135deg,#010485 0%,#4f46e5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800;line-height:1.3}.quote-block{border-left:5px solid var(--brand-ink);background:linear-gradient(135deg, var(--brand-ink-softer) 0%, #f5f4ff 100%);border-radius:0;margin:4px 0;padding:32px 36px 28px 40px;position:relative;overflow:hidden}.block-style-wrap[data-block-bg="1"]>.quote-block{background:0 0}.block-style-wrap[data-block-font-color="1"]>.quote-block{color:inherit}.quote-block:before{content:"“";color:var(--brand-ink);opacity:.1;pointer-events:none;font-family:Georgia,Times New Roman,serif;font-size:100px;line-height:1;position:absolute;top:-8px;left:18px}.block-style-wrap[data-block-font-color="1"]>.quote-block:before{color:var(--block-font-color,currentColor)}.block-style-wrap[data-block-font-gradient="1"]>.quote-block:before{background:var(--block-font-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.quote-text{color:var(--text);margin:0 0 14px;font-size:21px;font-style:italic;line-height:1.65;position:relative}.quote-footer{flex-direction:column;gap:2px;display:flex;position:relative}.quote-attr{color:var(--brand-ink);font-size:15px;font-weight:700}.quote-source{color:var(--text-muted);font-size:13px;font-style:italic}.block-style-wrap[data-block-font-color="1"]>.quote-block :is(.quote-text,.quote-text :is(p,li,h1,h2,h3),.quote-footer,.quote-attr,.quote-source){color:inherit}.list-block{margin:4px 0;padding-left:28px;line-height:1.65}.list-block li{margin-bottom:10px;font-size:20px}.block-style-wrap[data-block-font-size="1"]>.list-block,.block-style-wrap[data-block-font-size="1"]>.list-block li,.block-style-wrap[data-block-font-size="1"]>.list-block li>span{font-size:inherit}.list-numbered{list-style:decimal}.list-bullet{list-style:outside}.list-square{list-style:square}.list-check{padding-left:0;list-style:none}.list-check li{align-items:flex-start;gap:10px;display:flex}.list-check-icon{color:var(--success);flex-shrink:0;margin-top:4px}.img-side{align-items:start;gap:28px;margin:4px 0;display:flex}.img-side-img{flex:0 0 var(--mialo-img-side-image-w,50%);flex-direction:column;gap:8px;min-width:0;display:flex}.img-side-img-el{border-radius:var(--mialo-img-side-radius,0);object-fit:var(--mialo-img-side-fit,cover);width:100%;display:block}.img-side-text{flex:auto;min-width:0;font-size:19px;line-height:1.65}.block-style-wrap[data-block-font-size="1"] .img-side-text{font-size:inherit}.block-style-wrap[data-block-line-height="1"] .img-side-text{line-height:inherit}.block-style-wrap[data-block-letter-spacing="1"] .img-side-text{letter-spacing:inherit}.img-side-text p{margin:0}@media (max-width:640px){.img-side{flex-direction:column}.img-side-img{flex-basis:auto;width:100%}}.animation-block{width:100%;margin:0}.animation-block__video,.animation-block--pending,.animation-block--authoring{box-sizing:border-box;width:100%;aspect-ratio:var(--mialo-animation-ratio,16 / 9);border-radius:var(--mialo-animation-radius,0);background:var(--mialo-animation-bg,#fff);overflow:hidden}.animation-block__video{display:block}.animation-block figcaption{color:var(--text-muted);margin-top:8px;font-size:14px}.animation-block--pending,.animation-block--authoring{border:1px solid var(--border);min-height:220px;color:var(--text);text-align:center;place-content:center;justify-items:center;gap:8px;padding:28px;display:grid;position:relative}.animation-block--pending>*,.animation-block--authoring>*{z-index:1;position:relative}.animation-block__poster{object-fit:cover;opacity:.22;width:100%;height:100%;position:absolute;inset:0;z-index:0!important}.animation-block__avatar{border:2px solid var(--brand-ink);background:radial-gradient(circle at 50% 34%, var(--brand-ink) 0 8px, transparent 9px), radial-gradient(ellipse at 50% 88%, var(--brand-ink) 0 18px, transparent 19px);border-radius:50%;width:52px;height:52px}.animation-block__badge{color:var(--brand-ink);letter-spacing:.04em;text-transform:uppercase;background:var(--brand-ink-softer);padding:4px 8px;font-size:12px;font-weight:700}.rt-body>:last-child{margin-bottom:0}.rt-body ul{list-style:outside}.rt-body ol{list-style:decimal}.rt-body ul ul{list-style-type:circle}.rt-body ul ul ul{list-style-type:square}.rt-body ul[data-list-style=circle]{list-style-type:circle}.rt-body ul[data-list-style=square]{list-style-type:square}.rt-body ul[data-list-style=arrow]>li::marker{color:var(--brand-ink);content:"▶ "}.rt-body ul[data-list-style=arrow]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))>li::marker{content:"◀ "}[dir=rtl] .rt-body ul[data-list-style=arrow]>li::marker{content:"◀ "}.rt-body ul[data-list-style=check]>li::marker{color:var(--success);content:"✓ ";font-size:1.2em;font-weight:700}.rt-body ul[data-list-style=cross]>li::marker{color:var(--danger);content:"× ";font-size:1.2em;font-weight:700}.rt-body ol[data-list-style=upper-roman]{list-style-type:upper-roman}.rt-body ol[data-list-style=lower-roman]{list-style-type:lower-roman}.rt-body ol[data-list-style=lower-alpha]{list-style-type:lower-alpha}.rt-body ol[data-list-style=upper-alpha]{list-style-type:upper-alpha}.rt-body ol[data-list-style=decimal-paren]>li::marker{content:counter(list-item, decimal) ") "}.rt-body ol[data-list-style=decimal-bracket]>li::marker{content:"(" counter(list-item, decimal) ") "}.rt-body ol[data-list-style=lower-alpha-paren]>li::marker{content:counter(list-item, lower-alpha) ") "}.rt-body ol[data-list-style=lower-alpha-bracket]>li::marker{content:"(" counter(list-item, lower-alpha) ") "}.rt-body ol[data-list-style=upper-alpha-paren]>li::marker{content:counter(list-item, upper-alpha) ") "}.rt-body ol[data-list-style=upper-alpha-bracket]>li::marker{content:"(" counter(list-item, upper-alpha) ") "}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=brand]>li::marker{color:var(--brand-ink)}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=neutral]>li::marker{color:var(--text)}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=success]>li::marker{color:var(--success)}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=warning]>li::marker{color:var(--warn)}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=danger]>li::marker{color:var(--danger)}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=red]>li::marker{color:#e03131}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=orange]>li::marker{color:#f08c00}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=yellow]>li::marker{color:#f2c94c}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=green]>li::marker{color:#2f9e44}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=cyan]>li::marker{color:#0ca6b8}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=blue]>li::marker{color:#1971c2}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=indigo]>li::marker{color:#3b5bdb}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=violet]>li::marker{color:#8f3ffc}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=pink]>li::marker{color:#d6336c}.rt-body :is(ul,ol)[data-list-marker-color][data-list-marker-color=brown]>li::marker{color:#8b5e34}.rt-body li>p{margin:0}.content .rt-body p,.content .rt-body li{font-size:inherit}.heading-rich{color:var(--text)}.heading-rich-h1{letter-spacing:-.02em;margin:0 0 22px;font-size:clamp(34px,4vw,44px);font-weight:800;line-height:1.15}.heading-rich-h2{letter-spacing:-.015em;margin:56px 0 18px;font-size:clamp(28px,3vw,34px);font-weight:700;line-height:1.25}.heading-rich-h3{letter-spacing:-.01em;margin:40px 0 14px;font-size:24px;font-weight:700;line-height:1.3}.lesson-body>*>.rt-body{line-height:var(--global-line-height,1.65)}.content .block-style-wrap>:is(p,h1,h2,h3,.rt-body,.heading-rich),.content .block-style-wrap>.rt-body :is(p,li,h1,h2,h3){color:inherit}.content .block-style-wrap[data-block-letter-spacing="1"]>:is(p,h1,h2,h3,.rt-body,.heading-rich),.content .block-style-wrap[data-block-letter-spacing="1"]>.rt-body :is(p,li,h1,h2,h3){letter-spacing:inherit}.content .block-style-wrap[data-block-line-height="1"]>:is(p,h1,h2,h3,.rt-body,.heading-rich),.content .block-style-wrap[data-block-line-height="1"]>.rt-body :is(p,li,h1,h2,h3){line-height:inherit}.content .block-style-wrap[data-block-font-gradient="1"]>:is(p,h1,h2,h3,.rt-body,.heading-rich),.content .block-style-wrap[data-block-font-gradient="1"]>.rt-body :is(p,li,h1,h2,h3),.content .block-style-wrap[data-block-font-gradient="1"] :is(.statement-text,.note-block-title,.note-block-body,.note-block-body .rt-body,.note-block-body .rt-body :is(p,li,h1,h2,h3),.quote-text,.quote-footer,.callout-title,.callout-body,.list-block li,.list-block li>span){background:var(--block-font-gradient);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gallery{gap:var(--mialo-gallery-gap,12px);margin:4px 0;display:grid}.gallery-grid{grid-template-columns:repeat(var(--mialo-gallery-columns,3), minmax(0, 1fr))}.gallery-strip{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gallery-masonry{columns:var(--mialo-gallery-columns,3);column-gap:var(--mialo-gallery-gap,12px);display:block}.gallery-masonry .gallery-item{break-inside:avoid;margin-bottom:var(--mialo-gallery-gap,12px)}.gallery-item{flex-direction:column;gap:6px;display:flex}.gallery-img{border-radius:var(--mialo-gallery-image-radius,0);object-fit:var(--mialo-gallery-image-fit,cover);width:100%;display:block}.gallery-ph{border-radius:var(--mialo-gallery-image-radius,0);min-height:140px}.gallery-caption{color:var(--text-muted);font-size:13px;line-height:1.4}.timeline{flex-direction:column;gap:0;margin:4px 0;display:flex}.timeline-item{gap:20px;display:flex}.timeline-track{flex-direction:column;flex-shrink:0;align-items:center;width:24px;display:flex}.timeline-dot{background:var(--mialo-timeline-accent,var(--brand-gradient));border:none;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:4px;box-shadow:0 0 0 3px #01048526}.timeline-connector{background:var(--mialo-timeline-line,var(--border-strong));flex:1;width:2px;min-height:24px;margin:4px 0}.timeline-content{background:var(--mialo-timeline-card-bg,transparent);flex:1;padding:0 0 28px}.timeline-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--mialo-timeline-accent,var(--brand-ink));margin-bottom:4px;font-size:12px}.timeline-title{font-weight:700;font-size:var(--mialo-timeline-title-size,18px);margin-bottom:6px}.timeline-body{font-size:var(--mialo-timeline-body-size,17px);color:var(--text-muted);line-height:1.6}.button-block{margin:8px 0}.button-block[data-align=center]{text-align:center}.button-block[data-align=right]{text-align:right}.btn-block-link{padding:var(--mialo-button-padding-y,13px) var(--mialo-button-padding-x,28px);background:var(--mialo-button-bg,var(--brand-gradient));color:var(--mialo-button-color,white);font-size:var(--mialo-button-font-size,17px);border-radius:var(--mialo-button-radius,var(--radius));transition:box-shadow var(--transition-fast), transform var(--transition-fast), background var(--transition-fast);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #01048547}.btn-block-link:hover{background:var(--mialo-button-bg,var(--brand-gradient-vivid));text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 20px #01048566}.codeblock{background:#1e1e1e;border-radius:0;margin:4px 0;overflow:hidden;box-shadow:0 4px 24px #00000038}.codeblock-header{background:#2d2d2d;border-bottom:1px solid #3c3c3c;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.codeblock-dots{gap:6px;display:flex}.codeblock-dots span{border-radius:50%;width:12px;height:12px;display:block}.codeblock-dots span:first-child{background:#ff5f56}.codeblock-dots span:nth-child(2){background:#ffbd2e}.codeblock-dots span:nth-child(3){background:#27c93f}.codeblock-lang{font-family:var(--font-mono);color:#888;text-transform:lowercase;letter-spacing:.04em;flex:1;font-size:12px}.codeblock-copy{color:#888;font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3c3c3c;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:color .15s,border-color .15s,background .15s;display:flex}.codeblock-copy:hover{color:#d4d4d4;background:#ffffff0f;border-color:#666}.codeblock-copy:active{background:#ffffff1a}.codeblock-pre{font-family:var(--font-mono);color:#d4d4d4;margin:0;padding:22px 24px;font-size:15px;line-height:1.7;overflow-x:auto;background:#1e1e1e!important}.codeblock-pre code{color:#d4d4d4;background:0 0!important;border-radius:0!important;padding:0!important;font-size:15px!important}.codeblock-pre code[class*=language-]{color:#d4d4d4}.codeblock-pre .token.keyword,.codeblock-pre .token.control-flow,.codeblock-pre .token.rule,.codeblock-pre .token.storage{color:#569cd6}.codeblock-pre .token.string,.codeblock-pre .token.char,.codeblock-pre .token.template-string,.codeblock-pre .token.template-punctuation.string{color:#ce9178}.codeblock-pre .token.comment,.codeblock-pre .token.prolog,.codeblock-pre .token.cdata{color:#6a9955;font-style:italic}.codeblock-pre .token.number{color:#b5cea8}.codeblock-pre .token.function,.codeblock-pre .token.function-variable{color:#dcdcaa}.codeblock-pre .token.class-name{color:#4ec9b0}.codeblock-pre .token.boolean,.codeblock-pre .token.null{color:#569cd6}.codeblock-pre .token.constant,.codeblock-pre .token.symbol,.codeblock-pre .token.variable,.codeblock-pre .token.parameter{color:#9cdcfe}.codeblock-pre .token.builtin,.codeblock-pre .token.decorator{color:#dcdcaa}.codeblock-pre .token.regex{color:#d16969}.codeblock-pre .token.operator,.codeblock-pre .token.punctuation{color:#d4d4d4}.codeblock-pre .token.namespace,.codeblock-pre .token.module{color:#4ec9b0}.codeblock-pre .token.imports,.codeblock-pre .token.exports,.codeblock-pre .token.interpolation{color:#9cdcfe}.codeblock-pre .token.interpolation-punctuation{color:#f78c6c}.codeblock-pre .token.tag{color:#569cd6}.codeblock-pre .token.tag .token.punctuation{color:gray}.codeblock-pre .token.attr-name{color:#9cdcfe}.codeblock-pre .token.attr-value,.codeblock-pre .token.attr-value .token.punctuation{color:#ce9178}.codeblock-pre .token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.codeblock-pre .token.entity{color:#569cd6}.codeblock-pre .token.doctype .token.name{color:#9cdcfe}.codeblock-pre .token.selector,.codeblock-pre .token.selector .token.class,.codeblock-pre .token.selector .token.id{color:#d7ba7d}.codeblock-pre .token.property{color:#9cdcfe}.codeblock-pre .token.atrule,.codeblock-pre .token.atrule .token.rule{color:#c586c0}.codeblock-pre .token.atrule .token.url{color:#9cdcfe}.codeblock-pre .token.unit{color:#b5cea8}.codeblock-pre .token.important{color:#569cd6;font-weight:700}.codeblock-pre .token.pseudo-class,.codeblock-pre .token.pseudo-element{color:#d7ba7d}.codeblock-pre .token.shebang{color:#6a9955;font-style:italic}.codeblock-pre .token.property.string{color:#9cdcfe}.codeblock-pre .language-sql .token.keyword{color:#569cd6;text-transform:uppercase}.codeblock-pre .token.key.atrule{color:#569cd6}.codeblock-pre .token.deleted{color:#f44747;background:#f447471a}.codeblock-pre .token.inserted{color:#b5cea8;background:#b5cea81a}.codeblock-pre .token.bold{font-weight:700}.codeblock-pre .token.italic{font-style:italic}.fillblank-sentence{flex-wrap:wrap;align-items:baseline;gap:8px;margin:12px 0;font-size:20px;line-height:1.8;display:flex}.fillblank-input{border:2px solid var(--border-strong);font-family:var(--font-sans);border-radius:0;outline:none;min-width:160px;padding:4px 12px;font-size:19px;transition:border-color .16s}.fillblank-input:focus{border-color:var(--brand-ink)}.fillblank-correct{background:var(--success-soft);border-color:var(--success)!important}.fillblank-wrong{background:var(--danger-soft);border-color:var(--danger)!important}.fillblank-hint{color:var(--text-muted);margin-bottom:8px;font-size:15px;font-style:italic}.quiz-status-text{font-family:var(--font-mono);color:var(--text-faint);font-size:11px}.match-instruction{font-family:var(--font-sans);color:var(--text-muted);margin-bottom:16px;font-size:20px;line-height:1.4}.match-pairs{flex-direction:column;gap:10px;margin:16px 0;display:flex}.match-row{align-items:stretch;height:90px;display:flex;position:relative}.match-row[data-drag-over=true]{outline:2px solid var(--brand-ink);outline-offset:2px;border-radius:var(--radius)}.match-gap{background:var(--bg-elev);flex-shrink:0;width:28px;transition:width .3s cubic-bezier(.34,1.56,.64,1)}.match-row[data-docked=true] .match-gap{width:0}.match-half{flex:1;align-items:stretch;min-width:0;display:flex}.match-half-l{cursor:grab;border:1.5px solid #a0a0aa;border-radius:0;transition:opacity .16s;overflow:hidden}.match-half-l[data-dragging=true]{opacity:.35;cursor:grabbing}.match-half-r{border:1.5px solid #a0a0aa;border-radius:0;overflow:hidden}.match-bar{background:#4c1d95;flex-shrink:0;justify-content:center;align-items:center;width:40px;transition:background .3s;display:flex}.match-bar[data-state=correct]{background:#16a34a}.match-bar[data-state=wrong]{background:#dc2626}.match-cell{background:var(--bg-elev);flex:1;align-items:center;gap:8px;min-width:0;padding:10px 16px;font-size:16px;line-height:1.4;transition:background .3s;display:flex}.match-row[data-docked=true] .match-cell{background:#ede9fe}.match-cell-text{flex:1;min-width:0}.match-drag-handle{color:#ffffffbf;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:18px}.match-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.em-toggle-row{color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:4px 0;font-size:14px;display:flex}.em-toggle-switch{flex-shrink:0;width:36px;height:20px;position:relative}.em-toggle-switch input{opacity:0;width:0;height:0;position:absolute}.em-toggle-track{background:var(--border-strong);border-radius:10px;transition:background .2s;position:absolute;inset:0}.em-toggle-switch input:checked+.em-toggle-track{background:var(--brand-ink)}.em-toggle-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.em-toggle-switch input:checked+.em-toggle-track:after{transform:translate(16px)}.em-settings-section{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.em-settings-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:8px}.em-settings-row{align-items:center;gap:10px;margin-bottom:8px;font-size:14px;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.block-divider-rhombus{justify-content:center;align-items:center;margin:32px 0;display:flex;position:relative}.block-divider-rhombus:before,.block-divider-rhombus:after{content:"";background:var(--border);flex:1;height:2px}.divider-rhombus-icon{color:var(--border-strong);margin:0 14px;font-size:14px}.block-divider-numbered{justify-content:center;align-items:center;gap:16px;margin:32px 0;display:flex}.block-divider-numbered:before,.block-divider-numbered:after{content:"";background:var(--border);flex:1;height:2px}.divider-number{background:var(--brand-ink);color:#fff;width:32px;height:32px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.block-divider-frame{box-sizing:border-box;background:var(--bg-sunken,#f3f3ef);border:1px solid var(--border-strong,#d0d0c8);border-radius:var(--radius-lg,16px);justify-content:center;align-items:center;width:100%;height:55px;margin:32px 0;padding:0 18px;display:flex;overflow:hidden}.divider-frame-text{min-width:0;max-width:100%;color:var(--text,#0a0a12);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.2;display:block;overflow:hidden}.block-divider-frame .authoring-live-edit{width:100%;min-width:0}.block-divider-frame .authoring-live-edit [data-component=rich-text-editor]{width:100%}.block-divider-frame .authoring-live-edit .em-rte-content{width:100%;min-height:0;color:var(--text,#0a0a12);text-align:center;white-space:nowrap;padding:0;font-weight:700;line-height:1.2}.bundle-ph{background:var(--bg);border:1.5px solid #9a9a9a;border-radius:0;overflow:hidden}.bundle-ph[data-linked=true]{border-color:var(--brand-ink)}.bundle-header{background:#e8e8e4;align-items:center;gap:14px;padding:18px 20px 14px;display:flex}.bundle-icon{border-radius:var(--radius);background:var(--brand-ink-soft);width:40px;height:40px;color:var(--brand-ink);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,transform .15s;display:flex}a.bundle-icon,button.bundle-icon{cursor:pointer;border:none;padding:0}a.bundle-icon:hover,button.bundle-icon:hover{background:var(--brand-ink);color:#fff;transform:translateY(-1px)}.bundle-title{font-size:17px;font-weight:700}.bundle-file-list{background:var(--bg);border-top:1px solid #c8c8c4}.bundle-file-link{width:100%;color:inherit;font:inherit;text-align:inherit;background:0 0;border:none;padding:0;text-decoration:none;display:block}.bundle-file-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 20px;font-size:15px;transition:background .12s;display:flex}.bundle-file-row:last-child{border-bottom:none}.bundle-file-row[data-linked=true]{cursor:pointer}.bundle-file-ext{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-ink);background:var(--brand-ink-softer);border-radius:var(--radius-sm);text-align:center;flex-shrink:0;min-width:36px;padding:2px 6px;font-size:10px;font-weight:700}.bundle-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bundle-file-size{color:var(--text-faint);font-size:12px;font-family:var(--font-mono);flex-shrink:0}.bundle-file-dl{color:var(--brand-ink);flex-shrink:0;display:flex}.bundle-dl-all{border-top:1px solid var(--border);font-size:13px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-ink);background:var(--brand-ink-softer);align-items:center;gap:6px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background .12s;display:flex}.bundle-dl-all:hover{background:var(--brand-ink-soft)}.bundle-ed-list{flex-direction:column;gap:4px;display:flex}.bundle-ed-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);align-items:center;gap:8px;padding:7px 10px;font-size:14px;display:flex}.bundle-ed-ext{font-family:var(--font-mono);color:var(--brand-ink);background:var(--brand-ink-softer);text-align:center;border-radius:4px;flex-shrink:0;min-width:34px;padding:1px 5px;font-size:10px;font-weight:700}.bundle-ed-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.bundle-ed-size{color:var(--text-faint);font-size:11px;font-family:var(--font-mono);flex-shrink:0}.bundle-ed-stored{color:var(--success,#0b8a4c);font-size:11px;font-family:var(--font-mono);flex-shrink:0}.bundle-ed-nodata{color:var(--text-faint);font-size:11px;font-family:var(--font-mono);flex-shrink:0}@keyframes zip-spin{to{transform:rotate(360deg)}}.zip-embed{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-sunken);box-shadow:var(--shadow-sm,0 1px 4px #0000000f);overflow:hidden}.zip-embed-bar{background:var(--bg-elev);border-bottom:1px solid var(--border);font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);align-items:center;gap:8px;padding:8px 14px;display:flex}.zip-embed-bar-icon{opacity:.6;flex-shrink:0}.zip-embed-stage{height:var(--zip-h,520px);flex-direction:column;display:flex;position:relative}.zip-embed-frame{border:none;flex:1;width:100%;height:100%;display:none}.zip-embed-frame[data-visible=true]{display:block}.zip-embed-loading,.zip-embed-error,.zip-embed-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;display:flex;position:absolute;inset:0}.zip-embed-loading{color:var(--text-muted);font-size:14px}.zip-embed-spinner{border:3px solid var(--border-strong);border-top-color:var(--brand-ink);will-change:transform;border-radius:50%;width:36px;height:36px;animation:.75s linear infinite zip-spin}.zip-embed-error{color:var(--danger,#a8213b);flex-direction:row;justify-content:center;align-items:flex-start;gap:10px;font-size:14px}.zip-embed-empty{color:var(--text-faint);font-size:13px;font-family:var(--font-mono);gap:12px}.zip-embed-empty svg{opacity:.35}.zip-embed-empty span{max-width:320px;line-height:1.5}.pdf-block{border:1px solid var(--border);border-radius:var(--radius,10px);background:var(--bg-elev);margin:24px 0;overflow:hidden}.pdf-block__bar{border-bottom:1px solid var(--border);background:var(--bg-sunken);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:10px 14px;display:flex}.pdf-block__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.pdf-block__open{color:var(--brand-ink);font-family:var(--font-mono);letter-spacing:.04em;flex:none;font-size:12px;font-weight:600;text-decoration:none}.pdf-block__open:hover{text-decoration:underline}.pdf-block__open:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}.pdf-block__frame{background:var(--bg-sunken);border:0;width:100%;display:block}.pdf-block__message{min-height:180px;color:var(--text-muted);text-align:center;background:repeating-linear-gradient(-45deg, var(--bg-elev) 0 10px, var(--bg-sunken) 10px 20px);place-items:center;padding:32px;line-height:1.55;display:grid}@media (max-width:640px){.pdf-block__bar{flex-direction:column;align-items:flex-start;gap:6px}.pdf-block__title{width:100%}}.zip-em-upload-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.zip-em-stored{font-size:12px;font-family:var(--font-mono);color:var(--success,#0b8a4c);letter-spacing:.03em}.zip-em-file-badge{background:var(--brand-ink-softer,#f2f3fb);border:1px solid var(--brand-ink-soft,#e7e8f5);border-radius:var(--radius,10px);color:var(--brand-ink,#010485);align-items:center;gap:8px;padding:9px 12px;display:flex}.zip-em-file-name{font-family:var(--font-mono);word-break:break-all;flex:1;min-width:0;font-size:13px;font-weight:600}.zip-em-file-size{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:11px}.math-block-display{text-align:center;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);margin:8px 0;padding:24px 20px;overflow-x:auto}.math-block-inline{display:inline}.inline-math-rendered{vertical-align:middle;cursor:pointer;-webkit-user-select:all;user-select:all;border-radius:3px;padding:0 2px;display:inline-block}.inline-math-rendered::selection,.inline-math-rendered ::selection{background:var(--brand-ink-softer)}.em-math-preview{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);justify-content:center;align-items:center;min-height:56px;padding:16px;display:flex;overflow-x:auto}.kgraph-root{margin:16px 0}.kgraph-title{font-family:var(--font-sans);text-align:center;color:var(--text);margin-bottom:14px;font-size:22px;font-weight:700}.kgraph-scroll{width:100%;overflow:auto hidden}.kgraph-canvas{flex-shrink:0;margin:0 auto;display:block;position:relative}.kgraph-svg{pointer-events:none;position:absolute;inset:0}.kgraph-edge-label{font-family:var(--font-mono,ui-monospace, monospace);fill:var(--text,#0a0a12);stroke:var(--kgraph-canvas-bg,var(--bg,#fafaf7));stroke-width:4px;stroke-linejoin:round;paint-order:stroke fill;text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:500}.kgraph-node{border:1.5px solid var(--border);background:var(--bg-elev);font-family:var(--font-sans);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:6px;font-size:13px;font-weight:600;transition:transform .12s,box-shadow .12s;display:flex;position:absolute;overflow:hidden}.kgraph-node:hover{transform:scale(1.05);box-shadow:0 4px 14px #0000001f}.kgraph-node-draggable{cursor:grab;touch-action:none}.kgraph-node-draggable:active{cursor:grabbing}.kgraph-node-draggable:hover{transform:none;box-shadow:0 4px 14px #0000001f}.kgraph-node-sel{outline:2px solid var(--brand-ink);outline-offset:3px}.kgraph-node-from{box-shadow:0 0 0 3px var(--brand-ink-soft,#e7e8f5), 0 0 0 5px var(--brand-ink)}.kgraph-cp{background:var(--bg-elev);border:2px solid var(--text-faint);cursor:pointer;z-index:5;border-radius:50%;width:14px;height:14px;padding:0;transition:transform .12s,border-color .12s,background .12s;position:absolute}.kgraph-cp:hover{border-color:var(--brand-ink);transform:scale(1.35)}.kgraph-cp-active{background:var(--brand-ink);border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--brand-ink-soft,#e7e8f5)}.kgraph-cp-other{opacity:.55;border-color:var(--border-strong);pointer-events:none}.kgraph-cp-other:hover{opacity:.85}.kgraph-root[data-editable=true] .kgraph-canvas{outline:1px dashed var(--border-strong,#d0d0c8);outline-offset:-1px}.kgraph-root[data-mode=connect] .kgraph-canvas{outline-color:var(--brand-ink);cursor:crosshair}.kgraph-root[data-mode=connect] .kgraph-node-draggable{cursor:pointer}.kg-tool-hint-block{border-radius:var(--radius);background:var(--bg-sunken);color:var(--text-muted);margin:0;padding:10px 12px;font-size:12px;font-style:italic;line-height:1.5}.kgraph-node-label{-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.kgraph-callout-back{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.kgraph-callout{background:var(--bg-elev);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl,0 20px 60px #0000004d);flex-direction:column;width:100%;max-width:460px;max-height:calc(100vh - 60px);display:flex;position:relative;overflow:hidden}.kgraph-callout-close{cursor:pointer;color:var(--text-faint);z-index:1;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;position:absolute;top:12px;right:14px}.kgraph-callout-close:hover{color:var(--text)}.kgraph-callout-label{color:var(--text);padding:22px 44px 4px 22px;font-size:18px;font-weight:800}.kgraph-callout-img{border-radius:var(--radius-sm);width:auto;max-height:150px;margin:12px auto 4px;display:block}.kgraph-callout-desc{color:var(--text-muted);padding:8px 22px 18px;font-size:15px;line-height:1.6;overflow-y:auto}.kgraph-callout-bar{background:var(--brand-gradient,linear-gradient(90deg,#010485,#4f46e5,#7c3aed));flex-shrink:0;height:5px}.lk-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sort-chip,.sort-pool-target,.sort-bin-target,.match-select-btn{scroll-margin:16px}.sort-chip:focus-visible,.sort-pool-target:focus-visible,.sort-bin-target:focus-visible,.match-select-btn:focus-visible{outline:4px solid var(--mialo-primary-8,#5359b0);outline-offset:2px}@media (forced-colors:active){.sort-chip:focus-visible,.sort-pool-target:focus-visible,.sort-bin-target:focus-visible,.match-select-btn:focus-visible{outline-offset:2px;outline:3px solid #0000}}.sort-chip{font:inherit;color:inherit;text-align:left;appearance:none;font-size:16px}.sort-chip[aria-pressed=true]{background:var(--mialo-primary-5,#c5c8e3);border-left:4px solid var(--mialo-primary-9,#010485);font-weight:600}.sort-pool-target,.sort-bin-target{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;appearance:none;background:0 0;border:0;margin:0;padding:0 0 8px;display:block}.sort-pool-target{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px;font-size:12px}.sort-pool-target[data-armed=true],.sort-bin-target[data-armed=true]{cursor:copy}.sort-pool-target[data-armed=true]{color:var(--mialo-primary-9,#010485)}.sort-pool-target[data-armed=true]:after{content:" — press Enter to return here";letter-spacing:.06em;color:var(--mialo-primary-7,#888dc3);text-transform:none;font-size:10px}.sort-bin[data-over=true] .sort-bin-target,.sort-bin-target[data-armed=true]:hover .sort-bin-label{color:var(--mialo-primary-9,#010485)}.sort-bin-target[data-armed=true]:after{content:" — press Enter to place here";font-family:var(--font-mono);letter-spacing:.06em;color:var(--mialo-primary-7,#888dc3);text-transform:none;font-size:10px}.match-select-btn{cursor:grab;appearance:none;border:0;margin:0;padding:0}.match-select-btn:disabled{cursor:default}.match-select-btn[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--mialo-primary-5,#c5c8e3)}@media (prefers-reduced-motion:reduce){.sort-chip,.sort-chip:active,.sort-bin,.match-gap,.match-cell,.match-bar,.match-half-l{transition-property:opacity,background,color,border-color,box-shadow;transition-duration:1ms}.sort-chip:active{transform:none}.match-row,.match-cell,.match-gap{animation:none!important}}.mialo-container{margin:4px 0}.mialo-container__columns{gap:var(--mialo-container-gap,24px);flex-direction:row;justify-content:flex-start;align-items:stretch;display:flex}.mialo-container[data-direction=column] .mialo-container__columns{flex-direction:column}.mialo-container[data-align=start] .mialo-container__columns{align-items:flex-start}.mialo-container[data-align=center] .mialo-container__columns{align-items:center}.mialo-container[data-align=end] .mialo-container__columns{align-items:flex-end}.mialo-container[data-align=stretch] .mialo-container__columns{align-items:stretch}.mialo-container[data-justify=center] .mialo-container__columns{justify-content:center}.mialo-container[data-justify=end] .mialo-container__columns{justify-content:flex-end}.mialo-container[data-justify=between] .mialo-container__columns{justify-content:space-between}.mialo-container[data-wrap=true] .mialo-container__columns{flex-wrap:wrap}.mialo-container[data-variant=cards] .mialo-container__columns{align-items:stretch}.mialo-container__column{flex:1 1 var(--mialo-col-w,0%);min-width:0}.mialo-container[data-variant=cards] .mialo-container__column{box-sizing:border-box;border:1px solid var(--border,#e6e6e0);background:var(--bg-elev,#fff);border-radius:14px;min-height:132px;padding:16px;box-shadow:0 10px 24px #0a0a1212}.block-render-error{border:1px solid var(--border-strong,#d0d0c8);border-radius:var(--radius,10px);background:var(--bg-sunken,#f3f3ef);color:var(--text-muted,#5a5a66);padding:16px 18px}.block-render-error p{margin:0}.block-render-error p+p{margin-top:8px}.block-render-error code{color:var(--brand-ink,#010485);font-family:var(--font-mono,monospace);font-size:.92em}@media (max-width:980px){.mialo-container__column{flex-basis:var(--mialo-col-wt,var(--mialo-col-w,0%))}.mialo-container[data-stack-at=tablet] .mialo-container__columns{flex-direction:column}.mialo-container[data-stack-at=tablet] .mialo-container__column{flex-basis:auto}}@media (max-width:640px){.mialo-container__column{flex-basis:var(--mialo-col-wm,var(--mialo-col-wt,var(--mialo-col-w,0%)))}.mialo-container[data-stack-at=mobile] .mialo-container__columns{flex-direction:column}.mialo-container[data-stack-at=mobile] .mialo-container__column{flex-basis:auto}}
