:root{--ink:#18222b;--muted:#66727d;--line:#dfe5e8;--paper:#f5f7f8;--brand:#11765b;--accent:#d6f36c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}header{height:64px;padding:0 max(20px,calc((100% - 1080px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}main.wrap{max-width:1080px;margin:auto;padding:28px 20px}.center{min-height:calc(100vh - 50px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 18px;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin:20px 0;box-shadow:0 5px 20px #17252e0a}.narrow{width:min(100%,480px)}h1{letter-spacing:-.04em}h2{font-size:1.2rem;margin-top:0}a{color:var(--brand)}nav{display:flex;gap:20px;overflow:auto}.hero{background:var(--ink);color:#fff;padding:28px;border-radius:22px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero a{color:var(--accent);overflow-wrap:anywhere}.pill{display:inline-block;border-radius:99px;background:var(--accent);color:#243000;padding:6px 10px;font-size:.72rem;font-weight:700}.stack,.grid{display:grid;gap:16px}.grid{grid-template-columns:repeat(3,1fr);align-items:end}.wide{grid-column:1/-1}label{display:grid;gap:7px;color:var(--muted);font-size:.85rem}input,select,textarea,button{font:inherit;padding:11px 12px;border:1px solid #cbd4d8;border-radius:9px;background:#fff}textarea{min-height:80px}button,.button{background:var(--brand);border:1px solid var(--brand);border-radius:9px;color:#fff;font-weight:700;cursor:pointer;padding:11px 12px;text-decoration:none;text-align:center;display:inline-block}button:disabled{opacity:.45;cursor:not-allowed}.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.table{display:grid}.table article,.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.table small,.product small{display:block;color:var(--muted);margin-top:4px}.error{background:#ffe4e2;color:#96281e;padding:10px;border-radius:8px}.brand{text-align:center;margin:24px}.brand img,.wallet-head img{width:54px;height:54px;object-fit:contain;border-radius:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.product{background:#fff;padding:22px;border-radius:18px;border:1px solid var(--line);display:grid;gap:10px}.wallet-card{width:min(100%,480px);padding:28px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#092f2b,#158161);box-shadow:0 20px 50px #063f3033}.wallet-head{display:flex;align-items:center;gap:12px}.balance{display:flex;align-items:baseline;gap:8px}.balance b{font-size:4rem;letter-spacing:-.06em}.big-balance{font-size:4rem;font-weight:800;color:var(--brand)}progress{width:100%;height:12px}.qr{display:block;width:260px;max-width:100%;margin:auto}.wallet-buttons{display:grid;gap:8px}.actions{display:flex;align-items:center;gap:8px}.actions form{margin:0}.checkin,.result{text-align:center}.result-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--accent);color:#243000;font-size:2.4rem;font-weight:800}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:800}.muted{color:var(--muted);font-size:.84rem}.plus{color:var(--brand)}.minus{color:#bd382e}footer{text-align:center;color:var(--muted);font-size:.75rem;padding:24px}@media(max-width:720px){.grid{grid-template-columns:1fr}.wide{grid-column:auto}.hero{align-items:flex-start;flex-direction:column}.panel{padding:18px}.actions{align-items:stretch;flex-direction:column}}
 .point-circles{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.point-circle{width:34px;height:34px;border:2px solid #ffffffaa;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;overflow:hidden}.point-circle.filled{background:#fff;color:var(--brand);border-color:#fff}.point-circle img{width:100%;height:100%;object-fit:cover}
