:root{color-scheme:dark}body{margin:0;background:#0e0e12;color:#efedf5;font:15px/1.6 'Segoe UI',system-ui,sans-serif}main{max-width:1000px;margin:65px auto;padding:0 24px 70px}.eyebrow{color:#a786f2;font-size:11px;letter-spacing:2px}h1{font-size:38px;line-height:1.2;letter-spacing:-1px}.intro,.small,#availability{color:#a19aac}.small{font-size:13px}section{margin-top:28px;padding:28px;border:1px solid #302b3b;border-radius:12px;background:#15141b}select,input,button{font:inherit;border:1px solid #393143;border-radius:8px;padding:12px;background:#0e0e15;color:inherit}select{display:block;margin:8px 0 24px;width:100%}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan{padding:20px;text-align:left;background:#19161f;cursor:pointer}.plan[aria-pressed=true]{border-color:#a87aff;background:#251a3c}.plan strong,.plan span{display:block}.plan strong{font-size:20px}.plan span{color:#b9b1c6}.price{font-size:25px;margin:12px 0}button{cursor:pointer}#pay,#save-key{background:#7c3aed;border-color:#7c3aed}button:disabled{opacity:.45;cursor:not-allowed}.terms{display:flex;gap:12px;margin:24px 0;font-size:13px}.terms input{flex:none;width:18px;height:18px;accent-color:#7c3aed}a{color:#c7afff}#notice{color:#c9b6ea;min-height:24px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.secondary{background:transparent}#key{display:block;width:100%;box-sizing:border-box;font-family:monospace}.saved-item{display:block;margin:8px 0}[hidden]{display:none!important}@media(max-width:650px){.plans{grid-template-columns:1fr}h1{font-size:29px}main{margin-top:36px}section{padding:20px}}

/* Shared spacing keeps labels, inputs and actions separate at every width. */
*,*::before,*::after{box-sizing:border-box}
button:not(.plan){min-height:48px;padding:12px 20px;text-align:center;line-height:1.4}
button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #a78bfa;outline-offset:3px}
#recover{display:grid;gap:10px;margin-top:22px}
#recover>label{font-size:13px;color:#b9b1c6}
.recovery-controls{display:flex;align-items:stretch;gap:14px}
#recovery-key{flex:1;min-width:0;width:100%;min-height:48px;padding:12px 16px}
.recovery-controls button{flex:none;white-space:nowrap;background:#7c3aed;border-color:#7c3aed}
#key-label{display:grid;gap:10px}.terms{align-items:flex-start}.terms input{margin:2px 0 0}
@media(max-width:650px){.recovery-controls{flex-direction:column}.recovery-controls button{width:100%}}
