body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--lcf-surface0: oklch(1 0 0);--lcf-surface1: oklch(.985 .004 250);--lcf-surface2: oklch(.965 .005 250);--lcf-ink1: oklch(.2 .015 250);--lcf-ink2: oklch(.4 .012 250);--lcf-ink3: oklch(.58 .01 250);--lcf-ink4: oklch(.72 .008 250);--lcf-line1: oklch(.9 .006 250);--lcf-line2: oklch(.94 .005 250);--lcf-accent: oklch(.42 .08 250);--lcf-accent-soft: oklch(.96 .018 250);--lcf-accent-line: oklch(.78 .04 250);--lcf-shadow-panel: 0 24px 48px oklch(.18 .02 250 / .18), 0 4px 12px oklch(.18 .02 250 / .1), 0 0 0 1px oklch(.18 .02 250 / .06);--lcf-shadow-fab: 0 14px 28px oklch(.18 .02 250 / .32), 0 4px 12px oklch(.18 .02 250 / .2);--lcf-spinner-bg: oklch(.985 .004 250 / .85)}@media(prefers-color-scheme:dark){:root{--lcf-surface0: oklch(.18 .012 250);--lcf-surface1: oklch(.16 .012 250);--lcf-surface2: oklch(.22 .012 250);--lcf-ink1: oklch(.96 .008 250);--lcf-ink2: oklch(.82 .01 250);--lcf-ink3: oklch(.62 .01 250);--lcf-ink4: oklch(.45 .01 250);--lcf-line1: oklch(.32 .012 250);--lcf-line2: oklch(.27 .012 250);--lcf-accent: oklch(.78 .1 250);--lcf-accent-soft: oklch(.28 .04 250);--lcf-accent-line: oklch(.42 .08 250);--lcf-shadow-panel: 0 24px 48px oklch(0 0 0 / .55), 0 4px 12px oklch(0 0 0 / .3), 0 0 0 1px oklch(.32 .012 250 / .4);--lcf-shadow-fab: 0 14px 32px oklch(0 0 0 / .55), 0 4px 12px oklch(0 0 0 / .4);--lcf-spinner-bg: oklch(.16 .012 250 / .85)}}.lcf-fab{position:fixed;width:56px;height:56px;border-radius:28px;background:var(--lcf-surface0);border:2.5px solid var(--lcf-ink1);box-shadow:var(--lcf-shadow-fab);cursor:grab;z-index:2147483646;display:flex;align-items:center;justify-content:flex-end;padding:0 8px 0 0;gap:0;box-sizing:border-box;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;transition:width .22s ease,padding .22s ease,gap .22s ease,box-shadow .15s ease,right .22s cubic-bezier(.2,.8,.2,1),bottom .22s cubic-bezier(.2,.8,.2,1);font-family:Pretendard,Pretendard GOV,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.lcf-fab.is-dragging{transition:none}.lcf-fab:active{cursor:grabbing}.lcf-fab:hover{width:auto;padding:0 8px 0 18px;gap:10px}.lcf-fab.is-on-left{flex-direction:row-reverse;padding:0 0 0 8px}.lcf-fab.is-on-left:hover{padding:0 18px 0 8px}.lcf-fab-label{white-space:nowrap;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--lcf-ink1);opacity:0;max-width:0;overflow:hidden;transition:opacity .18s ease,max-width .22s ease;pointer-events:none}.lcf-fab:hover .lcf-fab-label{opacity:1;max-width:180px}.lcf-fab-mascot{flex-shrink:0;display:flex;pointer-events:none}.lcf-fab svg{pointer-events:none}.lcf-panel{position:fixed;background:var(--lcf-surface1);border-radius:16px;overflow:hidden;box-shadow:var(--lcf-shadow-panel);z-index:2147483647;display:flex;flex-direction:column;font-family:Pretendard,Pretendard GOV,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif;transition:opacity .18s ease,visibility .18s ease}.lcf-resize{position:absolute;top:0;left:0;width:18px;height:18px;display:grid;place-items:center;color:var(--lcf-ink3);cursor:nwse-resize;z-index:3;padding:2px 0 0 2px;touch-action:none}.lcf-header{flex-shrink:0;height:52px;display:flex;align-items:center;gap:12px;padding:0 8px 0 14px;background:var(--lcf-surface0);border-bottom:1px solid var(--lcf-line2);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.lcf-brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.lcf-brand-mark{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center}.lcf-brand-name{font-size:14px;font-weight:700;color:var(--lcf-ink1);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:baseline;gap:6px;min-width:0}.lcf-build-id{font-size:10px;font-weight:500;color:var(--lcf-ink4);font-feature-settings:"tnum";letter-spacing:0;flex-shrink:0}.lcf-actions{display:flex;gap:1px;flex-shrink:0}.lcf-icon-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:transparent;border:none;color:var(--lcf-ink2);cursor:pointer;padding:0;transition:background .12s,color .12s}.lcf-icon-btn:hover,.lcf-icon-btn.is-active{background:var(--lcf-surface2);color:var(--lcf-ink1)}.lcf-chips-wrap{flex-shrink:0;padding:10px 14px 6px;background:var(--lcf-surface1);max-height:45%;overflow-y:auto;animation:lcf-chip-in .2s ease-out}@keyframes lcf-chip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lcf-chips-header{display:flex;align-items:center;gap:2px;padding:0 0 6px;cursor:pointer;-webkit-user-select:none;user-select:none}.lcf-chips-title{flex:1;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lcf-ink3)}.lcf-chips-toggle,.lcf-chips-close{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:transparent;border:none;color:var(--lcf-ink3);cursor:pointer;padding:0;flex-shrink:0;transition:background .12s,color .12s,transform .15s}.lcf-chips-toggle:hover,.lcf-chips-close:hover{background:var(--lcf-surface2);color:var(--lcf-ink1)}.lcf-chips-toggle svg{transform:rotate(90deg);transition:transform .15s}.lcf-chips-toggle.is-collapsed svg{transform:rotate(0)}.lcf-chips-list{display:flex;flex-direction:column;gap:5px}.lcf-chip{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--lcf-surface0);border:1px solid var(--lcf-line2);border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;width:100%;transition:border-color .12s,background .12s}.lcf-chip:hover{border-color:var(--lcf-accent-line);background:var(--lcf-accent-soft)}.lcf-chip-label{font-size:13px;font-weight:500;color:var(--lcf-ink1);letter-spacing:-.005em;line-height:1.4}.lcf-chip-arrow{color:var(--lcf-ink4);flex-shrink:0;margin-left:8px;display:flex}.lcf-spacer{flex-shrink:0;height:12px;background:var(--lcf-surface1)}.lcf-iframe-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--lcf-surface1);padding:20px 24px 20px 12px;box-sizing:border-box}.lcf-iframe-wrap iframe{width:calc(100% / var(--lcf-zoom, 1));height:calc((100% + 36px) / var(--lcf-zoom, 1));margin-top:-36px;zoom:var(--lcf-zoom, 1);border:none;display:block;background:var(--lcf-surface1)}.lcf-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--lcf-spinner-bg);pointer-events:none}.lcf-spin{width:32px;height:32px;border-radius:50%;border:2.5px solid var(--lcf-line1);border-top-color:var(--lcf-accent);animation:lcf-spin .8s linear infinite}@keyframes lcf-spin{to{transform:rotate(360deg)}}.lcf-settings{position:absolute;inset:0;background:var(--lcf-surface0);display:flex;flex-direction:column;z-index:5;animation:lcf-chip-in .18s ease-out}.lcf-settings-header{flex-shrink:0;height:44px;padding:0 8px 0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--lcf-line2)}.lcf-settings-title{font-size:13px;font-weight:700;color:var(--lcf-ink1);letter-spacing:-.01em}.lcf-settings-body{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:18px}.lcf-settings-section{display:flex;flex-direction:column;gap:8px}.lcf-settings-label{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lcf-ink3)}.lcf-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--lcf-surface1);border:1px solid var(--lcf-line2);border-radius:10px;padding:4px}.lcf-seg-btn{height:32px;border:none;border-radius:7px;background:transparent;color:var(--lcf-ink2);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.lcf-seg-btn:hover{background:var(--lcf-surface2);color:var(--lcf-ink1)}.lcf-seg-btn.is-active{background:var(--lcf-surface0);color:var(--lcf-ink1);box-shadow:0 1px 3px #0b121a1a,0 0 0 1px var(--lcf-line1)}.lcf-lang-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.lcf-lang-btn{height:36px;padding:0 12px;border:1px solid var(--lcf-line2);background:var(--lcf-surface0);color:var(--lcf-ink1);border-radius:9px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.lcf-lang-btn:hover{border-color:var(--lcf-accent-line);background:var(--lcf-accent-soft)}.lcf-settings-note{margin:4px 0 0;font-size:11.5px;line-height:1.5;color:var(--lcf-ink3);letter-spacing:-.005em}.lcf-toast{position:absolute;left:50%;bottom:16px;transform:translate(-50%);background:var(--lcf-ink1);color:var(--lcf-surface0);font-size:12.5px;font-weight:500;letter-spacing:-.005em;padding:8px 14px;border-radius:8px;box-shadow:0 4px 12px #0b121a2e;z-index:4;pointer-events:none;animation:lcf-toast-in .18s ease-out}@keyframes lcf-toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:520px){.lcf-panel:not(.is-minimized){left:8px!important;right:8px!important;bottom:80px!important;width:calc(100dvw - 16px)!important;height:calc(100dvh - 100px)!important}.lcf-panel.is-minimized{left:8px!important;right:8px!important;width:calc(100dvw - 16px)!important}.lcf-resize{display:none}}#root{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:linear-gradient(160deg,#dbeafe,#eff6ff 55%,#f5f3ff);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:2.5rem 1.5rem;box-sizing:border-box}.app-container{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000000a,0 20px 50px #1877f21a;width:100%;max-width:840px;overflow:hidden}.app-header{background:linear-gradient(135deg,#1877f2,#1251a3);padding:2rem 2.5rem;text-align:center}h1{color:#fff;font-size:1.75rem;font-weight:700;line-height:1.55;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.15)}.main-content{display:flex;gap:2rem;padding:2rem 2.5rem 2.5rem}.controls{flex:1;display:flex;flex-direction:column;gap:1.25rem}.preview{flex:1;display:flex;flex-direction:column;align-items:center}h2{font-size:.7rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .875rem}.input-group{display:flex;flex-direction:column;gap:.4rem}.input-group label{font-size:.875rem;font-weight:600;color:#374151}.input-group input[type=text],.input-group textarea{padding:.7rem .875rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.95rem;color:#111827;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.input-group input[type=text]:focus,.input-group textarea:focus{border-color:#1877f2;box-shadow:0 0 0 3px #1877f21f}.input-group input[type=text]::placeholder,.input-group textarea::placeholder{color:#c4cad4}.input-group textarea{resize:none;line-height:1.55}.color-picker-group{display:flex;gap:1rem}.color-picker-group .input-group{flex:1}.input-group input[type=color]{height:44px;width:100%;border:1.5px solid #e5e7eb;border-radius:8px;padding:3px 4px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.input-group input[type=color]:focus{border-color:#1877f2;box-shadow:0 0 0 3px #1877f21f}button{padding:.8rem 1.25rem;border:none;background:#1877f2;color:#fff;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;line-height:1.45;transition:background .15s,box-shadow .15s,transform .1s}button:hover:not(:disabled){background:#1565d8;box-shadow:0 4px 14px #1877f259}button:active:not(:disabled){transform:translateY(1px);box-shadow:none}button:disabled{opacity:.4;cursor:not-allowed}.button-group{display:flex;gap:8px}.button-group button{flex:6}.button-group button.secondary{flex:4;background:#fff;color:#1877f2;border:1.5px solid #1877f2}.button-group button.secondary:hover:not(:disabled){background:#eff6ff;box-shadow:0 4px 14px #1877f226}.qr-code-container{padding:1.25rem;border:1.5px solid #eef0f5;border-radius:16px;background:#fff;display:inline-block;text-align:center;box-shadow:0 2px 16px #00000012}.caption{margin-top:.875rem;font-size:1rem;color:#374151;font-weight:600;white-space:pre-line}canvas{display:block}.error-message{color:#dc2626;font-size:.825rem;margin:0;padding:.6rem .875rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}@media(max-width:768px){#root{padding:0;align-items:flex-start}.app-container{border-radius:0;box-shadow:none;min-height:100vh}.app-header{padding:1.5rem 1.25rem}h1{font-size:1.4rem}.main-content{flex-direction:column;gap:1.25rem;padding:1.25rem}.preview{order:-1}}
