:root{font-family:Arial,Helvetica,sans-serif;color:#302d2b;background:#faf9f6;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}main{max-width:1550px;margin:auto;padding:46px 5% 54px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.eyebrow{font-size:10px;letter-spacing:2px;color:#99846e;font-weight:600}h1{font:38px Georgia,serif;letter-spacing:-1.2px;margin:14px 0}p{line-height:1.6}.intro p:last-child{color:#8b8780;margin-bottom:0}.workspace{display:grid;grid-template-columns:325px minmax(0,1fr);gap:48px}aside{border:1px solid #e5e0d8;border-radius:10px;background:#fffefa;padding:25px;align-self:start}section{border-bottom:1px solid #ece7df;padding-bottom:22px;margin-bottom:22px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-heading>span{font-size:10px;color:#b7a08a}.section-heading h2{font-size:13px;font-weight:500;margin:0}.template{display:flex;align-items:center;text-align:left;gap:12px;border:1px solid #b99a87;background:#f9f2ed;padding:10px;border-radius:6px;width:100%;color:#5b443f}.template strong{font-size:12px;font-weight:500}.template small{display:block;font-size:9px;color:#a28d81;margin-top:6px}.swatch{width:48px;height:49px;display:grid;place-items:center;background:radial-gradient(at top left,#dfa8b2,#fcf3eb);font:29px Georgia;color:#b37581;border:1px solid #ddc8b8}.check{margin-left:auto;color:#9f7a66}.hint{font-size:10px;color:#a09a90;margin:12px 0 0;line-height:1.7}label{display:block;font-size:11px;color:#6e675d;margin:0 0 9px}.fields{display:flex;gap:12px}.fields label:first-child{flex:1;min-width:0}.age-field{width:66px}input:not(.range),textarea{display:block;background:#fff;border:1px solid #e3ded5;width:100%;padding:11px 10px;margin-top:9px;border-radius:5px;color:#4f4843}textarea{resize:vertical;line-height:1.6}.optional{color:#b1aaa0;font-size:9px;float:right}.counter{text-align:right;color:#b1aaa0;font-size:9px}.duration-value{display:flex;justify-content:space-between;align-items:center;color:#8e857b;font-size:11px}.duration-value strong{color:#7a5b49;font-size:19px;font-weight:500}.duration-value small{font-size:10px}.range{accent-color:#a4826c;width:100%;margin:20px 0 7px}.range-label{display:flex;justify-content:space-between;font-size:9px;color:#a7a095}.generate{display:flex;justify-content:space-between;width:100%;padding:15px 17px;background:#8e6b55;color:#fff;border:0;border-radius:5px;font-size:12px}.generate:not(:disabled):hover{background:#77553f}.preview-heading{display:flex;justify-content:space-between;align-items:center;margin:2px 0 17px}.player-wrap{border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #56442f0c;border:1px solid #e6ddd4;background:#f9f0e9}.export-spec{border:1px solid #e6e1d8;border-radius:7px;padding:21px;display:flex;align-items:center;justify-content:space-between;background:#fdfcf9}.export-spec>div{display:flex;gap:15px;align-items:center}.spec-icon{font-size:26px;color:#b39a80}.export-spec strong{font-size:12px;font-weight:500}.export-spec p{font-size:10px;color:#a2998c;margin:7px 0 0}.quality{font-size:8px;letter-spacing:1px;color:#9a8c75;background:#f1eee5;padding:7px;border-radius:4px}.job{background:#f0eee7;padding:20px;border-radius:6px;margin-top:20px}.job-heading{display:flex;justify-content:space-between;gap:10px;font-size:12px}.job-heading span{font-size:10px;color:#8b7c6c}progress{width:100%;height:5px;margin:18px 0;accent-color:#a4826c}.cancel{background:none;border:0;text-decoration:underline;color:#816d5c;font-size:11px}.download{display:inline-block;background:#8e6b55;border-radius:4px;color:#fff;padding:12px;text-decoration:none;font-size:12px}.error{font-size:12px;color:#a3424c;overflow-wrap:anywhere}@media(min-width:1500px){main{padding-top:60px}.workspace{grid-template-columns:350px minmax(0,1fr);gap:60px}}@media(max-width:1000px){.workspace{gap:25px;grid-template-columns:290px minmax(0,1fr)}.quality{display:none}main{padding:30px 4%}.intro h1{font-size:30px}.export-spec{padding:15px}.export-spec p{line-height:1.8}}@media(max-width:760px){.workspace{grid-template-columns:1fr}.intro{margin-bottom:25px}.intro h1{font-size:28px}article{grid-row:1}aside{padding:22px}.export-spec{margin-bottom:5px}}.duration-settings{margin-top:16px}.duration-settings label{margin-top:8px}.field-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.field-heading .optional{float:none}.duration-value{justify-content:flex-start}.gold-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 0;color:#6e675d;font-size:12px;cursor:pointer}.toggle-choice{display:flex;align-items:center;gap:9px;font-size:11px;color:#9c826a}.toggle-switch[type=checkbox]{appearance:none;display:inline-block;position:relative;width:36px;height:21px;margin:0;padding:0;border:1px solid #d6cdbf;border-radius:20px;background:#e7e1d8;cursor:pointer;flex-shrink:0}.toggle-switch[type=checkbox]:before{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}.toggle-switch[type=checkbox]:checked{background:#aa8964;border-color:#aa8964}.toggle-switch[type=checkbox]:checked:before{transform:translate(15px)}.render-feedback{scroll-margin:24px}.render-feedback .job{padding:15px;font-size:12px}.render-feedback .job-heading{flex-wrap:wrap;line-height:1.6}.render-feedback .job-heading strong{font-weight:500}.render-feedback .job-heading span{width:100%}@media(max-width:760px){.render-feedback{scroll-margin-bottom:24px}.render-feedback .job{margin-top:14px}.generate{min-height:46px}}.swatch{width:56px;height:56px;flex:0 0 56px;display:block;overflow:hidden;border-radius:6px;line-height:0;border:1px solid #dcc6b9;background:#fae9e0}.swatch svg{display:block;width:100%;height:100%}.check{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#8e6b55;color:#fff}.preview-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0 0}.preview-footer .preview-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;min-height:38px;border:1px solid #dfd6cb;border-radius:6px;background:#fffdf8;color:#7c6855;font-size:11px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.preview-footer .preview-control:hover{background:#f1ebe2;border-color:#bba58c}.preview-control svg{flex-shrink:0}footer{border-top:1px solid #e9e5df;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:#918575}.footer-info p{margin:0;line-height:1.8}.footer-info p+p{font-size:10px;margin-top:3px;color:#a19789}.footer-info a{color:#8e6b55;text-decoration:underline;text-underline-offset:3px}.footer-info a:hover{color:#634630}.version{font-size:10px;color:#a59988;white-space:nowrap}@media(max-width:760px){.preview-footer{gap:8px}.preview-footer .preview-control{font-size:10px;padding:9px 10px;min-height:40px}footer{padding:22px 5%;align-items:flex-end}.footer-info{max-width:285px}.footer-info p{font-size:10px}.footer-info p+p{font-size:9px}}@media(max-width:370px){.preview-footer{align-items:stretch}.preview-footer .preview-control{flex:1}}.loop-toggle{display:flex;align-items:center;gap:16px;margin:0;min-height:40px;font-size:11px;cursor:pointer}.loop-label{display:flex;align-items:center;gap:8px;color:#7c6855}.intro p:last-child{max-width:690px}.duration-row{display:flex;align-items:center;gap:6px}.duration-row .duration-value{flex:1;gap:12px;min-height:38px;border:0;border-radius:5px;background:transparent;padding:7px 8px;margin-left:-8px;text-align:left;transition:background .15s}.duration-row .duration-value:hover{background:#f2ede5}.duration-value svg{color:#a18d78}.duration-close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:5px;background:transparent;color:#96816c}.duration-close:hover{background:#eee6dc;color:#6f513a}.preview-footer .loop-toggle{gap:14px;margin:0;cursor:pointer}.preview-footer .loop-toggle:has(input:checked){background:#eee5d8;border-color:#b69a77}.loop-toggle:focus-within{outline:2px solid #b69a77;outline-offset:3px}.template-list{display:grid;gap:9px}.template:not(.selected){border-color:#e4dfd7;background:#fffdf9}.template:not(.selected):hover{border-color:#b99a87;background:#f8f4ee}.night-swatch{position:relative;border-color:#223458;display:grid;place-items:center;background:#07112c}.night-swatch svg{width:100%;height:100%;object-fit:cover}.night-swatch .night-swatch-age{position:absolute;inset:0;z-index:1}.palette-settings{margin-top:20px}.palette-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#6e675d}.palette-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.palette-option{display:grid;place-items:center;width:28px;height:28px;padding:0;border:2px solid transparent;border-radius:50%;color:#fff;box-shadow:inset 0 0 0 1px #0001}.palette-option[aria-pressed=true]{outline:1px solid #8e6b55;outline-offset:3px}.palette-option:hover{box-shadow:0 0 0 3px #e9e3d8}.palette-option svg{width:15px;height:15px}.palette-current{font-size:9px;color:#9c826a;text-align:right}.nocturne-options .palette-option{width:28px;height:28px}.custom-color-swatch{position:relative;flex:0 0 28px;margin:0;cursor:pointer;background:conic-gradient(#da6681,#dfb968,#84b482,#629fc2,#a37dbb,#da6681)}.custom-color-swatch input[type=color]{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:50%;opacity:0;cursor:pointer}.custom-color-swatch svg{pointer-events:none;position:relative;filter:drop-shadow(0 1px 2px #0008)}.custom-color-swatch.is-selected{outline:1px solid #8e6b55;outline-offset:3px}.custom-color-swatch:focus-within{outline:2px solid #8e6b55;outline-offset:3px}.ornament-settings{margin-top:22px}.ornament-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:12px}.ornament-option{display:grid;place-items:center;height:38px;padding:3px;border:1px solid #e1dacf;border-radius:5px;background:#fffdf9;color:#a58e79;transition:background .15s,border-color .15s}.ornament-option:hover{background:#f4eee5;border-color:#b9a18b}.ornament-option[aria-pressed=true]{background:#eee3d6;border-color:#9f7c5c;color:#805a3d}.ornament-option svg{width:27px;height:27px}.wedding-swatch{position:relative;display:grid;place-items:center;background:#fffef3;border-color:#d7ddc8}.wedding-swatch .wedding-swatch-symbol{position:absolute;inset:0;z-index:1}.reverse-names{display:flex;align-items:center;gap:9px;margin:15px 0 20px;font-size:10px;line-height:1.5;cursor:pointer}.reverse-names input[type=checkbox]{width:15px;height:15px;flex:0 0 15px;padding:0;margin:0;accent-color:#8e6b55}.event-selector{display:flex;gap:4px;padding:4px;margin-bottom:15px;border:1px solid #e5ddd2;border-radius:7px;background:#f3efe8}.event-selector button{flex:1;min-width:0;border:0;border-radius:4px;padding:9px 6px;background:transparent;color:#928475;font-size:11px;transition:background .15s,color .15s,box-shadow .15s}.event-selector button:hover{background:#eae2d7;color:#725b48}.event-selector button[aria-pressed=true]{background:#8e6b55;color:#fff;box-shadow:0 1px 3px #65442b18}.event-selector button{display:flex;align-items:center;justify-content:center;gap:7px}.event-selector button svg{flex-shrink:0}.generate{align-items:center;justify-content:center;gap:11px;min-height:49px;padding:14px 16px;border:1px solid #80604b;border-radius:8px;background:linear-gradient(145deg,#9c7960,#7f5e49);font-size:12px;font-weight:600;letter-spacing:.1px;box-shadow:0 3px 7px #66472e16,inset 0 1px #ffffff20;transition:background .18s,box-shadow .18s,transform .18s}.generate:not(:disabled):hover{background:linear-gradient(145deg,#8c674f,#6e4c37);box-shadow:0 5px 12px #66472e24;transform:translateY(-1px)}.generate:not(:disabled):active{transform:translateY(0);box-shadow:0 1px 3px #66472e18}.generate:disabled{opacity:.65;transform:none;transition:none}.generate svg{flex-shrink:0}.render-feedback .job{margin-top:16px;padding:16px;background:#f8f5ef;border:1px solid #e7dfd3;border-radius:9px}.render-feedback .job-heading{display:flex;flex-wrap:nowrap;align-items:center;gap:9px;font-size:11px;line-height:1.5}.render-feedback .job-heading strong{flex:1;min-width:0;font-weight:500}.render-feedback .job-heading .job-status-icon{width:25px;flex:0 0 25px;height:25px;display:grid;place-items:center;background:#ece4d7;border-radius:50%;color:#947452}.job-status-icon svg{width:15px;height:15px}.render-feedback .job-heading .job-percent{width:auto;white-space:nowrap;font-variant-numeric:tabular-nums;color:#735940;font-size:16px;font-weight:500}.job-percent small{font-size:10px}.render-progress{height:7px;margin:17px 0 12px;overflow:hidden;border-radius:8px;background:#e8e0d5}.render-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b69b74,#8e6b55);transition:width .5s ease}.render-progress.is-preparing>span{width:30%!important;animation:preparing-progress 1.8s ease-in-out infinite}.job-timing{display:flex;flex-direction:column;gap:5px;font-size:10px;line-height:1.5}.job-timing strong{font-weight:500;color:#6d5b46}.job-timing>span{font-size:9px;color:#a19381;font-variant-numeric:tabular-nums}.job-steps{display:flex;justify-content:space-between;gap:7px;list-style:none;margin:18px 0 12px;padding:0}.job-steps li{display:flex;align-items:center;gap:5px;color:#b1a695;font-size:8px}.job-steps li>span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;border:1px solid #ded5c8;font-size:8px;flex-shrink:0}.job-steps li.current{color:#7d6046}.job-steps li.current>span{background:#8e6b55;color:#fff;border-color:#8e6b55}.job-steps li.complete{color:#93816b}.job-steps li.complete>span{background:#e8dfd1;border-color:#e8dfd1}.job-steps svg{width:10px;height:10px}.job-detail{font-size:9px;color:#a19381;line-height:1.5;margin:10px 0;font-variant-numeric:tabular-nums}.job .cancel{display:block;padding:5px 0;margin-top:6px;font-size:9px;color:#9b8c7b;text-underline-offset:3px}.job .cancel:hover{color:#72533d}.job-pending{display:flex;align-items:center;gap:10px;font-size:11px;color:#8c765c}.render-feedback .job-done{background:#f4f6ef;border-color:#dfe5d5}.render-feedback .job-done .job-status-icon{background:#e0e7d5;color:#6c7e54}.job-ready-detail{font-size:10px;color:#8d947f;margin:9px 0 15px;padding-left:34px}.job .download{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #738462;border-radius:7px;background:linear-gradient(145deg,#829371,#687e57);color:#fff;box-shadow:0 2px 5px #4a603119;text-decoration:none;transition:background .15s,box-shadow .15s}.job .download:hover{background:linear-gradient(145deg,#728560,#597046);box-shadow:0 4px 9px #4a603126}.download span{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:500}.download small{font-size:8px;color:#e3eadb;font-weight:400}.spinner{animation:spinner-turn 1s linear infinite}@keyframes spinner-turn{to{transform:rotate(360deg)}}@keyframes preparing-progress{0%{transform:translate(-105%)}to{transform:translate(440%)}}@media(prefers-reduced-motion:reduce){.spinner,.render-progress.is-preparing>span{animation:none}.render-progress>span,.generate,.download{transition:none}.generate:not(:disabled):hover{transform:none}}
