@layer base{:root{--background0:#fff;--background1:#ddd;--background2:#bbb;--background3:#999;--foreground0:#000;--foreground1:#444;--foreground2:#888;--font-size:16px;--line-height:1.3;--font-weight-bold:700;--font-weight-normal:400;--font-family:monospace;--box-border-color:var(--foreground0)}[data-webtui-theme=dark]{--background0:#000;--background1:#222;--background2:#444;--background3:#666;--foreground0:#fff;--foreground1:#ccc;--foreground2:#999}body,html{background-color:var(--background0);color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height,1.5);font-variant-ligatures:common-ligatures;word-break:break-all}*{box-sizing:border-box;outline:none;margin:0;padding:0}}@layer utils{@property --box-rounded-radius{syntax:"<length>";inherits:false;initial-value:4px}@property --box-border-width{syntax:"<length>";inherits:false;initial-value:2px}@property --box-double-border-width{syntax:"<length>";inherits:false;initial-value:1px}[box-=square],[box-=round],[box-=double]{isolation:isolate;padding:1lh 1ch;position:relative}[box-=square]:before,[box-=round]:before,[box-=double]:before{content:"";width:calc(100% - 1ch - var(--box-border-width));height:calc(100% - 1lh - var(--box-border-width));border:solid var(--box-border-width) var(--box-border-color);z-index:-1;position:absolute;top:50%;left:50%;translate:-50% -50%}[box-=square][box-=round]:before,[box-=round][box-=round]:before,[box-=double][box-=round]:before{border-radius:var(--box-rounded-radius)}[box-=square][box-=round]:after,[box-=round][box-=round]:after,[box-=double][box-=round]:after{border-radius:calc(var(--box-rounded-radius) + 2px)}[box-=square][box-=double]:before,[box-=round][box-=double]:before,[box-=double][box-=double]:before{border-width:var(--box-double-border-width)}[box-=square][box-=double]:after,[box-=round][box-=double]:after,[box-=double][box-=double]:after{content:"";width:calc(100% - 1ch + var(--box-double-border-width) * 2);height:calc(100% - 1lh + var(--box-double-border-width) * 2);border:solid var(--box-double-border-width) var(--box-border-color);z-index:-1;position:absolute;top:50%;left:50%;translate:-50% -50%}[box-=square][shear-=both],[box-=round][shear-=both],[box-=double][shear-=both]{padding-top:0;padding-bottom:0}[box-=square][shear-=top],[box-=round][shear-=top],[box-=double][shear-=top]{padding-top:0}[box-=square][shear-=bottom],[box-=round][shear-=bottom],[box-=double][shear-=bottom]{padding-bottom:0}}@layer components{button,input[type=button],input[type=submit],input[type=reset],[is-~=button]{--button-primary:var(--foreground0);--button-secondary:var(--background0);--mapped-primary:var(--button-primary);--mapped-secondary:var(--button-secondary);color:var(--mapped-secondary);background-color:var(--mapped-primary);font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);border:none;outline:none;justify-content:center;align-items:center;padding:0 2ch;display:inline-flex}button[box-],input[type=button][box-],input[type=submit][box-],input[type=reset][box-],[is-~=button][box-]{color:var(--mapped-primary);--box-border-color:var(--mapped-primary);background-color:#0000}button:focus,input[type=button]:focus,input[type=submit]:focus,input[type=reset]:focus,[is-~=button]:focus{font-weight:700;text-decoration:underline}button:active,input[type=button]:active,input[type=submit]:active,input[type=reset]:active,[is-~=button]:active{--mapped-primary:var(--mapped-secondary);--mapped-secondary:var(--mapped-primary)}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,[is-~=button]:disabled{pointer-events:none;text-decoration:line-through}button[size-=small],input[type=button][size-=small],input[type=submit][size-=small],input[type=reset][size-=small],[is-~=button][size-=small]{height:1lh;padding:0 1ch}button:not([size-]):not([box-]),button[size-=default]:not([box-]),input[type=button]:not([size-]):not([box-]),input[type=button][size-=default]:not([box-]),input[type=submit]:not([size-]):not([box-]),input[type=submit][size-=default]:not([box-]),input[type=reset]:not([size-]):not([box-]),input[type=reset][size-=default]:not([box-]),[is-~=button]:not([size-]):not([box-]),[is-~=button][size-=default]:not([box-]){background-color:#0000;background-image:linear-gradient(to bottom,transparent 0,transparent .5lh,var(--mapped-primary) .5lh,var(--mapped-primary) calc(100% - .5lh),transparent calc(100% - .5lh),transparent)}button[size-=large],button[size-=default],button:not([size-]),input[type=button][size-=large],input[type=button][size-=default],input[type=button]:not([size-]),input[type=submit][size-=large],input[type=submit][size-=default],input[type=submit]:not([size-]),input[type=reset][size-=large],input[type=reset][size-=default],input[type=reset]:not([size-]),[is-~=button][size-=large],[is-~=button][size-=default],[is-~=button]:not([size-]){height:3lh}button[variant-=foreground0],button:not([variant-]),input[type=button][variant-=foreground0],input[type=button]:not([variant-]),input[type=submit][variant-=foreground0],input[type=submit]:not([variant-]),input[type=reset][variant-=foreground0],input[type=reset]:not([variant-]),[is-~=button][variant-=foreground0],[is-~=button]:not([variant-]){--button-primary:var(--foreground0);--button-secondary:var(--background0)}button[variant-=foreground1],input[type=button][variant-=foreground1],input[type=submit][variant-=foreground1],input[type=reset][variant-=foreground1],[is-~=button][variant-=foreground1]{--button-primary:var(--foreground1);--button-secondary:var(--background0)}button[variant-=foreground2],input[type=button][variant-=foreground2],input[type=submit][variant-=foreground2],input[type=reset][variant-=foreground2],[is-~=button][variant-=foreground2]{--button-primary:var(--foreground2);--button-secondary:var(--background0)}button[variant-=background0],input[type=button][variant-=background0],input[type=submit][variant-=background0],input[type=reset][variant-=background0],[is-~=button][variant-=background0]{--button-primary:var(--background0);--button-secondary:var(--foreground0)}button[variant-=background1],input[type=button][variant-=background1],input[type=submit][variant-=background1],input[type=reset][variant-=background1],[is-~=button][variant-=background1]{--button-primary:var(--background1);--button-secondary:var(--foreground0)}button[variant-=background2],input[type=button][variant-=background2],input[type=submit][variant-=background2],input[type=reset][variant-=background2],[is-~=button][variant-=background2]{--button-primary:var(--background2);--button-secondary:var(--foreground0)}button[variant-=background3],input[type=button][variant-=background3],input[type=submit][variant-=background3],input[type=reset][variant-=background3],[is-~=button][variant-=background3]{--button-primary:var(--background3);--button-secondary:var(--foreground0)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);font-weight:var(--font-weight-bold)}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{color:inherit;background-color:var(--background1);padding:0 1ch}ol{list-style-position:inside}ol li>ol{margin-left:2ch}ul{list-style-type:none}ul li:before{color:var(--list-marker-color,inherit);content:"- "}ul[marker-=bullet] li:before{content:"• "}ul[marker-~=tree] li:before{content:"├ "}ul[marker-~=tree]:not([marker-^=open]) li:first-of-type:before{content:"┌ "}ul[marker-~=tree]:not([marker-$=open]) li:last-of-type:before{content:"└ "}ul[marker-~=round-tree] li:before{content:"├ "}ul[marker-~=round-tree]:not([marker-^=open]) li:first-of-type:before{content:"╭ "}ul[marker-~=round-tree]:not([marker-$=open]) li:last-of-type:before{content:"╰ "}ul li>ul{margin-left:2ch}p,blockquote,li,[is-~=typography-block]{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);color:var(--foreground1)}p:is(blockquote),blockquote:is(blockquote),li:is(blockquote),[is-~=typography-block]:is(blockquote){padding-left:2ch;position:relative}p:is(blockquote):before,blockquote:is(blockquote):before,li:is(blockquote):before,[is-~=typography-block]:is(blockquote):before{content:"";width:var(--box-border-width,2px);background-color:var(--blockquote-indent-color,var(--background2));height:100%;position:absolute;top:0;left:.5ch;translate:-50%}p strong,blockquote strong,li strong,[is-~=typography-block] strong{font-weight:var(--font-weight-bold);color:var(--foreground0)}p a,blockquote a,li a,[is-~=typography-block] a{color:var(--foreground2);text-decoration:underline}p code,blockquote code,li code,[is-~=typography-block] code{background-color:var(--background1);padding-left:1ch;padding-right:1ch;display:inline-block}[is-~=badge]{color:var(--badge-text);background-image:linear-gradient(90deg,transparent 0,transparent calc(1ch - 1px),var(--badge-color) calc(1ch - 1px),var(--badge-color) calc(100% - 1ch + 1px),transparent calc(100% - 1ch + 1px),transparent);vertical-align:top;white-space:nowrap;height:1lh;line-height:1lh;display:inline-flex}[is-~=badge][variant-=foreground0],[is-~=badge]:not([variant-]){--badge-color:var(--foreground0);--badge-text:var(--background0)}[is-~=badge][variant-=foreground1]{--badge-color:var(--foreground1);--badge-text:var(--background0)}[is-~=badge][variant-=foreground2]{--badge-color:var(--foreground2);--badge-text:var(--background0)}[is-~=badge][variant-=background0]{--badge-color:var(--background0);--badge-text:var(--foreground0)}[is-~=badge][variant-=background1]{--badge-color:var(--background1);--badge-text:var(--foreground0)}[is-~=badge][variant-=background2]{--badge-color:var(--background2);--badge-text:var(--foreground0)}[is-~=badge][variant-=background3]{--badge-color:var(--background3);--badge-text:var(--foreground0)}[is-~=badge]:before,[is-~=badge]:after{content:"";vertical-align:middle;background-color:var(--badge-color);width:1ch;height:1lh;display:inline-block;overflow:hidden}[is-~=badge][cap-^=round]:before{border-top-left-radius:1lh;border-bottom-left-radius:1lh}[is-~=badge][cap-$=round]:after{border-top-right-radius:1lh;border-bottom-right-radius:1lh}[is-~=badge][cap-^=triangle]:before{clip-path:polygon(100% 0,100% 100%,0 50%)}[is-~=badge][cap-$=triangle]:after{clip-path:polygon(0 0,0 100%,100% 50%)}[is-~=badge][cap-^=slant-top]:before{clip-path:polygon(0 0,100% 0,100% 100%)}[is-~=badge][cap-$=slant-top]:after{clip-path:polygon(0 0,100% 0,0 100%)}[is-~=badge][cap-^=slant-bottom]:before{clip-path:polygon(100% 0,100% 100%,0 100%)}[is-~=badge][cap-$=slant-bottom]:after{clip-path:polygon(0 0,100% 100%,0 100%)}[is-~=badge][cap-^=ribbon]:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,100% 50%)}[is-~=badge][cap-$=ribbon]:after{clip-path:polygon(0 0,100% 0,0% 50%,100% 100%,0% 100%)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=month],input[type=time],input[type=week],input:not([type]),[is-~=input]{background-color:var(--background1);color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height);border:none;outline:none;min-width:24ch}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=url]::placeholder,input[type=number]::placeholder,input[type=date]::placeholder,input[type=datetime]::placeholder,input[type=datetime-local]::placeholder,input[type=month]::placeholder,input[type=time]::placeholder,input[type=week]::placeholder,input:not([type])::placeholder,[is-~=input]::placeholder{color:var(--foreground2)}input[type=text]:not([size-]),input[type=email]:not([size-]),input[type=password]:not([size-]),input[type=search]:not([size-]),input[type=tel]:not([size-]),input[type=url]:not([size-]),input[type=number]:not([size-]),input[type=date]:not([size-]),input[type=datetime]:not([size-]),input[type=datetime-local]:not([size-]),input[type=month]:not([size-]),input[type=time]:not([size-]),input[type=week]:not([size-]),input:not([type]):not([size-]),[is-~=input]:not([size-]){height:1lh;padding:0 1ch}input[type=text][size-=small],input[type=email][size-=small],input[type=password][size-=small],input[type=search][size-=small],input[type=tel][size-=small],input[type=url][size-=small],input[type=number][size-=small],input[type=date][size-=small],input[type=datetime][size-=small],input[type=datetime-local][size-=small],input[type=month][size-=small],input[type=time][size-=small],input[type=week][size-=small],input:not([type])[size-=small],[is-~=input][size-=small]{height:1lh;padding:0}input[type=text][size-=large],input[type=email][size-=large],input[type=password][size-=large],input[type=search][size-=large],input[type=tel][size-=large],input[type=url][size-=large],input[type=number][size-=large],input[type=date][size-=large],input[type=datetime][size-=large],input[type=datetime-local][size-=large],input[type=month][size-=large],input[type=time][size-=large],input[type=week][size-=large],input:not([type])[size-=large],[is-~=input][size-=large]{height:3lh;padding:1lh 2ch}textarea,[is-~=textarea]{background-color:var(--background1);color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height);resize:vertical;border:none;outline:none;min-width:24ch}textarea::placeholder,[is-~=textarea]::placeholder{color:var(--foreground2)}textarea:not([size-]),[is-~=textarea]:not([size-]){min-height:2lh;padding:0 1ch}textarea[size-=small],[is-~=textarea][size-=small]{min-height:2lh;padding:0}textarea[size-=large],[is-~=textarea][size-=large]{min-height:4lh;padding:1lh 2ch}@property --popover-offset-x{syntax:"<length>";inherits:true;initial-value:0}@property --popover-offset-y{syntax:"<length>";inherits:true;initial-value:0}details[is-~=popover]{--popover-backdrop-color:transparent;position:relative}details[is-~=popover] summary:focus{text-decoration:underline}details[is-~=popover] summary::-webkit-details-marker{display:none}details[is-~=popover] summary::marker{content:"";display:none}details[is-~=popover][open] summary:before{content:"";z-index:1;background-color:var(--popover-backdrop-color);width:100vw;height:100vh;display:block;position:fixed;inset:0}details[is-~=popover][open] summary+*{z-index:2;position:absolute}details[is-~=popover][open] summary+[position-~=baseline-left],details[is-~=popover][open] summary+:not([position-]){left:0%}details[is-~=popover][open] summary+[position-~=baseline-right]{left:100%;translate:-100%}details[is-~=popover][open] summary+[position-~=left]{left:calc(var(--popover-offset-x) * -1);translate:-100%}details[is-~=popover][open] summary+[position-~=right]{left:calc(100% + var(--popover-offset-x))}details[is-~=popover][open] summary+[position-~=baseline-top]{top:0%}details[is-~=popover][open] summary+[position-~=baseline-bottom]{top:100%;transform:translateY(-100%)}details[is-~=popover][open] summary+[position-~=top]{top:calc(var(--popover-offset-y) * -1);transform:translateY(-100%)}details[is-~=popover][open] summary+[position-~=bottom],details[is-~=popover][open] summary+:not([position-]){top:calc(100% + var(--popover-offset-y))}input[type=checkbox][is-=checkbox]{--placeholder-content:"[ ]";--placeholder-background:var(--background1);--placeholder-color:var(--foreground2);--checked-content:"✓";--checked-background:transparent;--checked-color:var(--foreground0);-webkit-appearance:none;-moz-appearance:none;appearance:none;width:3ch;min-width:initial;vertical-align:text-top;font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);outline:none;display:inline-block;position:relative}input[type=checkbox][is-=checkbox]:before,input[type=checkbox][is-=checkbox]:after{text-align:center;width:3ch;height:1lh;position:absolute;inset:0}input[type=checkbox][is-=checkbox]:before{content:var(--placeholder-content);background-color:var(--placeholder-background);color:var(--placeholder-color)}input[type=checkbox][is-=checkbox]:checked:after{content:var(--checked-content);background-color:var(--checked-background);color:var(--checked-color)}input[type=checkbox][is-=checkbox]:disabled:before,input[type=checkbox][is-=checkbox]:disabled:after{color:var(--placeholder-color);text-decoration:line-through;text-decoration-color:var(--placeholder-foreground)}input[type=checkbox][is-=checkbox]:focus,input[type=checkbox][is-=checkbox]:focus:before,input[type=checkbox][is-=checkbox]:focus:after{text-decoration:underline}@property --separator-width{syntax:"<length>";inherits:true;initial-value:2px}[is-~=separator]{--separator-color:var(--box-border-color);--separator-background:transparent;display:inline-flex;position:relative}[is-~=separator][direction-=x],[is-~=separator][direction-=horizontal],[is-~=separator]:not([direction-]){background-image:linear-gradient(0deg,var(--separator-background) 0,var(--separator-background) calc(.5lh - var(--separator-width) / 2),var(--separator-color) calc(.5lh - (var(--separator-width) / 2)),var(--separator-color) calc(.5lh + (var(--separator-width) / 2)),var(--separator-background) calc(.5lh + (var(--separator-width) / 2)),var(--separator-background));height:1lh}[is-~=separator][direction-=x][cap-^=bisect]:before,[is-~=separator][direction-=horizontal][cap-^=bisect]:before,[is-~=separator]:not([direction-])[cap-^=bisect]:before{left:-.5ch}[is-~=separator][direction-=x][cap-$=bisect]:after,[is-~=separator][direction-=horizontal][cap-$=bisect]:after,[is-~=separator]:not([direction-])[cap-$=bisect]:after{right:-.5ch}[is-~=separator][direction-=x][cap-^=edge]:not([cap-=edge]),[is-~=separator][direction-=horizontal][cap-^=edge]:not([cap-=edge]),[is-~=separator]:not([direction-])[cap-^=edge]:not([cap-=edge]){clip-path:inset(0 -.5ch 0 .5ch)}[is-~=separator][direction-=x][cap-$=edge]:not([cap-=edge]),[is-~=separator][direction-=horizontal][cap-$=edge]:not([cap-=edge]),[is-~=separator]:not([direction-])[cap-$=edge]:not([cap-=edge]){clip-path:inset(0 .5ch 0 -.5ch)}[is-~=separator][direction-=x][cap-=edge],[is-~=separator][direction-=horizontal][cap-=edge],[is-~=separator]:not([direction-])[cap-=edge]{clip-path:inset(0 .5ch)}[is-~=separator][direction-=y],[is-~=separator][direction-=vertical]{background-image:linear-gradient(to right,var(--separator-background) 0,var(--separator-background) calc(.5ch - (var(--separator-width) / 2)),var(--separator-color) calc(.5ch - (var(--separator-width) / 2)),var(--separator-color) calc(.5ch + (var(--separator-width) / 2)),var(--separator-background) calc(.5ch + (var(--separator-width) / 2)),var(--separator-background));width:1ch}[is-~=separator][direction-=y][cap-^=bisect]:before,[is-~=separator][direction-=vertical][cap-^=bisect]:before{top:-.5lh}[is-~=separator][direction-=y][cap-$=bisect]:after,[is-~=separator][direction-=vertical][cap-$=bisect]:after{bottom:-.5lh}[is-~=separator][direction-=y][cap-^=edge]:not([cap-=edge]),[is-~=separator][direction-=vertical][cap-^=edge]:not([cap-=edge]){clip-path:inset(.5lh 0 -.5lh)}[is-~=separator][direction-=y][cap-$=edge]:not([cap-=edge]),[is-~=separator][direction-=vertical][cap-$=edge]:not([cap-=edge]){clip-path:inset(-.5lh 0 .5lh)}[is-~=separator][direction-=y][cap-=edge],[is-~=separator][direction-=vertical][cap-=edge]{clip-path:inset(.5lh 0)}[is-~=separator][cap-]:before,[is-~=separator][cap-]:after{content:"";background-image:inherit;width:1ch;height:1lh;position:absolute}[is-~=separator][variant-=foreground0]{--separator-color:var(--foreground0)}[is-~=separator][variant-=foreground1]{--separator-color:var(--foreground1)}[is-~=separator][variant-=foreground2]{--separator-color:var(--foreground2)}[is-~=separator][variant-=background0]{--separator-color:var(--background0)}[is-~=separator][variant-=background1]{--separator-color:var(--background1)}[is-~=separator][variant-=background2]{--separator-color:var(--background2)}[is-~=separator][variant-=background3]{--separator-color:var(--background3)}input[type=radio]{--placeholder-content:"( )";--placeholder-background:var(--background1);--placeholder-color:var(--foreground2);--checked-content:"*";--checked-background:transparent;--checked-color:var(--foreground0);-webkit-appearance:none;-moz-appearance:none;appearance:none;width:3ch;min-width:initial;vertical-align:text-top;font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);outline:none;display:inline-block;position:relative}input[type=radio]:before,input[type=radio]:after{text-align:center;width:3ch;height:1lh;position:absolute;inset:0}input[type=radio]:before{content:var(--placeholder-content);background-color:var(--placeholder-background);color:var(--placeholder-color)}input[type=radio]:checked:after{content:var(--checked-content);background-color:var(--checked-background);color:var(--checked-color)}input[type=radio]:disabled:before,input[type=radio]:disabled:after{color:var(--placeholder-color);text-decoration:line-through;text-decoration-color:var(--placeholder-foreground)}input[type=radio]:focus,input[type=radio]:focus:before,input[type=radio]:focus:after{text-decoration:underline}pre,[is-~=pre]{--pre-background:var(--background1);background-color:var(--pre-background);white-space:pre-wrap;color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height);border:none;outline:none;padding:1lh 1ch}pre[size-=small],[is-~=pre][size-=small]{padding:0 1ch}pre:not([size-]),[is-~=pre]:not([size-]){background-color:#0000;background-image:linear-gradient(to bottom,transparent,transparent .5lh,var(--pre-background) .5lh,var(--pre-background) calc(100% - .5lh),transparent calc(100% - .5lh),transparent)}@property --tooltip-offset-x{syntax:"<length>";inherits:true;initial-value:0}@property --tooltip-offset-y{syntax:"<length>";inherits:true;initial-value:0}@property --tooltip-delay{syntax:"<time>";inherits:true;initial-value:.5s}[is-~=tooltip]{position:relative}[is-~=tooltip] [is-~=tooltip-content]{opacity:0;transition:all linear;position:absolute;overflow:hidden;transform:scale(0)}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content]{opacity:1;z-index:2;transition-delay:var(--tooltip-delay);transform:scale(1)}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=baseline-left],[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content]:not([position-]),[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=baseline-left],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content]:not([position-]),[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=baseline-left],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content]:not([position-]){left:0%}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=baseline-right],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=baseline-right],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=baseline-right]{left:100%;translate:-100%}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=left],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=left],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=left]{left:calc(var(--tooltip-offset-x) * -1);translate:-100%}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=right],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=right],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=right]{left:calc(100% + var(--tooltip-offset-x))}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=baseline-top],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=baseline-top],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=baseline-top]{top:0%}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=baseline-bottom],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=baseline-bottom],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=baseline-bottom]{top:100%;transform:translateY(-100%)}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=top],[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content]:not([position-]),[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=top],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content]:not([position-]),[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=top],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content]:not([position-]){top:calc(var(--tooltip-offset-y) * -1);transform:translateY(-100%)}[is-~=tooltip]:has([is-~=tooltip-trigger]:hover)>[is-~=tooltip-content][position-~=bottom],[is-~=tooltip]:has([is-~=tooltip-trigger]:focus)>[is-~=tooltip-content][position-~=bottom],[is-~=tooltip]:has([is-~=tooltip-content]:hover)>[is-~=tooltip-content][position-~=bottom]{top:calc(100% + var(--tooltip-offset-y))}@property --table-border-width{syntax:"<length>";inherits:true;initial-value:2px}table{--table-border-color:var(--box-border-color);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height);text-align:left;border-spacing:0;border:none;outline:none;position:relative}table th{font-weight:var(--font-weight-bold)}table th,table td{padding-right:1ch;position:relative}table th:last-of-type,table td:last-of-type{padding-right:0}table[divide-=vertical] th:not(:last-of-type):before,table[divide-=vertical] td:not(:last-of-type):before,table[divide-=both] th:not(:last-of-type):before,table[divide-=both] td:not(:last-of-type):before,table:not([divide-]) th:not(:last-of-type):before,table:not([divide-]) td:not(:last-of-type):before{content:"";right:calc(.5ch - var(--table-border-width) / 2);border-left:solid var(--table-border-width) var(--table-border-color);height:100%;position:absolute;bottom:0}table[box-] :is(table[divide-=vertical] th:not(:last-of-type)):before,table[box-] :is(table[divide-=vertical] td:not(:last-of-type)):before,table[box-] :is(table[divide-=both] th:not(:last-of-type)):before,table[box-] :is(table[divide-=both] td:not(:last-of-type)):before,table[box-] :is(table:not([divide-]) th:not(:last-of-type)):before,table[box-] :is(table:not([divide-]) td:not(:last-of-type)):before{bottom:calc(-.5lh - var(--table-border-width) / 2);border-left:solid var(--table-border-width) var(--table-border-color);height:calc(100% + 1lh)}table[divide-=horizontal] tr,table[divide-=both] tr,table:not([divide-]) tr{position:relative}table[divide-=horizontal] tr th,table[divide-=horizontal] tr td,table[divide-=both] tr th,table[divide-=both] tr td,table:not([divide-]) tr th,table:not([divide-]) tr td{padding-bottom:1lh}table[divide-=horizontal] tr th:after,table[divide-=horizontal] tr td:after,table[divide-=both] tr th:after,table[divide-=both] tr td:after,table:not([divide-]) tr th:after,table:not([divide-]) tr td:after{content:"";left:0;bottom:calc(.5lh - var(--table-border-width) / 2);border-top:solid var(--table-border-width) var(--table-border-color);width:100%;position:absolute}table[box-] :is(table[divide-=horizontal] tr th):after,table[box-] :is(table[divide-=horizontal] tr td):after,table[box-] :is(table[divide-=both] tr th):after,table[box-] :is(table[divide-=both] tr td):after,table[box-] :is(table:not([divide-]) tr th):after,table[box-] :is(table:not([divide-]) tr td):after{left:calc(-.5ch - var(--table-border-width) / 2);border-top:solid var(--table-border-width) var(--table-border-color);width:calc(100% + 1ch)}table[divide-=horizontal] :last-child tr:last-child th,table[divide-=horizontal] :last-child tr:last-child td,table[divide-=both] :last-child tr:last-child th,table[divide-=both] :last-child tr:last-child td,table:not([divide-]) :last-child tr:last-child th,table:not([divide-]) :last-child tr:last-child td{padding-bottom:0}table[divide-=horizontal] :last-child tr:last-child th:after,table[divide-=horizontal] :last-child tr:last-child td:after,table[divide-=both] :last-child tr:last-child th:after,table[divide-=both] :last-child tr:last-child td:after,table:not([divide-]) :last-child tr:last-child th:after,table:not([divide-]) :last-child tr:last-child td:after{display:none}input[type=checkbox][is-=switch]{--switch-thumb-color:var(--foreground2);--switch-track-color:var(--background1);--switch-thin-track-width:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:4ch;height:1lh;min-width:initial;vertical-align:text-top;font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);background-color:#0000;outline:none;display:inline-block;position:relative}input[type=checkbox][is-=switch]:before{content:"";background:var(--switch-track-color);width:4ch;height:1lh;position:absolute;top:50%;left:0;transform:translateY(-50%)}input[type=checkbox][is-=switch]:after{content:"";background:var(--switch-thumb-color);width:2ch;height:1lh;position:absolute;left:0}input[type=checkbox][is-=switch]:checked:after{left:unset;--switch-thumb-color:var(--foreground0);right:0}input[type=checkbox][is-=switch]:disabled{--switch-thumb-color:var(--background2);pointer-events:none}input[type=checkbox][is-=switch]:disabled:checked:after{--switch-thumb-color:var(--background2)}input[type=checkbox][is-=switch][size-=small],input[type=checkbox][is-=switch][size-=small]:before{width:2ch}input[type=checkbox][is-=switch][size-=small]:after{width:1ch}input[type=checkbox][is-=switch][bar-=thin]:before{height:.5lh}input[type=checkbox][is-=switch][bar-=line]:before{height:var(--switch-thin-track-width)}label:has(input[type=checkbox][is-=switch]){align-items:flex-start;gap:1ch;max-width:fit-content;display:inline-flex}label:has(input[type=checkbox][is-=switch]:focus){font-weight:700;text-decoration:underline}label:has(input[type=checkbox][is-=switch]:disabled){color:var(--foreground2);text-decoration:line-through}input[type=range]{--range-track-color:var(--background1);--range-thumb-color:var(--foreground2);--range-thumb-color-focus:var(--foreground0);--range-track-height:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:20ch;height:1lh;font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);background:0 0;outline:none;position:relative}input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--range-track-height);background:var(--range-track-color);border:none;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--range-thumb-color);box-sizing:border-box;background:0 0;border-radius:0;width:1ch;height:1lh;position:relative;top:50%;transform:translateY(-50%)}input[type=range]:not(:disabled):focus::-webkit-slider-thumb,input[type=range]:not(:disabled):active::-webkit-slider-thumb{background:var(--range-thumb-color-focus);border:none}input[type=range]::-moz-range-track{width:100%;height:var(--range-track-height);background:var(--range-track-color);border:none;outline:none}input[type=range]::-moz-range-thumb{border:1px solid var(--range-thumb-color);box-sizing:border-box;background:0 0;border-radius:0;width:1ch;height:1lh}input[type=range]:not(:disabled):focus::-moz-range-thumb,input[type=range]:not(:disabled):active::-moz-range-thumb{background:var(--range-thumb-color-focus);border:none}input[type=range]:disabled{--range-track-color:var(--background2);--range-thumb-color:var(--foreground2);pointer-events:none;opacity:.6}input[type=range][bar-=thick]{--range-track-height:1lh}input[type=range][bar-=thick]::-webkit-slider-thumb{height:1lh}input[type=range][bar-=thick]::-moz-range-thumb{height:1lh}input[type=range][bar-=line]{--range-track-height:1px}label:has(input[type=range]){align-items:center;gap:1ch;max-width:fit-content;display:inline-flex}label:has(input[type=range]:focus){font-weight:700;text-decoration:underline}label:has(input[type=range]:disabled){color:var(--foreground2);text-decoration:line-through}@property --dialog-offset-x{syntax:"<length>";inherits:true;initial-value:0}@property --dialog-offset-y{syntax:"<length>";inherits:true;initial-value:0}@property --dialog-max-width{syntax:"<length>";inherits:true;initial-value:0}@property --dialog-max-height{syntax:"<length>";inherits:true;initial-value:0}dialog{--dialog-offset-top:auto;--dialog-offset-right:auto;--dialog-offset-bottom:auto;--dialog-offset-left:auto;background-color:var(--background0);color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);max-width:var(--dialog-max-width);max-height:var(--dialog-max-height);inset:var(--dialog-offset-top) var(--dialog-offset-right) var(--dialog-offset-bottom) var(--dialog-offset-left);border:none;outline:none;position:absolute;overflow:hidden}dialog[open],dialog:popover-open{flex-direction:column;display:flex}dialog[size-=full]{--dialog-max-width:100vw;--dialog-max-height:100vh}dialog[size-=default],dialog:not([size-]){--dialog-max-width:64ch;--dialog-max-height:24lh}dialog[size-=small]{--dialog-max-width:48ch;--dialog-max-height:16lh}dialog[container-^=auto],dialog:not([container-]){width:auto}dialog[container-^=fill]{width:calc(100% - var(--dialog-offset-x) * 2)}dialog[container-$=auto],dialog:not([container-]){height:auto}dialog[container-$=fill]{height:calc(100% - var(--dialog-offset-y) * 2)}dialog[position-^=start]{--dialog-offset-left:var(--dialog-offset-x);--dialog-offset-right:auto}dialog[position-^=end]{--dialog-offset-left:auto;--dialog-offset-right:var(--dialog-offset-x)}dialog[position-^=center],dialog:not([position-]){--dialog-offset-left:50%;translate:-50%}dialog[position-$=start]{--dialog-offset-top:var(--dialog-offset-y);--dialog-offset-bottom:auto}dialog[position-$=end]{--dialog-offset-top:auto;--dialog-offset-bottom:var(--dialog-offset-y)}dialog[position-$=center],dialog:not([position-]){--dialog-offset-top:50%;transform:translateY(-50%)}[is-=spinner]{--spinner-steps:4;--spinner-chars:"/-\\|";--spinner-duration:1s;vertical-align:top;width:1ch;height:1lh;display:inline-block;position:relative;overflow:hidden}[is-=spinner][variant-=dots]{--spinner-steps:8;--spinner-chars:"⣷⣯⣟⡿⢿⣻⣽⣾"}[is-=spinner][variant-=arrows]{--spinner-steps:8;--spinner-chars:"←↖↑↗→↘↓↙"}[is-=spinner][variant-=cross]{--spinner-steps:2;--spinner-chars:"+x"}[is-=spinner][variant-=square]{--spinner-steps:4;--spinner-chars:"◰◳◲◱"}[is-=spinner][variant-=pie]{--spinner-steps:4;--spinner-chars:"◴◷◶◵"}[is-=spinner][variant-=half]{--spinner-steps:4;--spinner-chars:"◐◓◑◒"}[is-=spinner][variant-=bar-vertical]{--spinner-steps:12;--spinner-chars:"▁▃▄▅▆▇█▇▆▅▄▃"}[is-=spinner][variant-=bar-horizontal]{--spinner-steps:13;--spinner-chars:"▉▊▋▌▍▎▏▎▍▌▋▊▉"}[is-=spinner][variant-=cursor]{--spinner-steps:3;--spinner-chars:"█ █"}[is-=spinner][speed-=slow]{--spinner-duration:2s}[is-=spinner][speed-=medium],[is-=spinner][speed-=default],[is-=spinner]:not([speed-]){--spinner-duration:1s}[is-=spinner][speed-=fast]{--spinner-duration:.5s}[is-=spinner]:before{content:var(--spinner-chars);color:inherit;white-space:nowrap;height:1lh;animation:spinner-pan var(--spinner-duration) steps(var(--spinner-steps)) infinite;position:absolute;top:0;left:0}[is-=spinner][direction-=reverse]:before{animation-direction:reverse}@keyframes spinner-pan{0%{translate:0}to{translate:-100%}}@property --progress-value{syntax:"<number>";inherits:true;initial-value:0}@property --progress-max{syntax:"<number>";inherits:true;initial-value:100}[is-~=progress]{--progress-value-background:var(--foreground0);--progress-value-color:var(--foreground0);--progress-value-content:"";--progress-empty-background:var(--background1);--progress-empty-color:var(--foreground0);--progress-empty-content:"";background-color:var(--progress-background-empty);width:round(down,100%,1ch);height:1lh;color:#0000;vertical-align:top;margin:0;display:inline-flex;position:relative}[is-~=progress]:before{content:var(--progress-value-content);vertical-align:top;height:1lh;color:var(--progress-value-color);width:round(nearest,calc((var(--progress-value) / var(--progress-max)) * 100%),1ch);white-space:nowrap;background-color:var(--progress-value-background);z-index:1;position:absolute;top:0;left:0;overflow:hidden}[is-~=progress]:after{content:var(--progress-empty-content);vertical-align:top;height:1lh;color:var(--progress-empty-color);width:round(up,calc(100% - (var(--progress-value) / var(--progress-max) * 100%)),1ch);white-space:nowrap;background-color:var(--progress-empty-background);z-index:0;position:absolute;top:0;right:0;overflow:hidden}details[is-~=accordion][open]::details-content{padding-left:2ch}details[is-~=accordion]>summary:before{content:"˃ "}details[is-~=accordion]>summary::-webkit-details-marker{display:none}details[is-~=accordion]>summary::marker{content:"";display:none}details[is-~=accordion]>summary:focus{text-decoration:underline}details[is-~=accordion][open] summary:before{content:"˅ "}mark,[is-~=mark]{background-color:inherit;color:inherit}mark[bg-][bg-=background0],[is-~=mark][bg-][bg-=background0]{background-color:var(--background0)}mark[bg-][bg-=background1],[is-~=mark][bg-][bg-=background1]{background-color:var(--background1)}mark[bg-][bg-=background2],[is-~=mark][bg-][bg-=background2]{background-color:var(--background2)}mark[bg-][bg-=background3],[is-~=mark][bg-][bg-=background3]{background-color:var(--background3)}mark[bg-][bg-=foreground0],[is-~=mark][bg-][bg-=foreground0]{background-color:var(--foreground0)}mark[bg-][bg-=foreground1],[is-~=mark][bg-][bg-=foreground1]{background-color:var(--foreground1)}mark[bg-][bg-=foreground2],[is-~=mark][bg-][bg-=foreground2]{background-color:var(--foreground2)}mark[fg-][fg-=background0],[is-~=mark][fg-][fg-=background0]{color:var(--background0)}mark[fg-][fg-=background1],[is-~=mark][fg-][fg-=background1]{color:var(--background1)}mark[fg-][fg-=background2],[is-~=mark][fg-][fg-=background2]{color:var(--background2)}mark[fg-][fg-=background3],[is-~=mark][fg-][fg-=background3]{color:var(--background3)}mark[fg-][fg-=foreground0],[is-~=mark][fg-][fg-=foreground0]{color:var(--foreground0)}mark[fg-][fg-=foreground1],[is-~=mark][fg-][fg-=foreground1]{color:var(--foreground1)}mark[fg-][fg-=foreground2],[is-~=mark][fg-][fg-=foreground2]{color:var(--foreground2)}}:root{--font-family:ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-prose:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size:16px;--line-height:1.4;--background0:#fbfaf7;--background1:#efece4;--background2:#ddd8cc;--background3:#a69f90;--foreground0:#1b1b1b;--foreground1:#2f2f2f;--foreground2:#5c5c5c;--accent:#0b6e4f;--accent-contrast:#fff;--warning:#8a4b00;--focus:#0b57d0;--box-border-color:var(--background3);--sidebar-width:30ch;--content-width:72ch;color-scheme:light}[data-webtui-theme=dark]{--background0:#0f1110;--background1:#1a1d1b;--background2:#2a2f2c;--background3:#5a625c;--foreground0:#ecefe9;--foreground1:#d3d9d1;--foreground2:#a3aca4;--accent:#6fdc9a;--accent-contrast:#0f1110;--warning:#f2b45a;--focus:#8ab4ff;color-scheme:dark}html,body{word-break:normal;overflow-wrap:anywhere}body{background-color:var(--background0);color:var(--foreground0);flex-direction:column;min-height:100dvh;display:flex}:focus-visible{outline-offset:2px;outline:3px solid var(--focus)!important}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--accent);color:var(--accent-contrast);padding:.5lh 2ch;position:absolute;top:-100px;left:1ch}.skip-link:focus{top:.5lh}button{cursor:pointer;min-height:44px}.topbar{border-bottom:2px solid var(--background2);background:var(--background0);flex-wrap:wrap;align-items:center;gap:2ch;padding:.5lh 2ch;display:flex}.brand{color:var(--foreground0);font-weight:var(--font-weight-bold);text-decoration:none}.cwd{min-width:0;color:var(--foreground2);flex:1}.cwd ol{flex-wrap:wrap;padding:0;list-style:none;display:flex}.cwd li:before{content:none}.cwd li+li:before{content:"/";color:var(--foreground2)}.cwd a{color:var(--foreground1)}.cwd [aria-current=page]{color:var(--foreground0)}.topbar button{min-height:36px;padding:0 1ch}.nav-toggle{display:none}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);flex:1;align-items:start;display:grid}.sidebar{border-right:2px solid var(--background2);max-height:calc(100dvh - 9rem);padding:1lh 2ch;position:sticky;top:0;overflow-y:auto}main{min-width:0;padding:1lh 3ch 2lh}main:focus{outline:none}.tree,.tree ol,.tree ul{margin:0;padding:0;list-style:none}.tree li:before{content:none}.tree .group-title{color:var(--foreground2);text-transform:uppercase;letter-spacing:.05em;margin-top:.5lh;display:block}.tree details{margin:.25lh 0}.tree summary{cursor:pointer;color:var(--foreground0);font-weight:var(--font-weight-bold);padding:.25lh 0}.tree .parts{border-left:2px solid var(--background2);margin-left:1ch;padding-left:1ch}.tree .parts a{color:var(--foreground1);padding:.3lh .5ch;text-decoration:none;display:block}.tree .parts a:hover{background:var(--background1)}.tree .parts a[aria-current=page]{background:var(--background1);box-shadow:inset 3px 0 0 var(--accent);color:var(--foreground0);font-weight:var(--font-weight-bold)}.tree .file{color:var(--foreground2);font-size:.85em;display:block}.tree [aria-current=page] .file{color:var(--accent)}.part-header{max-width:var(--content-width);margin-bottom:1lh}.part-header .lecture-title{color:var(--foreground2);font-family:var(--font-family)}.part-header h1{margin:.25lh 0;font-size:1.6rem;line-height:1.25}.part-header .position{font-family:var(--font-family);color:var(--foreground2)}.pager{max-width:var(--content-width);border-top:2px solid var(--background2);flex-wrap:wrap;justify-content:space-between;gap:1lh 2ch;margin-top:2lh;padding-top:1lh;display:flex}.pager a,.pager span{align-items:center;min-height:44px;display:inline-flex}.pager .pager-next{text-align:right;margin-left:auto}.pager .boundary{color:var(--foreground2)}.exercise-panel{max-width:var(--content-width);border:2px solid var(--background3);margin:1.5lh 0;padding:1lh 2ch}.exercise-panel h2{margin-bottom:.25lh;font-size:1.1rem}.exercise-panel .exercise-title{color:var(--foreground1)}.exercise-panel dl{margin:.75lh 0}.exercise-panel dt{font-weight:var(--font-weight-bold);margin-top:.5lh}.exercise-panel dd{color:var(--foreground1);font-family:var(--font-prose);margin-left:0}.exercise-panel .note{color:var(--foreground2)}.home{max-width:var(--content-width)}.home h1{font-size:1.6rem;line-height:1.25}.home .intro{font-family:var(--font-prose);margin:.5lh 0 1lh}.home section{margin-top:1.5lh}.home h2{margin-bottom:.5lh}.lecture-list,.lecture-list ul{padding:0;list-style:none}.lecture-list li:before{content:none}.lecture-list ul{margin-left:0}.lecture-list .group-title{color:var(--foreground2);text-transform:uppercase;margin-top:.75lh;display:block}.lecture-list a{min-height:44px;font-weight:var(--font-weight-bold);align-items:center;display:inline-flex}.lecture-list .number,.tree .number{min-width:2ch;color:var(--accent);font-family:var(--font-family);display:inline-block}.lecture-list .number{margin-right:1ch}.lecture-list .count{color:var(--foreground2);margin-left:1ch}.help-list{grid-template-columns:max-content 1fr;gap:.25lh 2ch;display:grid}.help-list dt code{color:var(--accent)}.help-list dd{margin:0}.help-list .examples code{color:var(--accent)}.help-notes{color:var(--foreground1);font-family:var(--font-prose);margin-top:.5lh}.help-notes li:before{content:"- "}.message-page{max-width:var(--content-width)}.message-page h1{margin-bottom:.5lh;font-size:1.4rem}.message-page p,.message-page li{font-family:var(--font-prose)}.issues{font-family:var(--font-family);margin-top:1lh}.issues li:before{content:none}.issues .error{color:var(--warning)}.command-bar{z-index:20;background:var(--background1);border-top:2px solid var(--background3);padding:.4lh 2ch calc(.4lh + env(safe-area-inset-bottom));flex-wrap:wrap;align-items:center;gap:.4lh 2ch;display:flex;position:sticky;bottom:0}.command-output,.command-help{flex-basis:100%}html:not(.js) .command-bar,.command-output:empty{display:none}.command-output{max-height:40dvh;overflow-y:auto}.command-output .message{color:var(--foreground0)}.command-output .suggestions{flex-wrap:wrap;gap:.5lh 1ch;margin-top:.25lh;display:flex}.command-output .suggestions a,.command-output .suggestions button{align-items:center;min-height:36px;display:inline-flex}.command-form{flex:32ch;align-items:center;gap:1ch;display:flex;position:relative}.command-form .prompt{color:var(--accent);font-weight:var(--font-weight-bold)}.command-form input{background:var(--background0);border:2px solid var(--background3);flex:1;min-width:0;min-height:40px;padding:0 1ch}.command-form input:focus{border-color:var(--accent)}.command-suggestions{background:var(--background0);border:2px solid var(--background3);z-index:30;padding:0;list-style:none;position:absolute;bottom:calc(100% + 4px);left:2ch;right:0}.command-suggestions li:before{content:none}.command-suggestions li{cursor:pointer;gap:2ch;padding:.4lh 1ch;display:flex}.command-suggestions li[aria-selected=true]{background:var(--background2)}.command-suggestions .description{color:var(--foreground2)}.command-help{max-height:40dvh;overflow-y:auto}.command-help h2{margin-bottom:.25lh}dialog.image-dialog{border:2px solid var(--background3);background:var(--background0);max-width:min(96vw,1600px);max-height:96dvh;color:var(--foreground0);margin:auto;padding:1lh 2ch}dialog.image-dialog::backdrop{background:#000000bf}dialog.image-dialog img{background:#fff;width:auto;max-width:100%;height:auto;max-height:calc(96dvh - 6lh);margin:0 auto;display:block}dialog.image-dialog .dialog-bar{justify-content:space-between;align-items:center;gap:2ch;margin-bottom:.5lh;display:flex}dialog.image-dialog figcaption{font-family:var(--font-prose);color:var(--foreground1)}@media (width<=1023px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:none;border-top:2px solid var(--background2);order:2;max-height:none;position:static}html.js .nav-toggle{display:inline-flex}html.js .sidebar{display:none}html.js .sidebar.open{z-index:50;background:var(--background0);border-right:2px solid var(--background3);width:min(85vw,40ch);max-height:none;display:block;position:fixed;inset:0 auto 0 0;box-shadow:0 0 0 100vmax #00000080}.sidebar-close{display:inline-flex}main{padding:1lh 2ch 2lh}.topbar{gap:.25lh 1ch;padding:.4lh 2ch}.brand{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cwd{flex-basis:100%;order:3;font-size:.875rem}}@media (width>=1024px){.sidebar-close{display:none}}@media (width<=479px){.help-list{grid-template-columns:1fr}.help-list dd{margin-bottom:.25lh}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.user-menu{flex-wrap:wrap;align-items:center;gap:1ch 2ch;display:flex}.user-menu .user-email{color:var(--foreground1);text-overflow:ellipsis;white-space:nowrap;max-width:28ch;overflow:hidden}.user-menu button{min-height:36px;color:var(--foreground0);border:2px solid var(--background3);background:0 0;padding:0 1ch}.auth-main{flex:1;justify-content:center;padding:3lh 2ch;display:flex}.auth-panel{width:min(100%,52ch)}.auth-panel h1{margin-bottom:1lh;font-size:1.4rem}.auth-panel p,.auth-panel li,.admin-page p{font-family:var(--font-prose);color:var(--foreground1)}.auth-panel>*+*{margin-top:1lh}.form{gap:1lh;display:grid}.field{gap:.25lh;display:grid}.field label{font-weight:var(--font-weight-bold)}.field .hint{color:var(--foreground2);font-family:var(--font-prose);font-size:.9rem}.field :is(input,select){background:var(--background1);width:100%;min-width:0;min-height:44px;color:var(--foreground0);border:2px solid var(--background3);font:inherit;padding:0 1ch}.field :is(input,select):focus{border-color:var(--accent)}.field input[aria-invalid=true]{border-color:var(--warning)}.form button[type=submit],.button-primary{background:var(--accent);min-height:44px;color:var(--accent-contrast);font-weight:var(--font-weight-bold);justify-self:start;padding:0 3ch}.form-errors{border:2px solid var(--warning);color:var(--foreground0);padding:.5lh 2ch}.form-errors p,.form-errors li{color:var(--foreground0);font-family:var(--font-prose)}.form-errors li:before{content:"- "}.notice{border:2px solid var(--accent);font-family:var(--font-prose);padding:.5lh 2ch}.secondary-links{flex-wrap:wrap;gap:1lh 3ch;display:flex}.secondary-links a{align-items:center;min-height:44px;display:inline-flex}.public-lectures{border-top:1px solid var(--foreground2);padding-top:1lh}.public-lectures h2{font-size:1rem}.public-lectures a{align-items:center;min-height:44px;display:inline-flex}.admin-page{max-width:120ch}.admin-page h1{margin-bottom:1lh;font-size:1.4rem}.admin-page h2{margin:1.5lh 0 .5lh}.admin-page .form{grid-template-columns:minmax(0,1fr) 16ch auto;align-items:end;max-width:90ch}.table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-family:var(--font-family)}.users-table :is(th,td){border-bottom:1px solid var(--background2);text-align:left;vertical-align:top;white-space:nowrap;padding:.4lh 1ch}.users-table :is(th,td):before{content:none!important}.users-table th{color:var(--foreground1)}.users-table .failed{color:var(--warning);white-space:normal}.users-table button{min-height:36px;color:var(--foreground0);border:2px solid var(--background3);background:0 0;padding:0 1ch}@media (width<=719px){.admin-page .form{grid-template-columns:minmax(0,1fr)}.user-menu .user-email{display:none}}.admin-nav ul{border-bottom:2px solid var(--background2);flex-wrap:wrap;gap:.5lh 3ch;margin-bottom:1lh;padding:0;list-style:none;display:flex}.admin-nav li:before{content:none}.admin-nav a{min-height:44px;color:var(--foreground1);border-bottom:3px solid #0000;align-items:center;text-decoration:none;display:inline-flex}.admin-nav a[aria-current=page]{color:var(--foreground0);font-weight:var(--font-weight-bold);border-bottom-color:var(--accent)}.facts{grid-template-columns:max-content 1fr;gap:.25lh 2ch;margin:1lh 0;display:grid}.facts dd{overflow-wrap:anywhere;margin:0}.publish-form{gap:.5lh;margin:1lh 0;display:grid}.users-table .wrap{white-space:normal}@media (width<=719px){.facts{grid-template-columns:1fr}}.field textarea{background:var(--background1);width:100%;min-width:0;color:var(--foreground0);border:2px solid var(--background3);font:inherit;resize:vertical;padding:.5lh 1ch}.field textarea:focus{border-color:var(--accent)}.admin-page .bulk-form{grid-template-columns:minmax(0,1fr);max-width:70ch}.admin-page .bulk-form :is(.field:has(select),button){max-width:24ch}.admin-page .filter-form{grid-template-columns:minmax(0,1fr) 20ch 16ch auto;align-items:end;gap:1ch 2ch;max-width:100ch;margin-bottom:1lh;display:grid}.filter-form button,.action-list button,.form button.secondary{min-height:44px;color:var(--foreground0);border:2px solid var(--background3);background:0 0;padding:0 2ch}.action-list{gap:1lh;max-width:70ch;display:grid}.action-list .hint,.danger-zone p{color:var(--foreground2);font-family:var(--font-prose);margin-top:.25lh}.danger-zone{border:2px dashed var(--warning);max-width:70ch;margin-top:2lh;padding:1lh 2ch}.form button.button-danger{color:var(--warning);border:2px solid var(--warning);background:0 0}button[aria-busy=true]{cursor:progress;opacity:.8}@media (width<=719px){.admin-page .filter-form{grid-template-columns:minmax(0,1fr)}}.response-form{gap:1lh;margin-top:.75lh;display:grid}.response-field textarea{font-family:var(--font-family);min-height:7lh;line-height:1.5}.response-preview{border:2px dashed var(--background3);min-height:7lh;padding:.5lh 1ch}.mode-switch:not([hidden]){gap:.5ch;display:flex}.mode-switch button{min-height:36px;color:var(--foreground1);border:2px solid var(--background3);background:0 0;padding:0 2ch}.mode-switch button[aria-pressed=true]{color:var(--foreground0);border-color:var(--accent);font-weight:var(--font-weight-bold)}.response-actions{flex-wrap:wrap;align-items:center;gap:.5lh 2ch;display:flex}.response-actions button{background:var(--accent);min-height:44px;color:var(--accent-contrast);font-weight:var(--font-weight-bold);padding:0 3ch}.save-status{color:var(--foreground1)}.save-status.error{color:var(--warning);font-weight:var(--font-weight-bold)}.exercise-panel .revision-note{color:var(--warning)}.exercise-panel .hint{color:var(--foreground2);font-family:var(--font-prose);font-size:.9rem}dialog.unsaved-dialog{border:2px solid var(--background3);background:var(--background0);max-width:min(92vw,56ch);color:var(--foreground0);margin:auto;padding:1lh 2ch}dialog.unsaved-dialog::backdrop{background:#0009}dialog.unsaved-dialog p{font-family:var(--font-prose);margin:.5lh 0 1lh}dialog.unsaved-dialog .dialog-actions{flex-wrap:wrap;gap:1ch;display:flex}dialog.unsaved-dialog button{min-height:44px;color:var(--foreground0);border:2px solid var(--background3);background:0 0;padding:0 2ch}dialog.unsaved-dialog button[value=save]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.answer-card{max-width:var(--content-width);border:2px solid var(--background2);margin:1lh 0 1.5lh;padding:1lh 2ch}.answer-card h3{font-size:1.05rem}.answer-card .meta{color:var(--foreground2);margin:.25lh 0 .75lh}.answer-card .answer-field+.answer-field{margin-top:1lh}.answer-card .answer-field h4{color:var(--foreground1);margin-bottom:.25lh}.answer-card .note{color:var(--warning);font-family:var(--font-prose)}.page-actions{flex-wrap:wrap;gap:1lh 3ch;margin:.5lh 0 1lh;display:flex}.page-actions a{align-items:center;min-height:44px;display:inline-flex}.header-search input{background:var(--background1);width:18ch;min-width:0;min-height:36px;color:var(--foreground0);border:2px solid var(--background3);padding:0 1ch}.header-search input:focus{border-color:var(--accent)}.search-page{max-width:var(--content-width)}.search-page h1{margin-bottom:.75lh;font-size:1.4rem}.search-form{gap:1ch;margin-bottom:1lh;display:flex}.search-form input{background:var(--background1);min-width:0;min-height:44px;color:var(--foreground0);border:2px solid var(--background3);flex:1;padding:0 1ch}.search-form button{min-height:44px;padding:0 2ch}.search-results{margin-top:1lh;padding:0;list-style:none}.search-results li:before{content:none}.search-results li{border-bottom:1px solid var(--background2);padding:.75lh 0}.search-results a{font-weight:var(--font-weight-bold)}.search-results .where{color:var(--foreground2);display:block}.search-results .snippet{font-family:var(--font-prose);margin-top:.25lh}.search-results mark{background:var(--accent);color:var(--accent-contrast);padding:0 .15em}@media (width<=719px){.header-search{display:none}}.topbar .brand{text-overflow:ellipsis;white-space:nowrap;max-width:48ch;overflow:hidden}.topbar .cwd{flex:16ch;min-width:12ch;overflow:hidden}.topbar .cwd ol{white-space:nowrap;text-overflow:ellipsis;flex-wrap:nowrap;overflow:hidden}.topbar-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5lh 2ch;margin-left:auto;display:flex}.danger-zone .form,.admin-page .danger-zone .form{grid-template-columns:minmax(0,1fr) auto}.search-form button{background:var(--accent);color:var(--accent-contrast)}@media (width<=1023px){.topbar .brand{flex:1;max-width:none}.topbar-tools{margin-left:0}}.prose{max-width:var(--content-width);font-family:var(--font-prose);color:var(--foreground0);font-size:1.0625rem;line-height:1.65}.prose :is(p,li,blockquote,dd,td,th){font-family:var(--font-prose);font-size:inherit;line-height:inherit;color:var(--foreground0)}.prose>*+*{margin-top:.9em}.prose :is(h2,h3,h4,h5,h6){font-family:var(--font-family);margin-top:1.6em;line-height:1.3}.prose h2{font-size:1.3rem}.prose h3{font-size:1.1rem}.prose :is(h4,h5,h6){font-size:1rem}.prose :is(ul,ol){padding-left:1.5em;list-style-position:outside}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li:before{content:none}.prose li+li,.prose li>:is(ul,ol){margin-top:.3em}.prose li>ol{margin-left:0}.prose .contains-task-list{padding-left:.25em;list-style:none}.prose .task-list-item input{min-width:0;margin-right:.5em}.prose blockquote{border-left:4px solid var(--background3);color:var(--foreground1);padding:.25em 0 .25em 1em}.prose blockquote:before{content:none}.prose :not(pre)>code{font-family:var(--font-family);background:var(--background1);border-radius:3px;padding:.1em .35em;font-size:.9em}.prose a{color:var(--accent)}.prose img{border:1px solid var(--background2);background:#fff;max-width:100%;height:auto;display:block}.prose a:has(>img){cursor:zoom-in;max-width:100%;display:inline-block}.prose .image-missing{border:2px dashed var(--warning);color:var(--warning);font-family:var(--font-family);padding:.5em 1em;font-style:normal;display:inline-block}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.prose table :is(tr,th,td):before,.prose table :is(tr,th,td):after{content:none}.prose :is(th,td){border:1px solid var(--background3);text-align:left;vertical-align:top;overflow-wrap:normal;padding:.4em .8em}.prose th{background:var(--background1)}.prose .code-block{border:2px solid var(--background2);background:var(--background1);position:relative}.prose .code-block[data-kind=terminal]{border-color:var(--foreground2)}.prose .code-block[data-kind=prompt]{border-color:var(--accent);border-style:dashed}.prose .code-block[data-kind=output]{background:0 0;border-style:dotted}.prose .code-label{font-family:var(--font-family);color:var(--foreground2);border-bottom:1px solid var(--background2);padding:.2em 1ch;font-size:.85rem;font-style:normal;display:block}.prose .code-block[data-kind=terminal] .code-label:before{content:"$ "}.prose .code-block[data-kind=prompt] .code-label:before{content:"› "}.prose pre{font-family:var(--font-family);margin:0;padding:.75em 1ch;font-size:.9rem;line-height:1.5;overflow-x:auto}.prose pre code{white-space:pre;overflow-wrap:normal;font-family:inherit}.prose .code-block[data-kind=prompt] pre code{white-space:pre-wrap;overflow-wrap:anywhere}.prose .copy-button{background:var(--background2);min-height:32px;color:var(--foreground0);padding:0 1ch;font-size:.85rem;position:absolute;top:0;right:0}.prose .code-block:not(:has(.code-label)) pre{padding-right:14ch}.prose .alternatives{border:2px solid var(--background2);padding:.75em 2ch}.prose .alternative+.alternative{border-top:1px dashed var(--background3);margin-top:1em;padding-top:1em}.prose .alternative>*+*{margin-top:.75em}.prose .alternative-label{font-family:var(--font-family)}.prose .alternatives.tabs-ready{padding-top:0}.prose .alternatives.tabs-ready .alternative{border:none;margin:0;padding:.75em 0 0}.prose .alternatives.tabs-ready .alternative-label{display:none}.prose .alt-tabs{border-bottom:2px solid var(--background2);flex-wrap:wrap;gap:0 .5ch;margin:0 -2ch;display:flex}.prose .alt-tabs button{min-height:40px;color:var(--foreground1);font-family:var(--font-family);background:0 0;border-bottom:3px solid #0000;padding:0 2ch}.prose .alt-tabs button[aria-selected=true]{color:var(--foreground0);font-weight:var(--font-weight-bold);border-bottom-color:var(--accent);text-decoration:none}.prose .footnotes{border-top:1px solid var(--background2);margin-top:2em;font-size:.9em}.prose .exercise-panel h2{margin-top:0}
