:root{color-scheme:dark;--bg:#141117;--panel:#201922;--ink:#f8eef2;--muted:#c2b2bd;--rose:#ffa4c0;--line:#4b3545}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 76% 20%,#2b1928 0,transparent 40%),var(--bg);color:var(--ink);font:16px/1.55 system-ui,sans-serif}a{color:inherit}a:focus-visible{outline:2px solid var(--rose);outline-offset:5px}.shell{width:min(1120px,calc(100% - 48px));margin:auto}.nav,.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0}.nav{border-bottom:1px solid var(--line)}.brand,.nav a{text-decoration:none}.brand,.eyebrow,.badge,.label,.index,.window,.key,.foot{font-family:ui-monospace,Consolas,monospace}.brand{font-weight:800;letter-spacing:.07em}.brand span{color:var(--rose);font-size:1.45em;vertical-align:middle;margin-right:.24em}.nav nav{display:flex;gap:24px;color:var(--muted)}.nav nav a:hover{color:var(--rose)}.hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px;padding:78px 0 86px}.eyebrow,.label,.index{color:var(--rose);font-size:.75rem;font-weight:700;letter-spacing:.15em}.eyebrow span{display:inline-block;width:8px;height:8px;background:var(--rose);margin-right:6px}.intro h1{font-size:clamp(4.3rem,10vw,8rem);line-height:.87;letter-spacing:-.075em;margin:.2em 0}.intro em{color:var(--rose);font-style:normal}.lede,.section p,.foot{color:var(--muted)}.lede{max-width:30ch;font-size:1.15rem}.button{display:inline-flex;gap:20px;background:var(--rose);color:#211320;font-weight:750;text-decoration:none;padding:12px 16px;margin-top:12px}.button:hover{background:#ffc0d2}.badge{display:inline-block;border:1px solid var(--line);color:var(--rose);padding:4px 8px;font-size:.7rem;letter-spacing:.09em;white-space:nowrap}.section{border-top:1px solid var(--line);padding:44px 0}.section .eyebrow,.section .index{color:var(--rose)}h2{margin:0;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.045em;line-height:1.05}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.features article{border-top:1px solid var(--line);padding-top:6px}.features h3{margin:.3em 0}.features p{margin:.4em 0}.release{display:flex;justify-content:space-between;align-items:center;gap:16px}.release p:last-child{margin-bottom:0}.foot{border-top:1px solid var(--line);font-size:.8rem}
@media(max-width:780px){.hero{grid-template-columns:1fr;gap:34px;padding:48px 0}.features{grid-template-columns:1fr;gap:17px}}@media(max-width:390px){.shell{width:calc(100% - 30px)}.nav nav{gap:10px}.brand{font-size:.82rem}.release{align-items:flex-start;flex-direction:column}}
@font-face{font-family:Monocraft;src:url(Monocraft.ttf) format("truetype");font-display:swap}
:root{--bg:#140e14;--panel:#26161e;--ink:#fff1e9;--muted:#d4b7bb;--rose:#ff9d9c;--line:#543039;--pixel:Monocraft,Consolas,monospace}
body{background:radial-gradient(ellipse at 72% 13%,#421c25,transparent 45%),var(--bg)}
.brand,.eyebrow,.badge,.label,.index,.window,.key,.foot,.sidebar,.panel,h1,h2,h3,.button{font-family:var(--pixel)}
.intro h1{font-size:clamp(3.6rem,8.2vw,6.9rem);letter-spacing:-.09em;line-height:.95}.intro em{color:#ff9d9c;text-shadow:4px 4px #581b34}
.nav a:hover,.nav a:focus-visible{color:#ffbd91}.brand span{display:inline-block;width:18px;height:21px;background:url(rose.svg) center/contain no-repeat;font-size:0;margin-right:8px}
.hero-art{position:relative;isolation:isolate;min-height:300px;background:radial-gradient(ellipse at center,#772d383b,transparent 66%)}.ember-rose{position:absolute;z-index:-1;top:22px;left:50%;width:210px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 0 22px #f45266);animation:float-rose 5s ease-in-out infinite}
.embers{position:absolute;z-index:2;inset:-30px 0 0;width:100%;height:calc(100% + 30px);pointer-events:none}
.hero-art:hover .preview{border-color:#ffad89;box-shadow:8px 8px 0 #49202d,0 0 55px #a3444d70}
.button{box-shadow:4px 4px #7c3346;transition:transform .15s,box-shadow .15s}.button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #7c3346}
h2{letter-spacing:-.045em}.showcase{min-height:200px;margin-top:24px;display:grid;place-content:center;justify-items:center;text-align:center;border:1px dashed #87505b;background:repeating-linear-gradient(135deg,#26171e 0 12px,#22151c 12px 24px)}.showcase p{margin:14px 0 0}
@keyframes float-rose{50%{transform:translate(-50%,-12px) rotate(-3deg)}}
@media(max-width:780px){.hero-art{min-height:195px}.ember-rose{top:8px;width:146px}.intro h1{font-size:clamp(3.6rem,12vw,6rem)}}
@media(max-width:480px){.nav{flex-wrap:wrap;gap:10px}.nav nav{gap:14px}}
@media(prefers-reduced-motion:reduce){.ember-rose{animation:none}.button,.preview{transition:none}}.preview button:focus-visible,.faq summary:focus-visible{outline:2px solid var(--rose);outline-offset:3px}.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.plans article{border:1px solid var(--line);padding:20px;background:var(--panel)}.plans h3{margin:0;font-size:clamp(1.35rem,4vw,2rem)}.plans h3 small{font-size:.68rem;color:var(--muted)}.plans article p:last-child{margin-bottom:0}.checkout-state{margin-bottom:0}.faq details{padding:14px 0;border-bottom:1px solid var(--line)}.faq details:first-of-type{margin-top:15px}.faq summary{cursor:pointer;font-weight:700}.faq details p{margin:.6em 0 0}@media(max-width:540px){.plans{grid-template-columns:1fr}}
body,button,input,select,textarea,kbd{font-family:var(--pixel)}
body{font-size:.95rem;line-height:1.7}
.nav nav{flex-wrap:wrap;align-items:center;gap:8px}
.nav nav a{padding:6px 9px;font-size:.84rem}
.nav nav a[aria-current=page]{color:var(--rose);background:#38212b;box-shadow:inset 0 -2px var(--rose)}
.nav nav a[href="buy.html"]:not([aria-current]){color:#ffc2a6;border:1px solid var(--line)}
.intro h1{letter-spacing:-.05em}
.lede{line-height:1.6}
.quiet-link{display:inline-block;color:#ffb39e;text-underline-offset:.25em}
.intro .quiet-link{margin-left:12px}
.plan-banner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.plan-banner .button{flex-shrink:0;margin-top:0}
.subpage{padding:56px 0 68px;min-height:calc(100vh - 145px)}
.page-heading{padding:0 0 22px;border-bottom:1px solid var(--line)}
.page-heading h1{margin:.16em 0;font-size:clamp(2.5rem,9vw,5.5rem);color:var(--rose);line-height:1.08;text-shadow:4px 4px #581b34}
.page-heading p:last-child{max-width:66ch;color:var(--muted);margin-bottom:0}
.plan-grid article,.status-panel,.steps li{background:linear-gradient(145deg,#30202a,#22161d);border:1px solid var(--line);padding:22px}
.plan-grid h2{font-size:clamp(1.4rem,4vw,2.3rem);letter-spacing:-.02em}
.plan-grid h2 small{display:block;color:var(--muted);font-size:.8rem;margin-top:9px;letter-spacing:0}
.plan-grid article p,.status-panel p,.steps p{color:var(--muted)}
.status-panel{margin-top:24px;max-width:850px}
.status-panel h2,.steps h2{margin-top:10px;font-size:1.35rem;letter-spacing:-.02em}
.status-panel img{display:block;margin-bottom:10px}
.status-panel p:last-child,.steps p:last-child{margin-bottom:0}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:24px 0;list-style:none;counter-reset:step}
.steps li:before{counter-increment:step;content:"0" counter(step);color:var(--rose)}
.page-links{display:grid;gap:12px;margin-top:24px;max-width:650px}
.page-links a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;color:var(--rose)}
.footer-dot{color:var(--rose)}
@media(max-width:760px){.nav{align-items:flex-start;flex-direction:column;gap:8px}.nav nav a{padding:5px 6px;font-size:.76rem}.subpage{padding:35px 0 48px}.steps{grid-template-columns:1fr}}
@media(max-width:520px){.plan-banner{align-items:flex-start;flex-direction:column}.intro .quiet-link{margin:12px 0 0 10px}}
.hero{padding-bottom:48px}
.hero-link{margin-left:12px;font-size:.86rem}
.library-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 42px;border:1px solid var(--line);background:#251820}
.library-stats div{display:flex;flex-direction:column-reverse;gap:4px;padding:15px 22px}
.library-stats div+div{border-left:1px solid var(--line)}
.library-stats dd{margin:0;color:#ffb19f;font-size:clamp(1.55rem,4vw,2.3rem);line-height:1.2}
.library-stats dt{color:var(--muted);font-size:.82rem}
.roster{margin-top:22px;padding:12px 16px;border:1px solid var(--line);background:#23171e}
.roster summary{cursor:pointer;color:var(--rose)}
.operator-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:6px 14px;padding:12px 0 0;margin:10px 0 0;border-top:1px solid var(--line);list-style:none;color:var(--muted);font-size:.78rem}
.payment-panel{border-left:3px solid var(--rose)}
.payment-panel .eyebrow{margin-top:0;color:var(--rose)}
@media(max-width:540px){.library-stats div{padding:12px 9px}.library-stats dt{font-size:.68rem}.hero-link{margin-left:8px}}
.key-form{display:grid;gap:8px;justify-items:start}
.key-form input,.key-form select{width:100%;padding:9px;background:var(--bg);border:1px solid var(--line);color:var(--ink)}
.key-form button{border:0;cursor:pointer}.key-form button:disabled{opacity:.6;cursor:wait}
.issued-key{display:block;overflow-wrap:anywhere;padding:8px;background:var(--bg);color:var(--rose);user-select:all}
.plan-grid form .button,.checkout-list .button{border:0;cursor:pointer}.checkout-list{list-style:none;margin:14px 0 0;padding:0}.checkout-list li{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.checkout-list small{color:var(--muted)}
.admin-table{overflow:auto;margin-top:24px}.admin-table table{border-collapse:collapse;width:100%;font-size:.8rem}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table code{display:block;overflow-wrap:anywhere;color:var(--rose);margin-top:6px}.admin-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-actions button,.admin-actions input{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:3px 6px}.admin-actions input{width:65px}

/* Give the pixel typography more room on desktop and mobile. */
body{font-size:.95rem;line-height:1.75}
.shell{width:min(1200px,calc(100% - 64px))}
.nav{padding:24px 0}.nav nav{gap:10px}.nav nav a{padding:8px 12px;font-size:.9rem}
.hero{padding:84px 0 64px;gap:clamp(36px,8vw,112px);grid-template-columns:1fr .9fr}
.intro h1{margin:.15em 0 .24em}.lede{max-width:37ch;margin-bottom:24px}
.hero-art{min-height:335px}.ember-rose{top:34px;width:220px}
.section{padding:60px 0}.section h2,.page-heading h1{line-height:1.12}
.features{gap:32px;margin-top:34px}.features article{padding:16px 0 0}.features p{max-width:37ch}
.library-stats{margin-bottom:48px}.library-stats div{padding:20px 26px}
.page-heading{padding-bottom:26px}.subpage{padding:66px 0 80px}
.plans{gap:22px;margin-top:30px}.plan-grid article,.status-panel{padding:clamp(22px,4vw,34px)}
.plan-grid h2{margin:8px 0 14px}.plan-grid article p{max-width:42ch}
.status-panel{margin-top:32px}.checkout-list li{gap:8px;padding:20px 0}
.legacy-tests{margin-top:38px;border-top:1px solid var(--line);padding-top:16px}.legacy-tests summary{cursor:pointer;color:var(--muted)}
.status-panel button{border:0;cursor:pointer}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.nav{padding:16px 0}.nav nav{gap:4px}.nav nav a{padding:5px 7px;font-size:.8rem}.hero{grid-template-columns:1fr;gap:20px;padding:45px 0 24px}.hero-art{min-height:205px}.ember-rose{top:8px;width:148px}.section{padding:40px 0}.subpage{padding:40px 0 54px}.features{gap:16px}.library-stats div{padding:12px 10px}}

.store-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  align-items: center;
  gap: 24px;
}

.store-art {
  position: relative;
  isolation: isolate;
  min-height: 142px;
  background: radial-gradient(ellipse, #9a3b4952, transparent 70%);
}

.store-art .ember-rose {
  top: 18px;
  width: 96px;
}

.store-notice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-top: 24px;
  color: var(--muted);
  font-size: .85rem;
}

.store-notice p { margin: 0; }
.store .plans { margin-top: 18px; }

.store .plan-grid article {
  display: flex;
  flex-direction: column;
  border-top: 2px solid #b96770;
  background: radial-gradient(ellipse at top right, #74334355, transparent 65%), var(--panel);
}

.store .plan-grid .eyebrow { color: var(--rose); margin: 0 0 4px; }
.store .plan-grid h2 { margin: 0; }

.store .plan-grid .store-price {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: clamp(1.8rem, 5vw, 2.8rem);
  line-height: 1.2;
}

.store-price span, .store .plan-grid small {
  color: var(--muted);
  font-size: .8rem;
}

.store .plan-grid form {
  display: grid;
  gap: 9px;
  margin-top: auto;
  padding-top: 10px;
}

.store .plan-grid .button {
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  margin: 0 4px 0 0;
  text-align: left;
}

.store .plan-grid .button:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 4px;
}

.store-guide {
  margin-top: clamp(32px, 6vw, 64px);
  padding-top: 26px;
  border-top: 1px solid var(--line);
}

.store-guide h2 { font-size: clamp(1.35rem, 3vw, 2rem); }
.store-guide h3 { margin: 6px 0 0; }
.store-guide .steps p { margin-top: 8px; }

@media (max-width: 540px) {
  .store-heading { grid-template-columns: minmax(0, 1fr); }
  .store-art { display: none; }
}
