:root{--ink:#201d2a;--paper:#fffaf4;--pink:#ed7c9d;--red:#cc4b6c;--lilac:#d9d2fb;--violet:#7160b4;--line:#e8dfd8;--muted:#706b75}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,6vw,88px);border-bottom:1px solid var(--line);background:#fffdf9;position:sticky;top:0;z-index:3}.brand{color:var(--ink);font-size:18px;font-weight:500;letter-spacing:.04em;text-decoration:none}.brand span{color:var(--red);font-size:25px;vertical-align:-2px}.brand b{font-weight:800}nav{display:flex;gap:24px;align-items:center}nav a{color:var(--ink);font-size:14px;text-decoration:none}.login,.button{border:0;border-radius:999px;cursor:pointer;font:600 14px inherit}.login{padding:10px 17px;background:var(--ink);color:white}.hero{min-height:490px;padding:90px clamp(22px,12vw,180px);display:grid;grid-template-columns:1.4fr .75fr;gap:56px;align-items:center;background:linear-gradient(120deg,#fff4e9,#f5ecff)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--red);margin:0 0 13px}.hero h1,.section-heading h2,.registry-head h2,.how h2,dialog h2{font-family:Georgia,serif;line-height:1.02;margin:0}.hero h1{font-size:clamp(45px,6vw,78px);letter-spacing:-.05em}.hero h1 em{color:var(--red);font-weight:normal}.intro{max-width:500px;color:var(--muted);font-size:18px;margin:24px 0 28px}.hero-actions{display:flex;gap:12px}.button{padding:13px 21px;text-decoration:none;display:inline-block}.primary{background:var(--red);color:white}.ghost{background:transparent;border:1px solid #c9bac2;color:var(--ink)}.hero-card{padding:29px;background:#30294c;color:white;border-radius:20px;box-shadow:10px 12px 0 #d6cef0;transform:rotate(2deg)}.tag{font-size:10px;letter-spacing:.16em;color:#c9beff;font-weight:800}.hero-card strong{font:64px Georgia,serif;display:block;margin-top:15px}.hero-card .of{color:#e0dced}.progress{height:7px;background:#5e577b;border-radius:8px;margin:20px 0 8px}.progress span{display:block;width:7.3%;height:100%;background:#ff96b3;border-radius:8px}.hero-card p{font-size:12px;color:#cfc9e3;margin:0}.search-section{padding:35px 22px;text-align:center;background:var(--ink);color:white}.search-section label{display:block;font:20px Georgia,serif;margin-bottom:15px}.search-box{max-width:570px;margin:auto;border-radius:999px;background:white;display:flex;align-items:center;padding:4px 5px 4px 18px;color:var(--muted)}.search-box input{border:0;outline:0;flex:1;font:15px inherit;min-width:0;padding:10px}.search-box button{border:0;border-radius:999px;background:var(--lilac);padding:11px 20px;font-weight:700;cursor:pointer;color:var(--ink)}#searchResult{font-size:13px;color:#e5e1f7;margin:10px 0 0;min-height:20px}.collection,.registry,.how{padding:82px clamp(22px,8vw,120px)}.section-heading,.registry-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-heading h2,.registry-head h2,.how h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.04em}.section-heading>p,.registry-head>div>p{max-width:330px;color:var(--muted);margin:0}.character-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.character{border:1px solid var(--line);background:#fffefa;border-radius:16px;padding:22px;min-height:180px;cursor:pointer;transition:.2s}.character:hover{transform:translateY(-4px);box-shadow:0 12px 26px #40283a14}.character .icon{font-size:40px}.character h3{font:31px Georgia,serif;margin:24px 0 2px}.character p{font-size:13px;color:var(--muted);margin:0}.character .count{margin-top:16px;font-weight:800;color:var(--red);font-size:13px}.hidden{display:none}.back{border:0;background:transparent;padding:0;color:var(--violet);font-weight:700;cursor:pointer;margin-bottom:25px}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.legend span{display:flex;align-items:center;gap:5px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.registered{background:var(--violet)}.pending{background:#f3bc61}.available{background:#eee8e3}.number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(53px,1fr));gap:8px}.number{border:0;background:#eee8e3;min-height:41px;border-radius:7px;color:#77717c;font:700 12px inherit;cursor:pointer}.number.registered{background:var(--violet);color:white}.number.pending{background:#f5c36d;color:#593a00}.how{background:#f0ecff;text-align:center}.how h2{max-width:600px;margin:auto}.steps{max-width:980px;margin:46px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;text-align:left}.steps span{font:700 26px Georgia,serif;color:var(--red)}.steps h3{margin:13px 0 4px}.steps p{margin:0;color:var(--muted);font-size:14px}footer{padding:25px clamp(22px,8vw,120px);display:flex;justify-content:space-between;gap:20px;background:#28243a;color:#cbc6dd;font-size:11px}dialog{border:0;padding:0;border-radius:18px;max-width:455px;width:calc(100% - 32px);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#1f1b2a9c}dialog form{padding:31px;position:relative}dialog h2{font-size:38px}dialog label{display:block;font-size:13px;font-weight:700;margin:20px 0 0}dialog input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:8px;padding:10px;font:14px inherit}.close{position:absolute;right:14px;top:12px;background:transparent;border:0;font-size:25px;cursor:pointer}.modal-copy,.privacy{color:var(--muted);font-size:13px}.privacy{margin:12px 0 0}dialog .primary{margin-top:24px;width:100%}.owner{background:#f5f1ff;border-radius:10px;padding:16px;margin:18px 0}.owner strong{display:block}@media(max-width:700px){.site-header{height:63px}.site-header nav a{display:none}.hero{grid-template-columns:1fr;padding:65px 25px;gap:35px}.hero-card{max-width:310px}.character-cards{grid-template-columns:repeat(2,1fr)}.collection,.registry,.how{padding:58px 22px}.section-heading,.registry-head{align-items:start;flex-direction:column}.steps{grid-template-columns:1fr;gap:25px}footer{display:block}footer span{display:block;margin:6px 0}.number-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}}
