icon{width:1em;height:1em;display:inline-block;vertical-align:text-top}icon svg{fill:currentColor;width:100%;height:100%}*,*::after,*::before{box-sizing:border-box}a{font-weight:500;color:var(--link-color);text-decoration:inherit}a:hover{text-decoration:underline}html,body{margin:0;padding:0}:root{color-scheme:light dark;--background-color: var(--lm, #f5fcff) var(--dm, #001936);--text-color: var(--lm, #001936de) var(--dm, #ffffffde);--gray-color: var(--lm, #0019365c) var(--dm, #ffffff5c);--link-color: var(--lm, #0548a3) var(--dm, #20bcff);--glow-color: var(--lm, #fff) var(--dm, #004684);--section-color: var(--lm, #d8eaf2) var(--dm, #012755)}html{color-scheme:dark;--lm: ;--dm: initial;font-family:Trebuchet MS,sans-serif;font-size:16px;background-color:var(--background-color);color:var(--text-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}html.light{color-scheme:light;--lm: initial;--dm: }[hidden]{display:none !important}html{line-height:1.5;font-weight:400}body{background-image:radial-gradient(circle at max(50vw - 740px, 70px) -70px, var(--glow-color) 0%, var(--background-color) 150px)}:is(body>header,.home-top>header){display:grid;justify-items:center}:is(body>header,.home-top>header) logo{display:flex;gap:1em;align-items:flex-start}:is(body>header,.home-top>header) logo .brand{text-align:center;align-self:center;margin-right:auto;color:var(--text-color)}:is(body>header,.home-top>header) logo .brand:hover{text-decoration:none}:is(body>header,.home-top>header) logo .brand span{display:block}:is(body>header,.home-top>header) logo .brand span#title{font-size:26px;font-weight:bold}:is(body>header,.home-top>header) logo .brand span#tagline{font-size:12px}:is(body>header,.home-top>header) nav{display:flex;gap:1em;justify-content:center}@media(min-width: 560px){:is(body>header,.home-top>header){grid-template-columns:1fr 1fr;align-items:start}:is(body>header,.home-top>header) logo{justify-self:start}:is(body>header,.home-top>header) nav{justify-self:flex-end}}main,:is(body>header,.home-top>header){padding:1em;width:100%;max-width:1600px;margin:auto}h1{font-size:2em;line-height:1.1}h1,h2{text-shadow:var(--lm, none) var(--dm, 1px 1px 1px rgba(0, 0, 0, 0.5019607843));margin-top:.5em;margin-bottom:.5em;padding:0}button,.button{border-radius:8px;border:1px solid rgba(0,0,0,0);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--link-color);color:var(--background-color);cursor:pointer;transition:border-color .25s}button:hover,.button:hover{text-decoration:none}button:active:hover,.button:active:hover{background-color:var(--hover);border-color:var(--link-color);color:var(--text-color);text-decoration:none}button:focus,button:focus-visible,.button:focus,.button:focus-visible{outline:4px auto -webkit-focus-ring-color}footer{text-align:center;padding:2em 0 100px}#flash-group{position:fixed;top:10px;right:10px}#flash-group section{color:rgba(255,255,255,.95);padding:1em;border-radius:1em;width:300px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(10px)}#flash-group header *{vertical-align:middle}#flash-group header span{font-size:24px}#flash-group .info{background-color:rgba(65,166,102,.8)}#flash-group .info header span{color:green;margin-right:5px}#flash-group .error{background-color:rgba(240,65,35,.8)}#flash-group .error header span{color:#960000}#flash-group header,#flash-group p,#flash-group button{padding:0;margin:0}#flash-group header{font-weight:bold;position:relative}#flash-group button{background-color:rgba(0,0,0,0);position:absolute;top:0;right:0;color:rgba(255,255,255,.6)}#flash-group button:hover{color:rgba(255,255,255,.95);border-color:rgba(0,0,0,0)}@media(max-width: 640px),(max-width: 767px)and (max-height: 500px)and (orientation: landscape){:is(body>header,.home-top>header){display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-height:68px;padding:12px clamp(12px,4vw,24px);gap:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}:is(body>header,.home-top>header) logo{flex:0 0 auto;align-items:center;gap:6px;min-width:0}:is(body>header,.home-top>header) logo>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}:is(body>header,.home-top>header) logo img{display:block;width:35px;height:35px}:is(body>header,.home-top>header) logo .brand{text-align:left;margin:0}:is(body>header,.home-top>header) logo .brand span#title{font-size:18px;line-height:1.2;letter-spacing:-0.055em}:is(body>header,.home-top>header) logo .brand span#tagline{display:none}:is(body>header,.home-top>header) nav{width:auto;min-width:0;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;font-size:14px}:is(body>header,.home-top>header) nav:has(.nav-sign-in){gap:12px}:is(body>header,.home-top>header) nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border-radius:100px;color:var(--text-color)}:is(body>header,.home-top>header) .nav-sign-in{flex-shrink:0;border:0;background:rgba(0,0,0,0);box-shadow:none;padding-inline:0;font-weight:500;color:var(--home-muted, color-mix(in srgb, var(--text-color) 80%, var(--background-color)))}:is(body>header,.home-top>header) .nav-register{position:relative;flex-shrink:0;padding:8px clamp(12px,4vw,16px);border:0;background:var(--home-surface, transparent);font-weight:600}:is(body>header,.home-top>header) .nav-register::after{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb, var(--text-color) 20%, transparent);border-radius:inherit;pointer-events:none}:is(body>header,.home-top>header) .nav-register span,:is(body>header,.home-top>header) .nav-sign-in span{display:none}:is(body>header,.home-top>header) .nav-account{min-width:0;gap:6px;padding-inline:0}:is(body>header,.home-top>header) .nav-account icon{flex-shrink:0;width:16px;height:16px}:is(body>header,.home-top>header) .nav-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(body>header,.home-top>header) .nav-log-out{flex-shrink:0;padding-inline:0;white-space:nowrap}}@media(max-width: 640px)and (hover: hover),(max-width: 767px)and (max-height: 500px)and (orientation: landscape)and (hover: hover){:is(body>header,.home-top>header) .nav-sign-in:hover{background:rgba(0,0,0,0);text-decoration:underline}:is(body>header,.home-top>header) .nav-register:hover{background:#e9e4da;text-decoration:none}}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand{display:none}@media(max-width: 1000px){html:not(.homepage):not(.puzzle-details):not(.auth-pages) body>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 16px;max-width:var(--home-width, 1600px);margin-inline:auto;padding:12px var(--home-gutter, clamp(24px, 4.5vw, 88px)) 24px;text-align:left}html:not(.homepage):not(.puzzle-details):not(.auth-pages) body>footer::before{content:"";flex-basis:100%;border-top:1px solid rgba(23,28,39,.1019607843)}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand{display:flex;align-items:center;gap:8.5px;max-width:100%;min-height:44px}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand img{width:44.2px;height:44.2px;flex-shrink:0}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand strong{display:block;font-size:18.7px;letter-spacing:-0.05em}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand small{display:block;font-size:.690625rem;line-height:1.5;color:var(--home-muted, var(--text-color))}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-social{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 24px;margin-left:auto;max-width:100%;font-size:.9375rem}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-social a{display:inline-flex;align-items:center;min-height:44px}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-message,html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-copyright,html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-separator{display:none}}@media(max-width: 640px){html:not(.homepage):not(.puzzle-details):not(.auth-pages) body>footer{row-gap:20px;padding-bottom:20px}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand{min-width:44px}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand img{width:36px;height:36px}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-brand>span{display:none}html:not(.homepage):not(.puzzle-details):not(.auth-pages) .footer-social{column-gap:12px}}form{--input-background-color: var(--lm, #f5fcff) var(--dm, #002e63);--input-border-color: var(--lm, #2ea0d1) var(--dm, white);--input-error-color: var(--lm, #ba0000) var(--dm, #ff5a5a)}form div{display:grid;gap:1em}div[phx-feedback-for]{display:grid;gap:0;grid-template-columns:max-content 1fr}div[phx-feedback-for] p,div[phx-feedback-for] label{display:block;padding:0;margin:0}div[phx-feedback-for] p span,div[phx-feedback-for] label span{font-size:.8em}div[phx-feedback-for] p{grid-column:2;grid-row:1;margin-left:1em}div[phx-feedback-for] p.error{color:var(--input-error-color)}div[phx-feedback-for] input,div[phx-feedback-for] textarea{font-size:18px;padding:5px;grid-column:1/3;border:1px solid var(--input-border-color);background-color:var(--input-background-color);border-radius:8px}div[phx-feedback-for].error input,div[phx-feedback-for].error textarea{border:1px solid var(--input-error-color)}div[phx-feedback-for=website]{display:none}summary{font-weight:bold;font-size:1.2em}form{max-width:400px;padding:1em 0}#contact form{max-width:none}#contact textarea{min-height:200px}.form_container{background-color:var(--section-color);padding:1em 1em 2em;border-radius:2em}@media(min-width: 900px){.form_container{padding:0 3em;display:grid;column-gap:3em;grid-template-columns:1fr 1fr;grid-template-areas:"header description" "form description";grid-template-rows:min-content 1fr;column-gap:8em;row-gap:2em;padding:2em 4em 4em}.form_container header{grid-area:header}.form_container form{grid-area:form}.form_container>div{grid-area:description;align-self:center}.form_container>div div{font-size:1.3em}}
