:root{--brand:#7a1f2b;--bg:#fafafa;--line:#ddd;--warn:#8a6100;--err:#b00020;--ok:#1b6e2e;font-family:system-ui,-apple-system,Noto Sans TC,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:#222;margin:0;overflow-x:hidden}a{color:var(--brand)}.nav{z-index:10;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;position:sticky;top:0}.brand{font-size:1.1rem;font-weight:700;text-decoration:none}.page{max-width:1100px;margin:0 auto;padding:16px}.landing{text-align:center;padding-top:48px}h1{margin:8px 0;font-size:1.4rem}h2{font-size:1.05rem}.sub{color:#555}input,select,textarea,button{font:inherit}input[type=text],input[type=number],input[type=search],select,textarea{background:#fff;border:1px solid #bbb;border-radius:6px;width:100%;padding:8px}.btn{color:#222;cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.danger{background:var(--err);color:#fff;border-color:var(--err)}.btn:disabled{opacity:.6;cursor:not-allowed}.link{color:var(--brand);cursor:pointer;background:0 0;border:0;text-decoration:underline}.actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.toolbar{gap:8px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.chip{cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:999px;padding:6px 12px}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.check{align-items:center;gap:6px;display:inline-flex}.tri{flex-wrap:wrap;gap:12px;display:flex}.msg{margin:4px 0;font-size:.9rem}.msg.error{color:var(--err)}.msg.warn{color:var(--warn);background:#fff6d6;border-radius:4px;padding:2px 6px}.msg.ok{color:var(--ok)}.hint,.claim{color:#666;font-size:.8rem;display:block}.claim{margin-left:6px;display:inline}.field{margin-bottom:12px}.field label{margin-bottom:4px;font-weight:600;display:block}.field .check{font-weight:400}.group{border:1px solid var(--line);background:#fff;border-radius:8px;margin:12px 0;padding:0 12px}.group>h2{margin:12px 0 4px}.group-head{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;gap:8px;width:100%;padding:12px 0;font-weight:600;display:flex}.group-head small{color:#666;margin-left:auto;font-weight:400}.group-body{padding-bottom:8px}.fields{grid-template-columns:1fr;gap:0 16px;padding-bottom:8px;display:grid}.stock-block{padding-bottom:8px}.entry-grid{grid-template-columns:1fr;gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.entry-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:10px;text-decoration:none;display:flex}.thumb{background:#f0e8e8;border-radius:6px;flex:none;place-items:center;width:56px;height:56px;font-size:1.8rem;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.entry-main{flex-direction:column;flex:1;min-width:0;display:flex}.entry-main strong,.entry-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-side{text-align:right;flex-direction:column;flex:none;display:flex}dl{margin:0 0 8px}.kv{border-bottom:1px solid #f0f0f0;gap:12px;padding:6px 0;display:flex}.kv dt{color:#555;flex:0 0 8em}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.stock-list{padding-left:20px}.danger-zone{margin:32px 0}.backdrop{z-index:50;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:10px;width:100%;max-width:420px;padding:16px}.account{position:relative}.account-btn{cursor:pointer;color:#444;background:#e8e0e0;border:2px solid #0000;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;font-weight:700;display:grid;overflow:hidden}.account-btn.logged-in{border-color:var(--brand)}.avatar-img{object-fit:cover;width:100%;height:100%}.account-menu{border:1px solid var(--line);z-index:30;background:#fff;border-radius:8px;min-width:200px;max-width:calc(100vw - 16px);padding:4px 0;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #00000026}.account-identity{align-items:center;gap:8px;min-width:0;padding:8px 12px;display:flex}.avatar-sm{background:#e8e0e0;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid;overflow:hidden}.account-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-item{text-align:left;color:#222;cursor:pointer;background:0 0;border:0;width:100%;padding:10px 12px;text-decoration:none;display:block}.menu-item:hover,.menu-item:focus-visible{background:#f3eded;outline:none}.menu-item.primary{background:var(--brand);color:#fff;border-radius:6px;width:auto;margin:4px 8px;font-weight:700}.menu-sep{background:var(--line);height:1px;margin:4px 0}.menu-hint{color:#666;margin:4px 12px 8px;font-size:.85rem}@media (width>=640px){.entry-grid,.fields{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.entry-grid{grid-template-columns:repeat(3,1fr)}}.row-list{margin:0 0 8px;padding:0;list-style:none}.row,.purchase{border-bottom:1px solid #f0f0f0;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.row-main{overflow-wrap:anywhere;flex:10em;min-width:0}.block{color:#666;display:block}.qty{width:6em!important}.price-row{gap:8px;display:flex}.price-row select{flex:none;width:7em}.inline-form{width:100%}.hero{object-fit:contain;background:#f3eded;border-radius:8px;width:100%;max-height:360px;margin-bottom:8px;display:block}.photo-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%}.photo-grid li{min-width:0;position:relative}.photo-actions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.photo-actions .btn{padding:4px 8px;font-size:.85rem}.badge{background:var(--brand);color:#fff;border-radius:4px;padding:2px 6px;position:absolute;top:4px;left:4px}@media (width>=640px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.photo-grid{grid-template-columns:repeat(6,1fr)}}
