:root{--accent:#06c755;--primary:#008738;--primary-hover:#006f2e;--ink:#222b26;--muted:#68726c;--paper:#f6f8f7;--white:#fff;--line:#e2e8e4;--soft:#eaf8ef;--error:#b3261e;--radius:16px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--font)}button,input,select,a{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:0;border-radius:9px;font-weight:650;padding:10px 16px;transition:background .15s,color .15s}button:disabled{opacity:.45;cursor:default}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3,p{text-wrap:pretty}a{color:var(--primary)}h1{font-size:28px;line-height:1.4;font-weight:750;letter-spacing:-.03em}h2{font-size:19px;font-weight:700}h3{font-size:17px;font-weight:700}.site-header{background:var(--white);border-bottom:1px solid var(--line)}.header-inner{max-width:1120px;margin:auto;padding:22px 28px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:20px;font-weight:750;line-height:1.3;text-decoration:none;color:var(--ink);letter-spacing:.02em}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:.08em;color:var(--muted);margin-top:5px}.header-note{font-size:13px;color:var(--muted)}.app-nav{max-width:1064px;margin:0 auto;display:flex;gap:28px;padding:0 4px}.app-nav button{border-radius:0;background:none;color:var(--muted);min-width:130px;padding:14px 18px;border-bottom:3px solid transparent}.app-nav button[aria-selected="true"]{color:var(--primary);border-color:var(--accent);font-weight:750}.app-nav button:hover{background:var(--soft)}.app-main{max-width:1120px;padding:32px 28px 40px;margin:auto}.tool-heading{margin-bottom:22px}.tool-heading p{color:var(--muted);font-size:14px;margin-top:6px}.input-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.input-panel h2{margin-bottom:18px}.form-row{display:flex;gap:12px;align-items:flex-end}.field{flex:1;min-width:0}label{display:block;font-size:14px;font-weight:650;margin-bottom:7px}input:not([type="checkbox"]),select{width:100%;min-height:48px;border:1px solid #ced8d1;background:var(--white);color:var(--ink);border-radius:9px;padding:10px 12px;font-size:16px}input::placeholder{color:#8c958f}.primary-button,.lg-download,.lg-ready{background:var(--primary);color:var(--white);font-weight:700}.primary-button:hover,.lg-download:hover,.lg-ready:hover{background:var(--primary-hover)}.helper{color:var(--muted);font-size:13px;margin-top:12px}.privacy-note{color:var(--muted);font-size:13px;margin-top:12px}.privacy-note summary{cursor:pointer;color:var(--primary);width:fit-content}.privacy-note p{margin-top:8px;max-width:76ch}.results{margin-top:28px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}#coupon-count{color:var(--muted);font-size:13px}.tabs,.lg-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs button,.lg-filter{background:var(--white);border:1px solid var(--line);color:var(--muted);border-radius:24px;min-height:40px;font-size:14px;padding:7px 15px;font-weight:500}.tabs button:hover,.lg-filter:hover{background:var(--soft)}.tabs button[aria-pressed="true"],.lg-filter[aria-pressed="true"]{background:var(--soft);color:var(--primary);border-color:#8fd7aa;font-weight:700}.empty-state,.lg-empty{border:1px dashed #ccd8d0;border-radius:var(--radius);padding:40px 24px;text-align:center;color:var(--muted);background:transparent}.empty-state span{display:block;font-size:14px;margin-top:6px}.empty-state[data-error="true"],.lg-error,.lg-status[data-error="true"],#fami-status[data-error="true"]{color:var(--error)}#card-container,.lg-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.coupon-card,.lg-card{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.coupon-info{padding:22px;text-align:center}.coupon-title{font-size:17px;overflow-wrap:anywhere}.qrcode{padding:8px;background:var(--white);width:216px;margin:16px auto 0}.qrcode img,.qrcode canvas{width:200px;height:200px;display:block;margin:auto}.coupon-code{border-top:1px dashed var(--line);padding:15px 20px;text-align:center;font-size:14px;color:var(--muted);overflow-wrap:anywhere;letter-spacing:.04em}.site-footer{max-width:1120px;margin:auto;padding:0 28px 28px;font-size:12px;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:12px;background:var(--white);padding:12px;z-index:10}.skip-link:focus{top:12px}
#lg-coupon-helper{color:var(--ink);font:inherit}.lg-dialog{display:flex;flex-direction:column;gap:18px}.lg-head{padding:0 0 4px}.lg-head h1{font-size:28px}.lg-head p{font-size:14px;color:var(--muted);margin-top:6px}.lg-setup{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.lg-setup h3{font-size:19px}.lg-setup p{color:var(--muted);font-size:14px;margin-top:10px;max-width:80ch}.lg-setup label{margin-top:14px}.lg-setup input:not([type="checkbox"]){max-width:680px}.lg-setup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.lg-setup-actions:first-child{margin-top:0}.lg-secondary{background:#eef2ef;color:#47554c}.lg-secondary:hover{background:#e2eae5}.lg-link{color:var(--primary);display:inline-block;padding:8px 4px;font-size:14px}.lg-controls{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px}.lg-mode{display:inline-flex;gap:2px;background:#edf2ee;border-radius:9px;padding:4px;margin-bottom:16px}.lg-mode button{background:transparent;color:var(--muted);padding:6px 20px;min-height:38px;font-size:14px}.lg-mode button[aria-pressed="true"]{background:var(--white);color:var(--ink);font-weight:700}.lg-filters{margin-bottom:0;max-height:152px;overflow:auto}.lg-body{min-width:0}.lg-card-head{padding:20px 22px 16px;border-bottom:1px dashed var(--line)}.lg-tag{color:var(--primary);font-size:12px;font-weight:700;margin-bottom:5px;overflow-wrap:anywhere}.lg-card h3{font-size:17px;line-height:1.6;overflow-wrap:anywhere;margin-bottom:9px}.lg-meta{font-size:12px;color:var(--muted)}.lg-codes{text-align:center;padding:20px}.lg-codes canvas{display:block;max-width:100%;height:auto;margin:0 auto 14px}.lg-number{font-size:14px;letter-spacing:.05em;overflow-wrap:anywhere;margin-bottom:14px}.lg-error{font-size:13px}.lg-empty{grid-column:1/-1}.lg-foot{position:sticky;bottom:12px;z-index:2;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 3px 16px #263f2e0a}.lg-status{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.lg-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.lg-ready{border-radius:9px;padding:10px 16px;text-decoration:none;min-height:44px}.lg-saved-badge{display:inline-block;margin:3px 0 10px;padding:3px 10px;border-radius:20px;background:var(--soft);color:var(--primary);font-size:13px;font-weight:700}#fami-queue{max-height:300px;overflow:auto;border-block:1px solid var(--line);margin:14px 0}.fami-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.fami-row:last-child{border-bottom:0}.fami-row input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--primary);margin:3px 0 0}.fami-row label{font-size:14px;font-weight:400;margin:0;overflow-wrap:anywhere}.fami-row small{display:block;color:var(--muted);margin-top:4px}
@media(max-width:640px){.header-inner{padding:18px 18px 14px}.brand{font-size:19px}.header-note{font-size:12px}.app-nav{padding:0 12px;gap:8px}.app-nav button{flex:1;min-width:0;padding:12px}.app-main{padding:24px 16px 30px}h1,.lg-head h1{font-size:25px}.input-panel,.lg-setup{padding:20px 16px}.form-row{flex-direction:column;align-items:stretch;gap:14px}.tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}.tabs button{flex-shrink:0}#card-container,.lg-list{grid-template-columns:1fr}.lg-dialog{gap:16px}.lg-controls{padding:16px}.lg-foot{bottom:8px;padding:14px;flex-direction:column;align-items:stretch;gap:10px}.lg-actions{justify-content:flex-end;flex-wrap:wrap}.lg-setup-actions{gap:8px}.site-footer{padding:0 16px max(24px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
