@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f5ef;--ink:#232b25;--muted:#747a70;--purple:#7255e9;--line:#dedfd4;--white:#fff;--green:#b8cb89}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px}button,input,select{font:inherit}button,a,select,label.upload-zone{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b295fa;outline-offset:4px}[hidden]{display:none!important}.header{height:96px;max-width:1360px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:35px;letter-spacing:-2px;text-decoration:none;white-space:nowrap}.sun{color:var(--purple);font-size:40px;vertical-align:middle}.brand-dot{color:var(--purple)}nav,.account{display:flex;gap:24px;align-items:center}.account{gap:12px}.nav-link{border:0;background:none;color:var(--muted);padding:10px 0;font-size:13px}.nav-link:hover{color:var(--ink)}select{background:transparent;border:0;padding:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:13px 21px;border:1px solid transparent;border-radius:100px;font-weight:700;font-size:13px;text-decoration:none;transition:transform .16s,background .16s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:white}.purple{background:var(--purple);color:white}.subtle{border-color:var(--line);background:transparent}.large{padding:19px 27px;font-size:15px}.header .button{font-size:12px}main{max-width:1264px;margin:auto;padding:0 48px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;min-height:610px;padding:65px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;margin:0 0 24px}.live-dot{display:inline-block;background:var(--purple);width:7px;height:7px;border-radius:50%;margin-right:8px}h1{font-size:clamp(38px,4.7vw,65px);font-weight:600;letter-spacing:-3px;line-height:1.1;margin:0 0 24px}h2{font-size:34px;font-weight:600;line-height:1.2;letter-spacing:-1.3px;margin:0 0 18px}.lead{font-size:16px;line-height:1.8;color:var(--muted);max-width:370px;margin:0 0 30px}.small-note{font-size:11px;color:var(--muted);margin-top:20px}.hero-art{height:460px;position:relative;display:grid;place-items:center;isolation:isolate}.art-frame{position:relative;overflow:hidden;width:264px;height:405px;border:9px solid #fff;border-radius:150px 150px 32px 32px;background:linear-gradient(180deg,#d1beed,#f0dec2 69%);box-shadow:0 28px 70px #4e42631c;transform:rotate(7deg)}.art-sun{position:absolute;width:100px;height:100px;border-radius:50%;background:#fcf0b4;top:72px;left:42px;box-shadow:0 0 55px #fff4b9}.art-hill{position:absolute;bottom:-65px;width:360px;height:260px;border-radius:50%;background:#788b53;left:-180px;transform:rotate(-30deg)}.hill-two{background:#3f573f;left:35px;bottom:-105px;transform:rotate(35deg)}.art-grain{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px)}.frame-top{position:absolute;top:33px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px;color:#634f71}.frame-bottom{position:absolute;bottom:86px;left:18px;color:#f8f6e8;font-family:Georgia,serif;font-style:italic;font-size:28px;line-height:1}.timeline{position:absolute;bottom:24px;left:22px;right:22px;display:flex;gap:10px;align-items:center;color:white}.timeline span{height:2px;background:#ffffff87;flex:1}.timeline i{font-size:10px}.orbit{position:absolute;width:400px;height:240px;border:1px solid #cccec0;border-radius:50%;transform:rotate(-28deg);z-index:-1}.orbit-two{transform:rotate(40deg);width:340px;height:365px}.art-sticker{position:absolute;right:0;top:66px;background:var(--green);font-size:10px;letter-spacing:1px;border-radius:100px;padding:16px 22px;transform:rotate(12deg);box-shadow:0 4px 12px #3331}.art-caption{position:absolute;bottom:0;left:12px;color:var(--muted);letter-spacing:2px;font-size:9px}.steps{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:25px 0;gap:20px}.steps div{display:flex;align-items:center;gap:15px}.steps span{font-size:11px;color:var(--purple);background:#ebe6fa;padding:12px;border-radius:50%}.steps p{font-size:13px}.section{padding:75px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:13px}.search{display:flex;align-items:center;gap:10px;background:#eeeee5;border-radius:100px;padding:14px 18px}.search input{background:none;border:0;outline:none;max-width:180px;font-size:12px}.search span{font-size:20px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.chip{border:1px solid var(--line);background:none;padding:10px 18px;border-radius:50px;font-size:12px}.chip.selected{background:var(--ink);color:white;border-color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.template-card{background:#fff;border:1px solid #e4e3dc;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.card-art{height:185px;position:relative;display:flex;align-items:end;padding:20px;overflow:hidden;background:#e5deef}.card-art:before{content:'✳';font-size:205px;line-height:1;position:absolute;right:-9px;top:-30px;color:#ffffff88;transform:rotate(16deg)}.template-card:nth-child(3n+2) .card-art{background:#d9e0c5}.template-card:nth-child(3n+3) .card-art{background:#ecddcd}.model-tag{position:relative;background:#fff9;padding:7px 12px;border-radius:50px;font-size:10px;font-weight:700}.card-body{padding:21px;display:flex;flex-direction:column;flex:1}.card-body h3{margin:0 0 9px;font-size:18px;font-weight:700}.card-body p{color:var(--muted);font-size:12px;line-height:1.7;margin:0 0 18px}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:10px}.card-foot span{font-size:12px;font-weight:700}.card-foot button{padding:11px 16px}.muted{color:var(--muted);font-size:13px;line-height:1.8}.empty{padding:38px;border:1px dashed #c9cebb;border-radius:16px;color:var(--muted);text-align:center;line-height:1.8;font-size:14px}.orders{display:grid;gap:10px}.order-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);padding:21px;border-radius:15px}.order-row h3{font-size:15px;margin:0 0 8px}.order-row p{font-size:11px;color:var(--muted);margin:0}.model-section{margin:75px 0;padding:42px;background:#eaece1;border-radius:25px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.model-section .muted{max-width:390px}.model-families{display:flex;flex-wrap:wrap;align-content:center;gap:10px}.model-pill{border:1px solid #cfd3c3;border-radius:12px;padding:15px 20px;font-weight:700;font-size:15px}footer{border-top:1px solid var(--line);max-width:1264px;padding:30px 48px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:10px;color:var(--muted)}footer .brand{font-size:26px;color:var(--ink)}footer div{display:flex;gap:18px;flex-wrap:wrap}footer a{text-decoration:none}dialog{border:0;border-radius:24px;padding:38px;max-width:520px;width:calc(100% - 32px);color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #10161040}dialog::backdrop{background:#141b1560;backdrop-filter:blur(5px)}dialog h2{font-size:27px}dialog p{line-height:1.7;font-size:13px}.close{position:absolute;top:15px;right:19px;border:0;background:transparent;font-size:26px;color:var(--muted)}.modal-sun{display:block;margin-bottom:20px}.upload-zone{display:flex;flex-direction:column;align-items:center;gap:12px;border:1px dashed #b4a6df;background:#ece7f7;border-radius:16px;padding:25px;cursor:pointer}.upload-zone span{font-size:11px;color:var(--muted)}.upload-zone .upload-icon{font-size:32px;color:var(--purple)}#photo-preview{width:80px;height:100px;object-fit:cover;border-radius:9px;margin-top:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:500px;width:calc(100% - 32px);padding:18px 24px;border-radius:14px;color:#fff;background:var(--ink);box-shadow:0 5px 25px #0002;z-index:20;font-size:13px;line-height:1.6}#more{margin-top:25px}@media(max-width:900px){.header{padding:0 25px}.header nav{display:none}main{padding:0 25px}.hero{gap:12px;min-height:520px}.hero-art{transform:scale(.85);margin-inline:-20px}h1{font-size:46px}.cards{grid-template-columns:repeat(2,1fr)}.model-section{gap:25px;padding:30px}footer{padding:25px;flex-wrap:wrap}.art-sticker{right:-10px}}@media(max-width:600px){.header{height:78px;padding:0 18px}.brand{font-size:29px}.sun{font-size:31px}.account{gap:4px}.header .button{padding:10px 13px;font-size:10px}main{padding:0 20px}.hero{grid-template-columns:1fr;padding-top:40px;gap:0}.hero-copy{position:relative;z-index:2}h1{font-size:45px;letter-spacing:-2px}.lead{font-size:14px;max-width:320px}.hero-art{height:350px;transform:scale(.8);margin-top:-10px}.small-note{font-size:10px}.steps{gap:10px;padding:18px 0}.steps div{display:block;flex:1}.steps span{display:inline-block;padding:8px}.steps p{font-size:10px;line-height:1.6}.section{padding-top:45px}.section-heading{display:block}.search{margin:20px 0}.cards{grid-template-columns:1fr}.card-art{height:155px}.model-section{margin-block:45px;grid-template-columns:1fr;padding:26px}.model-pill{padding:12px 15px;font-size:13px}.order-row{align-items:start;flex-direction:column}.order-row .button{font-size:11px}.section h2{font-size:30px}footer{padding:25px 20px;gap:15px;align-items:start}footer>span{display:none}dialog{padding:30px 22px}.orbit{width:340px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.result-preview{width:112px;height:170px;object-fit:contain;background:#222;border-radius:12px;margin-left:auto}@media(max-width:600px){.result-preview{margin-left:0;width:100%;height:280px}}

