@font-face{font-family:n27;src:url(regular.82b32253.ttf)}@font-face{font-family:n27;font-weight:700;src:url(bold.bb681528.ttf)}@font-face{font-family:silka;src:url(regular.c330fe38.ttf)}@font-face{font-family:silka-mono;src:url(regular.996686dc.ttf)}@font-face{font-family:silka-mono;font-weight:700;src:url(bold.e69ac3c1.ttf)}ui-uptime{margin:var(--content-padding);display:block;position:relative;overflow:hidden}ui-uptime ui-ticker{color:#fff;font-family:silka-mono;font-weight:700;font-size:calc(var(--font-scale)*2px);line-height:1;display:block}ui-uptime ui-ticker canvas{height:var(--content-padding);width:100%}ui-uptime ui-paragraph{text-align:right;max-width:70%;position:absolute;bottom:0;right:0}ui-stat{--label-font-size:1rem;--value-font-size:3rem;--spacing:.25rem;padding:var(--content-padding);height:100%;line-height:1;display:block;position:relative;top:0;bottom:0;left:0;right:0;overflow:hidden}ui-stat ui-label{margin-bottom:var(--spacing);font-size:var(--label-font-size);display:block}ui-stat ui-value{font:bold var(--value-font-size)"silka-mono";text-align:right;display:block}ui-stat canvas{height:calc(100% - var(--label-font-size) - var(--value-font-size) - var(--spacing) - var(--content-padding)*2);--color:var(--primary-color);--border-color:#fff;--border-size:4;width:100%;position:absolute;bottom:0;left:0;right:0}ui-services{--ball-size:1rem;--ball-spacing:.6rem;--ball-border-size:1px;--ball-border:var(--ball-border-size)solid currentColor;display:block;position:relative;overflow:hidden}ui-services canvas{--stroke-color:var(--layout-border-color);--stroke-width:calc(var(--layout-border-width)/2);opacity:.5;width:100%;position:absolute;top:0;bottom:0;left:0;right:0}ui-services ui-description{margin:var(--content-padding);max-width:40rem;margin-top:0;display:block}ui-services ui-nodes{padding-inline:var(--content-padding);margin-bottom:1rem;font-size:.8rem;display:flex}ui-services ui-nodes ui-node{white-space:nowrap;text-overflow:ellipsis;align-items:center;display:inline-flex;overflow:hidden}ui-services ui-nodes ui-node:not(:last-of-type){margin-right:1rem}ui-services ui-nodes ui-node:before{content:"";width:var(--ball-size);height:var(--ball-size);margin-right:var(--ball-spacing);background:hsl(calc(var(--color)*360deg),100%,61%);border:var(--ball-border);border-radius:50%;flex-shrink:0;display:inline-block}ui-services ui-section[ui-services]{flex-wrap:wrap;display:flex}ui-services ui-section[ui-services] ui-panel{min-height:unset}ui-services ui-section[ui-services] ui-panel ui-service{padding-block:calc(var(--content-padding)/2);padding-inline:var(--content-padding)}ui-services ui-section[ui-services] ui-panel ui-service ui-header{margin-bottom:.5rem;font-weight:700;display:block}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process{--default-commit-color:#fff;--border-size:var(--ball-border-size);width:var(--ball-size);height:var(--ball-size);margin-right:var(--ball-spacing);cursor:pointer;background:linear-gradient(135deg,hsl(calc(var(--node)*360deg),100%,61%)50%,var(--version)50%);border:var(--ball-border);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process:hover{border-bottom-right-radius:0;border-bottom-left-radius:0}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process:hover ui-properties{display:block}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process:not([ui-running]){--border-size:calc(var(--ball-border-size) + 3px);border-color:red;box-shadow:0 0 0 3px red}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties{left:calc(var(--border-size)*-1);z-index:1;color:#000;pointer-events:none;background:#fff;width:max-content;padding:.75rem 1rem;font-family:silka-mono;line-height:1;display:none;position:absolute;top:100%}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-name{font-weight:700;display:block}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-host,ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-commit{align-items:center;display:flex}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-host:before,ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-commit:before{content:"";background:var(--color);border-radius:50%;width:.75em;height:.75em;margin-right:.35rem}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-host{--color:hsl(calc(var(--node)*360deg),100%,61%);margin-top:.5rem;font-size:.8rem}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-commit{--color:var(--version);margin-top:.25rem;font-size:.8rem}ui-services ui-section[ui-services] ui-panel ui-service ui-processes ui-process ui-properties ui-start{margin-top:.5rem;font-size:.8rem;display:block}ui-log-scroller{height:calc(100vh - var(--layout-border-width)*2 - var(--page-margin-block)*2 - var(--layout-minimal-panel-height) - var(--header-height) - var(--content-padding)*2);padding:var(--content-padding);margin-top:var(--layout-border-width);background:color-mix(in srgb,var(--background-contrast-color)10%,var(--background-color)90%);white-space:pre;font-family:silka-mono;font-size:.8rem;display:block;overflow:auto}ui-service-name{-webkit-user-select:all;user-select:all;justify-content:center;align-items:center;height:100%;font-family:silka-mono;font-size:1.5rem;display:flex}ui-contact-section{margin-inline:var(--content-padding);flex-direction:column;font-family:silka-mono;display:flex}ui-contact-section:first-of-type{margin-top:var(--content-padding)}ui-contact-section:not(:first-of-type){margin-top:1rem}ui-contact-section:last-of-type{margin-block:var(--content-padding)}ui-contact-section>ui-text{margin-top:.25rem;margin-bottom:.25rem}ui-map-container{--map-aspect-ratio:1.5;--map-width:var(--panel-width);--map-height:calc(var(--map-width)/var(--map-aspect-ratio));margin-top:var(--layout-border-width);font-size:0;display:block;overflow:hidden}ui-map-container ui-map{margin-left:calc((var(--map-width) - 100%)/2*-1);display:block;position:relative}ui-map-container ui-map img{height:var(--map-height);width:var(--map-width)}ui-map-container ui-map ui-marker{--marker-size:6rem;top:calc(var(--y)*var(--map-height) - var(--marker-size)*.75);left:calc(var(--x)*var(--map-width) - var(--marker-size)/2);width:var(--marker-size);height:var(--marker-size);display:block;position:absolute}ui-map-container ui-map ui-marker svg path{stroke:var(--primary-color);stroke-width:4px}ui-panel[ui-ascii-a-gimmick]{padding:calc(var(--content-padding)/2)}ui-panel[ui-ascii-a-gimmick] canvas{color:var(--primary-color);background:var(--background-color);width:100%;height:auto;font-family:silka-mono}ui-customer-overview{-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:var(--content-padding);margin-inline:unset;counter-reset:ui-customer-count ui-customer-clone-count;flex-direction:column;height:100%;display:flex;overflow:hidden}ui-customer-overview ui-text{margin-left:var(--content-padding)}ui-customer-overview ui-customer-overview-bars{margin-top:auto;margin-bottom:auto}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar{width:max-content;animation:30s linear infinite ui-customer-overview-scroll;display:flex}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar[overview-bar-left]{transform:translate(calc(-50%*var(--animation-progress)))}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar[overview-bar-right]{transform:translate(calc(-50%*(1 - var(--animation-progress))))}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer{--ui-counter:ui-customer-count;--height:6rem;height:var(--height);counter-increment:var(--ui-counter);align-items:center;margin:.5rem 3rem;line-height:1;display:flex;position:relative}@media (max-width:700px){ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer{--height:4.5rem}}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer:after{content:var(--counter-prefix)counter(var(--ui-counter));font-family:silka-mono;font-size:.75rem;position:absolute;top:.9rem;left:calc(100% + 1rem)}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer[ui-clone]{--ui-counter:ui-customer-clone-count}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer ui-customer-name{text-transform:uppercase;white-space:nowrap;margin-right:1.25rem;font:700 4.5rem n27}@media (max-width:700px){ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer ui-customer-name{font-size:2.5rem}}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer ui-customer-logo{height:calc(var(--height) - 2rem);filter:invert()}ui-customer-overview ui-customer-overview-bars ui-customer-overview-bar ui-customer ui-customer-logo img{height:100%}ui-project-overview{margin-top:var(--content-padding)}ui-project-overview ui-text{margin-left:var(--content-padding)}ui-project-overview ui-project-overview-scroll{padding-bottom:calc(var(--content-padding) + 2rem);counter-reset:ui-project-count;scroll-snap-type:x mandatory;flex-direction:row;margin-top:4rem;display:flex;overflow-x:scroll}ui-project-overview ui-project-overview-scroll a[ui-project]{width:var(--project-width);margin-bottom:1rem;padding-left:2.5rem;padding-right:2.5rem}ui-project-overview ui-project-overview-scroll a[ui-project]:first-of-type{margin-left:calc(var(--content-width) - var(--project-width))}ui-project-overview ui-project-overview-scroll a[ui-project]:last-of-type{margin-right:calc(var(--content-width) - var(--project-width))}ui-project-overview ui-project-counter{left:var(--content-padding);bottom:var(--content-padding);font-family:silka-mono;font-size:.75rem;position:absolute}ui-project-overview>ui-project-overview-scroll>a[ui-project]{counter-increment:ui-project-count}ui-project-overview>ui-project-overview-scroll>a[ui-project]:nth-child(9)~*{--counter-prefix:""}ui-project-overview>ui-project-overview-scroll>a[ui-project]>ui-project-title:after{content:var(--counter-prefix)counter(ui-project-count)}ui-about{margin:var(--content-padding);letter-spacing:.025em;flex-direction:column;justify-content:center;height:100%;font-size:1.5rem;line-height:1.3em;display:flex}@media (max-width:700px){ui-about{font-size:1rem}}ui-article{margin:var(--content-padding)}ui-article:not(:first-child){margin-top:0}ui-article ui-title{margin-bottom:.75rem;font-family:n27;font-size:1.25rem;display:block}ui-article ui-subtitle{margin-bottom:.75rem;text-decoration:underline;display:block}ui-article ui-text{display:block}ui-project-demo{--demo-item-disabled-color:#222;padding:var(--content-padding);flex-direction:column;display:flex;position:relative;overflow:hidden}ui-project-demo>*>*{opacity:1;transition:opacity .2s}ui-project-demo [ui-demo-item-disabled]{background-color:var(--demo-item-disabled-color);border:none}ui-project-demo [ui-demo-item-disabled]>*{opacity:0}ui-project-demo ui-demo-panel{background-color:#000;border:1px solid #fff;flex-direction:column;display:flex}ui-project-demo ui-demo-panel ui-panel-header{font-size:calc(1rem*var(--big-font-scale));border-bottom:1px solid #fff;display:flex}ui-project-demo ui-demo-panel ui-panel-header ui-panel-header-type{text-transform:uppercase;margin:.5rem .75rem;font-family:silka-mono}ui-project-demo ui-demo-panel ui-panel-header ui-panel-header-splitter{border-left:1px solid #fff;height:100%}ui-project-demo ui-demo-panel ui-panel-header ui-panel-header-url,ui-project-demo ui-demo-panel ui-panel-header a[ui-panel-header-url]{margin:.5rem .75rem;overflow:hidden}ui-project-demo ui-demo-panel[ui-browser]{width:80%}ui-project-demo ui-demo-panel[ui-browser] ui-panel-content{--video-layout:full;aspect-ratio:var(--layout-ratio-full);width:100%;font-size:0}ui-project-demo ui-demo-panel[ui-browser] ui-panel-content>*,ui-project-demo ui-demo-panel:only-child[ui-browser]{width:100%}ui-project-demo ui-demo-panel[ui-terminal]{aspect-ratio:var(--layout-ratio-full);z-index:1;width:60%;margin-top:-15%;margin-left:40%}ui-project-demo ui-demo-panel[ui-terminal] ui-panel-content{height:100%;position:relative;overflow:hidden}ui-project-demo ui-demo-panel[ui-terminal] ui-panel-content ui-console{white-space:pre-wrap;word-wrap:break-word;flex-direction:column;min-height:calc(100% - 2rem);font-family:silka-mono;line-height:1.5;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}ui-project-demo ui-demo-panel[ui-terminal] ui-panel-content ui-console[ui-done]{flex-direction:column-reverse;top:1rem;overflow-y:auto}ui-project-demo ui-demo-panel[ui-showcase]{background-color:unset;z-index:1;border:none;max-width:35%;max-height:35rem;margin-top:-15%;margin-left:auto}ui-project-demo ui-demo-panel[ui-showcase][ui-demo-item-disabled]{background-color:unset}ui-project-demo ui-demo-panel[ui-showcase][ui-squared] img{aspect-ratio:1}ui-project-demo ui-demo-panel[ui-showcase] ui-panel-content{grid-template-areas:"stack";width:100%;height:100%;display:grid}ui-project-demo ui-demo-panel[ui-showcase] ui-panel-content img{object-fit:contain;object-position:bottom right;opacity:0;transition:var(--animation-time);grid-area:stack;width:100%;height:100%}ui-project-demo ui-demo-panel[ui-showcase] ui-panel-content img[ui-active]{opacity:1}ui-project-demo ui-demo-panel[ui-phone]{z-index:1;width:30%;margin:5% 5% 5% auto;box-shadow:0 .5rem 5rem #0008}ui-project-demo ui-demo-panel[ui-phone] ui-panel-content{height:100%;font-size:0;overflow:hidden}ui-project-demo ui-demo-panel[ui-phone] ui-panel-content video{width:100%}ui-project-demo ui-stripes{z-index:-1;opacity:.2;flex-direction:column;display:flex;position:absolute;top:-20%;bottom:-20%;left:-20%;right:-20%;transform:rotate(-14deg)}ui-project-demo ui-stripes ui-stripe{background-image:var(--image);animation:calc(30s + 30s*var(--speed))infinite linear scroll-stripes;background-repeat:repeat;background-size:auto 100%;flex-grow:1;flex-shrink:0}ui-project-demo ui-stripes ui-stripe:nth-child(2n){animation-direction:reverse}@keyframes scroll-stripes{0%{background-position-x:0%}to{background-position-x:100%}}ui-project-demo ui-slideshow{aspect-ratio:var(--layout-ratio-full);z-index:-1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}ui-project-demo ui-slideshow img{object-fit:cover;opacity:0;width:100%;height:100%;transition:all 2s;position:absolute;top:0;bottom:0;left:0;right:0}ui-project-demo ui-slideshow img[ui-active]{opacity:1}ui-project-demo ui-trail-card{z-index:-1;width:60%;transition:all 2s;position:absolute;bottom:3%;right:3%;box-shadow:0 1rem 4rem #0004}ui-project-demo ui-trail-card[ui-demo-item-disabled]{transform:rotate(-45deg)translate(-150%,100%)}ui-project-demo ui-trail-card[ui-demo-item-disabled]>*{opacity:1}ui-project-demo ui-trail-card img{width:100%;height:100%}ui-project-demo ui-note{margin-top:2rem;font-family:silka-mono;font-size:.75rem}ui-project-demo[ui-demo-luzern-tourismus] ui-demo-panel[ui-phone]{transition:all .5s}ui-project-demo[ui-demo-luzern-tourismus] ui-demo-panel[ui-phone][ui-demo-item-disabled]{transition:all;transform:translateY(150%)}ui-project-demo[ui-demo-luzern-tourismus] ui-demo-panel[ui-phone][ui-demo-item-disabled]>*{opacity:1}ui-project-demo[ui-demo-roche] ui-demo-panel[ui-showcase]{margin-top:-20%}ui-product-by-acryps{width:calc(100% - var(--layout-border-width) - var(--content-padding)*2);margin:var(--layout-gutter);padding:1rem var(--content-padding);color:var(--primary-contrast-color);background:var(--primary-color);border:var(--layout-border);text-transform:uppercase;border-top:none;font-family:silka-mono;font-size:1.5em;display:block}@media (max-width:1000px){ui-project-demo ui-demo-panel[ui-browser]{width:100%}ui-project-demo ui-demo-panel[ui-browser] ui-panel-content{--video-layout:compact;aspect-ratio:var(--layout-ratio-compact)}ui-project-demo ui-demo-panel[ui-terminal]{margin-top:5%;margin-left:unset;width:100%;font-size:.8rem}ui-project-demo ui-demo-panel[ui-showcase]{max-width:70%;max-height:15rem;margin-top:-10%;margin-left:auto;margin-right:5%}ui-project-demo ui-demo-panel[ui-phone]{width:50%}ui-project-demo ui-trail-card{width:70%}ui-project-demo[ui-demo-roche] ui-demo-panel[ui-showcase]{margin-top:-20%}}@media (max-width:700px){ui-project-demo ui-demo-panel[ui-terminal]{font-size:.6rem}ui-project-demo ui-demo-panel[ui-phone]{width:60%;margin:5% auto}ui-project-demo ui-trail-card{width:200%;bottom:20%;right:20%}}ui-task{margin:var(--content-padding);flex-direction:column;height:100%;display:flex}ui-task ui-header{margin-bottom:1.5rem;font-family:silka-mono;font-size:.75rem}ui-task ui-description{font-size:calc(1.5rem*var(--big-font-scale));letter-spacing:.025em;margin-top:auto;margin-bottom:auto;line-height:1.3em}ui-customer-review{margin:var(--content-padding);grid-template:". .""image review"max-content"image customer"max-content". ."/20% auto;height:100%;display:grid}ui-customer-review>img{aspect-ratio:1;object-fit:cover;border:var(--layout-border);grid-area:image;align-self:center;width:calc(100% - 4rem)}ui-customer-review ui-review{font-size:calc(2rem*var(--big-font-scale));grid-area:review;align-self:flex-start;margin-bottom:1rem;font-weight:700}ui-customer-review ui-customer{grid-area:customer;align-self:flex-end;font-family:silka-mono}@media (max-width:1000px){ui-customer-review{grid-template-columns:unset;grid-template-areas:"image""customer""review"}ui-customer-review>img{justify-self:center;width:50%}ui-customer-review ui-review{text-align:center;margin:0}ui-customer-review ui-customer{text-align:center;margin-top:1.5rem;margin-bottom:1.5rem}}ui-customer-review-issue{margin:var(--content-padding);justify-content:center;align-items:center;height:100%;font-style:italic;display:flex}ui-project img[ui-full-logo]{filter:invert();object-fit:contain;height:100%;margin:25%}:root{--logo-inset:2rem}a[ui-project]{scroll-snap-align:center;flex-direction:column;flex-shrink:0;display:flex}a[ui-project] ui-project-image{aspect-ratio:var(--layout-ratio-full);margin-bottom:var(--content-padding);font-size:0;position:relative;overflow:hidden}a[ui-project] ui-project-image>img{aspect-ratio:var(--layout-ratio-full);object-fit:cover;width:100%;height:100%;overflow:hidden}a[ui-project] ui-project-image ui-logo{top:var(--logo-inset);left:var(--logo-inset);position:absolute}@media (max-width:1000px){a[ui-project] ui-project-image ui-logo{top:1.5rem;left:1.5rem}}a[ui-project] ui-project-image ui-logo>img{object-fit:contain;filter:invert();width:auto;max-width:12rem;height:3rem}@media (max-width:1000px){a[ui-project] ui-project-image ui-logo>img{height:2.5rem}}@media (max-width:700px){a[ui-project] ui-project-image ui-logo>img{height:2rem}}a[ui-project] ui-project-category{flex-direction:row;margin-bottom:2rem;display:flex}a[ui-project] ui-project-title{margin-bottom:calc(var(--content-padding)*.5);flex-direction:row;align-items:center;display:flex;position:relative}a[ui-project] ui-project-title:after{content:var(--counter-prefix)counter(ui-panel-count);align-self:flex-start;margin-top:.75rem;margin-left:1rem;margin-right:.1rem;font-size:.75rem}a[ui-project] ui-project-title svg{color:var(--primary-contrast-color);transition:transform var(--animation-time);height:1.5rem}a[ui-project] ui-project-title ui-title-text{font:bold calc(3rem*var(--big-font-scale))"n27";word-break:break-word;text-transform:uppercase;flex-grow:1;margin-right:1rem;line-height:1}a[ui-project] ui-project-description{display:block}ui-project-overview>ui-project-overview-scroll>a[ui-project],ui-masonry-column>ui-panel>a[ui-project]{cursor:pointer}ui-section>ui-panel>a[ui-project]{margin:var(--content-padding)}ui-section>ui-panel>a[ui-project] ui-project-title{cursor:pointer}ui-masonry-column>ui-panel>a[ui-project]{margin-bottom:2rem}ui-masonry-column>ui-panel>a[ui-project] ui-project-image{margin:var(--content-padding)}ui-masonry-column>ui-panel>a[ui-project] ui-project-title,ui-masonry-column>ui-panel>a[ui-project] ui-project-description{margin-inline:var(--content-padding)}@media (hover:hover){ui-project-overview>ui-project-overview-scroll>a[ui-project]:hover ui-project-image:after,ui-masonry-column>ui-panel>a[ui-project]:hover ui-project-image:after{content:"";border:var(--layout-border-width)solid var(--primary-color);position:absolute;top:0;bottom:0;left:0;right:0}ui-project-overview>ui-project-overview-scroll>a[ui-project]:hover ui-project-image ui-logo:before,ui-masonry-column>ui-panel>a[ui-project]:hover ui-project-image ui-logo:before{content:"";inset:calc(var(--logo-inset)/2*-1);background:var(--primary-color);position:absolute}ui-project-overview>ui-project-overview-scroll>a[ui-project]:hover ui-project-title,ui-masonry-column>ui-panel>a[ui-project]:hover ui-project-title{background-color:var(--primary-color)}ui-project-overview>ui-project-overview-scroll>a[ui-project]:hover ui-project-title svg,ui-masonry-column>ui-panel>a[ui-project]:hover ui-project-title svg{transform:rotate(45deg)}ui-project-overview>ui-project-overview-scroll>a[ui-project]:hover ui-project-title:before,ui-masonry-column>ui-panel>a[ui-project]:hover ui-project-title:before{content:"";z-index:-1;background:var(--primary-color);position:absolute;top:0;bottom:0;left:0;right:0}ui-section>ui-panel>a[ui-project] ui-project-title:hover{background-color:var(--primary-color)}ui-section>ui-panel>a[ui-project] ui-project-title:hover svg{transform:rotate(45deg)}ui-section>ui-panel>a[ui-project] ui-project-title:hover:before{content:"";z-index:-1;background:var(--primary-color);position:absolute;top:0;bottom:0;left:0;right:0}}ui-ai{display:block}ui-ai ui-request,ui-ai ui-response{--listener-spacing:var(--ai-chat-listener-spacing);--speaker-spacing:calc(var(--ai-chat-speaker-spacing) - var(--ai-chat-logo) + var(--ai-chat-bubble-tick-size));flex-direction:row;margin-bottom:.75rem;display:flex}ui-ai ui-request:not([ui-done]) ui-chat ui-token:last-of-type,ui-ai ui-response:not([ui-done]) ui-chat ui-token:last-of-type{opacity:.2}ui-ai ui-request svg,ui-ai ui-response svg{width:var(--ai-chat-logo);flex-shrink:0;height:auto;margin-top:auto}ui-ai ui-request svg path,ui-ai ui-response svg path{fill:#fff;stroke:none}ui-ai ui-request ui-chat,ui-ai ui-response ui-chat{--line-height:1.2;background:var(--bubble-color);overflow-wrap:anywhere;font-size:var(--ai-chat-font-size);position:relative}ui-ai ui-request ui-chat:after,ui-ai ui-response ui-chat:after{--transparent-bubble-tick-border:calc(var(--ai-chat-bubble-tick-size)/2)solid transparent;--filled-bubble-tick-border:calc(var(--ai-chat-bubble-tick-size)/2)solid var(--bubble-color);content:"";border-top:var(--transparent-bubble-tick-border);border-bottom:var(--filled-bubble-tick-border);position:absolute;bottom:0}ui-ai ui-request ui-chat ui-text-container,ui-ai ui-response ui-chat ui-text-container{padding:var(--ai-chat-bubble-spacing);max-height:calc(var(--line-height)*15em + var(--line-height)/2*1em - var(--ai-chat-bubble-spacing)*2);line-height:var(--line-height);text-transform:none;font-family:silka-mono;display:block;position:relative;overflow:auto}ui-ai ui-request ui-chat ui-text-container ui-token,ui-ai ui-response ui-chat ui-text-container ui-token{transition:opacity .2s}ui-ai ui-request{--bubble-color:#fff2;margin-right:var(--listener-spacing)}ui-ai ui-request ui-chat{margin-left:var(--speaker-spacing)}ui-ai ui-request ui-chat:after{left:calc(var(--ai-chat-bubble-tick-size)*-1);border-right:var(--filled-bubble-tick-border);border-left:var(--transparent-bubble-tick-border)}ui-ai ui-response{--bubble-color:var(--primary-color);margin-left:var(--listener-spacing);justify-content:end}ui-ai ui-response ui-chat{margin-right:var(--speaker-spacing)}ui-ai ui-response ui-chat:after{right:calc(var(--ai-chat-bubble-tick-size)*-1);border-left:var(--filled-bubble-tick-border);border-right:var(--transparent-bubble-tick-border)}ui-ai ui-ai-footer{margin-inline:calc(var(--ai-chat-speaker-spacing) + var(--ai-chat-bubble-tick-size));font-family:silka-mono;font-size:var(--ai-control-font-size);flex-direction:row;justify-content:space-between;display:flex}ui-ai ui-ai-footer ui-model{vertical-align:middle;text-align:right;margin-left:auto;font-family:silka-mono}ui-ai ui-ai-footer ui-model:hover{cursor:pointer;text-decoration:underline}ui-panel[ui-banner]{--banner-scale:40;justify-content:center;align-items:center;display:flex;overflow:hidden}@media (max-width:1000px){ui-panel[ui-banner]{--banner-scale:30}}@media (max-width:700px){ui-panel[ui-banner]{--banner-scale:20}}ui-panel[ui-home-banner]{min-height:unset;position:relative}ui-panel[ui-home-banner] ui-banner-content{z-index:1;padding:var(--content-padding);background:radial-gradient(farthest-corner at var(--content-padding)var(--content-padding),#0004 25%,transparent 75%);width:-moz-fit-content;width:fit-content}ui-panel[ui-home-banner] ui-banner-content ui-title{font-family:silka-mono;font-size:calc(2rem*var(--big-font-scale));display:block}ui-panel[ui-home-banner] ui-banner-animation{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}@media (max-width:700px){ui-panel[ui-home-banner] ui-banner-animation canvas{width:1000px;height:1000px;position:absolute;bottom:-15%;right:-30%}}@media (max-width:1000px) and (min-width:700px){ui-panel[ui-home-banner] ui-banner-animation{--blur:10px}ui-panel[ui-home-banner] ui-banner-animation canvas{bottom:var(--blur);right:var(--blur);width:calc(1000px + var(--blur)*2);height:calc(1000px + var(--blur)*2);position:absolute}}@media (min-width:1000px){ui-panel[ui-home-banner] ui-banner-animation canvas{width:var(--content-width);height:var(--content-width);position:absolute;bottom:0;left:0;right:0}}ui-panel[ui-banner],ui-panel[ui-rails]{aspect-ratio:3;position:relative}ui-panel[ui-banner] canvas,ui-panel[ui-rails] canvas{--primary-paint-color:color-mix(in srgb,var(--primary-color),transparent 50%);--primary-paint-border:var(--primary-color);--primary-paint-border-width:8;--secondary-paint-color:#222;--secondary-paint-border:#fff;--secondary-paint-border-width:2;color:var(--primary-paint-color);height:100%}ui-panel[ui-banner] ui-detail,ui-panel[ui-rails] ui-detail{font-family:silka-mono;font-size:.5em;position:absolute;bottom:2rem;left:2rem;right:50%}ui-breaker-container{z-index:10;padding-bottom:var(--page-margin-block);background:var(--background-color);width:100%;font-family:silka;font-size:.75rem;display:block;position:fixed;bottom:0}ui-breaker-container ui-breaker{width:calc(var(--content-width) - var(--layout-border-width));margin-left:auto;margin-right:auto;display:flex}ui-breaker-container ui-breaker:after{content:"";margin-left:var(--content-padding);margin-right:calc(var(--layout-gutter)*2);border-bottom:var(--layout-border);width:100%}ui-breaker-container ui-breaker ui-breaker-counter{bottom:var(--page-margin-block);margin:var(--layout-gutter);margin-left:calc(var(--layout-border-width)*-1);justify-content:center;align-items:center;font-family:silka-mono;line-height:1;position:fixed}ui-footer{z-index:99;background:var(--primary-color);color:var(--primary-contrast-color);min-height:100vh;flex-direction:column;min-height:100svh;font-family:silka-mono;display:flex;position:relative}ui-footer ui-support{background:linear-gradient(-60deg,red 0 10%,orange 0 26%,#ff0 0 42%,green 0 58%,#00f 0 74%,indigo 0 90%,red 0 100%) 50%/5rem;height:1rem}ui-footer ui-footer-content{width:var(--content-width);flex-wrap:wrap;margin-left:auto;margin-right:auto;display:flex;position:relative}ui-footer ui-footer-content>:first-child{border-left-color:#0000}ui-footer ui-footer-content>:last-child{border-right-color:#0000}ui-footer ui-footer-content:after{content:"";bottom:var(--layout-gutter);left:calc((100vw - var(--content-width))*-.5);right:calc((100vw - var(--content-width))*-.5);border-bottom:var(--layout-border);position:absolute}ui-footer ui-footer-content ui-panel{border-bottom:#0000}ui-footer ui-footer-content ui-panel ui-title{margin-block:var(--content-padding)}ui-footer ui-footer-labels{width:var(--content-width);flex-wrap:wrap;margin:2rem auto auto;display:flex}ui-footer ui-footer-labels a{margin-right:2rem;padding:.5rem;font-size:0;display:block}ui-footer ui-footer-labels a:hover{background:var(--primary-contrast-color)}ui-footer ui-footer-labels a:hover path{stroke:none;fill:var(--primary-color)}ui-footer ui-footer-labels a svg{height:1.5rem}ui-footer ui-footer-labels a svg path{stroke:none;fill:var(--primary-contrast-color)}ui-footer ui-footer-logo{width:var(--content-width);margin-top:3rem;margin-left:auto;margin-right:auto;padding-bottom:1.25rem}ui-internal-links>a,ui-external-links>a{cursor:pointer}ui-internal-links,ui-external-links,ui-address-content,ui-copyright-signature{margin-top:var(--content-padding);margin-inline:var(--content-padding);flex-direction:column;display:flex}@media (hover:hover){ui-internal-links a:hover,ui-external-links a:hover,ui-address-content a:hover,ui-copyright-signature a:hover{background-color:var(--primary-hover-color);color:var(--primary-hover-contrast-color)}}ui-internal-links a,ui-internal-links ui-text,ui-external-links a,ui-external-links ui-text,ui-address-content a,ui-address-content ui-text,ui-copyright-signature a,ui-copyright-signature ui-text{font-family:silka-mono;font-size:.75rem}ui-internal-links a:not(:last-of-type),ui-internal-links ui-text:not(:last-of-type),ui-external-links a:not(:last-of-type),ui-external-links ui-text:not(:last-of-type),ui-address-content a:not(:last-of-type),ui-address-content ui-text:not(:last-of-type),ui-copyright-signature a:not(:last-of-type),ui-copyright-signature ui-text:not(:last-of-type){margin-bottom:.5rem}ui-internal-links a,ui-external-links a,ui-address-content a,ui-copyright-signature a{inline-size:-moz-fit-content;inline-size:fit-content}ui-copyright-signature{margin-top:auto;margin-bottom:2rem}ui-copyright-signature ui-text{padding-top:var(--content-padding)}ui-external-links ui-link-group{display:block}ui-external-links ui-link-group:not(:last-of-type){margin-bottom:var(--content-padding)}ui-external-links ui-link-group a,ui-address-content ui-address{display:block}ui-address-content ui-address:not(:last-of-type){margin-bottom:var(--content-padding)}ui-address-content ui-address ui-text{display:block}ui-address-content ui-email-address{margin-top:calc(var(--content-padding)*-.5);margin-bottom:calc(var(--content-padding)*.5)}[ui-footer-claim] ui-title{padding-right:var(--content-padding);font-size:calc(2rem*var(--big-font-scale));display:flex}@media (max-width:1200px){ui-footer-content>ui-panel:first-child{width:calc(100% - var(--layout-border-width));min-height:unset;border-right:none;display:flex;position:relative}ui-footer-content>ui-panel:first-child:after{content:"";bottom:1px;left:calc((100vw - var(--content-width))*-.6);right:calc((100vw - var(--content-width))*-.4);border-bottom:var(--layout-border);position:absolute}ui-footer-content>ui-panel:first-child ui-title{margin-left:auto;margin-right:auto}ui-footer-content>ui-panel:nth-child(2) ui-internal-links{margin-left:unset}}@media (max-width:1000px){ui-footer-content>ui-panel:nth-child(2) ui-internal-links{margin-left:var(--content-padding)}ui-footer-content>ui-panel:nth-child(3) ui-external-links,ui-footer-content>ui-panel:nth-child(3) ui-legal-links{margin-left:unset}ui-footer-content>ui-panel:first-child{width:calc(100%/var(--layout-columns) - var(--layout-border-width));margin-right:calc(var(--layout-gutter)*-1);border-right:var(--layout-border)}ui-footer-content>ui-panel:first-child:after{right:calc(-50vw + var(--layout-gutter))}ui-footer-content>ui-panel:nth-child(2){border-right:none}}ui-header-container{z-index:99;padding-top:var(--page-margin-block);background-color:var(--background-color);display:block;position:sticky;top:0}ui-header-container ui-header{height:var(--header-height);width:calc(var(--content-width) - var(--layout-border-width));margin-left:auto;margin-right:auto;margin-bottom:var(--layout-gutter);border:var(--layout-border);display:flex}ui-header-container ui-header a[ui-header-logo]{cursor:pointer;align-items:center;margin-left:.75rem;display:flex;overflow:hidden}ui-header-container ui-header a[ui-header-logo] svg{height:1.5rem}ui-header-container ui-header ui-header-menu{padding-inline:var(--content-padding);cursor:pointer;border-left:var(--layout-border);align-items:center;margin-left:auto;display:flex;position:relative}@media (hover:hover){ui-header-container ui-header ui-header-menu ui-text:hover{color:var(--primary-contrast-color);background:var(--primary-color)}}ui-header-container ui-header ui-header-menu[ui-hidden]{display:none}ui-header-container ui-header ui-header-menu ui-text{z-index:1;inline-size:-moz-fit-content;inline-size:fit-content;font-family:silka-mono}a[ui-arrow-more-link]{height:100%}a[ui-arrow-more-link]>ui-arrow-more-content{width:50%;position:absolute}a[ui-arrow-more-link]>svg{width:100%;height:100%;position:absolute}a[ui-contact-link]{height:100%}a[ui-contact-link] ui-contact-content{height:calc(100% - var(--content-padding))}a[ui-contact-link] ui-contact-content>svg{width:65%;height:auto;margin:1.5rem auto}a[ui-github-link]{height:100%}a[ui-github-link] ui-github-content>svg{width:40%;height:auto;margin:1.5rem auto}a[ui-arrow-more-link],a[ui-contact-link],a[ui-github-link]{cursor:pointer;position:relative}a[ui-arrow-more-link]:before,a[ui-contact-link]:before,a[ui-github-link]:before{content:"";margin:calc(var(--layout-gutter)*2);margin-top:unset;pointer-events:none;transition:var(--animation-time)border;border:1px solid #0000;position:absolute;top:0;bottom:0;left:0;right:0}a[ui-arrow-more-link] svg,a[ui-contact-link] svg,a[ui-github-link] svg{margin-block:calc(var(--layout-gutter)*-1);color:var(--layout-border-color);transition:var(--animation-time)color;overflow:visible}a[ui-arrow-more-link] svg path,a[ui-contact-link] svg path,a[ui-github-link] svg path{stroke:currentColor;stroke-width:var(--layout-border-width);vector-effect:non-scaling-stroke}ui-arrow-more-content,ui-contact-content,ui-github-content{margin-top:var(--content-padding);margin-inline:var(--content-padding);flex-direction:column;display:flex}ui-arrow-more-content ui-text,ui-contact-content ui-text,ui-github-content ui-text{color:#fff}ui-arrow-more-content ui-text:not(:last-of-type),ui-contact-content ui-text:not(:last-of-type),ui-github-content ui-text:not(:last-of-type){margin-bottom:.5rem}@media (hover:hover){a[ui-arrow-more-link]:hover:before,a[ui-contact-link]:hover:before,a[ui-github-link]:hover:before{content:"";margin:calc(var(--layout-gutter)*2);margin-top:unset;pointer-events:none;border:var(--layout-border-hover);position:absolute;top:0;bottom:0;left:0;right:0}a[ui-arrow-more-link]:hover svg,a[ui-contact-link]:hover svg,a[ui-github-link]:hover svg{color:var(--layout-border-hover-color)}}:root{--masonry-layout:"alternating"}ui-masonry-layout{margin:var(--layout-gutter);display:flex}ui-masonry-layout ui-masonry-column{width:calc(var(--content-width)/2);border-right:var(--layout-border);flex-direction:column;display:flex}ui-masonry-layout ui-masonry-column:first-child>ui-panel[ui-project]:nth-child(5)~*,ui-masonry-layout ui-masonry-column:nth-child(2)>ui-panel[ui-project]:nth-child(5)~*{--counter-prefix:""}ui-masonry-layout ui-masonry-column>ui-panel{border:none;border-bottom:var(--layout-border);margin:unset;margin-left:calc(var(--layout-gutter)*-1)}ui-masonry-column:first-child{counter-reset:ui-panel-count 0;margin-right:var(--layout-gutter);margin-left:calc(var(--layout-gutter)*-1)}ui-masonry-column:nth-child(2){counter-reset:ui-panel-count -1}ui-masonry-column:nth-child(2)>ui-panel:first-of-type{margin-top:calc(var(--layout-gutter)*-1)}ui-masonry-column:nth-child(2)>ui-panel:last-of-type{margin-top:calc(var(--layout-gutter))}ui-masonry-column>ui-panel[ui-project]{counter-increment:ui-panel-count 2}ui-claim{padding:var(--content-padding);flex-direction:column;flex-grow:1;display:flex}ui-claim ui-claim-heart{margin:auto}ui-claim ui-claim-heart svg{color:var(--primary-color);height:2.5rem}@media (max-width:700px){:root{--masonry-layout:"flowing"}ui-masonry-layout{counter-reset:ui-panel-count 0;flex-direction:column}ui-masonry-layout ui-masonry-column{width:var(--content-width)}ui-masonry-layout ui-masonry-column>ui-panel{margin-left:calc(var(--layout-gutter)*-2)}ui-masonry-column:first-child{counter-reset:none;margin-left:unset}ui-masonry-column:nth-child(2){counter-reset:none}ui-masonry-column>ui-panel[ui-project]{counter-increment:ui-panel-count}}ui-navigation{--navigation-width:min(max(50rem,calc(var(--content-width)/2)),calc(var(--content-width)));top:var(--page-margin-block);right:calc((100vw - var(--content-width))/2 - var(--layout-border-width)/2);z-index:100;height:calc(100vh - var(--page-margin-block)*2 - var(--layout-border-width)*2);width:var(--navigation-width);pointer-events:none;opacity:0;border:var(--menu-border);background-color:var(--primary-color);clip-path:polygon(100% 0%,100% 0%,100% 100%,100% calc(100% - var(--navigation-width)));transition:var(--animation-time);flex-direction:row;display:flex;position:fixed;overflow-x:hidden;overflow-y:auto}@supports (height:100dvh){ui-navigation{height:calc(100dvh - var(--page-margin-block)*2 - var(--layout-border-width)*2)}}ui-navigation[ui-open]{pointer-events:unset;opacity:1;-webkit-clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}ui-navigation ui-navigation-content{flex-direction:column;flex-grow:1;display:flex}ui-navigation ui-navigation-content ui-navigation-links{--counter-prefix:"0";margin-top:var(--header-height);counter-reset:ui-navigation-link-count;border-top:var(--menu-border)}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]{height:var(--header-height);padding-inline:var(--content-padding);counter-increment:ui-navigation-link-count;border-bottom:var(--menu-border);text-transform:uppercase;cursor:pointer;align-items:center;font-family:n27;font-size:3rem;display:flex;position:relative;overflow:hidden}@media (max-width:700px){ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]{font-size:1.5rem}}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]:nth-child(9)~*{--counter-prefix:""}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]:after{content:var(--counter-prefix)counter(ui-navigation-link-count);z-index:1;align-self:flex-start;margin-top:.75rem;margin-left:1rem;font-size:.75rem}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link] svg{z-index:1;transition:transform var(--animation-time);height:1.5rem}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link] svg path{fill:none;stroke:currentColor;stroke-width:var(--layout-border-width);vector-effect:non-scaling-stroke}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link] ui-navigation-text{z-index:1;flex-grow:1;font-weight:700;overflow:hidden}ui-navigation ui-navigation-content ui-navigation-footer{flex-direction:row;flex-grow:1;font-family:silka-mono;font-size:.75rem;display:flex}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-about{border-right:var(--menu-border);flex-direction:column;width:15rem;display:flex}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-about ui-navigation-external-links{padding:var(--content-padding);flex-direction:column;flex-grow:1;display:flex;overflow:hidden}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-about ui-navigation-external-links a{cursor:pointer;inline-size:-moz-fit-content;inline-size:fit-content;margin-bottom:.5rem}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-about ui-navigation-external-links a:nth-child(2){margin-bottom:2rem}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-about ui-navigation-cloud-state{padding:var(--content-padding);text-align:right;margin-top:1rem;font-size:.5rem;display:block}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-cookies{padding:var(--content-padding);flex-direction:column;flex-grow:1;display:flex}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-cookies ui-text:not(:last-of-type){margin-bottom:.5rem}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-cookies ui-cookie{width:auto;margin:auto}ui-navigation ui-navigation-options{border-left:var(--menu-border);flex-direction:column;display:flex}ui-navigation ui-navigation-options ui-navigation-close{height:var(--header-height);margin-left:calc(var(--menu-gutter)*2);padding-inline:var(--content-padding);border-bottom:var(--menu-border);cursor:pointer;justify-content:center;align-items:center;font-family:silka-mono;display:flex;position:relative}ui-navigation ui-navigation-options ui-navigation-close ui-text{z-index:1;inline-size:-moz-fit-content;inline-size:fit-content}ui-navigation[ui-open]~ui-navigation-hide-layer{z-index:99;width:100vw;height:100vh;position:fixed;top:0}@media (max-width:1000px){ui-navigation{flex-direction:column-reverse}ui-navigation ui-navigation-options{border-left:unset}ui-navigation ui-navigation-content ui-navigation-links{margin-top:unset;border-top:unset}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]{margin-left:calc(var(--menu-gutter)*2);border-right:unset;border-left:var(--menu-border)}ui-navigation ui-navigation-content ui-navigation-footer{flex-direction:column}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-about{width:unset;margin:calc(var(--menu-gutter)*2);border-left:var(--menu-border);border-right:var(--menu-border);flex-grow:1}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-cookies{display:none}}@media (hover:hover){ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]:before{content:"";left:calc(var(--content-padding) - .25rem);right:var(--navigation-width);z-index:0;background:var(--primary-hover-color);transition:var(--animation-time)right;position:absolute;top:.5rem;bottom:.5rem}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]:hover{color:var(--primary-hover-contrast-color)}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]:hover svg{transform:rotate(45deg)}ui-navigation ui-navigation-content ui-navigation-links a[ui-navigation-link]:hover:before{right:calc(var(--content-padding) - .25rem)}ui-navigation ui-navigation-content ui-navigation-footer ui-navigation-about ui-navigation-external-links a:hover{background-color:var(--primary-hover-color);color:var(--primary-hover-contrast-color)}ui-navigation ui-navigation-options ui-navigation-close ui-text:hover{color:var(--primary-hover-contrast-color);background:var(--primary-hover-color)}}ui-page-title{padding:var(--content-padding);margin:var(--layout-gutter);border-right:var(--layout-border);border-bottom:var(--layout-border);display:block}ui-page-title ui-matrix-title{display:block}ui-page-title ui-matrix-title canvas:not(:last-of-type){margin-bottom:1rem}ui-page-title canvas{color:var(--primary-color);background:var(--background-color);width:100%;font:700 10px silka-mono}@media (max-width:1000px){ui-page-title canvas{font-size:6px}}ui-panel>ui-page-title{border:#0000;margin-top:auto;margin-bottom:auto}ui-panel>ui-page-title>canvas{background:unset}ui-intro,ui-subtitle{margin:var(--content-padding);flex-direction:column;height:100%;display:flex}ui-intro ui-text{margin-bottom:1.5rem}ui-intro ui-ai{font-size:calc(1.5rem*var(--big-font-scale));margin-top:auto;margin-bottom:auto}ui-title-content{margin:var(--content-padding)}ui-title-content ui-title{text-transform:uppercase;font:bold calc(3.5rem*var(--big-font-scale))"n27";color:var(--primary-color)}ui-panel>ui-text{margin-inline:var(--content-padding);margin-bottom:.5rem}ui-panel>ui-text:first-of-type{margin-top:var(--content-padding)}ui-scroller{--scroller-spacing:1rem;bottom:calc(var(--page-margin-block) + var(--content-padding) - var(--scroller-spacing));height:calc(100vh - var(--page-margin-block)*2 - var(--header-height) - var(--content-padding) + var(--scroller-spacing));margin-left:var(--layout-gutter);flex-direction:column;display:flex;position:fixed}@supports (height:100svh){ui-scroller{height:calc(100svh - var(--page-margin-block)*2 - var(--header-height) - var(--content-padding) + var(--scroller-spacing))}}ui-scroller:before{content:"";border-left:var(--layout-border);height:calc(100lvh - 100svh);position:absolute;bottom:100%}ui-scroller ui-scroller-page{margin-bottom:var(--scroller-spacing);border-left:var(--layout-border);border-color:var(--layout-border-color);transition:var(--animation-time);flex-grow:1}ui-scroller ui-scroller-page[ui-active]{border-color:var(--primary-color);flex-grow:4}ui-content{max-width:var(--content-width);margin-left:auto;margin-right:auto;display:block;position:relative}ui-section{counter-reset:ui-panel-count;flex-wrap:wrap;display:flex}ui-section>ui-panel{counter-increment:ui-panel-count}ui-panel{--counter-prefix:"0";min-height:var(--layout-minimal-panel-height);margin:var(--layout-gutter);margin-left:calc(var(--layout-gutter)*-1);border-right:var(--layout-border);border-bottom:var(--layout-border);flex-direction:column;display:flex}ui-panel:nth-child(9)~*{--counter-prefix:""}ui-panel svg{margin-top:calc(var(--layout-gutter)*-2);color:var(--layout-border-color)}ui-panel svg path{fill:none;stroke:currentColor;stroke-width:var(--layout-border-width);vector-effect:non-scaling-stroke}ui-panel>ui-paragraph,ui-panel>ui-bullet-list{margin:var(--content-padding);letter-spacing:.025em;flex-direction:column;justify-content:center;height:100%;font-family:silka;font-size:1.2rem;line-height:1.3em;display:flex}ui-panel>ui-paragraph:not(:last-of-type),ui-panel>ui-bullet-list:not(:last-of-type){margin-bottom:1.2rem}@media (max-width:700px){ui-panel>ui-paragraph,ui-panel>ui-bullet-list{font-size:1rem}}ui-panel>ui-bullet-list{position:relative}ui-panel>ui-bullet-list ui-item{margin-left:2ch;display:block}ui-panel>ui-bullet-list ui-item:not(:last-of-type){margin-bottom:.5rem}ui-panel>ui-bullet-list ui-item:before{content:"-";position:absolute;left:0}ui-panel[ui-layout-title]{--panel-width:var(--content-width);min-height:unset}ui-panel[ui-layout-title]>ui-title{padding-inline:var(--content-padding);font:bold calc(2.5rem*var(--big-font-scale))"n27";text-transform:uppercase;color:var(--primary-color);padding-top:1rem;padding-bottom:1rem}ui-panel[ui-layout-fill]{--panel-width:var(--content-width);width:calc(100%/var(--layout-columns) - var(--layout-border-width));flex-grow:1;justify-content:stretch;align-items:stretch;position:relative}ui-panel[ui-layout-fill]>svg{color:var(--layout-border-color);width:100%;height:100%;position:absolute}ui-panel[ui-layout-fill]>img{margin-top:var(--layout-border-width);object-fit:cover;width:100%;height:100%}ui-panel[ui-layout-medium]{--panel-width:calc(var(--content-width)/var(--layout-columns));width:calc(100%/var(--layout-columns)*2 - var(--layout-border-width))}ui-panel[ui-layout-small]{--panel-width:calc(var(--content-width)/var(--layout-columns));width:calc(100%/var(--layout-columns) - var(--layout-border-width))}ui-panel[ui-layout-split]{--panel-width:calc(var(--content-width)/2);width:calc(50% - var(--layout-border-width));min-height:unset}@media (max-width:1000px){ui-panel[ui-layout-split]{--panel-width:var(--content-width);width:calc(100% - var(--layout-border-width))}ui-panel[ui-layout-optional]{display:none}}@media (max-width:700px){ui-content ui-section ui-panel[ui-layout-small]{--panel-width:var(--content-width);width:calc(100% - var(--layout-border-width))}ui-content ui-section ui-panel[ui-filler]{--panel-width:calc(var(--content-width)/2);width:calc(50% - var(--layout-border-width))}}ui-ansi ui-ansi-color-context{color:var(--ansi-color)}ui-ansi ui-ansi-background-context{background:var(--ansi-background)}ui-ansi ui-ansi-bold-context{font-weight:bolder}ui-ansi ui-ansi-light-context{font-weight:lighter}ui-ansi ui-ansi-italic-context{font-style:italic}ui-ansi ui-ansi-underline-context{text-decoration:underline}ui-ansi ui-ansi-blink-context{animation:1s infinite ansi-blink}@keyframes ansi-blink{0%{opacity:.5}to{opacity:1}}ui-ansi ui-ansi-invert-context{color:var(--ansi-background);background:var(--ansi-color)}ui-ansi ui-ansi-conceal-context{opacity:0}ui-ansi ui-ansi-crossed-context{text-decoration:line-through}ui-ansi ui-ansi-superscript-context,ui-ansi ui-ansi-subscript-context{font-size:80%;line-height:1}ui-ansi ui-ansi-superscript-context{vertical-align:super}ui-ansi ui-ansi-subscript-context{vertical-align:sub}ui-member{padding:var(--content-padding);margin-block:calc(var(--layout-gutter)*-2);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}@media (hover:hover){ui-member:not(:hover) ui-member-position,ui-member:not(:hover) ui-member-name{opacity:0}}ui-member:after{content:var(--counter-prefix)counter(ui-panel-count);align-self:flex-end;font-family:silka-mono;font-size:.75rem;position:absolute}ui-member ui-member-position,ui-member ui-member-name{z-index:1;opacity:1;transition:var(--animation-time)}ui-member ui-member-position{font-family:silka-mono;font-size:.75rem}ui-member ui-member-name{font-size:calc(1.5rem*var(--big-font-scale));margin-top:auto}ui-member>img{width:100%;height:auto;position:absolute;top:0;bottom:0;left:0;right:0}:root{--primary-color:#4339ff;--primary-contrast-color:#fff;--primary-dim-color:#fff;--primary-dim-contrast-color:#000;--background-color:#000;--background-contrast-color:#fff;--primary-hover-color:#fff;--primary-hover-contrast-color:#000;--layout-border-width:2px;--layout-border-color:color-mix(in srgb,var(--background-contrast-color),transparent 55%);--layout-border-hover-color:var(--primary-color);--layout-border:var(--layout-border-width)solid var(--layout-border-color);--layout-border-hover:var(--layout-border-width)solid var(--layout-border-hover-color);--layout-gutter:calc(var(--layout-border-width)*-1/2);--layout-ratio-full:16/9;--layout-ratio-compact:4/3;--layout-ratio-mobile:9/16;--layout-minimal-panel-height:calc(var(--content-width)/var(--layout-columns));--menu-border:var(--layout-border);--menu-gutter:var(--layout-gutter);--animation-time:.2s;--page-gutter:1.5rem;--page-gutter-max:4rem;--page-width-max:1750px;--page-margin-block:2rem;--page-margin-block:min(max(var(--page-gutter),calc(min(100vw - var(--page-width-max),100vw)/2)),var(--page-gutter-max));--content-width:calc(min(var(--page-width-max),100vw) - var(--page-gutter)*2);--content-padding:2.5rem;--header-height:4rem;--layout-columns:4;--page-font:0rem;--big-font-scale:1;--project-width:min(80%,calc((var(--content-width)/var(--layout-columns))*2));--ai-chat-logo:1.5rem;--ai-chat-bubble-tick-size:.75rem;--ai-chat-bubble-spacing:.75rem;--ai-chat-listener-spacing:8rem;--ai-chat-speaker-spacing:2rem;--ai-chat-font-size:max(1rem,1em);--ai-control-font-size:max(.75rem,.5em)}body{background-color:var(--background-color);color:var(--primary-contrast-color);margin:0;padding:0;font-family:silka;overflow-x:hidden}ui-text{font-family:silka-mono;font-size:.75rem}a{color:inherit;text-decoration:none}@media (max-width:1200px){:root{--content-width:calc(min(1200px,100vw) - var(--page-gutter)*2);--layout-columns:3;--big-font-scale:.9}}@media (max-width:1000px){:root{--content-width:calc(min(1000px,100vw) - var(--page-gutter)*2);--layout-columns:2}}@media (max-width:700px){:root{--content-padding:1.5rem;--big-font-scale:.6;--ai-chat-logo:1rem;--ai-chat-bubble-tick-size:.5rem;--ai-chat-listener-spacing:3rem;--ai-chat-speaker-spacing:1.25rem}}