*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#111;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,"Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif}
a{color:#111}
header,main,footer{max-width:960px;margin:0 auto;padding:0 20px}
header{display:flex;justify-content:space-between;align-items:center;height:64px}
.brand{text-decoration:none;font-size:17px;letter-spacing:-.01em}.brand b{font-weight:700}
.sw{font-size:14px;color:#555;text-decoration:none;padding:8px 4px}.sw:hover{color:#111}
.hero{max-width:640px;margin:24px auto 20px;text-align:center}
h1{font-size:40px;line-height:1.15;letter-spacing:-.025em;margin:0 0 10px}
.hero p{margin:0;color:#555;font-size:17px}
h2{font-size:22px;letter-spacing:-.01em;margin:0 0 14px}
#studio,#pricing,#faq{max-width:600px;margin:0 auto 56px}
.card{border:1px solid #e5e5e5;border-radius:16px;background:#fff}
.studio{padding:20px}
.stage{background:#f6f6f6;border-radius:12px;display:flex;justify-content:center;align-items:center;height:300px;margin-bottom:16px}
#char svg{width:280px;height:280px;display:block}
.row{display:flex;gap:8px;margin-bottom:12px}
input{flex:1 1 auto;min-width:0;height:48px;font-size:16px;border:1px solid #d4d4d4;border-radius:10px;padding:0 12px;font:inherit;color:#111;background:#fff}
input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #111;outline-offset:2px}
.btn{height:44px;padding:0 18px;border-radius:10px;border:1px solid #d4d4d4;background:#fff;color:#111;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;width:auto;min-width:0}
.btn:hover{border-color:#111}
.btn.primary{background:#0A0A0A;color:#fff;border-color:#0A0A0A}.btn.primary:hover{background:#262626}
.btn.ghost{background:#fff;color:#0A0A0A;border-color:#0A0A0A}.btn.ghost:hover{background:#f4f4f4}
#go{height:48px}
.tools{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 14px}
.seg{display:inline-flex;background:#f1f1f1;border-radius:10px;padding:3px}
.seg button{height:38px;padding:0 16px;border:0;background:transparent;border-radius:8px;font:inherit;font-size:15px;color:#555;cursor:pointer}
.seg button[aria-pressed=true]{background:#fff;color:#111;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.part{padding:10px 0;border-top:1px solid #efefef}
.ph{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ph b{font-size:14px}
.lk{min-height:44px;min-width:44px;padding:0 10px;margin:-8px -10px -8px 0;border:0;background:transparent;color:#6b6b6b;font:inherit;font-size:13px;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:6px}
.lk:hover{color:#0A0A0A}.lk[aria-pressed=true]{color:#0A0A0A;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 16px;border-radius:999px;border:0;background-color:#f1f1f1;color:#333;font:inherit;font-size:14px;cursor:pointer}
.chip[aria-pressed=true]{background-color:#0A0A0A;color:#fff}
.sw8{width:44px;height:44px;padding:0;border-radius:50%}.sw8[aria-pressed=true]{box-shadow:inset 0 0 0 2px #0A0A0A,inset 0 0 0 4px #fff}
.dl{padding-top:14px;border-top:1px solid #efefef}
.note{font-size:13px;color:#6b6b6b;margin:8px 0 0}
.paid{margin-top:18px;padding-top:14px;border-top:1px solid #efefef}.paid h2{font-size:16px;margin-bottom:10px}
.pbtns{display:flex;flex-wrap:wrap;gap:8px}
.btn.hd{height:auto;min-height:52px;padding:6px 14px;border:1px dashed #b5b5b5;color:#6B6B6B;font-weight:500;display:inline-flex;align-items:center;gap:8px;text-align:left}.btn.hd:hover{border-color:#6B6B6B}
.hd>span{display:flex;flex-direction:column;line-height:1.25}.hl{font-size:14px}.hm{font-size:12px;color:#8a8a8a;font-weight:400}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.plan{padding:20px}.plan h3{margin:0 0 4px;font-size:18px}.price{font-size:28px;font-weight:700;margin:0 0 10px;letter-spacing:-.02em}.price span{font-size:14px;color:#6b6b6b;font-weight:400}
.plan ul{margin:0 0 16px;padding-left:18px;color:#444;font-size:14px}.plan .btn{min-width:160px}
details{border-top:1px solid #efefef;padding:12px 0}summary{cursor:pointer;font-weight:600}details p{color:#555;margin:8px 0 0}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:24px 20px 40px;color:#6b6b6b;font-size:14px;border-top:1px solid #efefef}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:640px){h1{font-size:30px}.stage{height:260px}#char svg{width:240px;height:240px}
 .row{flex-direction:column}.row input{flex:none}.row .btn,.dl .btn,.plan .btn{width:100%}.plans{grid-template-columns:1fr}.tools{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.chip[data-off]{opacity:.35;cursor:not-allowed}
.chip.chip-action{background:#fff;color:#0a0a0a;border:1px solid #d4d4d4}
.pack{display:flex;flex-direction:column}.pack .btn{margin-top:auto;align-self:flex-start}
@media (max-width:640px){.pack .btn{align-self:stretch}}

.lic{margin-top:20px;padding-top:16px;border-top:1px solid #efefef}.lic h3{margin:0 0 10px;font-size:16px}
.lic .row{max-width:560px;margin-bottom:0}.licon{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.licon p{margin:0;font-weight:600}
#licmsg.err{color:#b42318}#licmsg.ok{color:#111}
.unlocked .btn.hd{border-style:solid;border-color:#d4d4d4;color:#111}.unlocked .btn.hd .li,.unlocked .btn.hd .hm{display:none}
footer .legal{display:flex;gap:16px}footer .legal a{color:#6b6b6b}
@media (max-width:640px){.lic .row{flex-direction:column}.lic .row .btn,.licon .btn{width:100%}}
.doc{max-width:720px;margin:0 auto;padding:32px 20px 48px}.doc h1{font-size:30px;margin:0 0 16px}.doc h2{font-size:18px;margin:24px 0 6px}.doc p{color:#333;line-height:1.6;margin:0}
[hidden]{display:none!important}
#lic h3:focus{outline:none}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
/* sticky preview (Design Critic spec): the character stays in view while editing options */
.pv{min-width:0}.pv>.stage{margin:0;border-radius:12px;height:auto}
.pv>.stage #char{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.pv>.stage #char svg{width:100%;height:100%;max-width:280px;max-height:280px;object-fit:contain}
#pvs{height:0}
@media (min-width:900px){
 #studio,#pricing,#faq{max-width:760px}
 .studio{display:grid;grid-template-columns:260px minmax(0,1fr);column-gap:16px;align-items:start}
 .studio>*{grid-column:2;text-align:left}
 .studio>#pvs{display:none}
 .studio>.pv{grid-column:1;grid-row:1/span 7;position:sticky;top:24px;align-self:start}
 .pv>.stage{aspect-ratio:3/4;width:100%}
}
@media (max-width:899px){
 .studio>.pv{position:sticky;top:0;z-index:10;background:#fff;margin:0 0 16px}
 .pv.stuck{border-bottom:1px solid #e5e5e5}
 .pv>.stage{height:min(32vh,240px);height:min(32svh,240px)}
 .studio>form,.studio>.tools,.studio .part,.studio>.dl,.studio>.paid,.studio .chip,.studio input,.studio button{scroll-margin-top:calc(min(32svh,240px) + 16px)}
 html{scroll-padding-top:calc(min(32svh,240px) + 16px)}
}
