.rc-page {
  --rc-accent:#3f8449;
  --rc-accent-soft:#eaf4e5;
}
.rc-page[data-rich-kind="linear"] { --rc-accent:#536fdd; --rc-accent-soft:#edf0ff; }
.rc-page[data-rich-kind="probability"] { --rc-accent:#207e78; --rc-accent-soft:#e5f4f1; }
.rc-page[data-rich-kind^="english"] { --rc-accent:#7a63bf; --rc-accent-soft:#f0ebfb; }
.rc-page[data-rich-kind^="politics"] { --rc-accent:#a24d42; --rc-accent-soft:#f9e9e4; }
.rc-page[data-rich-kind="dataStructures"] { --rc-accent:#337a62; --rc-accent-soft:#e6f3ed; }
.rc-page[data-rich-kind="operatingSystems"] { --rc-accent:#6d5caa; --rc-accent-soft:#eeebf8; }
.rc-page[data-rich-kind="computerNetworks"] { --rc-accent:#2e749c; --rc-accent-soft:#e6f1f7; }
.rc-page[data-rich-kind="computerOrganization"] { --rc-accent:#a26729; --rc-accent-soft:#f8eddf; }
.rc-page[data-rich-kind="mbaMath"] { --rc-accent:#d27835; --rc-accent-soft:#f9eddf; }
.rc-page[data-rich-kind="mbaLogic"] { --rc-accent:#39778e; --rc-accent-soft:#e5f1f4; }
.rc-page[data-rich-kind="mbaWriting"] { --rc-accent:#9a5d51; --rc-accent-soft:#f7ebe7; }
.rc-page .cc-progress-strip i { background:var(--rc-accent); }
.rc-page .cc-badge { background:var(--rc-accent); }
.rc-page .cc-module-progress-copy>strong { color:var(--rc-accent); }
.rc-page .cc-module-progress-track>i { background:var(--rc-accent); }
.rc-page .cc-module.is-current .cc-module-art { border-color:color-mix(in srgb,var(--rc-accent) 60%,white); background:var(--rc-accent-soft); }
.rc-hero-art { position:relative; flex:0 0 112px; width:112px; height:112px; display:grid; place-items:center; border-radius:31px; background:var(--rc-accent-soft); overflow:hidden; }
.rc-hero-art img { position:relative; z-index:2; width:88px; height:88px; object-fit:contain; }
.rc-hero-art i { position:absolute; width:74px; height:74px; border:1px solid color-mix(in srgb,var(--rc-accent) 28%,transparent); border-radius:50%; }
.rc-hero-art i:nth-of-type(2) { width:104px; height:104px; }
.rc-hero-art i:nth-of-type(3) { width:132px; height:132px; }
.rc-start-button { display:inline-flex; align-items:center; justify-content:center; margin-top:10px; min-height:42px; padding:9px 15px; border:0; border-radius:10px; background:var(--rc-accent); color:white; font-size:12px; font-weight:650; }

body:has(.ri-shell) { padding-bottom:0; }
body:has(.ri-shell) .view-container { padding:12px 26px 16px; max-width:none; }
body:has(.ri-shell) .mobile-nav { display:none; }
body:has(.ri-shell) .main-shell { padding-bottom:0; min-width:0; }
body:has(.ri-shell) .app-shell { transition-property:grid-template-columns; }
body:has(.ri-shell) .sidebar { transition-property:transform,padding,width; }
.rc-study-page { height:calc(100dvh - 105px); min-height:400px; max-width:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; animation:none; }
.rc-study-page .course-detail-back { width:100%; max-width:none; margin:0; min-height:24px; flex-shrink:0; }

.ri-shell {
  --ri-ink:var(--text,#252923);
  --ri-muted:var(--text-soft,#777d72);
  --ri-border:#d9dfd2;
  --ri-paper:#fdfdf9;
  --ri-panel:#f0f2eb;
  --ri-accent:#4d8b4d;
  --ri-accent-soft:#eaf4e5;
  --ri-warm:#f0c956;
  width:100%; max-width:none; min-height:0; flex:1; margin:0; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--ri-border); border-radius:20px; background:var(--ri-paper); color:var(--ri-ink);
}
.ri-shell[data-rich-kind="linear"] { --ri-accent:#536fdd; --ri-accent-soft:#edf0ff; --ri-warm:#e9bd45; }
.ri-shell[data-rich-kind="probability"] { --ri-accent:#207e78; --ri-accent-soft:#e5f4f1; --ri-warm:#e3bd4c; }
.ri-shell[data-rich-kind^="english"] { --ri-accent:#7a63bf; --ri-accent-soft:#f0ebfb; --ri-warm:#e9c651; }
.ri-shell[data-rich-kind^="politics"] { --ri-accent:#a24d42; --ri-accent-soft:#f9e9e4; --ri-warm:#dfb349; }
.ri-shell[data-rich-kind="dataStructures"] { --ri-accent:#337a62; --ri-accent-soft:#e6f3ed; --ri-warm:#e5b84a; }
.ri-shell[data-rich-kind="operatingSystems"] { --ri-accent:#6d5caa; --ri-accent-soft:#eeebf8; --ri-warm:#e3b84f; }
.ri-shell[data-rich-kind="computerNetworks"] { --ri-accent:#2e749c; --ri-accent-soft:#e6f1f7; --ri-warm:#e2b34a; }
.ri-shell[data-rich-kind="computerOrganization"] { --ri-accent:#a26729; --ri-accent-soft:#f8eddf; --ri-warm:#e2b248; }
.ri-shell[data-rich-kind="mbaMath"] { --ri-accent:#d27835; --ri-accent-soft:#f9eddf; --ri-warm:#e5b447; }
.ri-shell[data-rich-kind="mbaLogic"] { --ri-accent:#39778e; --ri-accent-soft:#e5f1f4; --ri-warm:#e4be4a; }
.ri-shell[data-rich-kind="mbaWriting"] { --ri-accent:#9a5d51; --ri-accent-soft:#f7ebe7; --ri-warm:#dfba50; }
.ri-shell button,.ri-shell textarea { font:inherit; }
.ri-shell button { cursor:pointer; }
.ri-shell button:focus-visible,.ri-shell textarea:focus-visible,.ri-shell summary:focus-visible { outline:3px solid color-mix(in srgb,var(--ri-accent) 48%,white); outline-offset:3px; }
.ri-shell button:disabled { cursor:not-allowed; opacity:.48; }
.ri-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 24px; border-bottom:1px solid var(--ri-border); flex-shrink:0; }
.ri-header>div { display:flex; align-items:center; gap:12px; min-width:0; }
.ri-header>div>div { min-width:0; display:flex; flex-direction:column; gap:2px; }
.ri-header strong { font-size:14px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ri-header small { color:var(--ri-muted); font-size:10px; }
.ri-brand-star { display:grid; place-items:center; width:36px; height:36px; border-radius:13px; background:var(--ri-warm); color:#282719; font-size:25px; flex-shrink:0; }
.ri-header>button { border:0; background:transparent; color:var(--ri-muted); font-size:11px; padding:7px 0; white-space:nowrap; }
.ri-progress-wrap { padding:12px 24px 0; flex-shrink:0; }
.ri-progress { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.ri-progress button { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-height:30px; padding:0 3px; border:0; background:transparent; color:var(--ri-muted); font-size:10px; }
.ri-progress button i { display:block; width:100%; height:5px; background:var(--ri-panel); border-radius:9px; overflow:hidden; }
.ri-progress button.is-done i,.ri-progress button.is-current i { background:var(--ri-warm); }
.ri-progress button.is-current { color:var(--ri-ink); font-weight:650; }
.ri-progress-info { display:flex; justify-content:space-between; gap:12px; margin-top:9px; color:var(--ri-muted); font-size:10px; }
.ri-main { padding:16px 28px 20px; min-height:0; flex:1; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scroll-padding-block:12px; }
.ri-main>* { max-width:1120px; margin-left:auto; margin-right:auto; }
.ri-eyebrow { margin:0 0 7px; color:var(--ri-accent); font-size:10px; font-weight:650; letter-spacing:.6px; }
.ri-main h2 { margin-top:0; margin-bottom:10px; font-size:26px; line-height:1.4; letter-spacing:-.4px; }
.ri-description { margin:0 0 14px; color:var(--ri-muted); font-size:14px; line-height:1.75; }
.ri-scene-card { display:flex; align-items:center; gap:14px; margin:12px auto; padding:9px 14px; border-radius:11px; background:var(--ri-accent-soft); }
.ri-scene-card span { color:var(--ri-accent); font-size:11px; font-weight:700; }
.ri-scene-card p { margin:0; color:var(--ri-muted); font-size:12px; }
.ri-question h3 { margin:14px 0 10px; font-size:15px; line-height:1.7; }
.ri-question-type { display:inline-flex; align-items:center; margin-right:8px; padding:2px 7px; border-radius:999px; background:var(--ri-accent-soft); color:var(--ri-accent); font-size:9px; font-weight:750; vertical-align:2px; }
.ri-quiz-switcher { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:7px; margin:10px 0 5px; }
.ri-quiz-switcher button { display:grid; grid-template-columns:25px auto 1fr; align-items:center; gap:7px; min-height:42px; padding:7px 10px; border:1px solid var(--ri-border); border-radius:10px; background:var(--ri-paper); color:var(--ri-muted); text-align:left; }
.ri-quiz-switcher button[aria-current="true"] { border-color:var(--ri-accent); background:var(--ri-accent-soft); color:var(--ri-accent); }
.ri-quiz-switcher span { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; background:var(--ri-panel); font-size:9px; }
.ri-quiz-switcher b { font-size:10px; white-space:nowrap; }.ri-quiz-switcher small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; font-weight:400; }
.ri-options { display:flex; flex-wrap:wrap; align-items:stretch; gap:8px; }
.ri-option { display:flex; align-items:center; gap:10px; flex:0 1 auto; width:auto; min-width:min(148px,100%); max-width:100%; min-height:46px; padding:9px 12px; border:1px solid var(--ri-border); border-radius:11px; background:var(--ri-paper); color:var(--ri-ink); text-align:left; }
.ri-option>span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border:1px solid var(--ri-border); border-radius:8px; color:var(--ri-muted); font-size:10px; }
.ri-option>b { min-width:0; overflow-wrap:anywhere; font-size:12px; font-weight:550; line-height:1.65; }
.ri-option:hover,.ri-option.is-selected { border-color:var(--ri-accent); background:var(--ri-accent-soft); }
.ri-option.is-correct { border-color:#4c9a58; background:#e8f5e7; }
.ri-option.is-wrong { border-color:#bd8420; background:#fff4d6; }
.ri-option.is-missed { border-style:dashed; border-color:#bd8420; background:#fff9e9; }
.ri-question-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.ri-check,.ri-hint-button { min-height:39px; padding:8px 13px; border:1px solid var(--ri-border); border-radius:9px; background:var(--ri-paper); color:var(--ri-ink); font-size:11px; }
.ri-check { border-color:var(--ri-accent); color:var(--ri-accent); font-weight:650; }
.ri-hint { margin:11px 0 0; padding:11px 14px; border-left:3px solid var(--ri-warm); border-radius:0 10px 10px 0; background:#fff8df; }
.ri-hint span { color:#8d6d16; font-size:10px; font-weight:700; }
.ri-hint p { margin:5px 0 0; font-size:12px; line-height:1.7; }
.ri-feedback { margin-top:12px; padding:12px 15px; border-radius:12px; }
.ri-feedback.is-success { background:#e8f5e7; color:#2d7540; }
.ri-feedback.is-retry { background:#fff2d5; color:#866412; }
.ri-feedback.is-neutral { background:var(--ri-accent-soft); color:var(--ri-accent); }
.ri-feedback strong { font-size:12px; }
.ri-feedback p { margin:5px 0 0; font-size:12px; line-height:1.7; }
.ri-feedback button { margin-top:7px; padding:4px 0; border:0; background:transparent; color:currentColor; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.ri-reference { margin-top:22px; padding:10px 14px; border:1px solid var(--ri-border); border-radius:10px; color:var(--ri-muted); font-size:10px; }
.ri-reference summary { display:list-item; min-height:28px; line-height:28px; cursor:pointer; }
.ri-reference p { margin:9px 0 0; line-height:1.7; }
.ri-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-shrink:0; min-height:68px; padding:12px 260px 12px 24px; border-top:1px solid var(--ri-border); background:var(--ri-paper); }
.ri-footer button { min-height:42px; padding:10px 15px; border-radius:11px; }
.ri-back { border:0; background:transparent; color:var(--ri-muted); font-size:11px; }
.ri-primary { border:0; background:var(--ri-warm); color:#282719; font-size:12px; font-weight:700; }
.ri-tutor-wrap { height:0; padding:0; }

.ri-visual-layout { display:grid; grid-template-columns:156px minmax(320px,1.2fr) minmax(210px,.8fr); gap:13px; align-items:stretch; }
.ri-visual-tabs { display:flex; flex-direction:column; gap:7px; }
.ri-visual-tabs button { display:flex; align-items:center; gap:8px; min-height:48px; padding:9px 11px; border:1px solid var(--ri-border); border-radius:11px; background:var(--ri-paper); color:var(--ri-muted); font-size:11px; text-align:left; }
.ri-visual-tabs button span { display:grid; place-items:center; width:23px; height:23px; border-radius:8px; background:var(--ri-panel); font-size:9px; }
.ri-visual-tabs button[aria-pressed="true"] { border-color:var(--ri-accent); color:var(--ri-accent); background:var(--ri-accent-soft); font-weight:650; }
.ri-visual-frame { position:relative; display:grid; place-items:center; min-height:245px; overflow:hidden; border:1px solid var(--ri-border); border-radius:16px; background:linear-gradient(145deg,var(--ri-panel),var(--ri-paper)); }
.ri-visual-frame svg { display:block; width:min(100%,610px); max-height:255px; }
.ri-visual-note { display:flex; flex-direction:column; justify-content:center; padding:20px; border-radius:16px; background:var(--ri-accent-soft); }
.ri-visual-note>span { color:var(--ri-accent); font-size:10px; font-weight:700; }
.ri-visual-note>strong { margin:10px 0; font-size:15px; line-height:1.6; }
.ri-visual-note p { margin:0; color:var(--ri-muted); font-size:12px; line-height:1.75; }
.ri-discovery { display:flex; align-items:center; gap:18px; margin-top:12px; padding:10px 14px; border-radius:10px; background:var(--ri-panel); color:var(--ri-muted); }
.ri-discovery.is-ready { background:#e8f5e7; color:#2d7540; }
.ri-discovery strong { flex-shrink:0; font-size:11px; }
.ri-discovery p { margin:0; font-size:11px; line-height:1.65; }
.ri-grid path { stroke:#d6dbeb; stroke-width:1; }
.ri-vector { fill:none; stroke-width:5; stroke-linecap:round; }
.ri-vector.ri-a { stroke:var(--ri-accent); }.ri-vector.ri-b { stroke:var(--ri-warm); }
.ri-matrix path { fill:none; stroke:var(--ri-ink); stroke-width:4; }.ri-matrix text { fill:var(--ri-ink); font:600 28px Georgia,serif; text-anchor:middle; }
.ri-link { fill:none; stroke:var(--ri-accent); stroke-width:3; stroke-dasharray:5 5; }
.ri-axis { fill:none; stroke:var(--ri-ink); stroke-width:2.5; }
.ri-bars rect { fill:color-mix(in srgb,var(--ri-accent) 64%,white); }.ri-bars rect:nth-child(2n) { fill:var(--ri-accent); }
.ri-curve { fill:none; stroke:var(--ri-warm); stroke-width:5; stroke-linecap:round; }
.ri-samples circle { fill:var(--ri-warm); opacity:.72; }
.ri-number-ticks path,.ri-measure { stroke:var(--ri-muted); fill:none; stroke-width:2; }.ri-number-ticks text { fill:var(--ri-muted); font-size:12px; }
.ri-shape { fill:color-mix(in srgb,var(--ri-accent) 25%,transparent); stroke:var(--ri-accent); stroke-width:4; }.ri-area { fill:color-mix(in srgb,var(--ri-warm) 48%,transparent); stroke:var(--ri-warm); stroke-width:4; }
.ri-logic-node rect { fill:var(--ri-paper); stroke:var(--ri-border); stroke-width:2; }.ri-logic-node.is-focus rect { fill:var(--ri-accent-soft); stroke:var(--ri-accent); stroke-width:3; }.ri-logic-node text { fill:var(--ri-ink); font-size:18px; font-weight:650; text-anchor:middle; }.ri-logic-node .ri-logic-sub { fill:var(--ri-muted); font-size:11px; font-weight:400; }
.ri-word-map { position:relative; width:100%; min-height:245px; }
.ri-word-core { position:absolute; left:50%; top:50%; z-index:2; width:170px; min-height:96px; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px; border:2px solid var(--ri-accent); border-radius:26px; background:var(--ri-paper); box-shadow:0 8px 0 color-mix(in srgb,var(--ri-accent) 18%,transparent); }
.ri-word-core span,.ri-word-node span { color:var(--ri-accent); font-size:9px; font-weight:700; letter-spacing:.7px; }.ri-word-core strong { margin:3px 0; font-family:Georgia,serif; font-size:28px; }.ri-word-core small { color:var(--ri-muted); font-size:10px; }
.ri-word-node { position:absolute; z-index:2; display:flex; flex-direction:column; gap:4px; width:150px; padding:10px 12px; border:1px solid var(--ri-border); border-radius:12px; background:var(--ri-paper); }.ri-word-node b { font-size:10px; line-height:1.45; overflow-wrap:anywhere; }.ri-word-node.is-meaning { left:4%; top:12%; }.ri-word-node.is-collocation { right:4%; top:12%; }.ri-word-node.is-context { left:50%; bottom:7%; width:210px; transform:translateX(-50%); }
.ri-word-line { position:absolute; left:50%; top:50%; z-index:1; height:1px; width:35%; background:var(--ri-border); transform-origin:left; }.ri-word-line.a { transform:rotate(205deg); }.ri-word-line.b { transform:rotate(-25deg); }.ri-word-line.c { width:19%; transform:rotate(90deg); }
.ri-writing-sheet { position:relative; width:min(100%,500px); min-height:225px; padding:24px 25px 19px 48px; border:1px solid var(--ri-border); border-radius:8px; background:repeating-linear-gradient(to bottom,var(--ri-paper) 0,var(--ri-paper) 30px,#e8e6de 31px); box-shadow:0 8px 22px #35322710; }
.ri-writing-margin { position:absolute; left:34px; top:0; bottom:0; width:1px; background:#efb7ad; }.ri-writing-title { font-size:15px; font-weight:700; }
.ri-writing-block { display:flex; align-items:center; gap:9px; margin-top:13px; padding:7px 10px; border-radius:8px; background:color-mix(in srgb,var(--ri-accent-soft) 78%,transparent); }.ri-writing-block span { color:var(--ri-accent); font-size:9px; font-weight:700; }.ri-writing-block p { margin:0; font-size:11px; }.ri-writing-block.is-evidence { margin-left:24px; }.ri-writing-block.is-link { margin-left:48px; }
.ri-writing-bars rect { fill:color-mix(in srgb,var(--ri-accent) 55%,white); }.ri-writing-bars rect.is-focus { fill:var(--ri-accent); }.ri-writing-bars text { fill:var(--ri-muted); font-size:10px; text-anchor:middle; }
.ri-writing-trend { fill:none; stroke:var(--ri-warm); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }.ri-writing-callout rect { fill:var(--ri-accent-soft); stroke:var(--ri-accent); }.ri-writing-callout text { fill:var(--ri-ink); font-size:9px; text-anchor:middle; }
.ri-writing-argument rect { fill:var(--ri-paper); stroke:var(--ri-border); stroke-width:2; }.ri-writing-argument.is-focus rect { fill:var(--ri-accent-soft); stroke:var(--ri-accent); stroke-width:3; }.ri-writing-argument text { fill:var(--ri-ink); font-size:13px; font-weight:700; text-anchor:middle; }.ri-writing-argument .ri-writing-sub { fill:var(--ri-muted); font-size:9px; font-weight:400; }
.ri-message-layout { width:min(92%,460px); border:1px solid var(--ri-border); border-radius:16px; background:var(--ri-paper); box-shadow:0 10px 24px #35322710; overflow:hidden; }.ri-message-layout header,.ri-message-layout footer { display:flex; align-items:center; gap:15px; padding:13px 17px; background:var(--ri-panel); }.ri-message-layout section { padding:15px 17px; }.ri-message-layout span { color:var(--ri-accent); font-size:9px; font-weight:750; letter-spacing:.8px; }.ri-message-layout b { font-size:12px; }.ri-message-layout ul { display:grid; gap:8px; margin:10px 0 0; padding:0; list-style:none; }.ri-message-layout li { padding:8px 10px; border:1px solid var(--ri-border); border-radius:9px; color:var(--ri-muted); font-size:11px; }.ri-message-layout li.is-focus { border-color:var(--ri-accent); background:var(--ri-accent-soft); color:var(--ri-accent); font-weight:650; }

.ri-grammar-map { width:100%; min-height:240px; padding:18px 20px 6px; }
.ri-grammar-sentence { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; min-height:42px; }
.ri-grammar-sentence span { padding:5px 7px; border-bottom:2px solid var(--ri-border); color:var(--ri-muted); font:600 12px Georgia,serif; }
.ri-grammar-sentence span.is-focus { border-color:var(--ri-accent); border-radius:7px 7px 0 0; background:var(--ri-accent-soft); color:var(--ri-accent); }
.ri-grammar-arc,.ri-grammar-stem { fill:none; stroke:var(--ri-border); stroke-width:2; }.ri-grammar-arc.b { stroke-dasharray:5 5; }
.ri-grammar-node rect { fill:var(--ri-paper); stroke:var(--ri-border); stroke-width:2; }.ri-grammar-node.is-focus rect { fill:var(--ri-accent-soft); stroke:var(--ri-accent); stroke-width:3; }
.ri-grammar-node text { fill:var(--ri-ink); font-size:13px; font-weight:700; text-anchor:middle; }.ri-grammar-node .ri-grammar-copy { fill:var(--ri-muted); font-size:8px; font-weight:400; }
.ri-politics-line,.ri-balance { fill:none; stroke:var(--ri-muted); stroke-width:4; stroke-linecap:round; }.ri-balance-pan { fill:var(--ri-accent-soft); stroke:var(--ri-accent); stroke-width:3; }
.ri-politics-point circle { fill:var(--ri-paper); stroke:var(--ri-border); stroke-width:3; }.ri-politics-point.is-focus circle { fill:var(--ri-warm); stroke:var(--ri-accent); }
.ri-politics-point text,.ri-politics-node text,.ri-politics-card text { fill:var(--ri-ink); font-size:12px; font-weight:650; text-anchor:middle; }.ri-politics-point .ri-politics-caption,.ri-politics-caption { fill:var(--ri-muted); font-size:9px; font-weight:400; }
.ri-politics-core circle { fill:var(--ri-accent-soft); stroke:var(--ri-accent); stroke-width:3; }.ri-politics-core text { fill:var(--ri-ink); font-size:12px; font-weight:700; text-anchor:middle; }.ri-politics-core .ri-politics-caption { font-size:7px; font-weight:400; }
.ri-politics-node rect { fill:var(--ri-paper); stroke:var(--ri-border); stroke-width:2; }.ri-politics-node.is-focus rect { fill:var(--ri-warm); stroke:var(--ri-accent); }
.ri-ds-edges path { fill:none; stroke:var(--ri-border); stroke-width:3; }.ri-ds-node circle { fill:var(--ri-paper); stroke:var(--ri-accent); stroke-width:3; }.ri-ds-node.is-focus circle { fill:var(--ri-accent); }.ri-ds-node text { fill:var(--ri-ink); font-size:12px; font-weight:700; text-anchor:middle; }.ri-ds-node.is-focus text { fill:white; }
.ri-os-state rect,.ri-co-block rect,.ri-net-layer rect { fill:var(--ri-paper); stroke:var(--ri-border); stroke-width:2; }.ri-os-state.is-focus rect,.ri-co-block.is-focus rect,.ri-net-layer.is-focus rect { fill:var(--ri-accent-soft); stroke:var(--ri-accent); stroke-width:3; }
.ri-os-state text,.ri-co-block text,.ri-net-layer text { fill:var(--ri-ink); font-size:13px; font-weight:650; text-anchor:middle; }
.ri-os-memory rect { fill:var(--ri-panel); stroke:var(--ri-border); }.ri-os-memory rect.is-focus { fill:var(--ri-warm); stroke:var(--ri-accent); }.ri-os-memory text { fill:var(--ri-muted); font-size:8px; text-anchor:middle; }
.ri-net-path { fill:none; stroke:var(--ri-accent); stroke-width:4; stroke-dasharray:8 7; }.ri-packet rect { fill:var(--ri-warm); stroke:var(--ri-accent); }.ri-packet text { fill:#282719; font-size:10px; font-weight:700; text-anchor:middle; }
.ri-tech-figure { display:grid; grid-template-rows:minmax(0,1fr) auto; width:100%; max-width:100%; min-width:0; height:100%; margin:0; overflow:hidden; }
.ri-visual-frame .ri-tech-figure svg { display:block; width:100%; max-width:100%; height:auto; min-width:0; align-self:center; }
.ri-tech-figure figcaption { display:flex; align-items:baseline; justify-content:center; gap:8px; min-width:0; padding:4px 12px 8px; color:var(--ri-muted); text-align:center; }
.ri-tech-figure figcaption strong { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ri-ink); font-size:9px; }.ri-tech-figure figcaption span { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:8px; }
.ri-tech-box { fill:var(--ri-paper); stroke:var(--ri-border); stroke-width:2; }.ri-tech-box.is-focus { fill:var(--ri-accent-soft); stroke:var(--ri-accent); stroke-width:3; }
.ri-tech-wire { fill:none; stroke:var(--ri-border); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }.ri-tech-wire.is-focus { stroke:var(--ri-accent); stroke-width:4; }
.ri-tech-node circle,.ri-tech-dot { fill:var(--ri-paper); stroke:var(--ri-accent); stroke-width:2.5; }.ri-tech-node.is-focus circle,.ri-tech-dot.is-focus { fill:var(--ri-accent); stroke:var(--ri-accent); }
.ri-tech-node text { fill:var(--ri-ink); font-size:10px; font-weight:750; text-anchor:middle; }.ri-tech-node.is-focus text { fill:white; }
.ri-tech-label { fill:var(--ri-ink); font-size:10px; font-weight:700; text-anchor:middle; }.ri-tech-muted { fill:var(--ri-muted); font-size:8px; text-anchor:middle; }.ri-tech-note { fill:var(--ri-muted); font-size:9px; text-anchor:middle; }
.ri-tech-arrow { fill:var(--ri-accent); }.ri-tech-packet { fill:var(--ri-warm); stroke:var(--ri-accent); stroke-width:2; }

.ri-step-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; }
.ri-step-track button { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 10px; border:1px solid var(--ri-border); border-radius:10px; background:var(--ri-paper); color:var(--ri-muted); font-size:10px; text-align:left; }
.ri-step-track button span { display:grid; place-items:center; width:23px; height:23px; border-radius:7px; background:var(--ri-panel); flex-shrink:0; }
.ri-step-track button[aria-current="step"] { border-color:var(--ri-accent); color:var(--ri-accent); background:var(--ri-accent-soft); }
.ri-worked-step { min-height:116px; padding:17px 20px; border-radius:14px; background:var(--ri-panel); }
.ri-worked-step>span,.ri-example>span { color:var(--ri-accent); font-size:10px; font-weight:700; }
.ri-worked-step p { margin:8px 0 0; font-size:14px; line-height:1.8; white-space:pre-line; }
.ri-formula { margin-top:12px; padding:10px 13px; border-radius:9px; background:var(--ri-paper); font-size:17px; overflow:auto; }
.ri-example { margin-top:10px; padding:11px 14px; border:1px solid var(--ri-border); border-radius:11px; }
.ri-example p { margin:5px 0; font-size:12px; line-height:1.7; }.ri-example small { color:var(--ri-muted); font-size:10px; line-height:1.65; }
.ri-response-question>label { display:block; margin-bottom:7px; color:var(--ri-muted); font-size:10px; }
.ri-response-question textarea { width:100%; min-height:112px; resize:vertical; padding:12px 14px; border:1px solid var(--ri-border); border-radius:12px; background:var(--ri-paper); color:var(--ri-ink); font-size:13px; line-height:1.7; }
.ri-reference-answer { margin-top:12px; padding:14px 16px; border-radius:12px; background:var(--ri-accent-soft); }
.ri-reference-answer>span { color:var(--ri-accent); font-size:10px; font-weight:700; }.ri-reference-answer p { margin:6px 0; font-size:12px; line-height:1.75; }.ri-reference-answer small { color:var(--ri-muted); font-size:10px; line-height:1.6; }.ri-reference-answer>div { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }.ri-reference-answer button { min-height:36px; padding:7px 11px; border:1px solid var(--ri-border); border-radius:9px; background:var(--ri-paper); color:var(--ri-ink); font-size:10px; }.ri-reference-answer button:last-child { border-color:var(--ri-accent); color:var(--ri-accent); }
.ri-receipt { text-align:center; }.ri-receipt-star { display:grid; place-items:center; width:46px; height:46px; margin:0 auto 10px; border-radius:16px; background:var(--ri-warm); font-size:30px; }.ri-receipt>p:not(.ri-eyebrow) { color:var(--ri-muted); font-size:12px; }
.ri-receipt ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:14px 0; padding:0; list-style:none; text-align:left; }.ri-receipt li { display:flex; gap:9px; padding:12px; border:1px solid var(--ri-border); border-radius:11px; }.ri-receipt li>span { color:var(--ri-accent); font-size:9px; }.ri-receipt li p { margin:0; font-size:11px; line-height:1.65; }
.ri-receipt-evidence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.ri-receipt-evidence article { display:flex; flex-direction:column; gap:4px; padding:12px; border-radius:11px; background:var(--ri-panel); }.ri-receipt-evidence span,.ri-receipt-evidence small { color:var(--ri-muted); font-size:9px; }.ri-receipt-evidence strong { font-size:14px; }
.ri-receipt-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:14px; }.ri-receipt-actions button { min-height:41px; padding:9px 14px; border:1px solid var(--ri-border); border-radius:10px; background:var(--ri-paper); color:var(--ri-ink); font-size:11px; }.ri-receipt-actions .ri-primary { border:0; background:var(--ri-warm); }

[data-theme="dark"] .ri-shell { --ri-ink:#f2f3ed; --ri-muted:#aab1a3; --ri-border:#41483d; --ri-paper:#1b2019; --ri-panel:#262c23; }
[data-theme="dark"] .ri-shell[data-rich-kind="linear"] { --ri-accent-soft:#252d4b; }
[data-theme="dark"] .ri-shell[data-rich-kind="probability"] { --ri-accent-soft:#183733; }
[data-theme="dark"] .ri-shell[data-rich-kind^="english"] { --ri-accent-soft:#322a43; }
[data-theme="dark"] .ri-shell[data-rich-kind^="politics"] { --ri-accent-soft:#422622; }
[data-theme="dark"] .ri-shell[data-rich-kind="dataStructures"] { --ri-accent-soft:#1c3930; }
[data-theme="dark"] .ri-shell[data-rich-kind="operatingSystems"] { --ri-accent-soft:#312b43; }
[data-theme="dark"] .ri-shell[data-rich-kind="computerNetworks"] { --ri-accent-soft:#1b3442; }
[data-theme="dark"] .ri-shell[data-rich-kind="computerOrganization"] { --ri-accent-soft:#422f1e; }
[data-theme="dark"] .ri-shell[data-rich-kind="mbaMath"] { --ri-accent-soft:#402d20; }
[data-theme="dark"] .ri-shell[data-rich-kind="mbaLogic"] { --ri-accent-soft:#1c343d; }
[data-theme="dark"] .ri-shell[data-rich-kind="mbaWriting"] { --ri-accent-soft:#3c2925; }
[data-theme="dark"] .ri-hint { background:#3a321c; }.ri-shell[data-theme="dark"] .ri-option.is-correct,[data-theme="dark"] .ri-option.is-correct,[data-theme="dark"] .ri-feedback.is-success,[data-theme="dark"] .ri-discovery.is-ready { background:#203a23; color:#9dd8a4; }[data-theme="dark"] .ri-option.is-wrong,[data-theme="dark"] .ri-option.is-missed,[data-theme="dark"] .ri-feedback.is-retry { background:#3d321b; color:#e4c96c; }

@media(max-width:1050px){
  .ri-visual-layout { grid-template-columns:130px 1fr; }.ri-visual-note { grid-column:1/-1; padding:12px 15px; }.ri-visual-note>strong { margin:5px 0; }.ri-visual-frame { min-height:220px; }
  .ri-footer { padding-right:200px; }
}
@media(max-width:700px){
  body:has(.ri-shell) .view-container { padding:8px 12px 12px; }
  .rc-study-page { height:calc(100dvh - 87px); min-height:360px; gap:6px; }.rc-study-page .course-detail-back { min-height:22px; font-size:10px; gap:8px; }.ri-shell { border-radius:15px; }
  .ri-header { padding:9px 14px; gap:8px; }.ri-header strong { font-size:12px; }.ri-header small { font-size:9px; }.ri-brand-star { width:28px; height:28px; border-radius:10px; font-size:21px; }.ri-header>button { font-size:10px; }
  .ri-progress-wrap { padding:10px 14px 0; }.ri-progress { gap:4px; }.ri-progress button span { font-size:8px; }.ri-progress-info { margin-top:7px; font-size:9px; }
  .ri-main { padding:12px 16px 15px; }.ri-main h2 { font-size:21px; margin-bottom:9px; }.ri-description { font-size:12px; line-height:1.65; margin-bottom:10px; }.ri-scene-card p { display:none; }
  .ri-question h3 { font-size:13px; margin:10px 0 8px; }.ri-option { min-height:42px; padding:8px 10px; }.ri-option>b { font-size:11px; }
  .ri-footer { position:relative; min-height:108px; padding:9px 13px 58px; gap:8px; }.ri-footer button { min-height:40px; padding:9px 11px; font-size:10px; }
  .ri-visual-layout { display:flex; flex-direction:column; }.ri-visual-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }.ri-visual-tabs button { flex-direction:column; justify-content:center; min-height:55px; gap:4px; padding:6px; font-size:9px; text-align:center; }.ri-visual-frame { min-height:185px; }.ri-visual-frame svg { max-height:205px; }.ri-visual-note { display:none; }.ri-discovery { margin-top:8px; }
  .ri-word-map { min-height:190px; }.ri-word-core { width:130px; min-height:76px; }.ri-word-core strong { font-size:22px; }.ri-word-node { width:108px; padding:7px; }.ri-word-node b { font-size:8px; }.ri-word-node.is-context { width:165px; }.ri-writing-sheet { min-height:185px; padding-top:17px; }
  .ri-grammar-map { min-height:185px; padding:10px 6px 0; }.ri-grammar-sentence { gap:3px; }.ri-grammar-sentence span { padding:3px 4px; font-size:9px; }
  .ri-step-track { gap:4px; }.ri-step-track button { flex-direction:column; justify-content:center; gap:4px; padding:6px; min-height:54px; font-size:9px; text-align:center; }.ri-worked-step { padding:12px; }.ri-worked-step p { font-size:12px; }
  .ri-receipt ul,.ri-receipt-evidence { grid-template-columns:1fr; }.ri-receipt ul { gap:5px; }.ri-receipt li { padding:8px 10px; }.ri-receipt-evidence article { padding:9px; }
  .rc-hero-art { width:66px; height:66px; flex-basis:66px; border-radius:20px; }.rc-hero-art img { width:56px; height:56px; }.rc-hero-art i { display:none; }
}
@media(max-height:720px) and (min-width:701px){
  .ri-header { padding-block:8px; }.ri-progress-wrap { padding-top:9px; }.ri-main { padding-top:12px; }.ri-main h2 { font-size:23px; }.ri-main>.ri-eyebrow { display:none; }.ri-description { margin-bottom:9px; }.ri-scene-card { display:none; }.ri-visual-frame { min-height:205px; }.ri-visual-frame svg { max-height:215px; }
}
@media(prefers-reduced-motion:reduce){.rc-hero-art i{display:none}}

/* Authored management classroom additions. */
.ri-shell[data-rich-kind="mbaMath"] .mba-math-lab { width:100%; margin:0; padding:16px 12px; border:0; background:transparent; }
.ri-shell[data-rich-kind="mbaMath"] .mba-math-lab .clab-plot { width:100%; margin:0 auto; }
.ri-shell[data-rich-kind="mbaMath"] .mba-math-lab svg { width:100%; height:auto; max-height:none; }
.ri-shell[data-rich-kind="mbaMath"] .mba-math-lab .clab-tick { font-size:14px; fill:var(--clab-ink); }
.ri-exam-source { margin:14px 0; color:var(--ri-accent); font-size:13px; font-weight:650; }
.ri-concept-intro { max-width:960px; }
.ri-concept-summary { margin:0 0 18px; color:var(--ri-muted); font-size:15px; line-height:1.9; }
.ri-concept-topics { display:grid; gap:12px; margin:0; }
.ri-concept-topics>div { padding:16px 20px; border:1px solid var(--ri-border); border-radius:14px; background:var(--ri-panel); }
.ri-concept-topics dt { display:flex; align-items:center; gap:10px; color:var(--ri-ink); font-size:14px; font-weight:700; line-height:1.6; }
.ri-concept-topics dt>span { flex-shrink:0; color:var(--ri-accent); font-size:11px; }
.ri-concept-topics dd { margin:9px 0 0; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.ri-concept-outcome { margin-top:16px; padding:14px 20px; border-left:3px solid var(--ri-accent); border-radius:0 12px 12px 0; background:var(--ri-accent-soft); }
.ri-concept-outcome strong { color:var(--ri-accent); font-size:12px; }
.ri-concept-outcome p { margin:7px 0 0; font-size:14px; line-height:1.8; }
@media (max-width:700px) {
  .ri-concept-summary { margin-bottom:12px; font-size:13px; line-height:1.85; }.ri-concept-topics { gap:9px; }.ri-concept-topics>div { padding:12px; }.ri-concept-topics dt { gap:7px; font-size:13px; }.ri-concept-topics dd { margin-top:7px; font-size:13px; line-height:1.85; }.ri-concept-outcome { padding:12px; }.ri-concept-outcome p { font-size:13px; }
}
