:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif;color:#11130f;background:#11130f;font-synthesis:none;text-rendering:optimizeLegibility;--lime: #b8ff00;--ink: #11130f;--muted: #5f655b;--canvas: #f4f5ef;--surface: #ffffff;--line: #dfe2d8;--soft: #e9ece3;--motion: .24s;--display: clamp(2.1rem, 9.2vw, 2.4rem);--title: clamp(1.55rem, 6vw, 2rem);--body: clamp(.95rem, 3.8vw, 1.05rem)}*{box-sizing:border-box}html{background:#11130f}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6d9800;outline-offset:3px}.desktop-stage{min-height:100vh;min-height:100dvh;background:#11130f}.app-shell{width:min(100%,480px);min-height:100vh;min-height:100dvh;margin:0 auto;background:var(--canvas);position:relative;display:flex;flex-direction:column;overflow:clip}.app-header{min-height:64px;padding:calc(12px + env(safe-area-inset-top)) 20px 10px;color:var(--lime);background:var(--ink);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a2e26}.wordmark{display:block;font-family:Impact,Haettenschweiler,Franklin Gothic Heavy,sans-serif;font-size:1.85rem;letter-spacing:-.055em;line-height:.9}.install-button{min-width:72px;min-height:44px;border:1px solid #53612f;border-radius:6px;background:transparent;color:var(--lime);font-weight:700}.offline-banner,.data-warning{margin:0;padding:10px 20px;background:#f7edc9;color:#6d5411;font-size:.8rem;font-weight:700}.app-content{flex:1 0 auto;padding-bottom:16px}.hero{min-height:196px;padding:20px 20px 18px;position:relative;overflow:hidden;color:#f7f9f1;background:var(--ink);border-bottom:1px solid #2a2e26}.hero:after{content:"";position:absolute;width:70px;height:100px;right:-18px;top:64px;background:var(--lime);transform:rotate(9deg);opacity:.95}.hero-index{position:absolute;right:16px;top:2px;color:#24291f;font-family:SF Mono,JetBrains Mono,monospace;font-size:4.6rem;font-weight:800;line-height:1;letter-spacing:-.1em}.demo-label{font-family:SF Mono,JetBrains Mono,monospace;font-size:.8125rem;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}.hero .demo-label{display:inline-block;color:var(--lime);position:relative;z-index:1}.hero h1{max-width:360px;margin:14px 0 0;font-size:var(--display);line-height:1.02;letter-spacing:-.06em;position:relative;z-index:1}.hero-stat{width:calc(100% - 40px);position:absolute;left:20px;bottom:18px;display:flex;align-items:baseline;gap:10px;border-top:1px solid #3b4135;padding-top:11px;z-index:1}.hero-stat strong{color:var(--lime);font-size:1.35rem;font-variant-numeric:tabular-nums}.hero-stat span{color:#e0e4da;font-size:.875rem}.search-section{padding:16px 16px 14px;background:var(--surface);border-bottom:1px solid var(--line)}.search-label{display:block;margin-bottom:10px;font-size:.82rem;font-weight:750}.search-box{min-height:52px;padding:0 8px 0 14px;display:flex;align-items:center;gap:10px;background:#f1f3ed;border:1px solid transparent;border-radius:10px}.search-box:focus-within{border-color:#768257;background:#fff}.search-box input{width:100%;min-width:0;min-height:50px;border:0;outline:0;background:transparent;color:var(--ink)}.search-box input::placeholder{color:#92988c}.clear-search,.icon-button{min-width:44px;min-height:44px;border:0;border-radius:6px;display:inline-grid;place-items:center;background:transparent}.clear-search:active,.icon-button:active{background:var(--soft);transform:scale(.96)}.filter-heading{margin:18px 0 8px;display:flex;justify-content:space-between;align-items:center;gap:12px}.filter-heading>span{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:750}.filter-heading small{color:var(--muted);font-size:.82rem}.category-filters{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none}.category-filters::-webkit-scrollbar{display:none}.category-filters button{flex:0 0 auto;min-width:70px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fff;font-size:.875rem;font-weight:700;transition:background var(--motion),color var(--motion),transform var(--motion)}.category-filters button.is-active{background:var(--ink);color:var(--lime);border-color:var(--ink)}.category-filters button:active{transform:scale(.96)}.filter-chip-row{margin-top:8px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.filter-chip-row::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto;min-height:44px;padding:0 14px;border:1px solid #e4e7df;border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:#f2f4ee;color:#4e554a;font-size:.875rem;font-weight:750;transition:background var(--motion),color var(--motion),transform var(--motion)}.filter-chip>svg{transition:transform var(--motion)}.filter-chip.is-open>svg{transform:rotate(180deg)}.filter-chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--lime)}.filter-chip:active{transform:scale(.97)}.benefit-section,.saved-section{padding:16px 16px 28px}.section-title-row{padding:0 2px 12px}.section-title-row h2{margin:0;font-size:1.3rem;line-height:1.35;font-weight:800;letter-spacing:-.025em}.result-count{margin-left:4px;color:var(--muted);font-size:.95rem;font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.saved-section h1{margin:0;font-size:var(--title);letter-spacing:-.045em}.saved-section>p{margin:8px 0 28px;color:var(--muted);font-size:.9rem}.benefit-list{display:grid;gap:10px}.benefit-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;animation:card-in .48s cubic-bezier(.16,1,.3,1) both}.benefit-main{width:100%;min-height:146px;padding:18px 58px 18px 14px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:12px;border:0;background:#fff;text-align:left;transition:background var(--motion),transform var(--motion)}.benefit-main:hover{background:#fafbf7}.benefit-main:active{background:#f1f3ed;transform:scale(.995)}.brand-logo{flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:1px solid #e6e8e1;background:#fff;color:#687062}.brand-logo img{display:block;width:78%;height:78%;object-fit:contain}.brand-logo--card{width:46px;height:46px;border-radius:11px}.brand-logo--filter{width:40px;height:40px;border-radius:10px}.brand-logo--chip{width:24px;height:24px;border-radius:7px;border-color:#11130f1f}.brand-logo--chip img{width:82%;height:82%}.brand-logo--baemin img,.brand-logo--mega-mgc img,.brand-logo--lotte-cinema img{width:100%;height:100%}.brand-logo--starbucks img,.brand-logo--burger-king img{width:76%;height:76%}.brand-logo--cgv img,.brand-logo--cu img,.brand-logo--gs25 img{width:86%;height:72%}.brand-logo--all{background:#f1f3ed}.benefit-copy{min-width:0;display:flex;flex-direction:column}.benefit-meta{min-height:22px;display:flex;align-items:center;gap:5px;color:#545b4f;font-size:.84rem;font-weight:700}.today-badge,.expiry-badge{padding:3px 6px;border-radius:999px;font-family:SF Mono,monospace;font-size:.75rem}.today-badge{color:#38580a;background:#e6f7c1}.expiry-badge{color:#8b3a31;background:#fde8e3}.benefit-copy>strong{margin-top:4px;overflow-wrap:anywhere;font-size:1.05rem;line-height:1.34;letter-spacing:-.02em}.benefit-saving{margin-top:7px;color:#345506;font-size:.94rem;font-weight:800}.benefit-condition{margin-top:6px;color:var(--muted);font-size:.875rem;line-height:1.45}.save-button{width:44px;height:44px;position:absolute;top:10px;right:10px;z-index:2;border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#596052;transition:background var(--motion),color var(--motion),transform var(--motion)}.save-button.is-saved{color:#2e4808;background:#eff7df}.save-button:active{transform:scale(.94)}.empty-state{min-height:220px;padding:30px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state strong{margin-top:10px;font-size:1.05rem}.empty-state p{max-width:260px;margin:8px 0 16px;color:var(--muted);font-size:.82rem;line-height:1.55}.empty-state button{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:6px;background:#f1f3ed;font-weight:750}.bottom-nav{min-height:68px;margin:0 12px calc(12px + env(safe-area-inset-bottom));padding:8px;position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));flex:0 0 auto;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#fffffff5;border:1px solid rgba(17,19,15,.08);border-radius:20px;box-shadow:0 12px 32px #11130f29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{min-width:64px;min-height:52px;border:0;border-radius:8px;background:transparent;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#7d8378;font-size:.8125rem;font-weight:750}.bottom-nav button.is-active{color:var(--ink);background:#eff1eb}.bottom-nav button b{min-width:18px;height:18px;padding:0 5px;position:absolute;top:5px;right:calc(50% - 25px);border-radius:999px;display:grid;place-items:center;background:var(--lime);font-size:.6rem}.toast{max-width:calc(100% - 32px);min-height:48px;padding:13px 16px;position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:60;transform:translate(-50%);border-radius:8px;background:#20231d;color:#f6f8f1;font-size:.82rem;font-weight:700;animation:toast-in .22s ease-out both}.benefit-dialog{width:min(100%,480px);max-width:480px;max-height:92vh;margin:auto auto 0;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.benefit-dialog::backdrop{background:#090a089e}.benefit-dialog:focus,.filter-dialog:focus{outline:0}.filter-dialog{width:min(100%,480px);max-width:480px;max-height:80vh;max-height:80dvh;margin:auto auto 0;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.filter-dialog::backdrop{background:#090a0885}.filter-sheet{max-height:80vh;max-height:80dvh;padding:10px 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;background:#fff;border-radius:20px 20px 0 0;will-change:transform}.filter-sheet:focus{outline:0}.filter-sheet-header{min-height:58px;display:flex;align-items:center;justify-content:space-between}.filter-sheet-header h2{margin:0 0 0 4px;font-size:1.25rem;letter-spacing:-.035em}.filter-options{display:grid}.filter-option{width:100%;min-height:64px;padding:0 8px;border:0;border-bottom:1px solid #eef0ea;display:flex;align-items:center;justify-content:space-between;background:transparent;text-align:left;font-size:1rem;font-weight:650}.filter-option-main{min-width:0;display:flex;align-items:center;gap:12px}.filter-option-main>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-option:last-child{border-bottom:0}.filter-option.is-selected{color:#2f4b07;font-weight:800}.filter-option.is-selected svg{color:#4f760a}.filter-option:focus-visible{outline:2px solid #6d9800;outline-offset:-2px;border-radius:8px}.filter-option:active{background:#f3f5ef}.dialog-sheet{max-height:92vh;padding:10px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;background:#fff;border-radius:18px 18px 0 0;will-change:transform}.dialog-handle{width:38px;height:4px;margin:0 auto 8px;border-radius:99px;background:#d8dbd3}.dialog-topline{min-height:48px;display:flex;align-items:center;justify-content:space-between}.dialog-topline .demo-label{color:#657052}.dialog-brand-row{margin:16px 0 10px;display:flex;align-items:center;gap:10px}.dialog-brand{margin:0;color:var(--muted);font-size:.84rem;font-weight:700}.dialog-sheet h2{margin:0;font-size:1.72rem;line-height:1.18;letter-spacing:-.045em}.dialog-saving{margin:12px 0 20px;color:#315004;font-size:1.1rem;font-weight:850}.sr-only{width:1px;height:1px;padding:0;margin:-1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.availability-section{margin-top:26px;border-top:1px solid var(--line)}.availability-heading{padding:20px 0 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}.availability-label{display:block;color:var(--muted);font-size:.875rem;font-weight:750}.availability-section h3{margin:6px 0 0;font-size:1.25rem;line-height:1.3;letter-spacing:-.035em}.availability-badge{min-height:30px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;font-size:.8rem;font-weight:800}.availability-badge.is-ready{background:#e6f6e9;color:#17843b}.availability-badge.is-review{background:#f3f1e9;color:#6b6042}.eligibility-list{margin:0;padding:0;border-bottom:1px solid var(--line)}.eligibility-row{min-height:68px;padding:13px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border-top:1px solid #eceee8}.eligibility-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.eligibility-copy strong{font-size:.94rem;line-height:1.35;letter-spacing:-.018em}.eligibility-copy>span{color:var(--muted);font-size:.875rem;line-height:1.4}.eligibility-state{flex:none;display:inline-flex;align-items:center;justify-content:center}.eligibility-state.is-passed{color:#1f9d4b}.eligibility-state.is-pending{min-height:30px;padding:0 9px;border-radius:999px;gap:4px;background:#f3f1e9;color:#74643a;font-size:.78rem;font-weight:750}.condition-section-title{margin:26px 0 0;font-size:1rem;letter-spacing:-.025em}.condition-list{margin:10px 0 20px;border-top:1px solid var(--line)}.condition-list>div{padding:14px 0;display:grid;grid-template-columns:76px 1fr;gap:12px;border-bottom:1px solid var(--line)}.condition-list dt{color:var(--muted);font-size:.875rem;font-weight:700}.condition-list dd{margin:0;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.source-note{margin:0 0 18px;color:#72786e;font-size:.8125rem}.dialog-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px}.secondary-button,.primary-cta{min-height:54px;padding:0 14px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;font-weight:850;text-decoration:none}.secondary-button{border:1px solid var(--line);background:#f0f2ec}.primary-cta{border:1px solid var(--ink);background:var(--lime);color:var(--ink)}.secondary-button:active,.primary-cta:active{transform:scale(.98)}.fatal-state{min-height:100vh;padding:48px 24px;background:var(--lime)}.fatal-state h1{margin-top:60px;font-size:2.6rem;letter-spacing:-.05em}.fatal-state p{max-width:340px;line-height:1.6}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:760px){.desktop-stage{padding:28px 0}.app-shell{min-height:calc(100vh - 56px);border:1px solid #363b31;border-radius:18px}.app-header{border-radius:17px 17px 0 0}.benefit-dialog{margin-bottom:28px}.dialog-sheet{border-radius:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
