:root{--primary:#31c690;--primary-deep:#1e9e72;--primary-dark:#1e9e72;--primary-strong:#167f5b;--primary-soft:#e7f8f1;--primary-softer:#f2fcf8;--primary-line:#bfead8;--accent:#f2994a;--accent-deep:#c9762e;--accent-soft:#fdeedd;--accent-line:#f5d9b8;--bg:#fff;--surface:#fff;--surface-muted:#f6faf8;--bg-soft:#f6faf8;--ink:#212529;--ink-2:#495057;--ink-3:#868e96;--line:#e6ece9;--line-soft:#f1f4f3;--danger:#e5544b;--danger-soft:#fdecea;--shadow-sm:0 1px 2px #15503a0d, 0 1px 3px #15503a0a;--shadow-md:0 4px 14px #15503a12, 0 2px 5px #15503a0a;--shadow-lg:0 18px 44px #15503a1a, 0 6px 14px #15503a0d;--shadow-btn:0 6px 16px #31c69052;--shadow-btn-hi:0 10px 22px #31c69061;--r-xs:6px;--r-sm:9px;--r-md:13px;--r-lg:18px;--r-xl:24px;--font:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SF Mono", "JetBrains Mono", Consolas, monospace;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-spring-soft:cubic-bezier(.3, 1.36, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--dur-1:.18s;--dur-2:.42s;--dur-3:.64s;--rise-dist:26px;--stagger-base:.12s;--stagger-step:90ms;--lm-marker:#c9f2e1;--lm-type-speed:48ms}*{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--bg);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@keyframes lm-rise{0%{opacity:0;transform:translateY(var(--rise-dist))}to{opacity:1;transform:translateY(0)}}@keyframes lm-rise-sm{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes lm-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes lm-fade{0%{opacity:0}to{opacity:1}}@keyframes lm-fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes lm-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes lm-drift-a{0%{transform:translate(0)rotate(0)}to{transform:translate(18px,-26px)rotate(8deg)}}@keyframes lm-drift-b{0%{transform:translate(0)}to{transform:translate(-24px,18px)}}@keyframes lm-drift-c{0%{transform:translate(0)rotate(0)}to{transform:translate(12px,24px)rotate(-10deg)}}@keyframes lm-shape-in{0%{opacity:0}to{opacity:var(--o,.07)}}@keyframes lm-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.45)}}@keyframes lm-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes lm-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes lm-bubble-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lm-ring-run{to{stroke-dashoffset:var(--ring-c,113)}}.lm-rise{--i:1;animation:lm-rise var(--dur-3) var(--ease-out-expo) backwards;animation-delay:calc(var(--stagger-base) + (var(--i) - 1) * var(--stagger-step))}.lm-rise--sm{animation-name:lm-rise-sm;animation-duration:.5s}.lm-rise--pop{animation-name:lm-pop;animation-timing-function:var(--ease-spring);animation-duration:.55s}.lm-stagger>*{animation:lm-rise var(--dur-3) var(--ease-out-expo) backwards}.lm-stagger>:first-child{animation-delay:calc(var(--stagger-base) + 0 * var(--stagger-step))}.lm-stagger>:nth-child(2){animation-delay:calc(var(--stagger-base) + 1 * var(--stagger-step))}.lm-stagger>:nth-child(3){animation-delay:calc(var(--stagger-base) + 2 * var(--stagger-step))}.lm-stagger>:nth-child(4){animation-delay:calc(var(--stagger-base) + 3 * var(--stagger-step))}.lm-stagger>:nth-child(5){animation-delay:calc(var(--stagger-base) + 4 * var(--stagger-step))}.lm-stagger>:nth-child(6){animation-delay:calc(var(--stagger-base) + 5 * var(--stagger-step))}.lm-stagger>:nth-child(7){animation-delay:calc(var(--stagger-base) + 6 * var(--stagger-step))}.lm-stagger>:nth-child(8){animation-delay:calc(var(--stagger-base) + 7 * var(--stagger-step))}.lm-stagger>:nth-child(9){animation-delay:calc(var(--stagger-base) + 8 * var(--stagger-step))}.lm-stagger>:nth-child(10){animation-delay:calc(var(--stagger-base) + 9 * var(--stagger-step))}.lm-stagger>:nth-child(11){animation-delay:calc(var(--stagger-base) + 10 * var(--stagger-step))}.lm-stagger>:nth-child(12){animation-delay:calc(var(--stagger-base) + 11 * var(--stagger-step))}.lm-stagger>:nth-child(13){animation-delay:calc(var(--stagger-base) + 12 * var(--stagger-step))}.lm-stagger>:nth-child(14){animation-delay:calc(var(--stagger-base) + 13 * var(--stagger-step))}.lm-page{z-index:1;position:relative}.lm-scene{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.lm-scene-layer{transition:transform .7s var(--ease-out-expo);will-change:transform;position:absolute;inset:0}.lm-shape{background:var(--primary);opacity:var(--o,.07);will-change:transform;animation:lm-shape-in 1.4s var(--ease-out-expo) backwards, var(--drift,lm-drift-a) var(--dt,28s) ease-in-out infinite alternate;animation-delay:var(--d,0s), 0s;display:block;position:absolute}.lm-shape--circle{border-radius:50%}.lm-shape--ring{border:2.5px solid var(--primary);background:0 0;border-radius:50%}.lm-shape--half{border-radius:999px 999px 0 0}.lm-shape--half-b{border-radius:0 0 999px 999px}.lm-shape--pill{border-radius:999px}.lm-shape--dot{border-radius:50%;width:9px;height:9px}.lm-card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff}.lm-card--int{cursor:pointer;transition:transform .55s var(--ease-spring), border-color .22s ease, box-shadow .55s ease, background .22s ease}.lm-card--int:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-6px)}.lm-card--int:active{transform:translateY(-2px)scale(.985)}.lm-icon{transition:transform .5s var(--ease-spring)}.lm-card--int:hover .lm-icon{transform:translateY(-3px)rotate(-5deg)scale(1.06)}.lm-card.is-selected{border-color:var(--primary);background:var(--primary-softer)}.lm-badge{background:var(--primary-soft);color:var(--primary-strong);letter-spacing:-.01em;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.lm-badge-dot{background:var(--primary);border-radius:50%;width:6px;height:6px;animation:2.2s ease-in-out infinite lm-breathe}.lm-chip{letter-spacing:-.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.lm-chip--mint{background:var(--primary-soft);color:var(--primary-strong)}.lm-chip--mint-ln{background:var(--primary-soft);color:var(--primary-strong);border-color:var(--primary-line)}.lm-chip--amber{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent-line)}.lm-chip--keyword{color:var(--ink-2);border-color:var(--line);background:#fff}.lm-chip--keyword:hover{border-color:var(--primary-line);color:var(--primary-strong)}.lm-tag{border-radius:var(--r-xs);align-items:center;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.lm-tag--req{background:var(--primary-soft);color:var(--primary-strong)}.lm-tag--opt{background:var(--surface-muted);color:var(--ink-3)}.lm-select-chip{border:1.5px solid var(--line);font:600 13.5px/1 var(--font);color:var(--ink-2);cursor:pointer;transition:background var(--dur-1) ease, border-color var(--dur-1) ease, color var(--dur-1) ease, transform .35s var(--ease-spring);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.lm-select-chip:hover{border-color:var(--primary-line);background:var(--primary-softer)}.lm-select-chip.is-on{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.06)}.lm-select-chip:active{transform:scale(.94)}.lm-row-card{border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .2s ease, background .2s ease, transform .45s var(--ease-spring), box-shadow .3s ease;background:#fff;align-items:center;gap:14px;padding:17px 20px;display:flex}.lm-row-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.lm-row-card--tint{background:var(--primary-softer);border-color:var(--primary-line)}.lm-row-card--tint:hover{border-color:var(--primary)}.lm-item-row{border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .2s ease, transform .4s var(--ease-spring), box-shadow .3s ease;background:#fff;align-items:center;gap:12px;padding:13px 16px;display:flex}.lm-item-row:hover{border-color:var(--primary-line);box-shadow:var(--shadow-sm);transform:translate(4px)}.lm-item-add{border:1.5px solid var(--primary-line);width:28px;height:28px;color:var(--primary-strong);font:700 16px/1 var(--font);cursor:pointer;transition:background .2s ease, color .2s ease, border-color .2s ease, transform .45s var(--ease-spring);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.lm-item-row:hover .lm-item-add,.lm-item-add:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:rotate(90deg)}.lm-avatar{background:var(--primary);color:#fff;width:36px;height:36px;font:800 13px/1 var(--font);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.lm-avatar--user{background:var(--surface-muted);color:var(--ink-2)}.lm-bubble{border-radius:var(--r-lg);letter-spacing:-.01em;max-width:560px;animation:lm-bubble-in .55s var(--ease-spring-soft) backwards;padding:14px 18px;font-size:15px;line-height:1.65}.lm-bubble--ai{border:1px solid var(--line);color:var(--ink);background:#fff;border-top-left-radius:5px}.lm-bubble--user{background:var(--primary);color:#fff;border-top-right-radius:5px;margin-left:auto;font-weight:600}.lm-typing{border:1px solid var(--line);border-radius:var(--r-lg);animation:lm-bubble-in .45s var(--ease-spring-soft) backwards;background:#fff;border-top-left-radius:5px;align-items:center;gap:5px;padding:16px 18px;display:inline-flex}.lm-typing i{background:var(--primary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite lm-dot}.lm-typing i:nth-child(2){animation-delay:.18s}.lm-typing i:nth-child(3){animation-delay:.36s}.lm-caret{vertical-align:-.15em;background:var(--primary);width:2px;height:1.05em;margin-left:2px;animation:1s linear infinite lm-blink;display:inline-block}.lm-countbar{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-md);color:var(--accent-deep);align-items:center;gap:14px;padding:10px 16px;font-size:13.5px;font-weight:600;display:flex}.lm-ring{flex:none;width:44px;height:44px;display:inline-block;position:relative}.lm-ring svg{display:block;transform:rotate(-90deg)}.lm-ring-track{fill:none;stroke:#fff;stroke-width:4px}.lm-ring-fill{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-dasharray:var(--ring-c,113);stroke-dashoffset:0}.lm-ring.is-running .lm-ring-fill{animation:lm-ring-run var(--ring-t,10s) linear forwards}.lm-ring-num{font:700 14px/1 var(--mono);color:var(--accent-deep);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lm-kbd{background:var(--surface-muted);border:1px solid var(--line);font:600 11px/1.4 var(--mono);color:var(--ink-2);border-radius:5px;align-items:center;padding:2px 7px;display:inline-flex}.lm-info-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin:0;padding:10px 0;font-size:13px;display:flex}.lm-info-row dt{color:var(--ink-3);font-weight:500}.lm-info-row dd{color:var(--ink);margin:0;font-weight:700}.lm-photo-card{border:3px solid var(--line);border-radius:var(--r-lg);cursor:pointer;transition:transform .55s var(--ease-spring), border-color .25s ease, box-shadow .5s ease;background:#fff;position:relative;overflow:hidden}.lm-photo-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow-md);transform:translateY(-6px)}.lm-photo-card.is-selected{border-color:var(--primary)}.lm-photo-veil{opacity:0;pointer-events:none;background:#31c69029;transition:opacity .3s;position:absolute;inset:0}.lm-photo-card.is-selected .lm-photo-veil{opacity:1}.lm-photo-check{background:var(--primary);color:#fff;width:54px;height:54px;font:800 24px/1 var(--font);transition:transform .45s var(--ease-spring);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;margin:-27px 0 0 -27px;display:flex;position:absolute;top:42%;left:50%;transform:scale(0)}.lm-photo-card.is-selected .lm-photo-check{transform:scale(1)}.lm-banner{background:var(--primary-softer);border:1px solid var(--primary-line);border-radius:var(--r-md);padding:14px 20px}.lm-banner--soft{background:var(--primary-soft)}.lm-section-tag{font:800 16px/1.3 var(--font);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:9px;display:inline-flex}.lm-section-tag:before{content:"";background:var(--primary);border-radius:2px;width:4px;height:16px}.lm-marker{z-index:0;font-style:normal;position:relative}.lm-marker:before{content:"";z-index:-1;background:var(--lm-marker);transform-origin:0;height:.38em;animation:lm-sweep .8s var(--ease-out-expo) both;animation-delay:var(--sweep-delay,.9s);border-radius:4px;position:absolute;bottom:.04em;left:-.06em;right:-.06em;transform:scaleX(0)}.lm-progress{background:var(--line-soft);border-radius:999px;height:6px;overflow:hidden}.lm-progress>i{background:var(--primary);height:100%;width:var(--p,0%);transition:width .8s var(--ease-out-expo);border-radius:999px;display:block}.lm-progress--time>i{background:var(--accent)}.lm-modal-overlay{z-index:100;background:#16241d6b;justify-content:center;align-items:center;animation:.3s backwards lm-fade;display:flex;position:fixed;inset:0}.lm-modal{border-radius:var(--r-lg);width:420px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-lg);text-align:center;animation:lm-pop .5s var(--ease-spring) backwards;background:#fff;padding:36px 38px 32px;animation-delay:80ms}.lm-modal-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:24px;display:flex}.lm-modal-icon--mint{background:var(--primary-soft);color:var(--primary-strong)}.lm-modal-title{letter-spacing:-.02em;margin:0 0 12px;font-size:20px;font-weight:800}.lm-modal-desc{color:var(--ink-2);margin:0 0 18px;font-size:14.5px;line-height:1.7}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.lm-shape{opacity:var(--o,.07);animation:none!important}.lm-scene-layer{transition:none!important}}
