:root{--ink:#203d34;--muted:#66746e;--paper:#f6f5ef;--line:#d8ded6;--green:#235b48;font-family:system-ui,-apple-system,"Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:48px;padding:12px 17px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b29442;outline-offset:3px}[hidden]{display:none!important}.brand{height:76px;max-width:1040px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand a{text-decoration:none;color:inherit;font-weight:850;font-size:23px}.brand a span{font-size:10px;letter-spacing:2px;margin-left:7px}.badge{font-size:11px;color:var(--muted)}main{max-width:820px;margin:auto;padding:40px 28px 120px}h1{font-size:clamp(30px,5vw,46px);line-height:1.3;letter-spacing:-1.4px;margin:12px 0 20px}p{line-height:1.8;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--green)}.intro{font-size:17px}.hero-card{margin:32px auto;background:var(--ink);color:#fff;width:min(100%,450px);aspect-ratio:1.585;border-radius:15px;padding:30px;box-shadow:0 18px 35px #203d341f;transform:rotate(-3deg);display:flex;flex-direction:column;justify-content:center}.hero-card>span{font-size:9px;letter-spacing:3px;margin-bottom:24px;color:#bfcfc4}.hero-card strong{font-size:32px;letter-spacing:4px}.hero-card p{color:#c9d5cc;margin:8px 0}.hero-card small{font-size:10px;margin-top:20px}.price{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px}.price strong{font-size:34px}.price small{font-size:14px;font-weight:400}.price>span{font-size:12px;color:var(--muted);line-height:1.8;text-align:right}.primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:650}#create{display:flex;width:100%;justify-content:space-between}.notice{font-size:12px;background:#eeeee5;border-radius:10px;padding:14px 16px}.hint{font-size:12px}.progress{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.track{background:var(--line);height:3px;margin:12px 0 34px}.track i{display:block;background:var(--green);height:100%;transition:width .2s}.template{display:grid;text-align:left;gap:10px;width:min(100%,380px);border:2px solid var(--green);padding:18px}.template-art{aspect-ratio:1.585;background:#eeeede;border-radius:7px;padding:42px 22px;font-size:27px;letter-spacing:4px}.template-art small{display:block;font-size:10px;letter-spacing:2px;margin-top:10px}.template>span:last-child{font-size:12px;color:var(--muted)}form{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin-top:28px}label{display:block;font-size:13px;font-weight:600}em{font-style:normal;font-size:10px;color:var(--muted);margin-left:4px}input:not([type=checkbox]):not([type=range]),textarea,select{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:10px;background:white;padding:14px 12px;color:var(--ink);font-size:16px;outline-color:var(--green)}textarea{resize:vertical}.wide{grid-column:1/-1}.upload{border:1px dashed #89a293;background:#fff;padding:24px;border-radius:15px;font-size:16px}#photo-file{font-size:12px;margin-top:15px!important}#crop-preview{display:block;width:min(100%,300px);height:auto;margin:24px auto;border:1px solid var(--line);border-radius:12px;background:repeating-conic-gradient(#e7ebe5 0% 25%,white 0% 50%) 50%/20px 20px}input[type=range]{display:block;width:100%;accent-color:var(--green);min-height:32px}#crop-controls label{margin-top:14px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.actions button{font-size:12px}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:5;background:#f6f5eff5;border-top:1px solid var(--line);backdrop-filter:blur(10px);padding:12px max(20px,calc((100vw - 764px)/2)) calc(12px + env(safe-area-inset-bottom));display:flex;gap:8px}.bottom button{white-space:nowrap;font-size:13px;padding:12px}.bottom .primary{margin-left:auto;flex:1;max-width:270px}.preview-tabs{display:flex;gap:8px;margin:24px 0}.preview-tabs button{flex:1}.preview-tabs [aria-pressed=true]{background:var(--ink);color:white}#card-preview{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px #203d341c}.ack{display:flex;align-items:flex-start;gap:10px;line-height:1.8;font-weight:400;margin:24px 0}.ack input{min-width:20px;min-height:20px;accent-color:var(--green)}.profile{background:white;border:1px solid var(--line);border-radius:24px;padding:32px 24px;max-width:380px;margin:auto;text-align:center}.profile canvas{width:100px;height:100px;border-radius:50%}.profile h2{font-size:27px;margin:8px}.profile p{margin:8px 0;overflow-wrap:anywhere}.profile small{display:block;margin-top:24px;color:var(--muted);font-size:11px}#profile-links a{display:block;margin:10px 0;padding:14px;background:var(--paper);border-radius:10px;text-decoration:none;color:var(--ink)}#profile-bio{white-space:pre-wrap}#message{position:relative;font-size:14px;background:#e5ecdf;border-radius:10px;padding:12px 16px;overflow-wrap:anywhere}#message:empty{display:none}.error{color:#a43727!important}details{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:13px}summary{cursor:pointer;min-height:40px}.draft-row{display:flex;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.draft-row strong{flex:1;font-size:14px;overflow-wrap:anywhere}.draft-row button{font-size:12px}#draft-list h2{font-size:20px;margin-top:34px}@media(max-width:540px){.brand{padding:18px 20px;height:68px}.brand a span{display:none}main{padding:28px 20px 110px}form{grid-template-columns:1fr;gap:20px}.hero-card{padding:26px}.progress{font-size:10px}.bottom{gap:6px}.bottom button{font-size:12px;padding:10px}.bottom .primary{max-width:none}.actions button{flex:1}.price{margin-top:35px}}

.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-grid .template{width:100%;margin:0;min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:10px;gap:6px}.template-grid .template-art{height:auto;padding:0;background:transparent}.template-grid canvas{display:block;width:100%;height:auto;border-radius:6px}.template-grid .template span:last-child{font-size:12px}.template-grid .selected{outline:2px solid #186b50;outline-offset:1px}
