@font-face{font-family:Olyford;src:url(/assets/olyford-extrabold-DnmjnVxe.woff2) format("woff2");font-weight:800;font-display:swap}.gamesdev-logo{--gamesdev-logo-turn: 1s;position:relative;width:64px;aspect-ratio:128 / 136}.gamesdev-logo__layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.gamesdev-logo__segment{opacity:0;animation:gamesdev-logo-fade var(--gamesdev-logo-turn) linear infinite}.gamesdev-logo__segment--1{animation-delay:calc(var(--gamesdev-logo-turn) * 0 / 6)}.gamesdev-logo__segment--2{animation-delay:calc(var(--gamesdev-logo-turn) * 1 / 6)}.gamesdev-logo__segment--3{animation-delay:calc(var(--gamesdev-logo-turn) * 2 / 6)}.gamesdev-logo__segment--4{animation-delay:calc(var(--gamesdev-logo-turn) * 3 / 6)}.gamesdev-logo__segment--5{animation-delay:calc(var(--gamesdev-logo-turn) * 4 / 6)}.gamesdev-logo__segment--6{animation-delay:calc(var(--gamesdev-logo-turn) * 5 / 6)}@keyframes gamesdev-logo-fade{0%,to{opacity:0}5%{opacity:.2}10%{opacity:.5}15%{opacity:.8}20%{opacity:1}45%{opacity:1}55%{opacity:.8}65%{opacity:.5}75%{opacity:.2}85%{opacity:.1}90%{opacity:0}}@media(prefers-reduced-motion:reduce){.gamesdev-logo__segment{animation:none;opacity:1}}@font-face{font-family:TTChocolates;src:url(/assets/ttchocolates-demibold-Bk0r5G04.woff2) format("woff2");font-weight:600;font-display:swap}:root{--bg: #101014;--panel: #1a1a21;--fg: #e8e8ec;--muted: #9a9aa4;--input-bg: #0d0d11;--input-border: #2e2e36;--accent: #52a8a8;--hairline: #26262e;--error: #e5484d;--error-bg: #2a1517;--success: #5fd37f;--success-bg: #14251a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--bg);color:var(--fg);font-family:TTChocolates,-apple-system,Segoe UI,sans-serif;font-size:1rem;line-height:1.5}h1,h2{font-family:Olyford,TTChocolates,sans-serif;text-transform:lowercase;font-weight:800}h1{font-size:1.6rem;margin:0 0 1.5rem}a{color:var(--accent)}#root{min-height:100vh}.acct-layout{min-height:100vh;display:flex;flex-direction:column}.acct-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--hairline)}.acct-header__logo{display:flex;align-items:center;gap:.5rem;color:var(--fg);text-decoration:none;-webkit-tap-highlight-color:transparent}.acct-header__logo:link,.acct-header__logo:visited,.acct-header__logo:hover,.acct-header__logo:active{color:var(--fg);text-decoration:none}.acct-header__logo:focus{outline:none}.acct-header__logo:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.acct-header__logo img{height:28px;display:block}.acct-header__wordmark{font-family:Olyford,TTChocolates,sans-serif;font-weight:800;font-size:1.35rem;line-height:1;white-space:nowrap}.acct-header__nav{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1rem;font-size:.9rem}.acct-header__nav a{color:var(--muted);text-decoration:none}.acct-header__nav a:hover{color:var(--fg)}.acct-header__tab{color:var(--muted);background:none;border:none;padding:0;margin:0;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:color .15s ease}.acct-header__tab:hover{color:var(--fg)}.acct-header__user{color:var(--muted);font-size:.85rem}.acct-main{width:100%;max-width:26rem;margin:0 auto;padding:2rem 1rem 3rem}.acct-main--wide{max-width:44rem}.acct-app{width:100%;max-width:26rem;margin:0 auto;padding:2rem 1rem 3rem}label{display:block;color:var(--muted);margin-bottom:.3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}input,textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--input-border);border-radius:.5rem;font-size:.95rem;color:var(--fg);background-color:var(--input-bg);font-family:inherit;margin-bottom:.9rem;transition:border-color .15s ease}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #52a8a840}.acct-terms-agreement{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.9rem}.acct-terms-agreement input[type=checkbox]{width:auto;flex-shrink:0;padding:0;margin:.2rem 0 0;border:none;border-radius:0;background:none;accent-color:var(--accent)}.acct-terms-agreement label{display:inline;color:var(--fg);margin-bottom:0;font-size:1rem;text-transform:none;letter-spacing:normal}.acct-remember-me{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem;color:var(--fg);font-size:.9rem;text-transform:none;letter-spacing:normal;cursor:pointer}.acct-remember-me input[type=checkbox]{width:auto;flex-shrink:0;padding:0;margin:0;border:none;border-radius:0;background:none;accent-color:var(--accent)}.acct-name-row{display:flex;flex-wrap:wrap;gap:.6rem}.acct-name-row>div,.acct-name-row>label{flex:1 1 10rem;min-width:0}button{padding:.65rem 1.25rem;border:1px solid var(--input-border);border-radius:.5rem;font-size:.95rem;font-family:inherit;font-weight:600;cursor:pointer;background-color:var(--panel);color:var(--fg);transition:background-color .15s ease,border-color .15s ease}button:hover{border-color:var(--accent)}button[type=submit]{width:100%;background-color:var(--accent);border-color:var(--accent);color:#0a0a0c}button[type=submit]:disabled{opacity:.5;cursor:default}.acct-link{background:none;border:0;padding:0;color:var(--accent);font-size:inherit;font-weight:inherit;text-decoration:underline}.oauth-buttons{display:flex;gap:.6rem;margin-bottom:1rem}.oauth-buttons button{flex:1}.acct-provider-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.acct-provider-button svg{width:1.1rem;height:1.1rem;flex:none}.acct-success{text-align:center}.acct-mimi{height:150px;margin-bottom:.5rem}.error-text{display:block;color:var(--error);font-size:.85rem;margin-top:-.5rem;margin-bottom:.9rem}.error-banner{background-color:var(--error-bg);border:1px solid var(--error);border-radius:.5rem;padding:.9rem;margin-bottom:1.25rem;color:var(--error);font-size:.9rem}.success-banner{background-color:var(--success-bg);border:1px solid var(--success);border-radius:.5rem;padding:.9rem;margin-bottom:1.25rem;color:var(--success);font-size:.9rem}.resend-verification{margin-top:.75rem}.acct-setup-address{color:var(--muted);font-size:.9rem;margin-top:-.5rem;margin-bottom:1.25rem}.acct-setup-address strong{color:var(--fg)}.acct-page{width:100%}.acct-back{padding:.35rem .75rem;font-size:.85rem;color:var(--muted);margin-bottom:1rem}.acct-back:hover{color:var(--fg)}.acct-games{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.acct-games__button{display:block;padding:.75rem 1.1rem;border-radius:.5rem;background-color:var(--accent);color:#0a0a0c;font-weight:600;text-align:center;text-decoration:none}.acct-games__button--disabled{background-color:var(--panel);color:var(--muted);border:1px solid var(--hairline)}.acct-form{margin-bottom:1.5rem}.acct-legal-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}hr{border:0;border-top:1px solid var(--hairline);margin:1.5rem 0}.acct-rule--faint{border-top-color:var(--input-border);opacity:.5;margin:.4rem 0 1rem}.acct-email{color:var(--fg);margin:0 0 1.5rem}.acct-hint{color:var(--muted);font-size:.85rem}.acct-danger{background:var(--error);color:#fff}.acct-ok{color:var(--success);font-size:.85rem;margin:.5rem 0 0}.store-panel{display:flex;flex-direction:column;gap:.9rem}.store-panel__title{margin:0}.store-panel__price{margin:0;min-height:1.5em;color:var(--muted);font-size:.9rem}.store-panel__feedback{min-height:1.4em;display:flex;flex-direction:column;gap:.25rem}.store-panel__physical{margin:0;font-size:.9rem}.store-panel__legal{margin:.75rem 0 0;display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.85rem}.store-panel__status{margin:0;color:var(--muted);font-size:.9rem}.store-panel__error{margin:0;color:var(--error);font-size:.85rem}.store-panel__features{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--fg)}.store-panel__feature{position:relative;padding-left:1.4rem}.store-panel__feature:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.store-panel__actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:.6rem}.store-panel__action{flex:1 1 12rem}.store-panel__action button{width:100%;height:100%}.store-panel__action:first-child button{background-color:var(--accent);border-color:var(--accent);color:#0a0a0c}.store-panel__owned{margin:0;color:var(--fg)}.store-panel__new-code{display:flex;flex-direction:column;gap:.4rem;padding:.9rem;background-color:var(--panel);border:1px solid var(--hairline);border-radius:.5rem}.store-panel__new-code h3{margin:0;font-size:.95rem}.store-panel__new-code form{display:flex;flex-wrap:wrap;gap:.5rem}.store-panel__new-code input{flex:1 1 12rem;margin-bottom:0}.store-panel__codes-section{display:flex;flex-direction:column;gap:.5rem}.store-panel__codes-section h3{margin:0;font-size:.95rem}.store-panel__codes-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.store-panel__codes-scroll{max-height:16rem;overflow:auto;border:1px solid var(--hairline);border-radius:.5rem}.store-panel__codes{width:100%;border-collapse:collapse;font-size:.85rem}.store-panel__codes th,.store-panel__codes td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid var(--hairline)}.store-panel__codes th{color:var(--muted);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.store-panel__codes tbody td{height:2.75rem;box-sizing:border-box}.store-panel__code-cell{display:flex;align-items:center;gap:.4rem}.store-panel__code-mask{position:relative;font-family:ui-monospace,Courier New,monospace;letter-spacing:.02em;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:default}.store-panel__code-reveal{position:absolute;bottom:calc(100% + .25rem);left:0;z-index:5;padding:.2rem .4rem;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background-color:#2a2a33;border:1px solid var(--hairline);border-radius:.3rem}.store-panel__copy{position:relative;display:inline-flex}.store-panel__copy-button{display:inline-flex;align-items:center;padding:.2rem;line-height:0;cursor:pointer;background:none;color:var(--muted);border:0}.store-panel__copy-button:hover{color:var(--fg)}.store-panel__copy-icon{display:block}.store-panel__copied{position:absolute;bottom:calc(100% + .2rem);left:50%;transform:translate(-50%);z-index:5;padding:.1rem .35rem;font-size:.7rem;white-space:nowrap;pointer-events:none;background-color:#2a2a33;border:1px solid var(--hairline);border-radius:.3rem}.store-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background-color:#000000a6}.store-modal{width:min(100%,26rem);max-height:85vh;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.7rem;background-color:var(--panel);border:1px solid var(--hairline);border-radius:.75rem}.store-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.store-modal__title{margin:0;font-family:Olyford,TTChocolates,sans-serif;text-transform:lowercase;font-size:1.1rem}.store-modal__close{display:flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;font-size:1.2rem;line-height:1;color:var(--muted)}.store-modal__close:hover{color:var(--fg)}.store-modal--finalizing,.store-modal--access{align-items:center;text-align:center;gap:.9rem}.store-modal--finalizing:focus{outline:none}.store-modal__message{margin:0}.store-modal__play{min-width:8rem}.store-modal__close-icon{display:block}.store-modal__form{display:flex;flex-direction:column;gap:.7rem}.store-modal__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:14rem;overflow-y:auto}.store-modal__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.store-modal__row-code{font-family:ui-monospace,Courier New,monospace;font-size:.8rem;white-space:nowrap}.store-modal__row input{flex:1;min-width:0;margin-bottom:0}.store-modal__form>input{margin-bottom:0}.store-modal__row-sent{flex:1;min-width:0;color:var(--muted);font-size:.85rem}.store-modal__row-error{flex-basis:100%;color:var(--error);font-size:.75rem}.store-modal__captcha{display:flex;justify-content:center}.store-modal__error{margin:0;color:var(--error);font-size:.85rem}.store-modal__own-codes h4{margin:0 0 .4rem;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.store-modal__own-codes ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.store-modal__own-codes button{padding:.25rem .6rem;font-family:ui-monospace,Courier New,monospace;font-size:.75rem}
