.demo-stage{max-width:640px;margin-inline:auto}.demo-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1.25rem;font-size:var(--t-14);font-weight:700;color:var(--muted);text-decoration:none}.demo-back:hover{color:var(--ink)}.demo-back svg{width:16px;height:16px}.demo-stepper{display:flex;gap:.4rem;list-style:none;margin:0 0 2rem;padding:0;counter-reset:demo-step}.demo-stepper li{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;height:34px;padding:0 .5rem;border:2px solid var(--border);border-radius:var(--r);background:var(--surface);font-size:var(--t-12);font-weight:700;text-align:center;counter-increment:demo-step}.demo-stepper li:before{content:counter(demo-step);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;border:2px solid var(--border);font-size:10px;background:var(--paper)}.demo-stepper li.is-active{background:var(--acc-mint)}.demo-stepper li.is-done{background:var(--paper-2);color:var(--muted)}@media(max-width:30rem){.demo-stepper li{font-size:0;gap:0}.demo-stepper li:before{font-size:11px}}.demo-step__head{text-align:center;margin-bottom:1.5rem}.demo-step__head .fd-h2{margin:.8rem 0 0}.demo-step__head .fd-lead{margin:.6rem auto 0;max-width:36ch}.demo-picker__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:34rem){.demo-picker__grid{grid-template-columns:repeat(3,1fr)}}.demo-picker__card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.25rem;text-align:left;cursor:pointer;font:inherit;transition:transform .1s ease,box-shadow .1s ease}.demo-picker__card:not(.is-disabled):hover{transform:translate(3px,3px);box-shadow:2px 2px 0 0 var(--border)}.demo-picker__card.is-disabled{opacity:.55;cursor:not-allowed}.demo-picker__monogram{display:inline-grid;place-items:center;width:46px;height:46px;border:2px solid var(--border);border-radius:var(--r);background:var(--acc-butter);font-family:var(--font-display);font-weight:800;font-size:var(--t-18)}.demo-picker__name{font-weight:800;font-size:var(--t-18)}.demo-picker__blurb{font-size:var(--t-14);color:var(--muted)}.demo-cashier__card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;max-width:380px;margin-inline:auto}.demo-cashier__status{align-self:center}.demo-cashier__status--wait{background:var(--acc-butter)}.demo-cashier__status--ok{background:var(--acc-mint)}.demo-cashier__status--expired{background:var(--acc-blush)}.demo-cashier__qr{position:relative;overflow:hidden;padding:.75rem;border:2px solid var(--border);border-radius:var(--r);background:#fff}.demo-cashier__qr img{width:220px;height:220px}.demo-cashier__scanline{position:absolute;left:8%;right:8%;top:6%;height:2px;background:var(--ink);opacity:.5;animation:fd-scan 2.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.demo-cashier__scanline{animation:none;opacity:0}}.demo-cashier__meta{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.demo-cashier__label{font-size:var(--t-13);color:var(--muted);font-weight:700;text-transform:uppercase}.demo-cashier__token{font-size:var(--t-18);font-weight:700;letter-spacing:.04em}.demo-cashier__countdown{font-size:var(--t-18);font-weight:700}.demo-cashier__scan,.demo-cashier__regen{width:100%}.demo-cashier__amount{font-size:var(--t-18);font-weight:700}.demo-amount{display:flex;flex-direction:column;gap:.85rem;padding:1.5rem;max-width:380px;margin-inline:auto}.demo-amount__label{font-size:var(--t-13);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.demo-amount__field{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border:2px solid var(--border);border-radius:var(--r);background:var(--paper)}.demo-amount__field:focus-within{box-shadow:2px 2px 0 0 var(--border)}.demo-amount__currency{font-size:var(--t-24, 1.5rem);font-weight:800;color:var(--muted)}.demo-amount__input{flex:1;width:100%;border:0;background:transparent;font-size:var(--t-24, 1.5rem);font-weight:800;letter-spacing:.02em;color:var(--ink)}.demo-amount__input:focus{outline:none}.demo-amount__presets{display:flex;flex-wrap:wrap;gap:.5rem}.demo-amount__preset{padding:.4rem .8rem;border:2px solid var(--border);border-radius:999px;background:var(--acc-butter);font:inherit;font-size:var(--t-14);font-weight:700;cursor:pointer}.demo-amount__preset:hover{box-shadow:2px 2px 0 0 var(--border);transform:translate(2px,2px)}.demo-amount__error{margin:0;font-size:var(--t-14);font-weight:700;color:var(--err, #b3261e)}.demo-amount__submit{width:100%}.demo-chat{max-width:420px;margin-inline:auto;overflow:hidden;padding:0}.demo-chat__header{display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem;background:#0b8457;color:#fff;border-bottom:2px solid var(--border)}.demo-chat__avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#fff;color:#0b8457;font-family:var(--font-display);font-weight:800}.demo-chat__title{display:flex;flex-direction:column;line-height:1.15}.demo-chat__name{font-weight:800}.demo-chat__sub{font-size:var(--t-12);opacity:.85;text-transform:uppercase;letter-spacing:.05em}.demo-chat__log{min-height:230px;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#ece5dd}.demo-chat__row{display:flex}.demo-chat__row--out{justify-content:flex-end}.demo-chat__row--in{justify-content:flex-start}.demo-chat__bubble{display:inline-flex;flex-direction:column;gap:.25rem;max-width:80%;padding:.5rem .7rem;border-radius:10px;font-size:var(--t-14);line-height:1.4;box-shadow:0 1px 1px #0000001f;word-break:break-word}.demo-chat__bubble--out{background:#d9fdd3;border-top-right-radius:2px}.demo-chat__bubble--in{background:#fff;border-top-left-radius:2px}.demo-chat__sender{font-size:var(--t-12);font-weight:800;color:#0b8457}.demo-chat__text{white-space:pre-wrap}.demo-chat__meta{display:inline-flex;align-items:center;gap:.2rem;align-self:flex-end;font-size:10px;color:var(--muted)}.demo-chat__ticks{color:#34b7f1}.demo-chat__link{display:inline-block;margin-top:.15rem;font-weight:800;color:#0b8457;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.demo-chat__typing{flex-direction:row;gap:.25rem;padding:.6rem .8rem}.demo-chat__typing span{width:7px;height:7px;border-radius:999px;background:var(--muted-2);animation:demo-typing 1.2s infinite ease-in-out}.demo-chat__typing span:nth-child(2){animation-delay:.2s}.demo-chat__typing span:nth-child(3){animation-delay:.4s}@keyframes demo-typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@media(prefers-reduced-motion:reduce){.demo-chat__typing span{animation:none}}.demo-chat__composer{display:flex;align-items:center;gap:.5rem;padding:.6rem;background:var(--surface);border-top:2px solid var(--border)}.demo-chat__input{flex:1;padding:.5rem .75rem;border:2px solid var(--border);border-radius:999px;background:var(--paper);font-size:var(--t-14);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-portal{padding:1.25rem}.demo-portal__hero{display:flex;align-items:center;gap:.8rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.demo-portal__monogram{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--border);border-radius:var(--r);background:var(--acc-butter);font-family:var(--font-display);font-weight:800;font-size:var(--t-18)}.demo-portal__eyebrow{display:block;font-size:var(--t-12);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.demo-portal__hero .fd-h3{margin:.1rem 0 0}.demo-portal__tabs{display:flex;gap:.4rem;margin:1rem 0}.demo-tab{flex:1;height:38px;border:2px solid var(--border);border-radius:var(--r);background:var(--surface);font:inherit;font-size:var(--t-14);font-weight:700;cursor:pointer}.demo-tab.is-active{background:var(--acc-mint)}.demo-portal__count{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.demo-portal__fraction{font-size:3rem;line-height:1}.demo-portal__goal{color:var(--muted);font-size:1.6rem}.demo-portal__headline{margin:0 0 1rem;font-size:var(--t-15);color:var(--ink)}.demo-stamp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.demo-stamp{aspect-ratio:1;display:grid;place-items:center;border:2px solid var(--border);border-radius:var(--r);background:var(--paper);color:var(--ink)}.demo-stamp--filled{background:var(--acc-mint)}.demo-stamp--goal{background:var(--acc-butter)}.demo-progressbar{height:18px;border:2px solid var(--border);border-radius:999px;background:var(--paper);overflow:hidden}.demo-progressbar__fill{display:block;height:100%;background:var(--acc-mint);border-right:2px solid var(--border);transition:width .4s ease}.demo-goals{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.demo-goal{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border:2px solid var(--border);border-radius:var(--r);background:var(--paper)}.demo-goal.is-done{background:var(--acc-mint)}.demo-goal.is-next{background:var(--surface)}.demo-goal:not(.is-done):not(.is-next){opacity:.6}.demo-goal__pts{font-weight:800;font-size:var(--t-14);min-width:4.5rem}.demo-goal__reward{flex:1;font-size:var(--t-14)}.demo-goal__state{margin-left:auto;display:inline-flex;align-items:center}.demo-referral{display:flex;flex-direction:column;gap:1rem}.demo-referral__lead{margin:0;font-size:var(--t-15);color:var(--ink)}.demo-referral__codebox{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;border:2px dashed var(--border);border-radius:var(--r);background:var(--acc-butter)}.demo-referral__codelabel{font-size:var(--t-12);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.demo-referral__code{font-size:var(--t-24, 1.5rem);font-weight:800;letter-spacing:.08em}.demo-referral__share{width:100%}.demo-referral__count{display:flex;align-items:baseline;gap:.5rem;padding-top:.5rem;border-top:2px solid var(--border)}.demo-referral__number{font-size:2.4rem;line-height:1}.demo-referral__caption{font-size:var(--t-14);color:var(--muted);font-weight:700}.demo-reward-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.demo-reward{display:flex;flex-direction:column;gap:.3rem;padding:.9rem;border:2px solid var(--border);border-radius:var(--r);background:var(--paper)}.demo-reward__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.demo-reward__name{font-weight:800}.demo-reward__code{font-size:var(--t-18);font-weight:700;letter-spacing:.08em}.demo-reward__date{font-size:var(--t-13);color:var(--muted)}.demo-portal__empty{color:var(--muted);text-align:center;padding:1.5rem 0}.demo-activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.demo-activity__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.demo-activity__item:last-child{border-bottom:0}.demo-activity__main{display:flex;flex-direction:column;gap:.1rem}.demo-activity__label{font-weight:700;font-size:var(--t-14)}.demo-activity__date{font-size:var(--t-13);color:var(--muted)}.demo-cta{margin-top:1.5rem;padding:1.5rem;text-align:center}.demo-cta__lead{margin:.5rem 0 1.25rem;color:var(--ink)}.demo-cta__btns{display:flex;flex-direction:column;gap:.75rem}.demo-cta__btns .fd-btn{width:100%}@media(min-width:40rem){.demo-cta__btns{flex-direction:row;justify-content:center}.demo-cta__btns .fd-btn{width:auto}}
