@layer taibu-oracle-components{:where(.tb-oracle-scope,:root){--tb-bone: #f1e7d2;--tb-bone-soft: #e8ddc7;--tb-bone-light: #f8f2e5;--tb-paper-warm: #f4ead6;--tb-ink: #1c1712;--tb-ink-soft: #2a211a;--tb-muted: rgba(28, 23, 18, .68);--tb-faint: rgba(28, 23, 18, .5);--tb-line: rgba(28, 23, 18, .16);--tb-line-strong: rgba(28, 23, 18, .28);--tb-red: #8e2d21;--tb-red-deep: #6f2119;--tb-red-hover: #a33a2c;--tb-red-soft: rgba(142, 45, 33, .1);--tb-bronze: #7a5b2e;--tb-bronze-soft: #b89a5e;--tb-jade: #466b3f;--tb-warning: #9a6a1e;--tb-info: #5e6b73;--tb-radius-sm: 4px;--tb-radius-md: 6px;--tb-radius-lg: 8px;--tb-radius-xl: 12px;--tb-radius-pill: 999px;--tb-font-ui: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--tb-font-display: "Zhuque Fangsong", "Source Han Serif SC", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--tb-font-mono: "Geist Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--tb-focus: 0 0 0 3px rgba(142, 45, 33, .14)}.tb-icon{display:inline-block;flex:none;width:1.12em;height:1.12em;color:currentColor;vertical-align:-.16em}.tb-icon--sm{width:.95em;height:.95em}.tb-icon--lg{width:1.45em;height:1.45em}.tb-icon--xl{width:2.25em;height:2.25em}.tb-icon--full{width:100%;height:100%}.tb-button{--tb-button-corner: rgba(122, 91, 46, .5);--tb-button-inner: rgba(122, 91, 46, .42);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:46px;padding:0 24px;border:1px solid var(--tb-button-inner);border-radius:9px;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.38),transparent 25%),linear-gradient(180deg,#f8f2e5f0,#efe5d1e6);color:var(--tb-ink);font-family:var(--tb-font-ui);font-size:15px;font-weight:850;line-height:1;letter-spacing:0;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff80,0 2px #7a5b2e2e;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.tb-button:before,.tb-button:after{position:absolute;content:"";pointer-events:none}.tb-button:before{inset:4px;border:1px solid var(--tb-button-inner);border-radius:5px;opacity:.72}.tb-button:after{inset:7px;opacity:.72;background:linear-gradient(90deg,var(--tb-button-corner) 8px,transparent 0) left top / 18px 1px no-repeat,linear-gradient(180deg,var(--tb-button-corner) 8px,transparent 0) left top / 1px 18px no-repeat,linear-gradient(270deg,var(--tb-button-corner) 8px,transparent 0) right top / 18px 1px no-repeat,linear-gradient(180deg,var(--tb-button-corner) 8px,transparent 0) right top / 1px 18px no-repeat,linear-gradient(90deg,var(--tb-button-corner) 8px,transparent 0) left bottom / 18px 1px no-repeat,linear-gradient(0deg,var(--tb-button-corner) 8px,transparent 0) left bottom / 1px 18px no-repeat,linear-gradient(270deg,var(--tb-button-corner) 8px,transparent 0) right bottom / 18px 1px no-repeat,linear-gradient(0deg,var(--tb-button-corner) 8px,transparent 0) right bottom / 1px 18px no-repeat}.tb-button__label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:.5em}.tb-button:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff8c,0 4px #7a5b2e29}.tb-button.is-demo-hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff94,0 4px #7a5b2e2e}.tb-button:active{transform:translateY(1px);box-shadow:inset 0 2px 6px #1c171224,0 1px #7a5b2e24}.tb-button.is-demo-pressed{transform:translateY(1px);box-shadow:inset 0 3px 8px #1c171238,0 1px #7a5b2e1f}.tb-button:focus-visible{outline:0;box-shadow:var(--tb-focus)}.tb-button[aria-disabled=true],.tb-button:disabled{border-color:#1c17121a;background:radial-gradient(circle at 24% 18%,rgba(255,255,255,.28),transparent 24%),linear-gradient(180deg,#ece7dc94,#ded7c980);color:#1c171257;cursor:not-allowed;box-shadow:none;transform:none}.tb-button--primary{--tb-button-corner: rgba(248, 226, 181, .76);--tb-button-inner: rgba(248, 226, 181, .42);border-color:var(--tb-red-deep);background:radial-gradient(circle at 18% 30%,rgba(255,226,178,.26),transparent 22%),radial-gradient(circle at 78% 76%,rgba(111,33,25,.58),transparent 38%),linear-gradient(180deg,#ad3c2b 0%,var(--tb-red) 54%,#75241b 100%);color:var(--tb-bone-light);text-shadow:0 1px 0 rgba(70,18,13,.32);box-shadow:inset 0 0 0 1px #ffd8a838,inset 0 -8px 18px #450f0a33,0 5px #6f211938,0 12px 18px #6f211929}.tb-button--primary:hover{border-color:#7b241b;background:radial-gradient(circle at 18% 30%,rgba(255,226,178,.28),transparent 22%),radial-gradient(circle at 78% 76%,rgba(111,33,25,.52),transparent 38%),linear-gradient(180deg,#bb4432 0%,var(--tb-red-hover) 55%,#7c261d 100%)}.tb-button--secondary{--tb-button-corner: rgba(122, 91, 46, .48);--tb-button-inner: rgba(122, 91, 46, .34);border-color:#7a5b2e57;background:radial-gradient(circle at 90% 64%,rgba(184,154,94,.1),transparent 28%),linear-gradient(180deg,#fffaeff5,#f2e8d5e6);color:var(--tb-ink)}.tb-button--secondary:hover{--tb-button-corner: rgba(142, 45, 33, .52);--tb-button-inner: rgba(142, 45, 33, .34);border-color:#8e2d216b;color:var(--tb-red)}.tb-button--ghost{--tb-button-corner: rgba(142, 45, 33, .34);--tb-button-inner: rgba(142, 45, 33, .22);border-color:#8e2d212e;background:radial-gradient(circle at 88% 72%,rgba(184,154,94,.18),transparent 28%),linear-gradient(180deg,#f8f2e5b8,#f8f2e575);color:var(--tb-red);box-shadow:inset 0 0 0 1px #ffffff61}.tb-button--ghost:hover{background:radial-gradient(circle at 88% 72%,rgba(184,154,94,.22),transparent 28%),linear-gradient(180deg,#f8f2e5e0,#f5ecd9b3)}.tb-button--ink{--tb-button-corner: rgba(184, 154, 94, .76);--tb-button-inner: rgba(184, 154, 94, .44);border-color:var(--tb-ink);background:radial-gradient(circle at 28% 32%,rgba(184,154,94,.2),transparent 28%),linear-gradient(180deg,#2a211a,var(--tb-ink));color:var(--tb-bone-light)}.tb-button--danger{--tb-button-corner: rgba(154, 106, 30, .56);--tb-button-inner: rgba(154, 106, 30, .38);border-color:#9a6a1e8a;background:radial-gradient(circle at 12% 28%,rgba(255,242,207,.28),transparent 28%),linear-gradient(180deg,#c78936,var(--tb-warning));color:#fff5df}.tb-button--correct{--tb-button-corner: rgba(226, 239, 207, .58);--tb-button-inner: rgba(226, 239, 207, .42);border-color:#466b3fb8;background:radial-gradient(circle at 16% 28%,rgba(226,239,207,.24),transparent 28%),linear-gradient(180deg,#63875b,var(--tb-jade));color:#f4f7eb}.tb-button--warning{--tb-button-corner: rgba(142, 45, 33, .46);--tb-button-inner: rgba(142, 45, 33, .28);border-color:#8e2d21b8;background:radial-gradient(circle at 84% 70%,rgba(142,45,33,.08),transparent 30%),linear-gradient(180deg,#fffaeff0,#f8f2e5c2);color:var(--tb-red);box-shadow:inset 0 0 0 1px #ffffff7a,0 2px #8e2d211a}.tb-button--warning:hover{background:radial-gradient(circle at 84% 70%,rgba(142,45,33,.12),transparent 30%),linear-gradient(180deg,#fffaeffa,#f4dedab8)}.tb-button--text{min-height:32px;padding:0 2px 3px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--tb-red);box-shadow:none}.tb-button--text:before,.tb-button--text:after{display:none}.tb-button--text:hover,.tb-button--text.is-demo-hover{transform:none;border-bottom-color:currentColor;box-shadow:none}.tb-button--text:active,.tb-button--text.is-demo-pressed{transform:translateY(1px);box-shadow:none}.tb-button--sm{min-height:36px;padding:0 16px;border-radius:7px;font-size:13px}.tb-button--sm:before{inset:3px;border-radius:4px}.tb-button--sm:after{inset:6px;background-size:12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px}.tb-button--lg{min-height:58px;padding:0 38px;border-radius:13px;font-size:20px;font-weight:850}.tb-button--lg:before{inset:5px;border-radius:8px}.tb-button--icon{width:44px;min-width:44px;padding:0;font-family:var(--tb-font-display);font-size:20px}.tb-chip{--tb-chip-line: rgba(122, 91, 46, .32);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 16px;border:1px solid var(--tb-chip-line);border-radius:var(--tb-radius-pill);background:radial-gradient(circle at 88% 64%,rgba(184,154,94,.14),transparent 26%),linear-gradient(180deg,#fffaeff0,#f1e7d2b8);color:#1c1712bd;font-family:var(--tb-font-ui);font-size:13px;font-weight:850;line-height:1;text-decoration:none;box-shadow:inset 0 0 0 1px #ffffff6b}.tb-chip:before{width:5px;height:5px;border:1px solid currentColor;border-radius:50%;content:"";opacity:.56}.tb-chip--selected{--tb-chip-line: var(--tb-red-deep);background:radial-gradient(circle at 22% 28%,rgba(255,226,178,.22),transparent 24%),linear-gradient(180deg,#ad3c2b,var(--tb-red));color:var(--tb-bone-light);box-shadow:inset 0 0 0 1px #ffe2b238,0 3px #6f211929}.tb-chip--success{--tb-chip-line: rgba(70, 107, 63, .38);background:#466b3f1a;color:var(--tb-jade)}.tb-chip--bronze{--tb-chip-line: rgba(184, 154, 94, .44);color:var(--tb-bronze)}.tb-chip--wood{--tb-chip-line: rgba(70, 107, 63, .38);color:var(--tb-jade)}.tb-chip--fire,.tb-chip--required,.tb-chip--elective{--tb-chip-line: rgba(142, 45, 33, .34);color:var(--tb-red)}.tb-chip--earth{--tb-chip-line: rgba(154, 106, 30, .38);color:var(--tb-warning)}.tb-chip--metal{--tb-chip-line: rgba(28, 23, 18, .24);color:#1c171294}.tb-chip--water{--tb-chip-line: rgba(94, 107, 115, .38);color:var(--tb-info)}.tb-chip--wood:before{background:var(--tb-jade);border-color:var(--tb-jade)}.tb-chip--fire:before,.tb-chip--required:before,.tb-chip--elective:before{background:var(--tb-red);border-color:var(--tb-red)}.tb-chip--earth:before{background:var(--tb-warning);border-color:var(--tb-warning)}.tb-chip--metal:before{background:#1c17127a;border-color:#1c17127a}.tb-chip--water:before{background:var(--tb-info);border-color:var(--tb-info)}.tb-card{--tb-card-line: rgba(122, 91, 46, .24);--tb-card-corner: rgba(184, 154, 94, .5);position:relative;display:block;overflow:hidden;border:1px solid var(--tb-card-line);border-radius:var(--tb-radius-xl);background:radial-gradient(circle at 86% 14%,rgba(184,154,94,.16),transparent 26%),radial-gradient(circle at 12% 92%,rgba(142,45,33,.06),transparent 28%),linear-gradient(180deg,#fffaefdb,#f2e8d5c2);color:var(--tb-ink);text-decoration:none;box-shadow:inset 0 0 0 1px #ffffff6b,0 4px #7a5b2e0f}.tb-card:before,.tb-card:after{position:absolute;content:"";pointer-events:none}.tb-card:before{inset:8px;border:1px solid rgba(122,91,46,.16);border-radius:8px}.tb-card:after{inset:12px;opacity:.76;background:linear-gradient(90deg,var(--tb-card-corner) 16px,transparent 0) left top / 32px 1px no-repeat,linear-gradient(180deg,var(--tb-card-corner) 16px,transparent 0) left top / 1px 32px no-repeat,linear-gradient(270deg,var(--tb-card-corner) 16px,transparent 0) right top / 32px 1px no-repeat,linear-gradient(180deg,var(--tb-card-corner) 16px,transparent 0) right top / 1px 32px no-repeat,linear-gradient(90deg,var(--tb-card-corner) 16px,transparent 0) left bottom / 32px 1px no-repeat,linear-gradient(0deg,var(--tb-card-corner) 16px,transparent 0) left bottom / 1px 32px no-repeat,linear-gradient(270deg,var(--tb-card-corner) 16px,transparent 0) right bottom / 32px 1px no-repeat,linear-gradient(0deg,var(--tb-card-corner) 16px,transparent 0) right bottom / 1px 32px no-repeat}.tb-card:is(a,button){cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.tb-card:is(a,button):hover{--tb-card-line: rgba(142, 45, 33, .34);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffff85,0 7px #7a5b2e14}.tb-card:is(a,button):focus-visible{outline:0;box-shadow:var(--tb-focus)}.tb-card__inner{position:relative;z-index:1;display:grid;gap:14px;padding:26px}.tb-card__kicker{color:var(--tb-red);font-size:13px;font-weight:850;line-height:1.2}.tb-card__title{margin:0;color:var(--tb-ink);font-family:var(--tb-font-ui);font-size:22px;font-weight:850;line-height:1.25;letter-spacing:0}.tb-card__title--display{font-family:var(--tb-font-display);font-size:clamp(34px,5vw,52px);font-weight:400;line-height:1.04}.tb-card__body{margin:0;color:var(--tb-muted);font-size:15px;line-height:1.75}.tb-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--tb-faint);font-size:13px;font-weight:750}.tb-card__action{display:inline-flex;align-items:center;gap:8px;color:var(--tb-red);font-size:14px;font-weight:850}.tb-card__action:after{width:18px;height:18px;border:1px solid currentColor;border-radius:50%;content:"›";display:inline-flex;align-items:center;justify-content:center;font-family:var(--tb-font-mono);font-size:14px;line-height:1}.tb-card--book,.tb-card--book .tb-card__inner{min-height:232px}.tb-book-entry .tb-card__inner{gap:18px}.tb-book-entry__layout{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start}.tb-book-cover{position:relative;display:grid;place-items:center;min-height:142px;border:1px solid rgba(28,23,18,.34);border-radius:5px;background:radial-gradient(circle at 72% 16%,rgba(184,154,94,.18),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.08) 0 8px,transparent 8px 100%),linear-gradient(180deg,#263332,#1d2928);color:#d7c18b;box-shadow:inset 6px 0 #ffffff0d,inset 0 0 0 4px #00000014,0 8px 18px #1c171224}.tb-book-cover span{max-width:1.2em;font-family:var(--tb-font-display);font-size:26px;line-height:1.16;text-align:center}.tb-book-cover em{position:absolute;right:9px;bottom:9px;width:22px;height:22px;border:1px solid rgba(183,70,53,.78);color:#d38b5c;font-family:var(--tb-font-ui);font-size:11px;font-style:normal;font-weight:850;line-height:20px;text-align:center}.tb-book-cover__seal{position:absolute;right:7px;bottom:7px;width:20px;height:20px;color:#b74635;filter:drop-shadow(0 1px 2px rgba(28,23,18,.22))}.tb-book-cover:has(.tb-book-cover__seal) em{display:none}.tb-book-copy,.tb-course-entry__copy{display:grid;gap:10px;min-width:0}.tb-book-copy__category{color:var(--tb-red);font-size:13px;font-weight:850}.tb-book-copy h3,.tb-course-entry h3{margin:0;font-family:var(--tb-font-display);font-size:32px;font-weight:400;line-height:1.1;letter-spacing:0}.tb-book-copy p,.tb-course-entry p{margin:0;color:var(--tb-muted);font-size:14px;line-height:1.74}.tb-book-entry__foot,.tb-course-entry__foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding-top:4px}.tb-card--course{--tb-card-corner: rgba(142, 45, 33, .38);min-height:286px;background:radial-gradient(circle at 50% 44%,rgba(184,154,94,.14),transparent 36%),radial-gradient(circle at 86% 12%,rgba(142,45,33,.08),transparent 26%),linear-gradient(180deg,#fffaefe0,#f1e7d2bd)}.tb-card--course .tb-card__inner{min-height:286px}.tb-course-entry{display:grid;gap:18px;min-height:234px}.tb-course-entry__top{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;align-items:start;text-align:left}.tb-course-entry__module{display:inline-flex;width:fit-content;align-items:center;min-height:24px;border:1px solid rgba(142,45,33,.2);border-radius:var(--tb-radius-pill);background:#8e2d210f;color:var(--tb-red);padding:0 9px;font-size:13px;font-weight:850}.tb-course-orbit{position:relative;flex:0 0 104px;width:104px;height:104px;border:1px solid rgba(122,91,46,.2);border-radius:50%;background:radial-gradient(circle,rgba(142,45,33,.08) 0 30%,transparent 31%),radial-gradient(circle,transparent 0 58%,rgba(122,91,46,.18) 59% 60%,transparent 61%)}.tb-course-orbit span{position:absolute;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(122,91,46,.24);border-radius:50%;background:#f8f2e5db;color:#1c17129e;font-size:12px;font-weight:850}.tb-course-orbit span:nth-child(1){top:-4px;left:36px;color:var(--tb-red)}.tb-course-orbit span:nth-child(2){top:36px;right:-4px}.tb-course-orbit span:nth-child(3){bottom:-4px;left:36px}.tb-course-orbit span:nth-child(4){top:36px;left:-4px}.tb-course-compass{width:min(132px,100%);height:auto;max-height:132px;color:#7a5b2e7a;overflow:visible}.tb-course-compass text{fill:#1c1712b8;font-family:var(--tb-font-ui);letter-spacing:0}.tb-course-compass circle:not(.is-active){fill:#f8f2e5e6;stroke:#7a5b2e38}.tb-course-compass .is-active{fill:var(--tb-red);stroke:var(--tb-red-deep);filter:drop-shadow(0 3px 5px rgba(111,33,25,.2))}.tb-course-compass .is-active-text{fill:var(--tb-bone-light)}.tb-course-visual{position:relative;display:grid;place-items:center;width:150px;aspect-ratio:1;margin:-4px -4px 0 0;border:1px solid rgba(122,91,46,.16);border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(248,242,229,.94) 0 28%,rgba(241,231,210,.74) 29% 58%,transparent 59%),radial-gradient(circle at 50% 50%,rgba(184,154,94,.16),transparent 66%);color:#7a5b2e94}.tb-course-visual:before,.tb-course-visual:after{position:absolute;pointer-events:none;content:""}.tb-course-visual:before{inset:13px;border:1px dashed rgba(122,91,46,.18);border-radius:50%}.tb-course-visual:after{inset:36px;border:1px solid rgba(142,45,33,.12);border-radius:50%;background:#fffaef33}.tb-course-visual svg{position:relative;z-index:1;display:block;width:136px;height:auto;overflow:visible}.tb-course-visual text{fill:#1c1712bd;font-family:var(--tb-font-ui);font-size:13px;font-weight:850;letter-spacing:0;text-anchor:middle}.tb-course-visual__ring circle,.tb-course-visual__grid rect,.tb-course-visual__grid path,.tb-course-visual__palace rect,.tb-course-visual__palace path,.tb-course-visual__calendar circle,.tb-course-visual__calendar line,.tb-course-visual__script rect,.tb-course-visual__script path,.tb-course-visual__landform path,.tb-course-visual__landform circle,.tb-course-visual__hexagram rect,.tb-course-visual__palm{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.tb-course-visual__pillars rect{fill:#f8f2e5db;stroke:#7a5b2e57;stroke-width:1}.tb-course-visual__pillars line{stroke:#7a5b2e3d;stroke-width:1}.tb-course-visual__pillars text{fill:var(--tb-red);font-size:15px}.tb-course-visual__nodes circle,.tb-course-visual__dots circle,.tb-course-visual__orbit-points circle,.tb-course-visual__stars circle{fill:#8e2d21c7;stroke:#6f211970;stroke-width:1}.tb-course-visual__stroke,.tb-course-visual__stars path{fill:none;stroke:var(--tb-red);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;opacity:.78}.tb-course-visual__numbers text{fill:var(--tb-red);font-family:var(--tb-font-display);font-size:18px;font-weight:400}.tb-course-visual__labels text{fill:#1c17129e;font-size:12px}.tb-course-visual__palace .is-active,.tb-course-visual__calendar .is-active{fill:#8e2d211f;stroke:var(--tb-red)}.tb-course-visual__liuren circle{fill:#f8f2e5eb;stroke:#7a5b2e3d;stroke-width:1}.tb-course-visual__liuren .is-active circle{fill:var(--tb-red);stroke:var(--tb-red-deep)}.tb-course-visual__liuren .is-active text{fill:var(--tb-bone-light)}.tb-course-visual__hexagram rect{fill:var(--tb-red);stroke:none}.tb-course-visual__calendar text{fill:var(--tb-red);font-size:12px}.tb-course-progress{display:grid;gap:8px;width:100%;margin-top:auto}.tb-course-progress__label{display:flex;align-items:center;justify-content:space-between;color:var(--tb-muted);font-size:13px;font-weight:800}.tb-course-progress__bar{overflow:hidden;height:6px;border:1px solid rgba(122,91,46,.2);border-radius:var(--tb-radius-pill);background:#7a5b2e17}.tb-course-progress__fill{display:block;width:var(--tb-progress, 0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tb-red),#b74635)}.tb-card--practice{--tb-card-corner: rgba(122, 91, 46, .38);background:radial-gradient(circle at 50% 18%,rgba(122,91,46,.12),transparent 28%),linear-gradient(180deg,#fffaefe0,#f2e8d5c2)}.tb-card--result{--tb-card-corner: rgba(122, 91, 46, .38);border-color:#7a5b2e3d}.tb-card--correct{--tb-card-corner: rgba(70, 107, 63, .44);border-color:#466b3f57;background:radial-gradient(circle at 18% 18%,rgba(70,107,63,.12),transparent 30%),linear-gradient(180deg,#f8f2e5e6,#eee7d6cc)}.tb-card--wrong{--tb-card-corner: rgba(142, 45, 33, .42);border-color:#8e2d215c;background:radial-gradient(circle at 18% 18%,rgba(142,45,33,.12),transparent 30%),linear-gradient(180deg,#f8f2e5e6,#eee7d6cc)}.tb-card--source{--tb-card-corner: rgba(184, 154, 94, .42);border-color:#7a5b2e3d;background:radial-gradient(circle at 92% 12%,rgba(184,154,94,.12),transparent 28%),linear-gradient(180deg,#fffaefeb,#f8f2e5c2)}.tb-card--source .tb-card__body{color:var(--tb-ink);font-family:var(--tb-font-display);font-size:24px;line-height:1.72}.tb-lesson-card .tb-card__inner,.tb-case-card .tb-card__inner,.tb-favorite-card .tb-card__inner,.tb-practice-summary-card .tb-card__inner{min-height:238px;align-content:start}.tb-lesson-card .tb-card__inner{background:radial-gradient(circle at 84% 16%,rgba(184,154,94,.16),transparent 18%),radial-gradient(circle at 86% 20%,transparent 0 28px,rgba(184,154,94,.22) 29px 30px,transparent 31px)}.tb-lesson-card__watermark{position:absolute;top:18px;right:18px;width:86px;height:48px;color:#b89a5e61;pointer-events:none}.tb-lesson-card__label,.tb-case-card__badge{color:#1c17128f;font-size:13px;font-weight:800}.tb-lesson-card h3,.tb-case-card h3,.tb-favorite-card h3,.tb-practice-summary-card h3{margin:0;font-family:var(--tb-font-display);font-size:31px;font-weight:400;line-height:1.14;letter-spacing:0}.tb-lesson-card p,.tb-case-card p,.tb-favorite-card p,.tb-practice-summary-card p{margin:0;color:var(--tb-muted);font-size:14px;line-height:1.72}.tb-lesson-card__mountain{height:32px;margin-top:auto;opacity:.42;background:linear-gradient(135deg,transparent 0 46%,rgba(184,154,94,.28) 47% 51%,transparent 52%) 10% 100% / 28% 100% no-repeat,linear-gradient(45deg,transparent 0 44%,rgba(184,154,94,.28) 45% 50%,transparent 51%) 36% 100% / 36% 100% no-repeat,linear-gradient(135deg,transparent 0 46%,rgba(184,154,94,.22) 47% 51%,transparent 52%) 70% 100% / 30% 80% no-repeat}.tb-lesson-card__foot,.tb-case-card__foot{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;color:var(--tb-muted);font-size:13px;font-weight:750}.tb-lesson-card__foot>span:first-child{display:inline-flex;gap:6px;align-items:center}.tb-case-card__stars{display:inline-flex;gap:2px;color:#7a5b2e3d}.tb-case-card__stars i{font-style:normal}.tb-case-card__stars .is-active{color:var(--tb-bronze)}.tb-favorite-card{--tb-card-corner: rgba(184, 154, 94, .42)}.tb-favorite-card__ribbon{position:absolute;top:0;right:28px;z-index:2;width:24px;height:48px;background:linear-gradient(180deg,#b74635,var(--tb-red));clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}.tb-favorite-card strong{color:var(--tb-ink);font-family:var(--tb-font-display);font-size:48px;font-weight:400;line-height:1}.tb-favorite-card__books{position:absolute;right:26px;bottom:48px;width:104px;height:64px;color:#7a5b2e6b;opacity:.5}.tb-practice-summary-card .tb-card__inner{justify-items:center;text-align:center}.tb-practice-summary-card__seal{display:grid;place-items:center;width:74px;height:74px;border:1px solid rgba(122,91,46,.34);border-radius:50%;background:radial-gradient(circle,rgba(184,154,94,.16),transparent 62%),#f8f2e5b8;color:var(--tb-bronze)}.tb-practice-summary-card__seal .tb-icon{width:32px;height:38px}.tb-state-row{display:grid;gap:12px;align-items:start}.tb-state-dot{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(122,91,46,.26);border-radius:50%;background:radial-gradient(circle,rgba(184,154,94,.13),transparent 62%),#f8f2e5c7;color:var(--tb-red);font-family:var(--tb-font-display);font-size:17px;font-weight:400}.tb-state-dot .tb-icon{width:19px;height:19px}.tb-practice-entry-card .tb-state-dot{justify-self:start}.tb-result-entry-card .tb-card__inner{gap:16px}.tb-result-entry__status{display:inline-flex;align-items:center;gap:10px;color:var(--tb-red);font-size:28px;font-weight:850;line-height:1.1;letter-spacing:0}.tb-result-entry__status strong{font:inherit}.tb-result-entry-card--correct .tb-result-entry__status{color:var(--tb-jade)}.tb-result-entry-card--wrong .tb-result-entry__status{color:var(--tb-warning)}.tb-pattern-rule{height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(122,91,46,.34),transparent)}@media(max-width:760px){.tb-book-entry__layout,.tb-course-entry__top{grid-template-columns:1fr}.tb-book-entry__layout{display:grid}.tb-book-cover{width:96px}.tb-course-visual{width:112px;margin:0;justify-self:start}.tb-course-visual svg{width:104px}}@media(max-width:640px){.tb-card__inner{padding:20px}.tb-card__title{font-size:20px}.tb-card__title--display{font-size:38px}.tb-button{width:100%}.tb-button--icon{width:44px}}@media(prefers-reduced-motion:reduce){.tb-button,.tb-card:is(a,button){transition-duration:1ms}.tb-button:hover,.tb-card:is(a,button):hover{transform:none}}}
