@font-face{font-family:"Pretendard";font-weight:400;font-display:swap;src:url(fonts/Pretendard-Regular.subset.woff2) format("woff2")}
@font-face{font-family:"Pretendard";font-weight:700;font-display:swap;src:url(fonts/Pretendard-Bold.subset.woff2) format("woff2")}
@font-face{font-family:"Pretendard";font-weight:900;font-display:swap;src:url(fonts/Pretendard-Black.subset.woff2) format("woff2")}
/* 공통 디자인 시스템 (~/apps/tasks/quality_rule.md 6번): 남색 #23395B · 크림 #FAF3E4 · 금색 #E2B04A(강조 1곳) · 주황 #E8623A(데이터) · 회색 #9AA3AE */
:root{--navy:#23395B;--cream:#FAF3E4;--gold:#E2B04A;--data:#E8623A;--grey:#9AA3AE;
--bg:var(--cream);--card:#fff;--ink:#1c2533;--muted:#5d6672;--line:#e6dcc8;--accent:var(--navy);--accent-ink:#fff;--link:var(--navy);
--good:#2F6F5E;--warn:#b5651d;--bad:#c0392b;--chip:#f3ead6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121b2a;--card:#1a2638;--ink:#f1ece2;--muted:#a9b2bd;--line:#2c3b52;--accent:#E8623A;--accent-ink:#121b2a;--link:#f0a37f;--good:#6fbfa6;--warn:#e0a35b;--bad:#f08078;--chip:#23324a}}
:root[data-theme="dark"]{--bg:#121b2a;--card:#1a2638;--ink:#f1ece2;--muted:#a9b2bd;--line:#2c3b52;--accent:#E8623A;--accent-ink:#121b2a;--link:#f0a37f;--good:#6fbfa6;--warn:#e0a35b;--bad:#f08078;--chip:#23324a}
*{box-sizing:border-box}
body{margin:0;padding:16px;background:var(--bg);color:var(--ink);font:15px/1.6 "Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;max-width:1200px;margin-inline:auto}
h1{margin:0;font-size:1.45rem}h2{font-size:1.1rem;margin:0 0 .6rem}h3{font-size:1rem;margin:1.2rem 0 .3rem}
a{color:var(--link)}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sub,.muted{color:var(--muted)}.small{font-size:.85rem}.sub{margin:.2rem 0 0}
.privacy{background:var(--chip);border-radius:10px;padding:10px 12px;font-size:.88rem;margin:14px 0}
.grid{display:grid;grid-template-columns:240px 1fr 300px;gap:14px;align-items:start}
@media (max-width:1000px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px;min-width:0}
.row{display:flex;gap:8px;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}
button,.file{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:8px;padding:7px 12px;font:inherit;cursor:pointer}
.ghost{background:transparent;color:var(--link);border-color:var(--link)}.danger{color:var(--bad);border-color:var(--bad)}
.file input{display:none}.tools{margin-top:10px}
.badge{background:var(--chip);border-radius:999px;padding:3px 10px;font-weight:600}
.list ul{list-style:none;padding:0;margin:0 0 10px}
.list li{padding:8px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:6px}
.list li.on{background:var(--chip);font-weight:600}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
label{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted);gap:3px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%;min-width:0}
textarea{font-family:ui-monospace,monospace;font-size:.8rem}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{border-bottom:1px solid var(--line);padding:5px 6px;text-align:left;font-size:.88rem;vertical-align:middle}
th{color:var(--muted);font-weight:600;white-space:nowrap}
table.ing input,table.ing select{min-width:64px}
table.ing td:first-child input{min-width:110px}
.num{text-align:right;font-variant-numeric:tabular-nums}
.big{font-size:1.6rem;font-weight:700}
.ok{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}
.miss{background:var(--chip);border-left:3px solid var(--warn);padding:8px 10px;border-radius:6px;font-size:.88rem}
.miss ul{margin:.3rem 0 0;padding-left:1.1rem}
.kv{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:.6rem 0}
dialog{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);max-width:420px;width:calc(100% - 32px)}
button:disabled{opacity:.45;cursor:not-allowed}
.doc{max-width:760px;margin:0 auto}.doc h2{margin-top:1.6rem}.doc li{margin:.25rem 0}
.todo{background:var(--chip);border:1px dashed var(--warn);padding:1px 6px;border-radius:4px;font-size:.9em}
.hero{padding:28px 0 8px}.hero h1{font-size:1.9rem;line-height:1.3}.cta{display:inline-block;margin:6px 6px 0 0;text-decoration:none}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.price{font-size:1.5rem;font-weight:700}

h1,h2{font-weight:900;letter-spacing:-.01em}
.home{color:inherit;text-decoration:none}
.linkbtn{background:none;border:0;padding:0;color:var(--link);text-decoration:underline;font:inherit;cursor:pointer}
.tag{display:inline-block;background:var(--data);color:#fff;border-radius:4px;padding:0 6px;font-size:.75rem;font-weight:700;vertical-align:middle}
.tag.store{background:var(--good)}
.big,.data{color:var(--data)}
.top{border-bottom:3px solid var(--navy);padding-bottom:10px}
/* 랜딩 */
.band{background:var(--navy);color:#fff;border-radius:14px;padding:22px 18px;margin:12px 0}
.band h1{color:#fff;font-size:1.75rem;line-height:1.3;margin:0 0 8px}.band p{color:#dfe5ee;margin:.3rem 0}
.band .cta button{background:var(--data);border-color:var(--data);color:#fff;font-weight:700;padding:10px 16px}
.band .cta.sec{color:#fff}
.free{display:inline-block;background:#fff;color:var(--navy);border-radius:999px;padding:3px 12px;font-weight:700;font-size:.9rem;margin-bottom:10px}
.shot{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px;max-width:420px}
.shot .row{justify-content:space-between}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}
.nums b{display:block;font-size:1.6rem;color:var(--data);font-weight:900}
.checks{list-style:none;padding:14px 16px}.checks li::before{content:"✔ ";color:var(--good);font-weight:700}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:720px){.plans{grid-template-columns:1fr}.nums b{font-size:1.3rem}}
.plans .card{text-align:center}.plans .rec{border:2px solid var(--gold);position:relative}
.plans .rec::before{content:"추천";position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:#23395B;font-weight:700;font-size:.8rem;padding:1px 10px;border-radius:999px}
.steps{padding-left:1.2rem}.steps li{margin:.4rem 0}
.rules{color:var(--grey);font-size:.85rem;border-top:1px solid var(--line);padding-top:10px;margin-top:24px}
.open5{background:var(--chip);border-left:4px solid var(--data);padding:10px 12px;border-radius:6px}
