*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f0e8;color:#27231f;font-family:Arial,sans-serif;line-height:1.5}.hero{min-height:92svh;padding:42px 22px 60px;display:flex;flex-direction:column;justify-content:center;max-width:780px;margin:auto}.mark{letter-spacing:.28em;font-size:13px}.eyebrow{font-size:10px;letter-spacing:.18em;margin-top:28px;color:#746b61}.hero h1,h2{font-family:Georgia,serif;font-weight:400}.hero h1{font-size:clamp(52px,12vw,88px);line-height:.93;margin:22px 0}.lead{font-family:Georgia,serif;font-size:20px;max-width:570px;color:#5f574e}.start{margin-top:28px;color:inherit;text-decoration:none;border-bottom:1px solid;width:max-content;padding-bottom:4px}main{max-width:760px;margin:auto;padding:0 16px 80px}section{background:#fffdf9;margin:18px 0;padding:34px 20px;border-radius:3px}.num{font-size:11px;letter-spacing:.18em;color:#a18f78}h2{font-size:36px;line-height:1.05;margin:12px 0}.hint{color:#746b61;margin:0 0 26px}label{display:block;font-size:13px;margin:18px 0}input,textarea,select{width:100%;margin-top:8px;border:0;border-bottom:1px solid #bfb4a6;background:transparent;border-radius:0;padding:12px 2px;font:inherit;color:inherit;outline:none}textarea{resize:vertical;min-height:74px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.moods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mood{height:180px;margin:0;padding:14px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.mood input,.palette input,.typegrid input{position:absolute;opacity:0}.mood:has(input:checked),.typegrid label:has(input:checked),.palette label:has(input:checked){outline:3px solid #b2936b;outline-offset:-3px}.mood b{font-weight:400;font-size:11px}.mood span{font-family:Georgia,serif;font-size:20px}.airy{background:linear-gradient(145deg,#f8f5f1,#ddd5cd)}.classic{background:linear-gradient(145deg,#d7c3a4,#81705e);color:#fff}.minimal{background:linear-gradient(135deg,#f4f4f1 55%,#252525 56%)}.natural{background:linear-gradient(145deg,#d8d0b5,#66725b);color:#fff}.dark{background:linear-gradient(145deg,#251d1d,#6f2830);color:#fff}.bold{background:linear-gradient(145deg,#e85f4c 0 48%,#3156a4 49% 76%,#f1cf62 77%)}.palette{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.palette label{margin:0;padding:8px;border:1px solid #eee;position:relative}.p{height:84px;display:block;margin-bottom:8px}.p1{background:linear-gradient(90deg,#f1e7d6 33%,#d8c09d 33% 66%,#fffaf0 66%)}.p2{background:linear-gradient(90deg,#c88f94 50%,#ead1ce 50%)}.p3{background:linear-gradient(90deg,#53664d 50%,#aab397 50%)}.p4{background:linear-gradient(90deg,#a95036 50%,#d69568 50%)}.p5{background:linear-gradient(90deg,#5b1724 50%,#9b4b59 50%)}.p6{background:linear-gradient(90deg,#9cb8c8 50%,#dce7ea 50%)}.p7{background:linear-gradient(90deg,#171717 33%,#eee4d3 33% 66%,#b89455 66%)}.p8{background:linear-gradient(90deg,#3158b7 33%,#e76152 33% 66%,#f1d468 66%)}.palette span{font-size:12px}.checkline,.consent{display:flex;gap:10px;align-items:flex-start}.checkline input,.consent input{width:auto;margin-top:4px}.typegrid{display:grid;gap:8px}.typegrid label{min-height:120px;margin:0;padding:18px;border:1px solid #e1d9ce;display:flex;flex-direction:column;justify-content:space-between;position:relative}.typegrid b{font-size:27px;font-weight:400}.typegrid small{color:#746b61}.t1 b{font-family:Georgia,serif}.t2 b{font-family:Georgia,serif;font-style:italic}.t3 b{font-family:cursive;font-style:italic}.t4 b{font-family:Arial,sans-serif;font-size:20px;letter-spacing:.12em}.t5 b{font-family:Georgia,serif;font-size:38px;line-height:.8}.t6 b{font-family:Arial,sans-serif;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{margin:0;position:relative}.chips input{position:absolute;opacity:0}.chips span{display:block;border:1px solid #c9bfb2;border-radius:999px;padding:10px 13px}.chips label:has(input:checked) span{background:#2b2824;color:#fff;border-color:#2b2824}.finish{text-align:center;padding-top:48px;padding-bottom:48px}.finish .consent{text-align:left;justify-content:center}.finish button{border:0;background:#292622;color:white;padding:16px 28px;border-radius:999px;font-size:15px;margin-top:15px;cursor:pointer}.status{font-size:13px;color:#746b61}footer{text-align:center;padding:30px 20px 60px;font-family:Georgia,serif;color:#756b60}footer span{margin:0 8px}@media(max-width:480px){.two{grid-template-columns:1fr}.hero{min-height:88svh}.hero h1{font-size:55px}section{padding:30px 17px}.mood{height:160px}.mood span{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.subhead{font-family:Georgia,serif;font-size:24px;margin:30px 0 4px}.hint strong{font-weight:600;color:#4b433b}.extra-type{min-height:110px!important;margin:8px 0!important;padding:18px!important;border:1px solid #e1d9ce!important;position:relative}.extra-type input{position:absolute;opacity:0}.extra-type:has(input:checked){outline:3px solid #b2936b;outline-offset:-3px}.extra-type b{font-family:Arial,sans-serif;font-weight:400;font-size:23px}.extra-type b em{font-family:cursive;font-size:35px;font-weight:400}.extra-type small{display:block;color:#746b61;margin-top:16px}.extra-type.soft b{font-family:Georgia,serif;font-style:italic;letter-spacing:.03em}@media(max-width:480px){body{overflow-x:hidden}.chips span{min-height:42px;display:flex;align-items:center}.palette label{min-width:0}.typegrid b{overflow-wrap:anywhere}}/* v0.2.1 — warmer visual cards + genuinely different typography */
.moods{gap:10px}.mood{border-radius:14px;box-shadow:0 8px 22px rgba(55,39,28,.08)}
.airy{background:radial-gradient(circle at 75% 20%,#fff 0 9%,transparent 10%),linear-gradient(145deg,#fff7f1,#efd9df);color:#563f45}
.classic{background:linear-gradient(145deg,#fff1d8,#b98d55 55%,#694b34);color:#fff}
.minimal{background:linear-gradient(135deg,#f6f0ff 0 48%,#8b78b8 49% 72%,#2e2442 73%);color:#211c2d}
.natural{background:linear-gradient(145deg,#e8efcf,#78946c 55%,#405d4d);color:#fff}
.dark{background:radial-gradient(circle at 75% 20%,#cf8b9d 0 6%,transparent 7%),linear-gradient(145deg,#31192b,#743348 55%,#b66a69);color:#fff}
.bold{background:linear-gradient(145deg,#ff8e72 0 30%,#f6d65f 31% 52%,#7bc9b4 53% 74%,#7464c6 75%);color:#211d2a}
.palette{gap:10px}.palette label{border:0;border-radius:14px;background:#fff;padding:10px;box-shadow:0 7px 20px rgba(55,39,28,.07)}.p{height:94px;border-radius:10px}
.p1{background:linear-gradient(90deg,#fff8e9 0 25%,#ead4b6 25% 50%,#f4d8c6 50% 75%,#c7a57b 75%)}
.p2{background:linear-gradient(90deg,#f7d9df 0 25%,#d79ca8 25% 50%,#b96f81 50% 75%,#fff0e8 75%)}
.p3{background:linear-gradient(90deg,#dce8bf 0 25%,#91aa74 25% 50%,#587254 50% 75%,#f3dfae 75%)}
.p4{background:linear-gradient(90deg,#ffd39f 0 25%,#df8a5d 25% 50%,#b7553f 50% 75%,#7c3f35 75%)}
.p5{background:linear-gradient(90deg,#f0c3c5 0 25%,#b65b6c 25% 50%,#72283a 50% 75%,#3e1625 75%)}
.p6{background:linear-gradient(90deg,#e2f4f5 0 25%,#a9d8e2 25% 50%,#6ea8c1 50% 75%,#536c9b 75%)}
.p7{background:linear-gradient(90deg,#19171a 0 25%,#fff0d8 25% 50%,#d4af67 50% 75%,#8d6d3e 75%)}
.p8{background:linear-gradient(90deg,#ff5f75 0 25%,#ffb44b 25% 50%,#5cc8b2 50% 75%,#665bd5 75%)}
.typegrid{grid-template-columns:1fr 1fr;gap:10px}.typegrid .type-card{min-height:150px;border:0;border-radius:14px;padding:16px;margin:0;box-shadow:0 8px 22px rgba(55,39,28,.08);position:relative;overflow:hidden}.type-card input{position:absolute;opacity:0}.type-card:has(input:checked){outline:3px solid #9f7755;outline-offset:-3px}.type-card b{display:block;line-height:1.02}.type-card small{display:block;margin-top:20px;color:inherit;opacity:.72}.type-classic{background:#f5e7cf}.type-classic b{font-family:Georgia,serif;font-size:25px}.type-romantic{background:#f7dfe6}.type-romantic b{font-family:Georgia,serif;font-style:italic;font-size:28px}.type-script{background:#e9e1f4}.type-script b{font-family:"Segoe Script","Brush Script MT",cursive;font-size:28px;font-weight:400;transform:rotate(-2deg)}.type-minimal{background:#dcecf0}.type-minimal b{font-family:Arial,sans-serif;font-size:20px;letter-spacing:.18em;font-weight:400}.type-editorial{background:#f2c9a7}.type-editorial b{font-family:Georgia,serif;font-size:34px;line-height:.82}.type-editorial b i{font-size:18px}.type-fashion{background:#2c2438;color:#fff}.type-fashion b{font-family:Georgia,serif;font-size:30px;letter-spacing:.05em}.type-mixed{background:#dce6cc}.type-mixed b{font-family:Arial,sans-serif;font-size:22px;font-weight:400}.type-mixed em{font-family:"Segoe Script","Brush Script MT",cursive;font-size:38px;font-weight:400}.type-soft{background:#d9e8df}.type-soft b{font-family:"Trebuchet MS",Arial,sans-serif;font-size:25px;font-weight:400;letter-spacing:.03em}.type-bold{background:#f2d65c}.type-bold b{font-family:Impact,"Arial Black",sans-serif;font-size:31px;line-height:.88}.type-retro{background:#f0a07d}.type-retro b{font-family:"Courier New",monospace;font-size:24px;font-weight:700}.type-poetic{background:#d9ddf4}.type-poetic b{font-family:Georgia,serif;font-size:29px;font-weight:400}.type-poetic b i{font-family:"Segoe Script",cursive;font-size:19px}.type-clean{background:#cce5e0}.type-clean b{font-family:"Trebuchet MS",Arial,sans-serif;font-size:19px;letter-spacing:.13em;font-weight:400}
@media(max-width:480px){.typegrid{grid-template-columns:1fr 1fr}.typegrid .type-card{min-height:142px;padding:14px}.type-card b{overflow-wrap:normal!important}.type-card small{font-size:11px}.type-script b{font-size:24px}.type-editorial b{font-size:30px}.type-bold b{font-size:27px}}.success-page{min-height:100svh;max-width:none;margin:0;padding:24px;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#f8dfe3 0,transparent 32%),radial-gradient(circle at 90% 80%,#dce8d4 0,transparent 30%),#f7efe5}.success-card{width:min(620px,100%);background:rgba(255,253,249,.9);padding:clamp(34px,8vw,70px);border-radius:24px;text-align:center;box-shadow:0 18px 60px rgba(71,49,35,.12)}.success-card .mark{margin-bottom:38px}.success-heart{font-family:Georgia,serif;font-size:48px;color:#b37b83}.success-card h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,10vw,68px);line-height:.96;margin:14px 0 24px}.success-card .lead{margin:0 auto 18px;font-size:20px}.success-note{color:#6e6259;max-width:430px;margin:0 auto}.success-sign{margin-top:42px;font-family:Georgia,serif;font-size:18px}.success-sign b{font-weight:400;font-size:25px}
/* v0.3 — dress-code */
.conditional-block[hidden]{display:none}
.dress-palette{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.dress-palette label{margin:0;padding:10px;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(55,39,28,.07);position:relative}
.dress-palette input{position:absolute;opacity:0}
.dress-palette label:has(input:checked){outline:3px solid #b2936b;outline-offset:-3px}
.dp{height:76px;display:block;margin-bottom:8px;border-radius:10px}
.dp1{background:linear-gradient(90deg,#f6f0e7 0 33%,#d9cbbb 33% 66%,#b9aa9a 66%)}
.dp2{background:linear-gradient(90deg,#efd3d8 0 33%,#d9d5ec 33% 66%,#c9dfd5 66%)}
.dp3{background:linear-gradient(90deg,#d8dfc4 0 33%,#8fa17b 33% 66%,#56664d 66%)}
.dp4{background:linear-gradient(90deg,#e7c49f 0 33%,#c77f5c 33% 66%,#8d513f 66%)}
.dp5{background:linear-gradient(90deg,#c89da3 0 33%,#7d3f4b 33% 66%,#3f2530 66%)}
.dp6{background:linear-gradient(90deg,#dbe8ec 0 33%,#9dbbc8 33% 66%,#647d95 66%)}
.dress-palette span{font-size:12px}

/* v0.3.2 — approved dress-code palette cards */
.dress-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.dress-palette label{display:block;position:relative;margin:0;padding:15px 14px 13px;border:1px solid rgba(80,65,50,.16);border-radius:14px;background:rgba(255,255,255,.58);box-shadow:none;cursor:pointer}
.dress-palette input{position:absolute;left:14px;top:16px;width:20px;height:20px;opacity:1;accent-color:#2d2924}
.dress-palette label:has(input:checked){outline:2px solid #9f8769;outline-offset:-2px;background:#fff}
.palette-title{display:block;padding-left:30px;font-family:var(--serif);font-size:18px;line-height:1.2;margin-bottom:13px}
.palette-circles{display:flex;gap:6px;margin-bottom:10px}
.palette-circles i{display:block;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--sw);border:1px solid rgba(50,40,30,.10)}
.dress-palette small{display:block;font-size:12px;line-height:1.35;color:var(--muted)}
.own-palette{margin-top:4px}
@media(max-width:520px){
 .dress-palette{grid-template-columns:1fr}
 .palette-circles{gap:8px}
 .palette-circles i{flex-basis:38px;width:38px;height:38px}
}

/* v0.3.3 — custom dress-code color picker */
.custom-color-pickers{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 18px}
.color-picker{position:relative!important;display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;width:54px;height:54px;border-radius:50%;cursor:pointer}
.color-picker input[type="color"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.color-dot{display:flex;width:54px;height:54px;border-radius:50%;align-items:center;justify-content:center;border:1.5px dashed rgba(70,60,50,.35);background:#fff;box-sizing:border-box;transition:.15s ease}
.color-dot b{font:300 26px/1 sans-serif;color:var(--muted)}
.color-picker.is-set .color-dot{border-style:solid;border-color:rgba(50,40,30,.18);box-shadow:0 2px 8px rgba(50,40,30,.08)}
.color-picker.is-set .color-dot b{display:none}
