*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-surface-sunken);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);overflow-wrap:break-word}.shop-frame{display:flex;flex-direction:column;min-height:100dvh;max-width:34rem;margin:0 auto;background:var(--color-surface)}.shop-header{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-4);background:var(--color-surface-inverse);color:var(--color-text-inverse);padding-top:max(var(--space-5),env(safe-area-inset-top))}.shop-header-row{display:flex;align-items:center;gap:var(--space-3)}.shop-brand{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-heavy)}.shop-tag{margin-left:auto;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-accent-primary);color:var(--color-on-fill-primary);font-size:var(--text-xs);font-weight:var(--weight-heavy)}.shop-header-sub{margin:0;font-size:var(--text-sm);color:var(--color-text-inverse-muted)}.shop-main{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-8);flex:1}.shop-rail{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-1)}.shop-rail::-webkit-scrollbar{display:none}.shop-chip{flex:0 0 auto;min-height:var(--control-touch);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer}.shop-chip.is-chosen{border-color:var(--color-accent-primary);background:var(--color-accent-primary);color:var(--color-on-fill-primary);font-weight:var(--weight-bold)}.shop-chip:focus-visible,.shop-add:focus-visible,.shop-qty-button:focus-visible,.shop-primary:focus-visible,.shop-secondary:focus-visible,.shop-field-input:focus-visible,.shop-otp-input:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.shop-list{display:flex;flex-direction:column;gap:var(--space-3)}.shop-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.shop-card.is-unavailable{opacity:.5}.shop-card-body{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.shop-card-name{margin:0;font-size:var(--text-md);font-weight:var(--weight-bold)}.shop-card-desc{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4}.shop-card-unavailable{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-accent-danger)}.shop-card-price{margin:0;font-size:var(--text-md);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums}.shop-add{flex:0 0 auto;width:var(--control-touch);height:var(--control-touch);border:none;border-radius:var(--radius-md);background:var(--color-accent-primary);color:var(--color-on-fill-primary);font-size:var(--text-xl);font-family:inherit;line-height:1;cursor:pointer}.shop-qty{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--color-accent-primary);border-radius:var(--radius-md);background:var(--color-fill-primary-subtle)}.shop-qty-button{min-width:var(--control-touch);min-height:var(--control-touch);border:none;background:transparent;color:var(--color-accent-primary);font-size:var(--text-lg);font-weight:var(--weight-heavy);font-family:inherit;cursor:pointer}.shop-qty-count{min-width:1.5rem;text-align:center;font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums}.shop-bar{position:sticky;bottom:0;display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) calc(-1 * var(--space-4)) calc(-1 * var(--space-8));padding:var(--space-3) var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface)}.shop-bar-meta{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.shop-bar-estimate{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.shop-bar-fineprint{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.shop-primary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--control-large);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-accent-primary);color:var(--color-on-fill-primary);font-family:inherit;font-size:var(--text-md);font-weight:var(--weight-heavy);cursor:pointer}.shop-primary:disabled{opacity:.6;cursor:default}.shop-primary.is-block{justify-content:center}.shop-primary-amount{font-variant-numeric:tabular-nums}.shop-secondary{width:100%;min-height:var(--control-touch);padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-heavy);cursor:pointer}.shop-secondary:disabled{opacity:.6;cursor:default}.shop-tracker{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.shop-tracker.is-rejected{border-color:var(--color-accent-danger);background:var(--color-fill-danger-subtle)}.shop-tracker-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-heavy);color:var(--color-accent-danger)}.shop-tracker-reason{margin:0;font-size:var(--text-md)}.shop-tracker-note,.shop-note{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.shop-note.is-dev{font-weight:var(--weight-bold)}.shop-tracker-now{margin:0;font-size:var(--text-md);font-weight:var(--weight-heavy)}.shop-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.shop-step{display:flex;align-items:center;gap:var(--space-3)}.shop-step-marker{flex:0 0 auto;width:var(--space-6);height:var(--space-6);border-radius:var(--radius-pill);border:2px solid var(--color-border)}.shop-step.is-done .shop-step-marker{border-color:var(--color-accent-success);background:var(--color-accent-success)}.shop-step.is-current .shop-step-marker{border-color:var(--color-accent-warning);background:var(--color-accent-warning)}.shop-step.is-pending{opacity:.45}.shop-step-body{display:flex;flex-direction:column}.shop-step-title{font-size:var(--text-base);font-weight:var(--weight-bold)}.shop-step.is-current .shop-step-title{font-weight:var(--weight-heavy)}.shop-step-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.shop-summary{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.shop-summary-title{margin:0;font-size:var(--text-sm);font-weight:var(--weight-heavy)}.shop-summary-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm)}.shop-summary-lines li{display:flex;justify-content:space-between;gap:var(--space-3)}.shop-summary-amount{font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.shop-summary-total{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);font-size:var(--text-md);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums}.shop-summary-fineprint{margin:0;font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5}.shop-form,.shop-when{display:flex;flex-direction:column;gap:var(--space-3)}.shop-field{display:flex;flex-direction:column;gap:var(--space-1)}.shop-field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.shop-field-input{min-height:var(--control-touch);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--text-md)}.shop-field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.shop-otp{display:flex;flex-direction:column;gap:var(--space-1)}.shop-otp-label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.shop-otp-input{min-height:var(--control-large);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:.5em;text-align:center}.shop-notice{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);font-size:var(--text-sm)}.shop-notice.is-bad{border-style:solid;border-color:var(--color-accent-danger);background:var(--color-fill-danger-subtle)}.shop-notice h2{margin:0;font-size:var(--text-md);font-weight:var(--weight-heavy)}.shop-notice p{margin:0;line-height:1.5}.shop-notice-note{color:var(--color-text-muted)}.shop-empty{margin:0;padding:var(--space-6) 0;text-align:center;color:var(--color-text-muted)}.shop-placed{display:flex;flex-direction:column;gap:var(--space-2)}.shop-placed-title{margin:0;font-size:var(--text-sm);font-weight:var(--weight-heavy);color:var(--color-text-secondary)}.shop-orders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.shop-orders-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.shop-orders-row>div{display:flex;flex-direction:column;gap:2px}.shop-orders-state{text-align:right}.shop-orders-number{font-weight:var(--weight-bold)}.shop-orders-when,.shop-orders-total{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.shop-orders-state .is-rejected{color:var(--color-accent-danger);font-weight:var(--weight-bold)}.shop-link{align-self:flex-start;color:var(--color-accent-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);padding:var(--space-2) 0}
