body,html{margin:0;padding:0;background-color:#000!important;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.theme-content{min-height:100vh;background:#000}html[data-theme=light] .theme-content,html[data-theme=light] .top-bar{filter:invert(1) hue-rotate(180deg)}.brand{flex-direction:column;gap:1.5rem}.brand,.brand-row{display:flex;align-items:center}.brand-row{flex-direction:row;gap:24px}.brand-logo{height:64px;width:auto;opacity:0;transition:opacity .65s ease;flex-shrink:0}.brand-logo.brand-logo-visible{opacity:1}.brand-text-wrapper{overflow:hidden;max-width:0;transition:max-width .65s cubic-bezier(.4,0,.2,1)}.brand-text-wrapper.brand-text-visible{max-width:340px}.brand-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.brand-primary{font-size:clamp(2rem,8vw,3.25rem);font-weight:600;letter-spacing:.25em;color:#fff;line-height:1;white-space:nowrap}.brand-primary.slide-in{opacity:0;animation:slideInLeft .6s ease 0s forwards}.brand-secondary{font-size:clamp(1.1rem,4vw,1.75rem);font-weight:400;letter-spacing:.35em;color:#888;line-height:1;white-space:nowrap}.brand-secondary.slide-in-delayed{opacity:0;animation:slideInLeft .6s ease .4s forwards}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}.tagline{font-size:clamp(.75rem,2vw,.875rem);color:#aaa;letter-spacing:.05em;margin:0;font-style:italic;text-align:center}.email-link{font-size:clamp(.9rem,3vw,1.125rem);color:#aaa;letter-spacing:.08em;text-decoration:none;transition:color .2s}.email-link:hover{color:#fff}.site-footer{background-color:#000}.footer-link{font-size:.8rem;color:#666;text-decoration:none;letter-spacing:.05em;transition:color .2s}.footer-link:hover{color:#fff}.mailing-list-wrapper{width:min(480px,90vw)}.mailing-list-wrapper.wide{width:min(520px,92vw)}.mailing-list-form{display:flex;flex-direction:column;gap:.6rem}.mailing-list-title{font-size:1.05rem;text-align:center;color:#fff;font-weight:600;font-style:normal;margin:0 0 .2rem}.mailing-list-intro{font-size:.78rem;text-align:center;color:#888;font-style:italic;margin:0;line-height:1.5}.mailing-list-form input,.mailing-list-form textarea{background:transparent;border:1px solid #2a2a2a;border-radius:3px;color:#ccc;padding:.45rem .7rem;font-size:.8rem;font-family:inherit;font-style:italic;transition:border-color .2s;outline:none;width:100%;box-sizing:border-box}.mailing-list-form input:focus,.mailing-list-form textarea:focus{border-color:#555;color:#fff}.mailing-list-form input::placeholder,.mailing-list-form textarea::placeholder{color:#666}.mailing-list-form textarea{resize:vertical;min-height:72px}.mailing-list-form button{background:#fff;border:1px solid #fff;color:#111;padding:.55rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:background .2s,transform .1s;font-family:inherit;font-style:normal;border-radius:3px}.mailing-list-form button:hover:not(:disabled){background:#ccc;border-color:#ccc}.mailing-list-form button:active:not(:disabled){transform:scale(.98)}.mailing-list-form button:disabled{background:#444;border-color:#444;color:#888;cursor:default}.form-status{font-size:.78rem;text-align:center;color:#888;font-style:italic;margin:0}.form-status.success{color:#4a8a6a}.form-status.error{color:#c05050}.privacy-link{display:block;text-align:center;font-size:.68rem;color:#666;text-decoration:none;letter-spacing:.05em;font-style:italic;margin-top:.2rem;transition:color .2s}.privacy-link:hover{color:#888}.legal-page{max-width:640px;margin:0 auto;padding:6rem 1.5rem 4rem;line-height:1.7}.legal-page h1{font-size:clamp(1.4rem,5vw,2rem);font-weight:600;letter-spacing:.12em;color:#fff;margin:0 0 .5rem}.legal-updated{font-size:.75rem;color:#888;letter-spacing:.05em;font-style:italic;margin:0 0 2.5rem}.legal-page h2{font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#888;margin:2.25rem 0 .6rem}.legal-page li,.legal-page p{font-size:.9rem;color:#aaa}.legal-page p{margin:0 0 1rem}.legal-page strong{color:#ddd;font-weight:600}.legal-page ul{margin:0 0 1rem;padding-left:1.2rem}.legal-page li{margin-bottom:.4rem}.legal-page a{color:#ccc;text-decoration:underline;transition:color .2s}.legal-page a:hover{color:#fff}.devlog-page{max-width:720px;margin:0 auto;padding:6rem 1.5rem 4rem}.devlog-timeline-page{padding:14rem 0 2rem;max-width:none}.devlog-timeline{position:relative;--timeline-x:50%;--timeline-card-gap:120px;--timeline-side-pad:10rem;width:100%;min-height:calc(100vh - 14rem)}.timeline-line{position:absolute;left:var(--timeline-x);top:0;bottom:0;width:2px;background:#2a2a2a}.timeline-origin{pointer-events:none}.timeline-origin-dot{position:absolute;top:0;left:var(--timeline-x);transform:translate(calc(-50% + 1px),-50%);width:15px;height:15px;border-radius:50%;border:2px solid #555;background:#555;z-index:1}.timeline-origin-label{position:absolute;top:0;left:calc(var(--timeline-x) + var(--timeline-card-gap));transform:translateY(-50%);display:flex;flex-direction:column;gap:.25rem}.timeline-tick{position:absolute;left:calc(var(--timeline-x) + 1px);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;background:#000;padding:.15rem .5rem}.tick-label{font-size:.68rem;color:#888;letter-spacing:.08em}.tick-mark{display:none}.timeline-tick.year .tick-label{font-size:.85rem;font-weight:600;color:#999}.timeline-entry{position:absolute;left:0;right:0;height:0}.timeline-dot{position:absolute;top:0;left:var(--timeline-x);transform:translate(calc(-50% + 1px),-50%);width:15px;height:15px;border-radius:50%;border:2px solid #888;background:#000;transition:border-color .2s,background .2s;z-index:1}.timeline-connector{position:absolute;top:-1px;height:2px;background:#2a2a2a}.timeline-entry.right .timeline-connector{left:var(--timeline-x);right:var(--timeline-side-pad)}.timeline-entry.left .timeline-connector{left:var(--timeline-side-pad);right:var(--timeline-x)}.timeline-dot:hover,.timeline-entry:has(.timeline-card:hover) .timeline-dot{border-color:#fff;background:#fff}.timeline-card{position:absolute;bottom:0;display:flex;align-items:flex-start;gap:1.5rem;padding:.7rem .9rem;border:1px solid #2a2a2a;border-radius:4px 4px 0 0;background:#0a0a0a;text-decoration:none;transition:border-color .2s}.timeline-card:hover{border-color:#666}.timeline-entry.right .timeline-card{left:calc(var(--timeline-x) + var(--timeline-card-gap));right:var(--timeline-side-pad)}.timeline-entry.left .timeline-card{left:var(--timeline-side-pad);right:calc(var(--timeline-x) + var(--timeline-card-gap))}.timeline-card-main{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.timeline-card-blurb{flex:1 1;text-align:left}.timeline-card-date{font-size:.65rem;color:#888;letter-spacing:.08em;font-style:italic}.timeline-card-title{font-size:.85rem;font-weight:600;color:#ddd;letter-spacing:.04em}.timeline-card-blurb{font-size:.75rem;color:#888;line-height:1.45}@media (max-width:768px){.devlog-timeline{--timeline-side-pad:1rem}}.devlog-article{line-height:1.7;max-width:560px;margin:0 auto}.devlog-back{display:inline-block;font-size:.75rem;color:#666;text-decoration:none;letter-spacing:.05em;margin-bottom:2rem;transition:color .2s}.devlog-back:hover{color:#fff}.devlog-article h1{font-size:clamp(1.3rem,5vw,1.8rem);font-weight:600;letter-spacing:.08em;color:#fff;margin:0 0 .4rem}.devlog-date{font-size:.75rem;color:#888;letter-spacing:.05em;font-style:italic;margin:0 0 2rem}.devlog-body{font-size:.9rem;color:#aaa}.devlog-body blockquote,.devlog-body ol,.devlog-body p,.devlog-body pre,.devlog-body table,.devlog-body ul{margin:0 0 1rem}.devlog-body h1,.devlog-body h2,.devlog-body h3,.devlog-body h4{font-weight:600;letter-spacing:.06em;color:#ddd;margin:2rem 0 .6rem}.devlog-body h1{font-size:1.2rem}.devlog-body h2{font-size:1.05rem}.devlog-body h3{font-size:.95rem}.devlog-body h4{font-size:.9rem}.devlog-body strong{color:#ddd;font-weight:600}.devlog-body a{color:#ccc;text-decoration:underline;transition:color .2s}.devlog-body a:hover{color:#fff}.devlog-body ol,.devlog-body ul{padding-left:1.4rem}.devlog-body li{margin-bottom:.35rem}.devlog-body img{max-width:100%;height:auto;border-radius:4px;display:block;margin:1.25rem 0}.devlog-body blockquote{border-left:2px solid #333;padding-left:1rem;color:#777;font-style:italic}.devlog-body code{background:#111;border:1px solid #2a2a2a;border-radius:3px;padding:.1em .35em;font-size:.82em;color:#ccc}.devlog-body pre{background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;padding:.9rem 1rem;overflow-x:auto}.devlog-body pre code{background:none;border:none;padding:0}.devlog-body hr{border:none;border-top:1px solid #2a2a2a;margin:2rem 0}.devlog-body table{border-collapse:collapse;font-size:.85rem}.devlog-body td,.devlog-body th{border:1px solid #2a2a2a;padding:.4rem .7rem;text-align:left}.devlog-body th{color:#ddd;font-weight:600}.top-bar{position:fixed;top:0;left:0;right:0;z-index:100;justify-content:space-between;width:100%;box-sizing:border-box;padding:16px 32px;background:#000}.top-bar,.top-bar-logo,.top-bar-nav{display:flex;align-items:center}.top-bar-nav{gap:1.75rem}.top-bar-link{font-size:.8rem;color:#888;text-decoration:none;letter-spacing:.08em;transition:color .2s}.top-bar-link.active,.top-bar-link:hover{color:#fff}.theme-toggle{background:transparent;border:1px solid #333;color:#888;border-radius:3px;width:28px;height:28px;font-size:.85rem;line-height:1;cursor:pointer;transition:border-color .2s,color .2s;font-family:inherit}.theme-toggle:hover{border-color:#666;color:#fff}.nav-logo{height:40px;width:auto;opacity:.85;transition:opacity .2s}.nav-logo:hover{opacity:1}