:root{--font-sans: "Inter", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--r-sm: 6px;--r-md: 8px;--r-lg: 24px;--r-pill: 50px;--lime: #dceeb1;--lilac: #c5b0f4;--cream: #f4ecd6;--pink: #efd4d4;--mint: #c8e6cd;--coral: #f3c9b6;--navy: #1f1d3d;--on-block: #000000;--accent: #7a5cff;--accent-deep: #6247e0;--accent-soft: #d2c2ff;--on-accent: #ffffff;--up: #ff6b6b;--down: #6ea8ff;--safe-b: env(safe-area-inset-bottom, 0px)}:root,:root[data-theme=dark]{--canvas: #12101d;--surface: #1c1932;--surface-2: #272344;--hairline: #363058;--hairline-soft: #2b2649;--ink: #f6f4ff;--muted: #b5afd6;--faint: #7d78a3;--cta-bg: var(--accent);--cta-ink: var(--on-accent);--thumb-bg: #000000;color-scheme:dark}:root[data-theme=light]{--canvas: #fbfaff;--surface: #f3f0fb;--surface-2: #e9e4f8;--hairline: #e0d9f3;--hairline-soft: #ebe6f7;--ink: #15122b;--muted: #6a6489;--faint: #9c97b8;--cta-bg: #6a4cf0;--cta-ink: #ffffff;--accent: #6a4cf0;--thumb-bg: #111111;--up: #d63b2f;--down: #1d5fb8;color-scheme:light}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;font-family:var(--font-sans);font-weight:400;letter-spacing:-.14px;color:var(--ink);background:var(--canvas);-webkit-tap-highlight-color:transparent;font-feature-settings:"kern"}button,input,select{font:inherit;color:inherit}a{color:var(--accent-soft);text-underline-offset:3px}:root[data-theme=light] a{color:var(--accent)}h1{font-size:34px;font-weight:600;letter-spacing:-.9px;line-height:1.05;margin:0 0 8px}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;background:var(--canvas);border-bottom:1px solid var(--hairline);padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.topbar .brand{font-weight:600;font-size:18px;letter-spacing:-.4px}.topbar .brand:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--accent-soft);margin-right:8px;vertical-align:1px}.topbar .tools{display:flex;gap:8px}.topbar button{background:transparent;border:1px solid var(--hairline);color:var(--ink);border-radius:var(--r-pill);padding:6px 14px;font-size:14px}.main{flex:1;padding:16px 16px calc(88px + var(--safe-b));max-width:720px;width:100%;margin:0 auto}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--canvas);border-top:1px solid var(--hairline);padding:8px 12px calc(8px + var(--safe-b));gap:8px}.tabs button{flex:1;padding:12px 0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:15px;font-weight:500}.tabs button.active{color:var(--on-block);background:var(--accent-soft);font-weight:600}.big{display:block;width:100%;padding:18px 20px;font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--cta-ink);background:var(--cta-bg);border:0;border-radius:var(--r-pill)}.big:active{transform:scale(.99)}.ghost{display:block;width:100%;padding:14px 18px;font-size:16px;font-weight:500;color:var(--ink);background:transparent;border:1px solid var(--hairline);border-radius:var(--r-pill);margin-top:10px}.actions{display:flex;gap:8px;margin-top:14px}.actions button{flex:1;padding:13px;border-radius:var(--r-pill);border:1px solid var(--hairline);background:transparent;color:var(--ink);font-size:15px;font-weight:500}.actions button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.actions button.primary:active{background:var(--accent-deep)}button:disabled{opacity:.4}.card{background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--r-lg);padding:18px 16px;margin-top:14px}.card h3{margin:0 0 10px;font-size:13px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--accent-soft);font-family:var(--font-mono)}:root[data-theme=light] .card h3{color:var(--accent)}.card h3 button{text-transform:none;letter-spacing:0;font-family:var(--font-sans)}.row{display:flex;gap:10px;align-items:center;margin:8px 0}.row label{width:84px;color:var(--muted);font-size:13px;flex:none}.row input,.row select{flex:1;min-width:0;padding:11px 12px;font-size:16px;background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md)}.row input:focus,.row select:focus{outline:2px solid var(--accent-soft);outline-offset:-1px}.row input[readonly]{background:transparent;border-color:transparent;padding-left:0}.muted{color:var(--muted);font-size:13px}.delta-up{color:var(--up);font-weight:600}.delta-down{color:var(--down);font-weight:600}.warn{color:var(--on-block);background:var(--coral);padding:8px 12px;border-radius:var(--r-md);font-size:13px;margin-top:8px}.err{color:var(--on-block);background:var(--pink);padding:8px 12px;border-radius:var(--r-md);font-size:13px;margin-top:8px;word-break:break-all}.ok{color:var(--on-block);background:var(--lime);padding:8px 12px;border-radius:var(--r-md);font-size:14px;font-weight:600;margin-top:8px;display:inline-block}.badge{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.4px;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);margin-left:6px;vertical-align:middle}.badge.lime{background:var(--lime);color:var(--on-block)}.badge.lilac{background:var(--lilac);color:var(--on-block)}.badge.coral{background:var(--coral);color:var(--on-block)}.badge.mint{background:var(--mint);color:var(--on-block)}.thumb{width:100%;max-height:220px;object-fit:contain;background:var(--thumb-bg);border-radius:var(--r-md)}.tag{border-top:1px solid var(--hairline-soft);padding-top:10px;margin-top:12px}.price-line{font-size:17px;margin-top:6px}.price-line b{font-weight:700;letter-spacing:-.3px}.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.4px;color:var(--faint);text-transform:uppercase}.list{list-style:none;padding:0;margin:0}.list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline-soft);font-size:15px}.list li:last-child{border-bottom:0}.list .no{font-family:var(--font-mono);font-size:12px;color:var(--faint);letter-spacing:.3px}.login{max-width:380px;margin:14vh auto;padding:0 20px;text-align:center}.login .eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.login input{width:100%;padding:13px;font-size:16px;background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md);margin:8px 0}.login .big{margin-top:20px}.capture{display:flex;flex-direction:column;align-items:center;gap:12px;padding:6px 0 4px}.sq{width:66%;max-width:286px;aspect-ratio:1;border:0;border-radius:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:17px;font-weight:600;letter-spacing:-.2px}.sq .glyph{font-size:40px;line-height:1;display:flex}.sq .glyph svg{width:56px;height:56px;stroke:var(--accent-soft);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sq .sub{font-size:12px;font-weight:400;color:inherit;opacity:.75}.sq.primary{background:var(--accent);color:var(--on-accent)}.sq.primary:active{background:var(--accent-deep)}.sq.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--accent-soft)}.sq.secondary:active{background:var(--surface-2)}.del{background:transparent;border:1px solid var(--hairline);color:var(--muted);border-radius:var(--r-pill);padding:3px 10px;font-size:12px;font-family:var(--font-sans);text-transform:none;letter-spacing:0}.del:active{background:var(--coral);color:var(--on-block);border-color:var(--coral)}
