@font-face{font-family:Lama Sans;src:url(/assets/LamaSans-Bold-DZ27ssyk.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lalezar;src:url(/assets/Lalezar-Regular-CNJcvoP0.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Rubik;src:url(/assets/Rubik-Variable-Ck5Bp0l0.ttf) format("truetype");font-weight:300 900;font-style:normal;font-display:swap}:root,.bb-root{--font-display: "Lalezar", "Rubik", system-ui, sans-serif;--font-name: "Lama Sans", "Rubik", system-ui, sans-serif;--font-sans: "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;--brand-indigo: #404293;--brand-blue: #217bbf;--brand-mid: #315aa5;--brand-ink: #383737;--brand-night: #212121;--brand-paper: #f4f4f4;--theory-deep: #2e2f6b;--theory: #5d5fb8;--theory-ink: #424794;--theory-soft: #ecedf7;--practical-deep: #1a5296;--practical: #3a92d1;--practical-ink: #1a5296;--practical-soft: #e7f2fa;--surface-page: #f4f4f4;--surface-card: #ffffff;--surface-raised: #ffffff;--surface-sunken: #ebf0f5;--surface-tint: #f8fafc;--surface-inverse: #212121;--ink-strong: #212121;--ink: #383737;--ink-muted: #6a6969;--ink-inverse: #ffffff;--on-brand: #ffffff;--border: #e1e5eb;--border-strong: #8a8e96;--focus-ring: #217bbf;--primary: #315aa5;--primary-hover: #404293;--primary-ink: #315aa5;--primary-soft: #e8eef8;--success: #1f7a4c;--success-soft: #e3f4ea;--warning: #9a5b00;--warning-soft: #fdf0dc;--danger: #c0142e;--on-danger: #ffffff;--danger-soft: #fde7ea;--live: #ff0030;--live-ink: #333333;--insights-blue: #2e8ee8;--insights-ink: #1c1c1c;--chart-theory: #424794;--chart-practical: #3a92d1;--chart-grid: #e9ecf0;--pattern-face: #f7f7f8;--pattern-shadow: #c2c2c5;--pattern-highlight: #ffffff;--pattern-dot: #dfe2e8;--pattern-line: #e8ebf2;--logo-wordmark: #383737;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(33,33,33,.06), 0 1px 3px rgba(33,33,33,.08);--shadow-md: 0 4px 12px rgba(46,47,107,.1);--shadow-lg: 0 16px 40px rgba(46,47,107,.18);--dur-instant: .1s;--dur-fast: .16s;--dur-base: .24s;--dur-slow: .4s;--dur-slower: .64s;--dur-count: 1.2s;--dur-intro: 2.2s;--dur-ambient: 4.8s;--stagger-step: 50ms;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-enter: cubic-bezier(.05, .7, .1, 1);--ease-exit: cubic-bezier(.3, 0, .8, .15);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-ambient: cubic-bezier(.45, 0, .55, 1);--hex-clip: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);--hexbar-clip: polygon(var(--cut, 3.5px) 0, calc(100% - var(--cut, 3.5px)) 0, 100% 25%, 100% 75%, calc(100% - var(--cut, 3.5px)) 100%, var(--cut, 3.5px) 100%, 0 75%, 0 25%)}.bb-root[data-theme=dark]{--theory: #676ad0;--theory-ink: #b4b6f2;--theory-soft: #2e2f52;--practical: #1ea3c6;--practical-ink: #8fcdea;--practical-soft: #183a4f;--surface-page: #212121;--surface-card: #2b2b2b;--surface-raised: #333333;--surface-sunken: #1a1a1a;--surface-tint: #262626;--surface-inverse: #f4f4f4;--ink-strong: #ffffff;--ink: #f4f4f4;--ink-muted: #a9a9a9;--ink-inverse: #212121;--border: #3b3b3b;--border-strong: #767676;--focus-ring: #5fb0ec;--primary: #3b6cc2;--primary-hover: #2d5aa8;--primary-ink: #8db4f0;--primary-soft: #22324d;--success: #5fd39a;--success-soft: #1d3a2b;--warning: #f0b45a;--warning-soft: #3d2e15;--danger: #ff7a8a;--on-danger: #212121;--danger-soft: #45202a;--live-ink: #f4f4f4;--chart-theory: #676ad0;--chart-practical: #1ea3c6;--chart-grid: #383838;--pattern-face: #262626;--pattern-shadow: #0d0d0d;--pattern-highlight: #3a3a3a;--pattern-dot: #2d2e33;--pattern-line: #2b2c33;--logo-wordmark: #ffffff;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.45);--shadow-lg: 0 16px 40px rgba(0,0,0,.6)}.bb-root,.bb-root *{box-sizing:border-box}.bb-root{font-family:var(--font-sans);color:var(--ink);font-size:14px;line-height:22px;-webkit-font-smoothing:antialiased}.bb-numeric{font-variant-numeric:tabular-nums;font-weight:500}.bb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bb-muted{color:var(--ink-muted)}.bb-caption{font-size:12px;line-height:18px}.bb-name-sm{font-family:var(--font-name);font-weight:700;font-size:14px;line-height:20px;color:var(--ink-strong)}.bb-success{color:var(--success);display:inline-flex;gap:var(--space-1);align-items:center}.bb-danger{color:var(--danger);display:inline-flex;gap:var(--space-1);align-items:center}.bb-tab:focus-visible,.bb-switch__track:focus-visible,.bb-bottomnav__item:focus-visible,.bb-sidebar__item:focus-visible,.bb-course:focus-visible,.bb-input:focus-within,.bb-check input:focus-visible+.bb-check__box{outline:2px solid var(--focus-ring);outline-offset:2px}.bb-icon{flex:none;display:inline-block;vertical-align:middle}[dir=rtl] .bb-icon--dir{transform:scaleX(-1)}.bb-logo{display:block;inline-size:auto}:root{--hex-clip: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%)}.bb-hexbar{clip-path:polygon(var(--cut, 3.5px) 0,calc(100% - var(--cut, 3.5px)) 0,100% 25%,100% 75%,calc(100% - var(--cut, 3.5px)) 100%,var(--cut, 3.5px) 100%,0 75%,0 25%)}.bb-skeleton--hex{clip-path:var(--hex-clip);border-radius:0}.bb-skeleton--bar{border-radius:0;clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% 25%,100% 75%,calc(100% - var(--cut)) 100%,var(--cut) 100%,0 75%,0 25%)}.bb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:500 14px/20px var(--font-sans);border:0;background:none;padding-block:0;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard),filter var(--dur-fast) var(--ease-standard)}.bb-btn:active:not(:disabled){transform:scale(.97)}.bb-btn--sm{block-size:32px;padding-inline:var(--space-3);font-size:13px}.bb-btn--md{block-size:40px;padding-inline:var(--space-4)}.bb-btn--lg{block-size:48px;padding-inline:var(--space-6);font-size:16px}.bb-btn--block{display:flex;inline-size:100%}@keyframes bb-spin{to{transform:rotate(360deg)}}.bb-iconbtn{position:relative;display:inline-grid;place-items:center;flex:none;border:0;padding:0;cursor:pointer;color:var(--ink);isolation:isolate;background:none;transition:color var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard),filter var(--dur-fast) var(--ease-standard)}.bb-iconbtn:active:not(:disabled){transform:scale(.9)}.bb-iconbtn--sm{inline-size:32px;block-size:32px}.bb-iconbtn--md{inline-size:40px;block-size:40px}.bb-iconbtn__badge{position:absolute;inset-block-start:4px;inset-inline-end:4px;min-inline-size:16px;block-size:16px;padding-inline:4px;border-radius:var(--radius-pill);background:var(--danger);color:var(--on-danger);font:500 10px/16px var(--font-sans);border:2px solid var(--surface-card);box-sizing:content-box}.bb-iconbtn__badge:empty{min-inline-size:8px;block-size:8px;padding:0;inset-block-start:8px;inset-inline-end:8px}.bb-field{display:flex;flex-direction:column;gap:6px;min-inline-size:0}.bb-field__label{font:500 14px/20px var(--font-sans);color:var(--ink-strong)}.bb-field__help{display:flex;align-items:center;gap:var(--space-1);font-size:12px;line-height:18px;color:var(--ink-muted)}.bb-field--error .bb-field__help{color:var(--danger)}.bb-input{position:relative;display:flex;align-items:center;gap:var(--space-2);block-size:44px;padding-inline:var(--space-3);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink-muted);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.bb-input:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 4px var(--primary-soft);color:var(--primary-ink)}.bb-input:hover{border-color:var(--ink-muted)}.bb-field--error .bb-input{border-color:var(--danger);background:var(--danger-soft)}.bb-input input,.bb-input select{flex:1;min-inline-size:0;block-size:100%;border:0;outline:0;background:transparent;font:400 14px/22px var(--font-sans);color:var(--ink-strong)}.bb-input input::placeholder{color:var(--ink-muted);opacity:1}.bb-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.bb-select .bb-icon{position:absolute;inset-inline-end:var(--space-3);pointer-events:none}.bb-select select{padding-inline-end:28px}.bb-select select option{background:var(--surface-raised);color:var(--ink-strong)}.bb-switch,.bb-check{display:inline-flex;align-items:center;gap:var(--space-2);font:400 14px/22px var(--font-sans);color:var(--ink);cursor:pointer}.bb-switch.is-disabled,.bb-check.is-disabled{opacity:.45;cursor:not-allowed}.bb-switch__track{position:relative;inline-size:40px;block-size:24px;padding:0;border-radius:var(--radius-pill);cursor:inherit;background:var(--surface-sunken);border:1px solid var(--border-strong);transition:background-color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}.bb-switch__thumb{position:absolute;inset-block-start:2px;inset-inline-start:2px;inline-size:18px;block-size:18px;border-radius:var(--radius-pill);background:var(--surface-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-strong);transition:inset-inline-start var(--dur-base) var(--ease-spring),inline-size var(--dur-fast) var(--ease-standard)}.bb-switch__track:active .bb-switch__thumb{inline-size:22px}.bb-switch__track[aria-checked=true]{background:var(--primary);border-color:var(--primary)}.bb-switch__track[aria-checked=true] .bb-switch__thumb{inset-inline-start:18px;border-color:var(--primary);background:var(--on-brand)}.bb-check input{position:absolute;opacity:0;inline-size:1px;block-size:1px}.bb-check__box{display:inline-grid;place-items:center;inline-size:18px;block-size:18px;border-radius:var(--radius-xs);border:1.5px solid var(--border-strong);background:var(--surface-card);color:transparent;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard)}.bb-check:active .bb-check__box{transform:scale(.9)}.bb-check__box .bb-icon path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset var(--dur-base) var(--ease-standard) 40ms}.bb-check input:checked+.bb-check__box .bb-icon path{stroke-dashoffset:0}.bb-check input:checked+.bb-check__box,.bb-check input:indeterminate+.bb-check__box{background:var(--primary);border-color:var(--primary);color:var(--on-brand)}.bb-check input:indeterminate+.bb-check__box .bb-icon{display:none}.bb-check input:indeterminate+.bb-check__box:after{content:"";inline-size:9px;block-size:2px;background:var(--on-brand);border-radius:1px}.bb-tabs{position:relative;display:flex;gap:var(--space-1)}.bb-tab{position:relative;z-index:1;transition:color var(--dur-base) var(--ease-standard)}.bb-tabs__ink{position:absolute;left:0;pointer-events:none;transition:transform var(--dur-base) var(--ease-standard),width var(--dur-base) var(--ease-standard)}.bb-tabs--block .bb-tab{flex:1;justify-content:center}.bb-tab{display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:transparent;cursor:pointer;font:500 14px/20px var(--font-sans);color:var(--ink-muted);white-space:nowrap}.bb-tab__count{font:500 12px/16px var(--font-sans);padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-muted);font-variant-numeric:tabular-nums}.bb-tabs--underline{border-block-end:1px solid var(--border);gap:var(--space-6)}.bb-tabs--underline .bb-tab{padding-block:var(--space-3);margin-block-end:-1px;border-block-end:2px solid transparent}.bb-tabs--underline .bb-tab.is-active{color:var(--primary-ink)}.bb-tabs--underline .bb-tabs__ink{bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--primary)}.bb-tabs--pill{padding:var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-pill);display:inline-flex}.bb-tabs--pill.bb-tabs--block{display:flex}.bb-tabs--pill .bb-tab{block-size:36px;padding-inline:var(--space-4);border-radius:var(--radius-pill)}.bb-tabs--pill .bb-tab.is-active{color:var(--ink-strong)}.bb-tabs--pill .bb-tabs__ink{border-radius:var(--radius-pill);background:var(--surface-card);box-shadow:var(--shadow-sm)}.bb-tab.is-active .bb-tab__count{background:var(--primary-soft);color:var(--primary-ink)}.bb-tab:hover:not(.is-active){color:var(--ink-strong)}.bb-track,.bb-status{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font:500 12px/16px var(--font-sans);white-space:nowrap}.bb-track--md{padding:4px 10px}.bb-track--sm{padding:2px 8px}.bb-track--theory{background:var(--theory-soft);color:var(--theory-ink)}.bb-track--practical{background:var(--practical-soft);color:var(--practical-ink)}.bb-track--solid.bb-track--theory{background:var(--theory-deep);color:var(--on-brand)}.bb-track--solid.bb-track--practical{background:var(--practical-deep);color:var(--on-brand)}.bb-status{padding:2px 8px}.bb-status--neutral{background:var(--surface-sunken);color:var(--ink-muted)}.bb-status--info{background:var(--primary-soft);color:var(--primary-ink)}.bb-status--success{background:var(--success-soft);color:var(--success)}.bb-status--warning{background:var(--warning-soft);color:var(--warning)}.bb-status--danger,.bb-status--live{background:var(--danger-soft);color:var(--danger)}.bb-live-dot{position:relative;inline-size:8px;block-size:8px;border-radius:var(--radius-pill);background:var(--live)}.bb-live-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:2px solid var(--live);opacity:.5;animation:bb-pulse 1.6s var(--ease-ambient) infinite}@keyframes bb-pulse{0%{transform:scale(.6);opacity:.7}to{transform:scale(1.5);opacity:0}}@media (prefers-reduced-motion: reduce){.bb-live-dot:after,.bb-spinner{animation:none}}.bb-avatar{--av-bg: var(--primary-soft);--av-ink: var(--primary-ink);position:relative;display:inline-block;flex:none;color:var(--av-ink);font-family:var(--font-name);font-weight:700}.bb-avatar__hex{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--av-bg)}.bb-avatar img{inline-size:100%;block-size:100%;object-fit:cover}.bb-avatar--xs{inline-size:20px;block-size:20px;font-size:10px}.bb-avatar--sm{inline-size:32px;block-size:32px;font-size:13px}.bb-avatar--md{inline-size:40px;block-size:40px;font-size:15px}.bb-avatar--lg{inline-size:56px;block-size:56px;font-size:20px}.bb-avatar--theory{--av-bg: var(--theory-soft);--av-ink: var(--theory-ink)}.bb-avatar--practical{--av-bg: var(--practical-soft);--av-ink: var(--practical-ink)}.bb-avatar--ring:before,.bb-avatar--ring:after{content:"";position:absolute;border-radius:50%}.bb-avatar--ring:before{top:-5px;right:-5px;bottom:-5px;left:-5px;background:var(--primary)}.bb-avatar--ring:after{top:-2.5px;right:-2.5px;bottom:-2.5px;left:-2.5px;background:var(--surface-card)}.bb-progress{display:flex;flex-direction:column;gap:6px;inline-size:100%}.bb-progress__head{display:flex;justify-content:space-between;font-size:12px;line-height:18px;color:var(--ink-muted)}.bb-progress__head .bb-numeric{color:var(--ink-strong)}.bb-progress__track{--cut: 3.5px;block-size:8px;background:var(--surface-sunken);clip-path:polygon(var(--cut, 3.5px) 0,calc(100% - var(--cut, 3.5px)) 0,100% 25%,100% 75%,calc(100% - var(--cut, 3.5px)) 100%,var(--cut, 3.5px) 100%,0 75%,0 25%)}.bb-progress--sm .bb-progress__track{--cut: 2.6px;block-size:6px}.bb-progress__fill{display:block;block-size:100%;clip-path:polygon(var(--cut, 3.5px) 0,calc(100% - var(--cut, 3.5px)) 0,100% 25%,100% 75%,calc(100% - var(--cut, 3.5px)) 100%,var(--cut, 3.5px) 100%,0 75%,0 25%);background:var(--primary);transition:inline-size var(--dur-slower) var(--ease-enter)}.bb-progress--theory .bb-progress__fill{background:var(--theory)}.bb-progress--practical .bb-progress__fill{background:var(--practical)}.bb-ring{position:relative;display:inline-grid;place-items:center;flex:none}@property --p{syntax: "<percentage>"; inherits: false; initial-value: 0%;}.bb-ring__band{position:absolute;top:0;right:0;bottom:0;left:0}.bb-ring__track{background:var(--surface-sunken)}.bb-ring__fill{background:var(--primary);-webkit-mask:conic-gradient(#000 var(--p),transparent 0);mask:conic-gradient(#000 var(--p),transparent 0);transition:--p var(--dur-count) var(--ease-enter)}.bb-ring--theory .bb-ring__fill{background:var(--theory)}.bb-ring--practical .bb-ring__fill{background:var(--practical)}@media (prefers-reduced-motion: reduce){.bb-ring__fill{transition:none}}.bb-ring__value{position:relative;color:var(--ink-strong)}.bb-hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);color:var(--on-brand);padding:var(--space-6);min-block-size:168px;display:flex;align-items:center}.bb-hero--brand{background:linear-gradient(135deg,var(--brand-blue),var(--brand-indigo))}.bb-hero--theory{background:linear-gradient(135deg,var(--theory),var(--theory-deep))}.bb-hero--practical{background:linear-gradient(135deg,var(--practical),var(--practical-deep))}.bb-hero__content{position:relative;max-inline-size:66%;display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.bb-hero__eyebrow{font:500 12px/16px var(--font-sans);opacity:.9}.bb-hero__title{margin:0;font:400 28px/42px var(--font-display)}.bb-hero__body{margin:0;font:400 14px/22px var(--font-sans);opacity:.92}.bb-hero__action{margin-block-start:var(--space-2)}.bb-hero .bb-hero__hex{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent}.bb-hero__hex .bbh-f{fill:transparent;stroke:var(--on-brand);stroke-opacity:.16;stroke-width:1.5}.bb-hero__hex .bbh-s{fill:var(--theory-deep)}.bb-hero__hex .bbh-h{stroke:var(--on-brand);stroke-opacity:.7;stroke-width:2.5}.bb-hero__content>*{animation:bb-rise var(--dur-slower) var(--ease-enter) both}.bb-hero__content>:nth-child(2){animation-delay:calc(var(--stagger-step) * 1)}.bb-hero__content>:nth-child(3){animation-delay:calc(var(--stagger-step) * 2)}.bb-hero__content>:nth-child(4){animation-delay:calc(var(--stagger-step) * 3)}@keyframes bb-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.bb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-12) var(--space-6)}.bb-empty__hex{display:grid;place-items:center;inline-size:72px;block-size:80px;margin-block-end:var(--space-2);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--primary-soft);color:var(--primary-ink);animation:bb-float 6s var(--ease-ambient) infinite alternate}@keyframes bb-float{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.bb-empty__title{margin:0;font:400 22px/34px var(--font-display);color:var(--ink-strong)}.bb-empty__body{margin:0 0 var(--space-2);max-inline-size:320px;color:var(--ink-muted)}.bb-appheader{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-page)}.bb-appheader__text{flex:1;min-inline-size:0}.bb-appheader__sub{font-size:12px;line-height:18px;color:var(--ink-muted)}.bb-appheader__title{margin:0;font:400 22px/34px var(--font-display);color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-appheader__actions{display:flex;gap:var(--space-1)}.bb-course{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;isolation:isolate;transition:box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-base) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.bb-course.is-interactive{cursor:pointer}.bb-course.is-interactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(360px circle at var(--sx, 50%) var(--sy, 0%),var(--primary-soft),transparent 60%);transition:opacity var(--dur-base) var(--ease-standard)}.bb-course.is-interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary-soft)}.bb-course.is-interactive:hover:before{opacity:1}.bb-course.is-interactive:active{transform:translateY(-1px) scale(.99)}.bb-course__top{display:flex;gap:var(--space-3);align-items:flex-start}.bb-course__hex{display:grid;place-items:center;flex:none;inline-size:48px;block-size:55.4px;--hex-fill: linear-gradient(var(--hex-ga), var(--brand-indigo), var(--brand-blue))}.bb-course__hex .bb-logo{position:relative}.bb-course__titles{min-inline-size:0}.bb-course__code{font:500 12px/16px var(--font-sans);color:var(--ink-muted)}.bb-course__name{margin:2px 0 0;font:700 16px/24px var(--font-name);color:var(--ink-strong)}.bb-course__lecturer{font-size:12px;line-height:18px;color:var(--ink-muted)}.bb-course__counts{display:flex;gap:var(--space-4)}.bb-course__count{display:inline-flex;align-items:center;gap:6px;font:500 13px/20px var(--font-sans)}.bb-course__count--theory{color:var(--theory-ink)}.bb-course__count--practical{color:var(--practical-ink)}.bb-lecture{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}.bb-lecture:not(.is-locked):hover{border-color:var(--primary-soft);box-shadow:var(--shadow-sm);transform:translate(-2px)}[dir=ltr] .bb-lecture:not(.is-locked):hover{transform:translate(2px)}.bb-lecture__num{display:grid;place-items:center;flex:none;inline-size:40px;block-size:46.2px;font-size:15px;color:var(--on-brand);--hex-fill: var(--primary)}.bb-lecture--theory .bb-lecture__num{--hex-fill: var(--theory-deep)}.bb-lecture--practical .bb-lecture__num{--hex-fill: var(--practical-deep)}.bb-lecture.is-locked .bb-lecture__num{--hex-fill: var(--surface-sunken);color:var(--ink-muted)}.bb-lecture__body{flex:1;min-inline-size:0;display:flex;flex-direction:column;gap:6px}.bb-lecture__title{font:700 15px/22px var(--font-name);color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-lecture.is-locked .bb-lecture__title{color:var(--ink-muted)}.bb-lecture__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:12px;line-height:18px;color:var(--ink-muted)}.bb-livecard{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.bb-livecard.is-live{border-color:var(--live);box-shadow:0 0 0 1px var(--live),var(--shadow-md);animation:bb-live-glow 2.4s var(--ease-ambient) infinite}@keyframes bb-live-glow{0%,to{box-shadow:0 0 0 1px var(--live),var(--shadow-md)}50%{box-shadow:0 0 0 1px var(--live),0 0 0 6px var(--danger-soft),var(--shadow-md)}}.bb-livecard__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.bb-livecard__brand{display:inline-flex;align-items:center;gap:6px;font:500 12px/16px var(--font-sans);color:var(--ink-muted)}.bb-livecard__title{margin:0;font:700 16px/24px var(--font-name);color:var(--ink-strong)}.bb-livecard__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:12px;line-height:18px;color:var(--ink-muted)}.bb-livecard__meta>span{display:inline-flex;align-items:center;gap:6px}.bb-livecard__lecturer{font-family:var(--font-name);font-weight:700;color:var(--ink)}.bb-bottomnav{display:flex;justify-content:space-around;padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:var(--surface-card);border-block-start:1px solid var(--border);box-shadow:var(--shadow-md)}.bb-bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding-block:var(--space-1);border:0;background:transparent;cursor:pointer;font:500 12px/16px var(--font-sans);color:var(--ink-muted);border-radius:var(--radius-sm)}.bb-bottomnav__icon{position:relative;display:grid;place-items:center;inline-size:56px;block-size:30px;border-radius:var(--radius-pill)}.bb-bottomnav__pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--primary-soft);transform:scaleX(.3);opacity:0;transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-fast) var(--ease-standard)}.bb-bottomnav__glyph{position:relative;display:grid}.bb-bottomnav__item.is-active .bb-bottomnav__pill{transform:none;opacity:1}.bb-bottomnav__item.is-active .bb-bottomnav__glyph{animation:bb-pop var(--dur-slow) var(--ease-spring)}@keyframes bb-pop{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-3px) scale(1.12)}to{transform:none}}.bb-bottomnav__item{transition:color var(--dur-base) var(--ease-standard)}.bb-bottomnav__item.is-active{color:var(--primary-ink)}.bb-bottomnav__dot{position:absolute;inset-block-start:3px;inset-inline-end:14px;inline-size:8px;block-size:8px;border-radius:var(--radius-pill);background:var(--danger);border:2px solid var(--surface-card);box-sizing:content-box}.bb-sidebar{display:flex;flex-direction:column;inline-size:260px;block-size:100%;padding:var(--space-5) var(--space-4);background:var(--surface-card);border-inline-end:1px solid var(--border)}.bb-sidebar__brand{padding-inline:var(--space-2);margin-block-end:var(--space-6)}.bb-sidebar__brand .bb-logo{direction:ltr}.bb-sidebar__nav{position:relative;display:flex;flex-direction:column;gap:2px;flex:1}.bb-sidebar__ink{position:absolute;top:0;inset-inline:0;border-radius:var(--radius-sm);background:var(--primary-soft);pointer-events:none;transition:transform var(--dur-base) var(--ease-standard),height var(--dur-base) var(--ease-standard)}.bb-sidebar__ink:before{content:"";position:absolute;inset-block:10px;inset-inline-start:0;width:3px;border-radius:0 3px 3px 0;background:var(--primary)}[dir=rtl] .bb-sidebar__ink:before{border-radius:3px 0 0 3px}.bb-sidebar__section{margin:var(--space-4) var(--space-3) var(--space-1);font:500 12px/16px var(--font-sans);color:var(--ink-muted)}.bb-sidebar__item{display:flex;align-items:center;gap:var(--space-3);block-size:42px;padding-inline:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;text-align:start;font:500 14px/20px var(--font-sans);color:var(--ink);position:relative;z-index:1;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.bb-sidebar__item span:first-of-type{flex:1}.bb-sidebar__item:hover:not(.is-active){background:var(--surface-tint);color:var(--ink-strong)}.bb-sidebar__item.is-active{color:var(--primary-ink)}.bb-sidebar__count{font:500 12px/16px var(--font-sans);padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-muted)}.bb-sidebar__item.is-active .bb-sidebar__count{background:var(--surface-card);color:var(--primary-ink)}.bb-sidebar__foot{border-block-start:1px solid var(--border);padding-block-start:var(--space-4);margin-block-start:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.bb-sidebar__user{display:flex;align-items:center;gap:var(--space-3);padding-inline:var(--space-2)}.bb-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.bb-crumbs{display:flex;gap:var(--space-1);font-size:12px;line-height:18px;color:var(--ink-muted);margin-block-end:var(--space-1)}.bb-crumbs span{display:inline-flex;align-items:center;gap:var(--space-1)}.bb-pagehead__title{margin:0;font:400 28px/42px var(--font-display);color:var(--ink-strong)}.bb-pagehead__sub{margin:0;color:var(--ink-muted)}.bb-pagehead__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.bb-stat{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.bb-stat__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.bb-stat__label{font:500 14px/20px var(--font-sans);color:var(--ink-muted)}.bb-stat__icon{display:grid;place-items:center;inline-size:36px;block-size:36px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-ink)}.bb-stat--theory .bb-stat__icon{background:var(--theory-soft);color:var(--theory-ink)}.bb-stat--practical .bb-stat__icon{background:var(--practical-soft);color:var(--practical-ink)}.bb-stat__value{font:400 32px/44px var(--font-display);color:var(--ink-strong);font-variant-numeric:tabular-nums}.bb-stat__foot{display:flex;align-items:center;gap:var(--space-2);font-size:12px;line-height:18px}.bb-stat__delta{font-weight:500;font-variant-numeric:tabular-nums}.bb-stat__delta.is-up{color:var(--success)}.bb-stat__delta.is-down{color:var(--danger)}.bb-table-wrap{overflow:auto;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md)}.bb-table{inline-size:100%;border-collapse:collapse;font:400 14px/22px var(--font-sans);color:var(--ink)}.bb-table caption{caption-side:top;text-align:start;padding:var(--space-4) var(--space-5);font:500 18px/28px var(--font-sans);color:var(--ink-strong)}.bb-table th{text-align:start;padding:var(--space-3) var(--space-4);background:var(--surface-tint);white-space:nowrap;font:500 12px/16px var(--font-sans);color:var(--ink-muted);border-block-end:1px solid var(--border)}.bb-table td{padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--border);vertical-align:middle}.bb-table tbody tr:last-child td{border-block-end:0}.bb-table td{transition:background-color var(--dur-fast) var(--ease-standard)}.bb-table tbody tr:hover td{background:var(--surface-tint)}.bb-table tbody tr{opacity:0}.bb-table-wrap.is-in tbody tr{animation:bb-rise var(--dur-slow) var(--ease-enter) both;animation-delay:calc(var(--i, 0) * var(--stagger-step))}.bb-table tr.is-selected td{background:var(--primary-soft)}.bb-table .is-num{text-align:end;font-variant-numeric:tabular-nums}.bb-table__sel{inline-size:44px}.bb-table__empty{text-align:center;color:var(--ink-muted);padding:var(--space-8)!important}.bb-cell-person{display:flex;align-items:center;gap:var(--space-3)}.bb-chart{margin:0;display:flex;flex-direction:column;gap:var(--space-3);font-family:var(--font-sans)}.bb-chart__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.bb-chart__title{font:500 18px/28px var(--font-sans);color:var(--ink-strong)}.bb-chart__legend{display:flex;gap:var(--space-4);font-size:12px;line-height:18px;color:var(--ink)}.bb-chart__key{display:inline-flex;align-items:center;gap:6px}.bb-chart__sw{display:inline-block;inline-size:10px;block-size:10px;border-radius:2px}.bb-chart__sw--theory{background:var(--chart-theory)}.bb-chart__sw--practical{background:var(--chart-practical)}.bb-chart__plot{position:relative}.bb-chart__yaxis{position:absolute;inset-inline-start:0;inline-size:36px;display:flex;flex-direction:column;justify-content:space-between;font-size:12px;line-height:0;color:var(--ink-muted)}.bb-chart__area{position:absolute;inset-inline:44px 0;display:flex}.bb-chart__grid{position:absolute;inset-inline:0;block-size:1px;background:var(--chart-grid)}.bb-chart__group{position:relative;display:flex;justify-content:center;block-size:100%}.bb-chart__group:hover{background:var(--surface-tint);border-radius:var(--radius-xs)}.bb-chart__bars{position:relative;display:flex;align-items:flex-end;gap:2px;block-size:100%;inline-size:56%;max-inline-size:48px}.bb-chart__bar{flex:1;border-radius:var(--radius-xs) var(--radius-xs) 0 0;min-block-size:1px;transform-origin:bottom;transform:scaleY(0)}.bb-chart.is-in .bb-chart__bar{animation:bb-grow var(--dur-slower) var(--ease-enter) both;animation-delay:calc(var(--i, 0) * var(--stagger-step))}.bb-chart__bar--practical{animation-delay:calc(var(--i, 0) * var(--stagger-step) + 30ms)!important}@keyframes bb-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bb-chart.is-in .bb-chart__bar{transform:scaleY(1)}.bb-chart__group{transition:background-color var(--dur-fast) var(--ease-standard)}.bb-chart__bar--theory{background:var(--chart-theory)}.bb-chart__bar--practical{background:var(--chart-practical)}.bb-chart__xlabel{position:absolute;inset-block-start:calc(100% + 8px);inset-inline:0;text-align:center;font-size:12px;line-height:18px;color:var(--ink-muted);white-space:nowrap}.bb-chart__tip{position:absolute;z-index:2;inset-block-end:calc(100% + 4px);inset-inline-start:50%;transform:translate(50%);display:flex;flex-direction:column;gap:2px;min-inline-size:140px;padding:var(--space-2) var(--space-3);background:var(--surface-inverse);color:var(--ink-inverse);border-radius:var(--radius-xs);box-shadow:var(--shadow-md);font-size:12px;line-height:18px;pointer-events:none;animation:bb-tip var(--dur-fast) var(--ease-enter)}@keyframes bb-tip{0%{opacity:0;margin-block-end:-4px}}[dir=ltr] .bb-chart__tip{transform:translate(-50%)}.bb-chart__tip span{display:flex;align-items:center;gap:6px}.bb-chart__tip span b{margin-inline-start:auto}.bb-upload{display:flex;flex-direction:column;gap:var(--space-3)}.bb-upload__zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);text-align:center;background:var(--surface-sunken);border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);transition:border-color .15s,background-color .15s}.bb-upload__zone{transition:border-color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),transform var(--dur-base) var(--ease-spring)}.bb-upload__zone.is-drag{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.01)}.bb-upload__zone.is-drag .bb-upload__icon{animation:bb-float .6s var(--ease-ambient) infinite alternate}.bb-upload__file{animation:bb-rise var(--dur-slow) var(--ease-enter) both}.bb-upload__fbody .bb-success .bb-icon{animation:bb-pop var(--dur-slow) var(--ease-spring)}.bb-upload__icon{display:grid;place-items:center;inline-size:48px;block-size:48px;clip-path:var(--hex-clip);background:var(--surface-card);color:var(--primary-ink);filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.bb-upload__title{font:500 16px/24px var(--font-sans);color:var(--ink-strong)}.bb-upload__hint{font-size:12px;line-height:18px;color:var(--ink-muted);margin-block-end:var(--space-2)}.bb-upload__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.bb-upload__file{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--primary-ink)}.bb-upload__file.is-error{border-color:var(--danger)}.bb-upload__fbody{flex:1;min-inline-size:0;display:flex;flex-direction:column;gap:6px}.bb-upload__fname{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);font:500 14px/20px var(--font-sans);color:var(--ink-strong)}.bb-upload__fn{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-upload__fname .bb-caption{flex:none}.bb-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--space-4);background:#2121218c;animation:bb-fade var(--dur-base) var(--ease-standard) both}@keyframes bb-fade{0%{opacity:0}}.bb-dialog{animation:bb-dialog-in var(--dur-slow) var(--ease-enter) both}@keyframes bb-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}.bb-dialog--danger .bb-dialog__icon{animation:bb-shake .48s var(--ease-standard) .2s both}@keyframes bb-shake{0%,to{transform:none}25%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}.bb-dialog-backdrop--inline{position:relative;inset:auto;min-block-size:100%}.bb-dialog{inline-size:min(100%,440px);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--ink)}.bb-dialog__head{display:flex;align-items:center;gap:var(--space-3)}.bb-dialog__title{flex:1;margin:0;font:400 22px/34px var(--font-display);color:var(--ink-strong)}.bb-dialog__icon{display:grid;place-items:center;inline-size:40px;block-size:40px;clip-path:var(--hex-clip);background:var(--danger-soft);color:var(--danger)}.bb-dialog__body{color:var(--ink)}.bb-dialog__body p{margin:0}.bb-dialog__actions{display:flex;gap:var(--space-2);justify-content:flex-end}.bb-pattern{position:relative;overflow:hidden;background:var(--surface-page);isolation:isolate}.bb-pattern__art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;display:block;pointer-events:none}.bb-pattern__content{position:relative;height:100%}.bb-pattern--corner-end .bb-pattern__art{transform:scaleX(-1)}[dir=rtl] .bb-pattern--corner-end .bb-pattern__art,[dir=rtl].bb-pattern--corner-end .bb-pattern__art{transform:none}[dir=rtl] .bb-pattern--corner-start .bb-pattern__art,[dir=rtl].bb-pattern--corner-start .bb-pattern__art{transform:scaleX(-1)}.bbh-s{fill:var(--pattern-shadow);transform:translate(calc(5.4px * var(--s)),calc(18px * var(--s)));opacity:calc(.25 + .75 * var(--s))}.bbh-f{fill:var(--pattern-face);stroke:var(--pattern-shadow);stroke-opacity:.35;stroke-width:1}.bbh-h{fill:none;stroke:var(--pattern-highlight);stroke-width:2;stroke-linejoin:round;opacity:calc(.25 + .75 * var(--d))}.bbh-field.is-animated .bbh-s{animation:bb-hex-s var(--dur) cubic-bezier(.45,0,.55,1) var(--delay) infinite alternate}.bbh-field.is-animated .bbh-h{animation:bb-hex-h var(--dur) cubic-bezier(.45,0,.55,1) var(--delay) infinite alternate}@keyframes bb-hex-s{0%{transform:translate(calc(5.4px * var(--lo)),calc(18px * var(--lo)));opacity:calc(.25 + .75 * var(--lo))}to{transform:translate(calc(5.4px * var(--hi)),calc(18px * var(--hi)));opacity:calc(.25 + .75 * var(--hi))}}@keyframes bb-hex-h{0%{opacity:calc(.2 + .6 * var(--lo))}to{opacity:calc(.3 + .7 * var(--hi))}}.bbd circle{fill:var(--pattern-dot);transform-box:fill-box;transform-origin:center}.bbd.is-animated circle{animation:bb-dot-breathe 4.8s cubic-bezier(.45,0,.55,1) var(--delay) infinite alternate}@keyframes bb-dot-breathe{0%{transform:scale(.72);opacity:.7}to{transform:scale(1.12);opacity:1}}@media (prefers-reduced-motion: reduce){.bbh-field.is-animated .bbh-s,.bbh-field.is-animated .bbh-h,.bbd.is-animated circle{animation:none}}.bbh-field.is-live .bbh{--b: clamp(0, calc(1 - hypot(calc(var(--mx, -9999) - var(--cx)), calc(var(--my, -9999) - var(--cy))) / 260), 1)}.bbh-field.is-live .bbh-s{translate:calc(4px * var(--b)) calc(13px * var(--b));transition:translate var(--dur-slow) var(--ease-standard)}.bbh-field.is-live .bbh-h{stroke-width:calc(2px + 1.5px * var(--b));transition:stroke-width var(--dur-slow) var(--ease-standard)}.bbd.is-live circle{--b: clamp(0, calc(1 - hypot(calc(var(--mx, -9999) - var(--cx)), calc(var(--my, -9999) - var(--cy))) / 180), 1);scale:calc(1 + .75 * var(--b));transition:scale var(--dur-slow) var(--ease-standard)}.is-paused,.is-paused *{animation-play-state:paused!important}.bb-marks{display:block;overflow:visible}.bbm path{fill:var(--pattern-line)}.bbm-field.is-animated .bbm{animation:bb-mark-float var(--dur) var(--ease-ambient) var(--delay) infinite alternate}@keyframes bb-mark-float{0%{transform:translateY(0)}to{transform:translateY(calc(-14px * var(--z)))}}.bbm-field.is-live .bbm{translate:calc(var(--px, 0) * -18px * var(--z)) calc(var(--py, 0) * -14px * var(--z));transition:translate var(--dur-slower) var(--ease-standard)}.bb-pattern__marks{position:absolute;inset-block-end:0;inset-inline-end:0;inset-block-start:auto;inset-inline-start:auto;height:92%;width:auto;aspect-ratio:1017 / 1254;max-width:70%}.bb-pattern__marks .bb-marks{width:100%;height:100%}.bb-pattern--bottom-start .bb-pattern__marks{inset-inline-end:auto;inset-inline-start:0}.bb-pattern--bottom-end .bb-pattern__marks .bb-marks{transform:scaleX(-1)}[dir=rtl] .bb-pattern--bottom-end .bb-pattern__marks .bb-marks,[dir=rtl].bb-pattern--bottom-end .bb-pattern__marks .bb-marks{transform:none}[dir=rtl] .bb-pattern--bottom-start .bb-pattern__marks .bb-marks,[dir=rtl].bb-pattern--bottom-start .bb-pattern__marks .bb-marks{transform:scaleX(-1)}.bb-pattern--marks .bb-pattern__art.bb-pattern__marks{inset:auto;inset-block-end:0;inset-inline-end:0}.bb-pattern--bottom-start .bb-pattern__art.bb-pattern__marks{inset-inline-end:auto;inset-inline-start:0}.bb-reveal,.bb-reveal__item{--reveal-from: translateY(16px)}.bb-reveal--fade{--reveal-from: none}.bb-reveal--scale{--reveal-from: scale(.94)}.bb-reveal--slide-start{--reveal-from: translateX(24px)}[dir=ltr] .bb-reveal--slide-start,[dir=ltr] .bb-reveal--slide-start .bb-reveal__item{--reveal-from: translateX(-24px)}.bb-reveal--blur{--reveal-from: translateY(8px)}.bb-reveal:not(.bb-reveal--stagger),.bb-reveal--stagger>.bb-reveal__item{opacity:0;transform:var(--reveal-from);transition:opacity var(--dur-slow) var(--ease-enter),transform var(--dur-slow) var(--ease-enter),filter var(--dur-slow) var(--ease-enter);transition-delay:calc(var(--reveal-delay, 0ms) + var(--i, 0) * var(--reveal-stagger, 0ms))}.bb-reveal--blur:not(.bb-reveal--stagger),.bb-reveal--blur>.bb-reveal__item{filter:blur(8px)}.bb-reveal.is-in:not(.bb-reveal--stagger),.bb-reveal.is-in>.bb-reveal__item{opacity:1;transform:none;filter:none}.bb-countup{font-variant-numeric:tabular-nums}.bb-skeleton-stack{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.bb-skeleton{display:block;border-radius:var(--radius-xs);background:var(--surface-sunken);position:relative;overflow:hidden}.bb-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(100%);background:linear-gradient(90deg,transparent,var(--surface-tint),transparent);animation:bb-shimmer 1.4s var(--ease-ambient) infinite}[dir=rtl] .bb-skeleton:after{animation-name:bb-shimmer-rtl}@keyframes bb-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes bb-shimmer-rtl{0%{transform:translate(100%)}to{transform:translate(-100%)}}.bb-loader{display:inline-grid;place-items:center;--loader-a: var(--brand-indigo);--loader-b: var(--brand-blue)}.bb-loader--white{--loader-a: var(--on-brand);--loader-b: var(--on-brand)}.bb-loader svg{overflow:visible}.bb-loader__track{fill:none;stroke:var(--border);stroke-width:7;stroke-linejoin:miter}.bb-loader--white .bb-loader__track{stroke:#ffffff40}.bb-loader__run{fill:none;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:26 74}.bb-loader__run--outer{animation:bb-trace 1.6s linear infinite}.bb-loader__run--inner{animation:bb-trace 1.6s linear infinite reverse;stroke-dasharray:34 66}.bb-loader svg{animation:bb-breathe-loader 3.2s var(--ease-ambient) infinite alternate}@keyframes bb-trace{to{stroke-dashoffset:-100}}@keyframes bb-breathe-loader{0%{transform:scale(.96)}to{transform:scale(1.04)}}.bb-intro{display:block;overflow:visible}.bb-intro__mark{stroke-width:16;stroke-dasharray:1;stroke-dashoffset:0;fill-opacity:1}.bb-intro.is-playing .bb-intro__mark{animation:bb-draw 1.1s var(--ease-standard) both,bb-fill .6s var(--ease-standard) .9s both;animation-delay:calc(var(--i) * .12s),calc(.9s + var(--i) * .12s)}@keyframes bb-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes bb-fill{0%{fill-opacity:0}to{fill-opacity:1}}.bb-intro__letter{transform-box:fill-box;transform-origin:50% 100%}.bb-intro.is-playing .bb-intro__letter{animation:bb-letter var(--dur-slow) var(--ease-spring) both;animation-delay:calc(1.3s + var(--i) * var(--stagger-step))}@keyframes bb-letter{0%{opacity:0;transform:translateY(60%) scaleY(.6)}to{opacity:1;transform:none}}.bb-screens{position:relative;overflow:hidden;height:100%}.bb-screen{height:100%;animation:bb-screen-forward var(--dur-slow) var(--ease-enter) both}.bb-screen--back{animation-name:bb-screen-back}@keyframes bb-screen-forward{0%{opacity:0;transform:translate(-32px)}}@keyframes bb-screen-back{0%{opacity:0;transform:translate(32px)}}[dir=ltr] .bb-screen--forward{animation-name:bb-screen-forward-ltr}[dir=ltr] .bb-screen--back{animation-name:bb-screen-back-ltr}@keyframes bb-screen-forward-ltr{0%{opacity:0;transform:translate(32px)}}@keyframes bb-screen-back-ltr{0%{opacity:0;transform:translate(-32px)}}@media (prefers-reduced-motion: reduce){.bb-root *,.bb-root *:before,.bb-root *:after{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:var(--dur-instant)!important;transition-delay:0ms!important;scroll-behavior:auto!important}.bb-reveal:not(.bb-reveal--stagger),.bb-reveal--stagger>.bb-reveal__item{transform:none;filter:none}.bb-course.is-interactive:hover,.bb-lecture:hover{transform:none}.bbh-field .bbh-s,.bbh-field .bbh-h,.bbd circle,.bbm{animation:none!important;translate:none!important;scale:none!important}.bb-skeleton:after{animation:none!important;opacity:0}}@property --bbS{syntax: "<number>"; inherits: true; initial-value: 0;}.bb-cont{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.bb-cont__art{display:block;width:100%;height:100%;overflow:hidden}.bb-cont.is-flipped .bb-cont__art{transform:scaleX(-1)}.bb-cont__lat{transform:translateY(calc((var(--base) + var(--bbS)) * 1px))}.bb-cont__art.is-timeline .bb-cont__lat{animation:bb-cont-y linear both;animation-timeline:scroll(nearest block)}.bb-cont__art.is-timeline{animation:bb-cont-s linear both;animation-timeline:scroll(nearest block)}@keyframes bb-cont-y{0%{transform:translateY(calc(var(--base) * 1px))}to{transform:translateY(calc((var(--base) + var(--smaxk)) * 1px))}}@keyframes bb-cont-s{0%{--bbS: 0}to{--bbS: var(--smaxk)}}.bb-cont .bbh{--rise: clamp(0, calc((var(--h) - var(--cy) - var(--base) - var(--bbS)) / (var(--h) * .66)), 1);--s2: min(1, calc(var(--s) * (.35 + .65 * var(--rise)) + .25 * var(--rise)))}.bb-cont .bbh-s{transform:translate(calc(5.4px * var(--s2)),calc(18px * var(--s2)));opacity:calc(.25 + .75 * var(--s2))}.bb-cont .bbh-h{opacity:calc((.25 + .75 * var(--d)) * (.4 + .6 * var(--rise)))}.bb-hero .bb-cont{-webkit-mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 88%);mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 88%)}[dir=ltr] .bb-hero .bb-cont{-webkit-mask-image:linear-gradient(to left,#000 0%,#000 30%,transparent 88%);mask-image:linear-gradient(to left,#000 0%,#000 30%,transparent 88%)}@media (prefers-reduced-motion: reduce){.bb-cont__art.is-timeline,.bb-cont__art.is-timeline .bb-cont__lat{animation-duration:auto!important;animation-iteration-count:1!important}}.bb-window{display:flex;flex-direction:column;overflow:hidden;background:var(--surface-page);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);color:var(--ink);font-family:var(--font-sans)}.bb-window__titlebar{position:relative;z-index:3;display:flex;align-items:center;gap:var(--space-4);block-size:40px;padding-inline-start:var(--space-4);background:var(--surface-page);border-block-end:1px solid var(--border);-webkit-user-select:none;user-select:none;-webkit-app-region:drag}.bb-window.is-inactive .bb-window__titlebar{opacity:.7}.bb-window__app{display:inline-flex;align-items:center;gap:var(--space-2);flex:none}.bb-window__app .bb-logo{direction:ltr}.bb-window__title{font:500 12px/16px var(--font-sans);color:var(--ink-strong)}.bb-window__sub{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.bb-window__sub:before{content:"·";margin-inline-end:var(--space-2)}.bb-window__search{flex:1;max-inline-size:420px;margin-inline:auto;display:flex;align-items:center;gap:var(--space-2);block-size:30px;padding-inline:var(--space-3);border-radius:6px;background:var(--surface-card);border:1px solid var(--border);color:var(--ink-muted);-webkit-app-region:no-drag;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.bb-window__search:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--primary-soft)}.bb-window__search input{flex:1;min-inline-size:0;border:0;outline:0;background:transparent;font:400 12px/16px var(--font-sans);color:var(--ink-strong)}.bb-window__search input::placeholder{color:var(--ink-muted)}.bb-window__search kbd{font:500 10px/14px var(--font-sans);padding:1px 6px;border-radius:4px;border:1px solid var(--border);color:var(--ink-muted);background:var(--surface-tint)}.bb-window__caption{display:flex;margin-inline-start:auto;-webkit-app-region:no-drag}.bb-window__search+.bb-window__caption{margin-inline-start:0}.bb-window__btn{display:grid;place-items:center;inline-size:46px;block-size:40px;border:0;background:transparent;color:var(--ink-strong);cursor:default;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.bb-window__btn svg{inline-size:10px;block-size:10px;fill:none;stroke:currentColor;stroke-width:1}.bb-window__btn:hover{background:var(--surface-sunken)}.bb-window__btn:active{background:var(--border)}.bb-window__btn--close:hover{background:var(--danger);color:var(--on-danger)}.bb-window__btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.bb-window__body{position:relative;flex:1;min-block-size:0;display:flex}.bb-window__body>.bb-sidebar{block-size:auto}.bb-hexspin{flex:none;overflow:visible}.bb-hexspin polygon{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linejoin:miter;stroke-miterlimit:4;stroke-linecap:butt}.bb-hexspin__track{opacity:.3}.bb-hexspin__run{stroke-dasharray:34 66;animation:bb-trace 1.1s linear infinite}.bb-dd{position:relative}.bb-dd__trigger{inline-size:100%;cursor:pointer;text-align:start;font:400 14px/22px var(--font-sans);color:var(--ink-strong)}.bb-dd__trigger:disabled{cursor:not-allowed;opacity:.5}.bb-dd__trigger.is-placeholder{color:var(--ink-muted)}.bb-dd__value{flex:1;min-inline-size:0;display:flex;align-items:center;gap:var(--space-2);overflow:hidden;white-space:nowrap}.bb-dd__value .bb-menu__desc{display:none}.bb-dd__value .bb-icon{color:var(--primary-ink)}.bb-dd__chev{transition:transform var(--dur-base) var(--ease-standard);color:var(--ink-muted)}.bb-dd.is-open .bb-dd__chev{transform:rotate(180deg)}.bb-dd.is-open .bb-dd__trigger{border-color:var(--focus-ring);box-shadow:0 0 0 4px var(--primary-soft)}.bb-menu{position:absolute;z-index:40;min-inline-size:100%;inset-block-start:calc(100% + 6px);inset-inline-start:0;padding:var(--space-1);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transform-origin:top;animation:bb-menu-in var(--dur-base) var(--ease-enter) both}@keyframes bb-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}}@keyframes bb-item-in{0%{opacity:0;transform:translateY(6px)}}.bb-menu__list{list-style:none;margin:0;padding:0;max-block-size:280px;overflow:auto}.bb-menu__item{display:flex;align-items:center;gap:var(--space-3);inline-size:100%;min-block-size:40px;padding:8px var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;text-align:start;font:400 14px/20px var(--font-sans);animation:bb-item-in var(--dur-base) var(--ease-enter) backwards;animation-delay:calc(var(--i, 0) * 18ms);transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.bb-menu__item .bb-icon{color:var(--ink-muted);flex:none}.bb-menu__item[data-active=true]{background:var(--surface-tint);color:var(--ink-strong)}.bb-menu__item.is-selected{color:var(--primary-ink);font-weight:500}.bb-menu__item.is-selected .bb-icon{color:var(--primary-ink)}.bb-menu__item.is-disabled,.bb-menu__item:disabled{opacity:.45;cursor:not-allowed}.bb-menu__text{flex:1;min-inline-size:0;display:flex;flex-direction:column}.bb-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-menu__desc{font-size:12px;line-height:16px;color:var(--ink-muted)}.bb-menu__check{opacity:0;transform:scale(.6);transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-base) var(--ease-spring)}.bb-menu__item.is-selected .bb-menu__check{opacity:1;transform:none}.bb-menu__search{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);padding:0 var(--space-3);block-size:38px;border-block-end:1px solid var(--border);color:var(--ink-muted)}.bb-menu__search input{flex:1;border:0;outline:0;background:transparent;font:400 14px/20px var(--font-sans);color:var(--ink-strong)}.bb-menu__empty{padding:var(--space-4);text-align:center;color:var(--ink-muted);font-size:13px}.bb-menu__divider{block-size:1px;margin:var(--space-1) var(--space-2);background:var(--border)}.bb-menu__section{padding:8px var(--space-3) 4px;font:500 12px/16px var(--font-sans);color:var(--ink-muted)}.bb-menu__item kbd{font:500 11px/14px var(--font-sans);color:var(--ink-muted)}.bb-menu__item.is-danger,.bb-menu__item.is-danger .bb-icon{color:var(--danger)}.bb-menu__item.is-danger[data-active=true]{background:var(--danger-soft)}.bb-menuwrap{position:relative;display:inline-flex}.bb-menu--actions{min-inline-size:220px;inset-inline-start:auto;inset-inline-end:0}.bb-menuwrap--start .bb-menu--actions{inset-inline-end:auto;inset-inline-start:0}.bb-bitslive{display:block;inline-size:auto;flex:none}.bb-bitslive__mark{fill:var(--live)}.bb-bitslive__word{fill:var(--live-ink)}.bb-livecard__brand.bb-bitslive{direction:ltr}@property --hex-ga{syntax: "<angle>"; inherits: true; initial-value: 135deg;}.bb-course__hex,.bb-lecture__num{position:relative;isolation:isolate}.bb-course__hex:before,.bb-lecture__num:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;clip-path:var(--hex-clip);background:var(--hex-fill);transform:rotate(0);transition:transform var(--dur-slow) var(--ease-standard),--hex-ga var(--dur-slow) var(--ease-standard)}.bb-course.is-interactive:hover .bb-course__hex:before,.bb-lecture:not(.is-locked):hover .bb-lecture__num:before{transform:rotate(-60deg);--hex-ga: 195deg;transition:transform var(--dur-slower) var(--ease-spring),--hex-ga var(--dur-slower) var(--ease-spring)}@media (prefers-reduced-motion: reduce){.bb-course__hex:before,.bb-lecture__num:before{transition:none!important}}.bb-btn,.bb-iconbtn{position:relative;isolation:isolate;--bw: 0px;--btn-edge: transparent;--btn-fill: transparent;--btn-light: none}.bb-btn__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;clip-path:polygon(var(--cut, 3.5px) 0,calc(100% - var(--cut, 3.5px)) 0,100% 25%,100% 75%,calc(100% - var(--cut, 3.5px)) 100%,var(--cut, 3.5px) 100%,0 75%,0 25%);background:var(--btn-edge)}.bb-iconbtn .bb-btn__bg{clip-path:var(--hex-clip)}.bb-btn__bg:before,.bb-btn__bg:after{content:"";position:absolute;inset:var(--bw);--ic: calc(var(--cut) - var(--bw) * .866);clip-path:polygon(var(--ic) 0,calc(100% - var(--ic)) 0,100% 25%,100% 75%,calc(100% - var(--ic)) 100%,var(--ic) 100%,0 75%,0 25%)}.bb-iconbtn .bb-btn__bg:before,.bb-iconbtn .bb-btn__bg:after{clip-path:var(--hex-clip)}.bb-btn__bg:before{background:var(--btn-fill)}.bb-btn__bg:after{background:var(--btn-light);opacity:0;transition:opacity var(--dur-fast) var(--ease-standard)}.bb-btn:hover:not(:disabled) .bb-btn__bg:after,.bb-iconbtn:hover:not(:disabled) .bb-btn__bg:after{opacity:1}.bb-btn:hover:not(:disabled) .bb-btn__bg,.bb-iconbtn:hover:not(:disabled) .bb-btn__bg{background:var(--btn-edge-hover, var(--btn-edge))}.bb-btn--primary,.bb-iconbtn--primary{color:var(--on-brand);--btn-fill: var(--primary);--btn-light: radial-gradient(160px circle at var(--bx, 50%) var(--by, 50%), var(--brand-indigo) 0%, var(--brand-blue) 100%)}.bb-btn--primary:active:not(:disabled),.bb-iconbtn--primary:active:not(:disabled){--btn-light: radial-gradient(220px circle at var(--bx, 50%) var(--by, 50%), var(--theory-deep) 0%, var(--brand-indigo) 45%, var(--brand-blue) 100%)}.bb-btn--primary:hover:not(:disabled),.bb-iconbtn--primary:hover:not(:disabled){filter:drop-shadow(0 6px 10px color-mix(in srgb,var(--brand-indigo) 30%,transparent))}.bb-btn--secondary,.bb-iconbtn--secondary{--bw: 1px;--btn-edge: var(--border-strong);--btn-fill: var(--surface-card);--btn-edge-hover: radial-gradient(70px circle at var(--bx, 50%) var(--by, 50%), var(--brand-blue), transparent 80%) var(--border-strong);--btn-light: radial-gradient(110px circle at var(--bx, 50%) var(--by, 50%), color-mix(in srgb, var(--brand-blue) 22%, transparent), color-mix(in srgb, var(--brand-indigo) 6%, transparent) 55%, transparent 75%)}.bb-btn--secondary{color:var(--ink-strong)}.bb-iconbtn--secondary{color:var(--primary-ink)}.bb-btn--secondary:hover:not(:disabled),.bb-iconbtn--secondary:hover:not(:disabled){filter:drop-shadow(0 0 6px color-mix(in srgb,var(--brand-blue) 35%,transparent))}.bb-btn--ghost{color:var(--primary-ink)}.bb-iconbtn--ghost:hover:not(:disabled){color:var(--primary-ink)}.bb-btn--ghost,.bb-iconbtn--ghost{--btn-light: radial-gradient(110px circle at var(--bx, 50%) var(--by, 50%), color-mix(in srgb, var(--brand-indigo) 28%, transparent) 0%, color-mix(in srgb, var(--brand-blue) 10%, transparent) 65%, color-mix(in srgb, var(--brand-blue) 5%, transparent) 100%)}.bb-btn--danger{color:var(--on-danger);--btn-fill: var(--danger);--danger-deep: color-mix(in srgb, var(--danger) 72%, #3a0010);--btn-light: radial-gradient(160px circle at var(--bx, 50%) var(--by, 50%), var(--danger-deep) 0%, var(--danger) 100%)}.bb-btn--danger:active:not(:disabled){--btn-light: radial-gradient(220px circle at var(--bx, 50%) var(--by, 50%), color-mix(in srgb, var(--danger) 55%, #2a000c) 0%, var(--danger-deep) 50%, var(--danger) 100%)}.bb-btn--danger:hover:not(:disabled){filter:drop-shadow(0 6px 10px color-mix(in srgb,var(--danger) 30%,transparent))}.bb-btn:disabled{cursor:not-allowed;opacity:.45}.bb-iconbtn:disabled{cursor:not-allowed;color:var(--ink-muted);--bw: 1px;--btn-edge: var(--border);--btn-fill: var(--surface-tint)}.bb-hero__action .bb-btn--secondary{color:var(--brand-indigo);--bw: 0px;--btn-edge: transparent;--btn-edge-hover: transparent;--btn-fill: var(--on-brand);--btn-light: radial-gradient(110px circle at var(--bx, 50%) var(--by, 50%), color-mix(in srgb, var(--brand-indigo) 22%, transparent), transparent 75%)}.bb-hero__action .bb-btn--secondary:hover:not(:disabled){filter:drop-shadow(0 0 8px rgba(255,255,255,.55))}.bb-btn:focus-visible,.bb-iconbtn:focus-visible{outline:none;filter:drop-shadow(2px 0 0 var(--focus-ring)) drop-shadow(-2px 0 0 var(--focus-ring)) drop-shadow(0 2px 0 var(--focus-ring)) drop-shadow(0 -2px 0 var(--focus-ring))}@media (prefers-reduced-motion: reduce){.bb-btn__bg:after{transition:none}}.bb-btn .bb-btn__bg{clip-path:inset(0 round var(--radius-sm))}.bb-btn .bb-btn__bg:before,.bb-btn .bb-btn__bg:after{clip-path:inset(0 round calc(var(--radius-sm) - var(--bw)))}.bb-root{-webkit-font-smoothing:antialiased}.bb-root a:focus-visible,.bb-root input:focus-visible,.bb-root textarea:focus-visible,.bb-root select:focus-visible,.bb-root button:not(.bb-btn):not(.bb-iconbtn):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.bbx-h1{margin:0;font:400 28px/42px var(--font-display);color:var(--ink-strong)}.bbx-sec{margin:0;font:400 22px/34px var(--font-display);color:var(--ink-strong)}.bbx-dcard-h{margin:0;font:500 18px/28px var(--font-sans);color:var(--ink-strong)}.bbx-t-title{font:500 15px/22px var(--font-sans);color:var(--ink-strong)}.bbx-t-label{font:500 14px/20px var(--font-sans);color:var(--ink-strong)}.bbx-t-name{font:700 15px/22px var(--font-name);color:var(--ink-strong)}.bbx-t-name-lg{font:700 20px/30px var(--font-name);color:var(--ink-strong)}.bbx-t-body{font:400 14px/22px var(--font-sans);color:var(--ink)}.bbx-t-read{font:400 16px/26px var(--font-sans);color:var(--ink)}.bbx-t-cap{font:400 12px/18px var(--font-sans);color:var(--ink-muted)}.bbx-stat{font:400 28px/38px var(--font-display);color:var(--ink-strong);font-variant-numeric:tabular-nums}.bbx-num{font-variant-numeric:tabular-nums}.bbx-ltr{direction:ltr;unicode-bidi:isolate}.bbx-clip1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bbx-link{font:500 14px/20px var(--font-sans);color:var(--primary-ink);text-decoration:none;padding:8px 0;background:none;border:0;cursor:pointer}.bbx-link:hover{color:var(--primary-hover)}.bbx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bbx-row{display:flex;align-items:center;gap:12px}.bbx-col{display:flex;flex-direction:column;gap:4px;min-width:0}.bbx-grow{flex:1;min-width:0}.bbx-divide>*+*{border-top:1px solid var(--border)}.bbx-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:24px}.bbx-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px;align-items:start}.bbx-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px}.bbx-card--tight{padding:12px}.bbx-card--dash{padding:20px}.bbx-card--link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.bbx-card--link:hover{box-shadow:var(--shadow-md);border-color:var(--primary-soft)}.bbx-card--link:active{transform:scale(.99)}.bbx-card--sel{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.bbx-card--warn{border-color:var(--warning)}.bbx-card--danger{border-color:var(--danger)}.bbx-well{background:var(--surface-sunken);border-radius:var(--radius-sm);padding:12px}@keyframes bb-rise-in{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes bb-pop-in{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes bb-live-beat{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.4}}@keyframes bb-sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.bbx-rise{animation:bb-rise-in var(--dur-slow) var(--ease-enter) both}.bbx-pop{animation:bb-pop-in var(--dur-slow) var(--ease-spring) both}@media (prefers-reduced-motion: reduce){.bbx-rise,.bbx-pop{animation:none}}.bb-table td .bb-status,.bbx-table__row .bb-status{inline-size:112px;box-sizing:border-box;justify-content:center;justify-self:start;white-space:nowrap}.bb-root{--tk-fg: #1F1F1F;--tk-kw: #0000FF;--tk-ctl: #AF00DB;--tk-type: #267F99;--tk-fn: #795E26;--tk-str: #A31515;--tk-num: #098658;--tk-com: #008000;--tk-var: #001080;--tk-punc: #3B3B3B;--tk-attr: #267F99;--tk-tag: #800000}.bb-root[data-theme=dark],.bbx-code{--tk-fg: #D4D4D4;--tk-kw: #569CD6;--tk-ctl: #C586C0;--tk-type: #4EC9B0;--tk-fn: #DCDCAA;--tk-str: #CE9178;--tk-num: #B5CEA8;--tk-com: #6A9955;--tk-var: #9CDCFE;--tk-punc: #D4D4D4;--tk-attr: #4EC9B0;--tk-tag: #569CD6}.tk-kw{color:var(--tk-kw)}.tk-ctl{color:var(--tk-ctl)}.tk-type{color:var(--tk-type)}.tk-fn{color:var(--tk-fn)}.tk-str{color:var(--tk-str)}.tk-num{color:var(--tk-num)}.tk-com{color:var(--tk-com);font-style:italic}.tk-var{color:var(--tk-var)}.tk-punc{color:var(--tk-punc)}.tk-attr{color:var(--tk-attr)}.tk-tag{color:var(--tk-tag)}.tk-plain{color:var(--tk-fg)}.tk-blank{display:inline-block;padding:0 6px;border:1px dashed var(--tk-fn);border-radius:3px;color:var(--tk-fn);background:color-mix(in srgb,var(--tk-fn) 10%,transparent);line-height:18px}.bbx-mono{font-family:Cascadia Code,JetBrains Mono,Consolas,ui-monospace,Menlo,monospace}.bb-iconbtn .bb-btn__bg{clip-path:inset(0 round var(--radius-sm))}.bb-iconbtn .bb-btn__bg:before,.bb-iconbtn .bb-btn__bg:after{clip-path:inset(0 round calc(var(--radius-sm) - var(--bw)))}.bbx-hex{position:relative;display:inline-grid;place-items:center;flex:none;color:var(--hx-ink, var(--primary-ink))}.bbx-hex:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:var(--hex-clip);background:var(--hx, var(--primary-soft));transition:transform var(--dur-slow) var(--ease-spring)}.bbx-hex__in{position:relative;display:grid;place-items:center}.bbx-hex--num{font:500 15px/20px var(--font-sans);font-variant-numeric:tabular-nums}.bbx-hex--theory{--hx: var(--theory-deep);--hx-ink: var(--on-brand)}.bbx-hex--practical{--hx: var(--practical-deep);--hx-ink: var(--on-brand)}.bbx-hex--primary{--hx: var(--primary);--hx-ink: var(--on-brand)}.bbx-hex--soft{--hx: var(--primary-soft);--hx-ink: var(--primary-ink)}.bbx-hex--muted{--hx: var(--surface-sunken);--hx-ink: var(--ink-muted)}.bbx-hex--ok{--hx: var(--success-soft);--hx-ink: var(--success)}.bbx-hex--warn{--hx: var(--warning-soft);--hx-ink: var(--warning)}.bbx-hex--bad{--hx: var(--danger-soft);--hx-ink: var(--danger)}.bbx-hex--brand{--hx-ink: var(--on-brand)}.bbx-hex--brand:before{background:linear-gradient(195deg,var(--brand-indigo),var(--brand-blue))}.bbx-hex--card{--hx: var(--surface-card);--hx-ink: var(--primary-ink)}.bbx-hex--glass{--hx: rgba(255, 255, 255, .22);--hx-ink: var(--on-brand)}.bbx-spin-host:hover .bbx-hex--spin:before{transform:rotate(-60deg)}.bbx-hexdot{display:inline-block;flex:none;clip-path:var(--hex-clip);background:var(--primary)}.bbx-hexdot--theory{background:var(--theory)}.bbx-hexdot--practical{background:var(--practical)}.bbx-hexdot--success{background:var(--success)}.bbx-hexdot--warning{background:var(--warning)}.bbx-hexdot--danger{background:var(--danger)}.bbx-hexdot--muted{background:var(--border-strong)}.bbx-hexdot--live{background:var(--live);animation:bb-live-beat 1.6s var(--ease-ambient) infinite}@media (prefers-reduced-motion: reduce){.bbx-hexdot--live{animation:none}}.bbx-hexbar,.bbx-hexbar__fill,.bbx-stack>span{clip-path:polygon(var(--cut, 3px) 0,calc(100% - var(--cut, 3px)) 0,100% 25%,100% 75%,calc(100% - var(--cut, 3px)) 100%,var(--cut, 3px) 100%,0 75%,0 25%)}.bbx-hexbar{display:block;inline-size:100%;overflow:hidden}.bbx-hexbar__fill{display:block;block-size:100%;transition:width var(--dur-slower) var(--ease-enter)}.bbx-segbar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px}.bbx-stack{display:flex;gap:2px;inline-size:100%}.bbx-stack>span{block-size:100%;transition:flex-grow var(--dur-slower) var(--ease-enter)}.bbx-btnlink{text-decoration:none;box-sizing:border-box}.bbx-chips{display:flex;gap:8px;flex-wrap:wrap}.bbx-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-card);color:var(--ink);font:500 13px/18px var(--font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.bbx-chip:hover{border-color:var(--primary)}.bbx-chip.is-on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-ink)}.bbx-chip:active{transform:scale(.97)}.bbx-kbd{font:500 10px/14px var(--font-sans);padding:1px 5px;border-radius:4px;border:1px solid var(--border);color:var(--ink-muted);background:var(--surface-tint)}.bbx-verified{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-brand);font:500 12px/16px var(--font-sans);white-space:nowrap}.bbx-scope{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-ink);font:500 13px/18px var(--font-sans)}.bbx-countpill{display:inline-block;padding:4px 12px;background:var(--surface-inverse);color:var(--ink-inverse);font:500 12px/18px var(--font-sans);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums}.bbx-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:12px}.bbx-listrow{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 16px;color:var(--ink);text-decoration:none;box-sizing:border-box}.bbx-listrow--dense{min-height:0;padding:10px 0}.bbx-listrow--link{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard)}.bbx-listrow--link:hover{background:var(--surface-tint)}.bbx-listrow>svg:last-child{color:var(--ink-muted);flex:none}.bbx-listgroup{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.bbx-listgroup>*+*{border-top:1px solid var(--border)}.bbx-listgroup__title{margin:0 4px 8px}.bbx-ministat{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--radius-sm);background:var(--surface-tint);border:1px solid var(--border)}.bbx-ministat b{font:400 22px/32px var(--font-display);color:var(--ink-strong)}.bbx-ministat--theory{background:var(--theory-soft);border-color:transparent}.bbx-ministat--theory b{color:var(--theory-ink)}.bbx-ministat--practical{background:var(--practical-soft);border-color:transparent}.bbx-ministat--practical b{color:var(--practical-ink)}.bbx-ministat--warning{background:var(--warning-soft);border-color:transparent}.bbx-ministat--danger{background:var(--danger-soft);border-color:transparent}.bbx-ministat--success{background:var(--success-soft);border-color:transparent}.bbx-sheetwrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.bbx-sheetwrap.is-contained{position:absolute;z-index:20}.bbx-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#2121217a;animation:bbx-fade var(--dur-base) var(--ease-standard) both}@keyframes bbx-fade{0%{opacity:0}}.bbx-sheet{position:absolute;inset-inline:0;bottom:0;max-height:88%;overflow:auto;background:var(--surface-raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);padding:8px 16px 20px;display:flex;flex-direction:column;gap:16px;outline:none;animation:bb-sheet-in var(--dur-slow) var(--ease-enter) both}.bbx-grab{align-self:center;width:40px;height:4px;flex:none;background:var(--border-strong);clip-path:polygon(1.7px 0,calc(100% - 1.7px) 0,100% 25%,100% 75%,calc(100% - 1.7px) 100%,1.7px 100%,0 75%,0 25%)}.bbx-popover{position:absolute;z-index:22;display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:bb-rise-in var(--dur-base) var(--ease-enter) both}.bbx-popover--bottom{inset-inline:12px;bottom:calc(100% + 8px)}.bbx-popover--bottom-end{top:calc(100% + 4px);inset-inline-end:8px;min-width:220px}.bbx-popover--top-end{top:8px;inset-inline-end:8px;min-width:220px}.bbx-popover--top-start{top:8px;inset-inline-start:8px;min-width:220px}.bbx-linkmenu{padding:6px;gap:0}.bbx-mi{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 10px;border-radius:var(--radius-sm);color:var(--ink);font:500 14px/20px var(--font-sans);text-decoration:none;border:0;background:transparent;cursor:pointer;text-align:start;width:100%}.bbx-mi:hover{background:var(--surface-tint);color:var(--ink-strong)}.bbx-mi.is-danger{color:var(--danger)}.bbx-mi-sep{height:1px;background:var(--border);margin:4px 6px}.bbx-toast{position:fixed;z-index:50;bottom:24px;inset-inline:16px;max-width:560px;margin-inline:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface-inverse);color:var(--ink-inverse);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font:500 14px/20px var(--font-sans);animation:bb-rise-in var(--dur-slow) var(--ease-enter) both}.bbx-toast.is-contained{position:absolute}@media (prefers-reduced-motion: reduce){.bbx-sheet,.bbx-popover,.bbx-toast,.bbx-scrim{animation:none}}a.bbx-navlink{text-decoration:none}.bbx-nav-badge{position:absolute;inset-block-start:2px;inset-inline-end:12px}.bbx-nav-live .bb-bottomnav__pill{background:var(--danger-soft)}.bbx-nav-live.is-active{color:var(--danger)}.bbx-subtabs{display:flex;gap:4px;padding:0 12px;background:var(--surface-card);border-bottom:1px solid var(--border)}.bbx-subtab{flex:1;display:flex;justify-content:center;align-items:center;gap:4px;padding:12px 0;margin-bottom:-1px;font:500 14px/20px var(--font-sans);color:var(--ink-muted);text-decoration:none;border-bottom:2px solid transparent;transition:color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}.bbx-subtab:hover{color:var(--ink-strong)}.bbx-subtab.is-on{color:var(--primary-ink);border-bottom-color:var(--primary-ink)}.bbx-header{background:transparent;border-block-end:1px solid var(--border)}.bbx-header.is-solid{background:var(--surface-card)}.bbx-header.is-compact .bb-appheader__title{font-size:20px;line-height:30px}.bbx-phone{position:relative;width:100%;height:100%;overflow:hidden;background:var(--surface-page)}.bbx-phone__pattern{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.bbx-phone__pattern.is-plain{background:var(--surface-page)}.bbx-phone__pattern>.bb-pattern__content{height:100%}.bbx-phone__col{display:flex;flex-direction:column;height:100%;min-height:0}.bbx-phone__scroll{flex:1;min-height:0;overflow:auto;padding:4px 16px 24px;display:flex;flex-direction:column;gap:12px;scrollbar-width:none}.bbx-phone__scroll::-webkit-scrollbar{display:none}.bbx-phone__scroll:not(.is-bare)>*{flex-shrink:0}.bbx-phone__scroll.is-bare{padding:0;gap:0}.bbx-phone__scroll.is-centered:not(.is-bare){padding-block:24px}.bbx-phone__scroll.is-centered>:first-child{margin-block-start:auto}.bbx-phone__scroll.is-centered>:last-child{margin-block-end:auto}.bbx-win{width:100%;height:100%}.bbx-win .bb-window__body{min-height:0}.bbx-win__main{flex:1;min-width:0;position:relative}.bbx-win__main.is-plain{background:var(--surface-page)}.bbx-win__main>.bb-pattern__content{height:100%}.bbx-win__scroll{height:100%;overflow:auto;padding:28px 32px 40px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.bbx-win__scroll.is-bare{padding:0;gap:0;overflow:hidden}.bbx-win__scroll:not(.is-bare)>*{flex-shrink:0}.bbx-pattern-corner{--bbx-corner-w: 80%;--bbx-corner-h: 260px;--bbx-corner-mask: radial-gradient(var(--bbx-corner-w) var(--bbx-corner-h) at 0 0, #000 0%, rgb(0 0 0 / .55) 40%, rgb(0 0 0 / .18) 70%, transparent 100%)}.bbx-pattern-corner>.bb-pattern__art{opacity:.6;-webkit-mask-image:var(--bbx-corner-mask);mask-image:var(--bbx-corner-mask)}[data-theme=dark] .bbx-pattern-corner>.bb-pattern__art,.bbx-pattern-corner[data-theme=dark]>.bb-pattern__art{opacity:.75}.bbx-win__main.bbx-pattern-corner{--bbx-corner-w: 60%;--bbx-corner-h: 340px}.bbx-studio{display:flex;flex-wrap:wrap;min-height:100vh;background:var(--surface-page)}.bbx-studio__side{flex:0 0 260px;position:relative}.bbx-studio__side .bb-sidebar{position:sticky;top:0;min-height:0;block-size:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;box-sizing:border-box}.bbx-studio__side .bb-sidebar>*{flex-shrink:0}.bbx-studio__bar,.bbx-studio__scrim,.bbx-studio__close{display:none}.bbx-studio__main{flex:1;min-width:0}.bbx-studio__main>.bb-pattern>.bb-pattern__content{padding:32px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box;min-height:100dvh;height:auto}@media (max-height: 880px){.bbx-studio__side .bb-sidebar__item{block-size:36px}.bbx-studio__side .bb-sidebar__brand{margin-block-end:var(--space-4)}.bbx-studio__side .bb-sidebar__section{margin-block-start:var(--space-3)}}@media (max-width: 900px){.bbx-studio{flex-direction:column;flex-wrap:nowrap}.bbx-studio__bar{display:flex;align-items:center;gap:var(--space-3);position:sticky;top:0;z-index:30;padding:var(--space-2) var(--space-4);background:var(--surface-card);border-block-end:1px solid var(--border)}.bbx-studio__bar .bb-logo{direction:ltr}.bbx-studio__side{position:fixed;inset-block:0;inset-inline-start:0;z-index:40;flex:none;background:var(--surface-card);width:min(280px,100vw);display:none;box-shadow:var(--shadow-lg)}.bbx-studio.is-nav-open .bbx-studio__side{display:block}.bbx-studio__close{display:flex;justify-content:flex-end;padding:var(--space-2)}.bbx-studio__side .bb-sidebar{width:100%;block-size:calc(100dvh - 56px)}.bbx-studio__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#00000059}.bbx-studio__main{flex:1 1 auto}.bbx-studio__main>.bb-pattern>.bb-pattern__content{padding:var(--space-4);min-height:calc(100dvh - 56px)}}.bbx-homehero .bb-hero__content{max-inline-size:100%}.bbx-homehero .bb-hero__body,.bbx-homehero .bb-hero__eyebrow{max-inline-size:86%}.bbx-homehero .bb-hero__action{align-self:stretch}.bbx-homehero__act{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.bbx-homehero__read{display:flex;align-items:center;gap:12px;align-self:stretch}.bbx-homehero__meta{display:flex;flex-direction:column;gap:4px;flex:1;min-inline-size:0;font:400 12px/16px var(--font-sans);color:var(--on-brand);opacity:.92}.bbx-meter{--cut: 3px;display:block;block-size:6px;background:#ffffff47}.bbx-meter,.bbx-meter>span{clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% 25%,100% 75%,calc(100% - var(--cut)) 100%,var(--cut) 100%,0 75%,0 25%)}.bbx-meter>span{display:block;block-size:100%;background:var(--on-brand);transition:inline-size var(--dur-slow) var(--ease-enter)}.bbx-upd{align-self:stretch;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius-md);background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff3d;color:var(--on-brand);animation:bb-rise-in var(--dur-slow) var(--ease-enter) both}.bbx-upd__row{display:flex;align-items:center;gap:10px}.bbx-upd__hex{inline-size:36px;block-size:40px;display:grid;place-items:center;flex:none;clip-path:var(--hex-clip);background:#ffffff38;color:var(--on-brand)}.bbx-upd__hex.is-ok{background:var(--on-brand);color:var(--success)}.bbx-upd__hex.is-dl svg{animation:bbx-dl 1.4s var(--ease-standard) infinite}@keyframes bbx-dl{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}.bbx-upd__txt{display:flex;flex-direction:column;flex:1;min-inline-size:0;font:500 14px/20px var(--font-sans)}.bbx-upd__txt small{font:400 12px/16px var(--font-sans);opacity:.86}.bbx-upd__pct{font:500 14px/20px var(--font-sans);font-variant-numeric:tabular-nums}.bbx-upd .bbx-meter>span{transition:inline-size .18s linear}@media (prefers-reduced-motion: reduce){.bbx-upd__hex.is-dl svg,.bbx-upd{animation:none}}.bbx-otp{position:relative;display:grid;gap:8px;direction:ltr}.bbx-otp>.bbx-otp__box{display:grid;place-items:center;height:56px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);font:500 22px/28px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-strong);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.bbx-otp>.bbx-otp__box.is-cur{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.bbx-otp>.bbx-otp__box.is-cur.is-blank:after{content:"";width:2px;height:26px;background:var(--primary);animation:bbx-caret 1s steps(1) infinite}.bbx-otp.is-error>.bbx-otp__box{border-color:var(--danger)}.bbx-otp.is-disabled{opacity:.5}@keyframes bbx-caret{50%{opacity:0}}.bbx-otp>input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;font-size:16px;cursor:text}@media (prefers-reduced-motion: reduce){.bbx-otp>.bbx-otp__box.is-cur.is-blank:after{animation:none}}.bbx-stepper{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}.bbx-stepper__st{display:flex;align-items:center;gap:6px;font:500 12px/16px var(--font-sans);color:var(--ink-muted);white-space:nowrap}.bbx-stepper__st.is-on{color:var(--primary-ink)}.bbx-stepper__st.is-done{color:var(--success)}.bbx-stepper__line{flex:1;height:2px;min-width:12px;background:var(--border)}.bbx-stepper__line.is-done{background:var(--success)}.bbx-timeline{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.bbx-timeline__i{display:flex;gap:12px}.bbx-timeline__rail{display:flex;flex-direction:column;align-items:center;width:32px;flex:none}.bbx-timeline__rail>i{flex:1;width:2px;min-height:14px;background:var(--border)}.bbx-timeline__rail>i.is-on{background:var(--success)}.bbx-timeline--practical .bbx-timeline__rail>i.is-on{background:var(--practical)}.bbx-timeline--theory .bbx-timeline__rail>i.is-on{background:var(--theory)}.bbx-features{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.bbx-features>li{display:flex;align-items:center;gap:10px;min-height:36px}.bbx-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--ink-muted)}.bbx-flow__s{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-muted);font:500 12px/16px var(--font-sans)}.bbx-flow__s.is-done{background:var(--success-soft);color:var(--success)}.bbx-flow__s.is-cur{background:var(--primary);color:var(--on-brand)}.bbx-code{direction:ltr;text-align:left;border-radius:var(--radius-sm);overflow:hidden;background:#1e1e1e;border:1px solid #2B2B2B;box-shadow:var(--shadow-sm);color:var(--tk-fg)}.bbx-code__bar{display:flex;align-items:stretch;block-size:32px;background:#181818;border-block-end:1px solid #2B2B2B;font:400 12px/16px var(--font-sans)}.bbx-code__tab{display:inline-flex;align-items:center;gap:6px;padding:0 12px;background:#1e1e1e;color:#fff;box-shadow:inset 0 1px 0 var(--brand-blue);border-inline-end:1px solid #2B2B2B}.bbx-code__tab b{font:700 10px/12px var(--font-sans);color:#a074c4}.bbx-code__lang{margin-inline-start:auto;display:inline-flex;align-items:center;padding:0 12px;color:#9d9d9d}.bbx-code pre{margin:0;padding:10px 0 12px;overflow-x:auto;font:400 13px/20px Cascadia Code,JetBrains Mono,Consolas,ui-monospace,Menlo,monospace;color:var(--tk-fg);counter-reset:ln;white-space:pre;-moz-tab-size:4;tab-size:4;scrollbar-width:thin;scrollbar-color:#424242 transparent}.bbx-code__l{display:block;padding-inline-end:16px}.bbx-code__l:before{counter-increment:ln;content:counter(ln);display:inline-block;inline-size:2.4em;margin-inline-end:1.2em;text-align:right;color:#6e7681}.bbx-code pre.is-plain .bbx-code__l{padding-inline-start:14px}.bbx-code pre.is-plain .bbx-code__l:before{content:none}.bbx-code__l.is-cur{background:#2a2d2e;box-shadow:inset 0 1px #282828,inset 0 -1px #282828}.bbx-code__l.is-cur:before{color:#ccc}.bbx-code__ig{box-shadow:inset 1px 0 #404040}.bbx-icode,.bbx-codetext{font-family:Cascadia Code,JetBrains Mono,Consolas,ui-monospace,Menlo,monospace;direction:ltr;unicode-bidi:isolate;color:var(--tk-fg)}.bbx-icode{font-size:13px;line-height:20px;padding:1px 6px;border-radius:4px;background:var(--surface-sunken)}.bbx-choice{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--ink);font:500 14px/20px var(--font-sans);cursor:pointer;text-align:start;transition:border-color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.bbx-choice:hover:not(:disabled){border-color:var(--primary)}.bbx-choice:disabled{cursor:default}.bbx-choice:active:not(:disabled){transform:scale(.99)}.bbx-choice.is-on{border:2px solid var(--primary);background:var(--primary-soft);color:var(--primary-ink);padding:9px 11px}.bbx-choice.is-ok{border:2px solid var(--success);background:var(--success-soft);color:var(--success);padding:9px 11px}.bbx-choice.is-bad{border:2px solid var(--danger);background:var(--danger-soft);color:var(--danger);padding:9px 11px}.bbx-choice__letter{width:28px;height:31px;clip-path:var(--hex-clip);display:grid;place-items:center;flex:none;font:500 13px/18px var(--font-sans);background:var(--surface-sunken);color:var(--ink-muted)}.bbx-choice.is-on .bbx-choice__letter{background:var(--primary);color:var(--on-brand)}.bbx-choice.is-ok .bbx-choice__letter{background:var(--success);color:var(--on-brand)}.bbx-choice.is-bad .bbx-choice__letter{background:var(--danger);color:var(--on-danger)}.bbx-choice .bbx-codetext{font-size:14px}.bbx-qgrid{display:grid;gap:4px}.bbx-qn{display:grid;place-items:center;height:30px;clip-path:var(--hex-clip);border:0;font:500 11px/14px var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer;background:var(--surface-sunken);color:var(--ink-muted)}.bbx-qn.is-done{background:var(--primary-soft);color:var(--primary-ink)}.bbx-qn.is-flag{background:var(--warning-soft);color:var(--warning)}.bbx-qn.is-cur{background:var(--primary);color:var(--on-brand)}.bbx-timer{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--surface-inverse);color:var(--ink-inverse);font:500 18px/24px var(--font-sans);font-variant-numeric:tabular-nums;direction:ltr}.bbx-timer.is-low{background:var(--danger);color:var(--on-danger)}.bbx-flipscene{perspective:1200px}.bbx-flip{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;font-family:var(--font-sans);transform-style:preserve-3d;transition:transform var(--dur-slower) var(--ease-enter)}.bbx-flip.is-back{transform:rotateY(180deg)}.bbx-flip__face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;box-sizing:border-box;border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border);box-shadow:var(--shadow-md);text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}.bbx-flip__face.is-back{transform:rotateY(180deg);border-color:transparent}.bbx-flip__face.is-practical{background:var(--practical-soft)}.bbx-flip__face.is-theory{background:var(--theory-soft)}.bbx-flip__term{font:400 30px/42px var(--font-display);color:var(--ink-strong)}.bbx-flip__code{font:500 24px/32px Cascadia Code,JetBrains Mono,Consolas,ui-monospace,monospace;padding:6px 14px;border-radius:var(--radius-sm);background:var(--surface-sunken)}.bbx-flip__code .bbx-codetext{font-size:inherit}@media (prefers-reduced-motion: reduce){.bbx-flip{transition:none}}.bbx-rates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bbx-rate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-card);cursor:pointer;font:500 14px/20px var(--font-sans);color:var(--ink-strong);transition:background-color var(--dur-fast) var(--ease-standard),transform var(--dur-instant)}.bbx-rates.is-compact .bbx-rate{min-height:48px;font-size:13px}.bbx-rate:hover{background:var(--surface-tint)}.bbx-rate:active{transform:scale(.96)}.bbx-rate small{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.bbx-rate.is-again{border-color:var(--danger);color:var(--danger)}.bbx-rate.is-easy{border-color:var(--success);color:var(--success)}.bbx-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;flex:none;padding:6px 0;border-radius:var(--radius-sm);background:var(--surface-sunken)}.bbx-date b{font:400 24px/30px var(--font-display);color:var(--ink-strong)}.bbx-date span{font:500 11px/14px var(--font-sans);color:var(--ink-muted)}.bbx-date.is-sm{width:48px;padding:4px 0}.bbx-date.is-sm b{font-size:20px;line-height:26px}.bbx-exam{display:flex;gap:12px;padding:12px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.bbx-exam.is-conflict{border-color:var(--warning);box-shadow:0 0 0 1px var(--warning)}.bbx-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.bbx-cal__dow{text-align:center;font:500 11px/16px var(--font-sans);color:var(--ink-muted);padding-bottom:4px}.bbx-cal__day{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;padding:4px 2px;border-radius:var(--radius-sm);background:var(--surface-card);border:1px solid var(--border);font:500 13px/18px var(--font-sans);color:var(--ink-strong);cursor:pointer}.bbx-cal__day.is-off{background:var(--surface-tint);color:var(--ink-muted)}.bbx-cal__day.is-today{border:2px solid var(--primary);padding:3px 1px}.bbx-cal__exam{position:absolute;top:2px;inset-inline-end:2px;width:16px;height:18px;clip-path:var(--hex-clip);display:grid;place-items:center;font:500 9px/10px var(--font-sans);color:var(--on-brand);background:var(--danger)}.bbx-cal__bars{display:flex;flex-direction:column;gap:2px;width:100%;padding:0 3px;box-sizing:border-box}.bbx-cal__bars span{height:4px;clip-path:polygon(1.7px 0,calc(100% - 1.7px) 0,100% 25%,100% 75%,calc(100% - 1.7px) 100%,1.7px 100%,0 75%,0 25%)}.bbx-task{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md)}.bbx-task>i{width:6px;align-self:stretch;flex:none;clip-path:polygon(0 3px,100% 0,100% 100%,0 calc(100% - 3px))}.bbx-task.is-done .bbx-t-label{color:var(--ink-muted);text-decoration:line-through}.bbx-lec{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.bbx-lec:hover{border-color:var(--primary-soft);box-shadow:var(--shadow-sm)}.bbx-lec__body{gap:6px;text-decoration:none;color:inherit}.bbx-lec__ok{gap:4px;color:var(--success);font-weight:500}.bbx-lec__warn{gap:4px;align-items:flex-start;color:var(--warning);font-weight:500}.bbx-tile{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-md);background:var(--surface-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.bbx-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.bbx-tile.is-compact{align-items:center;gap:6px;padding:12px 6px;font:500 12px/16px var(--font-sans);color:var(--ink-strong);text-align:center;box-shadow:none}.bbx-studytime{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:2px 10px 2px 8px;border-radius:var(--radius-pill);background:var(--surface-tint);border:1px solid var(--border);font:400 12px/18px var(--font-sans);color:var(--ink)}.bbx-studytime svg{color:var(--primary-ink);flex:none}.bbx-studytime b{font-weight:600;color:var(--ink-strong)}.bbx-studytime__mine{color:var(--ink-muted)}.bbx-vote{display:flex;flex-direction:column;align-items:center;width:44px;flex:none;align-self:stretch;border-radius:var(--radius-sm);background:var(--surface-tint);border:1px solid var(--border)}.bbx-vote__b{display:grid;place-items:center;width:100%;height:32px;border:0;background:transparent;color:var(--ink-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.bbx-vote__b:hover{background:var(--primary-soft);color:var(--primary-ink)}.bbx-vote__b.is-up{color:var(--success)}.bbx-vote__b.is-down{color:var(--danger)}.bbx-vote__b:active svg{transform:scale(.85)}.bbx-vote__score{font:500 14px/20px var(--font-sans);color:var(--ink-strong)}.bbx-comment{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.bbx-comment__reply{margin-inline-start:20px;padding:12px;border-radius:var(--radius-sm);background:var(--surface-tint);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.bbx-comment__reply.is-team{background:var(--primary-soft);border-color:transparent}.bbx-act{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);font:500 12px/16px var(--font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.bbx-act:hover{background:var(--primary-soft);color:var(--primary-ink)}.bbx-composer{display:flex;flex-direction:column;gap:10px;padding:12px 16px 16px;background:var(--surface-card);border-top:1px solid var(--border);box-shadow:var(--shadow-md)}.bbx-field{box-sizing:border-box;flex:1;min-width:0;width:100%;height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--ink);font:400 16px/26px var(--font-sans);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.bbx-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}textarea.bbx-field{height:auto;padding:10px 12px;resize:vertical}.bbx-media{display:flex;gap:12px;width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);cursor:pointer;text-align:start;font-family:var(--font-sans);color:inherit;text-decoration:none;transition:box-shadow var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.bbx-media:hover{box-shadow:var(--shadow-md);border-color:var(--primary-soft)}.bbx-media.is-on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.bbx-media__thumb{position:relative;width:120px;height:68px;flex:none;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-sunken);overflow:hidden}.bbx-media__dur{position:absolute;bottom:4px;left:4px;padding:0 6px;border-radius:4px;background:var(--surface-inverse);color:var(--ink-inverse);font:500 11px/16px var(--font-sans)}.bbx-media__watched{position:absolute;inset-inline-start:6px;bottom:0;height:3px;background:var(--live)}.bbx-player{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;background:#1c1c1c;display:grid;place-items:center;box-shadow:var(--shadow-md)}.bbx-player.is-live{box-shadow:0 0 0 1px var(--live),var(--shadow-md)}.bbx-player iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.bbx-player__play{position:relative;width:64px;height:70px;clip-path:var(--hex-clip);border:0;background:var(--surface-card);color:var(--primary-ink);display:grid;place-items:center;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.bbx-player__play:hover{transform:scale(1.08)}.bbx-player__live{position:absolute;top:10px;inset-inline-start:10px;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);background:#0009;color:#fff;font:500 12px/16px var(--font-sans)}.bbx-notif{display:flex;align-items:flex-start;gap:12px}.bbx-notif.is-unread{border-color:var(--primary-soft)}.bbx-notif__cat{font-weight:500}.bbx-notif__cat.is-bad{color:var(--danger)}.bbx-notif__cat.is-warn{color:var(--warning)}.bbx-notif__cat.is-ok{color:var(--success)}.bbx-notif__cat.is-soft{color:var(--primary-ink)}.bbx-source{display:flex;gap:12px;padding:12px}.bbx-source__badge{align-self:flex-start}.bbx-source__title{text-decoration:none}.bbx-source__prev{width:100%;max-height:140px;object-fit:cover;object-position:top;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff}.bbx-source__kind{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px;border-radius:var(--radius-sm);background:var(--surface-sunken);font:500 12px/16px var(--font-sans);color:var(--ink-muted)}.bbx-page{direction:ltr;position:relative;flex:none;background:#fff;box-shadow:var(--shadow-md);border-radius:2px;overflow:hidden;animation:bb-rise-in var(--dur-slow) var(--ease-enter) both}.bbx-page>img,.bbx-page>canvas{display:block;width:100%;height:auto}.bbx-page.is-night>img,.bbx-page.is-night>canvas{filter:invert(.9) hue-rotate(180deg)}.bbx-page.is-sepia>img,.bbx-page.is-sepia>canvas{filter:sepia(.35) brightness(.98)}.bbx-page__hl{position:absolute;mix-blend-mode:multiply;border-radius:2px;pointer-events:none;transition:background-color var(--dur-base) var(--ease-standard)}.bbx-page.is-night .bbx-page__hl{mix-blend-mode:screen;opacity:.45}.bbx-page__hl.is-sel{outline:1px solid var(--primary)}.bbx-page__hit{position:absolute;background:var(--practical-soft);outline:2px solid var(--practical);mix-blend-mode:multiply;border-radius:2px;pointer-events:none}.bbx-page__note{position:absolute;left:2%;padding:0;border:0;background:none;cursor:pointer}.bbx-page__handle{position:absolute;width:2px;background:var(--primary);pointer-events:none}.bbx-page__handle:after{content:"";position:absolute;bottom:-9px;left:-5px;width:12px;height:13px;background:var(--primary);clip-path:var(--hex-clip)}@media (prefers-reduced-motion: reduce){.bbx-page{animation:none}}.bbx-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:6px;margin:0;background:var(--surface-sunken);clip-path:polygon(2.6px 0,calc(100% - 2.6px) 0,100% 25%,100% 75%,calc(100% - 2.6px) 100%,2.6px 100%,0 75%,0 25%)}.bbx-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:20px;background:var(--practical);clip-path:var(--hex-clip);cursor:pointer}.bbx-range::-moz-range-thumb{width:18px;height:20px;background:var(--practical);border:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.bbx-readerbar{position:relative;z-index:6;display:flex;flex-direction:column;gap:6px;padding:8px 12px 10px;background:var(--surface-card);border-top:1px solid var(--border);box-shadow:var(--shadow-md)}.bbx-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;min-height:52px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);font:500 11px/14px var(--font-sans);cursor:pointer;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.bbx-tool:hover{background:var(--surface-tint);color:var(--ink-strong)}.bbx-tool.is-on{color:var(--primary-ink);background:var(--primary-soft)}.bbx-tool:active{transform:scale(.94)}.bbx-seltool{position:absolute;z-index:8;display:flex;align-items:center;gap:4px;padding:6px;background:var(--surface-inverse);color:var(--ink-inverse);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:bb-rise-in var(--dur-base) var(--ease-enter) both}.bbx-swatch{width:30px;height:33px;clip-path:var(--hex-clip);border:0;cursor:pointer;display:grid;place-items:center;color:var(--ink-strong);transition:transform var(--dur-fast) var(--ease-spring)}.bbx-swatch:hover{transform:scale(1.1)}.bbx-swatch.is-on{transform:scale(1.15)}.bbx-seltool__sep{width:1px;height:24px;background:#fff3}.bbx-seltool__btn{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:500 13px/18px var(--font-sans);cursor:pointer;text-decoration:none}.bbx-seltool__btn:hover{background:#ffffff1f}.bbx-swatch-mini{width:14px;height:15px;clip-path:var(--hex-clip);outline:1px solid var(--border-strong);flex:none}.bbx-readersearch{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-card);border-bottom:1px solid var(--border)}.bbx-thumb{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:none;cursor:pointer;text-decoration:none;color:var(--ink-muted);font:500 12px/16px var(--font-sans)}.bbx-thumb img{display:block;width:100%;aspect-ratio:800 / 1131;object-fit:cover;background:#fff;border:1px solid var(--border);border-radius:4px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.bbx-thumb:hover img{transform:translateY(-2px);box-shadow:var(--shadow-md)}.bbx-thumb.is-cur{color:var(--primary-ink)}.bbx-thumb.is-cur img{outline:2px solid var(--primary);outline-offset:2px}.bbx-thumb__mark{position:absolute;top:6px}.bbx-thumb__mark.is-note{inset-inline-start:6px}.bbx-thumb__mark.is-changed{inset-inline-end:6px}.bbx-toc{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 4px;border:0;border-bottom:1px solid var(--border);background:none;cursor:pointer;text-align:start;text-decoration:none;color:var(--ink)}.bbx-toc:last-child{border-bottom:0}.bbx-toc.is-sub{padding-inline-start:28px}.bbx-toc:hover{color:var(--primary-ink)}.bbx-note{display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card)}.bbx-note.is-review{border-color:var(--warning)}.bbx-note>i{width:5px;flex:none;align-self:stretch;clip-path:polygon(0 3px,100% 0,100% 100%,0 calc(100% - 3px))}.bbx-note__quote{align-self:flex-start;padding:1px 6px;border-radius:4px;font:400 14px/22px var(--font-sans);color:var(--ink)}.bbx-jump{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card);cursor:pointer;text-align:start;font-family:var(--font-sans);color:var(--ink);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.bbx-jump:hover{background:var(--primary-soft);border-color:var(--primary)}.bbx-topbar{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface-card);border-bottom:1px solid var(--border)}.bbx-topbar__sep{width:1px;height:24px;background:var(--border);margin:0 4px}.bbx-pagein{width:44px;height:32px;text-align:center;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-card);font:500 13px/18px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-strong)}.bbx-textlayer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-align:initial;opacity:1;forced-color-adjust:none;transform-origin:0 0;z-index:2}.bbx-textlayer span,.bbx-textlayer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}.bbx-textlayer ::selection{background:color-mix(in srgb,var(--primary) 30%,transparent)}.bbx-table{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:auto}.bbx-table__head{display:grid;gap:12px;padding:10px 16px;background:var(--surface-tint);font:500 12px/16px var(--font-sans);color:var(--ink-muted)}.bbx-table__row{display:grid;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);font:400 14px/22px var(--font-sans);color:var(--ink);animation:bb-rise-in var(--dur-slow) var(--ease-enter) both;transition:background-color var(--dur-fast) var(--ease-standard)}.bbx-table__row.is-click{cursor:pointer}.bbx-table__row.is-click:hover{background:var(--surface-tint)}.bbx-table__row.is-sel{background:var(--primary-soft)}.bbx-table__empty{padding:24px 16px;text-align:center;color:var(--ink-muted);font:400 14px/22px var(--font-sans)}@media (prefers-reduced-motion: reduce){.bbx-table__row{animation:none}}.bbx-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;align-items:start}.bbx-kcol{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius-md);background:var(--surface-sunken);min-height:220px}.bbx-kcol__h{display:flex;align-items:center;justify-content:space-between;font:500 14px/20px var(--font-sans);color:var(--ink-strong);padding:2px 4px}.bbx-kcol__n{min-width:24px;padding:0 8px;border-radius:var(--radius-pill);background:var(--surface-card);text-align:center;font:500 12px/20px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-muted)}.bbx-kcol__n.is-warn{background:var(--warning-soft);color:var(--warning)}.bbx-kcol__n.is-ok{background:var(--success-soft);color:var(--success)}.bbx-kcard{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:var(--surface-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;animation:bb-rise-in var(--dur-slow) var(--ease-enter) both;transition:box-shadow var(--dur-fast) var(--ease-standard)}.bbx-kcard:hover{box-shadow:var(--shadow-md)}.bbx-kcard.is-late{border-color:var(--warning)}.bbx-kcard.is-fail{border-color:var(--danger)}.bbx-check{display:flex;align-items:flex-start;gap:12px;padding:10px 0}.bbx-check+.bbx-check{border-top:1px solid var(--border)}.bbx-repgroup{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);cursor:pointer;text-align:start;font-family:var(--font-sans);color:var(--ink);animation:bb-rise-in var(--dur-slow) var(--ease-enter) both;transition:border-color var(--dur-fast) var(--ease-standard)}.bbx-repgroup:hover{border-color:var(--primary-soft)}.bbx-repgroup.is-sel{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.bbx-review{display:flex;flex-direction:column;gap:12px;transition:box-shadow var(--dur-fast) var(--ease-standard)}.bbx-review:hover{box-shadow:var(--shadow-md)}.bbx-review__prev{position:relative;height:150px;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-sunken);display:grid;place-items:center}.bbx-review__prev img{width:100%;height:100%;object-fit:cover;object-position:top}.bbx-mdedit{display:flex;flex-direction:column;gap:8px}.bbx-mdedit__src{font:400 14px/22px Cascadia Code,JetBrains Mono,Consolas,ui-monospace,monospace;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card);overflow:hidden}.bbx-mdedit__src:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.bbx-mdedit__src .cm-editor{min-height:inherit}.bbx-mdedit__src .cm-scroller{font:inherit}.bbx-mdedit__src .cm-content{padding:10px;caret-color:var(--ink);color:var(--ink)}.bbx-mdedit__src .cm-line{padding:0}.bbx-mdedit__src .cm-focused{outline:none}.bbx-mdedit__src .cm-selectionBackground{background:var(--primary-soft)!important}.bbx-mdedit__code{direction:ltr;unicode-bidi:isolate}.bbx-mdedit__prev{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-tint);min-height:120px}.bbx-log{margin:0;overflow:auto;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface-inverse);color:var(--ink-inverse);font:400 12px/20px Cascadia Code,Consolas,ui-monospace,monospace;text-align:left;white-space:pre-wrap}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.11"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.bbx-md{font:400 15px/1.85 var(--font-sans);color:var(--ink);overflow-wrap:anywhere}.bbx-md>*{margin-block:0 12px}.bbx-md>:last-child{margin-block-end:0}.bbx-md__h{font-family:var(--font-sans);font-weight:700;color:var(--ink-strong);line-height:1.5;margin-block:20px 8px}.bbx-md>.bbx-md__h:first-child{margin-block-start:0}.bbx-md__h1{font-size:22px}.bbx-md__h2{font-size:19px}.bbx-md__h3{font-size:17px}.bbx-md__h4,.bbx-md__h5,.bbx-md__h6{font-size:15px}.bbx-md ul,.bbx-md ol{padding-inline-start:22px}.bbx-md li+li{margin-block-start:4px}.bbx-md blockquote{margin-inline:0;padding:8px 14px;border-inline-start:3px solid var(--primary);background:var(--surface-tint);border-radius:var(--radius-xs);color:var(--ink)}.bbx-md hr{border:0;border-block-start:1px solid var(--border);margin-block:16px}.bbx-md del{color:var(--ink-muted)}.bbx-md .bbx-code{margin-block:4px 12px}.bbx-md__table{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.bbx-md__table table{border-collapse:collapse;inline-size:100%;font-size:14px}.bbx-md__table th,.bbx-md__table td{padding:8px 12px;border-block-end:1px solid var(--border);text-align:start;vertical-align:top}.bbx-md__table th{background:var(--surface-sunken);font-weight:600}.bbx-md__table tr:last-child td{border-block-end:0}.bbx-md__math{unicode-bidi:isolate}.bbx-md__math--block{display:block;overflow-x:auto;text-align:center;margin-block:8px}.bbx-md .katex{font-size:1.08em}.bbx-mdws{display:flex;flex-direction:column;gap:10px}.bbx-mdws__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bbx-mdws__panes{display:grid;gap:12px}.bbx-mdws__panes.is-split{grid-template-columns:repeat(2,minmax(0,1fr))}.bbx-mdws__src{min-inline-size:0}.bbx-mdws__prev{padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card);overflow:auto;max-block-size:70vh}.bbx-mdws__panes.is-split .bbx-mdws__src .bbx-mdedit__src{max-block-size:70vh;overflow:auto}.bbx-mdws__status{display:flex;justify-content:space-between;gap:12px}@media (max-width: 900px){.bbx-mdws__panes.is-split{grid-template-columns:minmax(0,1fr)}}.bbx-week__wrap{overflow:auto}.bbx-week{display:grid;gap:6px}.bbx-week__day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font:500 13px/18px var(--font-sans);color:var(--ink-strong);text-align:center}.bbx-week__day span{font:400 11px/14px var(--font-sans);color:var(--ink-muted)}.bbx-week__day.is-today,.bbx-week__day.is-today span{color:var(--primary-ink)}.bbx-week__time{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px;border-radius:var(--radius-sm);background:var(--surface-tint);font:500 12px/16px var(--font-sans);color:var(--ink-strong);text-align:center}.bbx-week__time small{font:400 10px/13px var(--font-sans);color:var(--ink-muted)}.bbx-week__cell{display:flex;flex-direction:column;gap:4px;min-height:64px;min-width:0}.bbx-week.is-compact{gap:4px}.bbx-week.is-compact .bbx-week__cell{min-height:54px}.bbx-week__empty{flex:1;border-radius:var(--radius-sm);background:var(--surface-sunken)}.bbx-week__add{flex:1;min-height:64px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--ink-muted);font:500 12px/16px var(--font-sans);transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.bbx-week__add:hover,.bbx-week__add.is-sel{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-ink)}.bbx-week__add.is-sel{border:2px solid var(--primary)}.bbx-exslot{display:flex;flex-direction:column;gap:2px;flex:1;min-height:58px;box-sizing:border-box;padding:8px 10px;border-radius:var(--radius-sm);border:0;background:var(--practical-soft);color:var(--practical-ink);font:500 13px/18px var(--font-sans);text-align:start;animation:bb-pop-in var(--dur-slow) var(--ease-spring) both}button.bbx-exslot{cursor:pointer}.bbx-exslot small{font:400 11px/14px var(--font-sans);color:var(--ink)}.bbx-exslot.is-theory{background:var(--theory-soft);color:var(--theory-ink)}.bbx-exslot.is-carry{background:var(--primary-soft);color:var(--primary-ink);outline:1px dashed var(--primary);outline-offset:-1px}.bbx-exslot.is-conf{outline:2px solid var(--warning);outline-offset:-2px}.bbx-exslot.is-sel{outline:2px solid var(--primary);outline-offset:1px}.bbx-ses{display:flex;flex-direction:column;gap:3px;flex:1;min-height:64px;box-sizing:border-box;width:100%;padding:8px 10px;border:0;border-inline-start:3px solid var(--practical);border-radius:var(--radius-sm);background:var(--practical-soft);color:var(--ink);text-align:start;font-family:var(--font-sans)}.bbx-ses.is-theory{border-inline-start-color:var(--theory);background:var(--theory-soft)}.bbx-ses b{font:700 13px/18px var(--font-name);color:var(--practical-ink)}.bbx-ses.is-theory b{color:var(--theory-ink)}.bbx-ses span{display:flex;align-items:center;gap:4px;font:400 11px/15px var(--font-sans);color:var(--ink)}.bbx-ses span svg{flex:none;color:var(--ink-muted)}button.bbx-ses{cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard)}button.bbx-ses:hover{box-shadow:var(--shadow-sm)}.bbx-ses.is-sel{outline:2px solid var(--primary);outline-offset:1px}.bbx-ses.is-conf{outline:2px solid var(--warning);outline-offset:-2px}.bbx-ses.is-now{box-shadow:0 0 0 2px var(--primary)}.bbx-daystrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.bbx-daystrip__d{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);cursor:pointer;font-family:var(--font-sans);color:var(--ink)}.bbx-daystrip__d b{font:400 20px/26px var(--font-display);color:var(--ink-strong)}.bbx-daystrip__d small{font:500 11px/14px var(--font-sans);color:var(--ink-muted)}.bbx-daystrip__d.is-on{border:2px solid var(--primary);background:var(--primary-soft);padding:7px 0}.bbx-daystrip__d.is-on b,.bbx-daystrip__d.is-on small{color:var(--primary-ink)}.bbx-ttday{display:flex;flex-direction:column;gap:10px}.bbx-ttday__slot{display:flex;gap:10px;align-items:stretch}.bbx-ttday__when{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;flex:none;font:500 12px/16px var(--font-sans);color:var(--ink-strong)}.bbx-ttday__when span+span{color:var(--ink-muted);font-weight:400}.bbx-ttday__free{flex:1;display:flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--radius-md);border:1px dashed var(--border-strong);font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.bbx-ttcard{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-card);border:1px solid var(--border);border-inline-start:4px solid var(--practical);box-shadow:var(--shadow-sm);animation:bb-rise-in var(--dur-slow) var(--ease-enter) both}.bbx-ttcard.is-theory{border-inline-start-color:var(--theory)}.bbx-ttcard.is-now{box-shadow:0 0 0 2px var(--primary),var(--shadow-md)}.bbx-ttcard__meta{display:flex;align-items:center;gap:6px;font:400 13px/18px var(--font-sans);color:var(--ink)}.bbx-ttcard__meta svg{flex:none;color:var(--ink-muted)}.bbx-slotsum{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-tint);border:1px solid var(--border)}@media (prefers-reduced-motion: reduce){.bbx-exslot,.bbx-ttcard{animation:none}}.bbx-dots-avoid .bbd circle{scale:calc(1 - var(--near, 0));fill-opacity:calc(1 - var(--near, 0))}.bbx-dots-avoid .bbd.is-live circle{scale:calc((1 + .75 * var(--b)) * (1 - var(--near, 0)))}.bbx-dots-avoid:not(.is-avoid-anim) .bbd circle{transition:none}.bbx-dots-avoid.is-avoid-anim .bbd circle{transition:scale var(--dur-slow) var(--ease-standard),fill-opacity var(--dur-slow) var(--ease-standard)}@media (prefers-reduced-motion: reduce){.bbx-dots-avoid .bbd circle{scale:calc(1 - var(--near, 0))!important}.bbx-dots-avoid .bbd circle,.bbx-dots-avoid.is-avoid-anim .bbd circle{transition:none}}.bbx-illustration{display:block;flex:none;inline-size:180px;max-inline-size:100%;block-size:auto;aspect-ratio:1;object-fit:contain;margin-inline:auto}.bbx-illustration--compact{inline-size:112px}.bbx-illustration--hero{inline-size:min(280px,70vw,32dvh)}.bbx-illustrated-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center}.bbx-illustrated-state .bbx-h1{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0}.bbx-illustrated-state__body{max-inline-size:42ch;color:var(--ink-muted)}.st-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:24px;align-items:start}.st-two--wide{grid-template-columns:minmax(0,1fr) minmax(360px,480px)}@media (max-width: 1180px){.st-two,.st-two--wide{grid-template-columns:minmax(0,1fr)}}.st-panel{position:sticky;inset-block-start:24px;display:flex;flex-direction:column;gap:16px}.st-form{display:flex;flex-direction:column;gap:12px}.st-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.st-grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px}.st-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.st-toolbar>*{min-inline-size:180px}.st-scroll{overflow-x:auto}.st-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:16px;overflow-x:auto;align-items:start}.st-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font:400 14px/22px var(--font-sans);color:var(--ink)}.st-kv dt{color:var(--ink-muted)}.st-kv dd{margin:0}.st-login{min-height:100vh}.st-login>.bb-pattern__content{min-height:100vh;inline-size:100%;display:grid;place-items:center;padding:24px;box-sizing:border-box}.st-login__card{inline-size:min(420px,100%);display:flex;flex-direction:column;gap:16px}.st-qr{display:block;inline-size:180px;block-size:180px;margin-inline:auto;border-radius:var(--radius-sm);background:#fff;padding:8px}.st-options{display:flex;flex-direction:column;gap:8px}.st-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.st-muted{color:var(--ink-muted)}.st-pre{white-space:pre-wrap;word-break:break-word;font:400 12px/18px var(--font-sans);color:var(--ink-muted);margin:0}.st-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}.st-service{display:flex;flex-direction:column;gap:10px;min-block-size:168px}.st-service__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.st-service__foot{margin-block-start:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.st-images{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.st-image{display:flex;align-items:center;gap:12px}.st-image__thumb{position:relative;flex:none;inline-size:72px;block-size:72px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-sunken);overflow:hidden}.st-image__thumb img{inline-size:100%;block-size:100%;object-fit:cover}.st-image__num{position:absolute;inset-block-end:4px;inset-inline-start:4px}.st-copy{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;border:2px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken);transition:border-color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.st-copy--done{border-color:var(--success);background:var(--success-soft)}.st-copy__img{max-block-size:112px;max-inline-size:100%;border-radius:var(--radius-sm);object-fit:contain}.st-prompt{max-block-size:320px;overflow:auto;color:var(--ink)}.st-steps{display:flex;flex-direction:column;gap:16px;max-inline-size:760px}.st-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.st-detail{max-block-size:65vh;overflow:auto;padding-inline-end:4px}
