:root{--ink:#1a1a1a;--text:#2d2d2b;--muted:#8b8b87;--quiet:#b1b1ad;--line:#e7e7e3;--soft:#f7f7f5;--paper:#fff;--cta:#3b3a37;--max:1180px;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:#fff;scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Spoqa Han Sans Neo","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.025em}button,input,select{font:inherit}button,a{color:inherit}button{cursor:pointer}.shell{min-height:100vh;background:#fff}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.topbar{height:86px;border-bottom:1px solid #efefed;display:flex;align-items:center;justify-content:space-between}.brand{font-size:15px;font-weight:500;color:#2c2c2a}.main-logo{width:112px;height:auto;object-fit:contain;opacity:.58}.hero{padding:96px 0 72px}.hero h1{margin:0 0 25px;font-size:clamp(38px,4.6vw,56px);font-weight:600;line-height:1.24;letter-spacing:-.06em;color:rgba(23,23,23,.7)}.hero p{max-width:720px;margin:0;font-size:17px;line-height:1.9;color:rgba(23,23,23,.43)}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:74px 24px;padding:8px 0 170px}.product-card{min-width:0}.product-image{aspect-ratio:1/1;background:var(--soft);overflow:hidden;display:flex;align-items:center;justify-content:center}.product-image img{width:100%;height:100%;object-fit:contain;padding:5.5%;mix-blend-mode:multiply}.product-placeholder{font-size:12px;letter-spacing:.08em;color:#c3c3bf}.product-meta{padding-top:16px;display:flex;flex-direction:column;min-height:178px}.product-title{font-size:14px;line-height:1.45;font-weight:500}.product-note{margin-top:9px;font-size:12px;line-height:1.65;color:#8d8d89;min-height:39px}.prices{margin-top:auto;padding-top:10px;display:flex;align-items:baseline;gap:11px}.old{font-size:11px;color:#aaa;text-decoration:line-through}.price{font-size:14px;font-weight:500}.buyrow{margin-top:15px;display:grid;grid-template-columns:106px 1fr;gap:8px}.qty{height:44px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.qty button{border:0;background:transparent;width:36px;height:100%;font-size:18px;color:#62625f}.qty span{font-size:12px;flex:1;text-align:center}.add{height:44px;border:1px solid #d7d6d2;background:#fff;color:#373633;font-size:12px;transition:.2s}.add:hover{border-color:#aaa9a4;background:#fafaf8}.cartbar{position:fixed;left:50%;z-index:50;bottom:26px;width:min(720px,calc(100% - 30px));padding:10px 10px 10px 16px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 14px 40px rgba(0,0,0,.055);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:14px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1)}.cartbar.show{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.cart-summary{font-size:12px;color:#6d6d69}.cart-summary strong{color:#2d2d2b;font-weight:600}.cartbar button{height:48px;padding:0 22px;border:1px solid var(--cta);background:var(--cta);color:white;font-size:12px;white-space:nowrap;transition:.2s}.cartbar button:hover{background:#2f2e2c}.checkout{min-height:100vh;display:grid;grid-template-columns:minmax(330px,42%) 1fr}.order-left{padding:44px clamp(28px,5vw,76px);border-right:1px solid var(--line);background:#fff}.order-right{padding:72px clamp(28px,6vw,90px);background:#fff}.back{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#383836;margin-bottom:58px}.back:hover{opacity:.55}.left-title{font-size:14px;font-weight:500;margin-bottom:20px}.cart-list{border-top:1px solid var(--line)}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.thumb{width:72px;height:72px;background:var(--soft);overflow:hidden;display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:100%;object-fit:contain;padding:7%;mix-blend-mode:multiply}.thumb .product-placeholder{font-size:7px}.ci-title{font-size:13px}.ci-sub{margin-top:6px;font-size:11px;color:#999}.ci-price{font-size:12px}.left-total{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-size:12px}.manifesto{margin-top:72px;font-size:16px;line-height:1.65;color:#777}.manifesto small{display:block;margin-top:16px;font-size:11px;color:#aaa}.order-panel{max-width:560px}.form-title{margin:0 0 42px;font-size:28px;font-weight:500}.field{margin-bottom:20px}.field label,.receipt-title{display:block;margin-bottom:9px;font-size:12px;color:#555}.field input,.field select{width:100%;height:48px;border:1px solid var(--line);background:#fff;padding:0 13px;outline:none;font-size:14px}.field input:focus{border-color:#92928e}.addr-row{display:grid;grid-template-columns:1fr 110px;gap:8px}.addr-row button{border:1px solid #d0d0cc;background:#fff;font-size:12px}.receipt{margin:32px 0}.receipt-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.receipt-options button{height:44px;border:1px solid var(--line);background:#fff;font-size:11px;color:#777}.receipt-options button.active{border-color:#565652;color:#222}.consent{display:flex;align-items:flex-start;gap:10px;margin:30px 0;font-size:11px;line-height:1.65;color:#777}.consent input{margin-top:3px}.details-toggle{border:0;background:none;padding:0;text-decoration:underline;font-size:11px}.privacy-box{display:none;margin-top:9px;padding:12px;background:#fafaf8;font-size:10px;line-height:1.65}.privacy-box.show{display:block}.sum{border-top:1px solid var(--line);margin-top:24px}.sumrow{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.sumrow.total{font-size:15px;font-weight:600;padding:18px 0}.primary{width:100%;height:54px;margin-top:22px;border:1px solid var(--cta);background:var(--cta);color:#fff;font-size:12px;transition:.2s}.primary:hover{background:#2f2e2c}.primary:disabled{opacity:.55;cursor:wait}.business{margin-top:34px;padding-top:26px;border-top:1px solid var(--line);font-size:11px;color:#888;line-height:1.8}.business a{display:inline-block;margin-top:8px;color:#2d2d2b;text-decoration:none}.complete{min-height:100vh;padding:64px 24px;display:grid;place-items:center;background:#fff}.complete-card{width:min(100%,640px);text-align:center}.complete-kicker{font-size:11px;color:#999;margin-bottom:26px}.complete h1{font-size:32px;font-weight:500;margin:0}.lead{margin:20px 0 46px;font-size:14px;line-height:1.9;color:#8a8a86}.bankbox{padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bankbox small{font-size:11px;color:#999}.amount{font-size:34px;font-weight:600;margin:10px 0 24px}.bank{font-size:14px;line-height:1.8}.copy{margin-top:22px;height:42px;padding:0 18px;border:1px solid #d2d2cf;background:#fff;font-size:11px}.order-no{margin:34px 0;font-size:11px;line-height:1.7;color:#888}.return{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:8px;font-size:13px}.return:hover{opacity:.55}.signature{margin-top:68px;font-size:11px;line-height:1.7;color:#aaa}.loading-screen{position:fixed;inset:0;z-index:9999;background:#fff;display:grid;place-content:center;justify-items:center;animation:fade .18s ease both}.loading-screen p{margin-top:20px;font-size:12px;color:#8a8a86}.comma-loader{position:relative;width:30px;height:36px;overflow:hidden}.comma-loader img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.1}.comma-loader span{position:absolute;left:0;bottom:0;width:100%;height:0;background:#1a1a1a;animation:commaFill 1.15s cubic-bezier(.4,0,.2,1) infinite;mask:url('assets/comma.png') center/contain no-repeat;-webkit-mask:url('assets/comma.png') center/contain no-repeat}@keyframes commaFill{0%{height:0;opacity:.55}70%{height:100%;opacity:.9}100%{height:100%;opacity:0}}@keyframes fade{from{opacity:0}to{opacity:1}}
.notice{margin:0 0 20px;padding:14px 16px;border:1px solid #ecece8;background:#fafaf8;font-size:11px;line-height:1.7;color:#777}.notice.error{border-color:#e6d8d4;background:#fffafa;color:#7f4d46}.notice.success{border-color:#dbe5dc;background:#fbfdfb;color:#526954}
/* admin */.admin{min-height:100vh;background:#f7f7f5}.admin-wrap{width:min(calc(100% - 40px),1180px);margin:auto}.admin-head{min-height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.tabs{display:flex;align-items:center;gap:10px}.tabs button,.toplink{border:0;background:none;padding:8px 6px;font-size:12px;text-decoration:none;color:#777}.tabs button.active{color:#111}.admin-main{padding:32px 0 80px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.kpi{background:#fff;border:1px solid #e5e5e2;padding:18px}.kpi small{display:block;color:#999;font-size:10px}.kpi strong{display:block;margin-top:7px;font-size:24px}.admin-actions{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px}.admin-actions h2{font-size:18px;font-weight:500}.admin-actions button,.savebtn{height:38px;padding:0 14px;border:1px solid #cfcfca;background:#fff;font-size:11px}.admin-card{background:#fff;border:1px solid #e5e5e2}.admin-row{display:grid;grid-template-columns:1fr 120px 80px 200px;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid #eee;font-size:12px}.admin-row:last-child{border-bottom:0}.admin-row.header{font-size:10px;color:#999;background:#fafafa}.muted{color:#999}.switch,.mini{height:30px;border:1px solid #d2d2ce;background:#fff;padding:0 9px;font-size:10px}.switch.on{border-color:#5f5f5b;color:#222}.order-admin{grid-template-columns:150px 1fr 110px 190px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setting-card{background:#fff;border:1px solid #e5e5e2;padding:20px}.setting-card h3{font-size:14px;margin:0 0 18px}.setting-card label{display:block;font-size:10px;color:#888;margin-top:12px}.setting-card input{width:100%;height:40px;border:1px solid #e0e0dc;margin-top:6px;padding:0 10px}.modal-bg{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;overflow:auto}.modal{width:min(540px,calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;display:flex;flex-direction:column}.modal h3{position:sticky;top:0;z-index:3;margin:0;padding:24px 30px 18px;background:#fff;border-bottom:1px solid var(--line);font-size:17px}.modal>.field{padding-left:30px;padding-right:30px}.modal>.field:first-of-type{padding-top:24px}.modal-actions{position:sticky;bottom:0;z-index:4;margin:12px 0 0;padding:14px 30px 18px;background:rgba(255,255,255,.98);border-top:1px solid var(--line);backdrop-filter:blur(12px);display:flex;justify-content:flex-end;gap:8px}.modal-actions button{height:42px;min-width:84px;border:1px solid #d2d2ce;background:#fff;font-size:11px}.modal-actions .solid{background:#343432;border-color:#343432;color:#fff}.image-picker{border:1px solid #e2e2de;padding:12px}.image-picker-preview{height:240px;background:#fafaf8;display:flex;align-items:center;justify-content:center;margin-bottom:10px;overflow:hidden}.image-picker-preview img{width:100%;height:100%;object-fit:contain}.image-help{margin-top:9px;font-size:10px;line-height:1.6;color:#999}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:#fff}.login-card{width:min(100%,390px)}.login-card img{width:110px;opacity:.62;margin-bottom:38px}.login-card h1{font-size:22px;font-weight:500;margin:0 0 10px}.login-card p{font-size:12px;color:#888;line-height:1.7;margin:0 0 24px}.login-card input{width:100%;height:48px;border:1px solid var(--line);padding:0 12px;font-size:16px}.login-card button{width:100%;height:48px;margin-top:10px;border:1px solid var(--cta);background:var(--cta);color:#fff;font-size:12px}.bridge-frame{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.topbar{height:70px}.brand{font-size:14px}.main-logo{width:82px;opacity:.55}.hero{padding:58px 0 48px}.hero h1{font-size:30px;line-height:1.28;margin:0 0 17px}.hero p{font-size:14px;line-height:1.8;max-width:330px}.hero p br{display:none}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 14px;padding:8px 0 190px}.product-meta{min-height:154px;padding-top:12px}.product-title{font-size:13px}.product-note{display:none}.prices{display:block;margin-top:auto;padding-top:8px}.old{display:block;font-size:10px;margin-bottom:3px}.price{font-size:13px}.buyrow{margin-top:12px;display:block}.qty{width:100%;height:40px}.add{width:100%;height:40px;margin-top:7px}.cartbar{bottom:calc(var(--safe) + 86px);width:calc(100% - 24px);padding:10px 10px 10px 14px}.cartbar button{height:46px;padding:0 15px;font-size:11px}.cart-summary{font-size:11px;line-height:1.4}.checkout{display:block}.order-left{padding:24px 20px 28px;border-right:0;border-bottom:1px solid var(--line)}.order-right{padding:38px 20px 72px}.back{margin-bottom:32px}.manifesto{display:none}.cart-item{grid-template-columns:60px 1fr auto;gap:12px}.thumb{width:60px;height:60px}.form-title{font-size:24px;margin-bottom:32px}.receipt-options{grid-template-columns:1fr;gap:6px}.field input,.field select{font-size:16px}.addr-row{grid-template-columns:1fr 92px}.complete{padding:38px 20px}.complete h1{font-size:25px}.amount{font-size:27px}.admin-head{padding:20px 0;display:block}.tabs{margin-top:14px;gap:8px;flex-wrap:wrap}.kpis{grid-template-columns:1fr 1fr}.admin-row,.order-admin{grid-template-columns:1fr;gap:8px}.admin-row.header{display:none}.settings-grid{grid-template-columns:1fr}.modal-bg{padding:0;display:block;background:#fff}.modal{width:100%;min-height:100dvh;max-height:100dvh;box-shadow:none;border:0}.modal h3{padding:20px 20px 16px}.modal>.field{padding-left:20px;padding-right:20px}.modal>.field:first-of-type{padding-top:20px}.modal-actions{padding:12px 20px calc(12px + var(--safe));gap:8px}.modal-actions button{height:46px;flex:1}.image-picker-preview{height:220px}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.products{gap:40px 10px}.hero h1{font-size:27px}.main-logo{width:74px}.cartbar{bottom:calc(var(--safe) + 82px)}.cartbar button{padding:0 12px}}
