:root{--accent: #8ee6da;--accent-muted: rgb(142, 230, 218, .6);--bg: #273331;--bg-dark: #1f2928;--fg: #e8f3ef;--accent: #FFDC89;--accent-muted: rgb(255, 220, 137, .6);--muted: rgba(223, 234, 178, .22);--bg: #253136;--bg-dark: #1c2325;--fg: #faf4e5;--radius: .5rem;--max-w: 68.75rem;--hero-img: 720px;--text-font: "Ovo", serif;--heading-font: "Grenze", serif}.coiled{--heading-font: "Caudex", serif;--bg: #262d35;--bg-dark: #151c21;--fg: #edf1f6;--accent: #ff8fa0;--accent-muted: rgb(255, 143, 160, .6);--muted: rgba(208, 214, 221, .22)}body.coiled .brand{font-size:1.725rem}body.coiled .nav a{font-size:1.16rem}body.coiled .page-title{font-size:1.47rem}body.coiled .footer-nav a{font-size:1.14rem}.coiled h1,.coiled h2{font-size:1.725rem}.coiled .btn{font-size:1.2rem}.skip-link{position:absolute;left:0;top:0;background:var(--bg);color:var(--fg);padding:.5rem .75rem;z-index:1000;transform:translateY(-120%);transition:transform .08s ease;border:1px solid var(--muted);border-radius:.375rem;text-decoration:none;font-family:var(--heading-font)}.skip-link:focus{transform:translateY(.5rem);outline:3px solid var(--accent);outline-offset:3px}a{text-underline-offset:.25rem}.nav a,.footer-nav a{padding:.5rem .375rem;display:inline-block}html,body{height:100%}*{box-sizing:border-box}body{margin:0;display:flex;flex-direction:column;min-height:100%;background:var(--bg);color:var(--fg);font-family:var(--text-font);line-height:1.6;position:relative}main{flex:1 0 auto;width:100%;padding:1.75rem 3.15rem 3.15rem}@media(max-width:68.75rem){main{padding-left:1.5rem;padding-right:1.5rem}}.container{max-width:var(--max-w);margin:0 auto}.container-edge{position:fixed;top:0;left:0;display:flex;align-items:center;justify-content:center;width:3.5rem;height:14rem;margin:0;padding:0;border:0;background:none;cursor:ew-resize;touch-action:none;z-index:50}body.no-js .container-edge{display:none}.container-edge img{display:block;width:1.75rem;height:14rem;pointer-events:none;opacity:.12}@media(max-width:68.75rem){.container-edge{display:none}}.container-edge:hover img,.container-edge.dragging img,.container-edge:focus-visible img{opacity:.45}.site-header{background:var(--bg-dark);border-bottom:1px solid var(--muted)}.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:1.75rem}h1,h2,h3,h4,h5{font-family:var(--heading-font)}h1,h2,h3,h4,h5,.brand,.nav a,.footer-nav a,.btn{letter-spacing:.5px}h3{font-size:1.3rem}h4{font-size:1rem}hr{border:0;border-top:1px solid var(--muted);margin:0}.brand{font-family:var(--heading-font);font-size:2rem;font-weight:700;color:var(--fg);margin-right:1rem;text-decoration:none}.nav a,.footer-nav a{margin-left:1.5rem;text-decoration:none;color:var(--fg);font-size:1.4rem;font-family:var(--heading-font);opacity:.8;transition:opacity .3s}.footer-nav a{font-size:1.3rem}.nav a.active,.footer-nav a.active{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:.23rem}.nav a.active{text-decoration-thickness:.11rem;text-underline-offset:.43rem}.footer-nav a.active{text-decoration-thickness:.11rem}.nav a:hover,.footer-nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:.23rem}.nav a:hover{text-decoration-thickness:.21rem;text-underline-offset:.43rem}.footer-nav a:hover{text-decoration-thickness:.21rem}a{color:var(--accent)}.page-title{font-size:1.625rem;margin:1.25rem 0}.small-note{margin-top:.875rem;color:var(--fg);font-size:.875rem}.about p{font-size:1.075rem}.hero{display:flex;gap:1.5rem;align-items:stretch;padding-top:.5rem}.hero-left{display:flex;flex-direction:column;justify-content:flex-start;gap:.75rem;padding-right:1.4rem;flex:1 1 0;min-width:0}.hero-left .btn{margin-top:auto}.hero-left p:has(>.btn){margin:0}.hero-ornament{align-self:center}.hero-left h1{font-family:var(--heading-font);line-height:2.8rem}.hero-right{max-width:var(--hero-img);width:100%;flex:0 1 57.4713%}.hero .hero-right .img-frame{height:100%}.lead{color:var(--fg);margin:0 0 1.125rem;font-size:1.075rem}.btn{display:inline-block;background:var(--bg-dark);color:var(--fg);padding:.3rem .7rem;border:1px solid var(--muted);border-radius:.375rem;text-decoration:none;font-family:var(--heading-font);font-weight:700;font-size:1.3rem;opacity:.8;transition:opacity .3s;box-shadow:0 4px 15px #00000026,0 3px 1px #00000040}.btn:hover,.btn:focus-within{opacity:1;text-decoration:underline;text-decoration-thickness:.11rem;text-underline-offset:.21rem}.btn-block{display:block;width:100%;text-align:center}.hero-left h1 a{color:var(--fg);text-decoration:underline;text-decoration-thickness:.11rem;text-underline-offset:.43rem}.hero-left h1 a:hover{color:var(--fg);text-decoration:underline;text-decoration-thickness:.21rem;text-underline-offset:.43rem}.features{display:flex;gap:1.125rem;margin-top:1.75rem}.features article{font-size:1.075rem;background:var(--bg-dark);border:1px solid var(--muted);padding:1.125rem;border-radius:.5rem;flex:1;box-shadow:0 4px 15px #00000040,0 3px 1px #00000040}.features h3{font-family:var(--heading-font);margin:0 0 .5rem}.img-frame{position:relative;overflow:hidden;background:var(--bg-dark);border-radius:.5rem;border:1px solid var(--muted);box-shadow:0 4px 15px #00000073,0 3px 1px #00000040}.img-frame:before{content:"";display:block}.ratio-16x9:before{padding-top:56.25%}.ratio-32x23:before{padding-top:71.875%}.ratio-4x3:before{padding-top:75%}.ratio-1x1:before{padding-top:100%}.img-frame img{image-rendering:auto;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:scale(1.0275);transition:none;will-change:opacity,transform}.img-frame img.loaded{opacity:1;transform:scale(1.01);transition:opacity .45s cubic-bezier(.23,1,.32,1),transform .62s cubic-bezier(.23,1,.32,1)}.no-js .img-frame img{opacity:1;transform:scale(1.01);transition:none}.game-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:1.8rem}.game{display:flex;flex-direction:column;border:1px solid var(--muted);border-radius:.5rem;overflow:hidden;background:var(--bg-dark);width:min(100%,23.4rem);justify-self:center}.game .img-frame{border-bottom-left-radius:0;border-bottom-right-radius:0}.game img{display:block}.game .game-info{padding:1rem 1rem 1rem 1.4rem}.game .game-info h2{margin-top:0}.game-info p{font-size:1.075rem}.game a{text-decoration:none;color:var(--fg)}.game{box-shadow:0 4px 15px #00000059,0 3px 1px #00000040}:focus,:focus-visible{outline:3px solid var(--accent-muted);outline-offset:3px;border-radius:.375rem}.game{overflow:visible}.game>a{display:block;text-decoration:none;color:inherit}.game .game-info h2 .game-title{text-decoration:underline;text-decoration-thickness:.11rem;text-underline-offset:.43rem;color:inherit}.game:hover .game-info h2 .game-title,.game:focus-within .game-info h2 .game-title{color:var(--accent);text-decoration-thickness:.21rem}.game>a:focus-visible{outline-offset:6px;border-radius:.5rem}.game--coming-soon{opacity:.65;filter:grayscale(40%) brightness(.9)}.coming-soon-label{margin-top:.75rem;padding:.4rem .8rem;background:var(--accent-muted);color:var(--fg);border-radius:.375rem;font-size:.95rem;font-weight:600;display:inline-block}.coming-soon-badge{position:absolute;top:.5rem;right:.75rem;background:var(--fg);color:var(--bg);padding:.1rem .5rem;border-radius:var(--radius);font-family:var(--heading-font);font-weight:700;font-size:1rem;z-index:2;letter-spacing:.5px}.team{display:flex;gap:1.125rem;margin-top:1rem}.team-member{font-size:1.075rem;background:var(--bg-dark);border:1px solid var(--muted);border-radius:.5rem;text-align:center;width:min(100%,23.4rem);justify-self:center;box-shadow:0 4px 15px #00000040,0 3px 1px #00000040}.team-member h3{text-decoration:underline;text-decoration-thickness:.11rem;text-underline-offset:.47rem;margin-top:.5rem;min-height:4rem;display:flex;align-items:center;justify-content:center}.team-member p{padding-top:.05rem;padding-bottom:.3rem}.team-member .name-plate{width:min(100%,16rem);height:auto;border-radius:0}.team-member img{border-radius:.375rem;width:100%}.team-member .img-frame{max-height:16rem;border-radius:0 0 .5rem .5rem}.site-footer{padding:0;border-top:1px solid var(--muted);font-size:.8rem;text-align:center;opacity:.8;background:var(--bg-dark);flex-shrink:0}.site-footer .container{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;color:var(--fg)}.footer-legal{display:flex;flex:1;flex-direction:column;align-items:center}.footer-legal a{text-decoration-thickness:.11rem}.footer-legal a:hover{text-decoration-thickness:.21rem}.site-footer .container p{max-width:53rem}.footer-nav{display:flex;flex:none;flex-direction:column;align-items:center}.muted{color:var(--muted)}@media(max-width:55rem){.main .hero{flex-direction:column}.site-header .container{flex-direction:row;gap:.75rem}.nav{display:grid;flex:1;grid-template-columns:repeat(auto-fit,minmax(4rem,max-content));justify-content:end;justify-items:center;column-gap:1.5rem;row-gap:.5rem}.nav a{margin-left:0}#puzzle-container.hero .hero-right{max-width:none}}.site-header,.site-footer,.features article,.img-frame,.game .game-info{background-image:radial-gradient(circle 70% at 50% -250%,#00000073,#00000047 35%,#0000001f 60%,#0000);background-repeat:no-repeat;background-position:center;background-size:cover}@media(max-width:55rem){.site-header,.site-footer,.features article,.img-frame,.game game-info{background-image:radial-gradient(circle 120% at 50% 82%,#0000005c,#0003 40%,#00000014,#0000)}}#puzzle-container{background:var(--bg-dark);padding:1.5rem;border:1px solid var(--muted);border-radius:var(--radius)}#puzzle-container.hero{padding:0}#puzzle-container.hero .hero-left{padding:1.5rem 1.5rem 1.5rem 2.5rem}#puzzle-container.hero .hero-right .img-frame{border-top-left-radius:0;border-bottom-left-radius:0}#puzzle-container p{font-size:1.075rem}#puzzle-text{line-height:1.8;margin-bottom:1rem}#puzzle-form{display:flex;flex-direction:column;gap:.75rem;max-width:25rem}#puzzle-form input{padding:.5rem;background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius);color:var(--fg)}#puzzle-form button{align-self:flex-start;cursor:pointer}.puzzle-hidden,.email-hidden{display:none}.puzzle-error{font-size:1.075rem}.puzzle-error-hidden{display:none;color:var(--accent);margin-top:.75rem}.email-hidden{margin-top:2rem}.puzzle-input{text-transform:lowercase;width:7.5rem;padding:.5rem;background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius);color:var(--fg)}h1,h2{font-size:2.125rem}.page-title{font-size:1.75rem}.brand{font-size:2.125rem}.nav a{font-size:1.5rem}.footer-nav a{font-size:1.4rem}h3{font-size:1.375rem}.btn{font-size:1.4rem}.coming-soon-badge{font-size:1.05rem}html:has(#age-gate:not([hidden])){overflow:hidden}body.age-gated:not(.age-gate-passed) .main{display:none}.age-gate{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);padding:1.5rem}.age-gate[hidden]{display:none}.age-gate-panel{background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:30rem;box-shadow:0 4px 15px #00000073,0 3px 1px #00000040}.age-gate-panel p{font-size:1.075rem}.age-gate-note{font-size:.875rem;opacity:.8}.age-gate-panel form{display:flex;flex-direction:column;gap:.75rem}.age-gate-panel label{font-size:1.075rem}.age-gate-panel input{padding:.5rem;background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius);color:var(--fg);color-scheme:dark}.age-gate-panel .btn{align-self:flex-start;cursor:pointer}.prose{max-width:52.5rem;margin:0 auto}.prose.post{padding-top:.5rem}.post-header{margin-bottom:2rem}.post-header h1{font-family:var(--heading-font);font-weight:700;font-size:2.25rem;line-height:1.15;margin:0 0 .75rem;color:var(--fg)}.post-date{color:var(--accent);font-size:1rem;letter-spacing:.02em;margin:0}.prose p{font-size:1.03rem;margin:0 0 1.25rem;line-height:1.5rem}.prose h2,.prose h3{font-family:var(--heading-font);color:var(--fg);margin:2rem 0 .75rem}.prose h2{font-size:1.625rem}.prose h3{font-size:1.3rem}.prose .heading-anchor{margin-left:.4rem;font-family:var(--text-font);font-size:.85em;font-weight:400;color:var(--accent);opacity:.35;text-decoration:none;cursor:pointer;transition:opacity .18s ease}.prose .heading-anchor:hover,.prose .heading-anchor:focus-visible{opacity:1}.prose .heading-anchor.feedback{opacity:1}.prose ul,.prose ol{margin:0 0 1.25rem;padding-left:1.5rem}.prose li{margin:.25rem 0}.prose blockquote{margin:0 0 1.25rem;padding-left:1rem;border-left:.25rem solid var(--accent-muted);color:var(--fg);opacity:.85}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:.2rem}.prose a:hover{text-decoration-thickness:.2rem}.prose code{font-family:Overpass Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-ligatures:none;font-size:.81em;background:var(--bg-dark);border:1px solid var(--muted);border-radius:.25rem;padding:.05rem .3rem}.prose pre{margin:0 0 1.25rem;padding:1.8rem 1rem .9rem;background:var(--bg-dark);border:1px solid var(--muted);border-radius:var(--radius);overflow-x:auto}.prose pre code{background:none;border:none;padding:0}.prose pre code.hljs{padding:0}.prose pre code .bracket-depth-0{color:#f2c36b}.prose pre code .bracket-depth-1{color:#e9745c}.prose pre code .bracket-depth-2{color:#dba165}.prose pre code .bracket-depth-3{color:#de8048}.coiled .prose pre code .bracket-depth-0{color:#f2a4b2}.coiled .prose pre code .bracket-depth-1{color:#e05c74}.coiled .prose pre code .bracket-depth-2{color:#d8948c}.coiled .prose pre code .bracket-depth-3{color:#d37260}.prose pre code .hljs-comment .bracket-depth-0,.prose pre code .hljs-comment .bracket-depth-1,.prose pre code .hljs-comment .bracket-depth-2,.prose pre code .hljs-comment .bracket-depth-3,.prose pre code .hljs-string .bracket-depth-0,.prose pre code .hljs-string .bracket-depth-1,.prose pre code .hljs-string .bracket-depth-2,.prose pre code .hljs-string .bracket-depth-3,.prose pre code .hljs-quote .bracket-depth-0,.prose pre code .hljs-quote .bracket-depth-1,.prose pre code .hljs-quote .bracket-depth-2,.prose pre code .hljs-quote .bracket-depth-3{color:inherit}.prose .code-block{position:relative;max-width:52.5rem;margin:0 auto 1.25rem}.prose .code-block pre{margin:0}.code-lang{position:absolute;top:.42rem;left:1rem;color:var(--accent-muted);font-family:inherit;font-size:.75rem;letter-spacing:.02em}.copy-code-button{position:absolute;top:.42rem;right:.5rem;cursor:pointer;background:var(--bg-dark);color:var(--accent);min-width:3.566rem;padding:.2rem .5rem;border:1px solid var(--muted);border-radius:var(--radius);font-family:inherit;font-size:.75rem;letter-spacing:.02em;text-align:center;white-space:nowrap;transition:border-color .18s ease}.copy-code-button:hover,.copy-code-button:focus-within{border-color:var(--accent-muted)}.copy-code-button.copied{color:var(--accent);border-color:var(--accent)}.code-live-toggle{position:absolute;top:.42rem;left:6.5rem;cursor:pointer;background:var(--bg-dark);color:var(--accent);min-width:5.5rem;padding:.2rem .5rem;border:1px solid var(--muted);border-radius:var(--radius);font-family:inherit;font-size:.75rem;letter-spacing:.02em;white-space:nowrap;transition:border-color .18s ease}.code-live-toggle:hover,.code-live-toggle:focus-visible{border-color:var(--accent-muted)}.code-live-toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.prose .code-block-interactive pre{overflow:auto;max-height:calc(var(--interactive-code-height, 20rem) + 2.7rem + 2px)}.prose .code-block-interactive.code-preview-view{margin-bottom:0}.live-demo{box-sizing:border-box;width:100%;max-width:52.5rem;margin:0 auto 1.25rem;height:calc(var(--interactive-code-height, 20rem) + 2.7rem + 2px);padding:1.8rem 0 .9rem;background:var(--bg-dark);border:1px solid var(--muted);border-radius:var(--radius)}.live-demo[hidden]{display:none}.live-demo canvas{display:block;margin:0 auto}.live-demo [data-demo-caption] p{margin:.5rem 1rem 0}.live-demo-error{margin:.5rem 1rem 0;padding:0;white-space:pre-wrap;font-size:.8rem;color:#f2b3ad}.prose hr{margin:1.5rem 0}.prose .wikilink{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-muted);text-underline-offset:.2rem}.prose .wikilink:hover{text-decoration-color:var(--accent);text-decoration-thickness:.2rem}.prose .post-citation{margin-left:.15rem;font-size:.72em;font-weight:400;line-height:0;vertical-align:.45em}.prose .post-citation a{display:inline-block;padding:.05em .2em;font-family:Overpass Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-ligatures:none;line-height:1.2;color:var(--accent);text-decoration:none}.prose .post-citation a:hover{text-decoration:underline;text-decoration-color:var(--accent)}.post-references{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--muted);font-size:.9rem}.post-references h2{font-size:1.3rem;margin-top:0}.post-references ol{margin-bottom:0;padding-left:1.4rem}.post-references li{margin:0 0 .6rem;line-height:1.5rem}.post-references li:last-child{margin-bottom:0}.reference-backlink{margin-left:.45rem;color:var(--accent);opacity:.55;text-decoration:none}.reference-backlink:hover{opacity:1;text-decoration:underline}.prose .img-frame{display:block;width:52.5rem;max-width:100%;margin:.5rem auto;box-shadow:none}.prose .img-frame img{position:static;height:auto}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.25rem}.prose th,.prose td{border:1px solid var(--muted);padding:.4rem .65rem;text-align:left;vertical-align:top}.prose th{background:var(--bg-dark);font-family:var(--heading-font);font-weight:700}.prose li input[type=checkbox]{pointer-events:none;margin-right:.5rem;margin-bottom:.5rem;vertical-align:middle}.post-date-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.small-btn{display:inline-block;cursor:pointer;background:transparent;color:var(--accent);min-width:10.17rem;padding:.41rem .64rem;border:1px solid var(--muted);border-radius:var(--radius);font-family:inherit;font-size:1rem;letter-spacing:.02em;transition:border-color .18s ease}.small-btn:hover,.small-btn:focus-within{border-color:var(--accent-muted)}.copy-source-button.copied{color:var(--accent);border-color:var(--accent)}.blog-index{max-width:52.5rem;margin:0 auto}.blog-index .page-title{margin-top:.5rem}.hero-left .blog-entry:last-of-type{margin-bottom:.25rem}.hero-left .latest-blog-heading{margin:0}.hero-left .blog-entry-thumb{flex:none;width:8rem}.hero-left .blog-entry{flex-direction:row}.hero-left .blog-entry.coiled .blog-entry-thumb .img-frame{border-radius:.5rem 0 0 .5rem}.blog-entry{display:flex;margin:0 0 .875rem}.blog-entry:last-of-type{margin-bottom:0}.blog-index hr{margin-bottom:.875rem}.blog-entry.coiled{background:var(--bg-dark);border:1px solid var(--muted);border-radius:.5rem}.blog-entry-thumb{flex:0 0 13.75rem;display:block}.blog-entry-thumb .img-frame{display:block;width:100%;height:100%;transition:border-color .18s ease}.blog-entry-thumb:hover .img-frame,.blog-entry-thumb:focus-visible .img-frame{border-color:var(--accent-muted)}.blog-entry.coiled .blog-entry-thumb .img-frame{border-radius:.5rem 0 0 .5rem}.blog-entry-body{flex:1 1 auto;min-width:0;padding:.75rem .75rem 1rem 1.25rem}.blog-entry h2{font-family:var(--heading-font);font-size:1.4rem;margin:0 0 .25rem}.blog-entry.coiled h2{font-size:1.14rem}.blog-entry h2 a{color:var(--fg);text-decoration:none}.blog-entry h2 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2rem}.blog-entry-date{color:var(--accent);font-size:.95rem;margin:0 0 .5rem}.blog-entry-body>p:last-child{margin-bottom:0}.blog-index-empty{color:var(--fg);opacity:.7;margin-top:1.25rem}@media(max-width:34rem){.blog-entry{flex-direction:column}.blog-entry-thumb{flex:none;width:100%}.blog-entry.coiled .blog-entry-thumb .img-frame{border-radius:.5rem .5rem 0 0}}.blog-carousel{margin:0 0 1.75rem}.blog-carousel .blog-entry:last-of-type{margin-bottom:1.75rem}.blog-carousel h2{font-family:var(--heading-font);font-size:1.4rem;margin:0 0 1.25rem}.blog-carousel .latest-blog-heading{margin:0 0 .75rem}.blog-carousel>hr:first-child{margin:.75rem 0}.carousel{list-style:none;margin:0;padding:0 0 .75rem;display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x proximity}.carousel-card{flex:0 0 20rem;max-width:100%;scroll-snap-align:start}.carousel-card-thumb{display:block}.carousel-card-thumb .img-frame{display:block;width:100%;height:100%;transition:border-color .18s ease}.carousel-card-thumb:hover .img-frame,.carousel-card-thumb:focus-visible .img-frame{border-color:var(--accent-muted)}.carousel-card h3{font-family:var(--heading-font);font-size:1.15rem;margin:.875rem 0 .25rem}.carousel-card h3 a{color:var(--fg);text-decoration:none}.carousel-card h3 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2rem}.carousel-card>p:last-child{margin-bottom:0}
