.companion-root{--cp-blue:var(--ui-blue);--cp-ink:var(--ui-ink);--cp-muted:var(--ui-muted);--cp-panel-bottom:134px;--cp-panel-limit:690px;--cp-panel-space:calc(100dvh - var(--ui-topbar-height) - 8px - var(--cp-panel-bottom));z-index:45;pointer-events:none;font-family:var(--ui-font);color:var(--cp-ink);position:fixed;inset:0}.companion-root[data-page=node]{--cp-panel-bottom:190px;--cp-panel-limit:650px}.companion-root[hidden],.companion-panel[hidden]{display:none!important}.companion-root *,.companion-root :before,.companion-root :after{box-sizing:border-box}.companion-root button,.companion-root textarea{font:inherit}.companion-root button{cursor:pointer}.companion-root button:disabled{cursor:default;opacity:.5}.companion-root :is(button,a,textarea):focus-visible{outline:2px solid var(--cp-blue);outline-offset:3px}.companion-dock{display:contents}.companion-launcher{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;width:76px;color:var(--cp-blue);background:0 0;border:0;padding:0;position:fixed;bottom:22px;right:24px}.companion-root[data-page=node] .companion-launcher{bottom:82px}.companion-pet{filter:drop-shadow(0 4px 6px #43558e12);width:100%;transition:transform .18s;display:block;overflow:visible}.companion-launcher:hover .companion-pet{transform:translateY(-3px)rotate(-3deg)}.companion-launcher-label{font-size:13px;font-weight:var(--ui-weight-semibold);letter-spacing:.04em;text-align:center;line-height:1.5;display:block}.companion-pet.is-thinking .companion-eyes{transform-origin:50px 60px;animation:1.4s ease-in-out infinite companion-think}@keyframes companion-think{50%{transform:scaleY(.4)}}.companion-panel,.companion-fallback{right:24px;bottom:var(--cp-panel-bottom);width:410px;max-height:var(--cp-panel-space);pointer-events:auto;border:1px solid var(--ui-line);border-radius:var(--ui-radius-panel);background:var(--ui-canvas);position:fixed;box-shadow:0 12px 44px #1c25441f}.companion-panel{height:min(var(--cp-panel-limit),var(--cp-panel-space));text-align:left;flex-direction:column;min-height:0;display:flex;overflow:hidden}.companion-fallback{overflow:auto}.companion-panel-head{border-bottom:1px solid var(--ui-line);background:var(--ui-soft);flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.companion-mini-pet{width:43px;margin:-5px 0}.companion-panel-head h2{font-size:18px;font-weight:var(--ui-weight-semibold);letter-spacing:.02em;margin:0}.companion-panel-head p{color:var(--cp-muted);margin:3px 0 0;font-size:13px}.companion-panel-head>div:nth-child(2){flex:1;min-width:0}.companion-icon-button{border-radius:var(--ui-radius-control);width:36px;height:36px;color:var(--cp-blue);background:0 0;border:1px solid #0000;flex-shrink:0;place-items:center;display:grid}.companion-icon-button:hover{background:var(--ui-surface);border-color:var(--ui-line)}.companion-context{color:var(--cp-muted);background:var(--ui-surface);border-bottom:1px solid var(--ui-line);flex-shrink:0;align-items:center;gap:7px;padding:10px 16px;font-size:13px;display:flex}.companion-context span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.companion-context svg{flex-shrink:0}.companion-transcript{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:20px 16px 14px;overflow-y:auto}.companion-welcome{padding:10px 3px 16px}.companion-welcome-kicker{letter-spacing:.12em;color:var(--cp-muted);font-size:13px}.companion-welcome h3{font-size:24px;font-weight:var(--ui-weight-semibold);letter-spacing:-.03em;margin:18px 0 12px}.companion-welcome p{color:var(--ui-text);margin:0;font-size:14px;line-height:1.9}.companion-welcome-mark{letter-spacing:.24em;color:var(--cp-muted);border-left:2px solid var(--ui-line);margin-top:26px;padding-left:14px;font-size:13px}.companion-message{margin-bottom:18px}.companion-message-meta{color:var(--cp-muted);justify-content:space-between;gap:12px;margin:0 2px 7px;font-size:12px;display:flex}.companion-message-meta span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:48%;overflow:hidden}.companion-message>p{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--ui-line);background:var(--ui-surface);border-radius:4px 14px 14px;margin:0;padding:13px 15px;font-size:14px;line-height:1.85}.companion-message.is-user>p{background:var(--ui-soft);border-radius:14px 4px 14px 14px}.companion-sources{flex-direction:column;gap:6px;margin-top:8px;display:flex}.companion-sources a{min-height:36px;color:var(--cp-blue);border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);text-underline-offset:3px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;line-height:1.6;text-decoration:underline;display:flex}.companion-sources a span:nth-child(2){flex:1}.companion-sources a svg{flex-shrink:0}.companion-sources a:hover{background:var(--ui-soft)}.companion-quick-questions{flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 14px;display:flex}.companion-quick-questions button{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);min-height:36px;color:var(--cp-blue);background:var(--ui-surface);text-align:left;align-items:center;gap:5px;padding:7px 10px;font-size:13px;display:flex}.companion-quick-questions button:hover{background:var(--ui-soft);border-color:var(--cp-blue)}.companion-input{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-surface);flex-shrink:0;align-items:flex-end;gap:8px;margin:2px 14px 0;padding:10px;display:flex}.companion-input textarea{resize:none;min-width:0;color:var(--cp-ink);background:0 0;border:0;flex:1;padding:1px;font-size:14px;line-height:1.65}.companion-input textarea:focus{outline:none}.companion-input:focus-within{border-color:var(--cp-blue);outline:2px solid var(--cp-blue);outline-offset:2px}.companion-input button{background:var(--cp-blue);color:#fff;border-radius:var(--ui-radius-control);border:0;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.companion-input button:not(:disabled):hover{background:var(--ui-blue-hover)}.companion-panel-note{text-align:center;color:var(--cp-muted);flex-shrink:0;margin:8px 14px 12px;font-size:12px;line-height:1.6}.companion-training-note{color:var(--cp-muted);flex-shrink:0;margin:0 16px 6px;font-size:13px}.companion-settings{background:var(--ui-soft);color:var(--cp-muted);border-bottom:1px solid var(--ui-line);flex-shrink:0;padding:12px 16px;font-size:13px}.companion-settings div{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.companion-settings button{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);min-height:36px;color:var(--cp-blue);align-items:center;gap:5px;padding:7px 9px;font-size:13px;display:flex}.companion-settings small{font-size:12px}.companion-thinking{color:var(--cp-muted);align-items:center;gap:8px;padding:10px 2px;font-size:13px;display:flex}.companion-thinking span{background:var(--cp-blue);border-radius:50%;width:6px;height:6px}.companion-error{color:var(--ui-danger,#963e37);background:var(--ui-danger-soft,#fbefec);border-radius:var(--ui-radius-control);border:1px solid;padding:12px;font-size:13px}.companion-error p{margin:0 0 8px}.companion-error button{min-height:36px;color:var(--cp-blue);background:0 0;border:0;text-decoration:underline}.companion-fallback{padding:20px;font-size:14px}.companion-fallback button{min-height:44px;color:var(--cp-blue);border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);padding:8px 14px}.companion-intro-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);padding-top:48px;padding-bottom:48px;display:grid}.companion-intro-copy h2{color:var(--ui-ink);font-size:clamp(26px,2.6vw,36px);line-height:1.45;font-weight:var(--ui-weight-semibold);letter-spacing:-.03em;margin:0 0 20px}.companion-intro-copy p{max-width:640px;color:var(--ui-text);margin:0 0 24px;font-size:16px;line-height:1.9}.companion-intro-copy button span{margin-left:24px}.companion-intro-copy small{color:var(--ui-muted);margin:16px 0;font-size:13px;line-height:1.8;display:block}.companion-intro-copy>a{color:var(--ui-blue);text-underline-offset:4px;font-size:14px;text-decoration:underline}.companion-intro-visual{aspect-ratio:1.25;background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:var(--ui-radius-panel);flex-direction:column;justify-content:center;justify-self:center;align-items:center;width:min(100%,420px);display:flex}.companion-intro-pet{width:144px}.companion-intro-visual>span{color:var(--ui-blue);letter-spacing:.16em;margin-top:16px;font-size:15px}.companion-intro-visual>p{color:var(--ui-muted);letter-spacing:.12em;font-size:13px}.companion-intro-features{grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:64px;display:grid}.companion-intro-features article{border-top:1px solid var(--ui-line);padding-top:24px}.companion-intro-features span{color:var(--ui-muted);letter-spacing:.06em;font-size:13px}.companion-intro-features h3{color:var(--ui-ink);font-size:20px;font-weight:var(--ui-weight-semibold);margin:16px 0 12px}.companion-intro-features p{color:var(--ui-text);font-size:14px;line-height:1.9}@media (width<=760px){:root{--ui-companion-dock-height:calc(64px + env(safe-area-inset-bottom,0px))}.companion-root,.companion-root[data-page=node]{--cp-panel-bottom:calc(var(--ui-companion-dock-height) + 8px);--cp-panel-limit:690px}.companion-dock{height:var(--ui-companion-dock-height);padding:8px 20px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ui-line);background:var(--ui-canvas);pointer-events:auto;justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:auto 0 0}.companion-launcher,.companion-root[data-page=node] .companion-launcher{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-surface);touch-action:manipulation;justify-content:center;align-items:center;gap:10px;width:auto;min-height:44px;padding:0 14px 0 8px;display:flex;position:static}.companion-launcher .companion-pet{width:42px}.companion-launcher-label{font-size:13px}.companion-launcher:hover .companion-pet{transform:none}.companion-panel,.companion-fallback{border-radius:var(--ui-radius-panel);width:auto;left:8px;right:8px}.companion-root:has(.companion-panel:not([hidden])) .companion-dock{visibility:hidden}.companion-root:has(.companion-panel:not([hidden])) .companion-launcher{display:none}.companion-icon-button{width:44px;height:44px}.companion-sources a,.companion-quick-questions button,.companion-settings button,.companion-error button{min-height:44px}.companion-input textarea{font-size:16px}.companion-panel-head{gap:7px;padding:10px 12px}.companion-mini-pet{width:34px}.companion-panel-head h2{font-size:17px}.companion-panel-head p{font-size:12px}.companion-intro-layout{grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:32px}.companion-intro-visual{width:100%;max-width:320px}.companion-intro-pet{width:120px}.companion-intro-features{grid-template-columns:1fr;gap:24px;margin-bottom:40px}}@media (height<=600px){.companion-root,.companion-root[data-page=node]{--cp-panel-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.companion-panel{overflow-y:auto}.companion-panel-head{z-index:2;position:sticky;top:0}.companion-transcript{flex:none;min-height:120px;overflow:visible}.companion-root:has(.companion-panel:not([hidden])) .companion-launcher{display:none}}@media (prefers-reduced-motion:reduce){.companion-pet,.companion-pet.is-thinking .companion-eyes{transition:none;animation:none}.companion-launcher:hover .companion-pet{transform:none}}.book-reader-shell{--book-sidebar-width:76px}.book-reader-shell[data-directory-open=true]{--book-sidebar-width:280px}.book-reader-layout{grid-template-columns:var(--book-sidebar-width) minmax(0,1fr);background:var(--ui-surface);grid-template-areas:"directory reader";align-items:start;min-width:0;display:grid}.book-reader-layout>.curriculum-frame{grid-area:reader;min-width:0}.book-reader-topbar{margin-left:var(--book-sidebar-width)}.book-reader-topbar .site-container{max-width:none;padding-inline:var(--ui-topbar-gutter)}.book-reader-shell>.lesson-reading-progress{margin-left:var(--book-sidebar-width)}.book-reader-topbar .site-brand-mark{display:none}.site-topbar-actions{flex:none;align-items:center;gap:10px;display:flex}.book-toc{box-sizing:border-box;color:var(--ui-text);background:var(--ui-canvas);font-family:var(--ui-font)}.book-toc--sidebar{z-index:35;width:var(--book-sidebar-width);border-right:1px solid var(--ui-line);flex-direction:column;height:100dvh;min-height:0;display:flex;position:fixed;inset:0 auto 0 0}.book-toc-brand{border-bottom:1px solid var(--ui-line);color:var(--ui-ink);flex:none;align-items:center;gap:12px;margin:24px 18px 0;padding:4px 8px 24px;text-decoration:none;display:flex;position:relative}.book-toc-brand:after{content:"";background:var(--ui-red);width:7px;height:7px;position:absolute;bottom:-4px;right:12px;transform:rotate(-16deg)}.book-toc-brand .site-brand-mark{width:50px;height:50px}.book-toc-brand-copy{min-width:0}.book-toc-brand-copy strong{font-size:17px;font-weight:var(--ui-weight-semibold);letter-spacing:.04em;white-space:nowrap;line-height:1.3;display:block}.book-toc-brand-copy>span{color:var(--ui-muted);letter-spacing:.12em;margin-top:6px;font-size:9px;line-height:1.6;display:block}.book-toc-content{flex-direction:column;flex:1;min-height:0;display:flex}.book-toc-content[hidden]{display:none}.book-toc-heading{color:var(--ui-blue);flex:none;justify-content:space-between;align-items:center;gap:12px;margin:24px 30px 0;display:flex}.book-toc-heading h2{font-size:var(--ui-text-small);font-weight:var(--ui-weight-semibold);letter-spacing:.06em;margin:0;line-height:1.5}.book-toc-heading>span{color:var(--ui-muted);font-size:var(--ui-text-small);line-height:1.5}.book-toc-edge-toggle{z-index:2;border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-canvas);width:32px;height:32px;color:var(--ui-blue);cursor:pointer;place-items:center;padding:0;transition:background .18s,color .18s,border-color .18s;display:grid;position:absolute;top:40px;right:-16px}.book-toc-edge-toggle:hover{background:var(--ui-blue);border-color:var(--ui-blue);color:var(--ui-surface)}.book-toc--sidebar>.book-toc-edge-toggle{left:calc(var(--book-sidebar-width) - 16px);position:fixed;top:40px;right:auto}.book-toc--sidebar[data-open=false] .book-toc-edge-toggle svg{transform:scaleX(-1)}.book-toc--sidebar[data-open=false] .book-toc-brand{justify-content:center;margin-inline:10px;padding-inline:0}.book-toc--sidebar[data-open=false] .book-toc-brand .site-brand-mark{width:44px;height:44px}.book-toc--sidebar[data-open=false] .book-toc-brand-copy{display:none}.book-toc-collapsed-label{text-align:center;color:var(--ui-muted);font-size:var(--ui-text-small);letter-spacing:.12em;padding-top:24px;line-height:1.9}.book-toc-search{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-surface);color:var(--ui-muted);flex:none;align-items:center;gap:8px;margin:12px 18px 10px;padding:0 10px;display:flex}.book-toc-search:focus-within{outline:2px solid var(--ui-blue);outline-offset:2px}.book-toc-search input{width:100%;min-width:0;height:40px;color:var(--ui-text);font:13px/1.5 var(--ui-font);background:0 0;border:0;outline:none;padding:0}.book-toc-scroll-region{flex:1;min-height:0;display:flex;position:relative}.book-toc-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:0 24px 24px 18px;overflow:auto}.book-toc-scroll[data-compact-scroll=true]{scrollbar-width:none}.book-toc-scroll[data-compact-scroll=true]::-webkit-scrollbar{display:none}.book-toc-scrollbar{touch-action:none;cursor:pointer;border-radius:8px;width:24px;position:absolute;top:12px;bottom:12px;right:1px}.book-toc-scrollbar[data-overflow=false]{visibility:hidden;pointer-events:none}.book-toc-scrollbar-thumb{background:var(--ui-red);pointer-events:none;border-radius:999px;width:5px;max-height:64px;position:absolute;top:0;left:9px}.book-toc-scrollbar:hover .book-toc-scrollbar-thumb{background:var(--ui-danger)}.book-toc-scrollbar:focus-visible{outline:none}.book-toc-scrollbar:focus-visible .book-toc-scrollbar-thumb{outline:2px solid var(--ui-red);outline-offset:3px}@media (forced-colors:active){.book-toc-scroll[data-compact-scroll=true]{scrollbar-width:auto}.book-toc-scroll[data-compact-scroll=true]::-webkit-scrollbar{display:block}.book-toc-scrollbar{display:none}}.book-toc ul{margin:0;padding:0;list-style:none}.book-toc li{margin:0;padding:0}.book-toc-label{color:var(--ui-blue);font-size:var(--ui-text-small);font-weight:var(--ui-weight-semibold);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:8px;margin:14px 12px 8px;line-height:1.5;display:flex}.book-toc-label>span{color:var(--ui-muted);font-size:9px;font-weight:var(--ui-weight-medium);letter-spacing:.12em}.book-toc-list--0>li:last-child .book-toc-label{border-top:1px solid var(--ui-line);margin-top:18px;padding-top:14px}.book-toc-group>summary{isolation:isolate;cursor:pointer;min-height:44px;color:var(--ui-text);font-size:14px;font-weight:var(--ui-weight-semibold);border-radius:var(--ui-radius-control);border:1px solid #0000;align-items:center;gap:7px;padding:8px 12px;line-height:1.6;list-style:none;transition:color .26s,border-color .26s;display:flex;position:relative;overflow:hidden}.book-toc-group>summary::-webkit-details-marker{display:none}.book-toc-group>summary>svg{color:var(--ui-muted);flex:none}.book-toc-group[open]>summary>svg{transform:rotate(90deg)}.book-toc-group-copy{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.book-toc-group>summary>small{font-size:var(--ui-text-small);color:var(--ui-muted);font-weight:var(--ui-weight-regular);font-variant-numeric:tabular-nums}.book-toc-list--0>li>.book-toc-group>summary{min-height:60px;font-size:17px;line-height:1.4}.book-toc-caption{font-size:var(--ui-text-caption);font-weight:var(--ui-weight-regular);color:var(--ui-muted);letter-spacing:.01em;line-height:1.5}.book-toc-group--active>summary{background:var(--ui-blue);border-color:var(--ui-blue);color:var(--ui-surface);padding-right:25px}.book-toc-group--active>summary:after{content:"";background:var(--ui-red);border-radius:50%;width:6px;height:6px;position:absolute;top:14px;right:10px}.book-toc-group--active>summary :is(small,svg,.book-toc-caption){color:#ffffffc7}.book-toc-list--1 .book-toc-group>summary{padding-left:16px;font-size:14px}.book-toc-lesson{isolation:isolate;min-height:40px;color:var(--ui-text);overflow-wrap:anywhere;border-radius:6px;align-items:baseline;gap:9px;padding:9px 8px 9px 20px;font-size:13px;line-height:1.7;text-decoration:none;transition:color .26s;display:flex;position:relative;overflow:hidden}.book-toc-list--2 .book-toc-lesson{padding-left:28px}.book-toc-number{color:var(--ui-muted);font-size:var(--ui-text-small);font-variant-numeric:tabular-nums;flex:none}.book-toc-lesson[aria-current=page]{color:var(--ui-blue);background:var(--ui-soft);font-weight:var(--ui-weight-semibold)}.book-toc-lesson[aria-current=page] .book-toc-number{color:var(--ui-red)}.book-toc .book-toc-sections{border-left:1px solid var(--ui-line);margin:4px 0 10px 36px;padding-left:10px}.book-toc-sections button{isolation:isolate;width:100%;min-height:34px;color:var(--ui-muted);font:var(--ui-text-action)/1.65 var(--ui-font);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:4px;padding:7px 8px;transition:color .26s;display:block;position:relative;overflow:hidden}.book-toc-sections button[aria-current=location]{color:var(--ui-blue);font-weight:var(--ui-weight-semibold)}.book-toc-empty{color:var(--ui-muted);padding:12px 8px;font-size:13px}.book-toc :is(a,button,summary):focus-visible,.book-directory-edge-trigger:focus-visible{outline:2px solid var(--ui-blue);outline-offset:3px}.book-toc--drawer{border:0;border-right:1px solid var(--ui-line);width:min(360px,100% - 24px);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;position:fixed;inset:0 auto 0 0;overflow:visible}.book-toc--drawer[open]{flex-direction:column;display:flex}.book-toc--drawer::backdrop{background:#14213b66}@media (width<=1279px){.book-reader-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"reader";padding-left:16px}.book-reader-topbar,.book-reader-shell>.lesson-reading-progress{margin-left:0}.book-reader-topbar .site-brand-mark{display:block}.book-directory-edge-trigger{left:0;right:auto;top:calc(var(--ui-topbar-height) + 24px);z-index:34;border-radius:0 8px 8px 0;width:36px;height:44px;position:fixed}.book-toc--drawer .book-toc-edge-toggle{width:40px;height:44px;right:-20px}}@media (width<=760px){.book-reader-topbar .site-topbar-inner{gap:10px}.book-toc-sections button{min-height:44px}}.book-toc-group>summary:before,.book-toc-lesson:before,.book-toc-sections button:before{content:"";z-index:-1;background:var(--ui-blue);transform-origin:bottom;pointer-events:none;transition:transform .36s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.book-toc-group-copy,.book-toc-link-text{transition:transform .36s cubic-bezier(.16,1,.3,1)}.book-toc-link-text{min-width:0;display:block}.book-toc-caption,.book-toc-number,.book-toc-group>summary>small{transition:color .26s}.book-toc-group>summary>svg{transition:transform .36s cubic-bezier(.16,1,.3,1),color .26s}.book-toc-group--active>summary:before{transform:scaleY(1)}.book-toc-group>summary:focus-visible,.book-toc-lesson:focus-visible,.book-toc-sections button:focus-visible{color:var(--ui-surface);border-color:var(--ui-blue)}.book-toc-group>summary:focus-visible:before,.book-toc-lesson:focus-visible:before,.book-toc-sections button:focus-visible:before{transform:scaleY(1)}.book-toc-group>summary:focus-visible :is(small,svg,.book-toc-caption),.book-toc-lesson:focus-visible .book-toc-number{color:#ffffffc7}@media (hover:hover) and (pointer:fine){.book-toc-group>summary:hover,.book-toc-lesson:hover,.book-toc-sections button:hover{color:var(--ui-surface);border-color:var(--ui-blue)}.book-toc-group>summary:hover:before,.book-toc-lesson:hover:before,.book-toc-sections button:hover:before{transform:scaleY(1)}.book-toc-group>summary:hover .book-toc-group-copy,.book-toc-lesson:hover .book-toc-link-text,.book-toc-sections button:hover .book-toc-link-text{transform:translate(3px)}.book-toc-group>summary:hover :is(small,svg,.book-toc-caption),.book-toc-lesson:hover .book-toc-number{color:#ffffffc7}}@media (prefers-reduced-motion:reduce){.book-toc-edge-toggle,.book-toc-group>summary,.book-toc-lesson,.book-toc-sections button,.book-toc-group-copy,.book-toc-link-text,.book-toc-caption,.book-toc-number,.book-toc-group>summary>small,.book-toc-group>summary>svg,.book-toc-group>summary:before,.book-toc-lesson:before,.book-toc-sections button:before{transition:none}.book-toc-group-copy,.book-toc-link-text{transform:none!important}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:var(--ui-font);--font-serif:var(--ui-font);--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-700:oklch(55.5% .163 48.998);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:var(--ui-canvas);--color-surface-soft:var(--ui-soft);--color-surface-card:var(--ui-soft);--color-surface-cream-strong:#dfe5f2;--color-primary:var(--ui-blue);--color-primary-active:var(--ui-blue-hover);--color-ink:var(--ui-ink);--color-body-strong:#2d3856;--color-body:var(--ui-text);--color-muted:var(--ui-muted);--color-muted-soft:var(--ui-muted);--color-hairline:var(--ui-line);--color-on-primary:#fff;--spacing-menu-item-h:44px;--spacing-page-pt:48px;--spacing-page-pb:32px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-family:var(--ui-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--color-canvas);color:var(--ui-text);font-feature-settings:"cv02", "cv03", "cv04", "cv11";margin:0}h1,h2,h3{font-family:var(--ui-font);font-weight:var(--ui-weight-medium)}}@layer components{.ui-page-heading{color:var(--color-ink);font-size:clamp(2.7rem,5.2vw,5.5rem);font-weight:var(--ui-weight-semibold);letter-spacing:-.03em;line-height:1.2}.ui-section-heading{color:var(--color-ink);font-size:1.75rem;font-weight:var(--ui-weight-semibold);line-height:1.4}.ui-eyebrow{color:var(--color-primary-active);font-size:.75rem;font-weight:var(--ui-weight-bold);letter-spacing:.16em}.ui-supporting-text{color:var(--color-muted);font-size:1rem;line-height:1.8}.ui-resource-card{border:1px solid var(--color-hairline);box-shadow:none;background:#fff;border-radius:0}.card-glass{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius-panel)}.card-frosted{background:var(--ui-surface);border-radius:var(--ui-radius-panel);border:1px solid var(--color-hairline)}.btn-ghost{border:1px solid var(--color-hairline);color:var(--color-muted);cursor:pointer;border-radius:.625rem;justify-content:center;align-items:center;transition:all .3s;display:inline-flex}.btn-ghost:hover{color:var(--color-primary);border-color:var(--ui-line-strong)}.btn-primary-sm{background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;padding:.375rem 1rem;font-size:.75rem;transition:background .3s;display:inline-flex}.btn-primary-sm:hover{background:var(--color-primary-active)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.static\!{position:static!important}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-24{top:calc(var(--spacing) * 24)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.right-8{right:calc(var(--spacing) * 8)}.bottom-5{bottom:calc(var(--spacing) * 5)}.bottom-7{bottom:calc(var(--spacing) * 7)}.bottom-8{bottom:calc(var(--spacing) * 8)}.bottom-15{bottom:calc(var(--spacing) * 15)}.bottom-full{bottom:100%}.left-0{left:0}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-auto{margin-inline:auto}.my-5{margin-block:calc(var(--spacing) * 5)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-\[9px\]{margin-top:9px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-9{margin-left:calc(var(--spacing) * 9)}.ml-auto{margin-left:auto}.\!hidden{display:none!important}.\!inline{display:inline!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-100{height:calc(var(--spacing) * 100)}.h-\[2px\]{height:2px}.h-auto{height:auto}.h-full{height:100%}.h-menu-item-h{height:var(--spacing-menu-item-h)}.h-screen{height:100vh}.max-h-\[50dvh\]{max-height:50dvh}.max-h-\[480px\]{max-height:480px}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[280px\]{min-height:280px}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-\[288px\]{width:288px}.w-\[clamp\(19rem\,26vw\,21rem\)\]{width:clamp(19rem,26vw,21rem)}.w-full{width:100%}.w-px{width:1px}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-\[620px\]{max-width:620px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[10px\]{gap:10px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-hairline\/50>:not(:last-child)){border-color:var(--color-hairline)}@supports (color:color-mix(in lab, red, red)){:where(.divide-hairline\/50>:not(:last-child)){border-color:color-mix(in oklab, var(--color-hairline) 50%, transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-\[12px\]{border-radius:12px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-hairline,.border-hairline\/50{border-color:var(--color-hairline)}@supports (color:color-mix(in lab, red, red)){.border-hairline\/50{border-color:color-mix(in oklab, var(--color-hairline) 50%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-primary\/25{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/25{border-color:color-mix(in oklab, var(--color-primary) 25%, transparent)}}.border-primary\/30{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-primary\/35{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/35{border-color:color-mix(in oklab, var(--color-primary) 35%, transparent)}}.border-primary\/40{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/40{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#f5f5f7\]{background-color:#f5f5f7}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-canvas,.bg-canvas\/90{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/90{background-color:color-mix(in oklab, var(--color-canvas) 90%, transparent)}}.bg-hairline{background-color:var(--color-hairline)}.bg-muted-soft\/20{background-color:var(--color-muted-soft)}@supports (color:color-mix(in lab, red, red)){.bg-muted-soft\/20{background-color:color-mix(in oklab, var(--color-muted-soft) 20%, transparent)}}.bg-muted-soft\/30{background-color:var(--color-muted-soft)}@supports (color:color-mix(in lab, red, red)){.bg-muted-soft\/30{background-color:color-mix(in oklab, var(--color-muted-soft) 30%, transparent)}}.bg-muted-soft\/40{background-color:var(--color-muted-soft)}@supports (color:color-mix(in lab, red, red)){.bg-muted-soft\/40{background-color:color-mix(in oklab, var(--color-muted-soft) 40%, transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary-active{background-color:var(--color-primary-active)}.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/8{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/8{background-color:color-mix(in oklab, var(--color-primary) 8%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/15{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/15{background-color:color-mix(in oklab, var(--color-primary) 15%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-primary\/40{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/40{background-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-surface-card{background-color:var(--color-surface-card)}.bg-surface-cream-strong{background-color:var(--color-surface-cream-strong)}.bg-surface-cream-strong\/30{background-color:#dfe5f24d}@supports (color:color-mix(in lab, red, red)){.bg-surface-cream-strong\/30{background-color:color-mix(in oklab, var(--color-surface-cream-strong) 30%, transparent)}}.bg-surface-soft,.bg-surface-soft\/30{background-color:var(--color-surface-soft)}@supports (color:color-mix(in lab, red, red)){.bg-surface-soft\/30{background-color:color-mix(in oklab, var(--color-surface-soft) 30%, transparent)}}.bg-surface-soft\/50{background-color:var(--color-surface-soft)}@supports (color:color-mix(in lab, red, red)){.bg-surface-soft\/50{background-color:color-mix(in oklab, var(--color-surface-soft) 50%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-page-pt{padding-top:var(--spacing-page-pt)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-page-pb{padding-bottom:var(--spacing-page-pb)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-\[12px\]{padding-left:12px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[38px\]{font-size:38px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.75\]{--tw-leading:1.75;line-height:1.75}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-amber-700{color:var(--color-amber-700)}.text-blue-700{color:var(--color-blue-700)}.text-body{color:var(--color-body)}.text-body-strong{color:var(--color-body-strong)}.text-gray-400{color:var(--color-gray-400)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-muted-soft,.text-muted-soft\/60{color:var(--color-muted-soft)}@supports (color:color-mix(in lab, red, red)){.text-muted-soft\/60{color:color-mix(in oklab, var(--color-muted-soft) 60%, transparent)}}.text-primary{color:var(--color-primary)}.text-primary-active{color:var(--color-primary-active)}.text-primary\/60{color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.text-primary\/60{color:color-mix(in oklab, var(--color-primary) 60%, transparent)}}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-primary\/30{-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.decoration-primary\/30{-webkit-text-decoration-color:color-mix(in oklab, var(--color-primary) 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-primary) 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-primary) 30%, transparent);text-decoration-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(204\,120\,92\,0\.15\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#cc785c26);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(20\,20\,19\,0\.08\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#14141314);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_24px_rgba\(20\,20\,19\,0\.12\)\]{--tw-shadow:0 4px 24px var(--tw-shadow-color,#1414131f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow\/lighting{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-primary\/20{--tw-ring-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media (hover:hover){.group-hover\:text-ink:is(:where(.group):hover *){color:var(--color-ink)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:text-primary-active:is(:where(.group):hover *){color:var(--color-primary-active)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-muted-soft\/50::placeholder{color:var(--color-muted-soft)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-muted-soft\/50::placeholder{color:color-mix(in oklab, var(--color-muted-soft) 50%, transparent)}}.even\:bg-surface-soft\/30:nth-child(2n){background-color:var(--color-surface-soft)}@supports (color:color-mix(in lab, red, red)){.even\:bg-surface-soft\/30:nth-child(2n){background-color:color-mix(in oklab, var(--color-surface-soft) 30%, transparent)}}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-\[1px\]:hover{--tw-translate-y:calc(1px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-primary\/20:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/20:hover{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.hover\:border-primary\/30:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.hover\:bg-hairline:hover{background-color:var(--color-hairline)}.hover\:bg-primary-active:hover{background-color:var(--color-primary-active)}.hover\:bg-primary\/5:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.hover\:bg-primary\/8:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/8:hover{background-color:color-mix(in oklab, var(--color-primary) 8%, transparent)}}.hover\:bg-primary\/12:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/12:hover{background-color:color-mix(in oklab, var(--color-primary) 12%, transparent)}}.hover\:bg-surface-card:hover{background-color:var(--color-surface-card)}.hover\:bg-surface-cream-strong:hover{background-color:var(--color-surface-cream-strong)}.hover\:text-body:hover{color:var(--color-body)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-muted:hover{color:var(--color-muted)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-primary-active:hover{color:var(--color-primary-active)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-primary\/40:focus{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.focus\:border-primary\/40:focus{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.98\]:active{scale:.98}@media (width>=1200px){.min-\[1200px\]\:block{display:block}.min-\[1200px\]\:hidden{display:none}}@media (width>=40rem){.sm\:inline{display:inline}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-3{padding:calc(var(--spacing) * 3)}.md\:p-5{padding:calc(var(--spacing) * 5)}.md\:px-5{padding-inline:calc(var(--spacing) * 5)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}}@media (width>=64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}:root{--ui-canvas:#fff;--ui-surface:#fff;--ui-soft:#eef1f8;--ui-ink:#1c2544;--ui-text:#434b63;--ui-muted:#63708a;--ui-blue:#43558e;--ui-blue-hover:#2e3d71;--ui-red:#e34b36;--ui-line:#dce1e9;--ui-line-strong:#a5b1ca;--ui-disabled:#dce2f0;--ui-success:#2d7254;--ui-success-soft:#edf6f0;--ui-warning:#855b15;--ui-warning-soft:#faf3e5;--ui-danger:#b93830;--ui-danger-soft:#fbeeea;--ui-font:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;--ui-weight-regular:400;--ui-weight-medium:500;--ui-weight-semibold:600;--ui-weight-bold:700;--ui-text-small:12px;--ui-text-caption:13px;--ui-text-action:14px;--ui-text-body:16px;--ui-page-max:1500px;--ui-reading-max:760px;--ui-gutter:clamp(24px, 4.7vw, 84px);--ui-topbar-height:76px;--ui-topbar-gutter:24px;--ui-control-height:44px;--ui-radius-control:8px;--ui-radius-panel:14px;--ui-shadow-panel:0 12px 36px #1c25441a;--ui-motion:.18s;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-6:24px;--ui-space-8:32px;--ui-space-12:48px;--ui-space-16:64px}*{scrollbar-width:thin;scrollbar-color:var(--ui-red) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ui-red);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ui-danger)}input[type=range]{accent-color:var(--ui-red)}@media (width<=760px){:root{--ui-gutter:20px;--ui-topbar-height:64px;--ui-topbar-gutter:20px}}:root{--site-topbar-height:var(--ui-topbar-height)}.site-app{min-height:100dvh}.site-page{min-height:calc(100dvh - var(--ui-topbar-height));background:var(--ui-canvas)}.site-container{width:100%;max-width:var(--ui-page-max);padding-inline:var(--ui-gutter);margin-inline:auto}.site-page-main{padding-block:32px 64px}.site-page-header{padding-block:64px 48px;position:relative}.site-page-header:after{content:"";bottom:0;left:var(--ui-gutter);right:var(--ui-gutter);border-bottom:1px solid var(--ui-line);position:absolute}.site-eyebrow{color:var(--ui-blue);font-size:12px;line-height:1.7;font-weight:var(--ui-weight-bold);letter-spacing:.16em;align-items:center;gap:14px;display:inline-flex}.site-eyebrow:before{content:"";background:currentColor;flex:none;width:30px;height:1px}.site-page-title{color:var(--ui-ink);font-size:clamp(48px,5.4vw,82px);font-weight:var(--ui-weight-semibold);letter-spacing:-.055em;text-wrap:balance;overflow-wrap:anywhere;margin:24px 0 18px;line-height:1.2}.site-page-intro{max-width:700px;color:var(--ui-text);margin:0;font-size:16px;line-height:1.85}.site-section-title{color:var(--ui-ink);font-size:clamp(25px,2.4vw,32px);font-weight:var(--ui-weight-semibold);letter-spacing:-.035em;margin:0;line-height:1.4}.site-subpage-topbar{z-index:30;height:var(--ui-topbar-height);background:var(--ui-canvas);border-bottom:1px solid var(--ui-line);position:sticky;top:0}.site-topbar-inner{max-width:none;padding-inline:max(var(--ui-gutter), calc((100% - var(--ui-page-max)) / 2 + var(--ui-gutter))) var(--ui-topbar-gutter);justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.site-subpage-brand{min-width:0;color:var(--ui-muted);align-items:center;gap:10px;font-size:12px;line-height:1.6;display:inline-flex}.site-subpage-brand>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-brand-mark{flex:none;width:40px;height:40px;display:block}.site-subpage-brand:hover{color:var(--ui-blue)}.site-back-link{min-height:var(--ui-control-height);border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-control);background:var(--ui-soft);color:var(--ui-blue-hover);font-size:14px;font-weight:var(--ui-weight-semibold);transition:background var(--ui-motion), border-color var(--ui-motion);flex:none;align-items:center;gap:8px;padding:7px 12px 7px 7px;line-height:1.3;text-decoration:none;display:inline-flex}.site-back-link:hover{background:var(--ui-surface);border-color:var(--ui-blue)}.site-back-icon{background:var(--ui-blue);color:#fff;border-radius:4px;flex:none;place-items:center;width:24px;height:24px;font-size:18px;line-height:1;display:grid}.site-button{min-height:var(--ui-control-height);border-radius:var(--ui-radius-control);background:var(--ui-blue);color:var(--ui-surface);font:600 14px/1.5 var(--ui-font);cursor:pointer;transition:background var(--ui-motion), border-color var(--ui-motion);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:10px 18px;text-decoration:none;display:inline-flex}.site-button:hover:not(:disabled){background:var(--ui-blue-hover)}.site-button--secondary{border-color:var(--ui-line-strong);color:var(--ui-blue);background:0 0}.site-button--secondary:hover:not(:disabled){background:var(--ui-soft);border-color:var(--ui-blue)}.site-button:disabled{background:var(--ui-disabled);color:var(--ui-muted);cursor:not-allowed}.site-tool-button{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-canvas);min-height:36px;color:var(--ui-muted);font:500 13px/1.5 var(--ui-font);cursor:pointer;transition:color var(--ui-motion), background var(--ui-motion), border-color var(--ui-motion);justify-content:center;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.site-tool-button:hover:not(:disabled){color:var(--ui-blue);border-color:var(--ui-line-strong);background:var(--ui-soft)}.site-tool-button[aria-pressed=true],.site-tool-button[aria-selected=true]{color:var(--ui-blue);background:var(--ui-soft);border-color:var(--ui-line-strong)}.site-tool-button:disabled{opacity:.4;cursor:not-allowed}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--ui-blue);outline-offset:3px}.site-empty-state{border-block:1px solid var(--ui-line);background:var(--ui-soft);flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;min-height:260px;padding:clamp(24px,4vw,48px);display:flex}.site-empty-state .site-page-intro{max-width:620px}.site-empty-state .site-button{margin-top:8px}.site-loading-state{min-height:calc(100dvh - var(--ui-topbar-height));color:var(--ui-muted);font:14px/1.7 var(--ui-font);justify-content:center;align-items:center;gap:16px;display:flex}.site-error-state{min-height:calc(100dvh - var(--ui-topbar-height));padding:48px var(--ui-gutter);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.site-loading-indicator{border:2px solid var(--ui-line);border-top-color:var(--ui-blue);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite site-loading}@keyframes site-loading{to{transform:rotate(360deg)}}.site-card{background:var(--ui-surface);border:1px solid var(--ui-line);height:100%;transition:border-color var(--ui-motion);flex-direction:column;display:flex;overflow:hidden}.site-card:hover{border-color:var(--ui-blue)}.site-card-image{aspect-ratio:16/10;background:var(--ui-soft);border-bottom:1px solid var(--ui-line);place-items:center;display:grid;position:relative;overflow:hidden}.site-card-image img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;display:block}.site-card-meta{color:var(--ui-muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.site-card-title{color:var(--ui-ink);font-size:20px;font-weight:var(--ui-weight-semibold);margin-top:18px;line-height:1.45}.site-card-description{color:var(--ui-muted);margin-top:8px;font-size:14px;line-height:1.8}.site-card-action{color:var(--ui-blue);font-size:13px;font-weight:var(--ui-weight-semibold);align-items:center;gap:8px;margin-top:auto;padding-top:24px;display:inline-flex}.site-status-chip{color:var(--ui-blue);background:var(--ui-soft);font-size:12px;font-weight:var(--ui-weight-semibold);white-space:nowrap;border-radius:4px;padding:5px 9px}.site-library-section{padding-top:36px}.site-library-heading{border-bottom:1px solid var(--ui-line);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;padding-bottom:16px;display:flex}.site-library-heading .site-section-title{margin-top:10px}.site-library-heading>span{color:var(--ui-muted);font-size:14px}.site-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.site-resource-card{border:1px solid var(--ui-line);min-width:0;height:100%;transition:border-color var(--ui-motion), background var(--ui-motion);background:0 0;flex-direction:column;padding:20px;display:flex}.site-resource-card:hover{border-color:var(--ui-line-strong);background:var(--ui-surface)}.site-resource-card:hover h3{color:var(--ui-blue);text-underline-offset:4px;text-decoration:underline}.site-resource-preview{aspect-ratio:16/10;background:var(--ui-soft);justify-content:center;align-items:center;width:100%;margin-bottom:18px;display:flex;overflow:hidden}.site-resource-preview img{object-fit:contain;width:100%;height:100%;display:block}.site-resource-card h3{color:var(--ui-ink);font-size:18px;font-weight:var(--ui-weight-semibold);margin:0;line-height:1.5}.site-resource-description{color:var(--ui-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:10px 0 0;font-size:14px;line-height:1.8;display:-webkit-box;overflow:hidden}.site-resource-action{color:var(--ui-blue);font-size:13px;font-weight:var(--ui-weight-semibold);margin-top:auto;padding-top:24px}.site-resource-groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}.site-resource-group{border:1px solid var(--ui-line);background:0 0}.site-resource-group>summary{min-height:96px;color:var(--ui-blue);cursor:pointer;align-items:center;gap:16px;padding:24px;list-style:none;display:flex}.site-resource-group>summary::-webkit-details-marker{display:none}.site-resource-group>summary>div{flex:1;min-width:0}.site-resource-group h2{color:var(--ui-ink);font-size:20px;font-weight:var(--ui-weight-semibold);margin:0;line-height:1.5}.site-resource-group p{color:var(--ui-muted);margin:6px 0 0;font-size:13px}.site-resource-group[open]>summary{background:var(--ui-soft)}.site-resource-links{border-top:1px solid var(--ui-line);gap:12px;padding:20px;display:grid}.site-resource-links>a,.site-resource-links>span{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);min-height:44px;color:var(--ui-blue);align-items:center;padding:12px 14px;font-size:14px;line-height:1.6;display:flex}.site-resource-links>a:hover{border-color:var(--ui-blue);background:var(--ui-surface)}.site-resource-links>span{color:var(--ui-muted);border-style:dashed}.site-data-summary{padding-block:32px}.site-data-metrics{border-block:1px solid var(--ui-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0;display:grid}.site-data-metrics>div{flex-direction:column;gap:8px;display:flex}.site-data-metrics strong{color:var(--ui-blue);font-size:32px;line-height:1.3;font-weight:var(--ui-weight-semibold);font-variant-numeric:tabular-nums}.site-data-metrics span{color:var(--ui-muted);font-size:13px;line-height:1.7}.site-data-card{background:var(--ui-surface);border:1px solid var(--ui-line);min-width:0;box-shadow:none;border-radius:0}.node-control-button{flex:none;width:36px;height:36px;min-height:36px;padding:0}.node-detail-heading{font-size:14px;font-weight:var(--ui-weight-semibold);margin:0;line-height:1.5}@media (width<=1199px){.site-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.site-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.site-page-header{padding-block:40px 32px}.site-page-title{margin-block:20px 16px;font-size:clamp(40px,10.5vw,48px)}.site-page-intro{font-size:15px}.site-page-main{padding-block:28px 48px}.site-topbar-inner{gap:14px}.site-brand-mark{width:32px;height:32px}.site-subpage-brand{font-size:12px}.site-back-link{padding-right:10px;font-size:13px}.site-tool-button{min-height:44px}.site-library-section{padding-top:28px}.site-resource-groups{grid-template-columns:1fr;gap:20px}.site-resource-group>summary{padding:20px}.site-data-summary{padding-block:24px}.site-data-metrics{gap:14px;padding-block:20px}.site-data-metrics strong{font-size:28px}.site-data-metrics span{font-size:12px}.node-control-button{width:44px;height:44px;min-height:44px}html[data-companion-dock=true] .site-app{padding-bottom:var(--ui-companion-dock-height,calc(64px + env(safe-area-inset-bottom,0px)))}html[data-companion-dock=true] .site-page,html[data-companion-dock=true] .site-error-state{min-height:calc(100dvh - var(--ui-topbar-height) - var(--ui-companion-dock-height,calc(64px + env(safe-area-inset-bottom,0px))))}html[data-companion-dock=true] .site-app--node{height:100dvh;min-height:0;overflow:hidden}}@media (width<=600px){.site-subpage-brand>span{display:none}.site-resource-grid{grid-template-columns:1fr}.site-resource-preview{max-height:240px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.directory-section-title{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.directory-section-count{color:var(--ui-blue);font-size:14px;font-weight:var(--ui-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:baseline;gap:5px;line-height:1.5;display:inline-flex}.directory-section-count>span{color:var(--ui-muted);font-size:12px;font-weight:var(--ui-weight-regular)}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.directory-grid .directory-card{--directory-padding:22px;min-width:0;min-height:310px;padding:var(--directory-padding);border:1px solid var(--ui-blue);flex-direction:column;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.directory-grid .directory-card{border:1px solid color-mix(in srgb, var(--ui-blue) 30%, var(--ui-surface))}}.directory-grid .directory-card{background:var(--ui-surface);color:var(--ui-ink);border-radius:8px;text-decoration:none;transition:transform .36s cubic-bezier(.16,1,.3,1),box-shadow .36s,border-color .26s}.directory-grid .directory-card:before{content:"";top:-1px;left:var(--directory-padding);right:var(--directory-padding);background:var(--ui-red);transform-origin:0;height:3px;transition:transform .42s cubic-bezier(.16,1,.3,1);position:absolute;transform:scaleX(.14)}.directory-card-top{align-items:center;gap:13px;margin-bottom:16px;display:flex}.directory-card-number{color:var(--ui-blue);font-size:29px;font-weight:var(--ui-weight-medium);letter-spacing:-.065em;font-variant-numeric:tabular-nums;flex:none;line-height:1;transition:transform .36s cubic-bezier(.16,1,.3,1),color .26s;display:block}.directory-card-kicker{border-left:1px solid var(--ui-line-strong);color:var(--ui-blue);font-size:12px;font-weight:var(--ui-weight-medium);letter-spacing:.06em;padding-left:13px;line-height:1.5}.directory-card-title{font-size:22px;font-weight:var(--ui-weight-semibold);letter-spacing:-.025em;text-wrap:pretty;margin:0 0 9px;line-height:1.45;transition:color .24s;display:block}.directory-card-description{max-inline-size:36em;color:var(--ui-text);font-size:14px;font-weight:var(--ui-weight-regular);text-wrap:pretty;flex-grow:1;margin:0;line-height:1.85;display:block}.directory-card-tags{flex-wrap:wrap;gap:7px 13px;margin:18px 0 20px;display:flex}.directory-card-tags>span{min-height:20px;color:var(--ui-blue);align-items:center;font-size:12px;line-height:1.4;display:inline-flex}.directory-card-tags>span:before{content:"";background:var(--ui-red);border-radius:50%;flex:none;width:3px;height:3px;margin-right:6px}.directory-card-footer{isolation:isolate;min-height:57px;margin:auto calc(-1 * var(--directory-padding)) calc(-1 * var(--directory-padding));padding:12px var(--directory-padding);border-top:1px solid var(--ui-blue);justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.directory-card-footer{border-top:1px solid color-mix(in srgb, var(--ui-blue) 18%, var(--ui-surface))}}.directory-card-footer{color:var(--ui-blue);font-size:13px;font-weight:var(--ui-weight-semibold);border-radius:0 0 7px 7px;line-height:1.5;transition:color .26s;overflow:hidden}.directory-card-footer:before{content:"";z-index:-1;background:var(--ui-blue);transform-origin:bottom;transition:transform .36s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.directory-card-arrow{background:var(--ui-blue);width:30px;height:30px;color:var(--ui-surface);font-size:18px;font-weight:var(--ui-weight-regular);border-radius:3px;flex:none;place-items:center;line-height:1;transition:transform .36s cubic-bezier(.16,1,.3,1),background .26s;display:grid}.directory-grid .directory-card:focus-visible{z-index:1;outline:2px solid var(--ui-blue);outline-offset:4px;border-color:var(--ui-blue)}.directory-card:focus-visible .directory-card-title{color:var(--ui-blue)}.directory-grid .directory-card:focus-visible:before{transform:scaleX(1)}.directory-card:focus-visible .directory-card-number{color:var(--ui-red)}.directory-card:focus-visible .directory-card-footer{color:var(--ui-surface)}.directory-card:focus-visible .directory-card-footer:before{transform:scaleY(1)}.directory-card:focus-visible .directory-card-arrow{background:var(--ui-red)}@media (hover:hover) and (pointer:fine){.directory-grid .directory-card:hover{z-index:1;border-color:var(--ui-blue);transform:translateY(-5px);box-shadow:0 12px 24px #1c254417}.directory-grid .directory-card:hover:before{transform:scaleX(1)}.directory-card:hover .directory-card-title{color:var(--ui-blue)}.directory-card:hover .directory-card-number{color:var(--ui-red);transform:translate(3px)}.directory-card:hover .directory-card-footer{color:var(--ui-surface)}.directory-card:hover .directory-card-footer:before{transform:scaleY(1)}.directory-card:hover .directory-card-arrow{background:var(--ui-red);transform:translate(4px)}}.directory-grid .directory-card:active{transition-duration:.1s;transform:translateY(-1px)scale(.99)}@media (width<=1000px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.directory-grid{grid-template-columns:minmax(0,1fr);gap:14px}.directory-grid .directory-card{min-height:0}.directory-card-top{margin-bottom:14px}.directory-card-title{font-size:21px}.directory-card-description{display:none}.directory-card-tags{margin:10px 0 14px}}@media (prefers-reduced-motion:reduce){.directory-grid .directory-card,.directory-grid .directory-card:before,.directory-card-number,.directory-card-title,.directory-card-footer,.directory-card-footer:before,.directory-card-arrow{transition:none}.directory-grid .directory-card:hover,.directory-grid .directory-card:active,.directory-card:hover .directory-card-number,.directory-card:hover .directory-card-arrow{transform:none}}.library-header{grid-template-columns:minmax(0,1fr) 290px;column-gap:64px;padding-block:32px 28px;display:grid}.library-heading{grid-column:1}.library-header .site-page-title{font-size:clamp(56px,5.4vw,78px);font-weight:var(--ui-weight-bold);margin-block:18px 14px}.library-header .site-page-intro{grid-column:1}.library-header .site-eyebrow:before{background:var(--ui-red);height:2px}.library-header-art{pointer-events:none;grid-area:1/2/3;align-self:center;height:180px;position:relative}.library-header-art>span{display:block;position:absolute}.library-header-art>span:first-child{background:var(--ui-red);width:112px;height:112px;bottom:20px;left:36px;transform:rotate(-14deg)}.library-header-art>span:nth-child(2){background:var(--ui-blue);border-radius:50%;width:130px;height:130px;top:8px;right:22px}.library-header-art>span:nth-child(3){border:1.5px dashed var(--ui-ink);border-radius:50%;width:264px;height:138px;top:22px;left:8px;transform:rotate(-25deg)}.library-search-row{justify-content:space-between;align-items:center;gap:24px;padding-block:24px;display:flex}.library-result-count{color:var(--ui-blue);align-items:center;gap:12px;margin:0;display:flex}.library-result-count>strong{letter-spacing:-.05em;font-size:32px;line-height:1;font-weight:var(--ui-weight-medium);font-variant-numeric:tabular-nums}.library-result-count>span{font-size:13px;line-height:1.5}.library-result-scope{color:var(--ui-muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.library-search{border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-control);background:var(--ui-surface);width:300px;min-height:46px;color:var(--ui-blue);align-items:center;gap:10px;padding:0 14px;display:flex}.library-search:focus-within{outline:2px solid var(--ui-blue);outline-offset:3px}.library-search>svg{flex:none}.library-search input{width:100%;min-width:0;color:var(--ui-ink);font:14px/1.5 var(--ui-font);background:0 0;border:0;outline:none;padding:12px 0}.library-search input::placeholder{color:var(--ui-muted)}.library-search input::-webkit-search-cancel-button{display:none}.library-search button{width:44px;height:44px;color:var(--ui-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;margin-right:-10px;padding:0;display:grid}.library-search button:hover{color:var(--ui-blue);background:var(--ui-soft)}.library-filter-bar{top:var(--ui-topbar-height);z-index:20;border-block:1px solid var(--ui-line);background:var(--ui-canvas);padding-block:12px;position:sticky}@supports (color:color-mix(in lab, red, red)){.library-filter-bar{background:color-mix(in srgb, var(--ui-canvas) 96%, transparent)}}.library-filter-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.library-category-nav{gap:8px;display:flex}.library-category-nav button{isolation:isolate;min-width:110px;min-height:44px;color:var(--ui-text);font:600 14px/1.5 var(--ui-font);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:22px;padding:10px 16px;transition:color .26s,border-color .26s;display:flex;position:relative;overflow:hidden}.library-category-nav button:before{content:"";z-index:-1;background:var(--ui-blue);transform-origin:bottom;transition:transform .36s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.library-category-nav button:after{content:"";background:var(--ui-red);transform-origin:0;width:12px;height:2px;transition:transform .36s cubic-bezier(.16,1,.3,1);position:absolute;bottom:7px;left:16px;transform:scaleX(0)}.library-category-count{color:var(--ui-muted);font-size:var(--ui-text-small);font-weight:var(--ui-weight-medium);font-variant-numeric:tabular-nums;transition:color .26s}.library-category-nav button[aria-pressed=true],.library-category-nav button:focus-visible{color:var(--ui-surface)}.library-category-nav button[aria-pressed=true]:before,.library-category-nav button:focus-visible:before{transform:scaleY(1)}.library-category-nav button[aria-pressed=true]:after,.library-category-nav button:focus-visible:after{transform:scaleX(1)}.library-category-nav button[aria-pressed=true] .library-category-count,.library-category-nav button:focus-visible .library-category-count{color:#e2e8fa}.library-results{overflow-anchor:none;padding-top:30px}.library-group+.library-group{margin-top:48px}.library-group-heading{align-items:center;gap:18px;margin-bottom:22px;display:flex}.library-group-number{color:var(--ui-blue);font-variant-numeric:tabular-nums;letter-spacing:-.05em;align-self:flex-start;padding-top:4px;font-size:25px;line-height:1.4}.library-group-heading .site-section-title{font-size:26px}.library-group-heading p{color:var(--ui-muted);margin:5px 0 0;font-size:13px;line-height:1.7}.library-group-count{color:var(--ui-muted);flex:none;margin-left:auto;font-size:12px}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.library-grid .library-node-card{--directory-padding:18px;min-height:0}.library-node-card .directory-card-top{margin-bottom:14px}.library-node-card .directory-card-number{font-size:24px}.library-node-card .directory-card-kicker{font-size:var(--ui-text-small)}.library-node-preview{aspect-ratio:16/9;background:var(--ui-soft);border-radius:3px;place-items:center;margin-bottom:14px;display:grid;overflow:hidden}.library-node-preview img{object-fit:contain;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.library-node-copy{flex-direction:column;flex:1;padding-bottom:18px;display:flex}.library-node-copy .directory-card-title{min-height:3em;font-size:18px;line-height:1.5}.library-node-copy .directory-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.75;display:-webkit-box;overflow:hidden}.library-node-card .directory-card-footer{min-height:52px;padding-block:10px}.library-node-card .directory-card-arrow{width:28px;height:28px}.library-node-placeholder{width:120px;height:104px;position:relative}.library-node-placeholder>span{position:absolute}.library-node-placeholder>span:first-child{background:var(--ui-blue);width:52px;height:52px;top:20px;left:18px;transform:rotate(-14deg)}.library-node-placeholder>span:nth-child(2){border:1.5px dashed var(--ui-blue);border-radius:50%;width:60px;height:60px;top:8px;right:12px}.library-node-placeholder>span:nth-child(3){text-align:center;color:var(--ui-blue);font-size:var(--ui-text-small);letter-spacing:.14em;bottom:0;left:0;right:0}.library-empty{min-height:290px}@media (hover:hover) and (pointer:fine){.library-category-nav button:hover{color:var(--ui-surface)}.library-category-nav button:hover:before{transform:scaleY(1)}.library-category-nav button:hover:after{transform:scaleX(1)}.library-category-nav button:hover .library-category-count{color:#e2e8fa}.library-node-card:hover .library-node-preview img{transform:scale(1.035)}}@media (width<=1023px){.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.library-header{grid-template-columns:minmax(0,1fr) 240px;column-gap:24px}.library-header-art{transform-origin:50%;transform:scale(.82)}.library-category-nav button{flex:1;gap:10px;min-width:0;padding-inline:12px}}@media (width<=900px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.library-header{grid-template-columns:minmax(0,1fr) 84px;gap:0 16px;padding-block:22px 20px}.library-header .site-eyebrow{font-size:var(--ui-text-small);letter-spacing:.12em;gap:9px}.library-header .site-eyebrow:before{width:18px}.library-header .site-page-title{white-space:nowrap;margin-block:14px 0;font-size:clamp(40px,11.5vw,48px)}.library-header .site-page-intro{grid-column:1/-1;margin-top:14px;font-size:14px}.library-header-art{grid-row:1;width:84px;height:84px;transform:none}.library-header-art>span:first-child{width:40px;height:40px;bottom:14px;left:8px}.library-header-art>span:nth-child(2){width:48px;height:48px;top:8px;right:2px}.library-header-art>span:nth-child(3){border-width:1px;width:84px;height:52px;top:18px;left:0}.library-search-row{grid-template-columns:max-content minmax(0,1fr);gap:12px;padding-block:16px;display:grid}.library-result-count{gap:5px}.library-result-count>strong{font-size:24px}.library-result-count>span{font-size:var(--ui-text-small);white-space:nowrap}.library-result-scope{display:none}.library-search{width:100%}.library-category-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.library-category-nav button{white-space:nowrap;gap:8px;width:100%;min-height:44px;padding:10px 8px;font-size:13px}.library-category-nav button:after{bottom:5px;left:8px}.library-filter-bar{padding-block:8px}.library-results{padding-top:24px}.library-group-heading{align-items:flex-start;gap:12px;margin-bottom:18px}.library-group-number{font-size:21px}.library-group-heading .site-section-title{font-size:23px}.library-group-heading p{font-size:12px}.library-group-count{font-size:var(--ui-text-small);padding-top:8px}.library-grid{gap:18px}.library-node-copy .directory-card-title{min-height:0;font-size:20px}.library-node-preview{aspect-ratio:2}}@media (prefers-reduced-motion:reduce){.library-category-nav button,.library-category-nav button:before,.library-category-nav button:after,.library-category-count,.library-node-preview img{transition:none}.library-node-card:hover .library-node-preview img{transform:none}}@media (width<=600px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.library-grid .library-node-card{--directory-padding:12px}.library-node-card .directory-card-top{margin-bottom:8px}.library-node-card .directory-card-number{font-size:18px}.library-node-card .directory-card-kicker{font-size:var(--ui-text-small);padding-left:8px}.library-node-preview{aspect-ratio:4/3;margin-bottom:10px}.library-node-copy{padding-bottom:10px}.library-node-copy .directory-card-title{font-size:15px;line-height:1.45}.library-node-copy .directory-card-description{display:none}.library-node-card .directory-card-footer{min-height:44px;font-size:var(--ui-text-action);padding-block:8px}.library-node-card .directory-card-arrow{width:22px;height:22px}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.variant-grid{flex:1;grid-template:"viewport"1fr"diagram""teaching"/1fr;min-height:0;display:grid}@media (width>=1024px){.variant-grid{grid-template:"diagram viewport teaching"1fr/220px minmax(0,1fr) 280px}}@media (width>=1280px){.variant-grid{grid-template-columns:clamp(260px,22vw,360px) minmax(460px,1fr) clamp(300px,23vw,380px)}}.va-diagram{grid-area:diagram;min-height:0;overflow:hidden}.va-viewport{grid-area:viewport;min-width:0;min-height:0}.va-teaching{grid-area:teaching;min-height:0;overflow:hidden}@media (width<=1023px){.variant-grid{grid-template-rows:auto auto auto;overflow-y:auto}.va-viewport{min-height:55vh}.va-diagram{min-height:260px}.va-teaching{min-height:320px}}.node-detail-page{height:calc(100vh - var(--site-topbar-height));height:calc(100dvh - var(--site-topbar-height));min-height:0}.node-detail-grid{--diagram-width:360px;--knowledge-width:320px;grid-template-columns:var(--diagram-width) minmax(0, 1fr) var(--knowledge-width);grid-template-rows:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.node-diagram{grid-area:1/1}.node-diagram-sheet{scrollbar-gutter:stable;overscroll-behavior:contain;background:#fff}.node-diagram-sheet:focus-visible{outline:2px solid var(--ui-blue);outline-offset:-2px}.node-viewport{grid-area:1/2;overflow:hidden}.node-knowledge{grid-area:1/3}.node-layout-presets{display:flex}.node-tablet-diagram-button,.node-mobile-tabs,.node-diagram-backdrop,.node-diagram-close{display:none}.node-divider{z-index:11;cursor:col-resize;touch-action:none;width:12px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.node-divider:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:5px}.node-divider:hover:after,.node-divider:focus-visible:after{background:var(--ui-blue)}.node-divider:focus-visible{outline:2px solid var(--ui-blue);outline-offset:-2px}.node-divider-left{left:var(--diagram-width)}.node-divider-right{right:var(--knowledge-width);transform:translate(50%)}.node-control-bar{max-width:calc(100% - 24px)}.node-explode-slider{flex:56px;width:clamp(56px,10vw,160px)}@media (width<=1279px){.node-detail-grid{grid-template-columns:minmax(0,1fr) clamp(280px,30vw,340px)}.node-viewport{grid-column:1}.node-knowledge{grid-column:2}.node-divider,.node-layout-presets{display:none}.node-tablet-diagram-button{display:inline-flex}.node-detail-grid[data-diagram-open=true] .node-diagram-backdrop{z-index:20;background:#00000042;display:block;position:absolute;inset:0}.node-diagram{z-index:21;width:min(520px,90%);display:none;position:absolute;inset:0 auto 0 0;box-shadow:12px 0 35px #0000001a}.node-detail-grid[data-diagram-open=true] .node-diagram{display:flex}.node-detail-grid[data-diagram-open=true] .node-diagram-close{z-index:22;color:#666;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:12px;left:min(470px,90% - 50px)}}@media (width<=767px){.node-detail-grid{display:block}.node-mobile-tabs{border-bottom:1px solid var(--color-hairline,#eee);background:#fff;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));height:42px;display:grid}.node-mobile-tabs button{color:#777;border-bottom:2px solid #0000;font-size:12px}.node-mobile-tabs button.active{color:var(--ui-blue);font-weight:var(--ui-weight-semibold);border-bottom-color:currentColor}.node-tablet-diagram-button{display:none}.node-viewport{position:absolute;inset:0}.node-diagram,.node-knowledge{z-index:12;width:100%;box-shadow:none;border:0;position:absolute;inset:0;display:none!important}.node-detail-grid[data-mobile-tab=diagram] .node-diagram,.node-detail-grid[data-mobile-tab=knowledge] .node-knowledge{display:flex!important}.node-diagram-backdrop,.node-diagram-close{display:none!important}.node-control-bar{gap:4px;padding:8px;bottom:12px}.node-control-bar>div{gap:4px}.node-explode-slider{width:clamp(48px,17vw,90px)}.node-fit-button{top:10px;right:10px}.node-fit-button span{display:none}}.lesson-reader-topbar .site-container{max-width:1800px;padding-inline:clamp(20px,2.5vw,48px)}.curriculum-frame{width:100%;min-height:calc(100dvh - var(--ui-topbar-height));background:var(--ui-canvas);border:0;display:block}@media (width<=760px){html[data-companion-dock=true] .curriculum-frame,html[data-companion-dock=true] .site-loading-state{min-height:calc(100dvh - var(--ui-topbar-height) - var(--ui-companion-dock-height,calc(64px + env(safe-area-inset-bottom,0px))))}html[data-companion-dock=true] .node-detail-page{height:calc(100dvh - var(--ui-topbar-height) - var(--ui-companion-dock-height,calc(64px + env(safe-area-inset-bottom,0px))))}.node-mobile-tabs{height:44px}.node-mobile-tabs button{color:var(--ui-muted);font-size:13px}.node-fit-button{width:44px;height:44px;padding:0}.node-viewport{flex-direction:column}.node-viewport>div:not(.node-control-bar){height:auto;min-height:0}.node-explode-slider{width:128px;height:32px}}@media (width<=760px),(pointer:coarse) and (width<=1024px){.node-viewport{flex-direction:column}.node-viewport>div:not(.node-control-bar){height:auto;min-height:0}.node-viewport>.model-control-bar.node-control-bar{z-index:1;border-radius:var(--ui-radius-panel);flex-wrap:wrap;flex:none;justify-content:space-between;gap:6px;width:300px;max-width:calc(100% - 16px);margin:6px auto 10px;padding:6px 8px;display:flex;position:relative;inset:auto;transform:translate(0)}.node-viewport>.model-control-bar.node-control-bar>div:first-child{flex:1 0 100%;justify-content:space-between}.node-viewport>.model-control-bar.node-control-bar>div:first-child>.model-explode-controls{flex:auto;min-width:0}.node-viewport .model-explode-slider{flex:auto;width:auto;min-width:0}.node-viewport>.model-control-bar.node-control-bar>div{gap:6px}.node-viewport>.model-control-bar.node-control-bar>.model-control-divider,.node-viewport>.model-control-bar.node-control-bar>div:nth-child(2)>div:first-child{display:none}.node-control-bar .model-control-button{width:44px;min-width:44px;height:44px;min-height:44px}.node-explode-slider{width:128px;height:32px}}@media (width<=1024px) and (height<=540px){html[data-companion-dock=true] .site-app--node{height:auto;min-height:100dvh;overflow:visible}.node-detail-page,html[data-companion-dock=true] .node-detail-page{height:auto;min-height:calc(100dvh - var(--ui-topbar-height));flex:none;overflow:visible}.node-detail-grid{flex:none}.node-viewport{min-height:0;max-height:280px;position:relative;inset:auto}.node-viewport>div:not(.node-control-bar){flex:none;height:220px;min-height:220px}.node-knowledge{max-height:280px;overflow:auto}.node-mobile-tabs{height:34px}.node-mobile-tabs button{font-size:12px}.node-viewport{flex-direction:column}.node-viewport>.model-control-bar.node-control-bar{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:6px;width:auto;max-width:none;margin:4px 8px 6px;padding:4px 6px;display:flex;overflow:auto hidden}.node-viewport>.model-control-bar.node-control-bar::-webkit-scrollbar{display:none}.node-viewport>.model-control-bar.node-control-bar>div,.node-viewport>.model-control-bar.node-control-bar>div:first-child{flex:none}.node-explode-slider{flex:none;width:64px;height:40px}.node-viewport .model-explode-slider{flex:none;width:64px}}@media (width<=760px),(pointer:coarse){.site-subpage-brand{min-width:44px;min-height:44px}.book-toc-edge-toggle.book-directory-edge-trigger{min-width:44px}.showcase-top a,.case-experience-header a,.case-study-links a,.practice-preview-continue,.lesson-model-idle button{align-items:center;min-height:44px;display:inline-flex}.case-study-sources a{align-items:center;min-height:44px;display:flex}.node-mobile-tabs{height:46px}.node-mobile-tabs button{min-height:44px}.node-detail-page a.text-muted-soft{align-items:center;min-height:44px;margin-inline:-4px;padding-inline:4px;display:inline-flex}.practice-preview-feedback button{min-width:44px;min-height:44px}.node-viewport .model-explode-slider{background:0 0;height:44px}.node-viewport .model-explode-slider::-webkit-slider-runnable-track{background:var(--ui-red);border-radius:999px;height:22px}@supports (color:color-mix(in lab, red, red)){.node-viewport .model-explode-slider::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--ui-red) 22%, var(--ui-surface))}}.node-viewport .model-explode-slider::-moz-range-track{background:var(--ui-red);border-radius:999px;height:22px}@supports (color:color-mix(in lab, red, red)){.node-viewport .model-explode-slider::-moz-range-track{background:color-mix(in srgb, var(--ui-red) 22%, var(--ui-surface))}}.node-viewport .model-explode-slider::-webkit-slider-thumb{width:16px;height:16px;margin-top:3px}.node-viewport .model-explode-slider::-moz-range-thumb{width:16px;height:16px}.app .module-card .directory-card-kicker{font-size:12px}.app .module-card .directory-card-description{font-size:13px}.app .library-category-count{font-size:12px}}@media (pointer:coarse){.site-tool-button,.node-tablet-diagram-button,.node-fit-button,.practice-preview button,.practice-preview a{min-height:44px}.app .topbar a,.app .sidebar a{align-items:center;min-height:44px;display:inline-flex}.app .sidebar-toggle{width:44px;height:44px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}
