:root{--bg:#f6f6f4;--panel:#ffffff;--line:#e4e3df;--line-2:#d2d0ca;--fg:#16171a;--fg-2:#4d5058;--fg-3:#8a8d94;--accent:#2457f5;--accent-ink:#1a43c8;--accent-soft:#e8eefe;--ok:#0e8a5f;--ok-soft:#e2f4eb;--warn:#a8620a;--warn-soft:#fbf0dc;--err:#c02626;--err-soft:#fdecec;--r:14px;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--motion-fast:120ms;--motion-base:180ms;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--prose-max:46rem;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111214;--panel:#18191c;--line:#2a2c31;--line-2:#3a3d44;--fg:#f0f1f3;--fg-2:#b5b8c0;--fg-3:#80838b;--accent:#6f93ff;--accent-ink:#9ab3ff;--accent-soft:#1b2440;--ok:#45c995;--ok-soft:#10291f;--warn:#f0a63a;--warn-soft:#2e220f;--err:#ff7b7b;--err-soft:#3a1717;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;word-break:keep-all}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.btn:hover{border-color:var(--fg-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}.btn.sm{height:32px;padding:0 11px;font-size:13.5px;border-radius:8px}.btn.danger{color:var(--err)}.field{display:grid;grid-gap:6px;gap:6px}.field>span{font-size:13px;font-weight:600;color:var(--fg-2)}.field small{color:var(--fg-3);font-size:12.5px}.input,.select,.textarea{width:100%;border:1px solid var(--line-2);background:var(--panel);border-radius:10px;padding:10px 12px;font-size:14.5px}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{min-height:80px;resize:vertical;line-height:1.5}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--fg-2);white-space:nowrap}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.err{background:var(--err-soft);color:var(--err)}.chip.accent{background:var(--accent-soft);color:var(--accent)}.muted{color:var(--fg-3)}.err-box{background:var(--err-soft);color:var(--err);border-radius:10px;padding:10px 12px;font-size:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.logo-mark{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:18px;letter-spacing:-.01em;text-decoration:none}.logo-mark i{width:12px;height:12px;border-radius:3px;background:var(--accent);display:inline-block}.login{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.login-box{width:min(440px,100%);padding:32px;display:grid;grid-gap:20px;gap:20px}.login-box h1{font-size:26px;margin:0;letter-spacing:-.02em}.login-box p{margin:0;color:var(--fg-2)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-in{max-width:1240px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;gap:12px}.topbar-in .grow{flex:1 1}.dash-wrap{max-width:1240px;margin:0 auto;padding:28px 20px 80px;display:grid;grid-gap:28px;gap:28px}.new{padding:clamp(20px,3vw,32px);display:grid;grid-gap:22px;gap:22px}.new h1{margin:0;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em}.new .lead{margin:4px 0 0;color:var(--fg-2)}.new-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}@media (max-width:860px){.new-grid{grid-template-columns:1fr}}.drop{border:1.5px dashed var(--line-2);border-radius:12px;padding:18px;display:grid;grid-gap:6px;gap:6px;place-items:center;text-align:center;cursor:pointer;min-height:120px;transition:border-color .15s,background .15s}.drop.on,.drop:hover{border-color:var(--accent);background:var(--accent-soft)}.drop b{font-size:14.5px}.drop input{display:none}.row{display:flex;flex-wrap:wrap;gap:10px}.row,.toggle{align-items:center}.toggle{display:inline-flex;gap:8px;font-size:14px;cursor:pointer}.list{display:grid;grid-gap:10px;gap:10px}.list h2{font-size:17px;margin:0 0 4px}.proj{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:14px 16px;text-decoration:none}.proj:hover{border-color:var(--line-2)}.proj .sw{width:36px;height:36px;border-radius:10px;background:var(--line)}.proj b{display:block;font-size:15.5px}.proj small{color:var(--fg-3);font-size:12.5px}.steps-anim{display:grid;grid-gap:8px;gap:8px}.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.how div{padding:14px;border-radius:12px;background:color-mix(in srgb,var(--fg) 4%,transparent);font-size:13.5px;color:var(--fg-2)}.how b{display:block;color:var(--fg);font-size:14px;margin-bottom:4px}@media (max-width:860px){.how{grid-template-columns:1fr}}.ed{height:100dvh;display:grid;grid-template-rows:auto 1fr}.ed-top{display:flex;align-items:center;gap:10px;padding:0 14px;height:56px;border-bottom:1px solid var(--line);background:var(--panel);min-width:0}.ed-top .name{font-weight:700;font-size:15px;border:1px solid transparent;background:transparent;padding:6px 8px;border-radius:8px;min-width:120px;max-width:280px}.ed-top .name:focus,.ed-top .name:hover{border-color:var(--line-2);outline:none}.ed-top .grow{flex:1 1}.ed-body{display:grid;grid-template-columns:400px 1fr;min-height:0}@media (max-width:960px){.ed-body{grid-template-columns:1fr;grid-template-rows:55dvh auto}.ed-side{order:2}}.ed-side{border-right:1px solid var(--line);background:var(--panel);display:grid;grid-template-rows:auto 1fr;min-height:0}.tabs{display:flex;gap:2px;padding:8px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto}.tabs button{all:unset;cursor:pointer;padding:9px 11px;font-size:13.5px;font-weight:600;color:var(--fg-3);border-bottom:2px solid transparent;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}.side-scroll{padding:14px;grid-gap:14px;gap:14px;align-content:start}.sec-list,.side-scroll{overflow-y:auto;display:grid}.sec-list{grid-gap:4px;gap:4px;max-height:36vh;padding-right:2px;border-bottom:1px solid var(--line);padding-bottom:10px}.sec-row{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid transparent;cursor:pointer}.sec-row:hover{background:color-mix(in srgb,var(--fg) 4%,transparent)}.sec-row.sel{border-color:var(--accent);background:var(--accent-soft)}.sec-row.off{opacity:.45}.sec-row .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--fg-3);text-transform:uppercase}.sec-row .t{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sec-row .acts{display:flex;gap:2px;opacity:0}.sec-row.sel .acts,.sec-row:hover .acts{opacity:1}.ib{all:unset;cursor:pointer;width:26px;height:26px;display:grid;place-items:center;border-radius:6px;font-size:13px;color:var(--fg-2)}.ib:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg)}.form{display:grid;grid-gap:12px;gap:12px}.form h3{margin:6px 0 0;font-size:13px;letter-spacing:.04em;color:var(--fg-3);text-transform:uppercase}.two{grid-template-columns:1fr 1fr}.sub-card,.two{display:grid;grid-gap:8px;gap:8px}.sub-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--fg) 2%,transparent)}.sub-card .hd{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fg-3);font-weight:600}.sub-card .hd .grow{flex:1 1}.memo{font-size:12.5px;color:var(--fg-2);background:var(--warn-soft);border-radius:10px;padding:10px 12px;white-space:pre-wrap}.notes{display:grid;grid-gap:6px;gap:6px}.notes li{font-size:13px;color:var(--fg-2)}.preview{display:grid;grid-template-rows:auto 1fr;min-height:0;background:color-mix(in srgb,var(--fg) 5%,var(--bg))}.pv-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}.pv-bar .grow{flex:1 1}.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}.seg button{all:unset;cursor:pointer;padding:5px 11px;font-size:12.5px;font-weight:600;color:var(--fg-3)}.seg button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.frame-wrap{overflow:auto;display:flex;justify-content:safe center;padding:14px;min-height:0}.frame-wrap iframe{border:0;background:#fff;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.12);display:block}.gen-wait{min-height:100dvh;display:grid;place-items:center;padding:20px}.gen-box{width:min(560px,100%);padding:32px;display:grid;grid-gap:16px;gap:16px;text-align:center}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:14px;z-index:100;box-shadow:0 10px 30px rgba(0,0,0,.2)}.leads-tbl{width:100%;border-collapse:collapse;font-size:13px}.leads-tbl td,.leads-tbl th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}.leads-tbl th{color:var(--fg-3);font-weight:600}.mailbox .mb-bar{gap:8px}.mailbox .mb-tabs{display:inline-flex;gap:4px}.mailbox .select.sm{height:32px;padding:0 10px;font-size:13.5px;width:auto}.mailbox .mb-hint{font-size:12.5px;margin:0}.mailbox .mb-ok{color:var(--ok);font-size:13.5px;margin:0}.mailbox .mb-list{display:grid;grid-gap:8px;gap:8px}.mailbox .mb-item.on{border-color:var(--accent)}.mailbox .mb-row{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-gap:4px;gap:4px;padding:12px 14px;width:100%;font-size:13.5px}.mailbox .mb-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r)}.mailbox .mb-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.mailbox details.mb-item{padding:12px 14px}.mailbox details.mb-item summary{cursor:pointer;list-style:none}.mailbox .mb-time{font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mailbox .mb-snip{color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mailbox .mb-open{border-top:1px solid var(--line);padding:12px 14px;display:grid;grid-gap:10px;gap:10px}.mailbox .mb-meta{font-size:12.5px;display:grid;grid-gap:2px;gap:2px}.mailbox .mb-body{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.65;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;max-height:520px;overflow:auto;margin-top:8px}.mailbox .mb-compose{padding:14px;display:grid;grid-gap:10px;gap:10px;border-color:var(--accent)}.mailbox .mb-x{background:transparent;border:0;color:var(--fg-3);cursor:pointer;font-size:14px;padding:0 2px}.sr-only{clip:rect(0 0 0 0)}.sr-only,.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}.srOnly{clip:rect(0,0,0,0)}