:root{--accent: #3182f6;--accent-hover: #2b74dc;--accent-pressed: #2264c4;--accent-bg: #e8f3ff;--on-accent: #ffffff;--accent-strong: #1d63c9;--warm: #c96f4c;--warm-bg: #faece7;--warm-strong: #8f4a30;--text-primary: #191f28;--text-secondary: #4e5968;--text-tertiary: #8b95a1;--text-disabled: #b0b8c1;--bg: #f2f4f6;--surface: #ffffff;--surface-sunken: #f9fafb;--border: #eef1f4;--border-strong: #d1d6db;--success: #12b886;--success-bg: #e6fcf5;--success-strong: #0a7350;--warning: #f59f00;--warning-bg: #fff9db;--warning-strong: #7a5300;--danger: #f03e3e;--danger-bg: #fff0f0;--danger-strong: #c0261e;--shadow-card: 0 1px 3px rgba(0,0,0,.06);--shadow-pop: 0 8px 24px rgba(0,0,0,.12);--shadow-focus: 0 0 0 3px rgba(49,130,246,.35);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--dur-fast: .12s;--dur-base: .2s;--ease-standard: cubic-bezier(.2,0,0,1);--font: "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", -apple-system, sans-serif}:root[data-theme=dark]{--accent: #22d3ee;--accent-hover: #38dcf0;--accent-pressed: #0fb9d4;--accent-bg: #10313a;--on-accent: #06232a;--accent-strong: #22d3ee;--warm: #e0906f;--warm-bg: #2a1a12;--warm-strong: #e0906f;--text-primary: #e6e8ee;--text-secondary: #c5c9d3;--text-tertiary: #8a90a2;--text-disabled: #565b68;--bg: #0f1117;--surface: #181b24;--surface-sunken: #12141b;--border: #1e2129;--border-strong: #262a35;--success: #34d399;--success-bg: #0f2e26;--success-strong: #34d399;--warning: #fbbf24;--warning-bg: #2e2408;--warning-strong: #fbbf24;--danger: #f87171;--danger-bg: #2e1414;--danger-strong: #f87171;--shadow-card: 0 1px 3px rgba(0,0,0,.4);--shadow-pop: 0 8px 24px rgba(0,0,0,.5);--shadow-focus: 0 0 0 3px rgba(34,211,238,.35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text-primary);font-family:var(--font);line-height:1.6;letter-spacing:-.2px;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;letter-spacing:-.4px;line-height:1.3;font-weight:700}p{margin:0}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}a{color:var(--accent);text-decoration:none}.btn{height:42px;padding:0 18px;border-radius:var(--radius-md);font-size:15px;font-weight:600;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;flex-shrink:0;transition:background .12s,border-color .12s}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--surface-sunken)}.btn-sm{height:34px;padding:0 13px;font-size:13px;border-radius:var(--radius-sm)}.btn:disabled{opacity:.5;cursor:default}.field{width:100%;height:46px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-size:15px;outline:none;transition:border-color .12s,box-shadow .12s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}textarea.field{height:auto;min-height:96px;padding:12px 14px;resize:vertical;line-height:1.5}.label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;display:block}.container{max-width:1080px;margin:0 auto;padding:24px 24px 80px}.center-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.appbar{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}.appbar-inner{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand .mark{width:32px;height:32px;border-radius:9px;background:var(--text-primary);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.brand b{font-size:17px;font-weight:700;white-space:nowrap}.brand span{font-size:13px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchbar{position:relative;margin:8px 0 20px}.searchbar i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:18px}.searchbar input{padding-left:44px;box-shadow:var(--shadow-card);border-color:var(--border)}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.chips-wrap{position:relative;flex:1;min-width:0}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar-actions{display:flex;gap:8px;align-items:center;margin-left:auto;flex-shrink:0;position:relative}.pill{font-size:14px;font-weight:500;padding:7px 16px;border-radius:999px;white-space:nowrap;border:1px solid var(--border);color:var(--text-secondary);background:var(--surface)}.pill:hover{border-color:var(--border-strong)}.pill.on{background:var(--text-primary);color:var(--bg);border-color:var(--text-primary)}.pill .cnt{opacity:.55;margin-left:4px}.cat-menu-btn{display:none}.cat-menu-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:200;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:6px;display:flex;flex-direction:column;min-width:150px}.cat-menu-pop button{text-align:left;padding:11px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:8px}.cat-menu-pop button:hover{background:var(--surface-sunken)}.fab{display:none}.viewtoggle{display:inline-flex;gap:4px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;padding:3px;margin-bottom:20px}.viewtoggle button{border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;padding:7px 16px;border-radius:999px}.viewtoggle button.on{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-card)}.catsection{margin-bottom:28px}.cathead{font-size:16px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}.cathead .cnt{font-size:13px;color:var(--text-tertiary);font-weight:500}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.rcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:border-color .12s}.rcard:hover{border-color:var(--border-strong)}.rcard .thumb{height:130px;display:flex;align-items:center;justify-content:center;background:var(--accent-bg);color:var(--accent);overflow:hidden}.rcard .thumb.warm{background:var(--warm-bg);color:var(--warm)}.rcard .thumb img{width:100%;height:100%;object-fit:cover}.rcard .thumb i{font-size:40px}.rcard .body{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.rcard .h{font-size:15px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rcard .m{font-size:13px;color:var(--text-tertiary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rcard .foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;width:fit-content}.badge.copy{background:var(--success-bg);color:var(--success-strong)}.badge.visual{background:var(--warm-bg);color:var(--warm-strong)}.badge.data{background:var(--accent-bg);color:var(--accent-strong)}.badge.plain{background:var(--surface-sunken);color:var(--text-secondary);border:1px solid var(--border)}.icon-btn{width:30px;height:30px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;font-size:17px}.icon-btn:hover{background:var(--surface-sunken);color:var(--danger)}.empty{text-align:center;padding:72px 24px;color:var(--text-tertiary)}.empty i{font-size:40px;display:block;margin-bottom:14px;color:var(--text-disabled)}.empty h3{font-size:18px;color:var(--text-secondary);margin-bottom:6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1300;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);width:100%;max-width:480px;padding:24px;max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal h2{font-size:20px;margin-bottom:18px}.seg{display:flex;gap:6px;background:var(--surface-sunken);padding:4px;border-radius:var(--radius-md);margin-bottom:16px}.seg button{flex:1;height:36px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;white-space:nowrap;padding:0 6px}.seg button.on{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-card)}.modal .row-btn{display:flex;gap:10px;margin-top:20px}.modal .row-btn .btn{flex:1}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);width:100%;max-width:380px;padding:32px}.auth-card .brand{justify-content:center;margin-bottom:8px}.auth-card .sub{text-align:center;color:var(--text-tertiary);font-size:14px;margin-bottom:24px}.auth-card .stack{display:flex;flex-direction:column;gap:14px}.auth-card .switch{text-align:center;margin-top:18px;font-size:14px;color:var(--text-tertiary)}.auth-card .switch button{border:none;background:none;color:var(--accent);font-weight:600}.form-error{background:var(--danger-bg);color:var(--danger-strong);font-size:13px;padding:10px 12px;border-radius:var(--radius-sm)}.form-note{font-size:14px;line-height:1.55;padding:12px 14px;border-radius:var(--radius-sm)}.field-hint{font-size:12px;margin:6px 0 0;display:flex;align-items:center;gap:4px}.field-hint.ok{color:#0a8a5f}.field-hint.bad{color:var(--danger-strong)}.linklike{border:none;background:none;padding:0;color:var(--accent);font-weight:600;font-size:12px;cursor:pointer}.linklike:hover{text-decoration:underline}.set-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.set-row:last-of-type{border-bottom:none}.set-label{flex:1;min-width:0}.set-title{font-size:15px;font-weight:600;color:var(--text-primary)}.set-desc{font-size:12px;color:var(--text-tertiary);margin-top:3px;line-height:1.45}.set-row.stack{flex-direction:column;align-items:stretch;gap:10px}.set-row.stack .seg{width:100%;margin-bottom:0}@media (max-width: 480px){.set-row.stack .seg button{font-size:13px}}.switch-btn{flex:0 0 auto;width:48px;height:28px;border-radius:999px;border:none;background:var(--border-strong);position:relative;cursor:pointer;transition:background .18s}.switch-btn.on{background:var(--accent)}.switch-btn .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 3px #00000040}.switch-btn.on .knob{transform:translate(20px)}.legal{color:var(--text-secondary);line-height:1.7;font-size:15px;padding-bottom:40px}.legal h1{color:var(--text-primary);font-size:24px;margin:8px 0 4px}.legal h2{color:var(--text-primary);font-size:17px;margin:28px 0 8px}.legal p{margin:0 0 10px}.legal ul{margin:0 0 12px;padding-left:18px}.legal li{margin:5px 0}.legal .eff{color:var(--text-tertiary);font-size:13px}.legal table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0 12px}.legal th,.legal td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}.legal th{background:var(--surface-sunken);color:var(--text-secondary);font-weight:600}.legal-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:16px}.legal-links a{font-size:13px;color:var(--text-tertiary)}.muted{color:var(--text-tertiary)}.spinner{color:var(--text-tertiary);text-align:center;padding:60px}body:has(.lp){background:#fff}.lp{--accent: #3182f6;--accent-hover: #2b74dc;--accent-pressed: #2264c4;--accent-bg: #e8f3ff;--on-accent: #ffffff;--accent-strong: #1d63c9;--warm: #c96f4c;--warm-bg: #faece7;--warm-strong: #8f4a30;--text-primary: #191f28;--text-secondary: #4e5968;--text-tertiary: #8b95a1;--text-disabled: #b0b8c1;--bg: #ffffff;--surface: #ffffff;--surface-sunken: #f9fafb;--border: #eef1f4;--border-strong: #d1d6db;--success: #12b886;--success-bg: #e6fcf5;--success-strong: #0a7350;--danger: #f03e3e;--danger-bg: #fff0f0;--danger-strong: #c0261e;--shadow-card: 0 1px 3px rgba(0,0,0,.06);--shadow-pop: 0 10px 30px rgba(0,0,0,.1);--shadow-focus: 0 0 0 3px rgba(49,130,246,.35);color:var(--text-primary)}.lp-inner{max-width:1040px;margin:0 auto;padding:0 28px}.lp-herowrap{background:linear-gradient(180deg,#eaf2ff,#f4f8ff 58%,#fff);border-bottom:1px solid var(--border)}.lp-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.lp-nav .brand b{font-size:18px}.lp-navbtns{display:flex;gap:8px;align-items:center}.lp-hero{text-align:center;max-width:760px;margin:0 auto;padding:52px 0 40px}.lp-eyebrow{display:inline-block;font-size:13px;font-weight:600;color:var(--accent-strong);background:#fff;border:1px solid var(--border-strong);padding:7px 15px;border-radius:999px;box-shadow:0 2px 8px #141e370d}.lp-h1{font-size:clamp(38px,6.4vw,60px);font-weight:800;line-height:1.18;letter-spacing:-2px;margin:20px 0 18px;text-wrap:balance}.lp-h1 .accent{color:var(--accent)}.lp-sub{font-size:clamp(16px,2.4vw,19px);color:var(--text-secondary);line-height:1.6;max-width:26em;margin:0 auto}.lp-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}.lp-btn{height:54px;padding:0 30px;border-radius:999px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast, .12s) var(--ease-standard, ease),border-color var(--dur-fast, .12s),transform var(--dur-fast, .12s),box-shadow var(--dur-fast, .12s)}.lp-btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 20px #3182f64d}.lp-btn.primary:hover{background:var(--accent-hover);box-shadow:0 10px 24px #3182f65c}.lp-btn.ghost{background:#ffffffb3;border-color:var(--border-strong);color:var(--text-primary)}.lp-btn.ghost:hover{background:#fff}.lp-btn.sm{height:40px;padding:0 16px;font-size:14px;font-weight:600}.lp-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.lp-btn:active{transform:scale(.98)}.lp-mock{max-width:860px;margin:44px auto 0;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:0 30px 70px #14285a29;padding:18px}.lp-mock-search{display:flex;align-items:center;gap:8px;height:46px;padding:0 16px;border-radius:12px;background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-tertiary);font-size:14px;margin-bottom:14px}.lp-mock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.lp-mc{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.lp-mc .t{height:70px;display:flex;align-items:center;justify-content:center;font-size:24px}.lp-mc .b{padding:11px 12px}.lp-mc .badge2{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px}.lp-mc .h2{font-size:12.5px;font-weight:600;margin:7px 0 4px;line-height:1.35}.lp-mc .m2{font-size:11px;color:var(--text-tertiary);line-height:1.4}.lp-section{padding:80px 0}.lp-section+.lp-section{border-top:1px solid var(--border)}.lp-h2{font-size:clamp(26px,4vw,36px);font-weight:800;letter-spacing:-.8px;text-wrap:balance;text-align:center}.lp-lead{text-align:center;color:var(--text-secondary);font-size:16px;margin-top:10px}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.lp-step{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:0 2px 10px #141e370a}.lp-step .n{width:34px;height:34px;border-radius:11px;background:var(--accent-bg);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.lp-step h3{font-size:17px;margin:14px 0 6px}.lp-step p{font-size:14px;color:var(--text-secondary);line-height:1.6}.lp-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:44px}.lp-feature{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 2px 10px #141e370a}.lp-feature .ic{width:46px;height:46px;border-radius:13px;background:var(--accent-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:23px}.lp-feature h3{font-size:16px;font-weight:700;margin:14px 0 6px}.lp-feature p{font-size:14px;color:var(--text-secondary);line-height:1.6}.lp-final{text-align:center;padding:88px 0;background:linear-gradient(180deg,#fff,#f4f8ff)}.lp-final h2{font-size:clamp(28px,4.4vw,40px);font-weight:800;letter-spacing:-1px;text-wrap:balance}.lp-trust{margin-top:18px;color:var(--text-tertiary);font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.lp-footer{padding:28px 0 40px;color:var(--text-tertiary);font-size:13px;text-align:center}@media (max-width: 768px){.lp-mock-grid{grid-template-columns:1fr 1fr}.lp-steps{grid-template-columns:1fr}.lp-section{padding:56px 0}.lp-hero{padding:36px 0 28px}.lp-final{padding:64px 0}}@media (max-width: 480px){.appbar-inner{padding:12px 16px;gap:12px}.container{padding:16px 16px 96px}.brand span{display:none}.brand b{font-size:16px}.appbar-inner .btn-sm{height:30px;padding:0 9px;font-size:12px;gap:4px}.appbar-inner .btn-sm i{font-size:14px}.cathead{flex-wrap:wrap}.chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.chips::-webkit-scrollbar{display:none}.chips .pill{flex-shrink:0}.chips-wrap.more-right:after,.chips-wrap.more-left:before{content:"";position:absolute;top:0;bottom:0;width:32px;pointer-events:none;z-index:1}.chips-wrap.more-right:after{right:0;background:linear-gradient(90deg,transparent,var(--bg) 78%)}.chips-wrap.more-left:before{left:0;background:linear-gradient(270deg,transparent,var(--bg) 78%)}.cat-action,.add-inline{display:none}.cat-menu-btn{display:inline-flex}.fab{display:inline-flex;position:fixed;right:16px;bottom:20px;z-index:90;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-pop);align-items:center;justify-content:center;font-size:28px}.fab:active{transform:scale(.94)}.searchbar{position:sticky;top:52px;z-index:50;background:var(--bg);margin:0 0 16px;padding:8px 0}.rcard .thumb{height:96px}.rcard .thumb i{font-size:32px}}
