:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#173c31;background:#f6f5ef;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:82px;padding:0 max(3vw,24px);display:flex;align-items:center;gap:40px;background:#fff;border-bottom:1px solid #e7e9df;position:sticky;top:0;z-index:30}.brand{width:195px;flex:none}.brand img{width:100%;height:56px;object-fit:contain;object-position:left center}.site-nav{display:flex;align-items:center;gap:36px;margin-left:auto}.site-nav a{font-size:14px;color:#536a60;padding:26px 0;border-bottom:3px solid transparent;white-space:nowrap}.site-nav a.active{color:#0e513e;font-weight:700;border-color:#0e513e}.site-nav a:hover{color:#0e513e}.preview-badge{font-size:12px;color:#846d3e;background:#f6f0e2;border:1px solid #eadcbf;border-radius:50px;padding:5px 10px;white-space:nowrap}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:30px max(3vw,24px);color:#668174;border-top:1px solid #e4e9e2;font-size:13px}.workspace{max-width:1600px;margin:auto;padding:24px max(3vw,24px) 80px;display:grid;grid-template-columns:minmax(340px,.92fr) minmax(500px,1.08fr);gap:24px;align-items:start}.preview-column{position:sticky;top:106px}.preview-card{border-radius:22px;overflow:hidden;background:#e2e5d8;box-shadow:0 10px 36px #1c3c2c14}.preview-scene{position:relative;min-height:440px;background:url('/assets/editor-preview.jpg') center/cover}.preview-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,#0c2b203b)}.preview-art{position:absolute;z-index:1;left:8%;right:8%;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-height:160px}.preview-art svg{width:100%;max-height:170px;filter:drop-shadow(0 9px 11px #10251e77)}.preview-art.vertical svg{width:auto;height:315px;max-height:315px;max-width:80%}.preview-caption{background:#fff;padding:16px 21px;display:flex;justify-content:space-between;gap:10px;font-size:14px}.preview-caption strong{font-size:15px}.preview-caption span{color:#6f8176}.reference-shot{margin-top:16px;border-radius:20px;overflow:hidden;position:relative;height:175px}.reference-shot img{width:100%;height:100%;object-fit:cover}.reference-shot span{position:absolute;left:22px;bottom:16px;color:#103d31;background:#fffffff0;padding:7px 12px;border-radius:30px;font-size:12px}.config-column{min-width:0}.page-eyebrow{font-size:12px;color:#b08d51;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.config-intro{padding:10px 4px 18px}.config-intro h1,.catalog-head h1{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(28px,3.1vw,44px);margin:7px 0 8px;color:#123d31;font-weight:600;letter-spacing:.04em}.config-intro p,.catalog-head p{margin:0;color:#657a6c}.panel{background:#fff;border:1px solid #e8ece4;border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:0 5px 24px #2d4b3509}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.panel h2{font-family:"Noto Serif SC","Songti SC",serif;font-size:21px;margin:0;color:#153f32}.panel-head small,.muted{color:#829388;font-size:13px}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.material-choice,.option-choice,.tag-choice,.product-card,.category-card{border:1px solid #e0e7de;background:#fff;border-radius:13px;color:#274639}.material-choice{padding:5px;text-align:left;min-width:0}.material-choice img{width:100%;aspect-ratio:1.6/1;object-fit:cover;border-radius:9px}.material-choice span{display:block;font-size:13px;padding:7px 4px 4px;line-height:1.3}.material-choice[aria-pressed="true"],.option-choice[aria-pressed="true"],.tag-choice[aria-pressed="true"]{border:2px solid #08654a;box-shadow:0 0 0 2px #dcebe1}.option-row{display:flex;gap:10px;flex-wrap:wrap}.option-choice{min-width:86px;padding:12px 15px;text-align:center;font-size:14px}.option-choice strong{display:block;font-size:18px}.option-choice small{display:block;color:#859386;font-size:12px}.subsection{margin-top:18px}.subsection-label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}.quantity-line,.field-row,.tool-row,.stepper,.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stepper{border:1px solid #dfe7df;border-radius:11px;overflow:hidden;gap:0}.stepper button{border:0;background:#f4f7f3;color:#164332;width:42px;height:42px;font-size:22px}.stepper input{width:64px;height:42px;text-align:center;border:0;background:#fff}.price-box{margin-left:auto;text-align:right}.price-box strong{font-size:28px;color:#0c5c44}.price-box small{display:block;color:#8a9a8f}.field{display:grid;gap:7px;font-size:14px;color:#315446;margin:12px 0}.field input,.field textarea,.field select{border:1px solid #dce5db;border-radius:10px;padding:10px 12px;min-width:0;background:#fff;color:#233d34}.field textarea{min-height:72px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #a3c7ad;outline-offset:1px}.field-row>.field{flex:1;min-width:130px}.tool-row button,.panel-actions button,.secondary,.primary{border-radius:11px;padding:10px 15px;border:1px solid #dce6dd;background:#f8faf7;color:#194b38;font-size:14px}.tool-row button:hover,.panel-actions button:hover,.secondary:hover{border-color:#67937b;background:#eef6ef}.primary{background:#0c5942;border-color:#0c5942;color:#fff;font-weight:700}.primary:hover{background:#064734}.primary:disabled:hover{background:#0c5942}.full{width:100%}.tag-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:14px 0}.tag-choice{padding:9px 0;font-size:12px}.tag-choice.done{background:#eaf4ec}.notice{background:#f7f5eb;border:1px solid #eee7d5;color:#726846;padding:12px 14px;border-radius:11px;font-size:13px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.review-item{border:1px solid #e1e9e0;padding:14px;border-radius:13px}.review-art{height:110px;display:grid;place-items:center;background:#f4f5ef;border-radius:9px;overflow:hidden}.review-art svg{width:90%;height:90%}.review-item label{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:13px}.review-item button{font-size:12px;margin-top:5px;border:0;background:none;color:#0d6446;padding:0}.error{color:#ae493a;font-size:13px}.catalog-page{max-width:1400px;margin:auto;padding:35px max(3vw,24px) 90px}.catalog-head{margin-bottom:28px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{overflow:hidden;text-align:left;padding:0;cursor:default}.product-card img{height:260px;width:100%;object-fit:cover}.product-card div{padding:18px}.product-card h2{font-size:19px;margin:0 0 6px}.product-card p{font-size:14px;color:#688072;margin:0 0 12px}.product-card span,.status{display:inline-block;color:#8a7144;background:#f8f2e3;border-radius:30px;padding:5px 10px;font-size:12px}.category-card{padding:28px;min-height:260px;background:linear-gradient(140deg,#e7efe3,#f8f7ee)}.category-card h2{font-family:"Noto Serif SC","Songti SC",serif;font-size:28px;margin:35px 0 9px}.category-card p{color:#607668}.category-card:nth-child(2){background:linear-gradient(140deg,#f3ece0,#e8efe3)}.empty-card{padding:35px;border:1px dashed #bed0c0;border-radius:16px;text-align:center;color:#6a7f70;background:#fff}.drawer{position:fixed;inset:0;background:#0b271e80;z-index:50;display:grid;place-items:center;padding:16px}.dialog{width:min(820px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:25px}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-head button{border:0;background:none;font-size:26px}.toast{position:fixed;right:22px;bottom:22px;z-index:90;background:#104533;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 25px #193f2b33;max-width:min(420px,90vw);opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}@media(max-width:900px){.site-header{height:auto;min-height:70px;flex-wrap:wrap;gap:0;padding:5px 18px}.brand{width:150px}.brand img{height:52px}.site-nav{order:3;width:100%;overflow:auto;gap:24px;margin:0}.site-nav a{padding:10px 0;font-size:13px}.preview-badge{margin-left:auto}.workspace{grid-template-columns:1fr;padding:14px 14px 65px}.preview-column{position:static}.preview-scene{min-height:360px}.reference-shot{display:none}.catalog-grid{grid-template-columns:repeat(2,1fr)}.site-footer{padding:24px 16px}}@media(max-width:600px){.site-header{position:static}.workspace{gap:12px}.preview-scene{min-height:285px}.preview-art svg{max-height:125px}.preview-art.vertical svg{height:230px}.preview-caption{padding:12px 15px}.choice-grid{grid-template-columns:repeat(2,1fr)}.panel{padding:16px}.tag-grid{grid-template-columns:repeat(5,1fr)}.catalog-grid,.review-grid{grid-template-columns:1fr}.catalog-page{padding:20px 16px 60px}.site-footer{flex-direction:column}.field-row{display:block}.product-card img{height:240px}}

