@font-face{font-family:Assistant;src:url('assets/invitations/fonts/Assistant.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'Frank Ruhl Libre';src:url('assets/invitations/fonts/FrankRuhlLibre.ttf') format('truetype');font-weight:300 900;font-display:swap}
*{box-sizing:border-box}body{margin:0;background:#f5f2eb;color:#343c31;font-family:Assistant,Arial,sans-serif}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}header{max-width:1560px;margin:auto;padding:25px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #deded1}.brand{font-family:Arial,sans-serif;font-size:34px;letter-spacing:-2px;font-weight:600}.brand span{display:block;font:10px Assistant,sans-serif;letter-spacing:3px;margin-top:8px;color:#7a826e}header>a:last-child{font-size:14px}main{max-width:1560px;margin:auto;padding:30px 32px 48px}.intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}.eyebrow{font-size:13px;color:#78816b}h1{font-family:'Frank Ruhl Libre',serif;font-size:40px;font-weight:400;margin:7px 0 0}.intro p{max-width:400px;margin:0;color:#77816d;line-height:1.7;font-size:15px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start}form{background:#fcfbf7;border:1px solid #deded1;border-radius:12px;padding:22px}h2{font-size:20px;font-weight:600;margin:0 0 18px}.fields{display:grid;gap:12px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:block;font-size:13px;margin-bottom:14px;color:#656d5b}input{display:block;width:100%;min-width:0;margin-top:5px;border:1px solid #d9ddcf;border-radius:6px;padding:8px;background:#fffefa;color:#343c31;font-size:14px;min-height:37px}.actions,.export-actions{display:flex;gap:8px;flex-wrap:wrap}button{border:1px solid #536349;background:#536349;color:#fff;border-radius:6px;padding:9px 13px;font-size:13px;min-height:36px}.secondary{background:transparent;color:#536349;border-color:#cdd2c1}.note{font-size:12px;line-height:1.6;color:#808772;margin:12px 0 0}#scene-status{font-size:13px;color:#536349;margin:10px 0 0}.preview{min-width:0}.preview-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;color:#79816e}.view-switch{display:flex;gap:4px;padding:3px;border:1px solid #d9ddcf;border-radius:8px}.view-switch button{background:transparent;color:#68735d;border:0;min-height:30px;padding:5px 10px;font-size:12px}.view-switch button[aria-pressed=true]{background:#e4e9db;color:#35462a}.canvas-wrap{border-radius:10px;overflow:hidden;background:#e9e5dc;box-shadow:0 16px 50px #3b41281a}canvas{display:block;width:100%;height:auto}.export-actions{margin-top:16px}.preview .note{max-width:650px}button:focus-visible,a:focus-visible{outline:2px solid #798b67;outline-offset:4px}input:focus{outline:2px solid #a5b294;outline-offset:1px}
@media(max-width:950px){.workspace{grid-template-columns:250px minmax(0,1fr);gap:18px}.intro{align-items:start}.intro p{max-width:330px}.preview-top{flex-wrap:wrap}}
@media(max-width:700px){header{padding:18px}main{padding:22px 16px}.intro{display:block;margin-bottom:20px}h1{font-size:34px}.intro p{margin-top:12px;max-width:none}.workspace{display:flex;flex-direction:column}.preview{order:-1;width:100%}form{width:100%;padding:18px}.preview-top{gap:8px}.export-actions button{flex:1;padding-inline:8px;font-size:12px;white-space:nowrap}.export-actions button:first-child{flex-basis:100%}.view-switch button{padding-inline:8px}}

.canvas-wrap.single-face{width:min(100%,430px);margin-inline:auto}
