:root{--accent:#9a5206;--danger:#d93025;--ink:#251306;--line:#ead4ba;--muted:#5f5045;--soft:#827367;--surface:#fffaf3;--sage:#5e7e6a;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 82% 2%,#5e7e6a24,#0000 26rem),linear-gradient(115deg,#fffdf9 0%,#fff7ed 46%,#fbf3e8 100%);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--sage), white 35%);outline-offset:3px}label:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--sage), white 35%);outline-offset:3px}::selection{background:#9a52062e}.app-shell{width:min(1850px,100% - 48px);margin:0 auto;padding:28px 0 34px}.hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.hero h1{max-width:940px;color:var(--ink);margin:0;font-size:clamp(40px,4.35vw,72px);font-weight:900;line-height:.98}.hero h1 span{display:block}.hero p{max-width:990px;color:var(--muted);margin:14px 0 0;font-size:18px;line-height:1.6}.hero-mark{background:#fffdf9;border:1px solid #0aa6a638;border-radius:999px;flex:none;place-items:center;width:118px;height:118px;display:grid;overflow:hidden;box-shadow:0 16px 34px #56371c1a}.hero-mark img{object-fit:cover;width:100%;height:100%}.steps-grid{grid-template-columns:minmax(360px,1.04fr) minmax(390px,1.08fr) minmax(340px,.94fr);align-items:stretch;gap:24px;display:grid}.step-card{border:1px solid var(--line);background:linear-gradient(180deg, #fffc, #fffaf3eb), var(--surface);border-radius:14px;min-width:0;padding:24px;box-shadow:0 18px 50px #56371c14}.step-header{align-items:flex-start;gap:18px;margin-bottom:26px;display:flex}.step-header>span{background:radial-gradient(circle at 28% 25%, #c47520 0, var(--accent) 58%, #743400 100%);color:#fffaf2;border-radius:999px;flex:none;place-items:center;width:44px;height:44px;font-size:23px;font-weight:900;display:inline-grid;box-shadow:inset 0 -2px 4px #4d230052}.step-header h2{color:var(--ink);letter-spacing:0;margin:1px 0 3px;font-size:25px;font-weight:900;line-height:1.22}.step-header p{color:var(--muted);margin:0;font-size:15px;line-height:1.45}.upload-zone{min-height:196px;color:var(--ink);cursor:pointer;text-align:center;background:repeating-linear-gradient(135deg,#b26b1b0a 0 2px,#0000 2px 8px),#fffdf8;border:2px dashed #dcbf9d;border-radius:14px;place-items:center;margin-bottom:18px;padding:26px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.upload-zone:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 16px 34px #8848051a}.upload-zone input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.upload-zone svg{width:60px;height:60px;color:var(--accent);stroke-width:1.8px;margin-bottom:8px}.upload-zone strong{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:850;display:block;overflow:hidden}.upload-zone span{color:var(--soft);margin-top:12px;font-size:14px}.upload-zone.has-file{background:linear-gradient(135deg,#5e7e6a1f,#0000 52%),#fffdf8;border-style:solid}.control-group{margin-top:16px}.control-heading{justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:8px;display:flex}.control-heading h3{color:var(--ink);margin:0;font-size:15px;font-weight:850}.segmented-options{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px;display:grid}.segmented-options button,.small-button,.download-button,.job-strip button,.save-note button,.primary-button{border:1px solid var(--line);min-height:46px;color:var(--ink);font:inherit;letter-spacing:0;cursor:pointer;background:#fffdf9;border-radius:9px;font-size:15px;font-weight:750;transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.segmented-options button{justify-content:center;align-items:center;gap:10px;padding:10px 12px;display:inline-flex}.segmented-options button:hover,.small-button:hover,.download-button:hover,.job-strip button:hover,.save-note button:hover{border-color:color-mix(in srgb, var(--accent), white 20%);transform:translateY(-1px);box-shadow:0 10px 22px #8848051a}.segmented-options button.selected{border-color:var(--accent);color:var(--accent);background:#fff8ec;box-shadow:inset 0 0 0 1px #a65b0714}.segmented-options svg,.small-button svg,.download-button svg,.job-strip button svg,.save-note button svg,.primary-button svg{stroke-width:1.9px;flex:none;width:20px;height:20px}.small-button{min-height:34px;color:var(--accent);align-items:center;gap:7px;padding:7px 12px;font-size:14px;display:inline-flex}.phrase-field{border:1px solid var(--accent);background:#fffdf9;border-radius:9px;align-items:center;display:flex;box-shadow:inset 0 0 0 1px #a65b070d}.phrase-field input{width:100%;min-width:0;color:var(--ink);font:inherit;text-align:center;background:0 0;border:0;outline:0;padding:13px 14px;font-size:28px;font-weight:900;line-height:1}.phrase-field span{color:var(--soft);flex:none;padding-right:14px;font-size:14px}.helper-copy,.subtle-note{color:var(--soft);margin:8px 0 0;font-size:13px;line-height:1.4}.warning-copy{color:var(--danger);align-items:center;gap:8px;margin:12px 0 0;font-size:14px;font-weight:800;line-height:1.35;display:flex}.warning-copy svg{width:22px;height:22px;fill:color-mix(in srgb, var(--danger), white 80%);flex:none}.primary-button{color:#fffaf1;background:linear-gradient(#bd741a,#934b02);border-color:#884805;justify-content:center;align-items:center;gap:12px;width:100%;min-height:58px;margin-top:18px;font-size:20px;font-weight:900;display:inline-flex;box-shadow:inset 0 1px #ffffff38,0 16px 28px #7f3f002e}.primary-button:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,0 20px 34px #7f3f0038}button:disabled{cursor:not-allowed;opacity:.62;transform:none}.upload-zone:has(input:disabled){cursor:not-allowed;opacity:.62;transform:none}.job-strip{border:1px solid var(--line);background:linear-gradient(#fffdf9,#fff8ef);border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px;display:grid}.job-strip span{color:var(--muted);margin-bottom:8px;font-size:14px;display:block}.job-strip strong{color:var(--ink);white-space:nowrap;font-size:20px;font-weight:900;line-height:1.1}.job-strip button{min-height:48px;color:var(--accent);white-space:nowrap;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.progress-area{grid-template-columns:178px minmax(0,1fr);align-items:center;gap:30px;margin:38px 0 30px;display:grid}.progress-ring{aspect-ratio:1;background:conic-gradient(var(--accent) var(--progress-deg), #e9dfd3 0);border-radius:999px;place-items:center;width:172px;transition:background .22s;display:grid;box-shadow:inset 0 0 0 1px #5931110f}.progress-ring:before{content:"";position:absolute}.progress-ring span{aspect-ratio:1;width:124px;color:var(--ink);background:#fffdf9;border-radius:999px;place-items:center;font-size:44px;font-weight:900;line-height:1;display:grid}.progress-copy h3{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;margin:0 0 8px;font-size:24px;font-weight:900;line-height:1.25;display:flex}.progress-copy h3 svg{width:23px;height:23px;color:var(--accent);fill:color-mix(in srgb, var(--accent), white 58%)}.progress-copy p{color:var(--muted);margin:0 0 16px;font-size:16px}.confirmed-pill{border:1px solid color-mix(in srgb, var(--accent), white 45%);max-width:100%;color:var(--accent);background:#fffaf0;border-radius:999px;align-items:center;gap:8px;margin-bottom:13px;padding:11px 16px;font-size:16px;font-weight:850;display:inline-flex}.confirmed-pill svg{width:18px;height:18px}.progress-copy>span{color:var(--soft);align-items:center;gap:8px;font-size:14px;font-weight:750;display:flex}.progress-copy>span svg{width:18px;height:18px}.progress-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:42px;margin:0;padding:0;list-style:none;display:grid}.progress-steps li{border:1px solid var(--line);min-height:128px;color:var(--soft);text-align:center;background:#fffdf9;border-radius:10px;align-content:center;justify-items:center;gap:8px;display:grid;position:relative}.progress-steps li:not(:last-child):after{content:"";border-top:2px solid #a58f7b;border-right:2px solid #a58f7b;width:13px;height:13px;position:absolute;right:-30px;transform:rotate(45deg)}.progress-steps li>span{width:30px;height:30px;color:var(--soft);background:#fffdf9;border:2px solid #d7c8b9;border-radius:999px;place-items:center;font-size:17px;font-weight:900;display:grid;position:absolute;top:-17px}.progress-steps svg{stroke-width:1.55px;width:40px;height:40px}.progress-steps p{color:inherit;margin:0;font-size:14px;font-weight:800;line-height:1.3}.progress-steps li.done,.progress-steps li.active{border-color:color-mix(in srgb, var(--accent), white 28%);color:var(--accent);background:#fff8ef}.progress-steps li.done>span,.progress-steps li.active>span{border-color:var(--accent);background:var(--accent);color:#fff}.save-note{border:1px solid var(--line);background:#fff8ef;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:36px;padding:18px;display:grid}.save-note>svg{width:31px;height:31px;color:var(--ink)}.save-note p{color:var(--ink);margin:0;font-size:16px;font-weight:850;line-height:1.35}.save-note button{min-height:44px;color:var(--accent);white-space:nowrap;padding:9px 16px}.result-preview{border:1px solid var(--line);background:repeating-linear-gradient(135deg,#452b1909 0 2px,#0000 2px 8px),#fbf6ed;border-radius:10px;place-items:center;min-height:410px;margin-bottom:18px;display:grid;overflow:hidden}.patch-product{aspect-ratio:1;filter:drop-shadow(0 18px 20px #4426102e);place-items:center;width:min(100%,400px);display:grid;position:relative}.patch-product img{object-fit:cover;border-radius:999px;width:100%;height:100%}.patch-product.shield img{clip-path:polygon(50% 2%,93% 16%,87% 75%,50% 98%,13% 75%,7% 16%);border-radius:18px}.patch-product.ribbon:before,.patch-product.ribbon:after{content:"";z-index:0;background:linear-gradient(#9b5c22,#673611);width:35%;height:25%;position:absolute;bottom:19%}.patch-product.ribbon:before{clip-path:polygon(0 0,100% 14%,92% 100%,0 78%,24% 48%);left:-3%}.patch-product.ribbon:after{clip-path:polygon(0 14%,100% 0,76% 48%,100% 78%,8% 100%);right:-3%}.patch-product strong{z-index:2;width:var(--patch-text-width,60%);color:#3a210d;min-height:52px;font-size:clamp(20px, var(--patch-text-size,32px), 35px);text-align:center;word-break:keep-all;text-shadow:0 1px #fff2dc,0 2px #9f6a35b8,-.5px 0 #2a1608,0 2px 2px #4221073d;place-items:center;font-weight:950;line-height:1.05;display:grid;position:absolute;bottom:18.5%;left:50%;transform:translate(-50%)}.download-actions{gap:12px;display:grid}.download-button{justify-content:center;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 18px;font-size:18px;display:inline-flex}.download-button.primary{color:#fffaf1;background:linear-gradient(#bd741a,#934b02);border-color:#884805;box-shadow:0 14px 26px #7f3f0029}.return-panel{border:1px solid var(--line);background:#fffdf9e0;border-radius:14px;grid-template-columns:82px minmax(0,1fr) minmax(320px,650px);align-items:center;gap:20px;margin-top:22px;padding:22px 36px;display:grid;box-shadow:0 14px 38px #56371c0f}.return-panel>svg{border:1px solid var(--line);width:72px;height:72px;color:var(--accent);box-sizing:border-box;background:#fff8ef;border-radius:999px;padding:20px;display:grid}.return-panel h2{color:var(--ink);margin:0 0 8px;font-size:24px;font-weight:900}.return-panel p{color:var(--muted);margin:0;font-size:16px;line-height:1.45}.return-panel a{border:1px solid var(--line);min-width:0;color:var(--ink);background:#fff8ef;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-size:18px;font-weight:800;line-height:1.3;text-decoration:none;display:inline-flex}.return-panel a svg{color:var(--accent);flex:none}@media (width<=1390px){.steps-grid{grid-template-columns:1fr 1fr}.steps-grid .step-card:last-child{grid-column:1/-1}.result-preview{min-height:360px}}@media (width<=980px){.app-shell{width:min(100% - 28px,760px);padding-top:24px}.hero{align-items:flex-start}.hero-mark{width:78px;height:78px}.steps-grid{grid-template-columns:1fr}.steps-grid .step-card:last-child{grid-column:auto}.return-panel{grid-template-columns:auto minmax(0,1fr)}.return-panel a{grid-column:1/-1}}@media (width<=680px){.app-shell{width:min(100% - 20px,520px);padding-top:18px}.hero{display:block}.hero h1{font-size:40px}.hero p{font-size:15px}.hero-mark{display:none}.step-card{border-radius:12px;padding:20px}.step-header{gap:13px;margin-bottom:20px}.step-header>span{width:38px;height:38px;font-size:20px}.step-header h2{font-size:22px}.upload-zone{min-height:172px}.segmented-options{grid-template-columns:1fr}.job-strip strong,.progress-copy h3{white-space:normal}.control-heading{flex-direction:column;align-items:flex-start}.phrase-field input{font-size:25px}.job-strip,.progress-area,.save-note,.return-panel{grid-template-columns:1fr}.job-strip button,.save-note button{justify-content:center}.progress-area{justify-items:center;gap:22px;margin-top:30px}.progress-copy{text-align:center}.progress-copy h3,.progress-copy>span,.confirmed-pill{justify-content:center}.progress-steps{grid-template-columns:1fr 1fr;gap:28px 18px}.progress-steps li:not(:last-child):after{display:none}.result-preview{min-height:300px}.patch-product{width:min(100%,320px)}.return-panel{padding:20px}.return-panel>svg{width:58px;height:58px;padding:16px}.return-panel a{flex-direction:column;align-items:flex-start;font-size:15px}}