.template-preview{height:145px;width:90px;position:absolute;right:16px;top:20px;object-fit:cover;border-radius:10px;background:#242b25}.card-art:has(.template-preview) .model-tag{max-width:65%;font-size:9px}

.wallet-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:white;padding:28px;border:1px solid #e5e1ee;border-radius:24px}.wallet-balance{font-size:36px}.wallet-panel select{display:block;width:100%;font:inherit;padding:12px;border-radius:12px;border:1px solid #dcd5e9;margin:12px 0}.wallet-panel p{line-height:1.6}.wallet-pending{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e5e1ee}@media(max-width:650px){.wallet-panel{grid-template-columns:1fr}.wallet-pending{flex-wrap:wrap}}

/* Same sun tile, wordmark and caption as the administration panel. */
.brand{display:inline-flex;align-items:center;gap:11px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:35px;font-weight:650;letter-spacing:-1.5px;line-height:1;color:#243a35;flex-shrink:0}
.brand-mark{display:block;width:42px;height:42px;flex-shrink:0}
.brand-wordmark{display:block}.brand-caption{display:block;font-size:9px;font-weight:600;letter-spacing:3.3px;margin-top:6px;margin-left:2px;color:#788680}
footer .brand{font-size:35px;color:#243a35}.header nav{flex-wrap:wrap;gap:20px}
#wallet-guest p{margin:0 0 18px}
@media(max-width:900px){.header{height:auto;min-height:96px;flex-wrap:wrap;padding-top:18px;padding-bottom:14px;gap:16px}.header nav{display:flex;order:3;width:100%;justify-content:center;gap:28px}.header .brand{margin-right:auto}}
@media(max-width:600px){.header{padding-top:16px}.header .brand{font-size:29px;gap:8px}.header .brand-mark{width:36px;height:36px}.brand-caption{font-size:8px;letter-spacing:2.8px}.header .account{gap:2px}.header .nav-link{font-size:12px}.header nav{gap:24px}}
@media(max-width:360px){.header{column-gap:8px}.header .brand{font-size:26px;gap:6px}.header .brand-mark{width:32px;height:32px}.header .button{padding:10px 8px}.header select{padding:5px}}
