:root{color:#1a1a1a;background:#fafafa}*{box-sizing:border-box}body{min-height:100vh;margin:0}.app,.page{max-width:28rem;margin:0 auto;padding:1.25rem 1.25rem 2rem;font-family:system-ui,sans-serif;line-height:1.5}.shell{min-height:100vh;padding-bottom:4.5rem}.shell-body{max-width:28rem;margin:0 auto}h1{margin:0 0 .5rem;font-size:1.5rem}h2{margin:1.25rem 0 .75rem;font-size:1.05rem}.lead{margin:0 0 .75rem}.disclaimer{background:#fff7e6;border:1px solid #f0d9a6;border-radius:.5rem;margin:0 0 1.25rem;padding:.75rem .9rem;font-size:.9rem}.muted{color:#666;font-size:.9rem}.price{font-weight:700}.tabs{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;display:grid}.tab{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:.5rem;padding:.6rem}.tab.active{color:#fff;background:#222;border-color:#222}.form{gap:.9rem;display:grid}.form label{gap:.35rem;font-size:.9rem;display:grid}.form input,.form textarea{width:100%;font:inherit;border:1px solid #ccc;border-radius:.5rem;padding:.65rem .75rem}.primary{color:#fff;font:inherit;cursor:pointer;background:#222;border:none;border-radius:.5rem;padding:.75rem 1rem}.primary:disabled{opacity:.5;cursor:not-allowed}.ghost{font:inherit;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:.5rem;padding:.75rem 1rem}.notice{margin-top:1rem;font-size:.9rem}.notice.error{color:#a40000}.linkish{color:#555;cursor:pointer;font:inherit;background:0 0;border:none;margin-top:1.5rem;padding:0;text-decoration:underline}.home-header{margin-bottom:.5rem}.wallet{background:#f4f4f5;border-radius:.75rem;gap:.35rem;padding:.85rem 1rem;display:grid}.wallet>div{justify-content:space-between;gap:1rem;display:flex}.wallet-label{color:#555;font-size:.9rem}.wallet-note{color:#777;margin:.25rem 0 0;font-size:.8rem}.empty-kitchen{text-align:center;justify-items:center;gap:.5rem;margin-top:2rem;display:grid}.feed-list{gap:1rem;display:grid}.menu-card{background:#fff;border:1px solid #e8e8e8;border-radius:.85rem;overflow:hidden}.menu-card-image{aspect-ratio:4/3;object-fit:cover;background:#eee;width:100%;display:block}.menu-card-body{gap:.35rem;padding:.85rem 1rem 1rem;display:grid}.menu-card-shop{color:#666;margin:0;font-size:.85rem}.menu-card-name{margin:0;font-size:1.05rem}.menu-card-meta{justify-content:space-between;gap:.75rem;margin:0 0 .35rem;display:flex}.bottom-tabs{padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e5e5e5;grid-template-columns:repeat(4,1fr);gap:.25rem;max-width:28rem;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-tab{color:#666;cursor:pointer;background:0 0;border:none;justify-items:center;gap:.1rem;padding:.35rem .25rem;font-size:.72rem;display:grid}.bottom-tab.active{color:#111;font-weight:700}.bottom-tab-icon{font-size:1.15rem;line-height:1}.modal-backdrop{z-index:40;background:#00000073;place-items:end center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:1rem;gap:.75rem;width:min(28rem,100%);padding:1.25rem;display:grid}.modal-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.form select{width:100%;font:inherit;background:#fff;border:1px solid #ccc;border-radius:.5rem;padding:.65rem .75rem}.sell-photo{gap:.5rem;display:grid}.sell-photo-label{font-size:.9rem}.sell-photo-hint{margin:0;font-size:.85rem}.sell-photo-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.sell-preview{aspect-ratio:4/3;object-fit:cover;background:#eee;border-radius:.75rem;width:100%}.shop-header{margin-bottom:.75rem}.shop-icon{object-fit:cover;background:#f0f0f0;border-radius:50%;flex-shrink:0;place-items:center;width:1.35rem;height:1.35rem;font-size:.7rem;line-height:1;display:inline-grid;overflow:hidden}.shop-icon-md{width:2.75rem;height:2.75rem;font-size:1.25rem}.shop-icon-lg{width:4rem;height:4rem;font-size:1.75rem}.shop-icon-placeholder{border:1px solid #e5e5e5}.shop-icon-preview-wrap{justify-content:center;padding:.5rem 0;display:flex}.shop-header-title{align-items:center;gap:.75rem;display:flex}.shop-header-title h1{margin:0}.shop-card-row{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.shop-card-row p{margin:0 0 .25rem}.menu-card-shop,.item-detail-shop{align-items:center;gap:.4rem;display:flex}.shop-sales{background:#f4f4f5;border-radius:.75rem;justify-content:space-between;align-items:baseline;margin-top:.75rem;padding:.75rem 1rem;display:flex}.sold-badge{color:#a40000;font-size:.8rem;font-weight:700}.menu-card.compact .menu-card-image{aspect-ratio:16/9}.card{background:#fff;border:1px solid #e5e5e5;border-radius:.75rem;gap:.5rem;padding:1rem;display:grid}.x-login{width:100%;margin-bottom:.75rem}.guest-banner{background:#fff7e6;border:1px solid #f0d9a6;border-radius:.75rem;gap:.75rem;padding:.85rem 1rem;display:grid}.guest-banner p{margin:0;font-size:.9rem}.guest-shell{padding-bottom:5.5rem}.guest-cta-bar{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));z-index:30;background:#fff;border-top:1px solid #e5e5e5;gap:.4rem;max-width:28rem;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.guest-cta-note{text-align:center;margin:0;font-size:.8rem}.back-to-guest{margin:0 0 .75rem;display:inline-block}.item-detail{padding-top:.75rem;padding-left:0;padding-right:0}.item-detail-back{color:#555;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0 1.25rem .75rem;padding:.25rem 0}.item-detail-image{aspect-ratio:4/3;object-fit:cover;background:#eee;width:100%;display:block}.item-detail-body{gap:.5rem;padding:1rem 1.25rem 2rem;display:grid}.item-detail-shop{color:#666;margin:0;font-size:.9rem}.item-detail-name{margin:0;font-size:1.35rem;line-height:1.3}.item-detail-price{margin:0;font-size:1.15rem}.item-detail-description{white-space:pre-wrap;margin:.25rem 0 0}.item-detail-category{margin:0;font-size:.85rem}.item-detail-status{margin:.25rem 0 .5rem;font-weight:600}.item-detail-status.sold-out{color:#a40000}.menu-card-hit{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0;display:block}.menu-card-hit:focus-visible{outline-offset:-2px;outline:2px solid #222}.menu-card-actions{padding:0 1rem 1rem}
