@font-face{font-family:'Queen of Heaven';src:url('./assets/Queen-of-Heaven-Regular.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f7f7f1;color:#263f34;font-family:'Segoe UI',Arial,sans-serif;font-size:14px}button,input{font:inherit}button,a,label,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c9a465;outline-offset:4px}button{color:inherit}header.topbar{height:88px;border-bottom:1px solid #dfe3d8;padding:0 5.8%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:650;font-size:21px;letter-spacing:-.8px}.brand em{font-size:12px;font-style:normal;border:1px solid #c6d0c2;border-radius:5px;padding:2px 5px;vertical-align:3px;margin-left:3px;letter-spacing:.5px}.brand-icon{background:#194f3e;width:35px;height:41px;border-radius:12px 12px 8px 8px;display:flex;align-items:center;justify-content:center}.brand-icon svg{width:27px;height:34px;fill:none;stroke:#f5ead0;stroke-width:1.7}.brand-icon path{fill:#f5ead0;stroke:none}.topright{display:flex;gap:29px;align-items:center}.local-badge{color:#718175;font-size:12px}.local-badge i,.model-status i{display:inline-block;width:6px;height:6px;background:#5f8863;border-radius:50%;margin-right:7px}.text-button{border:0;background:none;font-size:13px}.text-button span{margin-left:12px}main{max-width:1460px;padding:0 5.8%;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:44px 0 32px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:#657663;margin:0 0 14px}.eyebrow span{font-size:18px;vertical-align:-2px;margin-right:6px;color:#a08042}h1{font-family:Georgia,'Times New Roman',serif;font-size:43px;line-height:1.16;font-weight:400;letter-spacing:-1.6px;margin:0 0 15px}h1 em{font-weight:400;color:#a17345}.intro-copy{font-size:13px;line-height:1.7;color:#758074;margin:0}.mobile-break{display:none}.season-stamp{width:145px;text-align:center;transform:rotate(8deg);color:#8f997e;margin-right:30px}.season-stamp svg{height:67px;width:80px;display:block;fill:none;stroke:#8f997e;stroke-width:1.2;margin:7px auto}.season-stamp span{font-size:8px;letter-spacing:1.5px}.studio{display:grid;grid-template-columns:340px minmax(0,1fr);border:1px solid #d8ded2;border-radius:16px;background:#fffefa;box-shadow:0 8px 30px #253a2920;overflow:hidden}.config-panel{padding:25px 27px 20px;border-right:1px solid #d8ded2}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:25px}.step{font-size:10px;color:#7b8a70;border:1px solid #d5ddcc;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}h2{font-size:18px;font-weight:600;letter-spacing:-.4px;margin:0}.tiny-star{margin-left:auto;color:#aa8c58;font-size:23px}.field-label{font-size:12px;font-weight:600;display:block;margin:0 0 9px}.name-wrap{position:relative}.name-wrap input{border:1px solid #bacab9;border-radius:7px;background:#fffefa;padding:12px 49px 12px 12px;width:100%;color:#244532;font-size:18px;outline-color:#255d46}.name-wrap span{position:absolute;right:12px;top:18px;font-size:10px;color:#889383}.hint{font-size:10px;line-height:1.6;color:#86907f;margin:7px 0 0}.error{color:#ac3d35;font-size:11px;line-height:1.5;margin:7px 0}.pet-option{margin:21px 0;display:flex;align-items:center;gap:10px;padding:14px 10px;border-radius:9px;background:#f3f5ec;cursor:pointer}.paw-icon{font-size:0}.paw-icon svg{height:27px;width:27px;fill:none;stroke:#7a8e69;stroke-width:1.2}.pet-copy{display:flex;flex-direction:column;gap:4px}.pet-copy strong{font-size:11px;font-weight:600}.pet-copy small{font-size:10px;color:#8b9580}.pet-option input{position:absolute;width:1px;height:1px;opacity:0}.switch{margin-left:auto;width:32px;height:19px;border-radius:20px;background:#d4dccb;position:relative;flex-shrink:0;transition:background .2s}.switch:after{content:'';width:13px;height:13px;border-radius:50%;background:white;position:absolute;left:3px;top:3px;box-shadow:0 1px 2px #0002;transition:transform .2s}.pet-option input:checked+.switch{background:#266548}.pet-option input:checked+.switch:after{transform:translateX(13px)}.pet-option input:focus-visible+.switch{outline:3px solid #c9a465;outline-offset:3px}fieldset{border:0;margin:0;padding:0;min-width:0}.template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.template-card{position:relative;border:1px solid #e0e3d8;border-radius:8px;padding:9px;cursor:pointer;background:#fafbf5}.template-card:has(input:checked){border-color:#4a7758;box-shadow:0 0 0 1px #4a775822;background:#f0f4e9}.template-card:has(input:focus-visible){outline:3px solid #c9a465}.template-card input{position:absolute;opacity:0;width:1px;height:1px}.template-art{height:77px;display:block;text-align:center}.template-art svg{height:76px;width:auto;max-width:100%}.template-label{font-size:11px;font-weight:600;display:flex;justify-content:space-between;align-items:center;margin-top:7px}.radio-dot{height:11px;width:11px;border:1px solid #bdc8b5;border-radius:50%;display:inline-block}.template-card input:checked~.template-label .radio-dot{border:3px solid #427251;background:#f3f7ed}.template-card small{display:block;font-size:9px;color:#8c9582;margin-top:3px}.colors{margin:22px 0}.swatches{display:flex;gap:13px;padding:2px}.swatch{height:24px;width:24px;border:2px solid #fffefa;box-shadow:0 0 0 1px transparent;border-radius:50%;background:var(--swatch);position:relative}.swatch.active{box-shadow:0 0 0 1px #6e8464}.swatch.active:after{content:'✓';color:#fff;position:absolute;inset:1px;font-size:12px}.swatch:last-child.active:after{color:#566448}.fixed-size{border-top:1px dashed #d5dccd;padding-top:16px;margin-top:15px}.fixed-size>span{font-size:9px;font-weight:600;letter-spacing:1.3px;color:#8b947f}.fixed-size>div{display:flex;align-items:center;justify-content:space-around;margin:10px 0}.fixed-size p{margin:0;display:flex;flex-direction:column}.fixed-size strong{font-family:Georgia,serif;font-size:26px;font-weight:400}.fixed-size strong small{font-family:'Segoe UI',sans-serif;font-size:13px}.fixed-size p>small{font-size:9px;color:#8b9584;margin-top:3px}.fixed-size i{font-style:normal;color:#bdc5b7}.fixed-size .diameter{font-size:9px;color:#7c8975;text-align:center;display:block;margin:12px 0 17px}.primary-button{border:0;background:#215941;color:#fffdf5;width:100%;padding:13px 14px;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:550;transition:background .2s}.primary-button:hover{background:#163f2d}.primary-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.file-label{font-size:9px;border:1px solid #6c9579;border-radius:3px;padding:1px 4px;margin-left:auto}.primary-button>span:nth-child(2){margin-right:auto}.secondary-button{border:1px solid #dfe4d5;background:transparent;padding:10px;width:100%;border-radius:6px;margin-top:9px;font-size:11px}.secondary-button span{margin-left:10px}.secondary-button:hover{background:#f3f5eb}.download-note{text-align:center;font-size:9px;color:#96a08a;margin:10px 0 0}.preview-panel{display:flex;flex-direction:column;background:#edeedc;min-width:0}.preview-toolbar{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.view-tabs{display:flex;background:#fafbf380;padding:3px;border:1px solid #d9dfcd;border-radius:7px;gap:3px}.view-tabs button{background:none;border:0;border-radius:5px;padding:7px 12px;color:#85917a;font-size:12px;display:flex;gap:7px;align-items:center}.view-tabs button.active{background:#fffef8;box-shadow:0 1px 3px #52644812;color:#385d3c}.model-status{font-size:10px;color:#7d8b6f}.model-status i{width:5px;height:5px}.viewport{position:relative;flex:1;min-height:560px;isolation:isolate;touch-action:none;overflow:hidden;background:radial-gradient(ellipse at 48% 42%,#f8f7e9 0,#eeefdd 65%,#e6e9d4 100%)}.viewport canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}.canvas-grain{position:absolute;inset:0;opacity:.2;background-image:radial-gradient(#82916c 0.6px,transparent .6px);background-size:5px 5px;mask-image:linear-gradient(transparent,#0002);pointer-events:none}.loading{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;z-index:4}.loading[hidden]{display:none}.dimension-left{position:absolute;left:42px;top:22%;height:54%;width:12px;border-left:1px solid #b7c2a766;z-index:2;pointer-events:none}.dimension-left:before,.dimension-left:after{content:'';position:absolute;left:-5px;width:9px;height:1px;background:#b7c2a7;top:0}.dimension-left:after{top:auto;bottom:0}.dimension-left span{position:absolute;left:-22px;top:45%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;color:#96a283}.dimension-bottom{position:absolute;bottom:52px;left:38%;width:24%;border-top:1px solid #b7c2a766;text-align:center;padding-top:8px;z-index:2;pointer-events:none;font-size:9px;letter-spacing:.7px;color:#96a283}.orbit-hint{position:absolute;bottom:17px;left:0;width:100%;text-align:center;color:#91a07e;font-size:9px;z-index:2;pointer-events:none}.orbit-hint svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.2;vertical-align:-3px;margin-right:4px}.viewport-controls{position:absolute;right:19px;bottom:32px;display:flex;flex-direction:column;z-index:3;border-radius:7px;border:1px solid #d2dbc5;overflow:hidden;background:#fffef3b0}.viewport-controls button{border:0;border-bottom:1px solid #dbe1cf;background:none;width:30px;height:31px;font-size:18px;color:#788d69}.viewport-controls button:last-child{border:0}.viewport-controls button:hover{background:#fffdf5}.preview-caption{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-top:1px solid #d5dcc6;background:#f1f3e5}.preview-caption>div{display:flex;gap:13px;align-items:center}.mini-star{color:#9b8758;font-size:24px}.preview-caption strong{font-size:12px;font-weight:550}.preview-caption p{font-size:10px;color:#8a967c;margin:5px 0 0}.piece-badge{font-size:9px;color:#7b8c6d;border:1px solid #d8dfcb;padding:6px 9px;border-radius:5px;white-space:nowrap}.little-details{display:flex;justify-content:space-between;gap:15px;padding:21px 3px 28px;font-size:10px;color:#8a9581}.little-details p{margin:0}.little-details span{color:#8a9d77;font-size:15px;vertical-align:-1px;margin-right:7px}footer{border-top:1px solid #dfe4d7;display:flex;align-items:center;justify-content:space-between;color:#94a089;padding:20px 0 28px;font-size:10px}footer>span:first-child{font-size:12px;font-weight:600;color:#688163}footer p{margin:0}.footer-star{font-size:20px}#svg-preview{position:absolute;inset:25px 80px 85px;z-index:2}#svg-preview svg{width:100%;height:100%;filter:drop-shadow(3px 8px 5px #30442818)}#svg-preview[hidden]{display:none}dialog{max-width:540px;width:calc(100% - 36px);padding:35px;border:1px solid #d8ddcf;background:#fffdf5;border-radius:16px;color:#344e3d;box-shadow:0 20px 90px #163e3530}dialog::backdrop{background:#153d3055;backdrop-filter:blur(4px)}dialog h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin-bottom:23px}dialog ol{padding-left:20px}dialog li{line-height:1.7;font-size:13px;margin:16px 0}dialog>p:not(.eyebrow){font-size:11px;color:#839176;line-height:1.8}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:24px}.reference-links{display:flex;gap:15px;flex-wrap:wrap;border-top:1px solid #d9dfcf;padding-top:14px;font-size:11px}.reference-links span{width:100%;color:#8a967f}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);border-radius:9px;background:#234d39;color:#fffdeb;padding:13px 22px;font-size:12px;box-shadow:0 5px 20px #173c3a25;z-index:10;opacity:0;pointer-events:none;transition:.25s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1500px){.intro{padding-top:55px}.viewport{min-height:600px}}@media(max-width:1100px){main{padding:0 4%}.topbar{padding-left:4%!important;padding-right:4%!important}.studio{grid-template-columns:310px 1fr}.config-panel{padding:22px}.dimension-left{left:25px}.season-stamp{margin-right:0}.model-status{font-size:9px}.preview-toolbar{padding:15px}.little-details{font-size:9px}.piece-badge{display:none}.viewport{min-height:560px}h1{font-size:39px}}@media(max-width:800px){header.topbar{height:72px}.brand{font-size:18px}.local-badge{display:none}.topright{gap:8px}.text-button{font-size:11px}.intro{padding:30px 0 25px}.eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:35px}.intro-copy{font-size:12px}.season-stamp{width:95px}.season-stamp span{font-size:6px}.season-stamp svg{height:50px}.studio{grid-template-columns:280px 1fr}.config-panel{padding:20px 17px}.preview-toolbar{flex-wrap:wrap;gap:10px}.view-tabs button{padding:6px 8px;font-size:11px}.model-status{display:none}.viewport{min-height:580px}.dimension-left,.dimension-bottom{display:none}.preview-caption{padding:17px 12px}.preview-caption strong{font-size:10px}.preview-caption p{font-size:9px}.mini-star{display:none}.little-details{justify-content:center;flex-wrap:wrap;row-gap:12px}#svg-preview{inset:30px 20px 85px}}@media(max-width:620px){main{padding:0 18px}.topbar{padding:0 18px!important}.text-button span{margin-left:4px}.brand-icon{width:29px;height:35px}.brand-icon svg{height:28px}.brand{gap:8px;font-size:16px}.brand em{font-size:9px;vertical-align:2px}.intro{padding:28px 0 23px}.eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:13px}.eyebrow span{font-size:13px}h1{font-size:32px;letter-spacing:-1px}.intro-copy{font-size:11px}.season-stamp{display:none}.studio{display:flex;flex-direction:column;overflow:visible;border-radius:13px}.preview-panel{order:-1;border-radius:13px 13px 0 0;overflow:hidden}.preview-toolbar{padding:12px 15px}.model-status{display:block;font-size:9px}.viewport{height:390px;min-height:390px;flex:none}.preview-caption{padding:13px 17px}.preview-caption strong{font-size:11px}.piece-badge{display:block;font-size:8px}.viewport-controls{right:13px;bottom:25px}.orbit-hint{font-size:8px;bottom:13px}.dimension-bottom{display:block;bottom:42px;font-size:8px}.config-panel{border:0;padding:23px 23px 20px}.panel-title{margin-bottom:20px}.pet-option{margin:18px 0}.template-art{height:87px}.template-art svg{height:85px}.colors{margin:20px 0}.fixed-size{margin-top:12px}.little-details{padding:23px 0;font-size:9px;align-items:center;flex-direction:column}.little-details p:nth-child(2){display:none}footer{padding:20px 0;font-size:9px}footer>span:first-child{font-size:11px}footer p{font-size:9px}#svg-preview{inset:15px 55px 65px}.preview-caption p{font-size:9px}.download-note{font-size:10px}.hint{font-size:11px}.field-label{font-size:13px}.pet-copy strong{font-size:12px}.pet-copy small{font-size:11px}.template-label{font-size:12px}.template-card small{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.viewport canvas[hidden], .viewport-controls[hidden], .orbit-hint[hidden]{display:none!important}

.pet-option:has(input:disabled){opacity:.55;cursor:default}
#support{max-height:calc(100vh - 40px);overflow:auto}.support-sub{font-size:13px;font-weight:400;color:#758074;letter-spacing:0}.support-copy{font-size:12.5px;line-height:1.7;color:#5d6f5c;margin:0 0 13px}.support-copy strong{color:#2c4a39}.support-lang{display:inline-block;margin-right:7px;padding:1px 5px;border:1px solid #d9c9a4;border-radius:4px;color:#a08042;font-size:9.5px;font-weight:700;letter-spacing:1px;vertical-align:2px}.support-links{display:flex;flex-direction:column;gap:8px;margin:17px 0 11px}.support-link{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d3ddca;border-radius:9px;padding:12px 14px;text-decoration:none;font-size:12.5px;font-weight:600;background:#f5f7ee;color:#255d46;transition:background .2s,border-color .2s}.support-link:hover{background:#edf2e4;border-color:#b9ccb2}.support-countdown{text-align:center;font-size:12px;color:#758074;margin:10px 0 9px;min-height:15px}.footer-signature{display:block;margin-top:5px;color:#a3ad9b;font-size:9.5px;letter-spacing:.3px}