:root{--paper: #f4f8fd;--ink: #22303f;--muted: #8694a3;--accent: #3b82c4;--accent-deep: #2563a8;--accent-soft: #e6f3ff;--glass: rgba(255, 255, 255, .6);--glass-strong: rgba(255, 255, 255, .72);--glass-soft: rgba(255, 255, 255, .44);--glass-border: rgba(255, 255, 255, .82);--glass-blur: blur(18px) saturate(150%);--glass-shadow: 0 8px 22px rgba(70, 110, 160, .14);--hi: inset 0 1px 0 rgba(255, 255, 255, .85);--r-lg: 24px;--r-md: 18px;--r-sm: 13px}:root[data-theme=dark]{--paper: #0f1622;--ink: #e8edf4;--muted: #93a2b5;--accent: #4f97e0;--accent-deep: #8fc1f0;--accent-soft: #16314d;--glass: rgba(255, 255, 255, .07);--glass-strong: rgba(255, 255, 255, .12);--glass-soft: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .14);--glass-shadow: 0 8px 22px rgba(0, 0, 0, .4);--hi: inset 0 1px 0 rgba(255, 255, 255, .12)}:root[data-theme=dark] body{background:radial-gradient(circle at 14% 10%,#1d3e63 0%,transparent 44%),radial-gradient(circle at 86% 16%,#173354 0%,transparent 42%),radial-gradient(circle at 74% 88%,#1a3350 0%,transparent 48%),radial-gradient(circle at 20% 75%,#142b45 0%,transparent 46%),var(--paper)}:root[data-theme=dark] .appbar{background:#0f16228c;border-bottom-color:#ffffff14}:root[data-theme=dark] .hero .big{box-shadow:0 10px 28px #00000073,var(--hi)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%}body{font-family:Inter,Helvetica Neue,Helvetica,Arial,Apple SD Gothic Neo,Pretendard,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(circle at 14% 10%,#bcdcff 0%,transparent 42%),radial-gradient(circle at 86% 16%,#e6f3ff 0%,transparent 40%),radial-gradient(circle at 74% 88%,#cfe6ff 0%,transparent 46%),radial-gradient(circle at 20% 75%,#d6ebff 0%,transparent 44%),var(--paper);background-attachment:fixed}.sub,.meta,.badge,.hint,.foot,.sellers-label,.total-bar .label{letter-spacing:.06em;font-size:11px;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app{max-width:480px;margin:0 auto;min-height:100%;background:transparent;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.appbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:11px;padding:calc(15px + env(safe-area-inset-top)) 20px 15px;background:#f4f8fd8c;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid rgba(255,255,255,.5)}.appbar .logo{font-size:22px;line-height:1}.appbar h1{font-size:21px;margin:0;font-weight:800;letter-spacing:-.02em}.appbar .sub{margin-left:auto;color:var(--accent);font-size:10px}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:36px;height:36px;margin-left:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .12s ease}.theme-toggle:active{transform:scale(.92)}.content{flex:1;padding:24px 20px 48px;animation:rise .4s ease both}.preview-wrap,.dish-head,.prod,.btn,.errbox{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--hi)}.hero{margin-bottom:26px;text-align:center}.hero .big{width:124px;height:124px;margin:6px auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:46px;line-height:1;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 10px 28px #466ea029,var(--hi)}.hero h2{font-size:30px;line-height:1.12;margin:0 0 14px;font-weight:800;letter-spacing:-.025em}.hero p{color:var(--muted);font-size:14px;margin:0 auto;max-width:32ch;line-height:1.6}.hero p b{color:var(--accent);font-weight:700}.cta-group{display:flex;flex-direction:column;gap:14px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--r-md);padding:17px 18px;font-size:15px;font-weight:700;letter-spacing:-.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;color:var(--ink);transition:transform .12s ease,box-shadow .15s ease}.btn:active{transform:scale(.99)}.btn-primary{background:var(--accent);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 8px 20px #2563a857,inset 0 1px #fff6}.btn[disabled]{opacity:.5;cursor:default}.hint{margin-top:22px;color:var(--muted);text-align:center}.install-wrap{margin-top:16px;text-align:center}.btn-install{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--accent-deep);background:var(--accent-soft);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:11px 20px;transition:transform .12s ease}.btn-install:active{transform:scale(.97)}.install-guide{margin-top:12px;text-align:left;background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--hi);border-radius:var(--r-md);padding:14px 16px;font-size:13px;color:var(--ink);line-height:1.6}.install-guide ol{margin:8px 0 0;padding-left:18px}.install-guide li{margin:3px 0}.install-guide b{font-weight:800}.legal{margin-top:16px;text-align:center;font-size:12px}.legal a{color:var(--muted);text-decoration:none}.legal a:hover{color:var(--accent);text-decoration:underline}.legal-contact{margin-top:6px}.preview-wrap{border-radius:var(--r-lg);overflow:hidden;padding:8px}.preview-wrap img{display:block;width:100%;max-height:380px;object-fit:cover;border-radius:18px}.preview-actions{display:flex;gap:14px;margin-top:18px}.preview-actions .btn{flex:1}.errbox{border-radius:var(--r-md);color:var(--accent-deep);padding:16px 18px;font-size:13px;line-height:1.55;white-space:pre-wrap}.errbox b{font-weight:800}.loading{display:flex;flex-direction:column;align-items:center;gap:18px;padding:70px 0;color:var(--muted);font-size:14px}.spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(59,130,196,.18);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ad-screen{display:flex;flex-direction:column;gap:14px}.ad-top{display:flex;align-items:center;gap:10px}.ad-badge{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--accent-deep);background:var(--accent-soft);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:4px 11px}.ad-status{font-size:12px;font-weight:700;color:var(--muted)}.ad-body{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow),var(--hi)}.ad-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px}.ad-fallback-emoji{font-size:48px;line-height:1}.ad-fallback-title{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.ad-fallback-sub{font-size:14px;color:var(--muted);max-width:260px;line-height:1.5}.ad-slot{z-index:2}.ad-progress{height:6px;border-radius:999px;background:var(--glass-soft);border:1px solid rgba(255,255,255,.5);overflow:hidden}.ad-progress-fill{height:100%;border-radius:999px;background:var(--accent);transition:width 1s linear}.ad-note{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--muted);margin:2px 0 0;text-align:center}.dish-head{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--r-lg)}.dish-head .thumb{width:72px;height:72px;object-fit:cover;border-radius:var(--r-md);flex-shrink:0;border:1px solid var(--glass-border)}.dish-head h2{margin:0;font-size:23px;line-height:1.1;font-weight:800;letter-spacing:-.025em}.dish-head .desc{margin:5px 0 0;font-size:13px;color:var(--muted);line-height:1.5}.badge{display:inline-block;color:var(--accent-deep);background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:999px;padding:5px 12px;margin-top:9px}.provider-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.provider-chips .chip{font-size:11px;font-weight:700;color:var(--accent-deep);background:var(--accent-soft);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:5px 11px}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:32px 0 16px}.section-title h3{font-size:18px;margin:0;font-weight:800;letter-spacing:-.02em}.section-title .meta{color:var(--muted)}.match-badge{display:inline-block;margin-top:6px;font-size:11px;font-weight:800;letter-spacing:-.01em;color:#fff;background:var(--accent);border-radius:999px;padding:3px 9px;box-shadow:0 3px 8px #2563a84d}.seller-match{font-weight:700;color:var(--accent-deep)}.card{display:flex;flex-direction:column;gap:14px;background:none}.prod{border-radius:var(--r-lg);padding:6px 4px}.ing{display:flex;align-items:center;gap:14px;padding:12px 14px}.ing .ing-thumb{width:50px;height:50px;object-fit:cover;border-radius:var(--r-sm);background:var(--accent-soft);border:1px solid var(--glass-border);flex-shrink:0}.ing .ing-thumb.ph{display:flex;align-items:center;justify-content:center;font-size:22px}.ing .ing-main{flex:1;min-width:0}.ing .ing-name{font-weight:700;font-size:15px;letter-spacing:-.01em}.ing .ing-amount{font-size:12px;color:var(--muted);margin-top:3px}.ing .ing-mall{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;display:inline-block;vertical-align:bottom}.ing .ing-price{text-align:right;flex-shrink:0}.ing .ing-price .won{font-weight:800;font-size:16px;color:var(--ink);letter-spacing:-.02em}.ing .ing-price a{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:var(--accent);text-decoration:none}.ing .na{font-size:11px;color:var(--muted)}.ing .price-skel{width:56px;height:14px;border-radius:7px;margin-left:auto;background:var(--glass-soft);border:1px solid rgba(255,255,255,.5);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.sellers{padding:2px 14px 14px;display:flex;flex-direction:column;gap:8px}.sellers-label{color:var(--muted);margin-bottom:2px;padding-left:2px}.seller{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:var(--r-sm);background:var(--glass-soft);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-decoration:none;color:var(--ink)}.seller-mall{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seller-price{font-size:14px;font-weight:800;letter-spacing:-.02em;flex-shrink:0}.total-bar{margin-top:18px;border-radius:var(--r-lg);background:var(--accent);color:#fff;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 22px #2563a84d,inset 0 1px #fff6}.total-bar .label{color:#dcebfb}.total-bar .amount{font-size:24px;font-weight:800;letter-spacing:-.03em}.foot{color:var(--muted);margin-top:30px;line-height:1.7;text-align:center}
