:root{--bg:#f2efe6;--panel:#fbf8f0;--ink:#14110d;--muted:#645c50;--line:#14110d;--accent:#ffd84d;--accent-ink:#14110d;--danger:#c83f14;--success:#1e8a52}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.page-wrap{min-height:100vh}.page-shell{gap:12px;width:min(760px,100%);margin:0 auto;padding:12px 12px 24px;display:grid}.page-shell--store{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.hero-panel,.panel,.notice-panel{border:2px solid var(--line);background:var(--panel)}.hero-panel,.panel{padding:14px}.hero-panel{align-content:space-between;gap:12px;min-height:192px;display:grid}.hero-panel--compact{min-height:unset}.hero-kicker,.section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:.78rem}.hero-panel h1,.panel h2,.wallet-row h3,.history-row h3{margin:0}.hero-panel h1{letter-spacing:-.04em;font-size:clamp(2rem,10vw,3.6rem);line-height:.96}.hero-copy,.muted-text,.token-copy{color:var(--muted);margin:0}.token-copy{word-break:break-all}.hero-actions,.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.button{border:2px solid var(--line);background:var(--panel);min-height:48px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.button:disabled{cursor:default;opacity:.45}.button--primary{background:var(--accent)}.button--ghost{background:0 0}.notice-panel{padding:12px 14px;font-weight:700}.notice-panel--neutral{background:#e9e3d3}.notice-panel--success{background:#d8efdf}.notice-panel--danger{background:#f3d5cc}.summary-chip{border:2px solid var(--line);background:var(--ink);min-width:108px;color:var(--panel);text-align:right;gap:4px;padding:8px 10px;display:grid}.summary-chip span,.wallet-qty span{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.summary-chip strong,.wallet-qty strong{font-size:1.65rem;line-height:1}.empty-block{gap:6px;padding:20px 0 4px;display:grid}.wallet-list,.history-list{gap:0;margin-top:8px;display:grid}.wallet-row,.history-row{border-top:2px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.wallet-qty{text-align:right;min-width:72px}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.store-card{border:2px solid var(--line);background:var(--panel);grid-template-rows:1fr auto;min-height:168px;display:grid}.store-card.is-active{background:var(--ink);color:var(--panel)}.store-card-main,.store-card-add,.store-stepper button{color:inherit;background:0 0;border:0}.store-card-main{text-align:left;cursor:pointer;align-content:space-between;gap:10px;padding:14px;display:grid}.store-card-name{font-size:1.15rem;font-weight:700}.store-card-price{font-size:.96rem}.store-card-add,.store-stepper{border-top:2px solid;min-height:56px}.store-card-add{cursor:pointer;width:100%;font-weight:700}.store-stepper{grid-template-columns:1fr auto 1fr;align-items:stretch;display:grid}.store-stepper button,.store-stepper span{justify-content:center;align-items:center;min-height:56px;font-weight:700;display:flex}.store-stepper button{cursor:pointer}.store-stepper button+span,.store-stepper span+button{border-left:2px solid}.floating-summary{z-index:40;border-top:2px solid var(--line);background:var(--ink);color:var(--panel);padding:10px 12px calc(10px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.floating-summary__inner{gap:10px;width:min(760px,100%);margin:0 auto;display:grid}.floating-summary__text{justify-content:space-between;align-items:baseline;gap:12px;font-size:.94rem;display:flex}.floating-summary__text strong{font-size:1.4rem}.summary-button{width:100%}@media (min-width:720px){.page-shell{padding-left:18px;padding-right:18px}.store-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.floating-summary__inner{grid-template-columns:minmax(0,1fr) 220px;align-items:center}}
