@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/caveat-latin.woff2)format("woff2");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}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/caveat-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--bg:#fbfbf9;--panel:#fff;--fg:#16181d;--muted:#5f6672;--border:#e3e3dd;--accent:#2f5fd0;--accent-soft:#eaf0fd;--ok:#1f7a4d;--bad:#b42318;--bad-soft:#fdeceb;--radius:10px;--check-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E");--measure:34rem;--page-max:68rem;--page-pad:1.25rem;--frame-max:84rem;--step-air:2.5rem;--step-hold:72vh;--shadow:#1012161f;--font-note:"Caveat", "Segoe Script", "Bradley Hand", cursive;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#101216;--panel:#171a20;--fg:#e7e9ee;--muted:#9aa3b2;--border:#272b33;--accent:#7ea2f5;--accent-soft:#1b2436;--ok:#4ec98a;--bad:#ff8a80;--bad-soft:#2a1a1a;--shadow:#00000080;color-scheme:dark}}:root[data-theme=dark]{--bg:#101216;--panel:#171a20;--fg:#e7e9ee;--muted:#9aa3b2;--border:#272b33;--accent:#7ea2f5;--accent-soft:#1b2436;--ok:#4ec98a;--bad:#ff8a80;--bad-soft:#2a1a1a;--shadow:#00000080;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.65 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1,h2,h3{letter-spacing:-.015em;line-height:1.2}code,pre{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.wrap{max-width:var(--page-max);padding:0 var(--page-pad);margin:0 auto}.prose{max-width:var(--measure)}.prose :is(h2,h3){margin-top:2.25rem}.prose strong{font-weight:600}.prose .claim{background:var(--accent-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:.12em .35em}.term{border-bottom:1px dotted var(--accent);cursor:help;position:relative}.term__tip{z-index:20;background:var(--panel);width:max-content;max-width:min(22rem,100vw - 1rem);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px var(--shadow);text-align:left;padding:.6rem .75rem;font-size:.875rem;font-weight:400;line-height:1.5;display:none;position:absolute;bottom:calc(100% + .5rem);left:0}.term__link{color:var(--accent);margin-top:.4rem;font-size:.8rem;font-weight:600;display:block}.term__tip[data-placement=below]{top:calc(100% + .5rem);bottom:auto}.term[data-open=true] .term__tip{display:block}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.player:focus-visible{outline-offset:6px}.skip-link{z-index:20;background:var(--accent);color:var(--panel);border-radius:0 0 8px 8px;padding:.5rem .9rem;text-decoration:none;transition:top .15s;position:absolute;top:-4rem;left:.75rem}.skip-link:focus{top:0}main:focus{outline:none}.site-header{border-bottom:1px solid var(--border);background:var(--panel)}.site-header__inner{align-items:center;gap:1.5rem;min-height:3.5rem;display:flex}.site-header__brand{color:var(--fg);letter-spacing:-.02em;font-weight:650;text-decoration:none}.site-header__link{color:var(--muted);font-size:.9rem;text-decoration:none}.site-header__link:hover,.site-header__link[aria-current=page]{color:var(--fg)}.site-header__spacer{flex:1}.theme-toggle{--toggle-w:3.25rem;--toggle-h:1.75rem;--toggle-gap:.1875rem;--toggle-icon:.875rem;--toggle-thumb:calc(var(--toggle-h) - 2 * var(--toggle-gap) - 2px);--toggle-travel:calc(var(--toggle-w) - var(--toggle-h));width:var(--toggle-w);height:var(--toggle-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;flex:none;padding:0;position:relative}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle__thumb{top:50%;left:var(--toggle-gap);width:var(--toggle-thumb);height:var(--toggle-thumb);background:var(--accent);border-radius:50%;transition:transform .22s cubic-bezier(.3,.8,.4,1);position:absolute;transform:translateY(-50%)}.theme-toggle__icon{width:var(--toggle-icon);height:var(--toggle-icon);transition:color .22s;position:absolute;top:50%;transform:translateY(-50%)}.theme-toggle__icon--sun{left:calc(var(--toggle-gap) + (var(--toggle-thumb) - var(--toggle-icon)) / 2);color:var(--panel)}.theme-toggle__icon--moon{right:calc(var(--toggle-gap) + (var(--toggle-thumb) - var(--toggle-icon)) / 2);color:var(--muted)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle__thumb{transform:translate(var(--toggle-travel), -50%)}:root:not([data-theme=light]) .theme-toggle__icon--sun{color:var(--muted)}:root:not([data-theme=light]) .theme-toggle__icon--moon{color:var(--panel)}}:root[data-theme=dark] .theme-toggle__thumb{transform:translate(var(--toggle-travel), -50%)}:root[data-theme=dark] .theme-toggle__icon--sun{color:var(--muted)}:root[data-theme=dark] .theme-toggle__icon--moon{color:var(--panel)}@media (prefers-reduced-motion:reduce){.theme-toggle__thumb,.theme-toggle__icon{transition:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lang-switch{gap:.25rem;display:flex}.lang-switch a{color:var(--muted);border-radius:6px;padding:.2rem .55rem;font-size:.85rem;text-decoration:none}.lang-switch a[aria-current=true]{background:var(--accent-soft);color:var(--accent)}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:5rem;padding:1.75rem 0;font-size:.875rem}.tag-filter{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:2rem;display:flex}.tag-filter__label{color:var(--muted);margin-right:.25rem;font-size:.78rem}.tag--button{font:inherit;cursor:pointer;color:var(--muted);background:0 0;font-size:.72rem;line-height:1.5}.tag--button:hover{border-color:var(--accent);color:var(--accent)}.tag--button.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.catalog__empty{color:var(--muted);margin-top:2rem}.catalog{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:.6rem;padding:0 1.25rem 1.25rem;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card__title{margin:0;font-size:1.1rem}.card__title a{color:var(--fg);text-decoration:none}.card__title a:after{content:"";position:absolute;inset:0}.card{position:relative}.card__problem{color:var(--muted);margin:0;font-size:.925rem}.card__tags{z-index:1;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.4rem;display:flex;position:relative}a.tag--link{text-decoration:none}a.tag--link:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));color:var(--fg)}.tag{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.72rem}.catalog--plain .card{padding-top:1.25rem}.card__poster{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bad-soft) 55%, var(--panel));margin:0 -1.25rem}.card__poster--cover{background:color-mix(in srgb, #efe6d6 55%, var(--panel))}.card__poster--cover img{width:100%;height:auto;display:block}.callout{border-left:3px solid var(--bad);background:var(--bad-soft);border-radius:0 var(--radius) var(--radius) 0;max-width:var(--measure);margin:1.5rem 0;padding:.9rem 1.1rem}.callout--illustrated{grid-template-columns:minmax(0,1fr) minmax(0,24rem);align-items:center;gap:1.25rem;max-width:62rem;display:grid}@media (width<=46rem){.callout--illustrated{grid-template-columns:minmax(0,1fr)}}.callout__figure{margin:0}.callout__figure--cover{background:color-mix(in srgb, #efe6d6 55%, var(--panel));border-radius:8px;overflow:hidden}.callout__figure--cover img{width:100%;height:auto;display:block}.callout__label{letter-spacing:.08em;text-transform:uppercase;color:var(--bad);margin-bottom:.2rem;font-size:.72rem;display:block}.incidents{margin:1.5rem 0 1.6rem}.incidents__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.incidents__heading{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.incidents__controls{gap:.35rem;display:flex}.incidents__arrow{border:1px solid var(--border);background:var(--panel);width:1.9rem;height:1.9rem;color:var(--fg);cursor:pointer;border-radius:999px;place-items:center;font-size:.9rem;line-height:1;display:grid}.incidents__arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.incidents__arrow:disabled{opacity:.35;cursor:default}.incidents__track{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;align-items:start;gap:.75rem;margin:0 -.9rem;padding:.75rem .9rem .9rem;list-style:none;display:flex;overflow-x:auto}.incidents__track:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.incident{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);flex-direction:column;flex:0 0 min(62%,38rem);padding:.85rem 1.1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.incident:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));box-shadow:0 5px 16px var(--shadow);transform:translateY(-2px)}.incident__title{margin:0 0 .35rem;font-size:.95rem;font-weight:600}.incident__text{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;display:-webkit-box;overflow:hidden}.incident[data-expanded] .incident__text{-webkit-line-clamp:unset;line-clamp:unset}.incident__more{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:.35rem;padding:0;font-size:.8rem}.incident__more:hover{text-decoration:underline}.incident__source{color:var(--muted);border-bottom:1px solid var(--border);align-self:flex-start;margin-top:.75rem;font-size:.8rem;text-decoration:none}.incident__source:after{content:" ↗"}.incident__source:hover{color:var(--accent);border-bottom-color:currentColor}@media (width<=46rem){.incidents__track{margin-inline:-1.25rem;padding-inline:1.25rem}}@media (prefers-reduced-motion:reduce){.incident,.incident:hover{transition:none;transform:none}}.lesson-nav{border-top:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:3.5rem;padding-top:1.5rem;display:grid}.lesson-nav__link{color:var(--fg);flex-direction:column;gap:.15rem;text-decoration:none;display:flex}.lesson-nav__link--next{text-align:right}.lesson-nav__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.lesson-nav__title{font-weight:600}.lesson-nav__link:hover .lesson-nav__title{color:var(--accent)}.lesson-nav__home{color:var(--muted);white-space:nowrap;font-size:.875rem;text-decoration:none}.lesson-nav__home:hover{color:var(--accent)}.player{overflow-anchor:none;margin:2.5rem 0}.player__steps{margin:0;padding:0;list-style:none}.step{border-top:1px solid var(--border);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:1.5rem;padding:1.75rem 0;display:grid}.step--text{grid-template-columns:minmax(0, var(--measure))}@media (width<=52rem){.step{grid-template-columns:minmax(0,1fr)}}.step__index{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.step__title{margin:.35rem 0 .6rem;font-size:1.15rem}.step__narration{color:var(--fg);margin:0 0 .75rem}.step__narration:last-child{margin-bottom:0}.step__narration code{background:color-mix(in srgb, var(--muted) 14%, transparent);border-radius:4px;padding:.1em .3em;font-size:.88em}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.panel__copy{width:1.5rem;height:1.5rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s;display:inline-flex}.panel__copy[hidden]{display:none}.panel__run{width:1.5rem;height:1.5rem;color:var(--muted);border:1px solid #0000;border-radius:5px;flex:none;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:inline-flex}.panel__run:hover{color:var(--fg);border-color:var(--border)}.panel__run svg{fill:currentColor;width:13px;height:13px}.panel__copy:hover{color:var(--fg);border-color:var(--border)}.panel__copy svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.panel__copy-done{display:none}.panel__copy.is-copied{color:var(--ok)}.panel__copy.is-copied .panel__copy-icon{display:none}.panel__copy.is-copied .panel__copy-done{display:block}@media (prefers-reduced-motion:reduce){.panel__copy{transition:none}}.panel__caption{border-bottom:1px solid var(--border);min-height:2rem;color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .3rem .25rem .85rem;font-family:ui-monospace,monospace;font-size:.75rem;display:flex}.panel__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel__actions{flex:none;align-items:center;gap:.15rem;display:inline-flex}.panel .astro-code{margin:0;padding:.9rem 0;overflow-x:auto}.panel .astro-code .line{padding:0 .95rem}.panel:has(.line--pass) .astro-code .line{padding-left:2.4rem}.panel .line--pass{position:relative}.panel .line--pass:before{content:"";width:1.35em;height:1.35em;box-shadow:0 0 0 2px color-mix(in srgb, var(--ok) 26%, transparent);background-color:var(--ok);background-image:var(--check-glyph);background-position:50%;background-repeat:no-repeat;background-size:.85em .85em;border-radius:50%;position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}.output{border-top:1px solid var(--border)}.output__label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.4rem .85rem 0;font-size:.72rem}.output pre{white-space:pre-wrap;color:var(--muted);margin:0;padding:.5rem .95rem .9rem;overflow-x:auto}.output--bad pre{color:var(--bad)}.player__controls,.player.is-enhanced:not(.player--scroll) .step{display:none}.player.is-enhanced:not(.player--scroll) .step.is-active{animation:.28s step-in;display:grid}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.player--scroll .player__body{display:block}.player__unwrapped{display:contents}.player--scroll .player__stage{z-index:3;border:0;border-bottom:1px solid var(--border);background:var(--bg);border-radius:0;margin:0 0 .5rem;padding:.6rem 0;position:sticky;top:0}.player--scroll .flow{height:min(var(--flow-height,400px), 44vh);pointer-events:none}.player--scroll .fslot{pointer-events:auto}.player--scroll .react-flow__controls{display:none}.flow{width:100%;height:var(--flow-height,400px)}.fnote{animation:.4s .12s both fnote-in;position:relative}@keyframes fnote-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fnote__body{background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(3px);border-radius:9px;align-items:flex-start;gap:.45rem;padding:.4rem .55rem;display:flex}.fnote__level{background:var(--accent);width:1.1rem;height:1.1rem;color:var(--panel);border-radius:50%;flex:none;place-items:center;margin-top:.05rem;font-size:.62rem;font-weight:700;display:grid}.fnote__text{font-family:var(--font-note);letter-spacing:.01em;color:var(--fg);text-wrap:pretty;font-size:1.05rem;line-height:1.25}.fnote__arrow{width:2.1rem;height:2.1rem;color:var(--muted);position:absolute}.fnote__arrow-svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.fnote__arrow--up{top:-1.9rem;left:.2rem}.fnote__arrow--down{bottom:-1.9rem;left:.2rem;transform:scaleY(-1)}.fnote__arrow--left{top:-.2rem;left:-2rem;transform:rotate(-90deg)}.fnote__arrow--right{top:-.2rem;right:-2rem;transform:rotate(90deg)scaleY(-1)}.flow--static .react-flow__pane{cursor:default}.flow--compact .fnode{border-radius:9px;width:9.5rem;padding:.5rem .65rem}.flow--compact .fnode__title{font-size:.8rem}.flow--compact .fnode__sub{font-size:.65rem}.flow--compact .react-flow__edge-text{font-size:11px}@keyframes flow-node-in{0%{opacity:0;transform:translateY(6px)scale(.96)}}@keyframes flow-edge-in{0%{opacity:0}}.flow .react-flow__node{animation:.26s cubic-bezier(.2,.7,.3,1) both flow-node-in}.flow .react-flow__edge{animation:.26s 90ms both flow-edge-in}.flow--static .react-flow__node,.flow--static .react-flow__edge{animation:none}@media (prefers-reduced-motion:reduce){.flow .react-flow__node,.flow .react-flow__edge{animation:none}}.fnode{border:1.25px solid var(--border);background:var(--panel);width:11.5rem;box-shadow:0 1px 3px var(--shadow);border-radius:10px;flex-direction:column;gap:.1rem;padding:.65rem .8rem;transition:opacity .3s,border-color .3s,box-shadow .3s;display:flex}.fnode--idle{opacity:.22}.fnode--focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), 0 1px 3px var(--shadow)}.fnode--bad{border-color:var(--bad)}.fnode__kind{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.55rem;font-weight:700}.fnode__title{color:var(--fg);font-size:.875rem;font-weight:650}.fnode--bad .fnode__title{color:var(--bad)}.fnode__sub{color:var(--muted);font-size:.7rem}.promo-chip{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font:inherit;cursor:grab;box-shadow:0 1px 3px var(--shadow);border-radius:9px;align-items:center;gap:.45rem;margin-top:1rem;padding:.45rem .8rem;font-size:.85rem;font-weight:600;display:inline-flex}.promo-chip:active{cursor:grabbing}.promo-chip.is-dragging{opacity:.4}.promo-chip__grip{color:var(--muted);font-size:.9rem;line-height:1}.promo-experiment{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.promo-experiment .promo-chip{margin-top:0}.promo-result{margin:0}.promo-apply:disabled{cursor:default;opacity:.65}.player:not(.is-enhanced) .promo-chip,.player:not(.is-enhanced) .promo-apply,.player.is-enhanced[data-promo-placed=true] [data-promo-question],.player.is-enhanced:not([data-promo-placed=true]) [data-promo-result]{display:none}.fslot{pointer-events:auto;cursor:pointer;border:1.5px dashed var(--accent);background:color-mix(in srgb, var(--accent-soft) 60%, transparent);border-radius:10px;place-items:center;min-height:5.1rem;padding:.5rem .7rem;transition:background .15s,transform .15s;display:grid}.fslot--over{background:var(--accent-soft);transform:scale(1.04)}.fslot__label{color:var(--accent);text-align:center;font-size:.72rem;font-weight:600}.fnode--bar{background:color-mix(in srgb, var(--panel) 70%, transparent);width:auto;box-shadow:none;border-style:dashed;border-radius:6px;flex-direction:row;align-items:baseline;gap:.5rem;padding:.3rem .7rem}.fnode--bar .fnode__title{font-size:.78rem}.fnode__handle{opacity:0;pointer-events:none}.flow .react-flow__edge-path{stroke:var(--muted);stroke-width:2.25px}.flow .fedge--ok .react-flow__edge-path{stroke:var(--ok)}.flow .fedge--bad .react-flow__edge-path{stroke:var(--bad)}.flow .fedge--dashed .react-flow__edge-path{stroke-dasharray:6 4}.flow .react-flow__edge-text{fill:var(--fg);font-size:12px;font-weight:600}.flow .react-flow__edge-textbg{fill:var(--panel);stroke:var(--border);stroke-width:1px;rx:7}.flow .fedge--ok .react-flow__edge-text{fill:var(--ok)}.flow .fedge--bad .react-flow__edge-text{fill:var(--bad)}.flow .react-flow__controls-button{background:var(--panel);border-bottom:1px solid var(--border);fill:var(--fg)}.flow .react-flow__controls-button:hover{background:var(--accent-soft)}.flow .react-flow__attribution{opacity:.45;background:0 0;font-size:8px}.flow .react-flow__attribution a{color:var(--muted)}.player--scroll.is-enhanced .player__steps{transition:none;overflow:visible;height:auto!important}.player--scroll.is-enhanced .step{opacity:.38;border-top:0;align-content:start;min-height:62vh;transition:opacity .35s;display:grid}.player--scroll.is-enhanced .step.is-active{opacity:1}.player--scroll.is-enhanced .step-run{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:1.5rem;padding:1.75rem 0;display:grid}.player--scroll.is-enhanced .step--in-run{flex-direction:column;grid-template-columns:none;justify-content:flex-start;min-height:62vh;padding:0;display:flex}.player--scroll.is-enhanced .step--in-run+.step--in-run{padding-top:calc(var(--step-air) + 1.75rem)}.player--scroll.is-enhanced .step-run__stage{top:var(--reading-top,calc(44vh + 2.75rem));max-height:calc(100dvh - var(--reading-top,48vh) - var(--controls-height,4rem) - 1rem);overscroll-behavior-y:contain;display:grid;position:sticky;overflow-y:auto}.step-run__slot{opacity:0;visibility:hidden;grid-area:1/1;transition:opacity .2s}.step-run__slot.is-shown{opacity:1;visibility:visible}@media (prefers-reduced-motion:reduce){.step-run__slot{transition:none}}.player.is-enhanced:not(.player--scroll) .step-run{display:none}.player.is-enhanced:not(.player--scroll) .step-run:has(.step.is-active){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:1.5rem;display:grid}@media (width<=52rem){.player--scroll.is-enhanced .step-run,.player.is-enhanced:not(.player--scroll) .step-run:has(.step.is-active){grid-template-columns:minmax(0,1fr)}.player--scroll.is-enhanced .step-run__stage{max-height:none;position:static;overflow:visible}}.player--scroll.is-enhanced .player__steps:before,.player--scroll.is-enhanced .player__steps:after{content:"";height:18vh;display:block}@media (prefers-reduced-motion:reduce){.player--scroll.is-enhanced .step{opacity:1}}.player.is-enhanced:not(.player--scroll) .player__steps{transition:height .28s;overflow:hidden}@media (width<=30rem){.player.is-enhanced .player__controls{gap:.5rem}.player__controls .btn{padding:.3rem .6rem;font-size:.8rem}.player__dot{width:1.1rem}}@media (hover:none) and (pointer:coarse){.hint{display:none}}.player.is-enhanced .player__controls{z-index:5;border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg) 85%, transparent);backdrop-filter:blur(8px);align-items:center;gap:.75rem;margin-top:.25rem;padding:.75rem 0;display:flex;position:sticky;bottom:0}.player--scroll.is-enhanced .player__controls{width:min(calc(100vw - 2 * var(--page-pad)), calc(var(--page-max) - 2 * var(--page-pad)));transition:opacity .2s;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.player--scroll.is-enhanced[data-nav=off] .player__controls{opacity:0;pointer-events:none}.player--scroll.is-enhanced{padding-bottom:calc(var(--controls-height,4rem) + .5rem)}.player__dots{flex-wrap:wrap;flex:1;gap:.35rem .4rem;min-width:0;display:flex}.player__dot{background:var(--border);cursor:pointer;border:0;border-radius:999px;flex:1 1 0;min-width:.55rem;max-width:1.75rem;height:4px;padding:0;transition:background .2s}.player__dot[aria-current=true]{background:var(--accent)}.player__dot--level:last-of-type{margin-right:.6rem}.player__dot{position:relative}.player__dot-tip{z-index:6;pointer-events:none;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%)}.player__dot:first-child .player__dot-tip{left:0;transform:none}.player__dot:last-child .player__dot-tip{left:auto;right:0;transform:none}.player__dot-tip__box{border:1px solid var(--border);background:var(--panel);width:max-content;max-width:min(15rem,62vw);color:var(--fg);box-shadow:0 10px 28px var(--shadow);text-align:center;opacity:0;visibility:hidden;border-radius:8px;padding:.4rem .6rem;font-size:.8rem;line-height:1.35;display:block;position:relative}.player__dot-tip__box:after{content:"";border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel);width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;top:100%;left:50%;transform:rotate(45deg)}.player__dot:first-child .player__dot-tip__box:after{left:.85rem}.player__dot:last-child .player__dot-tip__box:after{left:auto;right:.5rem}.btn{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--fg);cursor:pointer;border-radius:7px;padding:.35rem .85rem;font-size:.875rem}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.4;cursor:default}.hint{color:var(--muted);margin:.6rem 0 0;font-size:.8rem}.quiz{max-width:var(--measure);margin:3rem 0 0}.quiz__item{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);margin-bottom:1rem;padding:1.15rem}.quiz__question{margin:0 0 .75rem;font-weight:600}.quiz__options{gap:.4rem;display:grid}.quiz__option{text-align:left;font:inherit;border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:7px;padding:.55rem .8rem;font-size:.925rem}.quiz__option:hover:not(:disabled){border-color:var(--accent)}.quiz__option.is-correct{border-color:var(--ok);color:var(--ok)}.quiz__option.is-wrong{border-color:var(--bad);color:var(--bad)}.quiz__explanation{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.quiz__score{color:var(--muted);align-items:center;gap:.75rem;font-size:.875rem;display:flex}[hidden]{display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.astro-code .highlighted{background:var(--accent-soft);width:100%;display:inline-block}.astro-code .diff.add{background:color-mix(in srgb, var(--ok) 14%, transparent);width:100%;display:inline-block}.astro-code .diff.remove{background:color-mix(in srgb, var(--bad) 14%, transparent);opacity:.7;width:100%;display:inline-block}.astro-code.has-focused .line:not(.focused){opacity:.4;filter:blur(.4px);transition:opacity .2s,filter .2s}.astro-code.has-focused:hover .line:not(.focused){opacity:1;filter:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.chapters{margin:-.35rem 0 1.5rem;position:relative}.chapters__summary{border:1px solid var(--border);background:var(--panel);color:var(--fg);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .7rem .3rem .55rem;font-size:.8rem;list-style:none;display:inline-flex}.chapters__summary:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.chapters__icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:14px;height:14px;color:var(--muted)}.chapters__count{color:var(--muted);font-variant-numeric:tabular-nums}.chapters__list{z-index:5;min-width:min(22rem,100%);max-width:min(var(--measure), 100%);border:1px solid var(--border);background:var(--panel);box-shadow:0 6px 20px var(--shadow);border-radius:10px;margin:.4rem 0 0;padding:.35rem;list-style:none;position:absolute}.chapters__link{color:var(--fg);border-radius:6px;gap:.6rem;padding:.4rem .55rem;font-size:.9rem;text-decoration:none;display:flex}a.chapters__link:hover{background:color-mix(in srgb, var(--muted) 12%, transparent)}.chapters__link[aria-current=page]{background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:600}.chapters__num{width:1.1rem;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.chapters__link[aria-current=page] .chapters__num{color:var(--accent)}.likec4-stage{width:100%;height:var(--flow-height,400px)}.player--scroll .likec4-stage{height:min(var(--flow-height,400px), 68vh);pointer-events:none}.player--editor .player__body{grid-template-columns:minmax(0,24rem) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}@media (width>=68rem){.player--editor .player__panel,.player--editor .step__aside{margin-right:calc(var(--page-pad) - (100vw - var(--page-max)) / 2)}}.player--editor .player__steps{grid-area:1/1/auto/-1;grid-template-columns:minmax(0,24rem) minmax(0,1fr);column-gap:1.5rem;display:grid}.player--editor .step,.player--editor .step-run{grid-column:1;grid-template-columns:minmax(0,1fr)}.player--editor.is-enhanced .player__steps:before,.player--editor.is-enhanced .player__steps:after{grid-column:1/-1}.player--editor .player__panel{z-index:3;grid-area:1/2;position:sticky;top:1rem}.player--editor .step--wide,.player--editor .step--aside{grid-column:1/-1}.step--wide>div:not(.step__wide){max-width:var(--measure)}.step__wide{margin:1.25rem 0 0}.player--editor .step--aside{grid-template-columns:minmax(0,24rem) minmax(0,1fr)}.step__aside{overflow-anchor:none;background:var(--bg);grid-column:2;align-self:start;margin:0;position:sticky;top:1rem}.player--scroll.is-enhanced .step-run--editor{padding-bottom:var(--step-air);grid-column:1/-1;grid-template-columns:minmax(0,24rem) minmax(0,1fr)}.player--scroll.is-enhanced .step--aside{min-height:var(--step-hold);align-content:stretch}.player--scroll.is-enhanced .step--aside,.player--scroll.is-enhanced .step--wide{padding-bottom:var(--step-air)}.player--scroll.is-enhanced .step--aside .step__aside{margin-bottom:calc(-1 * var(--step-air))}.step__wide .likec4-stage,.step__aside .likec4-stage{height:auto;max-height:min(var(--flow-height,400px), 68vh);pointer-events:auto}.step__wide .likec4-stage{max-height:min(var(--flow-height,400px), 88vh)}.step__wide{width:min(100vw, var(--frame-max));margin-left:calc(max((100vw - var(--frame-max)) / 2, 0px) - max((100vw - var(--page-max)) / 2, 0px) - var(--page-pad))}.player__editor.step__wide{width:min(calc(100vw - 2 * var(--page-pad)), var(--frame-max));margin-left:calc(max((100vw - var(--frame-max)) / 2, var(--page-pad)) - max((100vw - var(--page-max)) / 2, 0px) - var(--page-pad))}.player--editor[data-panel=none] .player__panel,.player--editor[data-panel=editor] .player__stage,.player--editor[data-panel=diagram] .player__editor{display:none}@media (width<=52rem){.player--editor .player__body{grid-template-columns:minmax(0,1fr)}.player--editor .player__panel{grid-area:1/1;position:static}.player--editor .player__steps{grid-area:2/1;grid-template-columns:minmax(0,1fr)}.player--editor .step--aside{grid-template-columns:minmax(0,1fr)}.step__aside{grid-column:1;margin-top:1.25rem}}.editor{border:1px solid var(--border);background:var(--code-bg,var(--bg));border-radius:10px;grid-template-columns:minmax(0,12rem) minmax(0,1fr);display:grid;overflow:hidden}.editor__tree{border-right:1px solid var(--border);max-height:calc(100vh - 4rem);padding:.7rem .55rem;overflow-y:auto}.editor__tree vscode-tree{--vscode-font-family:inherit;--vscode-font-size:.8rem;--vscode-font-weight:400;--vscode-foreground:var(--fg);--vscode-icon-foreground:var(--muted);--vscode-list-hoverBackground:color-mix(in srgb, var(--muted) 14%, transparent);--vscode-list-hoverForeground:var(--fg);--vscode-list-activeSelectionBackground:color-mix(in srgb, var(--accent) 16%, transparent);--vscode-list-activeSelectionForeground:var(--fg);--vscode-list-activeSelectionIconForeground:var(--accent);--vscode-list-inactiveSelectionBackground:color-mix(in srgb, var(--muted) 12%, transparent);--vscode-list-focusOutline:var(--accent);--vscode-list-focusAndSelectionOutline:var(--accent);--vscode-tree-indentGuidesStroke:color-mix(in srgb, var(--muted) 45%, transparent);--vscode-tree-inactiveIndentGuidesStroke:color-mix(in srgb, var(--muted) 22%, transparent)}.editor__tree .codicon{color:var(--vscode-icon-foreground,var(--muted));font-size:15px}vscode-tree-item[hidden]{display:none}vscode-tree-item.is-new{--vscode-foreground:var(--accent);--vscode-icon-foreground:var(--accent)}.editor__tree vscode-tree:not(:defined) vscode-tree-item{padding-left:.9rem;font-size:.8rem;line-height:1.6;display:block}.editor__panes{max-height:calc(100vh - 4rem);overflow:auto}.editor,.editor__tree,.editor__panes{transition:grid-template-columns .3s,max-width .3s,max-height .3s,opacity .2s}.editor[data-view=tree]{grid-template-columns:minmax(0,1fr) 0;max-width:22rem}.editor[data-view=tree] .editor__panes{opacity:0;visibility:hidden;max-height:0}.editor[data-view=file]{grid-template-columns:0 minmax(0,1fr)}.editor[data-view=file] .editor__tree{opacity:0;visibility:hidden;border-right:0;max-height:0;padding:0}@media (prefers-reduced-motion:reduce){.editor,.editor__tree,.editor__panes{transition:none}}.editor__path{border-bottom:1px solid var(--border);font-family:var(--mono);color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .45rem .3rem .7rem;font-size:.72rem;display:flex}.editor__panes pre{border:0;border-radius:0;margin:0}.editor__pane .astro-code{counter-reset:line}.editor__pane .astro-code .line:before{counter-increment:line;content:counter(line);text-align:right;width:2.5ch;color:color-mix(in srgb, var(--muted) 50%, transparent);user-select:none;margin-right:1rem;display:inline-block}.editor__pane .astro-code .line.is-lit{background:var(--accent-soft);width:100%;transition:background .2s;display:inline-block}.editor__doc{padding:.9rem 1.1rem 1.2rem;font-size:.9rem;line-height:1.55}.editor__doc>:first-child{margin-top:0}.editor__doc :is(h1,h2,h3){margin:1.4rem 0 .5rem;font-size:.95rem;line-height:1.3}.editor__doc h1{font-size:1.05rem}.editor__doc p{margin:.6rem 0}.editor__doc table{border-collapse:collapse;width:100%;margin:.8rem 0 1rem;font-size:.82rem}.editor__doc :is(th,td){border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.35rem .5rem}.editor__doc th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.editor__doc code{background:color-mix(in srgb, var(--muted) 14%, transparent);border-radius:4px;padding:.1em .3em}.levels{grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:start;gap:0 2rem;width:min(62rem,100vw - 2.5rem);max-width:none;margin:1.5rem 0 2.5rem;display:grid}.levels__intro{max-width:var(--measure);grid-column:1/-1}.levels__intro>:first-child{margin-top:0}.levels__intro>p:empty{display:none}.levels-cake{grid-column:2;margin:0;position:sticky;top:2rem}.levels-cake svg{width:100%;height:auto}.levels__steps{grid-column:1;margin:0;padding:0;list-style:none}.levels__step{max-width:var(--measure)}.levels.is-enhanced .levels__step{min-height:54vh;padding:2vh 0}.levels.is-enhanced .levels__steps:after{content:"";height:24vh;display:block}.levels__head{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:.6rem;margin:0 0 .5rem;display:grid}.levels__index{border:1px solid var(--border);background:var(--panel);width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;margin-top:.15rem;font-size:.7rem;font-weight:600;transition:background .18s,border-color .18s,color .18s;display:grid}.levels.is-enhanced .levels__step.is-active .levels__index{border-color:var(--accent);background:var(--accent);color:var(--panel)}.levels__head .levels__name{margin:0;font-size:1.15rem;line-height:1.25}.levels__decides{color:var(--accent);margin:.15rem 0 0;font-size:.92rem}.levels__text{color:var(--fg);margin:0 0 .75rem}.levels__text:last-child{margin-bottom:0}@media (width<=52rem){.levels{grid-template-columns:minmax(0,1fr)}.levels-cake{z-index:3;border-bottom:1px solid var(--border);background:var(--bg);grid-column:1;padding:.5rem 0;top:0}.levels-cake svg{max-height:40vh}.levels__steps{grid-column:1}}.lvl{cursor:pointer;filter:drop-shadow(0 1px 2px var(--shadow));outline:none;transition:transform .16s,filter .16s}.lvl__face{fill:var(--panel);stroke:var(--border);stroke-width:1px}.lvl__bar{fill:color-mix(in srgb, var(--accent) 45%, transparent);transition:fill .16s}.lvl__name{fill:var(--fg);font-size:13px;font-weight:600}.lvl__decides{fill:var(--muted);font-size:11px}.lvl__mark{fill:var(--panel);stroke:var(--border);stroke-width:1px;transition:fill .18s,stroke .18s}.lvl__num{fill:var(--muted);text-anchor:middle;dominant-baseline:central;font-size:10px;font-weight:600;transition:fill .18s}.lvl-rail{stroke:var(--border);stroke-width:1px}.lvl-rail--done{stroke:var(--accent);stroke-width:2px;stroke-dasharray:var(--rail);stroke-dashoffset:var(--rail);transition:stroke-dashoffset .3s}.lvl:hover,.lvl:focus-visible,.lvl.is-linked,.lvl.is-lit{filter:drop-shadow(0 2px 5px var(--shadow))}.lvl:hover .lvl__face,.lvl:focus-visible .lvl__face,.lvl.is-linked .lvl__face,.lvl.is-lit .lvl__face{stroke:var(--accent)}.lvl:hover .lvl__bar,.lvl:focus-visible .lvl__bar,.lvl.is-linked .lvl__bar,.lvl.is-lit .lvl__bar{fill:var(--accent)}.lvl.is-lit .lvl__mark{fill:var(--accent);stroke:var(--accent)}.lvl.is-lit .lvl__num{fill:var(--panel)}.levels__intro [data-level].is-linked{background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft);border-radius:4px}@media (prefers-reduced-motion:reduce){.lvl,.lvl__bar,.lvl__mark,.lvl__num,.lvl-rail--done{transition:none}.levels-cake__run{display:none}}.player--editor.is-enhanced .player__steps:before,.player--editor.is-enhanced .player__steps:after{height:1rem}.prose :is(ul,ol){margin:1rem 0;padding-left:1.25rem}.prose li+li{margin-top:.4rem}.prose li::marker{color:var(--muted)}.step__list,.levels__list{margin:0 0 .75rem;padding-left:1.15rem}.step__list li+li,.levels__list li+li{margin-top:.35rem}.step__list li::marker,.levels__list li::marker{color:var(--muted)}.brief{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);width:min(48rem,100vw - 2.5rem);max-width:none;box-shadow:0 1px 2px var(--shadow);margin:1.75rem 0 2.25rem;padding:1.2rem 1.5rem 1.35rem}.brief__head{align-items:baseline;gap:.6rem;margin-bottom:.5rem;display:flex}.brief__label{font-family:var(--font-note);color:var(--accent);font-size:1.4rem;line-height:1}.brief__source{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.brief__text{border:0;margin:0;padding:0}.brief__text>p{margin:0 0 .75rem}.brief__text>p:last-child{margin-bottom:0}.fab-rail{z-index:40;flex-direction:column;gap:.6rem;display:flex;position:fixed;top:50%;right:1rem;transform:translateY(-50%)}.fab-rail>.brief-recall{order:1}.fab-rail>.req-recall{order:2}.fab-rail>.comments-fab{order:3}.brief-recall,.req-recall{border:1px solid var(--border);background:var(--panel);width:2.75rem;height:2.75rem;color:var(--muted);box-shadow:0 2px 10px var(--shadow);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:color .15s,border-color .15s;display:grid}.brief-recall[hidden],.req-recall[hidden]{display:none}.brief-recall:hover,.brief-recall:focus-visible,.req-recall:hover,.req-recall:focus-visible,.req-recall[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.brief-recall__panel{z-index:41;background:0 0;border:0;width:min(30rem,100vw - 6rem);height:fit-content;max-height:min(70vh,40rem);margin:auto 0;padding:0;position:fixed;inset:0 4.5rem 0 auto;overflow-y:auto}.brief-recall__panel::backdrop{background:0 0}.brief-recall__panel .brief{width:auto;max-width:none;box-shadow:0 8px 30px var(--shadow);margin:0}@media (width<=40rem){.fab-rail{top:auto;bottom:1rem;transform:none}.brief-recall__panel{width:auto;max-width:none;margin:0;inset:auto 4.5rem 1rem 1rem}}.req-recall__panel{z-index:41;border-radius:var(--radius);width:min(46rem,100vw - 6.5rem);height:fit-content;box-shadow:0 1px 2px var(--shadow), 0 16px 48px var(--shadow);margin:auto 0;position:fixed;top:0;bottom:0;right:4.5rem}.req-recall__panel[hidden]{display:none}.req-recall__panel .req-board{flex-direction:column;max-height:min(80vh,46rem);display:flex}.req-recall__panel .req-board__path{background:color-mix(in srgb, var(--border) 35%, var(--panel));flex:none}.req-recall__panel .req-board__doc{overscroll-behavior:contain;padding:.4rem 1.1rem 1.1rem;overflow-y:auto}.req-recall__panel .req-board__table th{z-index:1;background:var(--panel);position:sticky;top:0}.req-recall__panel .req-board__section+.req-board__section{margin-top:1.4rem}.req-recall__panel .req-board__title{padding:.7rem 0 .35rem;position:static}.req-recall__panel .req-board__table{font-size:.8rem}.req-recall__panel .req-board__table td{padding:.5rem .55rem}.req-recall__panel .req-board__table tbody tr:hover td{background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}.req-recall__panel .req-board__table tbody tr:last-child td{border-bottom:0}@media (width<=40rem){.req-recall__panel{width:auto;margin:0;inset:auto 4.5rem 1rem 1rem}}.calc{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.5rem;padding:1.25rem;display:grid}.step__aside .calc{overscroll-behavior:contain;max-height:calc(100vh - 2rem);overflow-y:auto}.calc__heading{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.72rem}.calc__row{grid-template-columns:minmax(0,1fr) auto;gap:.15rem .5rem;margin-bottom:.9rem;font-size:.85rem;display:grid}.calc__name{color:var(--fg)}.calc__value{color:var(--accent);white-space:nowrap;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.calc__value small{color:var(--muted)}.calc__slider{width:100%;accent-color:var(--accent);grid-column:1/-1}.calc__grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:0;display:grid}.calc__cell{border:1px solid var(--border);border-radius:8px;padding:.6rem .7rem}.calc__cell.is-key{border-color:var(--accent);background:var(--accent-soft)}.calc__cell dt{color:var(--muted);font-size:.72rem;line-height:1.3}.calc__cell dd{font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:1.15rem}.calc__cell dd small{color:var(--muted);font-size:.72rem}.calc__law{color:var(--muted);margin:.9rem 0 0;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.calc__verdict{margin:.5rem 0 0;font-size:.85rem;line-height:1.5}.sort{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:1rem 1.1rem}.step__aside .sort{overscroll-behavior:contain;max-height:calc(100vh - 2rem);overflow-y:auto}.sort__prompt{margin:0 0 .9rem;font-size:.88rem;line-height:1.5}.sort__list{grid-template-columns:repeat(auto-fill,minmax(max(20rem,50% - .25rem),1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.sort__item{border:1px solid var(--border);background:var(--bg);border-radius:8px;gap:.4rem;padding:.55rem .7rem;font-size:.85rem;line-height:1.4;display:grid}.sort__item.is-right{border-color:var(--ok)}.sort__item.is-wrong{border-color:var(--bad);background:var(--bad-soft)}.sort__choice{border:1px solid var(--border);border-radius:999px;justify-self:start;display:inline-flex;overflow:hidden}.sort__option{border:0;border-left:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;padding:.18rem .6rem;font-size:.72rem}.sort__option:first-child{border-left:0}.sort__option:hover{color:var(--fg)}.sort__option.is-on{background:var(--accent-soft);color:var(--accent);font-weight:600}.sort__why{color:var(--muted);font-size:.78rem;line-height:1.45}.sort__foot{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.9rem;display:flex}.sort__progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.sort__again{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;text-decoration:underline}.sort__score{flex-basis:100%;margin:0;font-size:.85rem}.noisy{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:1.25rem}.noisy__controls{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.9rem;display:flex}.noisy__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:.2rem;font-size:.72rem}.noisy__policy{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .6rem;font-size:.78rem}.noisy__policy.is-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.noisy__reset{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;text-decoration:underline}.noisy__stage{height:var(--flow-height,300px);border:1px solid var(--border);background:var(--bg);border-radius:8px;overflow:hidden}.noisy-node{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:.1rem;min-width:10rem;padding:.5rem .65rem;font-size:.75rem;display:grid}.noisy-node--accent{border-color:var(--accent);background:var(--accent-soft)}.noisy-node--hot{border-color:var(--bad);background:var(--bad-soft)}.noisy-node__title{font-size:.8rem;font-weight:600}.noisy-node__row{color:var(--muted);font-variant-numeric:tabular-nums}.player--editor.player--prose .step--text:not(.step--wide):not(.step--aside){grid-column:1/-1}.player--editor.player--prose .step--text:not(.step--wide):not(.step--aside)>div,.player--prose .step--wide>div:not(.step__wide){max-width:min(46rem,100%)}.noisy-node--t0,.noisy-node--t1,.noisy-node--t2{border-left:3px solid var(--tenant)}.noisy-node{min-width:11.5rem}.noisy-node__row{justify-content:space-between;gap:.75rem;display:flex}.noisy-node__row b{color:var(--fg);font-weight:600}.noisy-node__bar{background:var(--border);border-radius:3px;height:5px;margin:.2rem 0 .3rem;display:block;overflow:hidden}.noisy-node__fill{background:var(--tenant,var(--accent));height:100%;transition:width .2s;display:block}.noisy-node__slots{grid-template-columns:repeat(4,1fr);gap:4px;margin:.3rem 0 .4rem;display:grid}.noisy-slot{border-radius:3px;height:14px;transition:background-color .2s}.noisy-slot.is-free{border:1px dashed var(--border);background:0 0}.noisy__clock{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.noisy__run{margin-left:0}.noisy__burst{cursor:pointer;background:0 0;border:1px solid;border-radius:999px;padding:.3rem .65rem;font-size:.78rem}.noisy__burst:disabled{opacity:.4;cursor:default}.noisy__verdict{margin:.8rem 0 0;font-size:.9rem;line-height:1.5}.noisy-node{width:13rem;min-width:0}.noisy-node--accent{width:14.5rem}.noisy{--tenant-0:#4a86c8;--tenant-1:#2f9e6f;--tenant-2:#d9822b}.noisy-node--t0{--tenant:var(--tenant-0)}.noisy-node--t1{--tenant:var(--tenant-1)}.noisy-node--t2{--tenant:var(--tenant-2)}.noisy-slot--t0{background:var(--tenant-0)}.noisy-slot--t1{background:var(--tenant-1)}.noisy-slot--t2{background:var(--tenant-2)}.noisy__burst{border-color:var(--tenant-2);color:var(--tenant-2)}.noisy .react-flow__edge-textbg{stroke:var(--border);stroke-width:1px}.noisy .react-flow__edge-path{stroke-linecap:round}.likec4-stage .react-flow__pane{cursor:grab}.likec4-stage .react-flow__pane.dragging{cursor:grabbing}.added{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.added__card{border:1px solid var(--border);border-left:3px solid var(--ok);background:var(--panel);border-radius:8px;gap:.2rem;padding:.65rem .85rem;display:grid}.added__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ok);font-size:.68rem}.added__name{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.added__tech{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:.05rem .4rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:400}.added__role{color:var(--muted);font-size:.85rem;line-height:1.5}.editor__doc th:first-child,.editor__doc td:first-child{white-space:nowrap}.req-chips{margin-top:1.1rem}.req-chips__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-size:.68rem;display:block}.req-chips__list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.req-chip{--req:var(--accent);border:1px solid var(--border);border-left:3px solid var(--req);background:var(--panel);width:100%;color:var(--fg);font:inherit;text-align:left;cursor:grab;border-radius:6px;align-items:baseline;gap:.5rem;padding:.45rem .6rem;font-size:.82rem;line-height:1.4;transition:border-color .15s,transform .15s;display:flex}.req-chip--nfr{--req:#7a5cc4}.req-chip:hover:not(:disabled){border-color:var(--req);transform:translate(2px)}.req-chip:active:not(:disabled){cursor:grabbing}.req-chip.is-placed{opacity:.5;cursor:default}.req-chip__grip{color:var(--muted);font-size:.75rem}.req-chip__id{color:var(--req);flex:none;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:600}.req-chip__text{flex:1}.req-chip__done{color:var(--ok);flex:none;font-size:.72rem}.req-chips__all{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:.5rem;padding:0;font-size:.8rem;text-decoration:underline}.req-board{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);transition:border-color .15s,box-shadow .15s;overflow:hidden}.step__aside .req-board{overscroll-behavior:contain;max-height:calc(100vh - 2rem);overflow-y:auto}.req-board.is-over{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.req-board__path{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .8rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;display:flex}.req-board__reset{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.req-board__doc{padding:.9rem 1rem 1rem}.req-board__section+.req-board__section{margin-top:1.1rem}.req-board__title{margin:0 0 .45rem;font-size:.9rem}.req-board__table{border-collapse:collapse;width:100%;font-size:.78rem;line-height:1.4}.req-board__table th{border-bottom:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.3rem .45rem;font-size:.66rem;font-weight:500}.req-board__table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.35rem .45rem}.req-board__table td:first-child{white-space:nowrap;color:var(--accent);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.req-board__section:nth-of-type(2) td:first-child{color:#7a5cc4}.req-board__note{color:var(--muted)}.req-board__goal{font-weight:600}.req-board__slot td{border-bottom:1px dashed var(--border);color:var(--muted);font-style:italic}.req-board__empty td{color:var(--muted);text-align:center;padding:.8rem}.req-board__table tr.is-incoming .req-board__goal{color:var(--muted);background:repeating-linear-gradient(-45deg, transparent 0 6px, var(--accent-soft) 6px 12px)}.req-board__table tr.is-flash td{animation:1.4s req-flash}@keyframes req-flash{0%{background:color-mix(in srgb, var(--ok) 22%, transparent)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.req-board__table tr.is-flash td{animation:none}}.req-board__section>summary{cursor:pointer;align-items:center;gap:.45rem;list-style:none;display:flex}.req-board__section>summary::-webkit-details-marker{display:none}.req-board__section>summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:.4rem;height:.4rem;transition:transform .15s;transform:rotate(-45deg)}.req-board__section[open]>summary:before{transform:rotate(45deg)}.req-board__count{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .4rem;font-size:.68rem;font-weight:600}.req-board__breaks{color:var(--muted);margin-top:.15rem;font-size:.72rem;display:block}.req-board__section:nth-of-type(2) .req-board__table th:last-child,.req-board__section:nth-of-type(2) .req-board__table td:last-child{width:38%}.tx{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:1rem 1.1rem}.tx__controls{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.8rem;display:flex}.tx__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:.2rem;font-size:.72rem}.tx__scenario{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.22rem .6rem;font-size:.76rem}.tx__scenario.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.tx__stage{height:var(--flow-height,340px);border:1px solid var(--border);background:var(--bg);border-radius:8px;overflow:hidden}.tx-group{border:1.5px dashed var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:10px;width:100%;height:100%;transition:border-color .2s,background-color .2s,opacity .2s}.tx-group__title{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.72rem;position:absolute;top:.55rem;left:.75rem}.tx-group--undone{border-color:var(--bad);background:var(--bad-soft)}.tx-group--undone .tx-group__title{color:var(--bad)}.tx-node{border:1px solid var(--border);border-left:3px solid var(--ok);background:var(--panel);border-radius:7px;min-width:11rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;transition:opacity .2s,border-color .2s}.tx-node--mono{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;font-weight:500}.tx-node--failed{border-color:var(--bad);background:var(--bad-soft)}.tx-node--undone{border-left-color:var(--bad);color:var(--muted);text-decoration:line-through}.tx-node--skipped{border-left-color:var(--border);opacity:.4}.tx-edge path{stroke:var(--muted);stroke-width:1.5px}.tx-edge--skipped path,.tx-edge--undone path{stroke-dasharray:4 4;opacity:.5}.tx-edge--failed path{stroke:var(--bad)}.tx .react-flow__edge-textbg{fill:var(--panel)}.tx .react-flow__edge-text{fill:var(--muted);font-size:11px}.tx__state{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.8rem 0 0;display:grid}.tx__state>div{border:1px solid var(--border);border-radius:7px;padding:.45rem .6rem}.tx__state dt{color:var(--muted);font-size:.7rem}.tx__state dd{font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:1rem;font-weight:600}.tx__state dd.is-warn{color:var(--bad)}.tx__verdict{margin:.7rem 0 0;font-size:.85rem;line-height:1.5}.tx-group--muted{border-color:var(--muted);background:color-mix(in srgb, var(--muted) 6%, transparent)}.tx-group--muted .tx-group__title{color:var(--muted)}.tx-group--skipped{opacity:.4}.tx-node__sub{color:var(--muted);margin-top:.15rem;font-size:.68rem;font-weight:400;display:block}.noisy__priorities{flex-wrap:wrap;gap:.4rem 1rem;margin:0 0 .7rem;display:flex}.noisy__prio{align-items:center;gap:.25rem;display:inline-flex}.noisy__prio-name{margin-right:.2rem;font-size:.76rem;font-weight:600}.noisy__prio--t0 .noisy__prio-name{color:var(--tenant-0)}.noisy__prio--t1 .noisy__prio-name{color:var(--tenant-1)}.noisy__prio--t2 .noisy__prio-name{color:var(--tenant-2)}.noisy__prio-level{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.1rem .45rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.noisy__prio-level.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.api-cards{gap:.35rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.step .api-cards,.step .added,.step .req-chips{--bleed:min(10rem, max(0px, (100vw - var(--page-max)) / 2));margin-left:calc(-1 * var(--bleed))}.api-card{--method:#3b82c4;--method-soft:color-mix(in srgb, var(--method) 14%, var(--panel));border:1px solid var(--border);border-left:3px solid var(--method);background:var(--panel);border-radius:6px;padding:.4rem .6rem .45rem}.api-card--post{--method:#c27c1e}.api-card--out{--method:#7a5cc4;border-left-style:dashed}.api-card__head{align-items:baseline;gap:.4rem;min-width:0;display:flex}.api-card__method{background:var(--method-soft);color:var(--method);border-radius:4px;flex:none;padding:0 .3rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.64rem;font-weight:700}.api-card__path{min-width:0;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;background:0 0;padding:0;font-size:.78rem;font-weight:600;overflow:hidden}.api-card__param{color:var(--method)}.api-card__status{flex:none;margin-left:auto;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.66rem;font-weight:700}.api-card__status--2xx{color:var(--ok)}.api-card__status--4xx,.api-card__status--5xx{color:var(--bad)}.api-card__about{color:var(--muted);margin:.15rem 0 0;font-size:.74rem;line-height:1.4}.api-card__out{text-transform:uppercase;letter-spacing:.04em;color:var(--method);margin-right:.3rem;font-size:.62rem;font-weight:700}.api-card__fields{flex-wrap:wrap;gap:.1rem .8rem;margin:.2rem 0 0;display:flex}.api-card__fields>div{flex-wrap:wrap;align-items:baseline;gap:.2rem;display:flex}.api-card__fields dt{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.api-card__fields dd{display:contents}.api-card__fields code{background:color-mix(in srgb, var(--border) 55%, transparent);border-radius:3px;padding:0 .25rem;font-size:.64rem}.bm{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:1rem 1.1rem}.bm__scroll{overflow-x:auto}.bm__table{border-collapse:separate;border-spacing:0;width:100%;min-width:46rem;font-size:.8rem;line-height:1.4}.bm__table th,.bm__table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.55rem .7rem;transition:background-color .15s}.bm__corner{letter-spacing:.06em;text-transform:uppercase;width:22%;color:var(--muted);font-size:.7rem;font-weight:500}.bm__broker{white-space:nowrap;font-size:.86rem;font-weight:600}.bm__badge{background:var(--accent);color:var(--panel);vertical-align:.1em;border-radius:999px;margin-left:.45rem;padding:.05rem .45rem;font-size:.66rem;font-weight:600}.bm__criterion{font-weight:600}.bm__req{color:var(--accent);margin-bottom:.1rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:500;display:block}.bm__req--nfr{color:#7a5cc4}.bm__table .is-choice{background:color-mix(in srgb, var(--accent-soft) 70%, transparent)}.bm__table thead .is-choice{border-top:2px solid var(--accent);border-radius:8px 8px 0 0}.bm__table .is-hover:not(.is-choice){background:color-mix(in srgb, var(--border) 45%, transparent)}.bm__mark{width:1.1rem;font-weight:700;display:inline-block}.bm__cell--yes .bm__mark{color:var(--ok)}.bm__cell--partial .bm__mark{color:#b7832f}.bm__cell--no .bm__mark{color:var(--bad)}.bm__note{color:var(--muted)}.bm__total{font-variant-numeric:tabular-nums;font-weight:700}.bm__table tfoot th,.bm__table tfoot td{border-bottom:0}.bm__legend{color:var(--muted);flex-wrap:wrap;gap:.4rem 1.2rem;margin:.7rem 0 0;font-size:.74rem;display:flex}.match{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);grid-template-columns:minmax(0,20rem) minmax(0,1fr);align-items:start;gap:1.25rem;padding:1rem 1.1rem;display:grid}.match__left{flex-direction:column;gap:.7rem;max-height:calc(100vh - 6.5rem);display:flex;position:sticky;top:1rem}.match__head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.match__label,.match__kind{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem}.match__progress{font-variant-numeric:tabular-nums;color:var(--muted);margin:0;font-size:.78rem}.match__progress.is-done{color:var(--ok);font-weight:600}.match__cards{overscroll-behavior:contain;gap:.4rem;min-height:8rem;margin:0;padding:0 .2rem 0 0;list-style:none;display:grid;overflow-y:auto}.match__card{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--panel);width:100%;color:var(--fg);font:inherit;text-align:left;cursor:grab;border-radius:7px;gap:.15rem;padding:.5rem .7rem;transition:border-color .15s,box-shadow .15s,opacity .15s;display:grid}.match__card:hover{box-shadow:0 2px 8px var(--shadow)}.match__card:active{cursor:grabbing}.match__card.is-picked{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.match__card.is-used{border-left-color:color-mix(in srgb, var(--ok) 60%, var(--accent))}.match__card.is-full{border-left-color:var(--ok);opacity:.55}.match__card-title{font-size:.84rem;font-weight:600}.match__card-text{color:var(--muted);font-size:.76rem;line-height:1.4}.match__card-rows{color:var(--ok);margin-top:.15rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.match__feedback{border:1px solid var(--border);border-radius:7px;flex:none;padding:.6rem .75rem;font-size:.8rem;line-height:1.45}.match__feedback p{margin:0}.match__feedback p+p{margin-top:.35rem}.match__feedback.is-ok{border-color:color-mix(in srgb, var(--ok) 45%, var(--border));background:color-mix(in srgb, var(--ok) 7%, var(--panel))}.match__feedback.is-bad{border-color:color-mix(in srgb, var(--bad) 45%, var(--border));background:var(--bad-soft)}.match__feedback.is-bad strong{color:var(--bad)}.match__feedback.is-ok strong{color:var(--ok)}.match__hint{color:var(--muted)}.match__goes-row{margin-top:.2rem;display:block}.match__goes-row code{font-size:.72rem}.match__actions{gap:1rem;display:flex}.match__link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.76rem;text-decoration:underline}.match__section+.match__section{margin-top:1.1rem}.match__kind{margin-bottom:.35rem}.match__rows{margin:0;padding:0;list-style:none}.match__row{border-bottom:1px solid var(--border);border-radius:6px;grid-template-columns:3.4rem minmax(0,1fr) minmax(0,13rem);align-items:start;gap:.6rem;padding:.5rem .55rem;font-size:.8rem;line-height:1.4;transition:background-color .15s,box-shadow .15s;display:grid}.match__row.is-target{cursor:pointer}.match__row.is-target:hover,.match__row.is-over{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.match__section--nfr .match__id{color:#7a5cc4}.match__row.is-miss{background:var(--bad-soft);animation:.4s match-miss}@keyframes match-miss{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.match__id{color:var(--accent);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.match__answers{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.match__row:not(.is-answered) .match__answers{border:1px dashed var(--border);border-radius:5px;min-height:1.4rem}.match__chip{background:color-mix(in srgb, var(--ok) 12%, var(--panel));color:var(--ok);white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}@media (width<=52rem){.match{grid-template-columns:minmax(0,1fr)}.match__left{max-height:none;position:static}.match__cards{max-height:22rem}.match__row{grid-template-columns:3.2rem minmax(0,1fr)}.match__answers{grid-column:2;justify-content:flex-start}}.lc{--lc-client:var(--muted);--lc-command:var(--accent);--lc-worker:var(--ok);--lc-scheduler:#7a5cc4;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:1rem 1.1rem}.lc__stage{height:var(--flow-height,380px);border:1px solid var(--border);background:var(--bg);border-radius:8px;overflow:hidden}.lc-edge--client,.lc__actor--client,.lc__move--client{--lc:var(--lc-client)}.lc-edge--command,.lc__actor--command,.lc__move--command{--lc:var(--lc-command)}.lc-edge--worker,.lc__actor--worker,.lc__move--worker{--lc:var(--lc-worker)}.lc-edge--scheduler,.lc__actor--scheduler,.lc__move--scheduler{--lc:var(--lc-scheduler)}.lc-edge path.react-flow__edge-path{stroke:var(--lc);stroke-width:1.6px;transition:opacity .2s}.lc-edge .react-flow__arrowhead polyline,.lc-edge marker path{stroke:var(--lc);fill:var(--lc)}.lc-edge.is-far{opacity:.25}.lc .react-flow__edge-textbg{fill:var(--panel)}.lc .react-flow__edge-text{fill:var(--fg);font-size:11px}.lc-start{background:var(--fg);border-radius:50%;width:14px;height:14px}.lc-state{border:1.5px solid var(--border);background:var(--panel);min-width:7.5rem;color:var(--fg);cursor:pointer;border-radius:999px;padding:.55rem .9rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;font-weight:600;transition:opacity .2s,border-color .2s,box-shadow .2s}.lc-state--terminal{box-shadow:0 0 0 3px var(--panel), 0 0 0 4.5px var(--border)}.lc-state--succeeded{border-color:var(--ok);color:var(--ok)}.lc-state--failed{border-color:var(--bad);color:var(--bad)}.lc-state--cancelled{color:var(--muted)}.lc-state.is-on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lc-state--terminal.is-on{box-shadow:0 0 0 3px var(--panel), 0 0 0 4.5px var(--accent)}.lc-state.is-far{opacity:.4}.lc__legend{color:var(--muted);flex-wrap:wrap;gap:.35rem 1rem;margin:.7rem 0 0;padding:0;font-size:.74rem;list-style:none;display:flex}.lc__actor:before{content:"";vertical-align:middle;background:var(--lc);width:1.1rem;height:2px;margin-right:.4rem;display:inline-block}.lc__about{border-top:1px solid var(--border);margin-top:.8rem;padding-top:.8rem}.lc__name{align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.lc__badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:0 .45rem;font-size:.68rem;font-weight:600}.lc__text{margin:.35rem 0 0;font-size:.85rem;line-height:1.5}.lc__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:.7rem 0 .3rem;font-size:.7rem}.lc__moves{gap:.3rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.lc__move{border-left:2px solid var(--lc);align-items:baseline;gap:.6rem;padding-left:.6rem;display:flex}.lc__move code{flex:none;font-size:.76rem}.lc__move span{color:var(--muted)}.likec4-stage{position:relative}.likec4-note{z-index:4;pointer-events:none;position:absolute}.likec4-group{z-index:3;pointer-events:none;border:1.5px dashed var(--muted);background:color-mix(in srgb, var(--accent) 4%, transparent);border-radius:8px;position:absolute}.likec4-group__title{background:var(--muted);color:var(--panel);letter-spacing:.04em;text-transform:uppercase;border-radius:0 8px;padding:.1rem .5rem;font-size:.68rem;position:absolute;top:-1px;right:-1px}.swarm{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:1.25rem}.swarm__toggle{color:var(--muted);cursor:pointer;align-items:center;gap:.35rem;margin-left:.4rem;font-size:.78rem;display:inline-flex}.swarm__toggle input{accent-color:var(--accent)}.swarm__step{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .65rem;font-size:.78rem}.swarm__step:disabled{opacity:.45;cursor:default}.swarm__stage{height:var(--flow-height,440px);border:1px solid var(--border);background:var(--bg);border-radius:8px;overflow:hidden}.swarm-node{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:.35rem;padding:.5rem .6rem;font-size:.75rem;display:grid}.swarm-node--seed{border-color:var(--accent);background:var(--accent-soft)}.swarm-node.is-full{border-color:var(--ok)}.swarm-node.is-gone{opacity:.35;border-style:dashed}.swarm-node .swarm-node__handle{top:50%;left:50%;transform:translate(-50%,-50%)}.swarm-node__title{font-weight:600}.swarm-node__pieces{grid-template-columns:repeat(8,.7rem);gap:2px;display:grid}.swarm-node__pieces i{background:var(--border);border-radius:2px;height:.7rem}.swarm-node__pieces i.is-on{background:var(--accent)}.swarm-node__pieces i.is-new{background:var(--ok)}.swarm-edge .react-flow__edge-path{stroke:var(--ok);stroke-width:2.5px}.swarm-edge--seed .react-flow__edge-path{stroke:var(--accent)}.swarm__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.9rem 0 0;display:grid}.swarm__stats div{border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem}.swarm__stats div.is-bad{border-color:var(--bad);background:var(--bad-soft)}.swarm__stats dt{color:var(--muted);font-size:.72rem}.swarm__stats dd{font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:1.1rem}.swarm .noisy__verdict.is-bad{color:var(--bad)}.to-top[data-astro-cid-vy5be4ad]{z-index:39;border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, transparent);backdrop-filter:blur(8px);color:var(--muted);box-shadow:0 4px 18px var(--shadow);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .85rem .3rem .3rem;font-size:.8rem;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex;position:fixed;bottom:1.25rem;right:1rem}.to-top[data-astro-cid-vy5be4ad][hidden]{display:none}.to-top[data-astro-cid-vy5be4ad]:hover,.to-top[data-astro-cid-vy5be4ad]:focus-visible{color:var(--accent);border-color:var(--accent)}.to-top__ring[data-astro-cid-vy5be4ad]{place-items:center;width:30px;height:30px;display:grid;position:relative}.to-top__ring[data-astro-cid-vy5be4ad]>svg[data-astro-cid-vy5be4ad]:first-child{position:absolute;inset:0;transform:rotate(-90deg)}.to-top__track[data-astro-cid-vy5be4ad],.to-top__progress[data-astro-cid-vy5be4ad]{fill:none;stroke-width:2.5px}.to-top__track[data-astro-cid-vy5be4ad]{stroke:var(--border)}.to-top__progress[data-astro-cid-vy5be4ad]{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}.to-top__arrow[data-astro-cid-vy5be4ad]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.to-top__label[data-astro-cid-vy5be4ad]{display:inline-flex}.to-top__char[data-astro-cid-vy5be4ad]{display:inline-block}@media (width<=40rem){.to-top[data-astro-cid-vy5be4ad]{left:1rem;right:auto}}
