@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{color-scheme:dark;--ink:#f9effb;--muted:#bba7c1;--pink:#ff91c8;--lilac:#c6a0ff;--edge:#483247;background:#0c080e;color:var(--ink);font-family:'DM Sans',sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 2%,#29132d 0,transparent 33%),radial-gradient(ellipse at 5% 50%,#1d101f 0,transparent 42%),#0c080e;min-height:100vh}main{max-width:1180px;margin:auto;padding:60px 30px 30px}header{margin-bottom:42px}.eyebrow,.paper-label,footer{font-size:10px;font-weight:700;letter-spacing:.15em}.eyebrow{color:var(--pink);display:flex;align-items:center;gap:9px}.dot{width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 14px #ff91c8}h1{font-family:'Playfair Display',serif;font-size:clamp(42px,6vw,70px);line-height:1.08;font-weight:500;letter-spacing:-.035em;margin:22px 0 15px}h1 em{color:var(--lilac);font-weight:500}header p,.empty p,.result-intro{color:var(--muted);font-size:15px;line-height:1.6}.layout{display:grid;grid-template-columns:1.25fr .85fr;gap:22px;align-items:start}form,aside{background:#18111b;border:1px solid var(--edge);border-radius:18px;padding:30px;box-shadow:0 20px 50px #0006}aside{background:#1b1220}.form-head,.aside-head,.form-head>div{display:flex;align-items:center;gap:12px}.form-head{justify-content:space-between;margin-bottom:30px}.aside-head{margin-bottom:20px}.number{font-size:11px;color:var(--pink);font-weight:700}h2{font-family:'Playfair Display',serif;font-size:22px;font-weight:500;margin:0}.paper-label{color:#bda6c5}label:not(.options label){display:block;font-size:12px;font-weight:700;margin:21px 0 9px;color:#ead9eb}input:not([type=checkbox]):not([type=range]),textarea{width:100%;border:1px solid #523a53;border-radius:9px;background:#0f0b12;color:#fff4ff;padding:13px 14px;font:14px 'DM Sans',sans-serif;outline:none;resize:vertical}input::placeholder,textarea::placeholder{color:#a08ba4;opacity:1}input:not([type=range]):focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ff91c82c}textarea{line-height:1.6}.hint,.small{color:#b8a1bb;font-size:11px;line-height:1.6}.hint{margin-top:5px}.options{display:flex;flex-wrap:wrap;gap:12px 20px;margin:20px 0;font-size:12px;color:#dfc9e0}.options label{display:flex;align-items:center;gap:7px}input[type=checkbox],input[type=range]{accent-color:#f58ac5}button,.download{background:#f39aca;color:#2c1027;border:0;border-radius:10px;padding:15px 18px;font:700 13px 'DM Sans',sans-serif;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-decoration:none}button{width:100%;margin-top:24px}button:hover,.primary:hover{background:#ffb8dc}button:disabled{opacity:.6}.small{margin:12px 0}.error{color:#ff9eae;font-size:13px;white-space:pre-wrap}.empty{text-align:center;padding:50px 15px 65px}.paper-icon{height:145px;width:112px;background:#f1d9ef;border:1px solid #ffd3ed;border-radius:4px;margin:0 auto 28px;transform:rotate(-5deg);box-shadow:7px 8px #513258;padding:22px}.paper-icon span{font-size:25px;color:#ad5a99}.paper-icon i{display:block;border-top:1px solid #c295c1;margin-top:16px}.empty h3{font:500 25px/1.25 'Playfair Display',serif;margin:0}.empty p{font-size:13px;max-width:235px;margin:12px auto}.download{margin:12px 0;background:#382440;color:#f4dbfa}.download:hover{background:#4d3156}.primary{background:#f39aca;color:#2c1027}.page-preview{display:block;width:100%;border:1px solid #715275;border-radius:5px;margin-top:18px}footer{border-top:1px solid #493449;margin-top:40px;padding-top:22px;color:#ad96b1;display:flex;justify-content:space-between}footer span{font-size:18px;color:var(--pink)}.size-control{margin-top:22px}.size-control label{display:flex!important;justify-content:space-between}.size-control output{color:#ffb3dc}.range-row{display:flex;align-items:center;gap:12px;color:#dbb6e1;font-family:serif;font-size:13px}.range-row input{flex:1;min-width:0}.range-row .large-a{font-size:22px}:focus-visible{outline:3px solid #f9a8dc;outline-offset:3px}@media(max-width:720px){main{padding:35px 18px}.layout{grid-template-columns:1fr}.form-head{align-items:start}.paper-label{font-size:8px}form,aside{padding:23px}.empty{padding:20px 15px 40px}}
