:root{--canvas:#F7F1E8;--card:#FFFDF9;--ink:#231A13;--muted:#7C6F61;--line:#E2D7C7;--bdy:#8E1B1B;--bdy-deep:#6F1313;--display:"Instrument Serif",Georgia,serif;--body:"Albert Sans",sans-serif;--mono:"IBM Plex Mono",monospace}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:var(--body);display:grid;place-items:center;padding:30px 20px;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.wall{position:fixed;inset:-4vh -3vw;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-content:center;opacity:.34;filter:saturate(.65);pointer-events:none;z-index:0}.frame{border:1px solid var(--line);background:var(--card);padding:8px 8px 22px;box-shadow:0 22px 44px -30px #231a1380}.frame:nth-child(odd){transform:rotate(-1.4deg)}.frame:nth-child(2n){transform:rotate(1.2deg) translateY(14px)}.ph{position:relative;display:block;overflow:hidden}.ph:after{content:"";position:absolute;inset:0;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.a34{aspect-ratio:3/4}.a11{aspect-ratio:1/1}.a43{aspect-ratio:4/3}.g-golden{background:radial-gradient(120% 90% at 76% 16%,rgba(255,214,140,.6),transparent 55%),linear-gradient(155deg,#1f1006,#5b2a0c 38%,#c1701f 70%,#f2b964)}.g-ocean{background:radial-gradient(90% 60% at 28% 12%,rgba(255,255,255,.38),transparent 55%),linear-gradient(172deg,#04293c,#0b5d7a 55%,#3fa7bd 85%,#bfe8e8)}.g-forest{background:radial-gradient(80% 60% at 70% 18%,rgba(230,255,200,.3),transparent 60%),linear-gradient(165deg,#0c1f12,#1d4422 52%,#5d8f4a 86%,#cfe3a8)}.g-portrait{background:radial-gradient(70% 55% at 58% 34%,#e8b08e 0 16%,transparent 62%),linear-gradient(160deg,#3a2620,#7a4a38 62%,#c98e6e)}.g-street{background:radial-gradient(60% 50% at 18% 82%,rgba(232,76,124,.55),transparent 55%),radial-gradient(55% 45% at 82% 26%,rgba(64,160,255,.5),transparent 58%),linear-gradient(160deg,#140d1f,#2a1638 60%,#4a2257)}.g-aerial{background:radial-gradient(70% 45% at 30% 14%,rgba(255,255,255,.3),transparent 55%),linear-gradient(165deg,#0e3a3f,#2a7d77 55%,#7ec9b2 86%,#efe7c8)}.g-macro{background:radial-gradient(50% 45% at 36% 42%,#f25c4a 0 20%,transparent 60%),linear-gradient(150deg,#1c0f12,#5c1f2b 64%,#a64545)}.g-astro{background:radial-gradient(55% 40% at 50% 18%,rgba(130,150,255,.4),transparent 58%),linear-gradient(180deg,#05060f,#101736 58%,#2a2f5e)}.card{position:relative;z-index:2;background:var(--card);border:1px solid var(--ink);max-width:560px;width:100%;padding:44px 42px 38px;text-align:center;box-shadow:0 40px 80px -40px #231a138c;animation:up .8s ease both}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:23px;justify-content:center}.brand b{color:var(--bdy)}.brand-logo{width:36px;height:36px;object-fit:contain;display:block}h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,5vw,48px);line-height:1.04;letter-spacing:-.01em;margin:20px 0 0}h1 em{font-style:italic;color:var(--bdy)}.lede{color:var(--muted);font-size:15.5px;margin:14px auto 0;max-width:42ch;line-height:1.6}.signup{display:flex;margin:24px auto 0;border:1px solid var(--ink);background:var(--canvas);align-items:center;gap:10px;padding:4px 4px 4px 14px}.signup input{flex:1;border:0;outline:0;background:transparent;font-family:var(--body);font-size:15px;color:var(--ink);min-width:0}.btn{font-family:var(--body);font-weight:600;font-size:14px;padding:10px 18px;border-radius:3px;cursor:pointer;background:var(--bdy);border:1px solid var(--bdy);color:#fff;transition:.16s}.btn:hover{background:var(--bdy-deep)}.note{font-size:13px;color:var(--muted);margin:12px 0 0}.note a{color:var(--bdy);font-weight:600;border-bottom:1px solid var(--bdy)}.rule{height:1px;background:var(--line);margin:24px 0 16px}.foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}@keyframes up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden;pointer-events:none}.btn-ghost{font-family:var(--body);font-weight:600;font-size:14px;padding:10px 18px;border-radius:3px;cursor:pointer;background:transparent;border:1px solid var(--ink);color:var(--ink);transition:.16s}.btn-ghost:hover{background:var(--canvas)}.nconfirm{display:none;margin:22px auto 0;max-width:360px;text-align:center}.nc-text{font-size:14.5px;color:var(--ink);line-height:1.5}.nc-text b{color:var(--bdy)}.cf-box{display:flex;justify-content:center;min-height:65px;margin:14px 0}.nc-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.nerror{display:none;color:var(--bdy);font-size:13px;margin:12px 0 0}.modal{position:fixed;inset:0;display:none;place-items:center;z-index:50;padding:20px;background:#231a138c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal.open{display:grid}.modal-card{background:var(--card);border:1px solid var(--ink);max-width:420px;width:100%;padding:34px 30px 30px;text-align:center;box-shadow:0 40px 80px -40px #231a138c;animation:up .4s ease both}.modal-ic{width:48px;height:48px;border-radius:50%;background:var(--bdy);color:#fff;display:grid;place-items:center;font-size:24px;margin:0 auto 14px}.modal-card h2{font-family:var(--display);font-weight:400;font-size:30px;margin:0 0 8px}.modal-card p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 20px}.modal-card p b{color:var(--ink)}.modal-btn{font-family:var(--body);font-weight:600;font-size:14px;padding:10px 22px;border-radius:3px;cursor:pointer;background:var(--bdy);border:1px solid var(--bdy);color:#fff;transition:.16s}.modal-btn:hover{background:var(--bdy-deep)}@media(max-width:760px){.wall{grid-template-columns:repeat(2,1fr)}.card{padding:34px 24px 30px}}
