:root{--gold: #E3A72F;--gold-deep: #C6871A;--gold-soft: #FBF3E1;--gold-line: #F0DCB0;--gold-ink: #8A6216;--steel: #8A94A0;--steel-soft: #EEF1F4;--pos: #4E9A6B;--danger: #C05A45;--radius: 20px;--radius-sm: 14px;--font-num: "Outfit", system-ui, sans-serif;--font-body: "Zen Kaku Gothic New", system-ui, sans-serif;--paper: #FBFAF7;--card: #FFFFFF;--bg: #F0EEE9;--ink: #3C3B39;--ink-soft: #6E6C67;--ink-faint: #A5A29B;--line: #EEECE6;--line-strong: #E3E0D8}[data-surface=customer]{--paper: #FBFAF7;--card: #FFFFFF;--bg: #F0EEE9;--ink: #3C3B39;--ink-soft: #6E6C67;--ink-faint: #A5A29B;--line: #EEECE6;--line-strong: #E3E0D8}[data-surface=console]{--paper: #F7F8FA;--card: #FFFFFF;--bg: #EEEFF1;--ink: #33322F;--ink-soft: #6A6965;--ink-faint: #9B9A94;--line: #E9E9E6;--line-strong: #DEDEDA}.num{font-family:var(--font-num);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}.signage{min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:18px;padding:32px 24px 40px;text-align:center}header{width:100%;max-width:640px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-num);font-weight:700;font-size:20px}.brand em{font-style:normal;font-size:12px;letter-spacing:.24em;color:var(--ink-faint)}.brandlogo{height:30px;width:auto;display:block}.logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-family:var(--font-num);font-weight:800;color:#40320d;background:radial-gradient(120% 120% at 30% 25%,#f2c766,var(--gold) 45%,var(--gold-deep))}.store{font-size:15px;font-weight:700;color:var(--gold-ink);background:var(--gold-soft);border:1px solid var(--gold-line);padding:6px 14px;border-radius:999px}.headline{margin-top:12px;font-family:var(--font-num);font-weight:700;font-size:clamp(30px,7vw,52px)}.headline b{color:var(--gold-deep)}.subs{display:flex;flex-direction:column;gap:2px}.sub{font-size:14px;color:var(--ink-soft)}.sub:first-child{font-size:15px;font-weight:500;color:var(--ink)}.qrbox{position:relative;background:#fff;border:1px solid var(--line-strong);border-radius:24px;padding:22px}.qrbox canvas{display:block;width:min(72vw,320px);height:auto}.corner{position:absolute;width:26px;height:26px;border:3px solid var(--gold)}.corner.tl{top:12px;left:12px;border-right:0;border-bottom:0;border-radius:8px 0 0}.corner.tr{top:12px;right:12px;border-left:0;border-bottom:0;border-radius:0 8px 0 0}.corner.bl{bottom:12px;left:12px;border-right:0;border-top:0;border-radius:0 0 0 8px}.corner.br{bottom:12px;right:12px;border-left:0;border-top:0;border-radius:0 0 8px}.ring-row{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:14px}.ring-row b{font-family:var(--font-num);color:var(--ink)}.ring{width:34px;height:34px;transform:rotate(-90deg)}.ring .track{fill:none;stroke:var(--line);stroke-width:4}.ring .prog{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.err{color:var(--danger);font-size:14px;margin-top:8px}@media (prefers-reduced-motion: reduce){.ring .prog{transition:none}}
