/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-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-text-shadow-color:initial;--tw-text-shadow-alpha:100%;--tw-content:"";--tw-scroll-snap-strictness:proximity}}}@layer theme{:root,:host{--font-sans:"Plus Jakarta Sans Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-xl:36rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-md:12px;--aspect-video:16 / 9;--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-author-bg:#f8f8f5;--color-author-rule:#e4e5df;--color-author-muted:#676b73;--color-author-peach:#f6eee4;--color-author-art:#a07851;--color-author-green:#e8eee4;--color-author-green-ink:#657b62;--color-author-accent:#7055c3;--color-author-accent-soft:#eee9f8;--shadow-author-menu:0 8px 28px #2023261a;--radius-author-panel:16px;--color-learning-bg:#f7f6f0;--color-learning-ink:#252f37;--color-learning-muted:#596570;--color-learning-rule:#dedfd8;--color-learning-blue:#275fc1;--color-learning-blue-soft:#e8f0fc;--color-learning-green:#267348;--color-learning-green-soft:#eaf4ec;--color-learning-art:#e8eee8;--radius-learning:24px;--radius-learning-item:12px;--radius-learning-key:3px;--shadow-learning:0 5px 22px #25332c0d;--shadow-learning-hover:0 8px 26px #25332c17;--color-site-bg:#f7f6f0;--color-site-rule:#dedfd8;--color-site-wash-green:#eaf4ec;--color-site-wash-peach:#f6eee4;--color-site-wash-violet:#eee9f8;--color-site-wash-blue:#e8f0fc;--color-site-nav:#ffffffe0;--radius-site-panel:24px;--radius-site-button:14px;--shadow-site-card:0 5px 22px #25332c0f;--shadow-site-card-hover:0 14px 34px #25332c1f;--shadow-site-press:0 4px 0 #4a32a8;--shadow-site-press-quiet:inset 0 0 0 2px #dedfd8, 0 4px 0 #dedfd8;--shadow-site-press-quiet-down:inset 0 0 0 2px #dedfd8;--text-site-hero:clamp(2.6rem, 6.4vw, 4.5rem);--text-site-hero--line-height:1.04;--text-site-hero--letter-spacing:-.04em;--text-site-hero--font-weight:800;--text-site-tagline:clamp(2.4rem, 7vw, 4.75rem);--text-site-tagline--line-height:1;--text-site-tagline--letter-spacing:-.045em;--text-site-tagline--font-weight:800;--color-parent-rail-hover:#1f1e25;--color-parent-add-hover:#1b1a20;--color-parent-add-rule:#3a3842;--color-parent-line:#dcdae3;--color-parent-pale:#f2f1f6;--color-parent-wash:#f6f5fa;--color-parent-locked:#8d8a97;--color-parent-stripe:#f1f1ec;--color-parent-stripe-alt:#ecece6;--color-parent-cover-muted:#8a949c;--shadow-parent-card-hover:0 14px 34px #00000087;--shadow-parent-card-press:0 2px 8px #0006;--shadow-parent-badge:0 1px 4px #00000012;--shadow-parent-halo:0 0 0 6px var(--color-hatch);--color-ink:#111014;--color-paper:white;--color-violet:#7052cf;--color-violet-soft:#a996f0;--color-text-on-ink:#c9c7d1;--color-text-on-paper:#55525e;--color-rule-on-ink:#2a2830;--color-hatch:#ecebf1;--color-highlight:#d9ceff;--color-ai-cyan:#74e6ef;--color-ai-blue:#446fda;--color-ai-rose:#f5a7d8;--color-ai-lime:#d6f3b7;--color-canvas-dot:#dcd8e6;--color-stage:#d6ffde;--color-stage-off:#b3b1b9;--color-lamp:#ffd84d;--color-success:#1d6b3d;--color-warning:#85510f;--color-danger:#b3261e;--color-success-on-ink:#45c97a;--color-warning-on-ink:#e5a72f;--color-violet-deep:#4a32a8;--color-player-rule:#ffffff2e}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-player-rule:color-mix(in srgb, var(--color-paper) 18%, transparent)}}:root,:host{--color-player-rule-strong:#ffffff52}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-player-rule-strong:color-mix(in srgb, var(--color-paper) 32%, transparent)}}:root,:host{--focus-ring-on-ink:2px solid var(--color-paper);--color-video-picture:black;--color-video-scrim:#000000b8;--color-disc-locked:#2a2830;--color-disc-locked-drop:#17161b;--radius-tag:6px;--radius-control:8px;--radius-card:14px;--radius-pill:999px;--shadow-button:3px 3px 0 var(--color-violet);--shadow-button-hover:4px 4px 0 var(--color-violet);--shadow-card:6px 6px 0 var(--color-violet);--shadow-card-hover:8px 8px 0 var(--color-violet);--shadow-avatar:2px 2px 0 var(--color-violet);--shadow-lamp:0 0 32px var(--color-lamp);--shadow-lamp-bright:0 0 56px var(--color-lamp);--shadow-dock:4px 4px 0 var(--color-violet);--shadow-drawer:-6px 0 0 var(--color-violet);--shadow-pin-candidate:0 0 0 5px #7052cf33}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-pin-candidate:0 0 0 5px color-mix(in srgb, var(--color-violet) 20%, transparent)}}:root,:host{--shadow-press-paper:0 4px 0 var(--color-violet);--shadow-press-violet:0 4px 0 var(--color-violet-deep);--shadow-press-quiet:0 4px 0 var(--color-player-rule);--shadow-press-success:0 4px 0 var(--color-success);--shadow-press-warning:0 4px 0 var(--color-warning);--shadow-press-paper-quiet:0 4px 0 var(--color-learning-rule);--shadow-press-ink:0 4px 0 var(--color-ink);--shadow-stage-right:inset 0 0 0 2px #45c97a8c, inset 0 0 90px #45c97a33}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-stage-right:inset 0 0 0 2px color-mix(in srgb, var(--color-success-on-ink) 55%, transparent), inset 0 0 90px color-mix(in srgb, var(--color-success-on-ink) 20%, transparent)}}:root,:host{--shadow-stage-wrong:inset 0 0 0 2px #e5a72f8c, inset 0 0 90px #e5a72f33}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-stage-wrong:inset 0 0 0 2px color-mix(in srgb, var(--color-warning-on-ink) 55%, transparent), inset 0 0 90px color-mix(in srgb, var(--color-warning-on-ink) 20%, transparent)}}:root,:host{--shadow-bubble-right:0 4px 0 #45c97a66}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-bubble-right:0 4px 0 color-mix(in srgb, var(--color-success-on-ink) 40%, transparent)}}:root,:host{--shadow-bubble-wrong:0 4px 0 #e5a72f66}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-bubble-wrong:0 4px 0 color-mix(in srgb, var(--color-warning-on-ink) 40%, transparent)}}:root,:host{--shadow-bubble-noted:0 4px 0 #a996f066}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-bubble-noted:0 4px 0 color-mix(in srgb, var(--color-violet-soft) 40%, transparent)}}:root,:host{--shadow-disc-success:0 6px 0 var(--color-success);--shadow-disc-violet:0 6px 0 var(--color-violet-deep);--shadow-disc-locked:0 6px 0 var(--color-disc-locked-drop);--shadow-step-here:0 0 0 4px #7052cf52}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-step-here:0 0 0 4px color-mix(in srgb, var(--color-violet) 32%, transparent)}}:root,:host{--border-rule:3px;--border-input:2px;--text-display:clamp(2.4rem, 7vw, 4.2rem);--text-display--line-height:1.12;--text-display--letter-spacing:-.035em;--text-display--font-weight:800;--text-title:clamp(2rem, 5vw, 3rem);--text-title--line-height:1.15;--text-title--letter-spacing:-.035em;--text-title--font-weight:800;--text-heading:clamp(1.25rem, 3vw, 1.5rem);--text-heading--line-height:1.3;--text-heading--letter-spacing:-.02em;--text-heading--font-weight:800;--text-body:1rem;--text-body--line-height:1.75;--text-small:.85rem;--text-small--line-height:1.6;--text-eyebrow:.7rem;--text-eyebrow--letter-spacing:.15em;--text-eyebrow--font-weight:800;--text-tag:.72rem;--text-tag--letter-spacing:.08em;--text-tag--font-weight:800;--text-player-title:clamp(2.2rem, 5vw, 2.8rem);--text-player-title--line-height:1.1;--text-player-title--letter-spacing:-.04em;--text-player-title--font-weight:800;--text-player-page:1.5rem;--text-player-page--line-height:1.25;--text-player-page--letter-spacing:-.03em;--text-player-page--font-weight:800;--spacing-gutter:clamp(16px, 5vw, 64px);--spacing-hero:clamp(40px, 9vh, 96px);--spacing-section:clamp(48px, 9vh, 88px);--spacing-page-top:clamp(24px, 6vh, 64px);--spacing-page-end:clamp(56px, 10vh, 96px);--spacing-panel:clamp(24px, 6vw, 56px);--spacing-sheet:clamp(20px, 5vw, 40px);--spacing-disc-compact:52px;--spacing-disc:64px;--spacing-disc-large:80px;--container-page:1120px;--container-reading:720px;--container-player:560px;--motion-duration-fast:.12s;--motion-duration-enter:.18s;--ease-ui:cubic-bezier(0, 0, .2, 1);--animate-reveal:reveal var(--motion-duration-enter) var(--ease-ui);--motion-duration-creep:8s;--animate-creep:creep var(--motion-duration-creep) var(--ease-ui) forwards;--animate-shake:shake var(--motion-duration-enter) var(--ease-ui)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}[data-surface=paper]{--surface-bg:var(--color-paper);--surface-text:var(--color-text-on-paper);--surface-heading:var(--color-ink);--surface-link:var(--color-violet);--surface-focus:var(--color-violet);--surface-rule:var(--color-ink);--surface-button:var(--color-ink);--surface-on-button:var(--color-paper)}[data-surface=site]{--surface-bg:var(--color-site-bg);--surface-text:var(--color-text-on-paper);--surface-heading:var(--color-ink);--surface-link:var(--color-violet);--surface-focus:var(--color-violet);--surface-rule:var(--color-site-rule);--surface-button:var(--color-violet);--surface-on-button:var(--color-paper)}:root,[data-surface=ink]{--surface-bg:var(--color-ink);--surface-text:var(--color-text-on-ink);--surface-heading:var(--color-paper);--surface-link:var(--color-violet-soft);--surface-focus:var(--color-paper);--surface-rule:var(--color-rule-on-ink);--surface-button:var(--color-paper);--surface-on-button:var(--color-ink)}[data-surface]{color:var(--surface-text)}[data-surface] p{color:inherit;line-height:var(--text-body--line-height)}[data-surface] :is(h1,h2,h3,h4){color:var(--surface-heading)}:root{font-family:var(--font-sans);font-synthesis:none;color:var(--surface-text);background:var(--color-ink)}body{margin:0;position:relative}.app-root{isolation:isolate}a,button,input{-webkit-tap-highlight-color:transparent}:is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--surface-focus);outline-offset:4px}.player :is(a,button,input,select,textarea):focus-visible{outline:var(--focus-ring-on-ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}@layer clerk;@layer components{.author-studio{background:var(--surface-bg)}.skip-link{z-index:10;color:var(--color-ink);background:var(--color-paper);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.reading{color:var(--surface-text);font-size:var(--text-body);line-height:1.8}.reading>*+*{margin-top:1em}.reading p{color:inherit}.reading :is(h2,h3,h4){color:var(--surface-heading);letter-spacing:-.02em;margin:1.8em 0 .6em;font-weight:800}.reading h2{font-size:var(--text-heading)}.reading h3{font-size:1.05rem}.reading h4{font-size:.98rem}.reading :is(ul,ol){list-style:revert;padding-left:1.4em}.reading li+li{margin-top:.3em}.reading a{color:var(--surface-link);text-underline-offset:3px;text-decoration:underline}.reading strong{color:var(--surface-heading);background:linear-gradient(transparent 62%, var(--color-highlight) 62%)}.reading blockquote{border-left:var(--border-rule) solid var(--color-violet);color:var(--surface-heading);padding:4px 0 4px 18px;font-weight:600}.reading code{background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-tag);padding:.1em .35em;font-size:.88em}.reading pre{background:var(--color-hatch);border-radius:var(--radius-card);padding:16px 18px;overflow-x:auto}.reading pre code{color:var(--surface-heading);background:0 0;padding:0}.reading table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.reading :is(th,td){border:1px solid var(--color-ink);text-align:left;padding:8px 14px}.reading th{background:var(--color-ink);color:var(--color-paper)}.reading img{border-radius:var(--radius-card);max-width:100%}.reading-ink{color:var(--color-text-on-ink);line-height:1.75}.reading-ink :is(h2,h3,h4,strong,blockquote){color:var(--color-paper)}.reading-ink strong{background:linear-gradient(#0000 62%,#7052cf8c 62%)}@supports (color:color-mix(in lab, red, red)){.reading-ink strong{background:linear-gradient(transparent 62%, color-mix(in srgb, var(--color-violet) 55%, transparent) 62%)}}.reading-ink a{color:var(--color-violet-soft)}.reading-ink blockquote{border-left-color:var(--color-violet-soft)}.reading-ink code{background:var(--color-player-rule);color:var(--color-paper)}.reading-ink pre{background:var(--color-rule-on-ink)}.reading-ink pre code{color:var(--color-paper);background:0 0}.reading-ink :is(th,td){border-color:var(--color-player-rule-strong)}.reading-ink th{background:#a996f04d}@supports (color:color-mix(in lab, red, red)){.reading-ink th{background:color-mix(in srgb, var(--color-violet-soft) 30%, transparent)}}.reading-ink th{color:var(--color-paper)}.reading-ink hr{border-color:var(--color-player-rule-strong)}.author-studio h1{font-size:var(--text-title);font-weight:var(--text-title--font-weight);letter-spacing:var(--text-title--letter-spacing);line-height:var(--text-title--line-height);margin:12px 0 20px}.author-studio h2{font-size:var(--text-heading);font-weight:var(--text-heading--font-weight);letter-spacing:var(--text-heading--letter-spacing);margin-bottom:14px}.author-studio :is(input[type=checkbox],input[type=radio]){accent-color:var(--color-violet)}.author-studio .simulator-editor select{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);padding:4px 8px}.author-studio{min-height:100vh}.author-studio .nav-active,.author-studio .nav-link{border-radius:var(--radius-control);padding:14px 16px;font-size:.82rem;font-weight:800;display:block}.author-studio .nav-active{background:var(--color-hatch);color:var(--color-violet)}.author-studio .nav-link{color:var(--color-text-on-paper)}.author-studio .nav-link:hover{color:var(--color-violet)}:is(.author-studio,.builder) .eyebrow{letter-spacing:.15em;color:var(--color-violet);font-size:.65rem;font-weight:800}.author-studio .context-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-hatch);border-radius:var(--radius-card);padding:16px 18px;font-size:.8rem}.author-studio .context-card+.context-card{margin-top:24px}.author-studio .context-modes{gap:16px;margin:18px 0;display:flex}.author-studio .lede{max-width:570px;margin-bottom:40px;font-size:.94rem}.author-studio .card{background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:30px}.author-studio form{margin-top:26px}.author-studio form>label{margin:18px 0 8px;font-size:.8rem;font-weight:600;display:block}.author-studio form>input:not([type=hidden]),.author-studio form>select{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);width:100%;color:var(--color-ink);padding:11px 13px;font-size:.9rem;display:block}:is(.author-studio,.builder) .hint{margin-top:6px;font-size:.72rem!important}:is(.author-studio,.builder) .notice{border:var(--border-input) solid var(--color-warning);background:var(--color-paper);border-radius:var(--radius-control);color:var(--color-warning);margin-top:20px;padding:14px}:is(.author-studio,.builder) .notice.success{border-color:var(--color-success);background:var(--color-paper);color:var(--color-success)}:is(.author-studio,.builder) .notice[role=alert]:not(.confirm-warning):not(.success){border-color:var(--color-danger);color:var(--color-danger)}:is(.author-studio,.builder) .text-link{color:var(--color-violet);text-underline-offset:4px;margin-top:10px;font-size:.85rem;text-decoration:underline;display:inline-block}.author-studio form>textarea{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);width:100%;color:var(--color-ink);padding:11px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.6;display:block}.author-studio .inline-form{flex-wrap:wrap;align-items:center;gap:10px 12px;margin:18px 0 30px;display:flex}.author-studio .inline-form>label{flex-basis:100%;margin:0}.author-studio .inline-form>input:not([type=hidden]){flex:1;width:auto;min-width:min(220px,100%)}.author-studio .author-course{margin-bottom:26px}.author-studio .module-list,.author-studio .lesson-list{padding-left:0;list-style:none}.author-studio .module-list>li{border-top:1px solid var(--color-hatch);padding:18px 0}.author-studio .module-list h3{margin:0 0 6px;font-size:1rem;font-weight:800}.author-studio .lesson-list li{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.author-studio .editor-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}:is(.author-studio,.builder) .notice ul{margin:8px 0 0;padding-left:20px}.author-studio .quiz-editor fieldset{border:1px solid var(--color-hatch);border-radius:var(--radius-card);min-width:0;margin:16px 0 0;padding:14px 16px}.author-studio .quiz-editor fieldset>label,.author-studio .quiz-editor fieldset>textarea,.author-studio .quiz-editor>label{width:100%;display:block}.author-studio .quiz-editor fieldset>textarea,.author-studio .quiz-editor .quiz-option-edit input[type=text]{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);font:inherit;padding:8px 10px}.author-studio .breadboard-stage{border:1px solid var(--color-hatch);border-radius:var(--radius-card);min-width:0;margin:16px 0 0;padding:14px 16px}.author-studio .breadboard-stage legend{font-weight:800}.author-studio .breadboard-stage>label,.author-studio .breadboard-stage>textarea{width:100%;display:block}.author-studio .breadboard-stage>textarea{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.author-studio .quiz-option-edit{align-items:center;gap:8px;margin:6px 0;display:flex}.author-studio .quiz-option-edit input[type=text]{flex:1;min-width:0}.author-studio .confirm-warning label{align-items:baseline;gap:8px;margin-top:8px;display:flex}@media (width<=700px){.author-studio .card{padding:24px}}.author-studio .lesson-list .text-link{margin-top:6px}.author-studio .confirm-check{align-items:flex-start;gap:10px;margin-top:18px;display:flex}.author-studio .confirm-check input{margin-top:4px}.author-studio .lesson-adders{flex-wrap:wrap;gap:18px;display:flex}.author-studio .reorder{vertical-align:middle;align-items:center;gap:4px;display:inline-flex}.author-studio .reorder .notice{margin:0}.author-studio .revision{gap:16px;margin-top:24px;display:grid}.author-studio .revision form{justify-items:start;gap:6px;display:grid}.author-studio .chip-form>label:not(:first-of-type){margin-top:4px}.author-studio .test-set{margin-top:10px;overflow-x:auto}.author-studio .test-set table{border-collapse:collapse;font-variant-numeric:tabular-nums}.author-studio .test-set th,.author-studio .test-set td{border-bottom:1px solid var(--color-hatch);text-align:center;white-space:nowrap;padding:4px 8px}.author-studio .simulator-editor{border:0;gap:8px;margin:16px 0;padding:0;display:grid}.author-studio .simulator-editor>legend{font-weight:800}.author-studio .simulator-editor h2{margin:12px 0 0;font-size:1.05rem}.author-studio .simulator-palette{border:1px solid var(--color-hatch);border-radius:var(--radius-control);flex-wrap:wrap;gap:6px 14px;padding:10px 14px;display:flex}.entry-auth{width:100%;max-width:100%}.entry-auth-card{background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);overflow:hidden}.entry-auth-body,.entry-auth-footer{background:var(--color-paper);box-shadow:none}.entry-auth-body{padding:32px}.entry-auth-input{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);box-shadow:none}.entry-auth-primary{background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-control);box-shadow:var(--shadow-button);transition:box-shadow var(--motion-duration-fast) var(--ease-ui), transform var(--motion-duration-fast) var(--ease-ui)}.entry-auth-primary:hover{background:var(--color-ink);box-shadow:var(--shadow-button-hover)}.entry-auth-primary:active{background:var(--color-ink);box-shadow:none;transform:translate(3px,3px)}.entry-auth-primary:disabled{opacity:.5;box-shadow:none}.entry-auth-link{color:var(--color-violet);text-decoration:underline}@media (width<=700px){.entry-auth-body{padding:24px}}@media (prefers-reduced-motion:reduce){.entry-auth-primary:active{transform:none}}}@layer utilities{.\[container-type\:inline-size\]{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.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}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-x-4{inset-inline:calc(var(--spacing) * 4)}.inset-x-16{inset-inline:calc(var(--spacing) * 16)}.inset-x-\[8\%\]{inset-inline:8%}.inset-y-1{inset-block:var(--spacing)}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-16{top:calc(var(--spacing) * 16)}.top-20{top:calc(var(--spacing) * 20)}.top-\[6\%\]{top:6%}.top-full{top:100%}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-7{bottom:calc(var(--spacing) * 7)}.bottom-12{bottom:calc(var(--spacing) * 12)}.bottom-14{bottom:calc(var(--spacing) * 14)}.bottom-16{bottom:calc(var(--spacing) * 16)}.bottom-\[22\%\]{bottom:22%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[0\.3cqw\]{left:.3cqw}.left-\[4\.4cqw\]{left:4.4cqw}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[2\]{z-index:2}.row-0{grid-row:0}.row-1{grid-row:1}.row-10{grid-row:10}.row-11{grid-row:11}.float-left{float:left}.float-right{float:right}.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}}.m-1\.5{margin:calc(var(--spacing) * 1.5)}.m-4{margin:calc(var(--spacing) * 4)}.-mx-3\.5{margin-inline:calc(var(--spacing) * -3.5)}.mx-auto{margin-inline:auto}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-0{margin-top:0}.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-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-5\.5{margin-top:calc(var(--spacing) * 5.5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7\.5{margin-top:calc(var(--spacing) * 7.5)}.mt-8\.5{margin-top:calc(var(--spacing) * 8.5)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-\[0\.6cqw\]{margin-top:.6cqw}.mt-\[clamp\(40px\,6vw\,72px\)\]{margin-top:clamp(40px,6vw,72px)}.mt-auto{margin-top:auto}.mt-page-end{margin-top:var(--spacing-page-end)}.mt-section{margin-top:var(--spacing-section)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-6{margin-right:calc(var(--spacing) * 6)}.mr-auto{margin-right:auto}.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-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-px{margin-bottom:1px}.-ml-1\.75{margin-left:calc(var(--spacing) * -1.75)}.ml-1\.25{margin-left:calc(var(--spacing) * 1.25)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.table-row{display:table-row}.aspect-video{aspect-ratio:var(--aspect-video)}.size-1{width:var(--spacing);height:var(--spacing)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-\[3\.4cqw\]{width:3.4cqw;height:3.4cqw}.size-\[10cqw\]{width:10cqw;height:10cqw}.size-\[150px\]{width:150px;height:150px}.size-full{width:100%;height:100%}.h-\(--border-rule\){height:var(--border-rule)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-6{height:calc(var(--spacing) * 6)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-13{height:calc(var(--spacing) * 13)}.h-24{height:calc(var(--spacing) * 24)}.h-26{height:calc(var(--spacing) * 26)}.h-32{height:calc(var(--spacing) * 32)}.h-62\.5{height:calc(var(--spacing) * 62.5)}.h-\[4\.6cqw\]{height:4.6cqw}.h-\[64px\]{height:64px}.h-\[328px\]{height:328px}.h-\[700px\]{height:700px}.h-auto{height:auto}.h-full{height:100%}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[60\%\]{max-height:60%}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100vh-3rem\)\]{max-height:calc(100vh - 3rem)}.min-h-0{min-height:0}.min-h-13{min-height:calc(var(--spacing) * 13)}.min-h-56{min-height:calc(var(--spacing) * 56)}.min-h-85{min-height:calc(var(--spacing) * 85)}.min-h-screen{min-height:100vh}.w-0{width:0}.w-4{width:calc(var(--spacing) * 4)}.w-60{width:calc(var(--spacing) * 60)}.w-\[8\.4cqw\]{width:8.4cqw}.w-\[31\%\]{width:31%}.w-\[36\%\]{width:36%}.w-\[280px\]{width:280px}.w-\[520px\]{width:520px}.w-\[584px\]{width:584px}.w-\[calc\(50\%-4px\)\]{width:calc(50% - 4px)}.w-\[min\(32rem\,90vw\)\]{width:min(32rem,90vw)}.w-full{width:100%}.w-max{width:max-content}.max-w-90{max-width:calc(var(--spacing) * 90)}.max-w-100{max-width:calc(var(--spacing) * 100)}.max-w-110{max-width:calc(var(--spacing) * 110)}.max-w-\[30em\]{max-width:30em}.max-w-\[32em\]{max-width:32em}.max-w-\[34em\]{max-width:34em}.max-w-\[40em\]{max-width:40em}.max-w-\[70\%\]{max-width:70%}.max-w-\[90cqw\]{max-width:90cqw}.max-w-\[300px\]{max-width:300px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[calc\(100vw-3rem\)\]{max-width:calc(100vw - 3rem)}.max-w-full{max-width:100%}.max-w-page{max-width:var(--container-page)}.max-w-player{max-width:var(--container-player)}.max-w-reading{max-width:var(--container-reading)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-\[2\]{flex:2}.flex-\[3\]{flex:3}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.-translate-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-0\.5{--tw-translate-x:calc(var(--spacing) * .5);--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-5\.5{--tw-translate-y:calc(var(--spacing) * 5.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-7{--tw-translate-y:calc(var(--spacing) * 7);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-4{rotate:-4deg}.-rotate-5{rotate:-5deg}.rotate-5{rotate:5deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-creep{animation:var(--animate-creep)}.animate-shake{animation:var(--animate-shake)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.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))}.grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(min\(100\%\,18rem\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}.grid-rows-\[minmax\(0\,1fr\)_auto\]{grid-template-rows:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.justify-items-start{justify-items:start}.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-4\.5{gap:calc(var(--spacing) * 4.5)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[1\.2cqw\]{gap:1.2cqw}.gap-\[clamp\(64px\,9vw\,112px\)\]{gap:clamp(64px,9vw,112px)}: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-4{column-gap:calc(var(--spacing) * 4)}.gap-x-4\.5{column-gap:calc(var(--spacing) * 4.5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.self-start{align-self:flex-start}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-card{border-radius:var(--radius-card)}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:2147483647px}.rounded-pill{border-radius:var(--radius-pill)}.rounded-site-button{border-radius:var(--radius-site-button)}.rounded-site-panel{border-radius:var(--radius-site-panel)}.rounded-tag{border-radius:var(--radius-tag)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\(length\:--border-input\){border-style:var(--tw-border-style);border-width:var(--border-input)}.border-\(length\:--border-rule\){border-style:var(--tw-border-style);border-width:var(--border-rule)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\(length\:--border-rule\){border-top-style:var(--tw-border-style);border-top-width:var(--border-rule)}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r-\(length\:--border-rule\){border-right-style:var(--tw-border-style);border-right-width:var(--border-rule)}.border-b-\(length\:--border-rule\){border-bottom-style:var(--tw-border-style);border-bottom-width:var(--border-rule)}.border-l-\(length\:--border-rule\){border-left-style:var(--tw-border-style);border-left-width:var(--border-rule)}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-\(--surface-heading\){border-color:var(--surface-heading)}.border-\(--surface-rule\){border-color:var(--surface-rule)}.border-\[hsl\(0_100\%_50\%\)\]{border-color:red}.border-danger{border-color:var(--color-danger)}.border-hatch{border-color:var(--color-hatch)}.border-ink{border-color:var(--color-ink)}.border-rule-on-ink{border-color:var(--color-rule-on-ink)}.border-site-rule{border-color:var(--color-site-rule)}.border-success{border-color:var(--color-success)}.border-text-on-paper{border-color:var(--color-text-on-paper)}.border-transparent{border-color:#0000}.border-violet{border-color:var(--color-violet)}.border-warning{border-color:var(--color-warning)}.bg-\(--surface-button\){background-color:var(--surface-button)}.bg-\[\#7052cf\]{background-color:#7052cf}.bg-\[\#fff\]{background-color:#fff}.bg-\[oklch\(0\.5_0\.2_30\)\]{background-color:oklch(50% .2 30)}.bg-\[red\]{background-color:red}.bg-hatch{background-color:var(--color-hatch)}.bg-highlight{background-color:var(--color-highlight)}.bg-ink{background-color:var(--color-ink)}.bg-ink\/20{background-color:#11101433}@supports (color:color-mix(in lab, red, red)){.bg-ink\/20{background-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.bg-ink\/40{background-color:#11101466}@supports (color:color-mix(in lab, red, red)){.bg-ink\/40{background-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.bg-ink\/70{background-color:#111014b3}@supports (color:color-mix(in lab, red, red)){.bg-ink\/70{background-color:color-mix(in oklab, var(--color-ink) 70%, transparent)}}.bg-lamp{background-color:var(--color-lamp)}.bg-paper{background-color:var(--color-paper)}.bg-rule-on-ink{background-color:var(--color-rule-on-ink)}.bg-site-bg{background-color:var(--color-site-bg)}.bg-site-nav{background-color:var(--color-site-nav)}.bg-site-wash-blue{background-color:var(--color-site-wash-blue)}.bg-site-wash-green{background-color:var(--color-site-wash-green)}.bg-site-wash-peach{background-color:var(--color-site-wash-peach)}.bg-site-wash-violet{background-color:var(--color-site-wash-violet)}.bg-stage{background-color:var(--color-stage)}.bg-stage-off{background-color:var(--color-stage-off)}.bg-success{background-color:var(--color-success)}.bg-transparent{background-color:#0000}.bg-violet{background-color:var(--color-violet)}.bg-violet-soft{background-color:var(--color-violet-soft)}.bg-violet\/15{background-color:#7052cf26}@supports (color:color-mix(in lab, red, red)){.bg-violet\/15{background-color:color-mix(in oklab, var(--color-violet) 15%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-\[repeating-linear-gradient\(-45deg\,var\(--color-hatch\)_0_12px\,var\(--color-paper\)_12px_24px\)\]{background-image:repeating-linear-gradient(-45deg,var(--color-hatch) 0 12px,var(--color-paper) 12px 24px)}.bg-\[repeating-linear-gradient\(-45deg\,var\(--color-hatch\)_0_14px\,var\(--color-paper\)_14px_28px\)\]{background-image:repeating-linear-gradient(-45deg,var(--color-hatch) 0 14px,var(--color-paper) 14px 28px)}.bg-\[url\(\#abc\)\]{background-image:url(#abc)}.fill-ink{fill:var(--color-ink)}.fill-none{fill:none}.stroke-\(--signal-ink\){stroke:var(--signal-ink)}.stroke-current{stroke:currentColor}.stroke-ink{stroke:var(--color-ink)}.stroke-stage{stroke:var(--color-stage)}.stroke-stage-off{stroke:var(--color-stage-off)}.stroke-violet{stroke:var(--color-violet)}.stroke-2{stroke-width:2px}.stroke-\[1\.5\]{stroke-width:1.5px}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.p-16{padding:calc(var(--spacing) * 16)}.p-\[clamp\(20px\,4vw\,44px\)\]{padding:clamp(20px,4vw,44px)}.p-\[clamp\(24px\,4vw\,40px\)\]{padding:clamp(24px,4vw,40px)}.p-panel{padding:var(--spacing-panel)}.p-sheet{padding:var(--spacing-sheet)}.px-1{padding-inline:var(--spacing)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.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-6\.5{padding-inline:calc(var(--spacing) * 6.5)}.px-14{padding-inline:calc(var(--spacing) * 14)}.px-\[1\.4cqw\]{padding-inline:1.4cqw}.px-gutter{padding-inline:var(--spacing-gutter)}.px-sheet{padding-inline:var(--spacing-sheet)}.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-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\[clamp\(48px\,8vw\,88px\)\]{padding-block:clamp(48px,8vw,88px)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5\.5{padding-top:calc(var(--spacing) * 5.5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-hero{padding-top:var(--spacing-hero)}.pt-page-top{padding-top:var(--spacing-page-top)}.pt-section{padding-top:var(--spacing-section)}.pt-sheet{padding-top:var(--spacing-sheet)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-6\.5{padding-bottom:calc(var(--spacing) * 6.5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-9{padding-bottom:calc(var(--spacing) * 9)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pb-\[max\(1rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(1rem, env(safe-area-inset-bottom))}.pb-page-end{padding-bottom:var(--spacing-page-end)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-5\.5{padding-left:calc(var(--spacing) * 5.5)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-display{font-size:var(--text-display);line-height:var(--tw-leading,var(--text-display--line-height));letter-spacing:var(--tw-tracking,var(--text-display--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display--font-weight))}.text-heading{font-size:var(--text-heading);line-height:var(--tw-leading,var(--text-heading--line-height));letter-spacing:var(--tw-tracking,var(--text-heading--letter-spacing));font-weight:var(--tw-font-weight,var(--text-heading--font-weight))}.text-player-page{font-size:var(--text-player-page);line-height:var(--tw-leading,var(--text-player-page--line-height));letter-spacing:var(--tw-tracking,var(--text-player-page--letter-spacing));font-weight:var(--tw-font-weight,var(--text-player-page--font-weight))}.text-player-title{font-size:var(--text-player-title);line-height:var(--tw-leading,var(--text-player-title--line-height));letter-spacing:var(--tw-tracking,var(--text-player-title--letter-spacing));font-weight:var(--tw-font-weight,var(--text-player-title--font-weight))}.text-site-hero{font-size:var(--text-site-hero);line-height:var(--tw-leading,var(--text-site-hero--line-height));letter-spacing:var(--tw-tracking,var(--text-site-hero--letter-spacing));font-weight:var(--tw-font-weight,var(--text-site-hero--font-weight))}.text-site-tagline{font-size:var(--text-site-tagline);line-height:var(--tw-leading,var(--text-site-tagline--line-height));letter-spacing:var(--tw-tracking,var(--text-site-tagline--letter-spacing));font-weight:var(--tw-font-weight,var(--text-site-tagline--font-weight))}.text-title{font-size:var(--text-title);line-height:var(--tw-leading,var(--text-title--line-height));letter-spacing:var(--tw-tracking,var(--text-title--letter-spacing));font-weight:var(--tw-font-weight,var(--text-title--font-weight))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-small{font-size:var(--text-small);line-height:var(--tw-leading,var(--text-small--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-eyebrow{font-size:var(--text-eyebrow);letter-spacing:var(--tw-tracking,var(--text-eyebrow--letter-spacing));font-weight:var(--tw-font-weight,var(--text-eyebrow--font-weight))}.text-tag{font-size:var(--text-tag);letter-spacing:var(--tw-tracking,var(--text-tag--letter-spacing));font-weight:var(--tw-font-weight,var(--text-tag--font-weight))}.text-\[2\.2cqw\]{font-size:2.2cqw}.text-\[2\.4cqw\]{font-size:2.4cqw}.text-\[2\.8cqw\]{font-size:2.8cqw}.text-\[2cqw\]{font-size:2cqw}.text-\[3\.2cqw\]{font-size:3.2cqw}.text-\[4\.5cqw\]{font-size:4.5cqw}.text-\[5cqw\]{font-size:5cqw}.text-\[14px\]{font-size:14px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[30px\]{font-size:30px}.text-\[40px\]{font-size:40px}.text-\[44px\]{font-size:44px}.text-\[52px\]{font-size:52px}.text-\[88px\]{font-size:88px}.text-\[96px\]{font-size:96px}.text-\[clamp\(1\.6rem\,3vw\,2\.1rem\)\]{font-size:clamp(1.6rem,3vw,2.1rem)}.text-\[clamp\(1\.0625rem\,1\.7vw\,1\.1875rem\)\]{font-size:clamp(1.0625rem,1.7vw,1.1875rem)}.leading-none{--tw-leading:1;line-height:1}.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-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.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-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.055em\]{--tw-tracking:-.055em;letter-spacing:-.055em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.\[color\:blue\]{color:#00f}.text-\(--surface-heading\){color:var(--surface-heading)}.text-\(--surface-link\){color:var(--surface-link)}.text-\(--surface-on-button\){color:var(--surface-on-button)}.text-\(--surface-text\){color:var(--surface-text)}.text-\[\#f00\]{color:red}.text-\[\#fff\]{color:#fff}.text-\[rebeccapurple\]{color:#639}.text-\[var\(--color-ink\)\]{color:var(--color-ink)}.text-danger{color:var(--color-danger)}.text-ink{color:var(--color-ink)}.text-paper{color:var(--color-paper)}.text-site-wash-violet{color:var(--color-site-wash-violet)}.text-success{color:var(--color-success)}.text-text-on-ink{color:var(--color-text-on-ink)}.text-text-on-paper{color:var(--color-text-on-paper)}.text-violet{color:var(--color-violet)}.text-warning{color:var(--color-warning)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-violet{accent-color:var(--color-violet)}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.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_4px\]{--tw-shadow:0 0 4px var(--tw-shadow-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)}.shadow-\[0_0_4px_var\(--color-ink\)\]{--tw-shadow:0 0 4px var(--tw-shadow-color,var(--color-ink));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-card\)\]{--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-avatar{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--color-violet));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-button{--tw-shadow:3px 3px 0 var(--tw-shadow-color,var(--color-violet));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-card{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--color-violet));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lamp{--tw-shadow:0 0 32px var(--tw-shadow-color,var(--color-lamp));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-site-card{--tw-shadow:0 5px 22px var(--tw-shadow-color,#25332c0f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-site-press{--tw-shadow:0 4px 0 var(--tw-shadow-color,#4a32a8);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-site-press-quiet{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,#dedfd8), 0 4px 0 var(--tw-shadow-color,#dedfd8);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-site-press-quiet-down{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,#dedfd8);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-stage-right{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,#45c97a8c), inset 0 0 90px var(--tw-shadow-color,#45c97a33)}@supports (color:color-mix(in lab, red, red)){.shadow-stage-right{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,color-mix(in srgb, var(--color-success-on-ink) 55%, transparent)), inset 0 0 90px var(--tw-shadow-color,color-mix(in srgb, var(--color-success-on-ink) 20%, transparent))}}.shadow-stage-right{box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--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-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.inset-shadow-\[0_0_4px_var\(--color-ink\)\]{--tw-inset-shadow:inset 0 0 4px var(--tw-inset-shadow-color,var(--color-ink));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[box-shadow\:0_0_4px_var\(--color-ink\)\]{box-shadow:0 0 4px var(--color-ink)}.\[box-shadow\:var\(--shadow-card\)\]{box-shadow:var(--shadow-card)}.shadow-violet{--tw-shadow-color:#7052cf}@supports (color:color-mix(in lab, red, red)){.shadow-violet{--tw-shadow-color:color-mix(in oklab, var(--color-violet) var(--tw-shadow-alpha), transparent)}}.ring-violet{--tw-ring-color:var(--color-violet)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-offset-2{outline-offset:2px}.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,)}.drop-shadow-\[0_0_4px_var\(--color-ink\)\]{--tw-drop-shadow-size:drop-shadow(0 0 4px var(--tw-drop-shadow-color,var(--color-ink)));--tw-drop-shadow:var(--tw-drop-shadow-size);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-\[var\(--drop-shadow-chip\)\]{--tw-drop-shadow-size:drop-shadow(var(--drop-shadow-chip));--tw-drop-shadow:var(--tw-drop-shadow-size);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\:drop-shadow\(0_0_4px_var\(--color-ink\)\)\]{filter:drop-shadow(0 0 4px var(--color-ink))}.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-\[blur\(2px\)\]{filter:blur(2px)}.filter-\[blur\(2px\)_drop-shadow\(0_0_4px_var\(--color-ink\)\)\]{filter:blur(2px) drop-shadow(0 0 4px var(--color-ink))}.filter-\[drop-shadow\(var\(--drop-shadow-chip\)\)\]{filter:drop-shadow(var(--drop-shadow-chip))}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.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-\[border-color\]{transition-property:border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[box-shadow\,translate\,background-color\,color\]{transition-property:box-shadow,translate,background-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[box-shadow\,translate\]{transition-property:box-shadow,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[fill\]{transition-property:fill;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[rotate\,translate\,box-shadow\]{transition-property:rotate,translate,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,box-shadow\]{transition-property:translate,box-shadow;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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--motion-duration-enter\){--tw-duration:var(--motion-duration-enter);transition-duration:var(--motion-duration-enter)}.duration-\(--motion-duration-fast\){--tw-duration:var(--motion-duration-fast);transition-duration:var(--motion-duration-fast)}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-ui{--tw-ease:var(--ease-ui);transition-timing-function:var(--ease-ui)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[stroke-linecap\:round\]{stroke-linecap:round}.\[stroke-linejoin\:round\]{stroke-linejoin:round}.\[text-shadow\:0_0_4px_var\(--color-ink\)\]{text-shadow:0 0 4px var(--color-ink)}.\[text-shadow\:var\(--shadow-label\)\]{text-shadow:var(--shadow-label)}.text-shadow-\[0_0_4px_var\(--color-ink\)\]{text-shadow:0 0 4px var(--tw-text-shadow-color,var(--color-ink))}.text-shadow-\[var\(--text-shadow-label\)\]{text-shadow:var(--text-shadow-label)}.placeholder\:text-text-on-paper::placeholder{color:var(--color-text-on-paper)}.before\:content-\[\'\#123\'\]:before{--tw-content:"#123";content:var(--tw-content)}@media (hover:hover){.hover\:z-\[3\]:hover{z-index:3}.hover\:-translate-0\.5:hover{--tw-translate-x:calc(var(--spacing) * -.5);--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-2\.5:hover{--tw-translate-y:calc(var(--spacing) * -2.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:rotate-0:hover{rotate:0deg}.hover\:border-ink:hover{border-color:var(--color-ink)}.hover\:bg-hatch:hover{background-color:var(--color-hatch)}.hover\:bg-rule-on-ink:hover{background-color:var(--color-rule-on-ink)}.hover\:bg-site-wash-violet:hover{background-color:var(--color-site-wash-violet)}.hover\:bg-violet\/10:hover{background-color:#7052cf1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-violet\/10:hover{background-color:color-mix(in oklab, var(--color-violet) 10%, transparent)}}.hover\:text-\(--surface-heading\):hover{color:var(--surface-heading)}.hover\:text-\(--surface-link\):hover{color:var(--surface-link)}.hover\:text-\[rgb\(255\,0\,0\)\]:hover{color:red}.hover\:text-paper:hover{color:var(--color-paper)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!shadow-\[3px_3px_0_var\(--color-violet\)\]:hover{--tw-shadow:3px 3px 0 var(--tw-shadow-color,var(--color-violet))!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.hover\:shadow-button-hover:hover{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--color-violet));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-card-hover:hover{--tw-shadow:8px 8px 0 var(--tw-shadow-color,var(--color-violet));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-site-card-hover:hover{--tw-shadow:0 14px 34px var(--tw-shadow-color,#25332c1f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-4:focus-visible{outline-offset:calc(4px * -1)}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-\(color\:--surface-focus\):focus-visible{outline-color:var(--surface-focus)}.focus-visible\:outline-paper:focus-visible{outline-color:var(--color-paper)}.focus-visible\:outline-violet:focus-visible{outline-color:var(--color-violet)}.focus-visible\:outline-violet-soft:focus-visible{outline-color:var(--color-violet-soft)}.active\:translate-0\.5:active{--tw-translate-x:calc(var(--spacing) * .5);--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-0\.75:active{--tw-translate-x:calc(var(--spacing) * .75);--tw-translate-y:calc(var(--spacing) * .75);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-1\.5:active{--tw-translate-x:calc(var(--spacing) * 1.5);--tw-translate-y:calc(var(--spacing) * 1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-y-1:active{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:shadow-none:active{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.active\:shadow-site-press-quiet-down:active{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color,#dedfd8);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.disabled\:translate-none:disabled{translate:none}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where(:disabled) .in-disabled\:cursor-default{cursor:default}.has-checked\:border-violet:has(:checked){border-color:var(--color-violet)}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}@media (hover:hover){.aria-disabled\:hover\:bg-transparent[aria-disabled=true]:hover{background-color:#0000}}.aria-pressed\:bg-violet[aria-pressed=true]{background-color:var(--color-violet)}.aria-\[current\=step\]\:border-violet-soft[aria-current=step]{border-color:var(--color-violet-soft)}.aria-\[current\=step\]\:text-paper[aria-current=step]{color:var(--color-paper)}.data-checked\:bg-highlight[data-checked]{background-color:var(--color-highlight)}.data-checked\:bg-ink[data-checked]{background-color:var(--color-ink)}.data-checked\:font-extrabold[data-checked]{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.data-ending-style\:-translate-x-full[data-ending-style]{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-ending-style\:opacity-0[data-ending-style]{opacity:0}.data-ending-style\:duration-\(--motion-duration-fast\)[data-ending-style]{--tw-duration:var(--motion-duration-fast);transition-duration:var(--motion-duration-fast)}.data-highlighted\:outline-2[data-highlighted]{outline-style:var(--tw-outline-style);outline-width:2px}.data-highlighted\:outline-offset-4[data-highlighted]{outline-offset:4px}.data-highlighted\:outline-\(color\:--surface-focus\)[data-highlighted]{outline-color:var(--surface-focus)}.data-highlighted\:outline-violet[data-highlighted]{outline-color:var(--color-violet)}.data-invalid\:border-danger[data-invalid]{border-color:var(--color-danger)}.data-starting-style\:-translate-x-full[data-starting-style]{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.data-\[completed\=true\]\:border-violet[data-completed=true]{border-color:var(--color-violet)}.data-\[completed\=true\]\:bg-violet[data-completed=true]{background-color:var(--color-violet)}.data-\[completed\=true\]\:text-paper[data-completed=true]{color:var(--color-paper)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}@media (hover:hover){.motion-reduce\:hover\:translate-none:hover{translate:none}}.motion-reduce\:active\:translate-none:active{translate:none}}@media (width>=880px){.min-\[880px\]\:order-2{order:2}.min-\[880px\]\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.min-\[880px\]\:gap-18{gap:calc(var(--spacing) * 18)}}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:p-8{padding:calc(var(--spacing) * 8)}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.phone\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.phone\:order-last{order:9999}.phone\:-mx-gutter{margin-inline:calc(var(--spacing-gutter) * -1)}.phone\:mx-0{margin-inline:0}.phone\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.phone\:ml-0{margin-left:0}.phone\:ml-auto{margin-left:auto}.phone\:block{display:block}.phone\:hidden{display:none}.phone\:min-h-0{min-height:0}.phone\:w-\[82\%\]{width:82%}.phone\:w-full{width:100%}.phone\:max-w-none{max-width:none}.phone\:translate-none{translate:none}.phone\:rotate-0{rotate:0deg}.phone\:snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.phone\:snap-mandatory{--tw-scroll-snap-strictness:mandatory}.phone\:snap-center{scroll-snap-align:center}.phone\:\[scrollbar-width\:none\]{scrollbar-width:none}.phone\:justify-start{justify-content:flex-start}.phone\:gap-3\.5{gap:calc(var(--spacing) * 3.5)}.phone\:overflow-x-auto{overflow-x:auto}.phone\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.phone\:border-\(--surface-rule\){border-color:var(--surface-rule)}.phone\:px-gutter{padding-inline:var(--spacing-gutter)}.phone\:pt-1{padding-top:var(--spacing)}.phone\:pt-2{padding-top:calc(var(--spacing) * 2)}}@media ((width>700px)) and (width<=900px){.tablet\:gap-4{gap:calc(var(--spacing) * 4)}}@media (width<=700px) or (pointer:coarse){.no-breadboard\:block{display:block}.no-breadboard\:hidden{display:none}}@media ((width<768px)) or (pointer:coarse){.no-builder\:block{display:block}.no-builder\:hidden{display:none}}.\[\&_\.gate-symbol\]\:h-auto .gate-symbol{height:auto}.\[\&_\.gate-symbol\]\:w-full .gate-symbol{width:100%}.\[\&\>\#abc\]\:bg-paper>#abc{background-color:var(--color-paper)}.\[\&\>\:first-child\]\:mt-0>:first-child{margin-top:0}.\[\&\>section\]\:border-t-0>section{border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>section\]\:pt-0>section{padding-top:0}.\[\&\>svg\]\:h-12>svg{height:calc(var(--spacing) * 12)}.\[\&\>svg\]\:w-16>svg{width:calc(var(--spacing) * 16)}}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.course-drawer{transform:translateX(var(--drawer-swipe-movement-x,0px));transition:transform var(--motion-duration-enter) var(--ease-ui)}.course-drawer[data-starting-style],.course-drawer[data-ending-style]{transform:translate(-100%)}.course-drawer[data-ending-style]{transition-duration:var(--motion-duration-fast)}.course-drawer[data-swiping]{transition:none}@media (prefers-reduced-motion:reduce){.course-drawer{transition:none}}@keyframes reveal{0%{opacity:0}}@keyframes creep{0%{transform:scaleX(0)}to{transform:scaleX(.9)}}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.builder{z-index:20;background-color:var(--color-paper);background-image:radial-gradient(var(--color-canvas-dot) 1px, transparent 1px);background-size:22px 22px;position:fixed;inset:0}.builder-embedded{isolation:isolate;height:100%;position:relative;overflow:hidden;transform:translate(0)}.builder-canvas{position:absolute;inset:64px 0 0}.builder-bar{z-index:5;background:var(--color-ink);border-bottom:var(--border-rule) solid var(--color-violet);align-items:center;gap:18px;height:64px;padding:0 22px;display:flex;position:absolute;inset:0 0 auto}.builder-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-paper);font-size:.95rem;font-weight:800;overflow:hidden}.builder-status{color:var(--color-text-on-ink);font-size:var(--text-small);flex-shrink:0;margin-left:auto;font-weight:700}.builder-status p{margin:0}.builder-notices{z-index:6;width:clamp(260px,100% - 680px,420px);font-size:var(--text-small);pointer-events:none;gap:12px;display:grid;position:absolute;top:88px;left:50%;translate:-50%}.builder-notices>*{pointer-events:auto}.builder-brief,.builder-io,.builder-simulation,.builder-check,.signal-key,.builder-dock{background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:var(--color-text-on-paper)}.builder-brief,.builder-io,.builder-simulation,.builder-check{padding:18px 20px}.builder-brief{z-index:4;width:280px;max-height:calc(100vh - 220px);position:absolute;top:88px;left:22px;overflow-y:auto}.builder-spine{z-index:5;background:var(--color-ink);border-right:var(--border-rule) solid var(--color-violet);width:56px;color:var(--color-paper);cursor:pointer;flex-direction:column;align-items:center;gap:16px;padding:20px 0;display:flex;position:absolute;top:64px;bottom:0;left:0;overflow-y:auto}.builder-spine:focus-visible{outline-offset:-6px}.builder-spine-menu{font-size:1.1rem;line-height:1}.builder-spine-module{font-size:var(--text-small);justify-items:center;gap:5px;font-weight:800;display:grid}.builder-spine-dot{border:2px solid var(--color-paper);border-radius:var(--radius-pill);width:10px;height:10px;display:block}.builder-spine-dot[data-dot=completed]{background:var(--color-paper)}.builder-spine-dot[data-dot=locked]{opacity:.4}.builder-spine-dot[data-dot=current]{border-color:var(--color-violet-soft);outline:2px solid var(--color-violet-soft);outline-offset:2px}.builder-with-spine :is(.builder-brief,.signal-key){left:78px}.builder-brief h1,.builder-io h2,.builder-simulation h2,.builder-check h2{color:var(--color-ink);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.3}.builder-brief h1{margin:6px 0 8px;font-size:1.3rem}.builder-io h2,.builder-simulation h2,.builder-check h2{font-size:1.05rem}.builder-brief .eyebrow{color:var(--color-violet);font-size:var(--text-eyebrow);letter-spacing:var(--text-eyebrow--letter-spacing);margin:0;font-weight:800}.builder-brief p{font-size:var(--text-small);margin:0 0 8px}.builder-brief .reading{font-size:var(--text-small);line-height:1.6}.builder-right{z-index:4;align-content:start;gap:18px;width:308px;max-height:calc(100vh - 112px);padding:0 8px 8px 0;display:grid;position:absolute;top:88px;right:22px;overflow-y:auto}.builder-simulation,.builder-check{font-size:var(--text-small);gap:10px;display:grid}.builder-simulation p,.builder-check p{margin:0}.builder-io h3{color:var(--color-violet);font-size:var(--text-eyebrow);letter-spacing:var(--text-eyebrow--letter-spacing);text-transform:uppercase;margin:12px 0 4px;font-weight:800}.builder-io p{font-size:var(--text-small);margin:4px 0 0}.builder-io ol{margin:0;padding:0;list-style:none}.builder-io li{border-top:1px solid var(--color-hatch);padding:8px 0}.builder-io-fields{grid-template-columns:auto 1fr;align-items:center;gap:6px;font-size:.72rem;display:grid}.builder-io-fields input{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);font:inherit;color:var(--color-ink);min-width:0;padding:4px 8px;font-size:.8rem}.builder-io-actions{gap:6px;margin-top:6px;display:flex}.builder-io-actions button,.builder-simulation button{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--ease-ui);padding:4px 10px;font-size:.75rem;font-weight:700}.builder-io-actions button:hover:not(:disabled),.builder-simulation button:hover:not(:disabled){background:var(--color-hatch)}.builder-io-actions button:disabled,.builder-simulation button:disabled{opacity:.5;cursor:default}.simulation-actions,.simulation-input{flex-wrap:wrap;gap:8px;display:flex}.simulation-input button{align-items:center;gap:6px;display:inline-flex}.simulation-output{color:var(--color-ink);font-weight:700}.clock-role{align-items:center;gap:5px;margin:4px 0;font-size:.7rem;display:flex}.clock-role input{width:auto}.signal-key{z-index:4;color:var(--color-ink);gap:8px;padding:12px 14px;font-size:.7rem;font-weight:700;display:grid;position:absolute;bottom:96px;left:22px}.signal-key>div{align-items:center;gap:8px;display:flex}.builder-dock{z-index:4;max-width:calc(100% - 44px);box-shadow:var(--shadow-dock);flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 12px;display:flex;position:absolute;bottom:22px;left:50%;translate:-50%}.builder-embedded .builder-dock{width:max-content}.builder-dock .dock-tile{flex-direction:column;gap:3px;padding:6px 8px}.dock-tile .gate-symbol{width:auto;height:26px}.dock-tile-name{color:var(--color-text-on-paper);font-size:10px;font-weight:800;line-height:1}.builder-refusal{z-index:6;background:var(--color-ink);max-width:min(560px,90vw);color:var(--color-paper);border:var(--border-input) solid var(--color-violet-soft);border-radius:var(--radius-control);font-size:var(--text-small);text-align:center;padding:10px 18px;position:absolute;bottom:96px;left:50%;translate:-50%}.part{background:var(--color-paper);border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-card);min-width:84px;color:var(--color-ink);text-align:center;letter-spacing:.02em;padding:14px 20px;font-size:.8rem;font-weight:800;position:relative}.part-input,.part-output{border-radius:var(--radius-pill);background:var(--color-hatch)}.part-chip{border-color:var(--color-violet)}.part-version{color:var(--color-violet);font-size:.65rem;font-weight:700;display:block}.part-width{color:var(--color-text-on-paper);font-size:.65rem;font-weight:500;display:block}.part-box-outline{z-index:-1;top:calc(-1 * var(--border-input));left:calc(-1 * var(--border-input));pointer-events:none;position:absolute}.part-symbol{pointer-events:none;background:0 0;border:0;border-radius:0;min-width:0;padding:0;line-height:0}.stage-gate .gate-symbol{width:17cqw;height:12.1429cqw}.stage-part{animation:.32s ease-out both stage-fade}.stage-rise{animation:.38s ease-out both stage-rise}.stage-arrow{animation:.24s ease-out both stage-fade,1.2s ease-in-out .24s infinite stage-bob}.stage-switch{transition:background-color .2s ease-out}.stage-thumb{transition:left .2s ease-out}.stage-lamp{transition:background-color .26s ease-out,box-shadow .26s ease-out}.stage-lamp-on{animation:1.8s ease-in-out infinite stage-glow}.stage-row{transition:background-color .22s ease-out}.stage-wire>path:first-child{transition:stroke .2s ease-out}.stage-flow{stroke:var(--color-paper);stroke-opacity:.85;stroke-dasharray:0 var(--flow);animation:.7s linear infinite stage-flow}@keyframes stage-fade{0%{opacity:0}}@keyframes stage-rise{0%{opacity:0;transform:translateY(.8cqw)}}@keyframes stage-bob{50%{transform:translateY(.8cqw)}}@keyframes stage-glow{50%{box-shadow:var(--shadow-lamp-bright)}}@keyframes stage-flow{to{stroke-dashoffset:calc(-1 * var(--flow))}}@media (prefers-reduced-motion:reduce){.stage-part,.stage-rise,.stage-arrow,.stage-lamp-on{animation:none}.stage-switch,.stage-thumb,.stage-lamp,.stage-row,.stage-wire>path:first-child{transition:none}.stage-flow{display:none}}[data-clock] .stage-part,[data-clock] .stage-rise,[data-clock] .stage-lamp-on,[data-clock] .stage-flow{animation-play-state:paused;animation-delay:calc(-1 * var(--stage-age,0s))}[data-clock] .stage-arrow{animation-play-state:paused;animation-delay:calc(-1 * var(--stage-age,0s)), calc(.24s - var(--stage-age,0s))}[data-clock] .stage-switch,[data-clock] .stage-thumb,[data-clock] .stage-lamp,[data-clock] .stage-row,[data-clock] .stage-wire>path:first-child{transition:none}.gate-symbol{pointer-events:none;stroke-linejoin:round;stroke-linecap:round;display:block;overflow:visible}.gate-body{fill:var(--gate-paper,var(--color-paper));stroke:var(--gate-ink,var(--color-ink))}.part-symbol .gate-body>*{pointer-events:visiblePainted}.part-symbol .gate-body>.gate-back-curve{pointer-events:none}.gate-clock{stroke:var(--gate-ink,var(--color-ink));stroke-linejoin:round}.part-symbol .pin{pointer-events:all}.gate-leads{stroke:var(--gate-text,var(--color-text-on-paper))}.gate-name,.gate-label{text-anchor:middle;fill:var(--gate-text,var(--color-text-on-paper));font-size:10px;font-weight:800}.display-segment path{fill:none;stroke:var(--signal-ink);stroke-width:1px}.display-segment.signal-1 path{fill:var(--signal-ink);stroke-width:2px}.display-segment.signal-X path{stroke-dasharray:2 2}.display-segment.signal-E path{stroke-width:2px}.display-segment text,.display-pin-name{fill:var(--gate-text,var(--color-text-on-paper));text-anchor:middle;dominant-baseline:central;font-size:8px;font-weight:800}.display-segment.signal-1 text{fill:var(--gate-paper,var(--color-paper))}.display-segment.signal-E text{fill:var(--signal-ink)}.part-outline{fill:none;pointer-events:none}.part-hover{stroke:var(--color-violet);stroke-width:calc(var(--part-stroke) + 14px * var(--part-screen-scale));filter:blur(calc(2px * var(--part-screen-scale)));opacity:0}.react-flow__node:hover .part-hover{opacity:.14}.part-selection,.part-selection-gap{opacity:0}.part-selection{stroke:var(--color-violet);stroke-width:calc(var(--part-stroke) + 10px * var(--part-screen-scale))}.part-selection-gap{stroke:var(--color-paper);stroke-width:calc(var(--part-stroke) + 5px * var(--part-screen-scale))}.part-outline.is-selected :is(.part-selection,.part-selection-gap){opacity:1}@media (forced-colors:active){.part:not(.part-symbol){color:canvastext;background:canvas;border-color:canvastext}.part-version,.part-width{color:canvastext}.gate-body{stroke:canvastext;fill:canvas}.gate-clock,.gate-leads{stroke:canvastext}.gate-name,.gate-label{fill:canvastext}.dock-tile-name{color:canvastext}.part-selection{stroke:highlight}.part-selection-gap{stroke:canvas}.part-hover{stroke:highlight;stroke-width:calc(var(--part-stroke) + 2px * var(--part-screen-scale));filter:none}.react-flow__node:hover .part-hover{opacity:1}}.react-flow__handle.pin{background:var(--color-paper);border:var(--border-input) solid var(--color-text-on-paper);width:12px;height:12px}.react-flow__handle.pin-candidate{border-color:var(--color-violet);box-shadow:var(--shadow-pin-candidate)}.react-flow__handle.pin-source{border-color:var(--color-violet);background:var(--color-violet)}.react-flow__handle.pin-refused{opacity:.3}.react-flow__connection-path{stroke:var(--color-text-on-paper);stroke-width:2px}.signal-hover,.signal-selection{fill:none;stroke:var(--color-violet);vector-effect:non-scaling-stroke;pointer-events:none;opacity:0}.signal-hover{stroke-width:14px;filter:blur(2px)}.signal-edge:hover .signal-hover{opacity:.14}.signal-selection{stroke-width:1.2px}.signal-edge.is-selected .signal-selection{opacity:1}.signal-stroke path{fill:none;stroke:var(--signal-ink);vector-effect:non-scaling-stroke;transition:stroke var(--motion-duration-fast) var(--ease-ui), stroke-width var(--motion-duration-fast) var(--ease-ui);pointer-events:none}.signal-stroke.signal-0 path{stroke-width:1.5px}.signal-stroke.signal-1 path{stroke-width:3.5px}.signal-stroke.signal-X path{stroke-width:2px;stroke-dasharray:6 5}.signal-stroke.signal-E path{stroke-width:1.8px}.signal-badge{border:1.5px solid var(--signal-ink);border-radius:var(--radius-pill);width:22px;height:22px;color:var(--signal-ink);background:var(--color-paper);transition:color var(--motion-duration-fast) var(--ease-ui), background-color var(--motion-duration-fast) var(--ease-ui), border-color var(--motion-duration-fast) var(--ease-ui);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.signal-badge.signal-1{background:var(--signal-ink);color:var(--color-paper)}.signal-badge.signal-X{border-style:dashed}.signal-badge.signal-E{background:var(--signal-ink);color:var(--color-paper);clip-path:polygon(50% 0,100% 100%,0 100%);border:0;border-radius:0;padding-top:6px}@media (prefers-reduced-motion:reduce){.signal-stroke path,.signal-badge{transition:none}}.pin-signal{transform-origin:0;pointer-events:none;position:absolute;top:50%;left:16px}.react-flow__handle-left .pin-signal{transform-origin:100%;left:auto;right:16px}.input-signal,.io-signal{transform-origin:50%;vertical-align:middle;margin-left:12px;display:inline-flex}.input-signal{cursor:pointer;background:0 0;border:0;padding:0}.check-table{font-variant-numeric:tabular-nums;font-size:.75rem;overflow-x:auto}.check-table table{border-collapse:collapse}.check-table th,.check-table td{border-bottom:1px solid var(--color-hatch);color:var(--color-ink);text-align:center;white-space:nowrap;padding:4px 8px}.check-table tr.mismatch :is(th,td){background:var(--color-hatch);font-weight:800}.signal-0{--signal-ink:#8d8799}.signal-1{--signal-ink:#7052cf}.signal-X{--signal-ink:#b4aec0}.signal-E{--signal-ink:#b4413f}.breadboard-workbench{grid-template-rows:auto minmax(0,1fr);grid-template-columns:400px minmax(0,1fr) 48px;gap:14px 18px;padding:0 0 18px 22px;display:grid;position:absolute;inset:64px 0 0}@media (width>=1600px){.breadboard-workbench{grid-template-columns:460px minmax(0,1fr) 48px}}.breadboard-workbench>.breadboard-column{grid-area:2/1}.breadboard-workbench>.breadboard-stage{grid-area:2/2}.builder-with-spine .breadboard-workbench{left:56px}.breadboard-stepper-row{border-bottom:var(--border-input) solid var(--color-hatch);background:#ffffffe0;grid-column:1/-1;align-items:center;gap:12px;min-height:56px;margin:0 0 0 -22px;padding:0 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.breadboard-stepper-row{background:color-mix(in srgb, var(--color-paper) 88%, transparent)}}.breadboard-preview-label{border-radius:var(--radius-tag);color:var(--color-warning);font-size:var(--text-eyebrow);font-weight:var(--text-eyebrow--font-weight);letter-spacing:var(--text-eyebrow--letter-spacing);text-transform:uppercase;text-underline-offset:4px;background:0 0;border:0;flex:none;margin-left:auto;padding:4px 6px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.breadboard-completed{color:var(--color-success);font-size:var(--text-small);flex:none;margin:0 0 0 auto;font-weight:800}.breadboard-stepper ol{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.breadboard-step{border:var(--border-input) solid transparent;border-radius:var(--radius-pill);color:var(--color-text-on-paper);font-size:var(--text-small);background:0 0;align-items:center;gap:7px;padding:5px 11px;font-weight:800;display:inline-flex}.breadboard-step[aria-current=step]{border-color:var(--color-ink);background:var(--color-paper);box-shadow:var(--shadow-button);color:var(--color-ink)}.breadboard-step[aria-disabled=true]{opacity:.6;cursor:default}.breadboard-step-number{border:var(--border-input) solid var(--color-hatch);border-radius:var(--radius-pill);flex:none;place-items:center;width:22px;height:22px;font-size:.7rem;display:grid}.breadboard-step[aria-current=step] .breadboard-step-number{border-color:var(--color-ink)}.breadboard-step-done{color:var(--color-success)}.breadboard-step-todo{border-radius:var(--radius-pill);background:var(--color-violet);width:8px;height:8px}.breadboard-step-lock{color:var(--color-text-on-paper);flex:none}.breadboard-column{background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);min-height:0;box-shadow:var(--shadow-card);color:var(--color-text-on-paper);font-size:var(--text-small);grid-template-rows:minmax(0,1fr) auto;display:grid}.breadboard-column-scroll{align-content:start;gap:10px;min-height:0;padding:16px 20px;display:grid;overflow-y:auto}.breadboard-column h2{color:var(--color-ink);margin:0;font-size:1.3rem;font-weight:800}.breadboard-column h2:focus{outline:none}.breadboard-column-head{align-items:center;gap:8px;display:flex}.breadboard-rail-button.breadboard-column-fold{flex:none;margin-left:auto;display:none}.breadboard-column-footer{border-top:var(--border-input) solid var(--color-hatch);justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;display:flex}.breadboard-column-why{text-align:right;font-weight:700}.builder:has(.breadboard-workbench) .builder-notices{top:134px}.breadboard-more{color:var(--color-violet);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.breadboard-rail{border-left:var(--border-input) solid var(--color-hatch);background:#ffffffe0;grid-area:2/3;align-content:start;justify-items:center;gap:14px;margin:-14px 0 -18px;padding-top:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.breadboard-rail{background:color-mix(in srgb, var(--color-paper) 88%, transparent)}}.breadboard-rail-button,.flyout-close{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);width:34px;height:34px;color:var(--color-ink);place-items:center;font-weight:800;display:grid;position:relative}.breadboard-rail-button[aria-expanded=true]{background:var(--color-highlight);box-shadow:var(--shadow-avatar)}.breadboard-rail-badge{border-radius:var(--radius-pill);background:var(--color-text-on-paper);min-width:20px;height:20px;color:var(--color-paper);text-align:center;padding:0 5px;font-size:.7rem;line-height:20px;position:absolute;top:-8px;right:-8px}.breadboard-rail-badge[data-fault=true]{background:var(--color-danger)}.breadboard-drawer{z-index:20;background:var(--color-paper);border-left:var(--border-rule) solid var(--color-ink);width:min(360px,100% - 48px);min-height:0;box-shadow:var(--shadow-drawer);color:var(--color-text-on-paper);font-size:var(--text-small);grid-area:2/2;justify-self:end;margin:-14px -18px -18px 0;padding:18px 20px;position:relative;overflow-y:auto}.breadboard-drawer-notice{color:var(--color-warning);font-weight:700}.flyout{align-content:start;gap:10px;display:grid}.flyout-header{align-items:center;gap:12px;margin-bottom:4px;display:flex}.flyout-header h2{color:var(--color-ink);margin:0;font-size:1.2rem;font-weight:800}.flyout-header h2:focus{outline:none}.flyout-close{margin-left:auto}.breadboard-pinned{top:var(--bb-inset-y);right:var(--bb-inset-x);z-index:3;width:min(300px,100% - 12px);max-height:calc(100% - 2 * var(--bb-inset-y));background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:var(--color-text-on-paper);font-size:var(--text-small);gap:6px;padding:8px 12px;display:grid;position:absolute;overflow-y:auto}.breadboard-pinned-header{align-items:center;gap:6px;display:flex}.breadboard-pinned-header h2{color:var(--color-ink);margin:0 auto 0 0;font-size:1rem;font-weight:800}.breadboard-live,.breadboard-help{gap:6px;margin:0;padding-left:18px;list-style:outside;display:grid}.breadboard-live [data-fault=true]{color:var(--color-danger);font-weight:700}.breadboard-connections{gap:6px;display:grid}.breadboard-connections h3{color:var(--color-ink);margin:0;font-weight:800}.breadboard-connections dl{gap:4px;margin:0;display:grid}.breadboard-connections dt{font-weight:700}.breadboard-connections dd{margin:0 0 0 12px}.breadboard-stage{grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-height:0;display:grid}.breadboard-bench-top{gap:8px;min-width:0;display:grid}.breadboard-readings{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.breadboard-reading{background:var(--color-paper);border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-pill);font-size:var(--text-small);align-items:center;gap:8px;padding:6px 12px;font-weight:700;display:flex}.breadboard-reading strong{text-align:center;min-width:2.2em;color:var(--color-ink);font-size:1rem}.breadboard-board{--bb-inset-x:calc((100cqw - min(100cqw, 100cqh * var(--bb-aspect))) / 2 + 6px);--bb-inset-y:calc((100cqh - min(100cqh, 100cqw / var(--bb-aspect))) / 2 + 6px);grid-template:minmax(0,1fr)/minmax(0,1fr);min-height:0;display:grid;position:relative;container-type:size}.breadboard-board:focus-visible{outline:2px solid var(--surface-focus);outline-offset:-2px}.builder>.skip-link{z-index:30}.breadboard-repair-tag{top:var(--bb-inset-y);left:var(--bb-inset-x);z-index:2;border-radius:var(--radius-tag);background:var(--color-warning);color:var(--color-paper);font-size:var(--text-eyebrow);font-weight:var(--text-eyebrow--font-weight);letter-spacing:var(--text-eyebrow--letter-spacing);text-transform:uppercase;pointer-events:none;padding:4px 10px;position:absolute}.breadboard-say{z-index:2;pointer-events:none;justify-content:center;margin:0;display:flex;position:absolute;bottom:4px;left:8px;right:8px}.breadboard-say-pill{border:var(--border-input) solid var(--color-hatch);border-radius:var(--radius-pill);background:#fffffff2;min-width:0;padding:4px 14px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.breadboard-say-pill{background:color-mix(in srgb, var(--color-paper) 95%, transparent)}}.breadboard-say-pill{color:var(--color-ink);font-size:var(--text-small);text-align:center;font-weight:700;line-height:1.3}.breadboard-say-refused{border-color:var(--color-danger);color:var(--color-danger)}.breadboard-edit-part{flex:none;gap:8px;display:flex}.breadboard-bottom{background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-dock);gap:6px;padding:6px 10px;display:grid;position:relative}.breadboard-tray{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.breadboard-bottom-row{border-top:var(--border-input) solid var(--color-hatch);align-items:center;gap:12px;min-width:0;padding-top:6px;display:flex}.breadboard-result{min-width:0;height:2.7em;color:var(--color-text-on-paper);font-size:var(--text-small);flex:1;align-items:center;gap:8px;line-height:1.35;display:flex}.breadboard-result-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.breadboard-result strong[data-passed=true]{color:var(--color-success)}.breadboard-result strong[data-passed=false]{color:var(--color-danger)}.breadboard-result-notice{color:var(--color-warning);font-weight:700}.breadboard-stale{border:var(--border-input) solid var(--color-warning);border-radius:var(--radius-tag);color:var(--color-warning);font-size:var(--text-eyebrow);font-weight:var(--text-eyebrow--font-weight);letter-spacing:var(--text-eyebrow--letter-spacing);text-transform:uppercase;margin-right:6px;padding:0 6px;display:inline-block}.breadboard-details-link{color:var(--color-violet);font:inherit;text-underline-offset:3px;background:0 0;border:0;flex:none;padding:0;font-weight:800;text-decoration:underline}.breadboard-verified{border:var(--border-input) solid var(--color-success);border-radius:var(--radius-pill);background:#edf3ef;flex:none;padding:4px 10px}@supports (color:color-mix(in lab, red, red)){.breadboard-verified{background:color-mix(in srgb, var(--color-success) 8%, var(--color-paper))}}.breadboard-verified{color:var(--color-success);font-size:var(--text-small);white-space:nowrap;font-weight:800}.breadboard-details{z-index:25;background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);width:min(400px,100% - 84px);max-height:min(340px,50vh);box-shadow:var(--shadow-card);color:var(--color-text-on-paper);font-size:var(--text-small);padding:14px 16px;position:absolute;bottom:calc(100% + 8px);left:72px;overflow-y:auto}.breadboard-tray-item{border:var(--border-input) solid var(--color-hatch);border-radius:var(--radius-control);background:var(--color-paper);width:80px;color:var(--color-ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;justify-items:center;gap:2px;padding:4px;font-size:.68rem;font-weight:700;line-height:1.15;display:grid}.breadboard-tray-item:hover:not([aria-disabled=true]){border-color:var(--color-violet)}.breadboard-tray-item[aria-disabled=true]{opacity:.4;cursor:default}.breadboard-tray-count{color:var(--color-text-on-paper)}.bb-picture{width:36px;height:36px}.breadboard-verdict{border-collapse:collapse;width:100%;font-size:var(--text-small)}.breadboard-verdict :is(th,td){white-space:nowrap;border-bottom:1px solid var(--color-hatch);text-align:left;padding:4px 6px}.breadboard-verdict td.breadboard-miss{background:var(--color-hatch);color:var(--color-danger);font-weight:800}.bb-board{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:0;display:block}.bb-base{fill:var(--bb-board);stroke:var(--color-ink);stroke-width:3px}.bb-gap{fill:var(--bb-gap)}.bb-strip{fill:var(--bb-strip)}.bb-label{fill:var(--color-text-on-paper);font-size:11px;font-weight:700}.bb-rail{fill:var(--bb-rail);opacity:.12}.bb-rail-line{stroke:var(--bb-rail);stroke-width:3px;stroke-linecap:round}.bb-rail-sign{fill:var(--bb-rail);font-size:18px;font-weight:800}.bb-rail-name{fill:var(--bb-rail);letter-spacing:.06em;font-size:11px;font-weight:800}.bb-hole{fill:var(--bb-hole);stroke:#0000;stroke-width:8px;cursor:crosshair}.bb-hole:hover{fill:var(--color-violet)}.bb-hole-used{opacity:0}.bb-ghost{opacity:.55;pointer-events:none}.bb-refused{fill:none;stroke:var(--color-danger);stroke-width:3px;pointer-events:none}.bb-selected{fill:none;stroke:var(--color-violet);stroke-width:3px;stroke-dasharray:6 4;pointer-events:none}.bb-linked,.bb-selected-hole{fill:none;stroke:var(--color-violet);stroke-width:3px;pointer-events:none}.bb-selected-hole{stroke-dasharray:4 3}.bb-board [data-linked] .bb-body,.bb-board [data-linked] .bb-led-bulb,.bb-board [data-linked] .bb-resistor-body,.bb-board [data-linked] .bb-wire-end{stroke:var(--color-violet);stroke-width:3px}.bb-npn,.bb-led,.bb-resistor,.bb-button{cursor:pointer}.bb-body{fill:var(--bb-body)}.bb-part-name{fill:var(--color-ink);stroke:var(--bb-board);stroke-width:4px;paint-order:stroke;pointer-events:none;font-size:11px;font-weight:800}.bb-leg circle{fill:var(--bb-leg-tone);stroke:var(--color-paper);stroke-width:2px}.bb-leg text{fill:var(--color-paper);pointer-events:none;font-size:11px;font-weight:800}.bb-resistor .bb-leg,.bb-resistor-lead,.bb-wire-line,.bb-wire-end,.bb-wire-selected{pointer-events:none}.bb-resistor-lead{stroke:var(--bb-lead);stroke-width:4px;stroke-linecap:round}.bb-resistor-body{fill:var(--bb-resistor);stroke:var(--color-ink);stroke-width:2px}.bb-wire-hit{fill:none;stroke:#0000;stroke-width:18px;cursor:pointer}.bb-wire-line{fill:none;stroke:var(--bb-wire);stroke-width:7px;stroke-linecap:round}.bb-wire-end{fill:var(--bb-wire);stroke:var(--color-paper);stroke-width:2px}.bb-wire-selected{fill:none;stroke:var(--color-highlight);stroke-width:15px;stroke-linecap:round}.bb-led-bulb{fill:var(--bb-led-dark);stroke:var(--color-ink);stroke-width:2px}.bb-led-on .bb-led-bulb{fill:var(--bb-led-lit)}.bb-led-unknown .bb-led-bulb,.bb-led-fault .bb-led-bulb{fill:var(--color-hatch)}.bb-led-glow{fill:var(--bb-led-lit);opacity:.35;pointer-events:none}.bb-led-mark{fill:var(--color-ink);pointer-events:none;font-size:20px;font-weight:800}.bb-side-1,.bb-side-2{stroke:var(--bb-leg-tone);stroke-width:4px;stroke-linecap:round}.bb-cap{fill:var(--bb-cap);stroke:var(--color-ink);stroke-width:2px;cursor:pointer}.bb-button-pressed .bb-cap{fill:var(--bb-cap-down)}.bb-board,.bb-picture{--bb-board:#fbf8f1;--bb-gap:#ece6d6;--bb-strip:#f3eefc;--bb-hole:#5c566a;--bb-body:#26232d;--bb-lead:#8d879c;--bb-resistor:#e8c88f;--bb-led-dark:#8f2a24;--bb-led-lit:#ff3b30;--bb-cap:#f0b429;--bb-cap-down:#c48a12;--bb-leg-tone:#8d879c}.bb-rail-plus,.bb-leg-anode{--bb-rail:#d23f31;--bb-leg-tone:#d23f31}.bb-rail-minus,.bb-leg-cathode{--bb-rail:#2f6fde;--bb-leg-tone:#2f6fde}.bb-leg-E{--bb-leg-tone:#2f6fde}.bb-leg-B{--bb-leg-tone:#8a4fd8}.bb-leg-C,.bb-side-1,.bb-leg-side-1{--bb-leg-tone:#e07b1a}.bb-side-2,.bb-leg-side-2{--bb-leg-tone:#1f9d55}.bb-band-1{fill:#7a4a1f}.bb-band-2{fill:#111014}.bb-band-3{fill:#c9a227}.bb-wire-0{--bb-wire:#2f6fde}.bb-wire-1{--bb-wire:#1f9d55}.bb-wire-2{--bb-wire:#e07b1a}.bb-wire-3{--bb-wire:#8a4fd8}.bb-wire-4{--bb-wire:#d6336c}.bb-wire-5{--bb-wire:#0f8b8d}.bb-wire-6{--bb-wire:#6b4f2a}.bb-wire-7{--bb-wire:#4a4658}.breadboard-strip,.breadboard-instruction{display:none}.breadboard-strip{background:var(--color-paper);border:var(--border-rule) solid var(--color-ink);border-radius:var(--radius-card);width:48px;min-height:0;box-shadow:var(--shadow-dock);grid-area:2/1;align-content:start;justify-items:center;gap:12px;padding:8px 0}.breadboard-strip-number{color:var(--color-ink);justify-items:center;margin:0;font-weight:800;line-height:1.1;display:grid}.breadboard-strip-number small{color:var(--color-text-on-paper);font-size:.65rem}.breadboard-strip-questions{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-highlight);color:var(--color-ink);font-size:var(--text-small);writing-mode:vertical-rl;padding:10px 4px;font-weight:800;position:relative;transform:rotate(180deg)}.breadboard-strip-questions .breadboard-rail-badge{background:var(--color-violet);writing-mode:horizontal-tb;top:auto;bottom:-10px;transform:rotate(180deg)}.breadboard-instruction{background:var(--color-paper);border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);min-width:0;color:var(--color-ink);font-size:var(--text-small);align-items:baseline;gap:8px;padding:6px 12px}.breadboard-instruction b{flex:none;font-weight:800}.breadboard-instruction .reading{min-width:0;font-size:inherit;line-height:1.4}.breadboard-instruction .reading>*{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.breadboard-embedded-bench{grid-template:minmax(0,1fr)/auto minmax(0,1fr);gap:18px;padding:14px 22px 18px;display:grid;position:absolute;inset:64px 0 0}.breadboard-embedded-bench>.breadboard-board{grid-area:1/2}.breadboard-embedded-bench>.breadboard-bottom{grid-area:1/1;align-self:center;max-height:100%;overflow-y:auto}.breadboard-embedded-bench .breadboard-tray{grid-template-columns:repeat(2,auto);display:grid}.breadboard-embedded-bench .breadboard-bottom-row{flex-wrap:wrap}@media not all and (width>=1000px){.breadboard-embedded-bench{grid-template:minmax(0,1fr) auto/minmax(0,1fr)}.breadboard-embedded-bench>.breadboard-board{grid-area:1/1}.breadboard-embedded-bench>.breadboard-bottom{grid-area:2/1;align-self:stretch}.breadboard-embedded-bench .breadboard-tray{display:flex}}@media not all and (width>=1180px){.breadboard-workbench{grid-template-columns:auto minmax(0,1fr) 48px}.breadboard-workbench>.breadboard-column{width:360px}.breadboard-strip,.breadboard-rail-button.breadboard-column-fold{display:grid}.breadboard-instruction{display:flex}.breadboard-column[data-open=false],.breadboard-strip[data-open=true],.breadboard-step:not([aria-current=step]) .breadboard-step-name{display:none}.breadboard-reading{padding:4px 10px}.breadboard-tray-item{width:72px}}@media not all and (width>=900px){.breadboard-workbench{grid-template-rows:auto auto minmax(0,1fr) auto;row-gap:8px}.breadboard-workbench>.breadboard-stage{display:contents}.breadboard-bench-top{grid-area:2/2;margin-top:6px}.breadboard-board{grid-area:3/2}.breadboard-bottom{grid-area:4/2}.breadboard-strip,.breadboard-rail,.breadboard-drawer{grid-row:2/-1}.breadboard-rail,.breadboard-drawer{margin-top:-8px}.breadboard-strip[data-open=true]{display:grid}.breadboard-workbench>.breadboard-column{z-index:21;grid-area:3/2/5;justify-self:start;width:min(360px,100%);position:relative}}.lesson-chat-orb{isolation:isolate;border:2px solid var(--color-paper);border-radius:var(--radius-pill);background:radial-gradient(circle at 25% 20%, var(--color-paper), var(--color-ai-cyan) 28%, var(--color-ai-blue) 62%, var(--color-violet) 90%);flex-shrink:0;place-items:center;width:60px;height:60px;display:inline-grid;position:relative;overflow:hidden}.lesson-chat-orb:before{content:"";z-index:-1;background:conic-gradient(from 20deg, transparent, var(--color-ai-cyan), var(--color-ai-rose), var(--color-ai-lime), var(--color-violet-soft), transparent);filter:blur(9px);opacity:.8;animation:16s linear infinite lesson-chat-flow;position:absolute;inset:-35%}.lesson-chat-orb:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 25% 10%,#fffc,#0000 45%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.lesson-chat-orb:after{background:radial-gradient(circle at 25% 10%, color-mix(in srgb, var(--color-paper) 80%, transparent), transparent 45%)}}.lesson-chat-orb svg{z-index:1;width:30px;height:30px;position:relative}.lesson-chat-mark-l{fill:var(--color-ink)}.lesson-chat-mark-dot{fill:var(--color-violet)}@keyframes lesson-chat-flow{to{transform:rotate(360deg)}}.lesson-chat-launcher{cursor:pointer;outline:1px solid #7052cf40}@supports (color:color-mix(in lab, red, red)){.lesson-chat-launcher{outline:1px solid color-mix(in srgb, var(--color-violet) 25%, transparent)}}.lesson-chat-launcher{outline-offset:2px;transition:transform var(--motion-duration-enter) var(--ease-ui)}.lesson-chat-launcher:hover{transform:scale(1.06)}.lesson-chat-launcher:focus-visible{outline:3px solid var(--color-violet-soft);outline-offset:4px}.lesson-chat-launcher[data-replying]:before{animation-duration:3s}.lesson-chat-orb-small{border:0;width:42px;height:42px}.lesson-chat-orb-small svg{width:23px;height:23px}.lesson-chat-orb-welcome{width:76px;height:76px}.lesson-chat-orb-welcome svg{width:39px;height:39px}@media (prefers-reduced-motion:reduce){.lesson-chat-orb:before{animation:none}.lesson-chat-launcher{transition:none}.lesson-chat-launcher:hover{transform:none}}.lesson-chat-notices{border-bottom:1px solid var(--color-hatch);flex-shrink:0;gap:6px;padding-bottom:10px;font-size:12px;display:grid}.lesson-chat-about summary{width:fit-content;color:var(--color-ink);cursor:pointer;font-weight:700}.lesson-chat-about p{margin-top:4px}.lesson-chat-quota{color:var(--color-ink);font-weight:700}.lesson-chat-messages{overscroll-behavior:contain;flex-direction:column;flex:1;gap:20px;min-height:80px;padding:14px 4px;display:flex;overflow-y:auto}.lesson-chat-empty{text-align:center;width:100%;max-width:600px;margin:auto}.lesson-chat-empty h3{letter-spacing:-.03em;color:var(--color-ink);margin-top:18px;font-size:clamp(28px,4vw,36px);font-weight:800;line-height:1.3}.lesson-chat-empty p{max-width:470px;margin:12px auto;font-size:15px}.lesson-chat-small,.lesson-chat-empty .lesson-chat-small{font-size:12px}.lesson-chat-message{max-width:820px;font-size:15px}.lesson-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.lesson-chat-learner{border-radius:var(--radius-control);background:var(--color-hatch);max-width:70%;color:var(--color-ink);align-self:flex-end;padding:14px 18px}.lesson-chat-byline{color:var(--color-ink);font-weight:800}.lesson-chat-message .lesson-chat-source{font-size:11px}.lesson-chat-markers{border-left:3px solid var(--color-warning);padding:4px 0 4px 10px}.lesson-chat-markers p{margin:2px 0}.lesson-chat-markers p:not(:last-child){color:var(--color-ink);font-weight:700}.lesson-chat-ending{color:var(--color-warning);justify-items:start;gap:6px;font-size:12px;font-weight:700;display:grid}.lesson-chat-composer{border-top:var(--border-input) solid var(--color-hatch);flex-shrink:0;padding-top:16px}.lesson-chat-suggestions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.lesson-chat-suggestions button{border:1px solid var(--color-violet);border-radius:var(--radius-control);color:var(--color-violet);text-align:left;padding:7px 10px;font-size:12px;font-weight:700}.lesson-chat-suggestions button:disabled{opacity:.5}.lesson-chat-composer form{gap:8px;display:grid;position:relative}.lesson-chat-composer label{color:var(--color-ink);font-size:12px;font-weight:800}.lesson-chat-composer textarea{border:var(--border-input) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-paper);width:100%;min-height:76px;max-height:150px;font:inherit;color:var(--color-ink);resize:none;padding:10px 100px 10px 10px;font-size:16px}.lesson-chat-send-row{justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.lesson-chat-send-row button{position:absolute;top:49px;right:10px}@media (width<=900px){.lesson-chat{width:calc(100vw - 32px);height:calc(100dvh - 32px);padding:20px}}@media (width<=600px){.lesson-chat{border:0;border-radius:0;width:100%;height:100dvh;padding:16px;inset:0;translate:none}.lesson-chat-title{font-size:22px}.lesson-chat-empty h3{margin-top:12px;font-size:27px}.lesson-chat-empty p{font-size:13px}.lesson-chat-orb-welcome{width:60px;height:60px}.lesson-chat-composer{padding-bottom:env(safe-area-inset-bottom)}.lesson-chat-composer textarea{padding-right:80px}}.learning-page{background:var(--surface-bg);min-height:100vh;color:var(--surface-text)}.learning-frame{max-width:1184px;margin:auto;padding:0 32px 80px}.learning-page header nav a{align-items:center;min-height:44px;display:inline-flex}.learning-page header nav a[aria-current=page]{border-color:var(--color-learning-blue)}.learning-content{min-width:0;padding-top:32px}.learning-welcome{margin-bottom:40px}.learning-welcome h1{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(2rem,4vw,2.5rem);font-weight:800;line-height:1.25}.learning-welcome p:not(.learning-eyebrow){color:var(--surface-text);margin-top:12px}.learning-welcome .learning-eyebrow{color:var(--surface-text)}.learning-content>.learning-text-action{color:var(--surface-link)}.learning-eyebrow{color:var(--color-learning-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:700}.learning-section-heading{margin-bottom:20px;font-size:22px;font-weight:750;line-height:1.4}.learning-journey,.learning-card,.learning-empty{--surface-bg:var(--color-paper);--surface-text:var(--color-learning-ink);--surface-heading:var(--color-learning-ink);--surface-link:var(--color-learning-blue);--surface-focus:var(--color-learning-blue);--surface-rule:var(--color-learning-rule);color:var(--surface-text);background:var(--surface-bg);border:1px solid var(--color-learning-rule);border-radius:var(--radius-learning);box-shadow:var(--shadow-learning)}.learning-journey{min-width:0;padding:28px 32px}.learning-course-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.learning-course-heading h2{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(1.5rem,3vw,1.75rem);font-weight:800;line-height:1.3}.learning-course-heading .learning-meta{flex-shrink:0}.learning-meta{color:var(--color-learning-muted);font-size:14px}.learning-module{margin-top:24px;scroll-margin-top:24px}.learning-module-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-module-heading h3{overflow-wrap:anywhere;font-size:16px;font-weight:700}.learning-module-heading nav{flex-shrink:0;align-items:center;gap:12px;font-size:14px;display:flex}.learning-module-heading nav a,.learning-module-heading nav span[aria-disabled]{align-items:center;min-height:44px;padding:8px;display:inline-flex}.learning-module-heading nav a{color:var(--color-learning-blue);font-weight:700}.learning-module-heading nav span[aria-disabled]{color:var(--color-learning-muted);opacity:.65}.learning-journey-window{min-width:0;position:relative}.learning-journey-window:after{content:"";pointer-events:none;background:linear-gradient(to right, transparent, var(--color-paper));width:20px;position:absolute;top:0;bottom:0;right:0}.learning-journey-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--color-learning-rule) var(--color-paper);position:relative;overflow-x:auto}.learning-nodes{width:max-content;min-width:100%;padding:140px 12px 20px;list-style:none;display:flex}.learning-node{text-align:center;flex:1 0 160px;width:160px;position:relative}.learning-node:after{content:"";background:var(--color-learning-rule);width:calc(100% - 48px);height:3px;position:absolute;top:23px;left:calc(50% + 24px)}.learning-node:last-child:after{display:none}.learning-node[data-state=completed]:after{background:var(--color-learning-green)}.learning-node a{border-radius:var(--radius-control);flex-direction:column;align-items:center;padding:0 10px 10px;display:flex}.learning-node-mark{border-radius:var(--radius-pill);border:2px solid var(--color-learning-rule);width:48px;height:48px;color:var(--color-learning-muted);background:var(--color-learning-bg);justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.learning-node-mark svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:20px;height:20px}.learning-node[data-state=completed] .learning-node-mark{color:var(--color-paper);border-color:var(--color-learning-green);background:var(--color-learning-green)}.learning-node a[aria-current=step] .learning-node-mark{color:var(--color-paper);border-color:var(--color-learning-blue);background:var(--color-learning-blue);outline:6px solid var(--color-learning-blue-soft)}.learning-node-title{overflow-wrap:anywhere;max-width:100%;margin-top:14px;font-size:15px;font-weight:750;line-height:1.5}.learning-node-status{color:var(--color-learning-muted);margin-top:5px;font-size:12px}.learning-node a[aria-current=step] .learning-node-status{color:var(--color-learning-blue);font-weight:750}.learning-node a:hover .learning-node-title{text-underline-offset:4px;text-decoration:underline}.learning-continue{justify-content:flex-end;margin-top:20px;display:flex}.learning-button{background:var(--color-learning-blue);min-height:48px;color:var(--color-paper);border-radius:var(--radius-pill);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;gap:16px;padding:12px 22px;font-size:15px;font-weight:750;display:inline-flex}.learning-button:hover{background:var(--color-learning-ink)}.learning-courses{margin-top:44px}.learning-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.learning-card{flex-direction:column;min-width:0;transition:transform .16s,box-shadow .16s;display:flex;overflow:hidden}.learning-card:hover{box-shadow:var(--shadow-learning-hover);transform:translateY(-3px)}.learning-card-select{display:block}.learning-card-select:focus-visible{outline-offset:-4px}.learning-card-select h3{letter-spacing:-.025em;overflow-wrap:anywhere;padding:22px 22px 0;font-size:19px;font-weight:800;line-height:1.45}.learning-cover{aspect-ratio:16/9;background:var(--color-learning-art);overflow:hidden}.learning-cover img,.learning-cover-fallback{object-fit:cover;object-position:center;width:100%;height:100%}.cover-shadow{fill:var(--color-learning-rule)}.cover-orbit{fill:var(--color-learning-bg)}.cover-book{fill:var(--color-paper);stroke:var(--color-learning-rule);stroke-width:3px}.cover-lines{fill:none;stroke:var(--color-learning-blue);stroke-width:4px;stroke-linecap:round}.cover-spark{fill:var(--color-learning-blue)}.learning-card-body{flex-direction:column;flex:1;padding:12px 22px 18px;display:flex}.learning-card-next{overflow-wrap:anywhere;color:var(--color-learning-muted);margin-bottom:12px;font-size:14px;line-height:1.5}.learning-card-body .learning-meta{margin-top:auto}.learning-card progress{appearance:none;border-radius:var(--radius-pill);background:var(--color-learning-rule);width:100%;height:5px;color:var(--color-learning-green);border:0;margin:12px 0 8px;overflow:hidden}.learning-card progress::-webkit-progress-bar{background:var(--color-learning-rule)}.learning-card progress::-webkit-progress-value{background:var(--color-learning-green)}.learning-card progress::-moz-progress-bar{background:var(--color-learning-green)}.learning-text-action{min-height:44px;color:var(--color-learning-blue);align-items:center;gap:8px;font-size:14px;font-weight:750;display:inline-flex}.learning-text-action:hover{text-underline-offset:4px;text-decoration:underline}.learning-browse-card{text-align:center;justify-content:center;align-items:center;gap:18px;min-height:315px;padding:32px 24px;font-size:19px;font-weight:750}.learning-plus{border-radius:var(--radius-pill);background:var(--color-learning-blue-soft);width:66px;height:66px;color:var(--color-learning-blue);justify-content:center;align-items:center;display:flex}.learning-plus svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:28px;height:28px}.learning-browse-card .learning-meta{max-width:180px;font-weight:400;line-height:1.7}.learning-celebration{background:var(--color-learning-green-soft);border-radius:var(--radius-card);gap:20px;margin-top:24px;padding:24px;display:flex}.learning-celebration>span{color:var(--color-learning-green);font-size:36px}.learning-celebration h3{margin-bottom:8px;font-size:22px;font-weight:800}.learning-celebration p{max-width:600px;font-size:15px;line-height:1.7}.learning-actions{flex-wrap:wrap;gap:12px 24px;margin-top:20px;display:flex}.learning-empty{padding:40px}.learning-empty h2{margin-bottom:12px;font-size:24px;font-weight:750}.learning-module-empty{color:var(--color-learning-muted);padding:40px 0}.learning-loading{color:var(--surface-text);margin-bottom:16px}.learning-companion{pointer-events:none;width:108px;height:117px;position:absolute;top:-125px;left:calc(50% - 54px)}.companion-shadow{fill:var(--color-learning-rule)}.companion-pose{transform-origin:60px 115px;animation:4s ease-in-out infinite learning-bob}.companion-bulb{fill:var(--color-highlight);stroke:var(--color-violet);stroke-width:2.5px}.companion-cheek{fill:var(--color-violet-soft)}.companion-base{fill:var(--color-violet)}.companion-outline{fill:none;stroke:var(--color-violet);stroke-width:4px;stroke-linecap:round}.companion-shine{fill:none;stroke:var(--color-paper);stroke-width:3px;stroke-linecap:round}.companion-wave{transform-origin:84px 75px;animation:8s ease-in-out infinite learning-wave}.companion-rays{animation:4s ease-in-out infinite learning-spark}.companion-eyes{fill:var(--color-learning-ink);transform-origin:60px 51px;animation:7s infinite learning-blink}.companion-smile{fill:none;stroke:var(--color-learning-ink);stroke-width:2px;stroke-linecap:round}@keyframes learning-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-4px)rotate(2deg)}}@keyframes learning-wave{0%,65%,85%,to{transform:rotate(0)}70%,80%{transform:rotate(14deg)}75%{transform:rotate(-10deg)}}@keyframes learning-spark{0%,to{opacity:.45}50%{opacity:1}}@keyframes learning-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.1)}}@media not all and (width>=1000px){.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.learning-frame{padding:0 20px 48px}.learning-content{padding-top:24px}.learning-welcome{margin-bottom:28px}.learning-grid{grid-template-columns:minmax(0,1fr);gap:20px}.learning-journey{padding:20px 16px}.learning-module-heading nav{margin-left:auto}.learning-continue .learning-button{width:100%}.learning-celebration{gap:12px;padding:18px}.learning-node{flex-basis:144px;width:144px}.learning-section-heading{font-size:20px}.learning-empty{padding:24px}}@media (prefers-reduced-motion:reduce){.companion-pose,.companion-eyes,.companion-wave,.companion-rays{animation:none}.learning-card{transition:none}.learning-card:hover{transform:none}.learning-journey-scroll{scroll-behavior:auto}}.parent-shell{background:var(--color-ink);grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.parent-rail{background:var(--color-ink);border-right:1px solid var(--color-rule-on-ink);flex-direction:column;align-self:start;gap:4px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.parent-rail-logo{padding:0 12px 28px}.parent-rail-spacer{flex:1}.parent-rail-end{border-top:1px solid var(--color-rule-on-ink);margin-top:12px;padding-top:12px}.parent-tab{border-radius:var(--radius-control);width:100%;color:var(--color-text-on-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--ease-ui), color var(--motion-duration-fast) var(--ease-ui), transform var(--motion-duration-fast) var(--ease-ui);background:0 0;border:0;align-items:center;gap:12px;padding:11px 12px;font-size:15px;font-weight:600;display:flex}.parent-tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.parent-tab:hover{background:var(--color-parent-rail-hover);color:var(--color-paper)}.parent-tab:active{transform:scale(.98)}.parent-tab:focus-visible{outline:3px solid var(--color-paper);outline-offset:2px}.parent-tab[aria-current=page]{background:var(--color-paper);color:var(--color-ink)}.parent-tab[aria-current=page] svg{stroke:var(--color-violet)}.parent-soon{border-radius:var(--radius-pill);background:var(--color-rule-on-ink);color:var(--color-text-on-ink);margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.parent-tab[aria-current=page] .parent-soon{background:var(--color-hatch);color:var(--color-text-on-paper)}.parent-main{min-width:0}.parent-button{border-radius:var(--radius-control);font:inherit;text-align:center;cursor:pointer;transition:transform var(--motion-duration-fast) var(--ease-ui), background-color var(--motion-duration-fast) var(--ease-ui), border-color var(--motion-duration-fast) var(--ease-ui), box-shadow var(--motion-duration-fast) var(--ease-ui);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:700;display:inline-flex}.parent-button:active{transform:scale(.97)}.parent-button:disabled{opacity:.5;cursor:default;transform:none}.parent-button-primary{border-radius:var(--radius-pill);background:var(--color-learning-blue);color:var(--color-paper)}.parent-button-primary:hover:not(:disabled){background:var(--color-ai-blue);transform:translateY(-1px)}.parent-button-quiet{border-color:var(--color-parent-line);color:var(--color-ink);background:0 0}.parent-button-quiet:hover:not(:disabled){border-color:var(--color-violet);background:var(--color-parent-wash)}.parent-button-solid{background:var(--color-ink);color:var(--color-paper)}.parent-button-solid:hover:not(:disabled){background:var(--color-violet)}.parent-button-danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.parent-button-danger:hover:not(:disabled){background:var(--color-danger);color:var(--color-paper)}.parent-home{max-width:1040px;margin:0 auto;padding:48px 32px 72px}.parent-home :focus-visible{outline:3px solid var(--color-paper);outline-offset:3px}.parent-eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.parent-home-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:36px;display:flex}.parent-home-head .parent-eyebrow{color:var(--color-text-on-ink)}.parent-home-head h1{color:var(--color-paper);letter-spacing:-.035em;margin-top:6px;font-size:clamp(32px,5vw,40px);font-weight:800;line-height:1.15}.parent-notices{gap:12px;margin-bottom:28px;display:grid}.parent-cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;display:grid}.parent-card{--surface-bg:var(--color-paper);--surface-text:var(--color-learning-ink);--surface-heading:var(--color-learning-ink);--surface-link:var(--color-learning-blue);--surface-focus:var(--color-learning-blue);--surface-rule:var(--color-learning-rule);border-radius:var(--radius-learning);background:var(--color-paper);width:100%;color:var(--color-learning-ink);text-align:left;transition:transform .15s var(--ease-ui), box-shadow .15s var(--ease-ui);border:0;flex-direction:column;display:flex;overflow:hidden}a.parent-card:hover{box-shadow:var(--shadow-parent-card-hover);transform:translateY(-3px)}a.parent-card:active{box-shadow:var(--shadow-parent-card-press);transform:translateY(0)scale(.99)}.parent-card[data-erasing=true] :is(.parent-cover,.parent-who,p){opacity:.55;filter:grayscale()}.parent-cover{aspect-ratio:16/9;background:var(--color-learning-art) center / cover no-repeat;position:relative}.parent-cover img{object-fit:cover;width:100%;height:100%}.parent-cover-blank{color:var(--color-parent-cover-muted);background:repeating-linear-gradient(135deg, var(--color-parent-stripe) 0 10px, var(--color-parent-stripe-alt) 10px 20px);place-items:center;font-size:14px;font-weight:600;display:grid}.parent-badge{border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-warning);box-shadow:var(--shadow-parent-badge);padding:4px 10px;font-size:12px;font-weight:700;position:absolute;top:14px;right:14px}.parent-card-body{gap:14px;padding:22px 24px 24px;display:grid}.parent-who{align-items:center;gap:12px;min-width:0;display:flex}.parent-avatar{border-radius:var(--radius-pill);background:var(--color-learning-blue-soft);width:40px;height:40px;color:var(--color-learning-blue);flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.parent-name{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:20px;font-weight:800}.parent-course-title{overflow-wrap:anywhere;font-size:14px;font-weight:600}.parent-bar{border-radius:var(--radius-pill);background:var(--color-learning-green-soft);height:8px;overflow:hidden}.parent-bar span{border-radius:var(--radius-pill);background:var(--color-learning-green);height:100%;display:block}.parent-count{justify-content:space-between;gap:12px;font-size:14px;display:flex}.parent-count strong{font-weight:800}.parent-muted{color:var(--color-learning-muted);font-size:14px}.parent-last{border-top:1px solid var(--color-parent-stripe);padding-top:12px}.parent-add{border:2px dashed var(--color-parent-add-rule);border-radius:var(--radius-learning);min-height:340px;color:var(--color-text-on-ink);font:inherit;cursor:pointer;transition:background-color .15s var(--ease-ui), border-color .15s var(--ease-ui), transform .15s var(--ease-ui);background:0 0;align-content:center;place-items:center;gap:12px;font-weight:700;display:grid}.parent-add:hover{border-color:var(--color-text-on-paper);background:var(--color-parent-add-hover)}.parent-add:active{transform:scale(.99)}.parent-add-plus{border:1px solid var(--color-learning-rule);border-radius:var(--radius-pill);background:var(--color-paper);width:52px;height:52px;color:var(--color-learning-blue);place-items:center;font-size:28px;display:grid}.parent-report{background:var(--color-paper);min-height:100vh;color:var(--color-ink)}.parent-report :focus-visible{outline:3px solid var(--color-violet);outline-offset:3px}.parent-report-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:40px;padding:20px 32px;display:flex}.parent-report-body{max-width:760px;margin:0 auto;padding:0 32px 72px}.parent-report .parent-eyebrow{color:var(--color-violet)}.parent-report h1{color:var(--color-ink);letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(38px,6vw,48px);font-weight:300;line-height:1.05}.parent-report h2{color:var(--color-ink);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:20px;font-weight:700}.parent-report p{color:var(--color-text-on-paper)}.parent-report-muted{color:var(--color-text-on-paper);font-size:15px}.parent-lead{align-items:center;gap:20px;min-width:0;display:flex}.parent-lead-avatar{border-radius:var(--radius-pill);background:var(--color-highlight);width:64px;height:64px;color:var(--color-ink);flex:none;place-items:center;font-size:26px;font-weight:800;display:grid}.parent-section{border-top:1px solid var(--color-hatch);margin-top:40px;padding:40px 0}.parent-section+.parent-section{margin-top:0}.parent-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:28px;display:flex}.parent-section-head span{color:var(--color-text-on-paper);font-size:15px}.parent-course{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:36px;display:grid}.parent-ring-track{stroke:var(--color-hatch)}.parent-ring-value{stroke:var(--color-violet)}.parent-ring-label{fill:var(--color-ink);letter-spacing:-1px;font-weight:300}.parent-journey{align-items:flex-start;margin:-8px 0;padding:8px 0;list-style:none;display:flex;overflow-x:auto}.parent-node{color:var(--color-ink);text-align:center;overflow-wrap:anywhere;flex:1 0 96px;justify-items:center;gap:10px;padding:0 4px;font-size:13px;font-weight:600;display:grid;position:relative}.parent-node:before{content:"";background:var(--color-hatch);width:100%;height:2px;position:absolute;top:18px;right:50%}.parent-node:first-child:before{display:none}.parent-node[data-state=done]:before,.parent-node[data-state=current]:before,.parent-node[data-state=started]:before{background:var(--color-violet)}.parent-dot{border:2px solid var(--color-parent-line);border-radius:var(--radius-pill);background:var(--color-paper);width:38px;height:38px;color:var(--color-parent-locked);place-items:center;font-size:15px;font-weight:800;display:grid;position:relative}.parent-node[data-state=done] .parent-dot{border-color:var(--color-violet);background:var(--color-violet);color:var(--color-paper)}.parent-node[data-state=current] .parent-dot,.parent-node[data-state=started] .parent-dot{border-color:var(--color-violet);color:var(--color-violet)}.parent-node[data-state=current] .parent-dot{box-shadow:var(--shadow-parent-halo)}.parent-node[data-state=locked]{color:var(--color-parent-locked)}.parent-node small{color:var(--color-text-on-paper);margin-top:2px;font-size:12px;font-weight:500;display:block}.parent-activity{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;display:grid}.parent-week{gap:6px;display:grid}.parent-day{aspect-ratio:1;border-radius:var(--radius-pill);background:var(--color-parent-pale)}.parent-day[data-on=true]{background:var(--color-violet)}.parent-day[data-future=true]{visibility:hidden}.parent-legend{color:var(--color-text-on-paper);align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.parent-legend .parent-day{width:12px}.parent-chips{grid-template-columns:1fr 1fr;gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.parent-chip{border-bottom:1px solid var(--color-parent-pale);padding:14px 0}.parent-chip b{color:var(--color-ink);margin-bottom:2px;font-size:15px;display:block}.parent-chip span{color:var(--color-text-on-paper);font-size:13px;line-height:1.5}.parent-panel{justify-items:start;gap:16px;display:grid}.parent-panel>*{max-width:100%}.parent-danger{border:1px solid var(--color-danger);border-radius:var(--radius-card);padding:28px}.parent-facts{grid-template-columns:max-content minmax(0,1fr);gap:4px 24px;display:grid}.parent-facts dt{color:var(--color-text-on-paper)}.parent-facts dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-weight:700}@media (width<=760px){.parent-shell{grid-template-columns:minmax(0,1fr)}.parent-rail{border-right:0;border-bottom:1px solid var(--color-rule-on-ink);flex-direction:row;gap:6px;height:auto;padding:12px;position:static;overflow-x:auto}.parent-rail-logo,.parent-rail-spacer{display:none}.parent-rail-end{border:0;margin:0;padding:0}.parent-tab{white-space:nowrap;width:auto}.parent-home,.parent-report-body{padding-left:16px;padding-right:16px}.parent-home{padding-top:32px}.parent-report-top{margin-bottom:24px;padding:16px}.parent-course{grid-template-columns:minmax(0,1fr);justify-items:center}.parent-journey{width:100%}.parent-chips{grid-template-columns:1fr}.parent-activity,.parent-week{gap:3px}.parent-facts{grid-template-columns:minmax(0,1fr)}}@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}@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-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-text-shadow-color{syntax:"*";inherits:false}@property --tw-text-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}