/* tagmyplant storefront */
body{background:#fff;color:#1e2420}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:68px;padding:0 clamp(18px,4.8vw,70px);border-color:#edf0eb;gap:24px;box-shadow:0 1px 8px #1022160c}.brand{width:auto;display:flex;align-items:center;gap:10px;white-space:nowrap}.brand img{width:40px;height:40px}.brand span{font:750 23px/1 Arial,sans-serif;letter-spacing:-.055em;color:#111a14}.site-nav{gap:clamp(13px,2.5vw,38px);margin:auto}.site-nav a{color:#272c29;padding:22px 0;font-size:14px}.locale-picker select{appearance:none;border:0;background:transparent;color:#1d2e24;font-weight:700;font-size:13px;max-width:145px;padding:10px 15px 10px 3px;cursor:pointer}.locale-picker{position:relative;display:flex;align-items:center}.locale-picker:after{content:"⌄";position:absolute;right:1px;pointer-events:none;font-weight:bold}.home-page{background:#fff}.home-hero{min-height:440px;background:#f7f6f2 url('/assets/editor-hero.jpg') center center/cover no-repeat;position:relative;display:flex;align-items:center;padding:35px clamp(22px,5vw,76px)}.hero-copy{width:min(54%,610px);position:relative;z-index:1}.hero-kicker{font-size:12px;letter-spacing:.18em;font-weight:700;color:#3b6747}.home-hero h1{font:750 clamp(39px,4.6vw,67px)/1.05 Arial,sans-serif;letter-spacing:-.04em;color:#202824;margin:20px 0 15px}.home-hero h1 em{font-style:normal;color:#2d6c3d}.home-hero p{font-size:clamp(16px,1.7vw,22px);margin:0 0 4px}.hero-sub{color:#6e746f;font-size:15px}.hero-button,.plant-banner a{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:50px;background:#2e7041;color:#fff;font-size:16px;font-weight:700;padding:14px 28px;margin-top:20px;min-width:220px}.hero-button:hover,.plant-banner a:hover{background:#195a35}.hero-facts{display:flex;gap:0;margin-top:32px;max-width:560px}.hero-facts div{flex:1;border-right:1px solid #d8ddd4;padding:0 17px}.hero-facts div:first-child{padding-left:0}.hero-facts div:last-child{border:0}.hero-facts strong{display:block;color:#255d3a;font-size:19px}.hero-facts span{display:block;font-size:11px;color:#68786b}.home-section{padding:30px clamp(22px,5vw,76px);max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-heading h2{font:750 clamp(24px,2.4vw,32px)/1.15 Arial,sans-serif;letter-spacing:-.025em;margin:0 0 3px}.section-heading p{color:#778078;margin:0;font-size:15px}.section-heading>a{color:#238443;font-size:14px;white-space:nowrap}.home-materials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.home-material{display:block;border-radius:14px;overflow:hidden;background:#f7f8f6;padding-bottom:16px;transition:transform .18s,box-shadow .18s}.home-material:hover{transform:translateY(-3px);box-shadow:0 12px 28px #17382018}.home-material img{width:100%;height:220px;object-fit:cover}.home-material strong{display:block;font-size:16px;padding:10px 15px 0}.home-material span{display:block;color:#778078;font-size:13px;padding:2px 15px}.how-section{padding-top:15px}.how-grid{display:grid;grid-template-columns:repeat(4,1fr)}.how-grid>div{text-align:center;padding:12px 24px;border-right:1px solid #e1e5df}.how-grid>div:last-child{border:0}.how-grid span{display:grid;place-items:center;border-radius:100%;background:#e8eee8;color:#23703b;width:64px;height:64px;margin:0 auto 12px;font-size:19px;font-weight:800}.how-grid strong{font-size:17px}.how-grid p{font-size:13px;color:#818982;max-width:200px;margin:5px auto 0}.collection-section{padding-top:22px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.collection-card{border:1px solid #e7eae4;border-radius:15px;overflow:hidden;background:#fafbf9;padding-bottom:15px}.collection-card img{width:100%;height:220px;object-fit:cover}.collection-card>span,.collection-card h3,.collection-card p,.collection-card b{margin-left:18px;margin-right:18px}.collection-card>span{display:block;color:#6c9b71;font-size:11px;letter-spacing:.15em;margin-top:13px}.collection-card h3{font-size:20px;margin-top:4px;margin-bottom:5px}.collection-card p{color:#7b837a;font-size:14px;margin-top:0;margin-bottom:12px}.collection-card b{color:#25703d;font-size:13px}.plant-banner{max-width:1554px;margin:18px auto 40px;border-radius:19px;overflow:hidden;background:#eef2ea url('/assets/editor-preview.jpg') left center/cover no-repeat;min-height:300px;display:flex;align-items:center;justify-content:flex-end}.plant-banner>div{width:48%;padding:30px 50px;background:#fffffff0;border-radius:17px 0 0 17px}.plant-banner span{font-size:11px;letter-spacing:.15em;color:#2b713f}.plant-banner h2{font:750 33px/1.13 Arial,sans-serif;margin:8px 0}.plant-banner p{color:#66756a;margin:0}.plant-banner a{font-size:14px;min-width:0;padding:10px 22px;margin-top:16px}.tag-toolbar,.review-actions{display:flex;justify-content:space-between;color:#6a806e;font-size:13px}.jump-control{display:flex;gap:5px;align-items:center;font-size:13px}.jump-control input{width:60px;padding:6px;border:1px solid #dce5db;border-radius:8px}.text-editor{padding-top:15px;border-top:1px solid #e5ebe4;margin-top:16px}.panel .subheading{font-size:17px}.text-link{border:0;background:none;color:#a4533d}.acrylic-options{margin-top:20px}.acrylic-options input[type=color]{width:58px;height:48px;border:1px solid #dce5db;border-radius:9px}.main-action{justify-content:flex-end;margin-top:18px}.order-list{display:grid;gap:12px;margin-top:15px}.order-list article{display:flex;gap:14px;align-items:center;border-bottom:1px solid #e5ebe4;padding-bottom:10px}.order-list article span:nth-child(2){color:#738577;font-size:13px}.order-summary{display:flex;justify-content:space-between;background:#f2f6f2;padding:13px;border-radius:10px;margin:14px 0}.site-footer{background:#f7f8f5;color:#646d64}
@media(max-width:900px){.site-header{height:auto;min-height:68px;padding:8px 18px}.brand img{width:35px;height:35px}.brand span{font-size:20px}.site-nav{order:3;width:100%;justify-content:flex-start;overflow:auto;gap:22px;margin:0}.site-nav a{padding:9px 0}.locale-picker{margin-left:auto}.home-hero{min-height:450px;background-position:56% center}.hero-copy{width:min(60%,550px)}.hero-facts{background:#ffffffc9;border-radius:12px;padding:10px}.home-materials{grid-template-columns:repeat(2,1fr)}.collection-grid{grid-template-columns:repeat(2,1fr)}.plant-banner{margin:18px 18px 35px}.plant-banner>div{width:58%}}
@media(max-width:600px){.site-header{position:static}.home-hero{align-items:flex-start;min-height:600px;background-position:60% bottom;padding:24px 20px}.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fffffff2 0%,#ffffffe0 37%,transparent 68%)}.hero-copy{width:100%}.home-hero h1{font-size:40px;margin:13px 0}.home-hero p{font-size:17px}.hero-button{padding:11px 20px;min-width:0}.hero-facts{position:absolute;top:440px;left:0;right:0;margin-top:0;gap:4px}.hero-facts div{padding:0 7px}.hero-facts strong{font-size:15px}.hero-facts span{font-size:10px}.home-section{padding:25px 18px}.home-materials{gap:9px}.home-material img{height:145px}.home-material strong{font-size:13px;padding:8px 9px 0}.home-material span{font-size:12px;padding:2px 9px}.how-grid{grid-template-columns:repeat(2,1fr);row-gap:20px}.how-grid>div:nth-child(2){border:0}.how-grid>div{padding:9px}.how-grid span{width:51px;height:51px}.how-grid strong{font-size:14px}.how-grid p{font-size:12px}.collection-grid{grid-template-columns:1fr}.plant-banner{margin:12px 18px 30px;min-height:350px;align-items:end}.plant-banner>div{width:100%;padding:18px;background:#ffffffde;border-radius:0}.plant-banner h2{font-size:27px}.section-heading{align-items:start}.section-heading>a{font-size:12px}.home-hero .hero-kicker{font-size:10px}}
@media(max-width:600px){.site-nav{flex-wrap:wrap;overflow:visible;gap:0 14px}.site-nav a{padding:8px 0}}
.preview-scene{overflow:hidden}.preview-art svg{transform:scale(var(--preview-zoom,1));transform-origin:center;touch-action:none}.preview-art [data-text-index],.preview-art [data-logo-hit]{cursor:grab}.preview-art.dragging [data-text-index],.preview-art.dragging [data-logo-hit]{cursor:grabbing}.preview-zoom{position:absolute;right:14px;top:14px;z-index:3;display:flex;align-items:center;gap:3px;padding:4px;border-radius:11px;background:#fffffff0;box-shadow:0 4px 14px #17382024}.preview-zoom button{width:31px;height:31px;border:0;border-radius:7px;background:#eef3ed;color:#16513b;font-weight:700}.preview-zoom span{min-width:46px;text-align:center;font-size:13px;font-weight:700}.accordion{padding:0;overflow:hidden}.accordion-toggle{width:100%;border:0;background:#fff;color:#153f32;padding:18px 22px;display:flex;align-items:center;gap:12px;text-align:left}.accordion-toggle>span{font-size:20px;font-weight:700;margin-right:auto}.accordion-toggle small{color:#829388;font-size:13px}.accordion-toggle b{font-size:24px;line-height:1;font-weight:400}.accordion-toggle[aria-expanded="true"]{border-bottom:1px solid #e8ece4}.accordion-body{padding:18px 22px 22px}.accordion-body[hidden]{display:none}@media(max-width:600px){.accordion-toggle{padding:15px 16px;flex-wrap:wrap}.accordion-toggle>span{font-size:17px}.accordion-toggle small{order:3;width:100%}.accordion-body{padding:15px 16px}.preview-zoom{right:9px;top:9px}}
.login-button{border:1px solid #cbdccf;border-radius:999px;background:#fff;color:#14543e;padding:8px 16px;white-space:nowrap;font-size:14px;font-weight:700}.login-button:hover{background:#eaf3eb}.drag-hint{position:absolute;z-index:3;left:50%;bottom:12px;transform:translateX(-50%);padding:6px 12px;border-radius:20px;background:#ffffffeb;color:#214736;font-size:13px;white-space:nowrap;pointer-events:none}.vertical-text-input{writing-mode:vertical-lr;text-orientation:upright;min-height:190px!important;max-height:320px;width:100%;resize:vertical;line-height:1.5}.shape-editor{margin-top:10px}.shape-drawing{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:8px 0 15px}.shape-drawing svg{display:block;width:min(245px,100%);height:350px;background:#fbfcf9;border:1px solid #dce7dd;border-radius:12px;touch-action:none}.shape-drawing circle{cursor:grab;stroke:#fff;stroke-width:2}.shape-guide{display:grid;gap:8px;max-width:190px;color:#557064;font-size:13px}.shape-guide strong{color:#215341;font-size:15px}.shape-size-label{font:700 13px system-ui,sans-serif;fill:#0c5942}.small-dialog{width:min(520px,100%)}.login-social{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.login-social button,.login-tabs button{border:1px solid #dce6dd;border-radius:10px;padding:11px;background:#fff;color:#194b38}.login-social button:hover,.login-tabs button:hover{background:#f2f7f2}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.login-tabs button[aria-pressed="true"]{border-color:#0c5942;background:#e9f3ea;font-weight:700}@media(max-width:900px){.login-button{margin-left:10px}}@media(max-width:600px){.shape-drawing{display:block}.shape-guide{margin-top:8px}.drag-hint{font-size:12px}.login-button{margin-left:auto;margin-right:8px;padding:6px 10px}}
.brand svg{width:40px;height:40px;flex:none}.hero-button{display:flex;width:max-content}.hero-sub{display:block}.home-hero .hero-copy{max-width:620px}
.shape-dialog{width:min(1120px,100%);max-height:94vh}.shape-main{display:grid;grid-template-columns:minmax(300px,1fr) minmax(290px,.8fr);gap:28px;margin-top:18px}.shape-canvas-wrap{display:grid;place-items:center;background:#f8faf7;border:1px solid #dce7dd;border-radius:14px;padding:10px}.shape-canvas-wrap svg{width:min(100%,400px);max-height:56vh;touch-action:none}.shape-canvas-wrap circle,.shape-canvas-wrap [data-shape-layer]{cursor:grab}.shape-side{display:grid;align-content:start;gap:16px}.shape-side .field-row{display:flex}.shape-side .field{min-width:120px}.shape-upload{border:1px solid #dfe8df;border-radius:12px;padding:16px}.shape-upload strong{display:block;margin-bottom:12px}.shape-file-preview{display:grid;place-items:center;min-height:170px;max-height:220px;overflow:hidden;background:#f4f7f2;border:1px dashed #b5cab9;border-radius:10px;margin-top:14px;color:#758a79;text-align:center;font-size:13px;padding:12px}.shape-file-preview img{max-width:100%;max-height:194px;object-fit:contain}.shape-download{border:0;background:none;color:#0c5942;text-decoration:underline;padding:0}.shape-bottom{border-top:1px solid #e6eee5;margin-top:22px;padding-top:17px}.shape-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:12px}.shape-palette button{display:grid;place-items:center;gap:3px;border:1px solid #dce6dd;background:#f8faf7;color:#1d513c;border-radius:10px;padding:10px 4px;font-size:13px}.shape-palette button:hover{background:#eaf3eb;border-color:#6b9d76}.shape-palette b{font-size:28px;line-height:1.1;font-weight:400}.shape-palette .shape-unite{background:#e9f3ea;font-weight:700}.shape-instructions{color:#647c68;font-size:13px;line-height:1.6;margin:15px 0 0}.google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #8e918f;background:#131314;color:#e3e3e3;border-radius:5px;min-height:46px;font-weight:600;margin:18px 0}.google-button:hover{background:#2b2b2c}.google-button img{width:20px;height:20px}.register-button,.auth-switch{width:100%;border:1px solid #dce6dd;background:#fff;color:#14543e;border-radius:9px;padding:11px;font-weight:700}.auth-switch{margin:12px 0}.register-button:hover,.auth-switch:hover{background:#f2f7f2}@media(max-width:720px){.shape-dialog{padding:17px}.shape-main{grid-template-columns:1fr;gap:15px}.shape-canvas-wrap svg{max-height:340px}.shape-palette{grid-template-columns:repeat(3,1fr)}}
.shape-history{display:flex;align-items:center;gap:8px;margin-top:14px}.shape-history button,.shape-zoom button,.shape-lock{border:1px solid #dce6dd;background:#fff;color:#194b38;border-radius:8px;padding:7px 10px}.shape-history span{margin-left:auto;color:#6f8576;font-size:12px}.shape-canvas-wrap{display:block;min-width:0}.shape-canvas-viewport{width:min(100%,420px);aspect-ratio:1;margin:auto;overflow:hidden;border-radius:10px;background:#eff4ed}.shape-canvas-wrap svg{display:block;width:100%;height:100%;max-height:none;transform-origin:center;touch-action:none}.shape-canvas-wrap [data-shape-base]{cursor:move}.shape-canvas-wrap [data-shape-layer],.shape-canvas-wrap circle{cursor:grab}.shape-zoom{display:flex;align-items:center;justify-content:center;gap:7px;margin:3px 0 10px;font-size:13px;color:#315c42}.shape-zoom strong{min-width:45px;text-align:center}.shape-zoom small{color:#8ca092}.shape-canvas-caption{text-align:center;color:#496a53;font-size:13px;margin-top:10px}.shape-measures{border:1px solid #dfe8df;border-radius:12px;padding:14px}.shape-measures>strong{display:block;font-size:14px;margin:6px 0}.shape-measures .field{margin:5px 0 10px;min-width:0}.shape-measures .field input{width:100%}.shape-measures .tool-row{margin-top:12px}.shape-lock[aria-pressed="true"]{background:#e5f2e8;border-color:#86b292}.shape-palette{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:720px){.shape-canvas-wrap svg{max-height:none}.shape-zoom{flex-wrap:wrap}.shape-palette{grid-template-columns:repeat(3,minmax(0,1fr))}}
.shape-selection{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.shape-selection button{border:1px solid #dce6dd;background:#fff;color:#194b38;border-radius:8px;padding:6px 9px;font-size:12px}.shape-selection button[aria-pressed="true"]{background:#e5f2e8;border-color:#32744b;font-weight:700}.shape-canvas-wrap polygon.is-selected{stroke:#bc8335;stroke-width:3}
.shape-align{margin-top:14px}.shape-align>strong{font-size:13px;color:#315c42}.shape-align-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.shape-align-buttons button{display:grid;place-items:center;width:38px;height:38px;padding:7px;border:1px solid #b8d2bc;border-radius:8px;background:#eaf4ea;color:#205e41}.shape-align-buttons button:hover:not(:disabled){background:#d9ebdc;border-color:#438158}.shape-align-buttons button:disabled{opacity:.45;cursor:not-allowed}.shape-align-buttons svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.shape-delete{color:#9b3e35!important;border-color:#e3bdb8!important}.shape-delete:hover:not(:disabled){background:#fff3f1}.shape-canvas-viewport{cursor:crosshair}
.shape-canvas-wrap{align-self:start}.shape-canvas-viewport{width:min(100%,500px)}.shape-pick{width:min(100%,500px);margin:4px auto 10px}.shape-pick>strong{display:block;color:#315c42;font-size:14px;margin-bottom:6px}.shape-pick .shape-palette{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:0;gap:6px}.shape-pick .shape-palette button{min-height:51px;padding:5px 2px}.shape-pick .shape-palette b{font-size:19px}.shape-canvas-wrap polygon.is-selected{stroke-width:.5px}.shape-canvas-wrap circle{stroke:transparent;stroke-width:8px;cursor:grab}.shape-bottom{margin-top:12px;padding-top:10px}.shape-bottom .shape-instructions{margin:5px 0}@media(max-width:720px){.shape-pick .shape-palette{grid-template-columns:repeat(3,minmax(0,1fr))}}
#shape-canvas [data-shape-board],#shape-canvas polygon,#shape-canvas polygon.is-selected{stroke-width:var(--shape-stroke,.5px)}#shape-canvas circle{stroke:transparent;stroke-width:var(--shape-hit-stroke,8px)}#shape-grid path{stroke-width:var(--shape-grid-stroke,.35px)}
.shape-confirm-bar{display:flex;justify-content:flex-end;padding-top:14px}.shape-confirm-bar .primary{min-width:120px}
.preview-art svg{transform:scale(var(--preview-zoom,1)) rotate(var(--preview-rotation,0deg))}
.preview-art.rotated:not(.vertical) svg{max-width:360px}
.preview-shelf{margin-top:12px;padding:14px;background:#fff;border:1px solid #e2e9df;border-radius:17px;box-shadow:0 5px 24px #2d4b3509}
.preview-shelf-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#194b38;font-size:13px}
.preview-shelf-head span{color:#829388;font-size:12px}
.preview-shelf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.preview-shelf-item{min-width:0;padding:6px 3px 3px;border:1px solid #e0e8dd;border-radius:9px;background:#f9fbf7;color:#577164;font-size:11px}
.preview-shelf-item[aria-pressed="true"]{border-color:#0c5942;box-shadow:0 0 0 1px #0c5942}
.preview-shelf-art{height:45px;display:grid;place-items:center;overflow:hidden}
.preview-shelf-art svg{width:92%;height:39px;max-width:100%}
.preview-shelf-art i{font-style:normal;color:#9aa99d;font-size:10px}
.preset-dialog{width:min(760px,100%)}
.preset-grid{display:grid;gap:10px;margin:18px 0}
.preset-logo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.preset-choice{min-width:0;border:1px solid #dae5d9;border-radius:11px;background:#fbfcfa;color:#194b38;padding:8px;display:grid;gap:5px;justify-items:center;font-size:13px}
.preset-choice:hover{background:#f0f7ef}
.preset-choice[aria-pressed="true"]{border:2px solid #0c5942;box-shadow:0 0 0 2px #dcebe1}
.preset-logo-grid img{height:70px;width:100%;object-fit:contain}
.preset-actions{position:sticky;bottom:-25px;display:flex;justify-content:flex-end;gap:10px;padding:14px 0 0;background:#fff}
.preset-actions button{padding:9px 22px;border-radius:10px;border:1px solid #dce6dd;background:#fff;color:#194b38}
.preset-actions .primary{background:#0c5942;color:#fff;border-color:#0c5942}
.gradient-fields{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:end;gap:12px;margin-top:12px}
.gradient-fields .field{min-width:0;margin:0}
.gradient-fields input[type="color"],.gradient-fields input[type="range"]{width:100%}
.gradient-fields input[type="range"]{padding:0;accent-color:#0c5942}
@media(max-width:600px){.preset-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.preview-shelf-art{height:37px}.preview-shelf-art svg{height:32px}.preview-art.rotated:not(.vertical) svg{max-width:220px}}

.gradient-midpoint-field{display:grid;gap:6px;min-width:0}.gradient-midpoint-field .field{margin:0}.gradient-direction{justify-self:center;border:1px solid #bfd4c0;border-radius:8px;background:#eef5ed;color:#205b3d;padding:5px 12px;font-size:13px}.gradient-direction:hover{background:#e1efe1}.field input[type="color"],.acrylic-options input[type="color"]{width:100%;height:48px;border:1px solid #dce5db;border-radius:9px;padding:4px}
.stock-product-link{cursor:pointer}.stock-product-link:hover{border-color:#72a083}.stock-card-cta{display:block;margin-top:14px;font-size:14px;color:#237144}.stock-back{display:inline-block;margin-bottom:24px;color:#47775a;font-size:14px}.stock-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.stock-gallery{min-width:0}.stock-gallery figure{margin:0 0 16px;aspect-ratio:1;background:#f8f9f6;border:1px solid #e7ece3;border-radius:20px;overflow:hidden;display:grid;place-items:center}.stock-gallery figure img{width:100%;height:100%;min-height:0;object-fit:contain;padding:20px}.stock-gallery h2,.stock-product-info h2{font-size:19px;margin:20px 0 12px}.stock-style-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.stock-style-grid button{min-width:0;border:1px solid #dce6dd;border-radius:12px;padding:9px 5px;background:#fff;color:#315a41}.stock-style-grid button[aria-pressed="true"]{border:2px solid #237144;background:#eef6ee;padding:8px 4px}.stock-style-grid img{height:98px;width:100%;object-fit:contain}.stock-style-grid span{display:block;margin-top:7px;font-size:12px}.stock-product-info h1{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(28px,3vw,42px);line-height:1.25;margin:12px 0 16px}.stock-intro{color:#6a7d6d;margin-bottom:20px}.stock-selected{margin:24px 0;background:#f3f7ef;border-radius:14px;padding:16px 20px}.stock-selected h2{margin:0 0 6px}.stock-selected p{margin:0;font-size:14px;color:#536c58}.stock-specs{margin:20px 0}.stock-specs>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e7ece3;font-size:14px}.stock-specs dt{color:#7a897c}.stock-specs dd{margin:0}.stock-story{margin-top:32px;padding-top:8px;border-top:1px solid #e4eae0}.stock-story p,.stock-story li{font-size:14px;line-height:1.8}.stock-story ul{padding-left:20px}.stock-style-grid button:focus-visible,.stock-back:focus-visible,.stock-product-link:focus-visible{outline:2px solid #237144;outline-offset:3px}@media(max-width:720px){.stock-detail-grid{grid-template-columns:1fr;gap:26px}.stock-gallery figure{max-height:460px}.stock-style-grid{gap:7px}.stock-style-grid img{height:78px}.stock-specs>div{grid-template-columns:115px 1fr}.stock-detail{padding-top:18px}}
.stock-mixed-choice{display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;padding:12px;border:1px solid #dce6dd;border-radius:12px;background:#fff;color:#315a41;text-align:left}.stock-mixed-choice[aria-pressed="true"]{border:2px solid #237144;background:#eef6ee;padding:11px}.stock-mixed-choice img{width:76px;height:64px;object-fit:cover;border-radius:7px}.stock-mixed-choice span{min-width:0}.stock-mixed-choice strong,.stock-mixed-choice small{display:block}.stock-mixed-choice small{color:#6a7d6d;font-size:12px;margin-top:5px}.stock-mixed-choice:focus-visible{outline:2px solid #237144;outline-offset:3px}
.stock-series-card>img{object-fit:contain;background:#f8f9f6}
.site-footer{flex-wrap:wrap}.footer-policy-links{flex-basis:100%;display:flex;flex-wrap:wrap;gap:12px 24px;line-height:1.8}.footer-policy-links a:hover,.ordering-policy-links a:hover,.policy-body a:hover{text-decoration:underline}.footer-policy-links a:focus-visible,.ordering-policy-links a:focus-visible,.policy-body a:focus-visible{outline:2px solid #237144;outline-offset:3px}
.policy-page{max-width:960px}.policy-page h1{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(30px,4vw,44px);line-height:1.2;margin:14px 0}.policy-intro{color:#536c58;font-size:18px}.policy-date,.policy-language-note{color:#6a7d6d;font-size:13px}.policy-page>.notice{margin:24px 0}.policy-body{padding:8px 28px;background:#fff;border:1px solid #e4eae0;border-radius:16px;line-height:1.8;overflow-wrap:anywhere}.policy-body section{padding:18px 0;border-bottom:1px solid #e4eae0}.policy-body section:last-child{border:0}.policy-body h2{font-size:21px;line-height:1.4;margin:0 0 12px}.policy-body p{margin:10px 0}.policy-body a,.ordering-policy-links a{color:#237144;text-decoration:underline;text-underline-offset:3px}.policy-body ol{padding-left:24px}.policy-body li{margin:8px 0}.policy-pending{color:#806027;background:#faf4e8;border-radius:4px;padding:2px 4px}.policy-facts{margin:16px 0}.policy-facts>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf0e9}.policy-facts dt{font-weight:600;color:#536c58}.policy-facts dd{margin:0}.ordering-policy-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0;font-size:13px;line-height:1.8}
@media(max-width:600px){.policy-body{padding:4px 18px}.policy-facts>div{grid-template-columns:1fr;gap:4px}.footer-policy-links{flex-basis:auto;gap:10px 18px}}
