.lp[data-v-d50be8e9]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.lp-main[data-v-d50be8e9]{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:24px 16px}.lp-card[data-v-d50be8e9]{width:100%;max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #10182814}.lp-head[data-v-d50be8e9]{display:flex;align-items:center;gap:10px;padding:18px 20px 0}.lp-logo[data-v-d50be8e9]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff}.lp-title[data-v-d50be8e9]{flex:1 1 auto;min-width:0;font-size:19px;font-weight:700;margin:0}.lp-app[data-v-d50be8e9]{color:var(--muted);font-size:12.5px}.lp-body[data-v-d50be8e9]{display:flex;flex-direction:column;gap:14px;padding:14px 20px 20px}.lp-desc[data-v-d50be8e9]{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.lp-note[data-v-d50be8e9]{margin:0;padding:9px 12px;border-left:3px solid var(--line);border-radius:6px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.lp-note.is-info[data-v-d50be8e9]{border-left-color:var(--accent);background:var(--accent-weak)}.lp-note.is-warn[data-v-d50be8e9]{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.lp-note.is-error[data-v-d50be8e9]{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.lp-cmp[data-v-d50be8e9]{font-size:12.5px}.lp-cmp th[data-v-d50be8e9],.lp-cmp td[data-v-d50be8e9]{padding:5px 6px;font-size:12.5px}.lp-cmp td[data-v-d50be8e9]:first-child{color:var(--muted);white-space:nowrap}.lp-form[data-v-d50be8e9]{display:flex;flex-direction:column;gap:12px}.lp-label[data-v-d50be8e9]{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.lp-label input[data-v-d50be8e9]{font-weight:400;padding:9px 10px;font-size:14px}.lp-label input[data-v-d50be8e9]:focus{outline:2px solid var(--accent-weak);border-color:var(--accent)}.lp-key[data-v-d50be8e9]{color:var(--muted);font-weight:400;font-size:11.5px;margin-left:4px}.lp-actions[data-v-d50be8e9]{display:flex;gap:8px;margin-top:4px}.lp-actions[data-v-d50be8e9]>:last-child{flex:1 1 auto;padding:10px 12px;font-weight:600}.lp-cancel[data-v-d50be8e9]{flex:0 0 auto}.lp-spin[data-v-d50be8e9]{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:lp-spin-d50be8e9 .8s linear infinite}@keyframes lp-spin-d50be8e9{to{transform:rotate(360deg)}}.lp-foot[data-v-d50be8e9]{display:flex;justify-content:center;gap:14px;padding:10px 16px 18px;color:var(--muted);font-size:11.5px;font-family:ui-monospace,monospace}:root{--bg: #f6f7f9;--card: #fff;--ink: #1c2330;--muted: #667085;--line: #e2e6ec;--accent: #2457d6;--accent-weak: #e7edfc;--ok: #12804a;--warn: #b4560b;--danger: #c02b2b;--assist: #6c3bd1;font-family:Pretendard,Noto Sans KR,Malgun Gothic,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #12151b;--card: #1b2029;--ink: #e7eaf0;--muted: #98a2b3;--line: #2c333f;--accent: #7a9cf5;--accent-weak: #243054;--ok: #4cc38a;--warn: #f0a35e;--danger: #f07878;--assist: #b596f5}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.top{display:flex;align-items:center;gap:24px;padding:12px 20px;background:var(--card);border-bottom:1px solid var(--line)}.top h1{font-size:17px;margin:0}.login{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px}.login .who{display:inline-flex;align-items:center;gap:6px}.login .avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700}nav{display:flex;gap:4px}button{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.on,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger)}main{padding:16px 20px;max-width:1500px;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:14px}.card h2{font-size:14px;margin:0 0 10px}.grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:14px;align-items:start}@media(max-width:900px){.grid{grid-template-columns:1fr}}.drop{display:block;border:2px dashed var(--line);border-radius:8px;padding:26px 12px;text-align:center;color:var(--muted);cursor:pointer}.drop.over,.drop:hover{border-color:var(--accent);color:var(--ink);background:var(--accent-weak)}.drop input{display:none}.field{display:flex;flex-direction:column;gap:4px;margin-top:12px}.field>span{color:var(--muted);font-size:12.5px}select,input[type=text],input[type=password]{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%}.checks{display:flex;flex-wrap:wrap;gap:6px 14px}.checks label,.check{display:inline-flex;gap:6px;align-items:center;cursor:pointer}.assist{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--accent-weak)}.hint{color:var(--muted);font-size:12.5px;line-height:1.5;margin:4px 0 0}.engines{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;background:var(--danger)}.dot.ok{background:var(--ok)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.grow{flex:1;min-width:0}.bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%;background:var(--accent);transition:width .3s}.muted{color:var(--muted)}.warn{color:var(--warn)}.err{color:var(--danger)}.notes{margin:8px 0 0;padding-left:18px;color:var(--warn);font-size:13px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}th{color:var(--muted);font-weight:500}.tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11.5px;background:var(--accent-weak)}.tag.warn{background:transparent;border:1px solid var(--warn)}.scroll{overflow-x:auto}.viewer{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}@media(max-width:1100px){.viewer{grid-template-columns:1fr}}.stage{position:relative;border:1px solid var(--line);line-height:0;background:#fff;overflow:hidden;touch-action:none}.stage img{width:100%;display:block}.stage .over{position:absolute;top:0;right:0;bottom:0;left:0}.stage .over img{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.stage .handle{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);cursor:ew-resize}.stage .handle:after{content:"↔";position:absolute;top:50%;left:-11px;width:24px;height:24px;line-height:22px;text-align:center;font-size:13px;color:#fff;background:var(--accent);border-radius:50%;transform:translateY(-50%)}.stage svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.stage rect{fill:transparent;stroke-width:2.5;vector-effect:non-scaling-stroke;cursor:pointer}.stage rect.replaced{stroke:var(--ok);stroke-opacity:.55}.stage rect.kept{stroke:var(--warn);stroke-dasharray:5 3}.stage rect.assist{stroke:var(--assist);stroke-opacity:.7}.stage rect.sel{stroke:var(--danger);stroke-width:3;fill:#ff505026;stroke-opacity:1;stroke-dasharray:none}.lines{max-height:78vh;overflow-y:auto;border:1px solid var(--line);border-radius:6px}.lines .ln{padding:6px 8px;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px;line-height:1.45}.lines .ln:hover{background:var(--accent-weak)}.lines .ln.sel{outline:2px solid var(--danger);outline-offset:-2px}.lines small{display:block;color:var(--muted);font-size:11.5px}.preview{max-height:34px;max-width:280px;display:block;background:#fff}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;margin-right:4px;border:2px solid;vertical-align:-2px}a{color:var(--accent)}
