:root{color-scheme:light;font-family:Noto Sans TC,Microsoft JhengHei,Segoe UI,system-ui,sans-serif;line-height:1.55;color:#1a1a1a;background:#f3efe8;--card: #fffdf9;--border: #cfc6b8;--accent: #b45309;--accent-soft: #fef3c7;--ok: #14532d;--ok-bg: #dcfce7;--danger: #991b1b;--danger-bg: #fee2e2;--muted: #4b4338;--tap: 52px;--text: 1.125rem;--text-lg: 1.35rem;--text-xl: 1.65rem;--radius: 14px;--shadow: 0 2px 8px rgba(0, 0, 0, .06)}*{box-sizing:border-box}html{font-size:18px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}a{color:var(--accent);text-decoration:none}.layout{width:100%;max-width:430px;margin:0 auto;min-height:100dvh;padding:.75rem .9rem 1.5rem;background:#f3efe8}.nav{display:none}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:430px;display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fffdf9;border-top:2px solid var(--border);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));z-index:50;box-shadow:0 -4px 16px #0000000f}.bottom-nav a,.bottom-nav button.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:56px;font-size:.78rem;font-weight:700;color:#3f3a32;background:none;border:none;text-decoration:none;cursor:pointer;padding:.2rem}.bottom-nav a.active{color:var(--accent)}.bottom-nav .nav-ico{font-size:1.35rem;line-height:1}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem 0 .85rem;border-bottom:2px solid var(--border);margin-bottom:1rem}.top-bar-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0;max-width:62%}.nav-brand{font-weight:800;font-size:var(--text-lg);color:#1a1a1a}.user-chip{font-size:.9rem;font-weight:700;background:var(--accent-soft);color:#92400e;padding:.35rem .55rem;border-radius:999px;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{width:auto!important;min-width:4.5rem;min-height:44px!important;padding:.4rem .85rem!important;margin:0!important;background:#dc2626!important;border-color:#b91c1c!important;color:#fff!important;font-weight:800!important;font-size:1rem!important;box-shadow:0 2px 8px #dc262659}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:var(--accent-soft);color:#92400e;font-size:.95rem;font-weight:800}.badge-lg{font-size:1.15rem;padding:.35rem .75rem}.grid{display:grid;grid-template-columns:1fr;gap:.9rem}.card{background:var(--card);border:2px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.card h1,.card h2,.card h3,h1,h2,h3{line-height:1.3;margin-top:0}h1{font-size:var(--text-xl)}h2,h3{font-size:var(--text-lg)}.emoji{font-size:2.4rem;line-height:1}.muted{color:var(--muted);font-size:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:var(--tap);border:2px solid var(--border);background:#fff;color:#1a1a1a;border-radius:12px;padding:.65rem 1rem;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer;width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:#92400e;color:#fff}.btn-primary.btn-glow{box-shadow:0 0 0 4px #b4530940;transform:scale(1.02);font-size:1.15rem;min-height:58px}.btn-danger{background:#fff;border-color:#fca5a5;color:var(--danger)}.btn-ghost{background:#faf7f2}.btn-row{display:flex;flex-direction:column;gap:.55rem;margin-top:.85rem}.btn-row.inline{flex-direction:row;flex-wrap:wrap}.btn-row.inline .btn{width:auto;flex:1;min-width:120px}form.stack{display:flex;flex-direction:column;gap:.85rem;max-width:none}label{display:flex;flex-direction:column;gap:.35rem;font-size:1.05rem;font-weight:700}input,select,textarea{font:inherit;font-size:1.1rem;min-height:var(--tap);padding:.65rem .75rem;border:2px solid var(--border);border-radius:12px;background:#fff}textarea{min-height:110px;resize:vertical}.error{color:var(--danger);background:var(--danger-bg);border:2px solid #fca5a5;padding:.85rem 1rem;border-radius:12px;font-weight:700;font-size:1.05rem}.success{color:var(--ok);background:var(--ok-bg);border:2px solid #86efac;padding:.85rem 1rem;border-radius:12px;font-weight:700;font-size:1.05rem}.hero{background:linear-gradient(160deg,#fff7ed,#f3efe8);border:2px solid var(--border);border-radius:16px;padding:1.1rem 1rem;margin-bottom:1rem}.hero h1{margin:0 0 .5rem}.balance-panel{border-radius:16px;padding:1rem 1rem 1.1rem;margin:.75rem 0 1rem;border:3px solid #999;text-align:center}.balance-panel.ok{background:var(--ok-bg);border-color:#16a34a;color:var(--ok)}.balance-panel.bad{background:#fef3c7;border-color:#d97706;color:#92400e}.balance-panel .bp-title{font-size:1.35rem;font-weight:900;margin:0 0 .4rem}.balance-panel .bp-nums{font-size:1.5rem;font-weight:900;margin:.35rem 0}.balance-panel .bp-hint{font-size:1.05rem;font-weight:700;margin:.35rem 0 0}.pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.pick-card{border:3px solid var(--border);border-radius:14px;background:#fff;padding:.5rem;text-align:center;cursor:pointer;min-height:140px;font:inherit;color:inherit}.pick-card.selected{border-color:var(--accent);background:#fff7ed;box-shadow:0 0 0 3px #b4530933}.pick-img-box{width:100%;aspect-ratio:1 / 1;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--border)}.pick-card img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.product-thumb-wrap{border:1px solid var(--border)}.pick-card .pick-title{font-size:.95rem;font-weight:800;margin-top:.4rem;line-height:1.25}.step-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin:.75rem 0 1rem}.step-tab{text-align:center;font-size:.92rem;font-weight:800;padding:.55rem .25rem;border-radius:12px;border:2px solid var(--border);background:#fff;color:#6b6358}.step-tab-1.active,.step-tab-1.done{background:#dbeafe;border-color:#2563eb;color:#1e3a8a}.step-tab-2.active,.step-tab-2.done{background:#ffedd5;border-color:#ea580c;color:#9a3412}.step-tab-3.active{background:#dcfce7;border-color:#16a34a;color:#14532d}.step-panel-offer{--step-accent: #2563eb;--step-soft: #eff6ff;--step-border: #93c5fd}.step-panel-want{--step-accent: #ea580c;--step-soft: #fff7ed;--step-border: #fdba74}.step-panel-confirm{--step-accent: #16a34a;--step-soft: #f0fdf4;--step-border: #86efac}.step-heading-offer{color:#1e40af}.step-heading-want{color:#c2410c}.step-heading-confirm{color:#166534}.step-hint{font-weight:700;font-size:1.05rem;padding:.75rem .9rem;border-radius:12px;margin:0 0 .85rem;line-height:1.45}.step-hint-offer{background:#dbeafe;border:2px solid #60a5fa;color:#1e3a8a}.step-hint-want{background:#ffedd5;border:2px solid #fb923c;color:#9a3412}.step-hint-confirm{background:#dcfce7;border:2px solid #4ade80;color:#14532d}.step-card-offer{border-color:#93c5fd;background:#f8fbff}.pick-list{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.5rem}.pick-row{border:2px solid var(--border);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .15s ease,background .15s ease}.pick-row--offer.is-on{border-color:#2563eb;background:#eff6ff}.pick-row--want.is-on{border-color:#ea580c;background:#fff7ed}.pick-row-main{all:unset;box-sizing:border-box;display:grid;grid-template-columns:36px 64px 1fr;gap:.55rem;align-items:center;width:100%;padding:.55rem .65rem;cursor:pointer;min-height:76px}.pick-check{width:32px;height:32px;border-radius:8px;border:2px solid #a8a29e;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:900;color:#fff;background:#fff;flex-shrink:0}.pick-row--offer .pick-check.on{background:#2563eb;border-color:#1d4ed8}.pick-row--want .pick-check.on{background:#ea580c;border-color:#c2410c}.pick-row-img{width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#fff;flex-shrink:0}.pick-row-img img{width:100%;height:100%;object-fit:contain;display:block}.pick-row-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pick-row-title{font-size:1.05rem;font-weight:800;line-height:1.3}.pick-row-sub{font-size:.95rem;color:var(--muted);font-weight:600}.pick-row-qty{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.55rem .75rem .7rem;border-top:1px dashed var(--border);background:#ffffff8c}.pick-row-qty-label{font-weight:800;font-size:1rem}.qty-stepper{display:inline-flex;align-items:center;gap:.35rem}.qty-stepper button{width:48px;height:48px;border-radius:12px;border:2px solid var(--border);background:#fff;font-size:1.5rem;font-weight:900;cursor:pointer;line-height:1;color:#1a1a1a}.qty-stepper input{width:64px;min-height:48px;text-align:center;font-size:1.25rem;font-weight:900;padding:.25rem}.pick-row-units{font-size:1.05rem;font-weight:700;margin-left:auto}.btn-want{background:#ea580c;border-color:#c2410c;color:#fff}.btn-want.btn-glow{box-shadow:0 0 0 4px #ea580c40;font-size:1.15rem;min-height:58px}.btn-confirm{background:#16a34a;border-color:#15803d;color:#fff}.btn-confirm.btn-glow{box-shadow:0 0 0 4px #16a34a47;font-size:1.2rem;min-height:60px}.confirm-block{border:3px solid var(--border);border-radius:16px;padding:.85rem;margin-bottom:.75rem;background:#fff}.confirm-block.confirm-offer{border-color:#2563eb;background:#eff6ff}.confirm-block.confirm-want{border-color:#ea580c;background:#fff7ed}.confirm-block-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.65rem}.confirm-ico{font-size:2rem;line-height:1}.confirm-label{margin:0;font-size:1.05rem;font-weight:800;color:var(--muted)}.confirm-units{margin:.1rem 0 0;font-size:1.75rem;font-weight:900;line-height:1.15}.confirm-offer .confirm-units{color:#1e40af}.confirm-want .confirm-units{color:#c2410c}.confirm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.confirm-item{display:grid;grid-template-columns:56px 1fr;gap:.65rem;align-items:center;background:#fff;border:2px solid var(--border);border-radius:12px;padding:.5rem .65rem}.confirm-item img{width:56px;height:56px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--border)}.confirm-item strong{display:block;font-size:1.05rem;line-height:1.3}.confirm-item span{display:block;font-size:1rem;font-weight:700;color:var(--muted);margin-top:.15rem}.confirm-item b{color:#1a1a1a;font-size:1.1rem}.confirm-item-manual .confirm-manual-ico{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#faf7f2;border-radius:8px;border:1px solid var(--border)}.confirm-arrow{text-align:center;font-size:1.25rem;font-weight:900;color:#166534;margin:.35rem 0 .65rem}.cat-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .85rem}.cat-chip{border:2px solid var(--border);background:#fff;border-radius:999px;padding:.4rem .85rem;font:inherit;font-weight:800;font-size:.95rem;cursor:pointer;min-height:42px;color:#3f3a32}.cat-chip.on{background:#ea580c;border-color:#c2410c;color:#fff}.cat-section{margin-bottom:.75rem}.cat-section-title{font-size:1.05rem;font-weight:900;color:#c2410c;margin:.5rem 0 .45rem}.stepper{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:.5rem 0}.stepper button{width:56px;height:56px;border-radius:14px;border:2px solid var(--border);background:#fff;font-size:1.75rem;font-weight:900;cursor:pointer;line-height:1}.stepper .val{font-size:1.75rem;font-weight:900;min-width:3rem;text-align:center}.listing-edit-card{display:flex;flex-direction:column;gap:.5rem}.listing-edit-card .row-top{display:flex;gap:.75rem;align-items:flex-start}.listing-edit-card .row-top img,.listing-edit-card .row-top .thumb-box{width:88px;height:88px;border-radius:12px;object-fit:cover;flex-shrink:0;background:#eee}.guide-banner{background:#dbeafe;border:2px solid #60a5fa;border-radius:14px;padding:1rem;margin-bottom:1rem;font-weight:700;font-size:1.05rem}.section-title{font-size:1.25rem;font-weight:900;margin:1rem 0 .6rem}.check-list{display:flex;flex-direction:column;gap:.55rem}.check-list label.big-check{flex-direction:row;align-items:center;gap:.65rem;border:2px solid var(--border);border-radius:12px;padding:.65rem;background:#fff;font-weight:700}.check-list label.big-check input{width:28px;height:28px;min-height:28px;flex-shrink:0}.check-list label.big-check.on{border-color:var(--accent);background:#fff7ed}.table{width:100%;border-collapse:collapse;font-size:1rem}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:.65rem .3rem;vertical-align:top}.product-thumb{border:1px solid var(--border)}
