.hnd{cursor:grab}.canvas .hnd circle.hnd-hit[data-handle],.canvas .hnd.on circle.hnd-hit[data-handle]{fill:#0000;stroke:none;touch-action:none}.hnd .hnd-halo{fill:#2563eb1f;stroke:none;opacity:0;pointer-events:none;transition:opacity .12s}.hnd .hnd-dot{fill:#fff;stroke:#2563eb;pointer-events:none;transition:fill .12s}.hnd-stake .hnd-dot{stroke:#d97706}.hnd-stake .hnd-halo{fill:#d9770624}.hnd-text .hnd-dot{stroke:#7c3aed}.hnd-text .hnd-halo{fill:#7c3aed1f}.hnd.on .hnd-halo,.hnd:focus-visible .hnd-halo{opacity:1}.hnd.on .hnd-dot{fill:#2563eb}.hnd-stake.on .hnd-dot{fill:#d97706}.hnd-text.on .hnd-dot{fill:#7c3aed}.hnd:focus{outline:none}.hnd:focus-visible .hnd-dot{stroke-width:3px}.hnd.dragging{cursor:grabbing}.hnd-label{pointer-events:none;paint-order:stroke;stroke:#fff;stroke-linejoin:round;fill:#1f2937;font-weight:600}.hnd-guide{stroke:#ec4899;stroke-dasharray:4 3;pointer-events:none}.hnd-arrow{fill:none;stroke:currentColor;pointer-events:none;opacity:.55}.hp-label{align-items:center;gap:6px;display:flex}.hp-reset{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:0;margin-left:auto;padding:0 4px;font-size:14px}.hp-reset:hover{opacity:1}.hnd-ghost{fill:none;stroke:#d97706;stroke-dasharray:2 2;opacity:.7;pointer-events:none}.fit-btn.hot{color:#fff;background:#2563eb;border-color:#2563eb;animation:1.6s ease-in-out 2 fit-pulse;box-shadow:0 0 0 3px #2563eb40}@keyframes fit-pulse{50%{box-shadow:0 0 0 7px #2563eb1a}}.gen-busy{z-index:3;color:#374151;pointer-events:none;background:#ffffffeb;border:1px solid #e5e7eb;border-radius:99px;align-items:center;gap:7px;padding:4px 11px;font-size:12.5px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 2px 8px #0f172a14}.gen-busy.first{padding:8px 16px;font-size:14px;bottom:50%;right:50%;transform:translate(50%,50%)}.gen-spin{border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;width:13px;height:13px;animation:.8s linear infinite gen-spin}@keyframes gen-spin{to{transform:rotate(360deg)}}.pv-notices{z-index:3;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:64px;left:34px;right:120px}.pv-note{pointer-events:auto;color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;align-self:flex-start;padding:6px 11px;font-size:13px;box-shadow:0 2px 8px #0f172a0f}.pv-note.warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.pv-note .link{color:#1d4ed8;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.order-block{margin:6px 12px 10px;font-size:12.5px}.batch-progress{color:#1d4ed8;font-weight:600}.tpl-photo-mini{display:none}.tpl-photo-mini summary{cursor:pointer;padding:6px 0;font-size:14px;font-weight:600}.tpl-photo-mini img{border-radius:12px;width:100%;max-width:560px;margin-top:6px;display:block}@media (width<=760px){.tpl .tpl-head .tpl-photo-wide{display:none}.tpl-photo-mini{margin:14px 0 0;display:block}.tpl .tpl-head .lead{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;display:-webkit-box;overflow:hidden}.tpl .tpl-head h1{font-size:23px}.tpl .tabs{margin-top:10px}.pv-notices{padding:8px 10px 0;position:static}.gen-busy.first{position:absolute}}@media (width>=1500px){.page.tpl{max-width:min(1840px,100vw - 48px)}.tpl .workspace{grid-template-columns:minmax(0,1fr) 380px}.tpl .preview-card{height:min(78vh,900px)}}.pricing .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pricing .pr-head{max-width:760px}.pricing .pr-head .page-title{margin:10px 0 12px;font-size:clamp(30px,4vw,44px);line-height:1.12}.pricing .pr-head p{color:#4a3828;margin:0;font-size:17px;line-height:1.65}.pricing .pr-billing{max-width:760px;margin:10px 0 0}.pr-trust{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.pr-trust li{color:#4a3828;background:#fff;border:1px solid #e8ddcf;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:14px;display:inline-flex}.pr-trust li:before{content:"";background:#f4ede3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23B0742F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/18px no-repeat;border-radius:50%;flex:none;width:18px;height:18px}.pricing .price-grid{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:16px;margin-top:30px}.pricing .price-card{border-color:#e8ddcf;border-radius:24px;gap:10px;padding:24px 22px;position:relative;box-shadow:0 1px 2px #3a2a1d0a,0 14px 34px #3a2a1d0f}.pricing .price-card h2{margin:0;font-size:22px;font-weight:600}.pricing .price-card .sum{letter-spacing:-.02em;font-size:38px;font-weight:600}.pricing .price-card .sum span{font-size:15px;font-weight:400}.pricing .price-card .plan-count{font-size:16px;font-weight:600}.pricing .price-card .pr-blurb{color:#6b523b;margin:0;font-size:15px;line-height:1.55}.pricing .price-card ul{flex-direction:column;gap:8px;padding-left:0;list-style:none;display:flex}.pricing .price-card li{padding-left:26px;font-size:15px;line-height:1.5;position:relative}.pricing .price-card li:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-8' fill='none' stroke='%23B0742F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/18px no-repeat;width:18px;height:18px;position:absolute;top:2px;left:0}.pricing .price-card>.btn,.pricing .price-card>button.btn{border-radius:14px;justify-content:center;width:100%}.pricing .price-card.on{border-color:#b0742f;box-shadow:0 0 0 2px #b0742f}.pr-day{color:#8a6a4b;margin:-4px 0 0;font-size:13px}.pricing .price-card.featured{color:#f4ede3;z-index:1;background:radial-gradient(at 80% 0,#ffb35c38,#0000 55%),linear-gradient(160deg,#3a2a1d,#2a1e14);border:1px solid #ffb35c73;transform:translateY(-10px)scale(1.03);box-shadow:0 0 0 6px #ffb35c1f,0 26px 60px #2a1e1459}.pricing .price-card.featured h2,.pricing .price-card.featured .sum{color:#fff}.pricing .price-card.featured .sum span,.pricing .price-card.featured .pr-day,.pricing .price-card.featured .plan-plus{color:#d9a866}.pricing .price-card.featured .pr-blurb{color:#d8c7b2}.pricing .price-card.featured li:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-8' fill='none' stroke='%23FFB35C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.pricing .price-card.featured .muted,.pricing .price-card.featured label{color:#d8c7b2}.pricing .price-card.featured a{color:#ffb35c}.pricing .price-card.featured .btn.primary{color:#2a1e14;background:linear-gradient(135deg,#ffb35c,#d9a866);border-color:#0000;font-weight:600}.pricing .price-card.featured .btn.primary:hover:not(:disabled){filter:brightness(1.05)}.pr-badge{letter-spacing:.08em;text-transform:uppercase;color:#2a1e14;background:linear-gradient(135deg,#ffb35c,#d9a866);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;position:absolute;top:-13px;left:22px;box-shadow:0 4px 14px #ffb35c73}.pr-compare{margin-top:56px}.pr-compare h2,.pr-faq h2{margin:0 0 16px;font-size:clamp(26px,3vw,34px);font-weight:500}.pt-scroll{background:#fff;border:1px solid #e8ddcf;border-radius:22px;overflow-x:auto}.pt{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}.pt th,.pt td{text-align:center;border-bottom:1px solid #f0e6d9;padding:14px 16px}.pt tbody th{text-align:left;color:#3a2a1d;font-weight:400}.pt thead th{color:#3a2a1d;vertical-align:bottom;font-size:17px;font-weight:600}.pt thead th span{color:#8a6a4b;margin-top:2px;font-size:13px;font-weight:400;display:block}.pt tr:last-child th,.pt tr:last-child td{border-bottom:0}.pt .featured{background:#fbf3e6}.pt thead th.featured{color:#fff;background:#3a2a1d;border-radius:0}.pt thead th.featured span{color:#d9a866}.pt-yes{color:#b0742f;vertical-align:middle}.pt-no{color:#c9b8a2}.pt-num{color:#3a2a1d;font-weight:600}.pr-cta{background:#fbf3e6;border:1px solid #ecd9bd;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:18px 22px;display:flex}.pr-cta p{color:#4a3828;margin:0;font-size:16px}.pr-faq{max-width:820px;margin-top:48px}.pr-faq details{background:#fff;border:1px solid #e8ddcf;border-radius:16px;margin-bottom:10px;padding:0 18px}.pr-faq summary{cursor:pointer;justify-content:space-between;gap:12px;padding:16px 0;font-size:17px;font-weight:500;list-style:none;display:flex}.pr-faq summary::-webkit-details-marker{display:none}.pr-faq summary:after{content:"+";color:#b0742f;font-size:22px;line-height:1}.pr-faq details[open] summary:after{content:"−"}.pr-faq details p{color:#4a3828;margin:0 0 16px;font-size:16px;line-height:1.65}@media (width<=1080px){.pricing .price-grid{grid-template-columns:1fr 1fr}.pricing .price-card.featured{transform:none}}@media (width<=640px){.pricing .price-grid{grid-template-columns:1fr;gap:22px}.pricing .price-card.featured{order:-1}.pricing .price-card{padding:22px 18px}.pr-cta .btn{justify-content:center;width:100%}}.pr-action{margin-top:56px}.pr-action h2{margin:0 0 10px;font-size:clamp(26px,3vw,34px);font-weight:500}.pr-action-lead{color:#4a3828;max-width:46em;margin:0;font-size:17px;line-height:1.65}.pa-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.pa-case{background:#fff;border:1px solid #e8ddcf;border-radius:22px;flex-direction:column;gap:12px;margin:0;padding:18px;display:flex}.pa-ask{color:#3a2a1d;background:#fbf3e6;border:1px solid #ecd9bd;border-radius:16px 16px 16px 4px;margin:0;padding:12px 14px;font-size:15px;line-height:1.55;position:relative}.pa-who{letter-spacing:.06em;text-transform:uppercase;color:#b0742f;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.pa-out{background:radial-gradient(at 50% 30%,#fff,#f4ede3 85%);border:1px solid #f0e6d9;border-radius:16px;padding:30px 12px 12px;position:relative}.pa-tag{letter-spacing:.06em;text-transform:uppercase;color:#6b523b;background:#fff;border:1px solid #e8ddcf;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;position:absolute;top:8px;left:10px}.pa-sheet{justify-content:center;align-items:center;height:190px;display:flex}.pa-sheet .thumb{width:100%;height:100%}.pa-case figcaption{color:#6b523b;flex-direction:column;gap:4px;margin-top:auto;font-size:14px;line-height:1.5;display:flex}.pa-case figcaption b{color:#3a2a1d;font-size:15px;font-weight:600}.pa-steps{counter-reset:pa;flex-direction:column;gap:10px;margin:0;padding:0 0 0 4px;list-style:none;display:flex}.pa-steps li{counter-increment:pa;color:#4a3828;padding-left:36px;font-size:15px;line-height:1.55;position:relative}.pa-steps li:before{content:counter(pa);color:#2a1e14;background:linear-gradient(135deg,#ffb35c,#d9a866);border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:grid;position:absolute;top:0;left:0}.pa-steps b{color:#3a2a1d;font-weight:600}.pa-counter{color:#3a2a1d;background:#fbf3e6;border-radius:12px;margin-top:4px;padding:8px 12px;display:block}.pricing .pr-faq+.pr-faq{margin-top:36px}@media (width<=1080px){.pa-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.pa-grid{grid-template-columns:1fr}.pa-sheet{height:170px}.pr-action-lead{font-size:16px}}.sh-hero .hero3-in{align-items:center}.sh-title{margin:14px 0 18px;font-size:clamp(40px,6vw,68px);line-height:1.04}.sh-hero .hero3-text>p{max-width:34em;font-size:18px;line-height:1.6}.sh-hero .hero-actions{margin-top:26px}.sh-machine-pill{color:#f4ede3;background:#ffb35c1a;border:1px solid #ffb35c61;border-radius:18px;align-items:center;gap:14px;max-width:100%;margin-top:22px;padding:12px 18px 12px 12px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.sh-machine-pill:hover{background:#ffb35c2e;border-color:#ffb35ca6;text-decoration:none;transform:translateY(-2px)}.sh-machine-pill>span:last-child{flex-direction:column;gap:2px;line-height:1.3;display:flex}.sh-machine-pill b{color:#fff;font-size:16px;font-weight:600}.sh-machine-pill>span:last-child>span{color:#ffb35c;font-size:15px}.sh-pill-ic{color:#2a1e14;background:linear-gradient(135deg,#ffb35c,#d9a866);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 0 22px #ffb35c73}.sh-chips{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.sh-chips span{color:#d8c7b2;background:#f4ede30d;border:1px solid #f4ede329;border-radius:999px;padding:6px 12px;font-size:14px}.sh-chips b{color:#fff;font-weight:600}.sh-marquee{background:#fbf7f1;border-bottom:0;padding:26px 0 8px}.sh-marquee .mq-item{background:radial-gradient(at 50% 30%,#fff,#f4ede3 85%);border-color:#e8ddcf;border-radius:20px}.sh-page.home-page{padding-top:18px;padding-bottom:8px}.sh-page h2,.home-end h2{letter-spacing:-.01em;font-size:clamp(28px,3.4vw,40px);line-height:1.15}.sh-scratch{background:#fff;border:1px solid #e8ddcf;border-radius:28px;grid-template-columns:1.05fr 1fr;align-items:center;gap:36px;padding:38px 40px;display:grid;box-shadow:0 1px 2px #3a2a1d0a,0 24px 60px #3a2a1d14}.sh-scratch h2{margin:6px 0 10px}.sh-scratch-copy>p{color:#4a3828;margin:0 0 18px;font-size:17px;line-height:1.65}.sh-tech{flex-direction:column;gap:10px;display:flex}.sh-tech-opt{text-align:left;width:100%;font:inherit;color:#3a2a1d;cursor:pointer;background:#fbf7f1;border:1px solid #e8ddcf;border-radius:16px;align-items:center;gap:14px;padding:12px 16px 12px 12px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:flex}.sh-tech-opt:hover{background:#fff;border-color:#d9a866;transform:translate(4px);box-shadow:0 10px 26px #3a2a1d1a}.sh-tech-opt:focus-visible{outline-offset:2px;outline:3px solid #ffb35c}.sh-tech-ic{color:#fff;background:linear-gradient(135deg,#b0742f,#3a2a1d);border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.sh-tech-opt.laser .sh-tech-ic{background:linear-gradient(135deg,#ffb35c,#b0742f)}.sh-tech-opt.plot .sh-tech-ic{background:linear-gradient(135deg,#8a6a4b,#2a1e14)}.sh-tech-t{flex-direction:column;flex:1;line-height:1.35;display:flex}.sh-tech-t b{font-size:17px;font-weight:600}.sh-tech-t span{color:#6b523b;font-size:15px}.sh-tech-go{color:#b0742f;font-size:20px}.sh-scratch-note{margin:14px 0 0}.sh-editor{background:#fff;border:1px solid #e8ddcf;border-radius:20px;overflow:hidden;transform:rotate(1.2deg);box-shadow:0 18px 50px #3a2a1d1f}.sh-ed-bar{color:#6b523b;background:#f4ede3;border-bottom:1px solid #e8ddcf;align-items:center;gap:6px;padding:10px 14px;font-size:13px;display:flex}.sh-ed-bar i{background:#d6c6b1;border-radius:50%;width:10px;height:10px}.sh-ed-bar i:first-child{background:#ffb35c}.sh-ed-bar span{margin-left:8px}.sh-ed-body{min-height:250px;display:flex}.sh-ed-tools{background:#fbf7f1;border-right:1px solid #f0e6d9;flex-direction:column;gap:6px;padding:10px 8px;display:flex}.sh-ed-tools span{color:#8a6a4b;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.sh-ed-tools span.on{color:#ffb35c;background:#3a2a1d}.sh-ed-canvas{background-color:#fff;background-image:linear-gradient(#f1e9de 1px,#0000 1px),linear-gradient(90deg,#f1e9de 1px,#0000 1px);background-size:22px 22px;flex:1;place-items:center;padding:22px;display:grid}.sh-ed-sel{aspect-ratio:1.6;outline-offset:6px;outline:1.5px dashed #b0742f;width:min(100%,300px);position:relative}.sh-ed-art{width:100%;height:100%}.sh-ed-sel .h{background:#fff;border:2px solid #b0742f;border-radius:3px;width:10px;height:10px;position:absolute}.sh-ed-sel .tl{top:-11px;left:-11px}.sh-ed-sel .tr{top:-11px;right:-11px}.sh-ed-sel .bl{bottom:-11px;left:-11px}.sh-ed-sel .br{bottom:-11px;right:-11px}.sh-machine{color:#f4ede3;background:radial-gradient(at 85% 20%,#ffb35c33,#0000 55%),linear-gradient(135deg,#2a1e14,#3a2a1d);border-radius:28px;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;margin-top:34px;padding:44px;display:grid;position:relative;overflow:hidden}.sh-machine h2{color:#fff;margin:8px 0 12px}.sh-machine-copy>p{color:#d8c7b2;margin:0 0 14px;font-size:17px;line-height:1.6}.sh-ticks{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.sh-ticks li{color:#f4ede3;padding-left:30px;font-size:16px;line-height:1.5;position:relative}.sh-ticks li:before{content:"";background:#ffb35c2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23FFB35C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/20px no-repeat;border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:0}.sh-ai{color:#ffb35c;align-items:center;gap:8px;margin:0 0 4px;font-size:15px;display:flex}.sh-ai svg{flex:none}.sh-machine .hero-actions{margin-top:18px}.sh-machine-note{color:#b9a58c;margin:12px 0 0;font-size:13px}.shm-panel{background:#1f160f;border:1px solid #f4ede31f;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px #00000059}.shm-bar{color:#d8c7b2;border-bottom:1px solid #f4ede314;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.shm-dot{background:#7bd88f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #7bd88f}.shm-bar-r{color:#8a6a4b;margin-left:auto}.shm-body{grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.shm-bed{color:#8a6a4b;background:#2a1e14;border-radius:12px;width:100%;height:auto;display:block}.shm-path-ghost{fill:none;stroke:#d9a86640;stroke-width:1.2px;stroke-dasharray:3 3}.shm-path{fill:none;stroke:#ffb35c;stroke-width:1.6px;stroke-dasharray:100;stroke-dashoffset:100px;filter:drop-shadow(0 0 3px #ffb35ccc);animation:6s linear infinite shmDraw}.shm-head{offset-path:path("M100 118 C 60 92, 34 70, 34 50 C 34 30, 52 20, 68 20 C 82 20, 94 28, 100 40 C 106 28, 118 20, 132 20 C 148 20, 166 30, 166 50 C 166 70, 140 92, 100 118 Z");offset-rotate:0deg;animation:6s linear infinite shmHead}.shm-glow{fill:#ffb35c59}.shm-core{fill:#fff3df}@keyframes shmDraw{0%{stroke-dashoffset:100px}85%{stroke-dashoffset:0}to{stroke-dashoffset:0;opacity:.4}}@keyframes shmHead{0%{offset-distance:0%}85%{offset-distance:100%}to{offset-distance:100%}}.shm-jog{grid-template-columns:repeat(3,30px);gap:5px;display:grid}.shm-jog span{color:#d8c7b2;background:#f4ede312;border:1px solid #f4ede314;border-radius:8px;place-items:center;height:30px;font-size:13px;display:grid}.shm-jog span.home{color:#2a1e14;background:#d9a866}.shm-z{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:5px;display:grid}.shm-z span{font-size:11px}.shm-foot{gap:8px;padding:0 14px 14px;display:flex}.shm-foot span{text-align:center;color:#d8c7b2;background:#f4ede312;border-radius:10px;flex:1;padding:8px 0;font-size:13px}.shm-foot span.go{color:#2a1e14;background:linear-gradient(135deg,#ffb35c,#d9a866);font-weight:600}.sh-plan{background:#fff;border:1.5px solid #d9a866;border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-top:26px;padding:26px 30px;display:grid;box-shadow:0 0 0 6px #ffb35c1f,0 18px 44px #3a2a1d14}.sh-plan-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.sh-plan h3{margin:0;font-size:24px;font-weight:600}.sh-plan-badge{letter-spacing:.08em;text-transform:uppercase;color:#2a1e14;background:linear-gradient(135deg,#ffb35c,#d9a866);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.sh-plan-price{color:#6b523b;font-size:16px}.sh-plan-price b{color:#3a2a1d;font-size:22px;font-weight:600}.sh-plan ul{flex-wrap:wrap;gap:8px 18px;margin:12px 0 0;padding:0;list-style:none;display:flex}.sh-plan li{color:#4a3828;align-items:center;gap:8px;font-size:16px;display:flex}.sh-plan li svg{color:#b0742f;flex:none}.sh-how{margin-top:56px}.sh-steps{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;display:grid}.sh-step{background:#fff;border:1px solid #e8ddcf;border-radius:22px;height:100%;padding:22px 20px}.sh-step-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sh-step-ic{color:#fff;background:linear-gradient(135deg,#b0742f,#3a2a1d);border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.sh-step-n{color:#e2d3bf;font-size:34px;font-weight:300;line-height:1}.sh-step h3{margin:0 0 8px;font-size:19px;font-weight:600;line-height:1.3}.sh-step p{color:#4a3828;margin:0;font-size:16px;line-height:1.6}.sh-step:last-child{background:#fbf7f1;border-style:dashed}.sh-order .ft-copy p{font-size:17px;line-height:1.6}.sh-order-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=1000px){.sh-scratch,.sh-machine{grid-template-columns:1fr}.sh-editor{max-width:560px;transform:none}.sh-steps{grid-template-columns:1fr 1fr}}@media (width<=640px){.sh-title{font-size:40px}.sh-hero .hero3-text>p{font-size:17px}.sh-machine-pill{padding:10px 14px 10px 10px}.sh-machine-pill b{font-size:15px}.sh-scratch,.sh-machine{border-radius:22px;gap:26px;padding:26px 20px}.sh-steps{grid-template-columns:1fr}.sh-plan{grid-template-columns:1fr;padding:22px 20px}.sh-plan .btn{justify-content:center;width:100%}.shm-body{grid-template-columns:1fr}.shm-jog{justify-self:center}.sh-ed-body{min-height:200px}}@media (prefers-reduced-motion:reduce){.shm-path,.shm-head{animation:none}.shm-path{stroke-dashoffset:0}.sh-editor{transform:none}}.sh-season{margin-top:48px}.sh-season-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.sh-season-head h2{flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 8px;display:flex}.sh-season-head p{color:#4a3828;max-width:40em;margin:0;font-size:17px;line-height:1.6}.sh-season-when{letter-spacing:0;color:#8a6a4b;white-space:nowrap;background:#fff;border:1px solid #e8ddcf;border-radius:999px;padding:4px 12px;font-size:14px;font-weight:500}.sh-season-all{flex:none}.sh-season-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.sh-season-card{animation:none}.sh-season-card .thumb-wrap{height:170px}@media (width<=1000px){.sh-season-row{grid-template-columns:repeat(3,minmax(0,1fr))}.sh-season-row>:nth-child(n+7){display:none}}@media (width<=640px){.sh-season{margin-top:36px}.sh-season-head p{font-size:16px}.sh-season-row{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;gap:12px;margin:16px -16px 0;padding:0 16px 8px;display:flex;overflow-x:auto}.sh-season-row .sh-season-card{scroll-snap-align:start;flex:0 0 62%}.sh-season-row>:nth-child(n+7){display:flex}.app.shop .sh-season-card .thumb-wrap{height:140px}}.tag.tag-plan{color:#8a6a4b;background:#f4ede3;border:1px solid #e3d3bd;font-weight:700}.card-tags .tag-plan,.tplp-card .tag-plan{white-space:nowrap}.tplp-card .tag-plan{z-index:1;position:absolute;top:8px;left:8px}.tplp-card{position:relative}.tpl-locked .lk-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:32px;margin-top:12px;display:grid}.tpl-locked .lk-photo{box-shadow:var(--shadow);background:#fbf7f1;border-radius:16px;margin:0;position:relative;overflow:hidden}.tpl-locked .lk-photo img,.tpl-locked .lk-photo .thumb{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.tpl-locked .lk-photo figcaption{letter-spacing:.06em;text-transform:uppercase;background:#ffffffe6;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;bottom:10px;left:10px}.tpl-locked .lk-text h1{margin:8px 0 6px;font-size:32px;font-weight:800}.tpl-locked .lk-cta{background:#fbf7f1;border:1px solid #e3d3bd;border-radius:14px;margin-top:18px;padding:18px 20px}.tpl-locked .lk-cta h2{color:#3a2a1d;margin:0 0 8px;font-size:20px}.tpl-locked .lk-cta p{margin:0 0 10px}.tpl-locked .lk-actions{flex-wrap:wrap;gap:10px;margin:14px 0 10px;display:flex}.tpl-locked .info-cols{margin-top:28px}@media (width<=760px){.tpl-locked .lk-grid{grid-template-columns:1fr;gap:18px}.tpl-locked .lk-text h1{font-size:26px}}.dieline-legend{border:1px solid var(--c-border,#e5e7eb);background:var(--c-panel,#fafafa);border-radius:10px;margin:10px 0 4px;padding:10px 12px;font-size:13px}.dieline-legend ul{flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;display:flex}.dieline-legend li{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.dieline-legend svg{flex:none}.dieline-toggles{flex-wrap:wrap;gap:6px 16px;margin-top:8px;display:flex}.dieline-toggles label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.dieline-legend p{margin:6px 0 0}.subcats{flex-wrap:wrap;gap:6px;margin:-14px 0 22px;display:flex}.subcats .chip{height:28px;padding:0 11px;font-size:13px}@media (width<=640px){.subcats{scrollbar-width:none;flex-wrap:nowrap;margin:-8px -16px 16px;padding:0 16px;overflow-x:auto}.subcats .chip{flex:none}}.v3d-steps-row button.fold-toggle{background:var(--accent-d,#0284c7);color:#fff;width:auto;padding:0 12px;font-size:13px;font-weight:600}.tl{flex-direction:column;gap:8px;min-width:0;display:flex}.tl-bar{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.tl-lbl{color:var(--muted)}.tl-seg{border:1px solid var(--line2);border-radius:8px;display:inline-flex;overflow:hidden}.tl-seg button{background:var(--panel,#fff);color:var(--text);font:inherit;cursor:pointer;border:0;align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;display:inline-flex}.tl-seg button+button{border-left:1px solid var(--line2)}.tl-seg button svg{width:15px;height:15px}.tl-seg button.on{background:var(--accent-bg);color:var(--accent-d);font-weight:600}.tl-svg{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--c-soft2,#f8fafc);border:1px solid var(--line);border-radius:10px;width:100%;height:auto;max-height:62vh;display:block}.tl-wall{fill:#c99a62}.tl-floor{fill:#f4e6cc}.tl-div{fill:#8a5a2b}.tl-div.hot{fill:var(--accent-d)}.tl-div.sel{fill:var(--danger)}.tl-ghost{fill:var(--accent);opacity:.55;pointer-events:none}.tl-cell text{fill:#6b4a26;text-anchor:middle;font-variant-numeric:tabular-nums;pointer-events:none}.tl-plus{pointer-events:none}.tl-plus circle{fill:var(--accent)}.tl-plus path{stroke:#fff;vector-effect:non-scaling-stroke;stroke-width:2px;stroke-linecap:round}.tl-plus.no circle{fill:#9ca3af}.tl-x{cursor:pointer}.tl-x circle{fill:var(--danger);stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.tl-x path{stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linecap:round}.tl-h{fill:#fff;stroke:#8a5a2b;stroke-width:1.5px;vector-effect:non-scaling-stroke}.tl-h.hot{fill:var(--accent);stroke:var(--accent-d)}.tl-dim{fill:var(--muted);text-anchor:middle;pointer-events:none}.tl-hint{color:var(--muted);font-size:11.5px;line-height:1.4}.tl-tools{flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.tl-grid{color:var(--muted);align-items:center;gap:4px;margin-left:auto;display:inline-flex}.tl-grid input{border:1px solid var(--line2);width:46px;height:24px;font:inherit;text-align:center;border-radius:6px;padding:0 4px;font-size:12.5px}.tl-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:6px 8px;font-size:12px}.tl-text{font-size:12.5px}.tl-text summary{cursor:pointer;color:var(--muted)}.tl-text label{flex-direction:column;gap:3px;margin-top:8px;display:flex}.tl-text .help{color:var(--muted);margin-top:6px;font-size:11.5px}@media (width<=520px){.tl-grid{margin-left:0}.tl-seg button{padding:7px 12px}}.preview-card.v-layout{height:auto;min-height:420px}.tl-pane{flex-direction:column;gap:14px;padding:76px 34px 90px;display:flex;position:relative}.preview-card.v-layout>.notes,.preview-card.v-layout>.err{display:none}.tl.big{position:relative}.tl.big .tl-svg{width:100%;max-width:860px;height:auto;max-height:56vh;margin:0 auto}.tl.big .tl-hint{font-size:12.5px}.tl-extras{border-top:1px solid var(--line);max-width:520px;padding-top:12px}.tl-extras .params .field{grid-template-columns:170px 1fr}.tl-open{justify-content:center;width:100%}.tl-intro{z-index:5;border:1px solid var(--line2);background:#fff;border-radius:12px;flex-direction:column;gap:8px;width:min(420px,100% - 16px);padding:14px 16px;font-size:13px;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #0f172a2e}.tl-intro ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;line-height:1.4;display:flex}.tl-intro .tl-never{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.tl-intro .btn{align-self:flex-end}@media (width<=760px){.tl-pane{padding:68px 12px 90px}.tl-extras .params .field{grid-template-columns:1fr}}@media (width<=640px){.tl-pane{padding:12px 10px 84px}.tl-intro{top:40px}}.v3d{z-index:6;background:#f4f5f7;flex-direction:column;display:flex;position:absolute;inset:0;container:v3d/inline-size}.v3d.bg-dark{color:#e5e7eb;background:#1b1e23}.v3d-stage{flex:1 1 0;min-height:0;position:relative;overflow:hidden}.v3d-stage canvas{width:100%!important;height:100%!important}.v3d-bar{z-index:2;border:1px solid var(--ked-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:8px;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;padding:6px 8px;display:flex;position:absolute;top:10px;left:10px;right:10px;box-shadow:0 4px 16px #0f172a1f}.v3d-bar>*{flex:none}.v3d-bar .grow{flex:1 1 0;min-width:0}.v3d-bg{max-width:110px;height:26px;margin:0;font-size:12px}.v3d-more{position:relative}.v3d-menu{width:240px;right:0}.v3d-menu>button{font-size:12.5px}@container v3d (width<=1000px){.v3d-bar .v3d-title .t,.v3d-bar .v3d-explode .t,.v3d-bar .v3d-more .t,.v3d-bar .ked-btn.primary .t{display:none}.v3d-bar .v3d-explode input{width:80px}}@container v3d (width<=720px){.v3d-bar .v3d-explode .v{display:none}.v3d-grp .ked-btn{padding:0 6px}}.v3d-preset-sel{max-width:92px;height:26px;margin:0;font-size:12px;display:none}@container v3d (width<=600px){.v3d-bar .v3d-grp{display:none}.v3d-bar .v3d-preset-sel{display:block}.v3d-bar{gap:4px;padding:5px 6px}.v3d-bar .v3d-explode{margin-left:0}.v3d-bar .v3d-explode input{width:60px;min-width:0}.v3d-bar .v3d-bg,.v3d-bar .v3d-preset-sel{width:auto;min-width:0;max-width:96px;margin-left:0}}@container v3d (width<=400px){.v3d-bar .v3d-title{display:none}.v3d-bar .v3d-explode input{width:46px}.v3d-bar .v3d-bg,.v3d-bar .v3d-preset-sel{max-width:84px}}@container v3d (width<=330px){.v3d-bar{flex-wrap:wrap}.v3d-bar .grow,.v3d-hint{display:none}}.v3d.bg-dark .v3d-bar{color:#e5e7eb;background:#1f232aeb;border-color:#3a3f47}.v3d.bg-dark .v3d-bar .ked-btn{color:#e5e7eb;background:#2a2f37;border-color:#454b55}.v3d.bg-dark .v3d-bar .ked-btn.on{background:#0c4a6e}.v3d-title{align-items:center;gap:6px;margin-right:6px;font-weight:600;display:inline-flex}.v3d-grp{gap:2px;display:inline-flex}.v3d-grp .ked-btn{height:26px;padding:0 8px;font-size:12px}.v3d-grp .ked-btn.on{background:var(--ked-on);border-color:color-mix(in srgb, var(--ked-sel) 45%, transparent);color:var(--accent-d,#0284c7);font-weight:600}.v3d-explode{align-items:center;gap:6px;margin-left:6px;font-size:12px;display:inline-flex}.v3d-explode input{width:110px}.v3d-explode .v{font-variant-numeric:tabular-nums;min-width:56px;color:var(--muted,#6b7280)}.v3d-bar .ked-btn{height:26px;font-size:12px}.v3d-empty{z-index:2;border:1px solid var(--ked-line);text-align:center;background:#fffffff2;border-radius:10px;max-width:420px;padding:14px 18px;font-size:13px;line-height:1.45;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0f172a24}.v3d-hint{z-index:2;color:#6b7280;pointer-events:none;background:#ffffffbf;border-radius:12px;padding:3px 10px;font-size:11.5px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.v3d.bg-dark .v3d-hint{color:#cbd5e1;background:#1f232acc}.v3d-mini{position:relative}.v3d-mini.bg-dark{background:#1b1e23}.v3d-mini .v3d-stage{position:absolute;inset:0}.v3d-mini-bar{z-index:2;border:1px solid var(--line,#e5e7eb);background:#ffffffe6;border-radius:8px;align-items:center;gap:3px;padding:4px;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:0 2px 8px #0f172a1a}.v3d-mini-bar button{cursor:pointer;height:24px;font:inherit;color:#374151;background:0 0;border:0;border-radius:5px;padding:0 8px;font-size:12px}.v3d-mini-bar button:hover{background:#eef2f7}.v3d-mini-bar button.on{background:var(--accent-bg,#e0f2fe);color:var(--accent-d,#0284c7);font-weight:600}.v3d-mini-bar .sep{background:var(--line,#e5e7eb);width:1px;height:16px;margin:0 3px}.v3d-steps{z-index:2;border:1px solid var(--line,#e5e7eb);background:#ffffffeb;border-radius:10px;max-width:520px;margin:0 auto;padding:6px 8px;position:absolute;top:10px;left:10px;right:10px;box-shadow:0 2px 8px #0f172a1a}.v3d-steps-row{align-items:center;gap:4px;display:flex}.v3d-steps-row button{cursor:pointer;width:32px;height:32px;font:inherit;color:#374151;touch-action:manipulation;background:#f3f4f6;border:0;border-radius:7px;flex:none;font-size:18px;line-height:1}.v3d-steps-row button.play{background:var(--accent-bg,#e0f2fe);color:var(--accent-d,#0284c7);font-size:13px}.v3d-steps-row button:disabled{opacity:.4;cursor:default}.v3d-steps-row input[type=range]{min-width:0;height:32px;accent-color:var(--accent-d,#0284c7);touch-action:pan-y;cursor:pointer;flex:1;margin:0 4px}.v3d-steps-label{color:#1f2937;text-align:center;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.mk{background:#efe7dc;flex-direction:column;width:100%;height:100%;display:flex;position:relative}.mk-svg{flex:1;width:100%;min-height:0;display:block}.mk-foot{color:#6b523b;background:#fbf7f1f0;border-top:1px solid #e8ddcf;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 230px 10px 14px;font-size:13px;line-height:1.45;display:flex}.mk-note{flex:260px}.mk-note b{color:#3a2a1d;font-weight:600}@media (width<=640px){.tpl .preview-card>.mk{height:auto}.mk-svg{flex:none;height:280px}.mk-foot{padding-bottom:74px;padding-right:14px}}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/inter/Inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/inter/Inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f7f9;--panel:#fff;--line:#e5e7eb;--line2:#d1d5db;--text:#111827;--muted:#6b7280;--accent:#0ea5e9;--accent-d:#0284c7;--accent-bg:#e0f2fe;--ring:#0ea5e926;--danger:#dc2626;--radius:10px;--shadow:0 1px 2px #0000000d, 0 4px 16px #0000000f;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent-d);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0 0 8px}code{background:var(--c-soft,#f1f5f9);border-radius:4px;padding:1px 5px;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.pad{padding:8px 12px}.nav{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:28px;height:58px;padding:0 28px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:9px;font-size:17px;font-weight:800;display:flex}.brand:hover{text-decoration:none}.nav nav{gap:6px;display:flex}.nav nav a{color:var(--text);border-radius:8px;padding:7px 12px;font-weight:500}.nav nav a:hover{background:var(--c-soft,#f1f5f9);text-decoration:none}.nav nav a.on{background:var(--accent-bg);color:var(--accent-d)}.page{max-width:1240px;margin:0 auto;padding:28px 24px 80px}.btn{border:1px solid var(--line2);height:34px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--c-soft2,#f8fafc);border-color:#9ca3af}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-d);border-color:var(--accent-d)}.btn.big{height:44px;padding:0 22px;font-size:15px}.btn.small{height:28px;padding:0 10px;font-size:12.5px}.btn.tiny{height:24px;padding:0 8px;font-size:12px}.btn.block{width:100%;margin-top:8px}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.caret-btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:0 8px}.dl .btn.primary:first-child,.rel .btn.primary:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}button.link{color:var(--accent-d);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}button.x{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:15px}button.x:hover:not(:disabled){color:var(--text)}button.x:disabled{opacity:.3}input.txt,textarea.txt,select.sel,.search,.num,select.unit,.insp input,.insp select,.insp textarea,.pname,.docname{font:inherit;color:var(--text);border:1px solid var(--line2);background:#fff;border-radius:7px;outline:none;width:100%;padding:6px 9px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}textarea{resize:vertical}.mono,.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px}.search{max-width:280px}.chip{border:1px solid var(--line2);cursor:pointer;height:32px;font:inherit;white-space:nowrap;background:#fff;border-radius:999px;padding:0 13px;font-weight:500}.chip:hover{border-color:#9ca3af}.chip.on{background:var(--text);color:#fff;border-color:var(--text)}.switch{width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{cursor:pointer;background:#d1d5db;border-radius:99px;transition:all .15s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:before{transform:translate(16px)}.cats{flex-wrap:wrap;gap:8px;margin:18px 0 26px;display:flex}.gallery-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.row-gap{gap:8px;display:flex}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;display:grid}.card{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:14px;flex-direction:column;transition:transform .12s,box-shadow .12s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}.thumb-wrap{background:linear-gradient(180deg, var(--c-soft2,#f8fafc), var(--c-soft,#f1f5f9));border-bottom:1px solid var(--line);justify-content:center;align-items:center;height:175px;padding:14px;display:flex}.thumb{width:100%;height:100%;max-height:100%}.card-body{flex:1}.thumb.loading{background:linear-gradient(90deg, var(--c-soft,#f1f5f9) 25%, var(--c-line4,#e2e8f0) 50%, var(--c-soft,#f1f5f9) 75%);background-size:200% 100%;border-radius:8px;animation:1.2s infinite sh}@keyframes sh{to{background-position:-200% 0}}.card-body{padding:11px 13px 13px}.card-title{margin-bottom:7px;font-weight:600}.card-tags{flex-wrap:wrap;gap:5px;display:flex}.tag{background:var(--c-soft,#f1f5f9);color:var(--c-text3,#475569);border-radius:99px;padding:2px 7px;font-size:11px}.tag-batch{color:#047857;background:#ecfdf5}.crumbs{color:var(--muted);margin-bottom:10px;font-size:13px}.tpl-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.tpl-head h1{font-size:32px;font-weight:800}.lead{color:#374151;max-width:720px;margin:0 0 6px;line-height:1.5}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:16px 0 18px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tabs button.on{color:var(--text);border-color:var(--accent)}.tabs.small{margin:0}.tabs.small button{flex:1;padding:9px 10px;font-size:12.5px}.workspace{grid-template-columns:1fr 340px;align-items:start;gap:18px;display:grid}.preview-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;height:min(72vh,640px);min-height:420px;position:relative;overflow:hidden}.canvas{-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;width:100%;height:100%;position:relative;overflow:hidden}.canvas.three{background:linear-gradient(180deg, var(--c-soft2,#f8fafc), #eef2f7)}.canvas svg{display:block}.g-minor{stroke:var(--c-soft,#f1f5f9);stroke-width:1px}.g-major{stroke:var(--c-line4,#e2e8f0);stroke-width:1px}.g-axis{stroke:var(--c-line3,#cbd5e1);stroke-width:1px}.ruler{fill:#fafafa;stroke:#e5e7eb}.ruler-corner{fill:#f3f4f6;stroke:#e5e7eb}.r-tick{stroke:#9ca3af}.r-label{fill:#6b7280;font-family:Inter,sans-serif;font-size:9.5px}.dims{color:#374151;background:#ffffffd9;border-radius:6px;padding:3px 8px;font-size:13px;position:absolute;bottom:16px;left:34px}.fit-btn{border:1px solid var(--line2);cursor:pointer;font:inherit;background:#fff;border-radius:7px;padding:4px 8px;font-size:12px;position:absolute;top:30px;right:12px}.dl{display:flex;position:absolute;bottom:16px;right:16px}.dl .btn{height:40px;font-size:14.5px;box-shadow:0 4px 14px #0ea5e959}.menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:260px;padding:6px;position:absolute;bottom:46px;right:0;box-shadow:0 10px 30px #00000024}.rel{display:flex;position:relative}.rel .menu{inset:38px auto auto 0}.rel .menu.right{width:330px;left:auto;right:0}.menu.tall{width:290px;max-height:70vh;overflow:auto}.menu button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;display:block}.menu button:hover{background:var(--c-soft,#f1f5f9)}.menu-group{text-transform:uppercase;color:var(--muted);letter-spacing:.04em;padding:10px 10px 4px;font-size:11px;font-weight:700}.menu-pad{border-top:1px solid var(--line);margin-top:4px;padding:4px}.pv-tools{z-index:6;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:30px;left:34px;right:70px}.pv-tools>*{pointer-events:auto}.view-toggle{border:1px solid var(--line2);background:#fff;border-radius:8px;display:flex;overflow:hidden}.view-toggle button{font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 12px;font-weight:600}.view-toggle button.on{background:var(--text);color:#fff}.err{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:6px 0;padding:6px 10px;font-size:12.5px}.preview-card .err,.preview-card .notes{position:absolute;top:74px;left:34px;right:220px}@media (width>=641px){.preview-card.v-3d{flex-direction:column;display:flex}.preview-card.v-3d>.pv-tools{background:#fafbfc;order:-2;padding:10px 14px 8px;position:static}.preview-card.v-3d>.canvas{border-top:1px solid var(--line);flex:1;height:auto;min-height:0}.preview-card.v-3d .err,.preview-card.v-3d .notes{flex:none;order:-1;margin:0 14px 8px;position:static}}.notes{background:var(--c-tint,#f0f9ff);color:#075985;border:1px solid #bae6fd;border-radius:8px;padding:6px 10px;font-size:12.5px}.perf{color:var(--c-line3,#cbd5e1);font-size:10px;position:absolute;top:4px;right:14px}.side{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;max-height:calc(100vh - 90px);padding:14px;position:sticky;top:72px;overflow:auto}.side-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:12px 0;padding-top:12px;display:flex}.params .field,.batch-side .field,.group-body .field{grid-template-columns:112px 1fr;align-items:center;gap:4px 10px;margin-bottom:10px;display:grid}.field>label{color:#374151;font-size:13px;font-weight:500}.field.wide{grid-template-columns:1fr}.field.key{grid-template-columns:1fr;gap:4px}.field.key>label{color:var(--text);font-weight:600}.field.key .txt{border:1.5px solid var(--accent);background:#fffdf9;padding:9px 11px;font-size:16px}.field.key input.txt{min-height:42px}.field .help{color:var(--muted);grid-column:1/-1;font-size:11.5px;line-height:1.35}.field.wide .help{grid-column:1}.batch-side .field{grid-template-columns:1fr}.len{align-items:center;gap:4px;display:flex}.len .num{text-align:right;flex:1;min-width:0;font-family:ui-monospace,Consolas,monospace}.len select.unit{width:58px;padding:6px 4px}.suffix{color:var(--muted);min-width:18px;font-size:12.5px}.colors{gap:6px;display:flex}.colors input{border:1px solid var(--line2);border-radius:6px;width:36px;height:28px;padding:1px}.more-btn{border:1px solid var(--line2);background:var(--c-soft2,#f8fafc);font:inherit;cursor:pointer;border-radius:7px;margin:2px auto 12px;padding:5px 14px;font-size:12.5px;display:block}.advanced{border-left:2px solid var(--accent-bg);margin-bottom:10px;padding-left:8px}.group{background:var(--c-soft2,#f8fafc);border:1px solid var(--line);border-radius:9px;margin-bottom:8px}.group-head{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;padding:9px 11px;font-weight:600}.group-head .tri{color:var(--muted);margin-right:4px;font-size:10px;transition:transform .12s;display:inline-block}.group.open .tri{transform:rotate(90deg)}.group-body{padding:4px 11px 6px}.fontpick{position:relative}.fontpick-btn{border:1px solid var(--line2);cursor:pointer;text-align:left;background:#fff;border-radius:7px;justify-content:space-between;align-items:center;width:100%;min-height:34px;padding:5px 9px;font-size:16px;display:flex}.caret{color:var(--muted);font-family:Inter,sans-serif;font-size:11px}.fontpick-pop{z-index:40;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:240px;padding:8px;position:absolute;top:38px;left:0;right:0;box-shadow:0 12px 30px #00000026}.fontpick-pop .search{max-width:none;margin-bottom:6px}.fontpick-list{max-height:300px;overflow:auto}.fontpick-group{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 6px 3px;font-size:10.5px;font-weight:700}.fontpick-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:5px 8px;font-size:19px;display:block}.fontpick-item:hover{background:var(--c-soft,#f1f5f9)}.fontpick-item.on{background:var(--accent-bg)}.info-cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:34px;display:grid}.info-cols section{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 18px}.info-cols li{margin-bottom:6px;line-height:1.45}.presets{margin:0;padding:0;list-style:none}.presets li{align-items:center;gap:4px;padding:4px 0;display:flex}.batch{grid-template-columns:340px 1fr;gap:18px;display:grid}.batch-side{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.batch-main{border:1px solid var(--line);background:#fff;border-radius:14px;height:min(74vh,680px);min-height:440px;position:relative;overflow:hidden}.batch-actions{flex-direction:column;gap:8px;margin:12px 0;display:flex}.warn{color:var(--danger)}.sheet-tabs{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:70px;left:34px}.batch-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;height:100%;padding:16px;display:grid;overflow:auto}.batch-item{border:1px solid var(--line);text-align:center;border-radius:10px;padding:8px;font-size:12px}.batch-item .thumb{height:90px}.list{flex-direction:column;gap:6px;display:flex}.list-row{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.list-name{flex:1;font-weight:600}.app.full main{height:100vh}.editor{flex-direction:column;height:100vh;display:flex}.docname{border-color:#0000;width:200px;font-weight:600}.docname:hover{border-color:var(--line2)}.saved{color:#059669;min-width:92px;font-size:11.5px}.saved.dirty{color:var(--muted)}.tools{background:var(--c-soft,#f1f5f9);border-radius:9px;gap:2px;margin:0 8px;padding:3px;display:flex}.tool{cursor:pointer;background:0 0;border:0;border-radius:7px;width:32px;height:30px;font-size:15px}.tool:hover{background:#fff}.tool.on{color:var(--accent-d);background:#fff;box-shadow:0 1px 3px #00000026}.spacer{flex:1}.snap{color:var(--muted);align-items:center;gap:4px;margin:0 6px;font-size:12px;display:flex}.ed-left,.ed-right{background:#fff;min-height:0;overflow:auto}.ed-left{border-right:1px solid var(--line);flex-direction:column;display:flex}.ed-right{border-left:1px solid var(--line)}.ed-center{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.editor-canvas{flex:1}.status{color:var(--muted);pointer-events:none;background:#ffffffd9;border-radius:5px;padding:2px 6px;font-size:11.5px;position:absolute;bottom:6px;left:28px}.editing-banner{color:#92400e;background:#fef3c7;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;font-size:12.5px;display:flex}.layers{flex:1;padding:4px 0;overflow:auto}.layer{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:5px;padding:4px 6px;font-size:13px;display:flex}.layer:hover{background:var(--c-soft2,#f8fafc)}.layer.on{background:var(--accent-bg);border-left-color:var(--accent)}.layer.hidden .lname{opacity:.4}.layer .tw{cursor:pointer;width:14px;color:var(--muted);background:0 0;border:0;padding:0;font-size:11px}.layer .dot{border-radius:50%;flex:none;width:8px;height:8px}.layer .lname{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layer input{font:inherit;flex:1;padding:1px 4px}.layer .ico{cursor:pointer;color:var(--muted);background:0 0;border:0;width:20px;font-size:11px}.badge{color:#6d28d9;background:#ede9fe;border-radius:4px;margin-left:5px;padding:0 4px;font-size:10px}.pp{padding:4px 8px 12px}.prow{grid-template-columns:1fr 1.3fr auto auto;align-items:center;gap:4px;margin-bottom:6px;display:grid}.prow.comp{grid-template-columns:1fr auto auto auto auto}.pname{padding:4px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.pname.bad{border-color:var(--danger)}.prow .len select.unit{width:50px}.insp{padding:12px 14px 30px}.insp h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 0 8px;font-size:11.5px}.insp-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.insp-head .name{font-weight:600}.insp-head .kind{color:var(--muted);white-space:nowrap;font-size:11px}.irow{grid-template-columns:82px 1fr;align-items:center;gap:8px;margin-bottom:7px;display:grid}.irow>label{color:#374151;font-size:12.5px}.grid2 .irow{grid-template-columns:62px 1fr}.expr{flex-wrap:wrap;align-items:center;gap:4px;display:flex;position:relative}.expr input{flex:1;min-width:0;padding:5px 7px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.expr.is-expr input{color:#6d28d9;background:#faf5ff;border-color:#c4b5fd}.computed{color:#6d28d9;width:100%;font-size:11px}.computed.bad{color:var(--danger)}.seg{border:1px solid var(--line2);border-radius:8px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.seg button{font:inherit;cursor:pointer;border:0;border-right:1px solid var(--line);background:#fff;padding:5px 2px;font-size:11.5px}.seg button:last-child{border-right:0}.seg button.on{color:#fff}.seg .op-cut.on{background:#111827}.seg .op-engrave.on{background:#a855f7}.seg .op-score.on{background:#2563eb}.seg .op-guide.on{background:#16a34a}.btns{gap:4px;display:flex}.mods .mod{border:1px solid var(--line);background:#fcfcfd;border-radius:9px;margin-bottom:8px;padding:8px}.mods .mod.off{opacity:.55}.insp input[type=checkbox]{width:auto;box-shadow:none;padding:0}.mod-head{align-items:center;gap:6px;margin-bottom:6px;display:flex}.mod-title{flex:1;font-size:12.5px;font-weight:600}.add-mod{margin-top:4px}.code{border:1px solid var(--line2);background:var(--c-ink,#0f172a);width:100%;color:var(--c-line4,#e2e8f0);border-radius:7px;padding:8px}.btn-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.btn-grid.six{grid-template-columns:repeat(6,1fr)}.tips{color:#374151;padding-left:16px;line-height:1.55}.tpl-props .params .field{grid-template-columns:1fr;gap:3px}@media (width<=980px){.workspace,.batch{grid-template-columns:1fr}.side{max-height:none;position:static}.hero h1{font-size:34px}}@media (width<=640px){.page{padding:18px 16px 60px}.nav{gap:12px;padding:0 16px}.nav nav a{padding:6px 8px}.brand .logo-text{display:none}.tpl-head{flex-direction:column;gap:10px}.tpl-head h1{font-size:26px}.mat-label{display:none}.mat-pick{flex-wrap:wrap}.mat{width:20px;height:20px}.preview-card{height:460px}.hero2-art{height:330px}.info-cols{grid-template-columns:1fr}}.canvas.real{background:radial-gradient(at 50% 40%,#fff 0%,#f1f3f6 70%,#e8ebf0 100%)}.mat-pick{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:10px;align-items:center;gap:5px;padding:4px 8px;display:flex}.mat{width:22px;height:22px;box-shadow:0 0 0 1px var(--c-line3,#cbd5e1);cursor:pointer;border:2px solid #fff;border-radius:50%;padding:0}.mat.on{box-shadow:0 0 0 2px var(--accent)}.mat-label{color:#374151;min-width:96px;margin-left:4px;font-size:12px}.thumb-wrap{background:radial-gradient(at 50% 35%,#fff 0%,#f1f3f6 75%)}.logo{align-items:center;gap:9px;display:inline-flex}.logo-text{letter-spacing:-.02em;color:var(--text);font-size:18px;font-weight:800}.logo-text span{color:var(--c-muted2,#64748b);margin-left:3px;font-weight:500}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d);background:var(--accent-bg);border-radius:99px;margin-bottom:14px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.eyebrow.as-written{text-transform:none;letter-spacing:.02em}.grad{background:linear-gradient(90deg, var(--c-sky,#0ea5e9), #7c3aed);color:#0000;-webkit-background-clip:text;background-clip:text}.anchor{position:relative;top:-70px}.hero2{grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;padding:34px 0 56px;display:grid}.hero2 h1{letter-spacing:-.035em;margin-bottom:18px;font-size:52px;font-weight:800;line-height:1.04}.hero2 p{color:#374151;max-width:560px;margin:0 0 26px;font-size:17.5px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-stats{color:var(--c-text3,#475569);flex-wrap:wrap;gap:26px;margin-top:30px;font-size:13.5px;display:flex}.hero-stats b{color:var(--text);letter-spacing:-.02em;font-size:20px;display:block}.hero2-art{height:470px;position:relative}.art{background:radial-gradient(at 50% 30%,#fff,#eef1f5 80%);border:1px solid #fffc;border-radius:22px;padding:18px;transition:transform .3s;position:absolute;box-shadow:0 2px 6px #0f172a0f,0 18px 40px #0f172a1f}.art:hover{z-index:5;transform:translateY(-4px)rotate(0)!important}.art .thumb{width:100%;height:100%}.art1{width:54%;height:46%;top:24px;left:0;transform:rotate(-4deg)}.art2{width:44%;height:60%;top:0;right:0;transform:rotate(3deg)}.art3{width:46%;height:40%;bottom:0;left:6%;transform:rotate(2deg)}.art4{z-index:2;width:34%;height:38%;bottom:6px;right:4%;transform:rotate(-3deg)}.art5{z-index:3;width:28%;height:34%;top:37%;left:40%;transform:rotate(-2deg)}.steps{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:48px;display:grid}.step{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.step-n{color:#fff;background:linear-gradient(135deg, var(--c-sky,#0ea5e9), #7c3aed);border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:12px;font-weight:800;display:grid}.step h3{font-size:17px}.step p{color:#4b5563;margin:0;line-height:1.5}.showcase{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:64px;display:grid}.show-item{color:var(--text);text-align:center;flex-direction:column;gap:10px;font-weight:600;display:flex}.show-item:hover{text-decoration:none}.show-art{border:1px solid var(--line);background:radial-gradient(at 50% 30%,#fff,#eceff4 85%);border-radius:18px;height:190px;padding:16px;transition:transform .2s,box-shadow .2s}.show-item:hover .show-art{box-shadow:var(--shadow);transform:translateY(-3px)}.features{margin-bottom:64px}.features h2,.faq-home h2,.batch-promo h2{letter-spacing:-.025em;font-size:30px;font-weight:800}.feat-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.feat{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.feat-i{margin-bottom:10px;font-size:26px}.feat h3{font-size:16.5px}.feat p{color:#4b5563;margin:0;line-height:1.5}.batch-promo{background:linear-gradient(135deg, var(--c-ink,#0f172a), var(--c-ink2,#1e293b));color:var(--c-line4,#e2e8f0);border-radius:24px;grid-template-columns:1fr 1.2fr;align-items:center;gap:36px;margin-bottom:64px;padding:40px;display:grid}.batch-promo h2{color:#fff}.batch-promo p{color:var(--c-line3,#cbd5e1);margin:0 0 20px;line-height:1.6}.batch-promo .eyebrow{color:var(--c-sky5,#7dd3fc);background:#0ea5e92e}.sheet-demo{background:var(--c-soft2,#f8fafc);border-radius:16px;height:250px;padding:14px}.faq-home{max-width:820px;margin:64px auto 0}.more-link{margin-top:12px;font-weight:600;display:inline-block}.faq{flex-direction:column;gap:8px;margin-top:16px;display:flex}.faq-item{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.faq-item button{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--text);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-size:15px;font-weight:600;display:flex}.faq-item.open{box-shadow:var(--shadow);border-color:#bae6fd}.faq-item p{color:#374151;margin:0;padding:0 18px 18px;line-height:1.6}.faq-plus{color:var(--accent-d);font-size:20px;font-weight:500}.page.narrow{max-width:860px}.page-title{letter-spacing:-.03em;font-size:38px;font-weight:800}.foot{border-top:1px solid var(--line);background:#fff;margin-top:40px}.foot-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;max-width:1240px;margin:0 auto;padding:30px 24px;display:flex}.foot-in p{color:var(--muted);flex:1;min-width:220px;margin:0}.foot-in nav{gap:18px;display:flex}.foot-in nav a{color:#374151}@media (width<=980px){.hero2{grid-template-columns:1fr}.hero2 h1{font-size:38px}.hero2-art{height:380px}.steps,.feat-grid{grid-template-columns:1fr}.showcase{grid-template-columns:repeat(2,1fr)}.batch-promo{grid-template-columns:1fr;padding:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.kf-dash{animation:1.4s linear infinite kfDash}.kf-spark{transform-origin:44.5px 49px;animation:1.4s ease-in-out infinite kfSpark}.logo:hover .kf-dash{animation-duration:.5s}@keyframes kfDash{to{stroke-dashoffset:-14.6px}}@keyframes kfSpark{0%,to{opacity:.75;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.hero3{color:var(--c-soft2,#f8fafc);background:#0b1020;min-height:640px;position:relative;overflow:hidden}.hero3-bg{background-position:50% 60%;background-size:cover;animation:26s ease-in-out infinite alternate kenburns;position:absolute;inset:-4%}@keyframes kenburns{0%{transform:scale(1.02)translate(0)}to{transform:scale(1.14)translate(-2%,-1.5%)}}.hero3-shade{background:linear-gradient(90deg,#080c1af0 0%,#080c1ad1 38%,#080c1a59 70%,#080c1a8c 100%),linear-gradient(#0000 65%,#080c1ad9);position:absolute;inset:0}.hero3-in{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;max-width:1240px;margin:0 auto;padding:80px 24px 90px;display:grid;position:relative}.hero3 h1{letter-spacing:-.035em;color:#fff;margin:0 0 20px;font-size:56px;font-weight:800;line-height:1.04}.hero3 p{color:var(--c-line3,#cbd5e1);max-width:560px;margin:0 0 30px;font-size:18px;line-height:1.6}.hero3-text{animation:.9s cubic-bezier(.2,.7,.2,1) both heroIn}.hero3-demo{animation:.9s cubic-bezier(.2,.7,.2,1) .2s both heroIn}@keyframes heroIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.eyebrow.dark{color:var(--c-sky5,#7dd3fc);background:#0ea5e929;border:1px solid #7dd3fc40}.rotator{vertical-align:bottom;display:inline-grid;position:relative}.rotator>span{background:linear-gradient(90deg, var(--c-sky2,#38bdf8), #a78bfa, #f472b6);color:#0000;opacity:0;white-space:nowrap;-webkit-background-clip:text;background-clip:text;grid-area:1/1;transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1);transform:translateY(.45em)}.rotator>span.on{opacity:1;transform:none}.rotator>span.out{opacity:0;transform:translateY(-.45em)}.btn.glow{animation:2.6s infinite pulseGlow;box-shadow:0 0 #0ea5e999}@keyframes pulseGlow{0%{box-shadow:0 0 #0ea5e98c}70%{box-shadow:0 0 0 16px #0ea5e900}to{box-shadow:0 0 #0ea5e900}}.btn.ghost-light{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff14;border-color:#ffffff47}.btn.ghost-light:hover:not(:disabled){background:#ffffff29;border-color:#ffffff80}.hero-stats.light{color:var(--c-muted3,#94a3b8);margin-top:36px}.hero-stats.light b{color:#fff}.sparks{pointer-events:none;height:1px;position:absolute;top:52%;left:0;right:0}.sparks i{opacity:0;background:#ffd27a;border-radius:50%;width:3px;height:3px;animation:2s ease-out infinite spark;position:absolute;box-shadow:0 0 6px 2px #ffaa3ccc}@keyframes spark{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx,18px), -60px) scale(.3)}}.sparks i:nth-child(odd){--dx:-22px}.sparks i:nth-child(3n){--dx:34px}.laser-demo{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab8;border:1px solid #94a3b840;border-radius:22px;padding:14px;box-shadow:0 30px 80px #00000073}.ld-head{color:var(--c-line4,#e2e8f0);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;padding:2px 6px 10px;font-size:12.5px;font-weight:600;display:flex}.ld-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.2s infinite blink;box-shadow:0 0 8px #ef4444}@keyframes blink{50%{opacity:.3}}.ld-phase{text-transform:none;letter-spacing:0;color:#fbbf24;margin-left:auto;font-weight:500}.ld-phase span{display:none}.ld-phase[data-phase=engrave] .p-engrave,.ld-phase[data-phase=cut] .p-cut,.ld-phase[data-phase=done] .p-done{display:inline}.ld-phase[data-phase=done]{color:#4ade80}.ld-svg{aspect-ratio:16/10;background:#d4a565;border-radius:14px;width:100%;height:auto;display:block}.ld-stage{position:relative}.ld-bg{will-change:transform}.ld-fg{will-change:transform;background:0 0;height:100%;position:absolute;inset:0}.ld-flare{animation:.12s infinite alternate flare}@keyframes flare{0%{opacity:.75}to{opacity:1}}.ld-spark{animation:.5s linear infinite ldSpark}.ld-spark.s1{animation-delay:.1s}.ld-spark.s2{animation-delay:.2s}.ld-spark.s3{animation-delay:.3s}.ld-spark.s4{animation-delay:.4s}@keyframes ldSpark{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--sx,3px), -4px);opacity:0}}.ld-spark.s1{--sx:-3px}.ld-spark.s2{--sx:4px}.ld-spark.s3{--sx:-2px}.ld-spark.s4{--sx:1px}.ld-piece{transition:none}.ld-foot{color:var(--c-muted3,#94a3b8);justify-content:space-between;padding:10px 6px 2px;font-size:12px;display:flex}.ld-foot b{color:#fff}.marquee{border-bottom:1px solid var(--line);background:#fff;padding:18px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee-track{gap:18px;width:max-content;animation:48s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.mq-item{border:1px solid var(--line);background:radial-gradient(at 50% 30%,#fff,#eef1f5 85%);border-radius:16px;width:190px;height:130px;padding:12px;transition:transform .2s;display:block}.mq-item:hover{transform:translateY(-3px)rotate(-1deg)}.mq-art{width:100%;height:100%}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}.home-page{padding-top:56px}.from-to{grid-template-columns:.8fr 1.2fr;align-items:center;gap:40px;margin-bottom:72px;display:grid}.from-to h2,.workshop-band h2{letter-spacing:-.025em;font-size:32px;font-weight:800}.ft-copy p{color:#4b5563;margin:0 0 20px;font-size:16px;line-height:1.6}.ft-visual{grid-template-columns:1fr 60px 1.25fr;align-items:center;gap:6px;display:grid}.ft-design,.ft-photo{box-shadow:var(--shadow);border-radius:20px;position:relative;overflow:hidden}.ft-design{aspect-ratio:1;border:1px solid var(--line);background:radial-gradient(at 50% 30%,#fff,#eceff4 85%);padding:18px}.ft-render{width:100%;height:100%}.ft-photo img{aspect-ratio:4/3.4;object-fit:cover;width:100%;transition:transform 6s;display:block}.from-to.in .ft-photo img{transform:scale(1.06)}.ft-tag{z-index:2;text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink,#0f172a);background:#ffffffe6;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:700;position:absolute;top:12px;left:12px}.ft-arrow{color:var(--accent);place-items:center;display:grid}.from-to.in .ft-arrow svg{animation:1.4s ease-in-out infinite nudge}@keyframes nudge{50%{transform:translate(6px)}}.feat-i{color:#fff;background:linear-gradient(135deg, var(--c-sky,#0ea5e9), #7c3aed);border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.feat{transition:transform .25s,box-shadow .25s,opacity .7s cubic-bezier(.2,.7,.2,1)}.feat.in:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.workshop-band{border-radius:24px;align-items:flex-end;min-height:300px;margin-bottom:40px;display:flex;position:relative;overflow:hidden}.workshop-band img{object-fit:cover;object-position:50% 70%;width:100%;height:100%;transition:transform 8s;position:absolute;inset:0;transform:scale(1.08)}.workshop-band.in img{transform:scale(1)}.workshop-band:after{content:"";background:linear-gradient(#080c1a26 30%,#080c1ae6);position:absolute;inset:0}.wb-copy{z-index:1;color:#fff;max-width:640px;padding:36px 40px;position:relative}.wb-copy h2{color:#fff}.wb-copy p{color:var(--c-line3,#cbd5e1);margin:0;font-size:16px;line-height:1.6}.card{animation:.6s cubic-bezier(.2,.7,.2,1) both cardIn}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (width<=980px){.hero3-in{grid-template-columns:1fr;padding:48px 20px 60px}.hero3 h1{font-size:38px}.from-to,.ft-visual{grid-template-columns:1fr}.ft-arrow{height:40px;transform:rotate(90deg)}}.tpl-head{align-items:center}.tpl-head-text{flex:1}.tpl-photo{width:300px;box-shadow:var(--shadow);border-radius:16px;flex:none;margin:0;animation:.8s .1s both heroIn;position:relative;overflow:hidden}.tpl-photo img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform 5s;display:block}.tpl-photo:hover img{transform:scale(1.07)}.tpl-photo figcaption{letter-spacing:.06em;text-transform:uppercase;background:#ffffffe6;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;bottom:10px;left:10px}.works{margin-bottom:72px}.works h2{letter-spacing:-.025em;font-size:32px;font-weight:800}.works-grid{grid-template-rows:220px 220px;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:18px;display:grid}.work{box-shadow:var(--shadow);border-radius:20px;position:relative;overflow:hidden}.work.w-big{grid-row:span 2}.work img{object-fit:cover;width:100%;height:100%;transition:transform 1.6s cubic-bezier(.2,.7,.2,1);display:block;transform:scale(1.12)}.work.in img{transform:scale(1)}.work:hover img{transition-duration:.6s;transform:scale(1.05)}.work span{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;border-radius:10px;padding:6px 11px;font-size:13.5px;font-weight:600;position:absolute;bottom:14px;left:14px}@media (width<=980px){.works-grid{grid-template-rows:240px 200px 200px;grid-template-columns:1fr}.work.w-big{grid-row:auto}.tpl-photo{width:100%}}.pv-col{flex-direction:column;gap:10px;min-width:0;display:flex}.check{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 12px;display:flex}.check-head{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.check-ic{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:grid}.check-ok{background:#f0fdf4;border-color:#bbf7d0}.check-ok .check-ic{background:#16a34a}.check-warn{background:#fffbeb;border-color:#fde68a}.check-warn .check-ic{background:#f59e0b}.check-err{background:#fef2f2;border-color:#fecaca}.check-err .check-ic{background:#ef4444;animation:1.2s infinite blink}.check-title{font-size:13.5px;font-weight:600}.check-title em{color:#15803d;font-style:normal;font-weight:500}.check-more{color:var(--muted);margin-left:auto;font-size:12px}.check ul{flex-basis:100%;margin:4px 0 2px;padding-left:34px;font-size:13px;line-height:1.5}.check li.error{color:#b91c1c}.check li.warn{color:#92400e}.check-fix{color:#374151;white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:flex}.issue-mark{animation:1.2s ease-in-out infinite markPulse}@keyframes markPulse{50%{opacity:.45}}.ok-txt{color:#15803d;font-weight:600}.chk-menu .error{color:#b91c1c}.chk-menu .warn{color:#92400e}.fontpick-btn{flex-wrap:nowrap}.fp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fontpick-pop{min-width:300px}.fp-cats{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.fp-cats button{border:1px solid var(--line2);font:inherit;cursor:pointer;background:#fff;border-radius:99px;padding:3px 9px;font-size:11.5px}.fp-cats button.on{background:var(--text);color:#fff;border-color:var(--text)}.fontpick-list{overflow-y:auto}.fontpick-item{white-space:nowrap;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;line-height:1.15;overflow:hidden;display:flex!important}.fp-face{text-overflow:ellipsis;max-width:100%;font-size:22px;overflow:hidden}.fp-sub{color:#6b5a48;font-family:Jost,sans-serif;font-size:11px;font-weight:500}.fp-pins{border-bottom:1px solid #eadfce;max-height:190px;margin-bottom:6px;overflow:auto}.fp-pins h3{letter-spacing:.04em;text-transform:uppercase;color:#8a6a4b;margin:4px 2px;font-size:11px}.fp-badge{color:#059669;font-family:Inter,sans-serif;font-size:9.5px;font-style:normal;font-weight:700}.fp-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:6px;margin-top:6px;padding-top:6px;display:flex}.fp-variants{align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.fp-variants select{font:inherit;border:1px solid var(--line2);border-radius:6px;padding:2px 4px;font-size:12px}.fontpick-pop{width:320px;left:auto;right:0}.side{max-height:none;overflow:visible}.hnd circle[data-handle]{fill:#fff;stroke:var(--c-sky,#0ea5e9)}.hnd-hole circle[data-handle]{stroke:#f59e0b}.hnd-stake circle[data-handle]{stroke:#16a34a}.hnd-text circle[data-handle]{stroke:#7c3aed}.hnd-halo{fill:#0ea5e900;pointer-events:none;transition:fill .15s}.hnd.on .hnd-halo{fill:#0ea5e92e}.hnd.on circle[data-handle]{fill:var(--c-tint2,#e0f2fe)}.hnd-label{fill:var(--c-ink,#0f172a);paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font-family:Inter,sans-serif;font-weight:600}.canvas.handles-off .hnd{display:none}.thick{border:1px solid var(--line);background:#ffffffeb;border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:flex}.thick select{font:inherit;border:1px solid var(--line2);border-radius:5px;font-size:12px}.hp-item{border-bottom:1px dashed var(--line);padding:6px 0}.hp-item:last-of-type{border-bottom:0}.hp-label{align-items:center;gap:6px;margin-bottom:2px;font-size:12.5px;font-weight:600;display:flex}.hp-dot{border:2px solid var(--c-sky,#0ea5e9);background:#fff;border-radius:50%;width:10px;height:10px}.hp-hole{border-color:#f59e0b}.hp-text{border-color:#7c3aed}.hp-stake{border-color:#16a34a}.hp-row{color:var(--muted);grid-template-columns:14px 1fr 64px;align-items:center;gap:6px;font-size:11.5px;display:grid}.hp-row input[type=range],.len-slider{width:100%;accent-color:var(--accent)}.hp-row .num{text-align:right;padding:3px 5px;font-size:12px}.imgin{border:1.5px dashed var(--line2);background:#fafafa;border-radius:10px;align-items:flex-start;gap:10px;padding:8px;transition:border-color .15s,background .15s;display:flex}.imgin.over{border-color:var(--accent);background:var(--accent-bg)}.imgin-thumb,.imgin-ph{object-fit:cover;background:#e5e7eb;border-radius:8px;flex:none;place-items:center;width:64px;height:64px;font-size:24px;display:grid}.imgin-body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.imgin-body .btn{margin-right:4px}.imgin-safe{color:#15803d;font-size:11px}.songlink{flex-direction:column;gap:4px;min-width:0;display:flex}.songlink-row{align-items:center;gap:6px;min-width:0;display:flex}.songlink-row .txt{flex:1;min-width:0}.songlink-row .btn{white-space:nowrap;flex:none}.songlink-ok{color:#15803d;font-size:12px}.nav-back{color:#374151;border:1px solid var(--line);white-space:nowrap;border-radius:8px;margin-left:auto;padding:7px 12px;font-size:13.5px;font-weight:600}.nav-back:hover{background:var(--c-soft2,#f8fafc);text-decoration:none}.studio-badge{letter-spacing:.08em;color:#7c2d12;background:#ffedd5;border:1px solid #fdba74;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:800}.grv-spark{transform-origin:47.5px 34px}.shop-foot .foot-in{grid-template-columns:1.6fr 1fr 1fr 1fr;align-items:start;gap:32px;display:grid}.foot-brand p{max-width:420px;margin-top:12px;line-height:1.55}.foot-col{flex-direction:column;gap:8px;display:flex}.foot-col h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 4px;font-size:12px}.foot-col a,.foot-col button.foot-act{color:#374151}.foot-col button.foot-act{text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;width:fit-content;margin:0;padding:0}.foot-col button.foot-act:hover{text-decoration:underline}.nav nav button.nav-act{color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-weight:500}.nav nav button.nav-act:hover{background:var(--c-soft,#f1f5f9)}.foot-legal{border-top:1px solid var(--line);max-width:1240px;color:var(--muted);margin:0 auto;padding:14px 24px 26px;font-size:12.5px}.foot-legal a{color:var(--muted);text-decoration:underline}html.embed body{background:0 0}html.embed .page{padding-top:16px}html.embed .hero3{min-height:0}.gallery-sub{max-width:620px;margin:0}.card-cta{color:var(--accent-d);margin:8px 0 0;font-size:13px;font-weight:700;display:inline-block}.card:hover .card-cta{text-decoration:underline}.thumb-wrap.photo{background:#efeae4;padding:0;overflow:hidden}.thumb-wrap.photo img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.card:hover .thumb-wrap.photo img{transform:scale(1.04)}.dl .btn.order-cta{border-radius:10px;height:44px;padding:0 20px;font-size:15px;font-weight:700}.dl.dl-order{left:16px;right:auto}.dl.dl-order .btn{box-shadow:none;height:34px;font-size:13px}.tpl-head-actions{flex-wrap:wrap;gap:8px;display:flex}.paths{grid-template-columns:repeat(3,1fr);gap:18px;margin:8px 0 30px;display:grid}.path-in{text-align:left;border:1px solid var(--line);width:100%;height:100%;color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;align-items:flex-start;padding:0 0 20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.path-in:hover{border-color:var(--c-line3,#cbd5e1);text-decoration:none;transform:translateY(-3px);box-shadow:0 2px 6px #0f172a0d,0 18px 40px #0f172a1a}.path-art{border-bottom:1px solid var(--line);background:radial-gradient(at 50% 35%,#fff 0%,#eef0f4 80%);width:100%;height:170px;padding:18px 30px}.path-file{justify-content:center;align-items:center;gap:12px;display:flex}.path-file span{border:1px solid var(--c-line3,#cbd5e1);width:62px;height:78px;color:var(--c-text3,#475569);background:#fff;border-radius:8px;place-items:end center;padding-bottom:10px;font-size:13px;font-weight:800;display:grid;box-shadow:0 6px 16px #0f172a14}.path-file span:first-child{color:var(--c-sky4,#0369a1);transform:rotate(-7deg)}.path-file span:nth-child(2){color:#b91c1c;transform:translateY(-8px)}.path-file span:nth-child(3){color:#15803d;transform:rotate(7deg)}.path-ic{color:#fff;background:linear-gradient(135deg, var(--c-sky,#0ea5e9), #7c3aed);border-radius:12px;place-items:center;width:40px;height:40px;margin:-20px 0 10px 20px;display:grid;box-shadow:0 6px 16px #0ea5e959}.path-in h3{margin:0 20px 6px;font-size:18px}.path-in p{color:#4b5563;flex:1;margin:0 20px 14px;line-height:1.5}.path-cta{color:var(--accent-d);margin:0 20px;font-weight:700}.path{height:100%}.how{margin-top:44px}.how h2,.materials h2,.back-band h2{letter-spacing:-.025em;font-size:30px;font-weight:800}.how .steps{margin-top:18px}.materials{margin-bottom:64px}.materials p{max-width:640px}.swatches{grid-template-columns:repeat(6,1fr);gap:14px;margin-top:18px;display:grid}.swatch{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.sw-chip{border-radius:10px;height:64px;margin-bottom:8px;box-shadow:inset 0 -10px 18px #00000014,0 1px 2px #0000001a}.back-band{background:linear-gradient(135deg, var(--c-ink,#0f172a), var(--c-ink2,#1e293b));color:var(--c-line4,#e2e8f0);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:10px 0 20px;padding:36px 40px;display:flex}.back-band h2{color:#fff;margin-bottom:6px}.back-band p{color:var(--c-line3,#cbd5e1);margin:0}.od-back{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;justify-content:center;align-items:flex-start;padding:32px 16px;animation:.15s ease-out odFade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes odFade{0%{opacity:0}}.od{width:min(1040px,100%);color:var(--text);background:#fff;border-radius:20px;font-size:14px;animation:.2s ease-out odUp;position:relative;box-shadow:0 30px 80px #0f172a59}@keyframes odUp{0%{opacity:0;transform:translateY(12px)}}.od-x{z-index:2;background:var(--c-soft,#f1f5f9);cursor:pointer;width:36px;height:36px;color:var(--c-text2,#334155);border:0;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.od-x:hover:not(:disabled){background:var(--c-line4,#e2e8f0)}.od-grid{grid-template-columns:.9fr 1.1fr;display:grid}.od-left{background:var(--c-soft2,#f8fafc);border-right:1px solid var(--line);border-radius:20px 0 0 20px;padding:26px}.od-right{flex-direction:column;gap:12px;padding:26px 26px 22px;display:flex}.od-title{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0 40px 14px 0;font-size:21px;font-weight:800}.od-warn{color:#7a4b12;background:#fff6e8;border-radius:8px;margin:0 0 12px;padding:8px 10px;font-size:13.5px;line-height:1.4}.od-pv{border:1px solid var(--line);background:radial-gradient(at 50% 35%,#fff 0%,#eceff3 80%);border-radius:14px;justify-content:center;align-items:center;height:240px;padding:16px;display:flex;position:relative;overflow:hidden}.od-pv .thumb{width:100%;height:100%}.od-pv img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%}.od-pv.file{color:var(--c-text3,#475569);overflow-wrap:anywhere;text-align:center;flex-direction:column;gap:10px;font-weight:600}.od-pvw{position:relative}.od-pv.off{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0;right:0}.od-tabs{background:#eceff3;border-radius:99px;gap:4px;margin-bottom:8px;padding:3px;display:inline-flex}.od-tabs button{font:inherit;color:var(--c-text3,#475569);cursor:pointer;background:0 0;border:0;border-radius:99px;padding:4px 14px;font-size:13px;font-weight:600}.od-tabs button.on{color:var(--c-ink,#0f172a);background:#fff;box-shadow:0 1px 3px #00000026}.od-layers{margin:0;padding-left:18px}.od-pv-tag{color:var(--c-text3,#475569);background:#ffffffe6;border-radius:99px;padding:2px 8px;font-size:11.5px;position:absolute;bottom:8px;left:10px}.od-file-ico{border:1px solid var(--c-line3,#cbd5e1);color:#b91c1c;background:#fff;border-radius:8px;place-items:end center;width:56px;height:70px;padding-bottom:9px;font-size:12px;font-weight:800;display:grid;box-shadow:0 6px 16px #0f172a14}.od-sum{grid-template-columns:auto 1fr;gap:6px 14px;margin:16px 0 0;font-size:13px;display:grid}.od-sum dt{color:var(--muted)}.od-sum dd{overflow-wrap:anywhere;margin:0;font-weight:600}.od-note{color:var(--c-text3,#475569);background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin:18px 0 0;padding:9px 12px;font-size:12.5px;line-height:1.45}.od-right>.od-alert:first-child{margin-right:36px}.od-alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;line-height:1.45}.od-alert.warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.od-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.f{flex-direction:column;gap:4px;min-width:0;display:flex}.f-label{color:#1f2937;flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.f-label>.txt,.f-label>.sel{font-weight:400}.f .txt,.f .sel{height:40px;font-size:14.5px}.f textarea.txt{height:auto;min-height:92px}.f-hint{color:var(--muted);font-size:12px;font-weight:400}.req{color:#dc2626}.f-err{color:#b91c1c;font-size:12.5px}.f-err.center{text-align:right}.f.bad .txt,.f.bad .sel{background:snow;border-color:#f87171}.od-drop{border:1.5px dashed var(--c-line3,#cbd5e1);height:42px;color:var(--c-text2,#334155);cursor:pointer;background:var(--c-soft2,#f8fafc);border-radius:10px;justify-content:center;align-items:center;font-weight:600;display:flex}.od-drop:hover{border-color:var(--accent);color:var(--accent-d)}.od-drop:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.od-drop input{opacity:0;width:1px;height:1px;position:absolute}.od-files{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.od-files li{background:var(--c-soft2,#f8fafc);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:5px 8px;font-size:13px;display:flex}.od-files li span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.od-hp{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.consent label{color:#374151;cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.5;display:flex}.consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:1px 0 0}.consent.bad label{color:#991b1b}.od-how{color:var(--c-text3,#475569);background:var(--c-tint,#f0f9ff);border:1px solid #bae6fd;border-radius:10px;margin:0;padding:8px 12px}.od-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.od-actions .btn.primary{min-width:200px}.spin{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite odSpin;display:inline-block}@keyframes odSpin{to{transform:rotate(360deg)}}.od-done{max-width:700px;margin:0 auto;padding:40px 44px 34px}.od-done h2{letter-spacing:-.02em;margin-right:30px;font-size:26px;font-weight:800}.od-done h3{margin-top:22px;font-size:16px}.od-ok{color:#fff;background:#10b981;border-radius:50%;place-items:center;width:54px;height:54px;margin-bottom:16px;font-size:30px;display:grid;box-shadow:0 10px 24px #10b98159}.od-ref{margin:6px 0 0;font-size:15px}.od-ref b{background:var(--c-soft,#f1f5f9);letter-spacing:.03em;border-radius:6px;padding:2px 8px;font-family:ui-monospace,Consolas,monospace;font-size:17px}.od-next,.od-steps{color:#374151;padding-left:20px;line-height:1.6}.od-next li,.od-steps li{margin-bottom:8px}.od-steps li>div{margin-top:6px}.od-done .od-actions{justify-content:flex-start;margin-top:18px}.own-head{max-width:760px;margin-bottom:18px}.own-head h1{letter-spacing:-.03em;font-size:32px;font-weight:800}.own-grid{grid-template-columns:1fr 360px;align-items:start;gap:20px;display:grid}.own-drop{text-align:center;border:2px dashed var(--c-line3,#cbd5e1);cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:360px;padding:24px;transition:border-color .15s,background .15s;display:flex;position:relative}.own-drop:hover,.own-drop.over{border-color:var(--accent);background:var(--c-tint,#f0f9ff)}.own-drop.busy{opacity:.7;pointer-events:none}.own-drop input{opacity:0;width:1px;height:1px;position:absolute}.own-drop:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.own-drop b{font-size:16px}.own-drop-ic{color:var(--accent-d);font-size:38px;line-height:1}.own-preview{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;overflow:hidden}.own-pv-box{background:radial-gradient(at 50% 35%,#fff 0%,#eceff3 80%);justify-content:center;align-items:center;height:420px;padding:56px 24px 24px;display:flex;position:relative}.own-pv-box .thumb{width:100%;height:100%}.own-pv-box img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 8px 24px #0f172a1f}.own-mat{position:absolute;top:12px;left:14px}.own-pdf{color:var(--c-text3,#475569);text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:340px;display:flex}.own-file{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.own-fname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.own-err{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-top:12px;padding:10px 12px}.own-paste{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;display:flex}.own-paste textarea{width:100%}.own-side{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;position:sticky;top:76px}.own-side h3{font-size:16px}.own-size{grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;display:grid}.own-size label{flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;display:flex}.own-size .len{align-items:center;gap:6px;display:flex}.own-size .txt{height:38px}.own-x{color:var(--muted);padding-bottom:9px}.own-side .help{color:var(--muted);margin:8px 0;font-size:12.5px;line-height:1.5}.own-actions{flex-direction:column;gap:8px;margin:14px 0 6px;display:flex}.own-actions .btn{width:100%}.own-tips{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.own-tips h4{font-size:13px}.own-tips ul{color:#4b5563;margin:0;padding-left:18px;font-size:12.5px;line-height:1.55}.works-note{margin-top:10px}.faq-contact{color:#374151;margin-top:22px}.photo-stage{background:radial-gradient(75% 70% at 50% 42%,#fbf9f6 0%,#f1ece6 55%,#e3dcd3 100%);width:800px;height:600px;position:relative;overflow:hidden}.ps-noise{opacity:.07;mix-blend-mode:multiply;position:absolute;inset:0}.ps-item{justify-content:center;align-items:center;display:flex;position:absolute;inset:66px 84px 74px}.ps-item .thumb{filter:drop-shadow(0 14px 18px #46301a29)drop-shadow(0 2px 3px #46301a1f);width:100%;height:100%;overflow:visible}@media (width<=980px){.paths{grid-template-columns:repeat(2,1fr)}.swatches{grid-template-columns:repeat(3,1fr)}.shop-foot .foot-in{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}.own-grid{grid-template-columns:1fr}.own-side{position:static}.od-grid{grid-template-columns:1fr}.od-left{border-right:0;border-bottom:1px solid var(--line);border-radius:20px 20px 0 0}}@media (width<=640px){.paths{grid-template-columns:1fr}.app.shop .nav{flex-wrap:wrap;row-gap:4px;height:auto;padding:8px 16px 6px}.app.shop .nav nav{scrollbar-width:none;order:3;width:100%;margin:0 -6px;overflow-x:auto}.app.shop .nav nav::-webkit-scrollbar{display:none}.app.shop .nav nav a,.app.shop .nav nav button.nav-act{white-space:nowrap;font-size:13.5px}.app.shop .brand .logo-text{display:inline}.nav-back{padding:5px 9px;font-size:12.5px}.od-back{padding:0}.od{border-radius:0;min-height:100%}.od-left{border-radius:0;padding:20px 16px}.od-right{padding:18px 16px 24px}.od-two{grid-template-columns:1fr}.od-pv{height:200px}.od-actions .btn{flex:1}.od-actions .btn.primary{min-width:0}.od-done{padding:34px 18px 28px}.od-done h2{font-size:22px}.swatches{grid-template-columns:repeat(2,1fr)}.back-band{padding:26px}.how h2,.materials h2,.back-band h2{font-size:24px}.shop-foot .foot-in{grid-template-columns:1fr}.own-pv-box{height:320px}.own-drop{min-height:260px}.dl .btn.order-cta{height:42px;font-size:14px}.app.shop .cats{scrollbar-width:none;flex-wrap:nowrap;margin:12px -16px 18px;padding:0 16px;overflow-x:auto}.app.shop .cats::-webkit-scrollbar{display:none}.app.shop .cats .chip{flex:none}.app.shop .grid-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app.shop .thumb-wrap{height:128px}.app.shop .card-title{font-size:13.5px}.tpl-head-actions{width:100%}}.mdl-back{z-index:1100;background:#0f172a80;justify-content:center;align-items:center;padding:16px;animation:.12s ease-out odFade;display:flex;position:fixed;inset:0}.mdl{background:#fff;border-radius:16px;width:min(440px,100%);padding:22px 22px 18px;animation:.16s ease-out odUp;box-shadow:0 24px 60px #0f172a4d}.mdl h2{margin:0 0 12px;font-size:18px;font-weight:800}.mdl-text{color:#374151;margin:0 0 6px;line-height:1.5}.mdl-field{color:#1f2937;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.mdl-field .txt{height:40px;font-size:14.5px;font-weight:400}.mdl-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.btn.primary.danger-fill{background:#dc2626;border-color:#dc2626}.btn.primary.danger-fill:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.toast-zone{z-index:1200;pointer-events:none;width:max-content;max-width:calc(100vw - 32px);position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--c-ink,#0f172a);color:#fff;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;animation:.18s ease-out odUp;box-shadow:0 10px 30px #0f172a4d}.notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:0 0 16px;padding:10px 14px}.tech-back{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;justify-content:center;align-items:center;padding:16px;animation:.12s ease-out odFade;display:flex;position:fixed;inset:0}.tech{background:#fff;border-radius:20px;width:min(980px,100%);min-width:0;max-height:min(640px,100dvh - 32px);padding:22px 22px 20px;animation:.16s ease-out odUp;position:relative;overflow:auto;box-shadow:0 30px 80px #0f172a59}.tech h2{letter-spacing:-.02em;margin:0 40px 6px 0;font-size:22px;font-weight:800}.tech-lead{color:#4b5563;margin:0 8px 16px 0;line-height:1.5}.tech-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.tech-opt{text-align:left;border:1px solid var(--line);min-height:100%;font:inherit;color:inherit;cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.tech-opt:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a14}.tech-opt.laser:hover{border-color:var(--c-sky5,#7dd3fc)}.tech-opt.cnc:hover{border-color:#fcd34d}.tech-opt.plot:hover{border-color:#86efac}.tech-ic{color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:4px;display:grid}.tech-opt.laser .tech-ic{background:linear-gradient(135deg, var(--c-sky,#0ea5e9), var(--c-violet,#6366f1));box-shadow:0 6px 16px #0ea5e959}.tech-opt.cnc .tech-ic{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 6px 16px #b4530947}.tech-opt.plot .tech-ic{background:linear-gradient(135deg,#15803d,#3a2a1d);box-shadow:0 6px 16px #15803d47}.tech-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.tech-opt.laser .tech-kicker{color:var(--c-sky4,#0369a1)}.tech-opt.cnc .tech-kicker{color:#92400e}.tech-opt.plot .tech-kicker{color:#166534}.tech-name{letter-spacing:-.02em;font-size:18px;font-weight:800}.tech-desc{color:#4b5563;font-size:14px;line-height:1.45}.tech-go{color:var(--accent-d);margin-top:auto;padding-top:8px;font-weight:700}.tech-opt.cnc .tech-go{color:#92400e}.tech-opt.plot .tech-go{color:#166534}.tech-x{background:var(--c-soft,#f1f5f9);cursor:pointer;width:36px;height:36px;color:var(--c-text2,#334155);border:0;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.tech-x:hover{background:var(--c-line4,#e2e8f0)}.nav nav button.nav-act:focus-visible,.foot-col button.foot-act:focus-visible,.path-in:focus-visible,.tech-opt:focus-visible,.tech-x:focus-visible,button.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=560px){.tech-back{align-items:flex-end;padding:12px}.tech{border-radius:18px 18px 14px 14px;max-height:calc(100dvh - 24px);padding:18px 16px 16px}.tech-grid{grid-template-columns:1fr}.tech h2{font-size:20px}}.od-drop.busy{opacity:.7;pointer-events:none}.list-row.with-thumb{flex-wrap:wrap;gap:14px;padding:8px 12px}.list-thumb-link{flex:none}.list-thumb{border:1px solid var(--line);background:radial-gradient(at 50% 35%,#fff 0%,#eef0f4 85%);border-radius:8px;justify-content:center;align-items:center;width:72px;height:54px;padding:4px;display:flex;overflow:hidden}.list-thumb .thumb{width:100%;height:100%}.list-thumb-empty{color:var(--muted);font-size:11px}.list-main{flex-direction:column;flex:1;gap:2px;min-width:160px;display:flex}.list-main .list-name{overflow-wrap:anywhere;flex:none}.list-actions{flex-wrap:wrap;gap:6px;display:flex}.nav nav a,.nav nav button.nav-act{white-space:nowrap}@media (width<=980px){.tpl-head{flex-wrap:wrap;align-items:flex-start}.tpl-head-text{flex:100%;min-width:0}.tpl-photo{width:100%;max-width:560px}.tpl-photo img{aspect-ratio:16/9}.tpl-head-actions{flex:100%}}@media (width>=641px) and (width<=900px){.nav{gap:14px;padding:0 18px}.nav nav{gap:2px}.nav nav a,.nav nav button.nav-act{padding:7px 9px}.brand .logo-text{display:none}}@media (width<=640px){.app.shop .nav{position:relative}.app.shop .nav nav{flex-wrap:wrap;gap:2px 0;margin:0 -8px;overflow:visible}.app.shop .nav nav a,.app.shop .nav nav button.nav-act{padding:6px 8px}.tpl .preview-card{flex-direction:column;height:auto;min-height:0;display:flex}.tpl .preview-card>.pv-tools{border-bottom:1px solid var(--line);background:#fafbfc;padding:10px 10px 8px;position:static}.tpl .preview-card>.pv-tools .mat-pick,.tpl .preview-card>.pv-tools .thick{box-shadow:none}.tpl .preview-card>.canvas{flex:none;height:260px}.tpl .handles-toggle{display:none}.tpl .tpl-head-text>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl .preview-card>.pv-tools .mat-pick{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.tpl .preview-card>.pv-tools .mat-pick .mat{flex:none}.tpl .preview-card>.pv-tools .mat-pick .mat-label{white-space:nowrap;flex:none;order:-1;margin-right:4px;font-weight:600}.tpl .tpl-photo-wide{display:none}.tpl .preview-card .err,.tpl .preview-card .notes{margin:8px 10px;position:static}.list-actions{width:100%}}@media (height<=700px){.od-back{padding:12px}.od-pv{height:170px}.od-left,.od-right{padding-top:18px;padding-bottom:16px}}.page.home-page.home-end{padding-bottom:0}.home-end .back-band{margin-bottom:0}.od:focus{outline:none}@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/jost/jost-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/jost/jost-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root.shop{--bg:#fbf7f1;--line:#e8ddcf;--line2:#d6c6b1;--text:#2a1e14;--muted:#6b523b;--accent:#9c6428;--accent-d:#7a4a1c;--accent-bg:#f4ede3;--ring:#b0742f38;--grv-ink:#3a2a1d;--grv-deep:#2a1e14;--grv-amber:#b0742f;--grv-gold:#d9a866;--grv-glow:#ffb35c;--grv-cream:#f4ede3;--c-ink:#2a1e14;--c-ink2:#3a2a1d;--c-text2:#4a3828;--c-text3:#6b523b;--c-muted2:#8a6a4b;--c-muted3:#b9a58c;--c-line3:#d6c6b1;--c-line4:#e8ddcf;--c-soft:#f4ede3;--c-soft2:#fbf7f1;--c-tint:#fbf3e6;--c-tint2:#f4ede3;--c-sky:#b0742f;--c-sky2:#d9a866;--c-sky3:#9c6428;--c-sky4:#7a4a1c;--c-sky5:#d9a866;--c-violet:#8a6a4b}:root.shop .grv-mark{color:var(--grv-ink);flex:none;transition:transform .6s cubic-bezier(.2,.7,.2,1)}:root.shop .logo:hover .grv-mark,:root.shop .brand:hover .grv-mark{transform:rotate(-12deg)}:root.shop .logo-text.grv{letter-spacing:.28em;text-transform:uppercase;color:var(--grv-ink);font-family:Jost,Inter,system-ui,sans-serif;font-size:16px;font-weight:500}:root.shop .logo-text.grv span{letter-spacing:.06em;text-transform:none;color:var(--grv-amber);margin-left:8px;font-size:17px;font-weight:500}:root.shop .nav{background:#fbf7f1f0}:root.shop .nav nav a:hover{background:var(--accent-bg)}:root.shop .nav-back{color:var(--grv-ink)}:root.shop .nav-back:hover{background:var(--accent-bg)}:root.shop h1,:root.shop h2,:root.shop .page-title{letter-spacing:-.005em;font-family:Jost,Inter,system-ui,sans-serif;font-weight:500}:root.shop .hero3{background:var(--grv-deep);color:var(--grv-cream)}:root.shop .hero3-shade{background:linear-gradient(90deg,#2a1e14f2 0%,#2a1e14d6 38%,#2a1e1466 70%,#2a1e1499 100%),linear-gradient(#0000 65%,#2a1e14e0)}:root.shop .hero3 h1{letter-spacing:-.01em;font-weight:500}:root.shop .hero3 p{color:#d8c7b2}:root.shop .eyebrow.dark{color:var(--grv-gold);background:#ffb35c24;border-color:#d9a8664d}:root.shop .rotator>span{background:linear-gradient(90deg, var(--grv-glow), var(--grv-gold), #f4c98e);-webkit-background-clip:text;background-clip:text}:root.shop .grad{background:linear-gradient(90deg, var(--grv-amber), #7a4a1c);-webkit-background-clip:text;background-clip:text}:root.shop .btn.glow{animation-name:pulseGlowGrv}@keyframes pulseGlowGrv{0%{box-shadow:0 0 #ffb35c8c}70%{box-shadow:0 0 0 16px #ffb35c00}to{box-shadow:0 0 #ffb35c00}}:root.shop .step-n,:root.shop .feat-i,:root.shop .path-ic{background:linear-gradient(135deg, var(--grv-amber), var(--grv-ink))}:root.shop .path-ic{box-shadow:0 6px 16px #3a2a1d4d}:root.shop .path-file span:first-child{color:var(--accent-d)}:root.shop .notes,:root.shop .od-how{background:var(--accent-bg);border-color:var(--line2);color:var(--grv-ink)}:root.shop .own-drop:hover,:root.shop .own-drop.over{background:var(--accent-bg)}:root.shop .faq-item.open{border-color:var(--line2)}:root.shop .dl .btn{box-shadow:0 4px 14px #9c64284d}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;max-width:440px;margin:12px auto;padding:28px 22px 22px;box-shadow:0 10px 30px #0f172a0a}.auth-card h1{margin-bottom:8px;font-size:28px}.auth-card form{flex-direction:column;gap:12px;margin-top:14px;display:flex}.auth-card .btn.big,.google-btn{width:100%}.google-btn{margin-top:10px}.auth-links{margin:14px 0 0}.auth-error,.auth-ok{border-radius:10px;margin:12px 0;padding:10px 12px}.auth-error{color:#991b1b;background:#fef2f2}.auth-ok{color:#166534;background:#f0fdf4}.price-note{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;max-width:760px;padding:12px 14px}.price-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;display:grid}.price-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.price-card.on{border-color:#b45309;box-shadow:0 0 0 1px #b45309}.price-card h2{font-size:20px}.price-card .sum{letter-spacing:-.03em;margin:0;font-size:30px;font-weight:800}.price-card .sum span{color:var(--muted);margin-left:4px;font-size:14px;font-weight:600}.price-card .plan-count{margin:0;font-weight:700}.price-card .plan-plus{color:var(--muted);margin:4px 0 -4px;font-size:14px;font-weight:600}.price-card>.btn{margin-top:auto}.price-card ul{flex:1;margin:0;padding-left:18px}.price-card .example{color:#9a3412;background:#ffedd5;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:12px;font-weight:700}.acct-scroll{overflow-x:auto}.acct-table{border-collapse:collapse;background:#fff;width:100%}.acct-table th,.acct-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:8px}.acct-orders{padding-left:18px}.consents{border:0;flex-direction:column;gap:8px;margin:4px 0 0;padding:0;display:flex}.consents legend{padding:0}.consents legend.consents-opt{margin-top:6px}.consent-row{align-items:flex-start;gap:8px;display:flex}.consent-row input{margin-top:4px}.req{color:#9a3412;font-weight:700}.legal{max-width:760px}.legal h2{margin-top:22px;font-size:20px}.legal-draft{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;padding:12px 14px}.admin-tabs{flex-wrap:wrap;gap:8px;margin:8px 0 16px;display:flex}.admin-tabs a,.admin-tabs button{text-decoration:none}.admin-tabs a.on,.admin-tabs button.primary{background:var(--accent,#9a3412);color:#fff}.admin-ranges{gap:8px;margin-bottom:12px;display:flex}.stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:12px;display:flex}.stat b{letter-spacing:-.03em;font-size:28px}.stat span,.chart-col span{color:var(--muted);font-size:13px}.chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:6px;height:170px;margin-top:8px;padding-bottom:2px;display:flex}.chart-n{color:var(--muted);font-variant-numeric:tabular-nums;min-height:14px;font-size:11px;font-weight:600}.chart-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin:0 4px 0 8px;display:inline-block}.chart-legend i:first-child{margin-left:0}.chart-legend .views{background:#3a2a1d}.chart-legend .uniq{background:#d9b98f}.chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex}.chart-pair{flex:1;justify-content:center;align-items:flex-end;gap:2px;width:100%;display:flex}.chart-pair i{border-radius:4px 4px 0 0;width:8px;display:block}.chart-pair .views{background:#3a2a1d}.chart-pair .uniq{background:#d9b98f}.funnel-row{grid-template-columns:minmax(140px,190px) 1fr auto;align-items:center;gap:8px;margin:6px 0;display:grid}.funnel-row div{background:#f5f0ea;border-radius:999px;min-width:0;height:10px}.funnel-row i{background:#b0742f;border-radius:999px;height:10px;display:block}.funnel-row b{font-variant-numeric:tabular-nums}.admin-split{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-search{gap:8px;margin-bottom:12px;display:flex}.admin-search .txt{max-width:320px}.user-form{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:8px;display:flex}.acct-table .tag{color:#6b5a48;white-space:nowrap;background:#f4ede3;margin-left:6px}.acct-table .tag.warn{color:#8a5a12;background:#fdf3e2}.acct-table .tag.bad{color:#a1281c;background:#fbe4e1}.acct-table tr.is-blocked td{color:var(--muted)}.user-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.mail-read{border:1px solid var(--line);white-space:pre-wrap;background:#fff;border-radius:12px;margin:12px 0;padding:12px;overflow:auto}.mail-form{flex-direction:column;gap:10px;max-width:640px;display:flex}.field-label{flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.row-gap.wrap{flex-wrap:wrap}.order-list{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.order-card{border:1px solid var(--line);background:#fff;border-left:4px solid #b0742f;border-radius:14px;grid-template-columns:140px 1fr;gap:14px;padding:12px;display:grid}.order-card.st-zrobione,.order-card.st-anulowane{opacity:.85;border-left-color:#c9bba8}.order-card.st-wycenione,.order-card.st-w-realizacji{border-left-color:#8a6a4b}.order-thumb{width:140px;height:140px;color:var(--muted);background:#f4ede3;border-radius:10px;place-items:center;font-size:12px;text-decoration:none;display:grid;overflow:hidden}.order-thumb img{object-fit:contain;width:100%;height:100%}.order-body{flex-direction:column;gap:6px;min-width:0;display:flex}.order-body header{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.order-who{overflow-wrap:anywhere;margin:0}.order-facts{flex-wrap:wrap;gap:4px 14px;margin:0;font-size:14px;display:flex}.order-facts dt{color:var(--muted)}.order-facts dt:after{content:":"}.order-facts dd{margin:0 0 0 -10px;font-weight:600}.order-msg{white-space:pre-wrap;overflow-wrap:anywhere;background:#fbf7f1;border-radius:10px;margin:0;padding:8px 10px}.order-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.order-files ul{overflow-wrap:anywhere;margin:6px 0 0;padding-left:18px;font-size:13px}.order-card.st-opłacone{border-left-color:#3f7d4e}.quote{flex-direction:column;align-items:flex-start;gap:8px;margin-top:4px;display:flex}.quote-state{background:#f4ede3;border-radius:8px;margin:0;padding:4px 10px;font-size:14px}.quote-state.paid{color:#24532f;background:#e5f2e7;font-weight:600}.quote-state.canceled{color:var(--muted)}.linkish{font:inherit;color:#8a6a4b;cursor:pointer;background:0 0;border:0;margin-left:6px;padding:0;text-decoration:underline}.quote-box{background:#fbf7f1;border:1px solid #e6d9c6;border-radius:12px;flex-direction:column;align-self:stretch;gap:10px;padding:14px;display:flex}.quote-box label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.quote-box .txt{font-weight:400}.quote-grid{grid-template-columns:180px 1fr;gap:10px;display:grid}.quote-amount span{align-items:center;gap:6px;font-weight:600;display:flex}.quote-amount input{width:120px;font-size:18px;font-weight:600}.quote-box textarea{font:inherit;resize:vertical;min-height:180px;line-height:1.5}.quote-preview{background:#f4ede3;border:1px solid #e6d9c6;border-radius:10px;width:100%;height:720px}@media (width<=980px){.price-grid{grid-template-columns:1fr 1fr}}@media (width<=800px){.stat-grid,.admin-split{grid-template-columns:1fr}.admin-search{flex-direction:column}.admin-search .txt{width:100%;max-width:none}.funnel-row{grid-template-columns:1fr auto}.funnel-row div{grid-column:1/-1}.acct-table thead{display:none}.acct-table,.acct-table tbody,.acct-table tr,.acct-table td{width:auto;display:block}.acct-table tr{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 0 10px;padding:6px 2px}.acct-table td{overflow-wrap:anywhere;border:0;padding:4px 10px}.acct-table td[data-label]:not([data-label=""]):before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:600;display:block}.user-form{display:grid}.order-card{grid-template-columns:1fr}.order-thumb{width:100%;height:180px}.quote-grid{grid-template-columns:1fr}.user-form label,.user-form .txt,.user-form .sel{width:100%}}@media (width<=640px){.price-grid{grid-template-columns:1fr}.nav{flex-wrap:wrap;height:auto;min-height:52px;padding-top:8px;padding-bottom:8px}.nav nav{flex-wrap:wrap;row-gap:2px}.auth-card{padding:22px 16px}}:root.shop{font-family:Jost,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root.shop .ked,:root.shop .ked-float{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root.shop .back-band{background:linear-gradient(135deg, var(--grv-deep), var(--grv-ink));color:var(--grv-cream)}:root.shop .back-band h2{color:#fff}:root.shop .back-band p{color:#d8c7b2}:root.shop .tech-opt.laser:hover{border-color:var(--grv-gold)}:root.shop .tech-opt.cnc:hover{border-color:#c8956a}:root.shop .tech-opt.plot:hover{border-color:#b9a58c}:root.shop .tech-opt.laser .tech-ic{background:linear-gradient(135deg, var(--grv-glow), var(--grv-amber));box-shadow:0 6px 16px #b0742f59}:root.shop .tech-opt.cnc .tech-ic{background:linear-gradient(135deg, var(--grv-amber), var(--grv-ink));box-shadow:0 6px 16px #3a2a1d4d}:root.shop .tech-opt.plot .tech-ic{background:linear-gradient(135deg, #8a6a4b, var(--grv-deep));box-shadow:0 6px 16px #2a1e1447}:root.shop .tech-opt.laser .tech-kicker,:root.shop .tech-opt.cnc .tech-kicker,:root.shop .tech-opt.plot .tech-kicker,:root.shop .tech-opt.cnc .tech-go{color:var(--accent-d)}
